X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc%2Fcompiler%2FcodeGen%2FCgRetConv.hi;h=dd4b59ded3c30a9101e414a7568f2ac47b86b669;hp=f722d3089db2dfddce74d5cb6c9f9939b6927294;hb=10521d8418fd3a1cf32882718b5bd28992db36fd;hpb=7fa716e248a1f11fa686965f57aebbb83b74fa7b diff --git a/ghc/compiler/codeGen/CgRetConv.hi b/ghc/compiler/codeGen/CgRetConv.hi index f722d30..dd4b59d 100644 --- a/ghc/compiler/codeGen/CgRetConv.hi +++ b/ghc/compiler/codeGen/CgRetConv.hi @@ -2,38 +2,25 @@ interface CgRetConv where import AbsCSyn(AbstractC, CAddrMode, MagicId) import CLabelInfo(CLabel) -import Class(Class) -import Id(Id, IdDetails) -import IdInfo(IdInfo) +import CmdLineOpts(GlobalSwitch) +import Id(Id) import Maybes(Labda) -import NameTypes(FullName) import PrimKind(PrimKind) import PrimOps(PrimOp) import TyCon(TyCon) -import TyVar(TyVarTemplate) -import UniType(UniType) -import Unique(Unique) -data MagicId {-# GHC_PRAGMA BaseReg | StkOReg | VanillaReg PrimKind Int# | FloatReg Int# | DoubleReg Int# | TagReg | RetReg | SpA | SuA | SpB | SuB | Hp | HpLim | LivenessReg | ActivityReg | StdUpdRetVecReg | StkStubReg | CurCostCentre | VoidReg #-} +data MagicId data CLabel data CtrlReturnConvention = VectoredReturn Int | UnvectoredReturn Int data DataReturnConvention = ReturnInHeap | ReturnInRegs [MagicId] -data Id {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-} -data PrimKind {-# GHC_PRAGMA PtrKind | CodePtrKind | DataPtrKind | RetKind | InfoPtrKind | CostCentreKind | CharKind | IntKind | WordKind | AddrKind | FloatKind | DoubleKind | MallocPtrKind | StablePtrKind | ArrayKind | ByteArrayKind | VoidKind #-} -data TyCon {-# GHC_PRAGMA SynonymTyCon Unique FullName Int [TyVarTemplate] UniType Bool | DataTyCon Unique FullName Int [TyVarTemplate] [Id] [Class] Bool | TupleTyCon Int | PrimTyCon Unique FullName Int ([PrimKind] -> PrimKind) | SpecTyCon TyCon [Labda UniType] #-} +data Id +data PrimKind +data TyCon assignPrimOpResultRegs :: PrimOp -> [MagicId] - {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-} -assignRegs :: [MagicId] -> [PrimKind] -> ([MagicId], [PrimKind]) - {-# GHC_PRAGMA _A_ 2 _U_ 22 _N_ _S_ "LS" _N_ _N_ #-} +assignRegs :: ((Int -> GlobalSwitch) -> Labda Int) -> [MagicId] -> [PrimKind] -> ([MagicId], [PrimKind]) ctrlReturnConvAlg :: TyCon -> CtrlReturnConvention - {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "S" _N_ _N_ #-} -dataReturnConvAlg :: Id -> DataReturnConvention - {-# GHC_PRAGMA _A_ 1 _U_ 1 _N_ _S_ "U(AAAS)" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-} +dataReturnConvAlg :: ((Int -> GlobalSwitch) -> Labda Int) -> Id -> DataReturnConvention dataReturnConvPrim :: PrimKind -> MagicId - {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "E" _N_ _N_ #-} makePrimOpArgsRobust :: PrimOp -> [CAddrMode] -> ([CAddrMode], Int, AbstractC) - {-# GHC_PRAGMA _A_ 2 _U_ 02 _N_ _S_ "AL" {_A_ 1 _U_ 2 _N_ _N_ _N_ _N_} _N_ _N_ #-} mkLiveRegsBitMask :: [MagicId] -> Int - {-# GHC_PRAGMA _A_ 1 _U_ 2 _N_ _S_ "S" _N_ _N_ #-} noLiveRegsMask :: Int - {-# GHC_PRAGMA _A_ 0 _N_ _N_ _N_ _F_ _IF_ARGS_ 0 0 X 2 _!_ I# [] [0#] _N_ #-}