summaryrefslogtreecommitdiff
path: root/compiler/GHC/Stg
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Stg')
-rw-r--r--compiler/GHC/Stg/Lint.hs8
-rw-r--r--compiler/GHC/Stg/Pipeline.hs12
2 files changed, 9 insertions, 11 deletions
diff --git a/compiler/GHC/Stg/Lint.hs b/compiler/GHC/Stg/Lint.hs
index 63154a48bd..15586cfce9 100644
--- a/compiler/GHC/Stg/Lint.hs
+++ b/compiler/GHC/Stg/Lint.hs
@@ -92,7 +92,6 @@ import GHC.Prelude
import GHC.Stg.Syntax
import GHC.Stg.Utils
-import GHC.Core.Lint ( interactiveInScope )
import GHC.Core.DataCon
import GHC.Core ( AltCon(..) )
import GHC.Core.Type
@@ -112,7 +111,6 @@ import GHC.Utils.Error ( mkLocMessage, DiagOpts )
import qualified GHC.Utils.Error as Err
import GHC.Unit.Module ( Module )
-import GHC.Runtime.Context ( InteractiveContext )
import GHC.Data.Bag ( Bag, emptyBag, isEmptyBag, snocBag, bagToList )
@@ -129,14 +127,14 @@ lintStgTopBindings :: forall a . (OutputablePass a, BinderP a ~ Id)
-> Logger
-> DiagOpts
-> StgPprOpts
- -> InteractiveContext
+ -> [Var] -- ^ extra vars in scope from GHCi
-> Module -- ^ module being compiled
-> Bool -- ^ have we run Unarise yet?
-> String -- ^ who produced the STG?
-> [GenStgTopBinding a]
-> IO ()
-lintStgTopBindings platform logger diag_opts opts ictxt this_mod unarised whodunnit binds
+lintStgTopBindings platform logger diag_opts opts extra_vars this_mod unarised whodunnit binds
= {-# SCC "StgLint" #-}
case initL platform diag_opts this_mod unarised opts top_level_binds (lint_binds binds) of
Nothing ->
@@ -155,7 +153,7 @@ lintStgTopBindings platform logger diag_opts opts ictxt this_mod unarised whodun
-- Bring all top-level binds into scope because CoreToStg does not generate
-- bindings in dependency order (so we may see a use before its definition).
top_level_binds = extendVarSetList (mkVarSet (bindersOfTopBinds binds))
- (interactiveInScope ictxt)
+ extra_vars
lint_binds :: [GenStgTopBinding a] -> LintM ()
diff --git a/compiler/GHC/Stg/Pipeline.hs b/compiler/GHC/Stg/Pipeline.hs
index f6bf55d398..c5f7bc2da3 100644
--- a/compiler/GHC/Stg/Pipeline.hs
+++ b/compiler/GHC/Stg/Pipeline.hs
@@ -29,9 +29,9 @@ import GHC.Stg.BcPrep ( bcPrep )
import GHC.Stg.CSE ( stgCse )
import GHC.Stg.Lift ( StgLiftConfig, stgLiftLams )
import GHC.Unit.Module ( Module )
-import GHC.Runtime.Context ( InteractiveContext )
import GHC.Utils.Error
+import GHC.Types.Var
import GHC.Types.Unique.Supply
import GHC.Utils.Outputable
import GHC.Utils.Logger
@@ -62,12 +62,12 @@ runStgM :: Char -> StgM a -> IO a
runStgM mask (StgM m) = runReaderT m mask
stg2stg :: Logger
- -> InteractiveContext
+ -> [Var] -- ^ extra vars in scope from GHCi
-> StgPipelineOpts
- -> Module -- module being compiled
- -> [StgTopBinding] -- input program
+ -> Module -- ^ module being compiled
+ -> [StgTopBinding] -- ^ input program
-> IO [CgStgTopBinding] -- output program
-stg2stg logger ictxt opts this_mod binds
+stg2stg logger extra_vars opts this_mod binds
= do { dump_when Opt_D_dump_stg_from_core "Initial STG:" binds
; showPass logger "Stg2Stg"
-- Do the main business!
@@ -94,7 +94,7 @@ stg2stg logger ictxt opts this_mod binds
= lintStgTopBindings
(stgPlatform opts) logger
diag_opts ppr_opts
- ictxt this_mod unarised
+ extra_vars this_mod unarised
| otherwise
= \ _whodunnit _binds -> return ()