6d21c17ed7bce0d7062e6d2b42fa4dcee3f658cc
[ghc-hetmet.git] / ghc / compiler / codeGen / CgExpr.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface CgExpr where
3 import AbsCSyn(AbstractC, CAddrMode)
4 import CgBindery(CgIdInfo)
5 import CgMonad(CgInfoDownwards, CgState, StubFlag)
6 import CostCentre(CostCentre)
7 import HeapOffs(HeapOffset)
8 import Id(Id, IdDetails)
9 import IdInfo(IdInfo)
10 import PrimOps(PrimOp)
11 import StgSyn(StgAtom, StgBinding, StgCaseAlternatives, StgExpr)
12 import UniType(UniType)
13 import UniqFM(UniqFM)
14 import Unique(Unique)
15 data CgState    {-# GHC_PRAGMA MkCgState AbstractC (UniqFM CgIdInfo) ((Int, [(Int, StubFlag)], Int, Int), (Int, [Int], Int, Int), (HeapOffset, HeapOffset)) #-}
16 data Id         {-# GHC_PRAGMA Id Unique UniType IdInfo IdDetails #-}
17 data StgExpr a b        {-# GHC_PRAGMA StgApp (StgAtom b) [StgAtom b] (UniqFM b) | StgConApp Id [StgAtom b] (UniqFM b) | StgPrimApp PrimOp [StgAtom b] (UniqFM b) | StgCase (StgExpr a b) (UniqFM b) (UniqFM b) Unique (StgCaseAlternatives a b) | StgLet (StgBinding a b) (StgExpr a b) | StgLetNoEscape (UniqFM b) (UniqFM b) (StgBinding a b) (StgExpr a b) | StgSCC UniType CostCentre (StgExpr a b) #-}
18 cgExpr :: StgExpr Id Id -> CgInfoDownwards -> CgState -> CgState
19         {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "S" _N_ _N_ #-}
20 cgSccExpr :: StgExpr Id Id -> CgInfoDownwards -> CgState -> CgState
21         {-# GHC_PRAGMA _A_ 1 _U_ 222 _N_ _S_ "S" _N_ _N_ #-}
22 getPrimOpArgAmodes :: PrimOp -> [StgAtom Id] -> CgInfoDownwards -> CgState -> ([CAddrMode], CgState)
23         {-# GHC_PRAGMA _A_ 2 _U_ 1222 _N_ _S_ "SL" _N_ _N_ #-}
24