CgCallConv

ghc-7.6.3: The GHC API

Safe Haskell | None

CgCallConv

Synopsis

- mkArgDescr :: Name -> [Id] -> FCode ArgDescr
- mkRegLiveness :: [(Id, GlobalReg)] -> Int -> Int -> StgWord
- 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

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

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