Safe Haskell | None |
---|
- data CmmExpr
- cmmExprType :: CmmExpr -> CmmType
- cmmExprWidth :: CmmExpr -> Width
- maybeInvertCmmExpr :: CmmExpr -> Maybe CmmExpr
- data CmmReg
- cmmRegType :: CmmReg -> CmmType
- data CmmLit
- cmmLitType :: CmmLit -> CmmType
- data LocalReg = LocalReg !Unique CmmType
- localRegType :: LocalReg -> CmmType
- data GlobalReg
- = VanillaReg !Int VGcPtr
- | FloatReg !Int
- | DoubleReg !Int
- | LongReg !Int
- | Sp
- | SpLim
- | Hp
- | HpLim
- | CCCS
- | CurrentTSO
- | CurrentNursery
- | HpAlloc
- | EagerBlackholeInfo
- | GCEnter1
- | GCFun
- | BaseReg
- | PicBaseReg
- globalRegType :: GlobalReg -> CmmType
- spReg :: CmmReg
- hpReg :: CmmReg
- spLimReg :: CmmReg
- nodeReg :: CmmReg
- node :: GlobalReg
- baseReg :: CmmReg
- data VGcPtr
- vgcFlag :: CmmType -> VGcPtr
- class DefinerOfLocalRegs a where
- foldRegsDefd :: (b -> LocalReg -> b) -> b -> a -> b
- class UserOfLocalRegs a where
- foldRegsUsed :: (b -> LocalReg -> b) -> b -> a -> b
- filterRegsUsed :: UserOfLocalRegs e => (LocalReg -> Bool) -> e -> RegSet
- type RegSet = Set 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
- sizeRegSet :: RegSet -> Int
- nullRegSet :: RegSet -> Bool
- regSetToList :: RegSet -> [LocalReg]
- regUsedIn :: CmmReg -> CmmExpr -> Bool
- data Area
- module CmmMachOp
- module CmmType
Documentation
cmmExprType :: CmmExpr -> CmmTypeSource
cmmExprWidth :: CmmExpr -> WidthSource
cmmRegType :: CmmReg -> CmmTypeSource
cmmLitType :: CmmLit -> CmmTypeSource
class DefinerOfLocalRegs a whereSource
foldRegsDefd :: (b -> LocalReg -> b) -> b -> a -> bSource
DefinerOfLocalRegs LocalReg | |
DefinerOfLocalRegs CmmReg | |
DefinerOfLocalRegs a => DefinerOfLocalRegs [a] | |
DefinerOfLocalRegs a => DefinerOfLocalRegs (Maybe a) | |
DefinerOfLocalRegs a => DefinerOfLocalRegs (CmmHinted a) | |
DefinerOfLocalRegs (CmmNode e x) | |
DefinerOfLocalRegs (n e x) => DefinerOfLocalRegs (WithRegUsage n e x) |
class UserOfLocalRegs a whereSource
foldRegsUsed :: (b -> LocalReg -> b) -> b -> a -> bSource
UserOfLocalRegs RegSet | |
UserOfLocalRegs LocalReg | |
UserOfLocalRegs CmmReg | |
UserOfLocalRegs CmmExpr | |
UserOfLocalRegs ForeignTarget | |
UserOfLocalRegs CmmCallTarget | |
UserOfLocalRegs CmmStmt | enable us to fold used registers over '[CmmActual]' and '[CmmFormal]' |
UserOfLocalRegs a => UserOfLocalRegs [a] | |
UserOfLocalRegs a => UserOfLocalRegs (Maybe a) | |
UserOfLocalRegs a => UserOfLocalRegs (CmmHinted a) | |
UserOfLocalRegs i => UserOfLocalRegs (GenBasicBlock i) | |
UserOfLocalRegs (CmmNode e x) | |
UserOfLocalRegs (n e x) => UserOfLocalRegs (WithRegUsage n e x) |
filterRegsUsed :: UserOfLocalRegs e => (LocalReg -> Bool) -> e -> RegSetSource
elemRegSet :: LocalReg -> RegSet -> BoolSource
extendRegSet :: RegSet -> LocalReg -> RegSetSource
deleteFromRegSet :: RegSet -> LocalReg -> RegSetSource
plusRegSet :: RegSet -> RegSet -> RegSetSource
minusRegSet :: RegSet -> RegSet -> RegSetSource
timesRegSet :: RegSet -> RegSet -> RegSetSource
sizeRegSet :: RegSet -> IntSource
nullRegSet :: RegSet -> BoolSource
regSetToList :: RegSet -> [LocalReg]Source
A stack area is either the stack slot where a variable is spilled or the stack space where function arguments and results are passed.
module CmmMachOp
module CmmType