CgCallConv

ghc-7.0.4: The GHC API

CgCallConv

Synopsis

- mkArgDescr :: Name -> [Id] -> FCode ArgDescr
- argDescrType :: ArgDescr -> StgHalfWord
- isBigLiveness :: Liveness -> Bool
- mkRegLiveness :: [(Id, GlobalReg)] -> Int -> Int -> StgWord
- smallLiveness :: Int -> StgWord -> Liveness
- mkLivenessCLit :: Liveness -> CmmLit
- assignCallRegs :: [(CgRep, a)] -> ([(a, GlobalReg)], [(CgRep, a)])
- assignReturnRegs :: [(CgRep, a)] -> ([(a, GlobalReg)], [(CgRep, a)])
- assignPrimOpCallRegs :: [(CgRep, a)] -> ([(a, GlobalReg)], [(CgRep, a)])
- constructSlowCall :: [(CgRep, CmmExpr)] -> (CLabel, [(CgRep, CmmExpr)], [(CgRep, CmmExpr)])
- slowArgs :: [(CgRep, CmmExpr)] -> [(CgRep, CmmExpr)]
- slowCallPattern :: [CgRep] -> (FastString, Int)
- dataReturnConvPrim :: CgRep -> CmmReg
- getSequelAmode :: FCode CmmExpr

# Documentation

mkArgDescr :: Name -> [Id] -> FCode ArgDescr

argDescrType :: ArgDescr -> StgHalfWord

isBigLiveness :: Liveness -> Bool

mkRegLiveness :: [(Id, GlobalReg)] -> Int -> Int -> StgWord

smallLiveness :: Int -> StgWord -> Liveness

mkLivenessCLit :: Liveness -> CmmLit

assignCallRegs :: [(CgRep, a)] -> ([(a, GlobalReg)], [(CgRep, a)])

assignReturnRegs :: [(CgRep, a)] -> ([(a, GlobalReg)], [(CgRep, a)])

assignPrimOpCallRegs :: [(CgRep, a)] -> ([(a, GlobalReg)], [(CgRep, a)])

constructSlowCall :: [(CgRep, CmmExpr)] -> (CLabel, [(CgRep, CmmExpr)], [(CgRep, CmmExpr)])

slowArgs :: [(CgRep, CmmExpr)] -> [(CgRep, CmmExpr)]

`slowArgs` takes a list of function arguments and prepares them for pushing on the stack for extra arguments to a function which requires fewer arguments than we currently have.

slowCallPattern :: [CgRep] -> (FastString, Int)

dataReturnConvPrim :: CgRep -> CmmReg

getSequelAmode :: FCode CmmExpr