summaryrefslogtreecommitdiff
path: root/compiler/GHC/Driver
diff options
context:
space:
mode:
authorDominik Peteler <haskell+gitlab@with-h.at>2022-05-02 20:50:31 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-05-26 03:23:13 -0400
commitda5ccf0ee79fc690a7e69c0b644f0226dde07e49 (patch)
treef01dd12e0927fd5c7614575eea95c39e3153b74c /compiler/GHC/Driver
parentee61c7f9bdb742590aeb74190d3df2ef76059d4b (diff)
downloadhaskell-da5ccf0ee79fc690a7e69c0b644f0226dde07e49.tar.gz
Avoid global compiler state for `GHC.Core.Opt.WorkWrap`
Progress towards #17957
Diffstat (limited to 'compiler/GHC/Driver')
-rw-r--r--compiler/GHC/Driver/Config/Core/Opt/WorkWrap.hs21
1 files changed, 21 insertions, 0 deletions
diff --git a/compiler/GHC/Driver/Config/Core/Opt/WorkWrap.hs b/compiler/GHC/Driver/Config/Core/Opt/WorkWrap.hs
new file mode 100644
index 0000000000..3524ea9bbd
--- /dev/null
+++ b/compiler/GHC/Driver/Config/Core/Opt/WorkWrap.hs
@@ -0,0 +1,21 @@
+module GHC.Driver.Config.Core.Opt.WorkWrap
+ ( initWorkWrapOpts
+ ) where
+
+import GHC.Prelude ()
+
+import GHC.Driver.Config (initSimpleOpts)
+import GHC.Driver.Session
+
+import GHC.Core.FamInstEnv
+import GHC.Core.Opt.WorkWrap
+import GHC.Unit.Types
+
+initWorkWrapOpts :: Module -> DynFlags -> FamInstEnvs -> WwOpts
+initWorkWrapOpts this_mod dflags fam_envs = MkWwOpts
+ { wo_fam_envs = fam_envs
+ , wo_simple_opts = initSimpleOpts dflags
+ , wo_cpr_anal = gopt Opt_CprAnal dflags
+ , wo_module = this_mod
+ , wo_unlift_strict = gopt Opt_WorkerWrapperUnlift dflags
+ }