4f371d17e70d919c0e35724613769b7fc1b94c6d
[ghc-hetmet.git] / ghc / compiler / nativeGen / Stix.hi
1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
2 interface Stix where
3 import AbsCSyn(MagicId)
4 import CLabelInfo(CLabel)
5 import CharSeq(CSeq)
6 import PreludePS(_PackedString)
7 import PreludeRatio(Ratio(..))
8 import PrimKind(PrimKind)
9 import PrimOps(PrimOp)
10 import SplitUniq(SUniqSM(..), SplitUniqSupply)
11 import UniType(UniType)
12 import Unique(Unique)
13 data MagicId 
14 data CLabel 
15 data CodeSegment   = DataSegment | TextSegment
16 data PrimKind 
17 data PrimOp 
18 type SUniqSM a = SplitUniqSupply -> a
19 data SplitUniqSupply 
20 data StixReg   = StixMagicId MagicId | StixTemp Unique PrimKind
21 data StixTree   = StSegment CodeSegment | StInt Integer | StDouble (Ratio Integer) | StString _PackedString | StLitLbl CSeq | StLitLit _PackedString | StCLbl CLabel | StReg StixReg | StIndex PrimKind StixTree StixTree | StInd PrimKind StixTree | StAssign PrimKind StixTree StixTree | StLabel CLabel | StFunBegin CLabel | StFunEnd CLabel | StJump StixTree | StFallThrough CLabel | StCondJump CLabel StixTree | StData PrimKind [StixTree] | StPrim PrimOp [StixTree] | StCall _PackedString PrimKind [StixTree] | StComment _PackedString
22 type StixTreeList = [StixTree] -> [StixTree]
23 data Unique 
24 getUniqLabelNCG :: SplitUniqSupply -> CLabel
25 sStLitLbl :: _PackedString -> StixTree
26 stgBaseReg :: StixTree
27 stgHp :: StixTree
28 stgHpLim :: StixTree
29 stgLivenessReg :: StixTree
30 stgNode :: StixTree
31 stgRetReg :: StixTree
32 stgSpA :: StixTree
33 stgSpB :: StixTree
34 stgStdUpdRetVecReg :: StixTree
35 stgStkOReg :: StixTree
36 stgStkStubReg :: StixTree
37 stgSuA :: StixTree
38 stgSuB :: StixTree
39 stgTagReg :: StixTree
40 instance Eq CodeSegment
41