ghc-9.6.3: The GHC API

Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.StgToCmm.CgUtils

Synopsis

- fixStgRegisters :: Platform -> RawCmmDecl -> RawCmmDecl
- baseRegOffset :: Platform -> GlobalReg -> Int
- get_Regtable_addr_from_offset :: Platform -> Int -> CmmExpr
- regTableOffset :: Platform -> Int -> CmmExpr
- get_GlobalReg_addr :: Platform -> GlobalReg -> CmmExpr

# 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.

baseRegOffset :: Platform -> GlobalReg -> Int Source #

get_Regtable_addr_from_offset :: Platform -> Int -> CmmExpr Source #

regTableOffset :: Platform -> Int -> CmmExpr Source #

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.