summaryrefslogtreecommitdiff
path: root/compiler/GHC/Driver/Config/HsToCore.hs
blob: ef8d6347e209e2f0eab02adab241983d6504dba4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
module GHC.Driver.Config.HsToCore
  ( initBangOpts
  )
where

import GHC.Types.Id.Make
import GHC.Driver.Session
import qualified GHC.LanguageExtensions as LangExt

initBangOpts :: DynFlags -> BangOpts
initBangOpts dflags = BangOpts
  { bang_opt_strict_data   = xopt LangExt.StrictData dflags
  , bang_opt_unbox_disable = gopt Opt_OmitInterfacePragmas dflags
      -- Don't unbox if we aren't optimising; rather arbitrarily,
      -- we use -fomit-iface-pragmas as the indication
  , bang_opt_unbox_strict  = gopt Opt_UnboxStrictFields dflags
  , bang_opt_unbox_small   = gopt Opt_UnboxSmallStrictFields dflags
  }