diff options
Diffstat (limited to 'compiler/GHC/Driver')
-rw-r--r-- | compiler/GHC/Driver/Config/CoreToStg.hs | 16 | ||||
-rw-r--r-- | compiler/GHC/Driver/Main.hs | 3 |
2 files changed, 18 insertions, 1 deletions
diff --git a/compiler/GHC/Driver/Config/CoreToStg.hs b/compiler/GHC/Driver/Config/CoreToStg.hs new file mode 100644 index 0000000000..f73f8fafc7 --- /dev/null +++ b/compiler/GHC/Driver/Config/CoreToStg.hs @@ -0,0 +1,16 @@ +module GHC.Driver.Config.CoreToStg where + +import GHC.Driver.Config.Stg.Debug +import GHC.Driver.Session + +import GHC.CoreToStg + +initCoreToStgOpts :: DynFlags -> CoreToStgOpts +initCoreToStgOpts dflags = CoreToStgOpts + { coreToStg_platform = targetPlatform dflags + , coreToStg_ways = ways dflags + , coreToStg_AutoSccsOnIndividualCafs = gopt Opt_AutoSccsOnIndividualCafs dflags + , coreToStg_InfoTableMap = gopt Opt_InfoTableMap dflags + , coreToStg_ExternalDynamicRefs = gopt Opt_ExternalDynamicRefs dflags + , coreToStg_stgDebugOpts = initStgDebugOpts dflags + } diff --git a/compiler/GHC/Driver/Main.hs b/compiler/GHC/Driver/Main.hs index e5a1d915fc..a130fed062 100644 --- a/compiler/GHC/Driver/Main.hs +++ b/compiler/GHC/Driver/Main.hs @@ -123,6 +123,7 @@ import GHC.Driver.Config.Cmm.Parser (initCmmParserConfig) import GHC.Driver.Config.Core.Opt.Simplify ( initSimplifyExprOpts ) import GHC.Driver.Config.Core.Lint ( endPassHscEnvIO ) import GHC.Driver.Config.Core.Lint.Interactive ( lintInteractiveExpr ) +import GHC.Driver.Config.CoreToStg import GHC.Driver.Config.CoreToStg.Prep import GHC.Driver.Config.Logger (initLogFlags) import GHC.Driver.Config.Parser (initParserOpts) @@ -2141,7 +2142,7 @@ myCoreToStg :: Logger -> DynFlags -> InteractiveContext myCoreToStg logger dflags ictxt for_bytecode this_mod ml prepd_binds = do let (stg_binds, denv, cost_centre_info) = {-# SCC "Core2Stg" #-} - coreToStg dflags this_mod ml prepd_binds + coreToStg (initCoreToStgOpts dflags) this_mod ml prepd_binds (stg_binds_with_fvs,stg_cg_info) <- {-# SCC "Stg2Stg" #-} |