ghc-7.0.3: The GHC API

CgBindery

# Documentation

type CgBindings = IdEnv CgIdInfo Source

data CgIdInfo Source

Instances

Outputable CgIdInfo |

data StableLoc Source

Instances

Outputable StableLoc |

data VolatileLoc Source

Instances

Outputable VolatileLoc |

cgIdInfoId :: CgIdInfo -> Id Source

cgIdInfoArgRep :: CgIdInfo -> CgRep Source

cgIdInfoLF :: CgIdInfo -> LambdaFormInfo Source

stableIdInfo :: Id -> CmmExpr -> LambdaFormInfo -> CgIdInfo Source

heapIdInfo :: Id -> VirtualHpOffset -> LambdaFormInfo -> CgIdInfo Source

taggedStableIdInfo :: Id -> CmmExpr -> LambdaFormInfo -> DataCon -> CgIdInfo Source

taggedHeapIdInfo :: Id -> VirtualHpOffset -> LambdaFormInfo -> DataCon -> CgIdInfo Source

letNoEscapeIdInfo :: Id -> VirtualSpOffset -> LambdaFormInfo -> CgIdInfo Source

idInfoToAmode :: CgIdInfo -> FCode CmmExpr Source

addBindC :: Id -> CgIdInfo -> Code Source

addBindsC :: [(Id, CgIdInfo)] -> Code Source

nukeVolatileBinds :: CgBindings -> CgBindings Source

nukeDeadBindings :: StgLiveVars -> Code Source

getLiveStackSlots :: FCode [VirtualSpOffset]Source

getLiveStackBindings :: FCode [(VirtualSpOffset, CgIdInfo)]Source

bindArgsToStack :: [(Id, VirtualSpOffset)] -> Code Source

rebindToStack :: Id -> VirtualSpOffset -> Code Source

bindNewToNode :: Id -> VirtualHpOffset -> LambdaFormInfo -> Code Source

bindNewToUntagNode :: Id -> VirtualHpOffset -> LambdaFormInfo -> Int -> Code Source

bindNewToReg :: Id -> CmmReg -> LambdaFormInfo -> Code Source

bindArgsToRegs :: [(Id, GlobalReg)] -> Code Source

bindNewToTemp :: Id -> FCode LocalReg Source

getArgAmode :: StgArg -> FCode (CgRep, CmmExpr)Source

getArgAmodes :: [StgArg] -> FCode [(CgRep, CmmExpr)]Source

getCgIdInfo :: Id -> FCode CgIdInfo Source

getCAddrModeIfVolatile :: Id -> FCode (Maybe CmmExpr)Source

getVolatileRegs :: StgLiveVars -> FCode [GlobalReg]Source

maybeLetNoEscape :: CgIdInfo -> Maybe VirtualSpOffset Source