[project @ 1996-01-11 14:06:51 by partain]
[ghc-hetmet.git] / ghc / compiler / codeGen / CgRetConv.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface CgRetConv where
3 import AbsCSyn(AbstractC, CAddrMode, MagicId)
4 import CLabelInfo(CLabel)
5 import CmdLineOpts(GlobalSwitch)
6 import Id(Id)
7 import Maybes(Labda)
8 import PrimKind(PrimKind)
9 import PrimOps(PrimOp)
10 import TyCon(TyCon)
11 data MagicId 
12 data CLabel 
13 data CtrlReturnConvention   = VectoredReturn Int | UnvectoredReturn Int
14 data DataReturnConvention   = ReturnInHeap | ReturnInRegs [MagicId]
15 data Id 
16 data PrimKind 
17 data TyCon 
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
25 noLiveRegsMask :: Int
26