Fixup global registers so that they assign to locations within the RegTable if they aren't pinned for the current target.
Moduleghc-9.14.1GHC2021
GHC.StgToCmm.CgUtils
- 1 type
- 5 values
- Packageghc-9.14.1
- Exports6
- LanguageGHC2021
- LicenceBSD-3-Clause
- SourceCgUtils.hs
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
1 declarationThe 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].