| ||||
| ||||
| Documentation | ||||
| type CgBindings = IdEnv CgIdInfo | ||||
| data CgIdInfo | ||||
| ||||
| data StableLoc | ||||
| ||||
| data VolatileLoc | ||||
| ||||
| 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 | ||||
| addBindC :: Id -> CgIdInfo -> Code | ||||
| addBindsC :: [(Id, CgIdInfo)] -> Code | ||||
| nukeVolatileBinds :: CgBindings -> CgBindings | ||||
| nukeDeadBindings :: StgLiveVars -> Code | ||||
| getLiveStackSlots :: FCode [VirtualSpOffset] | ||||
| getLiveStackBindings :: FCode [(VirtualSpOffset, CgIdInfo)] | ||||
| 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] | ||||
| maybeLetNoEscape :: CgIdInfo -> Maybe VirtualSpOffset | ||||
| Produced by Haddock version 2.7.2 |