| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
CmmExpr
- data CmmExpr
 - cmmExprType :: DynFlags -> CmmExpr -> CmmType
 - cmmExprWidth :: DynFlags -> CmmExpr -> Width
 - maybeInvertCmmExpr :: CmmExpr -> Maybe CmmExpr
 - data CmmReg
 - cmmRegType :: DynFlags -> CmmReg -> CmmType
 - data CmmLit
 - cmmLitType :: DynFlags -> CmmLit -> CmmType
 - data LocalReg = LocalReg !Unique CmmType
 - localRegType :: LocalReg -> CmmType
 - data GlobalReg
- = VanillaReg !Int VGcPtr
 - | FloatReg !Int
 - | DoubleReg !Int
 - | LongReg !Int
 - | XmmReg !Int
 - | YmmReg !Int
 - | ZmmReg !Int
 - | Sp
 - | SpLim
 - | Hp
 - | HpLim
 - | CCCS
 - | CurrentTSO
 - | CurrentNursery
 - | HpAlloc
 - | EagerBlackholeInfo
 - | GCEnter1
 - | GCFun
 - | BaseReg
 - | MachSp
 - | UnwindReturnReg
 - | PicBaseReg
 
 - isArgReg :: GlobalReg -> Bool
 - globalRegType :: DynFlags -> GlobalReg -> CmmType
 - spReg :: CmmReg
 - hpReg :: CmmReg
 - spLimReg :: CmmReg
 - nodeReg :: CmmReg
 - node :: GlobalReg
 - baseReg :: CmmReg
 - data VGcPtr
 - class Ord r => DefinerOfRegs r a where
 - class Ord r => UserOfRegs r a where
 - foldRegsDefd :: DefinerOfRegs r a => DynFlags -> (b -> r -> b) -> b -> a -> b
 - foldRegsUsed :: UserOfRegs r a => DynFlags -> (b -> r -> b) -> b -> a -> b
 - foldLocalRegsDefd :: DefinerOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b
 - foldLocalRegsUsed :: UserOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b
 - type RegSet r = Set r
 - type LocalRegSet = RegSet LocalReg
 - type GlobalRegSet = RegSet GlobalReg
 - emptyRegSet :: RegSet r
 - elemRegSet :: Ord r => r -> RegSet r -> Bool
 - extendRegSet :: Ord r => RegSet r -> r -> RegSet r
 - deleteFromRegSet :: Ord r => RegSet r -> r -> RegSet r
 - mkRegSet :: Ord r => [r] -> RegSet r
 - plusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r
 - minusRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r
 - timesRegSet :: Ord r => RegSet r -> RegSet r -> RegSet r
 - sizeRegSet :: RegSet r -> Int
 - nullRegSet :: RegSet r -> Bool
 - regSetToList :: RegSet r -> [r]
 - data Area
 - module CmmMachOp
 - module CmmType
 
Documentation
localRegType :: LocalReg -> CmmType Source #
class Ord r => DefinerOfRegs r a where Source #
Minimal complete definition
Methods
foldRegsDefd :: DynFlags -> (b -> r -> b) -> b -> a -> b Source #
Instances
| Ord r => DefinerOfRegs r r Source # | |
| DefinerOfRegs GlobalReg CmmReg Source # | |
| DefinerOfRegs LocalReg CmmReg Source # | |
| DefinerOfRegs r a => DefinerOfRegs r [a] Source # | |
| DefinerOfRegs GlobalReg (CmmNode e x) Source # | |
| DefinerOfRegs LocalReg (CmmNode e x) Source # | |
class Ord r => UserOfRegs r a where Source #
Minimal complete definition
Methods
foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> a -> b Source #
Instances
| (Ord r, UserOfRegs r CmmReg) => UserOfRegs r CmmExpr Source # | |
| Ord r => UserOfRegs r r Source # | |
| (Ord r, UserOfRegs r CmmReg) => UserOfRegs r ForeignTarget Source # | |
| UserOfRegs GlobalReg CmmReg Source # | |
| UserOfRegs LocalReg CmmReg Source # | |
| UserOfRegs r a => UserOfRegs r [a] Source # | |
| UserOfRegs GlobalReg (CmmNode e x) Source # | |
| UserOfRegs LocalReg (CmmNode e x) Source # | |
foldRegsDefd :: DefinerOfRegs r a => DynFlags -> (b -> r -> b) -> b -> a -> b Source #
foldRegsUsed :: UserOfRegs r a => DynFlags -> (b -> r -> b) -> b -> a -> b Source #
foldLocalRegsDefd :: DefinerOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b Source #
foldLocalRegsUsed :: UserOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b Source #
type LocalRegSet = RegSet LocalReg Source #
type GlobalRegSet = RegSet GlobalReg Source #
emptyRegSet :: RegSet r Source #
sizeRegSet :: RegSet r -> Int Source #
nullRegSet :: RegSet r -> Bool Source #
regSetToList :: RegSet r -> [r] 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