|
|
|
|
Synopsis |
|
|
|
Documentation |
|
data CmmExpr |
Constructors | | Instances | |
|
|
cmmExprRep :: CmmExpr -> MachRep |
|
maybeInvertCmmExpr :: CmmExpr -> Maybe CmmExpr |
|
data CmmReg |
Constructors | | Instances | |
|
|
cmmRegRep :: CmmReg -> MachRep |
|
data CmmLit |
Constructors | | Instances | |
|
|
cmmLitRep :: CmmLit -> MachRep |
|
data LocalReg |
Constructors | LocalReg !Unique MachRep GCKind | Parameters:
1. Identifier
2. Type
3. Should the GC follow as a pointer
|
| Instances | |
|
|
localRegRep :: LocalReg -> MachRep |
|
localRegGCFollow :: LocalReg -> GCKind |
|
data GCKind |
Whether a LocalReg is a GC followable pointer
| Constructors | | Instances | |
|
|
data GlobalReg |
Constructors | VanillaReg !Int | | FloatReg !Int | | DoubleReg !Int | | LongReg !Int | | Sp | | SpLim | | Hp | | HpLim | | CurrentTSO | | CurrentNursery | | HpAlloc | | GCEnter1 | | GCFun | | BaseReg | | PicBaseReg | |
| Instances | |
|
|
globalRegRep :: GlobalReg -> MachRep |
|
spReg :: CmmReg |
|
hpReg :: CmmReg |
|
spLimReg :: CmmReg |
|
nodeReg :: CmmReg |
|
node :: GlobalReg |
|
class DefinerOfLocalRegs a where |
| Methods | foldRegsDefd :: (b -> LocalReg -> b) -> b -> a -> b |
| | Instances | |
|
|
class UserOfLocalRegs a where |
| Methods | foldRegsUsed :: (b -> LocalReg -> b) -> b -> a -> b |
| | Instances | |
|
|
filterRegsUsed :: UserOfLocalRegs e => (LocalReg -> Bool) -> e -> RegSet |
|
type RegSet = UniqSet LocalReg |
|
emptyRegSet :: RegSet |
|
elemRegSet :: LocalReg -> RegSet -> Bool |
|
extendRegSet :: RegSet -> LocalReg -> RegSet |
|
deleteFromRegSet :: RegSet -> LocalReg -> RegSet |
|
mkRegSet :: [LocalReg] -> RegSet |
|
plusRegSet :: RegSet -> RegSet -> RegSet |
|
minusRegSet :: RegSet -> RegSet -> RegSet |
|
timesRegSet :: RegSet -> RegSet -> RegSet |
|
data Area |
A stack area is either the stack slot where a variable is spilled
or the stack space where function arguments and results are passed.
| Constructors | | Instances | |
|
|
type StackSlotMap = FiniteMap LocalReg CmmExpr |
|
getSlot :: StackSlotMap -> LocalReg -> (StackSlotMap, CmmExpr) |
|
mkCallArea :: BlockId -> [a] -> Maybe [b] -> Area |
|
outgoingSlot :: Area -> CmmExpr |
|
areaId :: Area -> BlockId |
|
areaSize :: Area -> Int |
|
narrowU :: MachRep -> Integer -> Integer |
|
narrowS :: MachRep -> Integer -> Integer |
|
Produced by Haddock version 2.4.2 |