1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface CgRetConv where
3 import AbsCSyn(AbstractC, CAddrMode, MagicId)
4 import CLabelInfo(CLabel)
5 import CmdLineOpts(GlobalSwitch)
8 import PrimKind(PrimKind)
13 data CtrlReturnConvention = VectoredReturn Int | UnvectoredReturn Int
14 data DataReturnConvention = ReturnInHeap | ReturnInRegs [MagicId]
18 assignPrimOpResultRegs :: PrimOp -> [MagicId]
19 assignRegs :: ((Int -> GlobalSwitch) -> Labda Int) -> [MagicId] -> [PrimKind] -> ([MagicId], [PrimKind])
20 ctrlReturnConvAlg :: TyCon -> CtrlReturnConvention
21 dataReturnConvAlg :: ((Int -> GlobalSwitch) -> Labda Int) -> Id -> DataReturnConvention
22 dataReturnConvPrim :: PrimKind -> MagicId
23 makePrimOpArgsRobust :: PrimOp -> [CAddrMode] -> ([CAddrMode], Int, AbstractC)
24 mkLiveRegsBitMask :: [MagicId] -> Int