ghc-9.12: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.StgToCmm.CgUtils

Synopsis

Documentation

fixStgRegisters :: Platform -> RawCmmDecl -> RawCmmDecl Source #

Fixup global registers so that they assign to locations within the RegTable if they aren't pinned for the current target.

get_GlobalReg_addr :: Platform -> GlobalReg -> CmmExpr Source #

We map STG registers onto appropriate CmmExprs. Either they map to real machine registers or stored as offsets from BaseReg. Given a GlobalReg, get_GlobalReg_addr always produces the register table address for it.

Streaming for CG

type CgStream = Stream (UniqDSMT IO) Source #

The Stream instantiation used for code generation. Note the underlying monad is UniqDSMT IO, where UniqDSMT is a transformer that propagates a deterministic unique supply (essentially an incrementing counter) from which new uniques are deterministically created during the code generation stages following StgToCmm. See Note [Object determinism].