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 :: Module -> DynFlags -> FamInstEnvs -> WwOpts
initWorkWrapOpts Module
this_mod DynFlags
dflags FamInstEnvs
fam_envs = MkWwOpts
  { wo_fam_envs :: FamInstEnvs
wo_fam_envs          = FamInstEnvs
fam_envs
  , wo_simple_opts :: SimpleOpts
wo_simple_opts       = DynFlags -> SimpleOpts
initSimpleOpts DynFlags
dflags
  , wo_cpr_anal :: Bool
wo_cpr_anal          = GeneralFlag -> DynFlags -> Bool
gopt GeneralFlag
Opt_CprAnal DynFlags
dflags
  , wo_module :: Module
wo_module            = Module
this_mod
  , wo_unlift_strict :: Bool
wo_unlift_strict     = GeneralFlag -> DynFlags -> Bool
gopt GeneralFlag
Opt_WorkerWrapperUnlift DynFlags
dflags
  }