Safe Haskell | None |
---|
CgBindery
Documentation
type CgBindings = IdEnv CgIdInfo
data CgIdInfo
Instances
data StableLoc
Instances
data VolatileLoc
Instances
cgIdInfoId :: CgIdInfo -> Id
cgIdInfoArgRep :: CgIdInfo -> CgRep
cgIdInfoLF :: CgIdInfo -> LambdaFormInfo
stableIdInfo :: Id -> CmmExpr -> LambdaFormInfo -> CgIdInfo
heapIdInfo :: Id -> VirtualHpOffset -> LambdaFormInfo -> CgIdInfo
taggedStableIdInfo :: Id -> CmmExpr -> LambdaFormInfo -> DataCon -> CgIdInfo
taggedHeapIdInfo :: Id -> VirtualHpOffset -> LambdaFormInfo -> DataCon -> CgIdInfo
letNoEscapeIdInfo :: Id -> VirtualSpOffset -> LambdaFormInfo -> CgIdInfo
idInfoToAmode :: CgIdInfo -> FCode CmmExpr
nukeDeadBindings :: StgLiveVars -> Code
bindArgsToStack :: [(Id, VirtualSpOffset)] -> Code
rebindToStack :: Id -> VirtualSpOffset -> Code
bindNewToNode :: Id -> VirtualHpOffset -> LambdaFormInfo -> Code
bindNewToUntagNode :: Id -> VirtualHpOffset -> LambdaFormInfo -> Int -> Code
bindNewToReg :: Id -> CmmReg -> LambdaFormInfo -> Code
bindArgsToRegs :: [(Id, GlobalReg)] -> Code
bindNewToTemp :: Id -> FCode LocalReg
getArgAmode :: StgArg -> FCode (CgRep, CmmExpr)
getArgAmodes :: [StgArg] -> FCode [(CgRep, CmmExpr)]
getCgIdInfo :: Id -> FCode CgIdInfo
getCAddrModeIfVolatile :: Id -> FCode (Maybe CmmExpr)
getVolatileRegs :: StgLiveVars -> FCode [GlobalReg]