import CgCon ( cgTopRhsCon )
import CgConTbls ( genStaticConBits )
import ClosureInfo ( mkClosureLFInfo )
-import CmdLineOpts ( opt_SccProfilingOn, opt_CompilingGhcInternals,
- opt_EnsureSplittableC, opt_SccGroup
+import CmdLineOpts ( opt_SccProfilingOn, opt_EnsureSplittableC,
+ opt_SccGroup
)
import CostCentre ( CostCentre )
import CStrings ( modnameToC )
codeGen mod_name (local_CCs, extern_CCs) import_names gen_tycons tycon_specs stg_pgm
= let
doing_profiling = opt_SccProfilingOn
- compiling_prelude = opt_CompilingGhcInternals
maybe_split = if opt_EnsureSplittableC then CSplitMarker else AbsCNop
cinfo = MkCompInfo mod_name
in
-- (The local cost-centres involved in this are passed
-- into the code-generator, as are the imported-modules' names.)
--
- -- Note: we don't register/etc if compiling Prelude bits.
-
+ --
mkAbstractCs [
- if compiling_prelude
- then AbsCNop
- else mkAbstractCs [mkAbstractCs (map (CCostCentreDecl True) local_CCs),
+ mkAbstractCs [mkAbstractCs (map (CCostCentreDecl True) local_CCs),
mkAbstractCs (map (CCostCentreDecl False) extern_CCs),
- mkCcRegister local_CCs import_names],
-
+ mkCcRegister local_CCs import_names]],
genStaticConBits cinfo gen_tycons tycon_specs,
initC cinfo (cgTopBindings maybe_split stg_pgm) ]
where
import BasicTypes ( SYN_IE(Module) )
import CmdLineOpts ( opt_SccProfilingOn, opt_AutoSccsOnAllToplevs,
- opt_AutoSccsOnExportedToplevs, opt_CompilingGhcInternals )
+ opt_AutoSccsOnExportedToplevs
+ )
import CostCentre ( mkAutoCC, IsCafCC(..), mkAllDictsCC, preludeDictsCostCentre )
import Id ( idType, SYN_IE(DictVar), GenId, SYN_IE(Id) )
--ToDo: rm import ListSetOps ( minusList, intersectLists )
|| not (isDictTy (idType var))
= returnDs rhs -- That's easy: do nothing
+{-
| opt_CompilingGhcInternals
= returnDs (SCC prel_dicts_cc rhs)
+-}
| otherwise
= getModuleAndGroupDs `thenDs` \ (mod, grp) ->
-- ToDo: do -dicts-all flag (mark dict things with individual CCs)
returnDs (SCC (mkAllDictsCC mod grp False) rhs)
+{- UNUSED:
prel_dicts_cc = preludeDictsCostCentre False{-not dupd-} -- ditto
+-}
\end{code}