| 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
- isArgReg :: GlobalReg -> Bool
- globalRegType :: DynFlags -> GlobalReg -> CmmType
- spReg :: CmmReg
- hpReg :: CmmReg
- spLimReg :: CmmReg
- nodeReg :: CmmReg
- node :: GlobalReg
- baseReg :: CmmReg
- data VGcPtr
- vgcFlag :: CmmType -> VGcPtr
- class Ord r => DefinerOfRegs r a where
- foldRegsDefd :: DynFlags -> (b -> r -> b) -> b -> a -> b
- class Ord r => UserOfRegs r a where
- foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> a -> b
- filterRegsUsed :: UserOfRegs r e => DynFlags -> (r -> Bool) -> e -> RegSet r
- 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 :: Ord r => 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 :: Ord r => RegSet r -> Int
- nullRegSet :: Ord r => RegSet r -> Bool
- regSetToList :: Ord r => RegSet r -> [r]
- data Area
- module CmmMachOp
- module CmmType
Documentation
data CmmExpr
Constructors
| CmmLit CmmLit | |
| CmmLoad !CmmExpr !CmmType | |
| CmmReg !CmmReg | |
| CmmMachOp MachOp [CmmExpr] | |
| CmmStackSlot Area !Int | |
| CmmRegOff !CmmReg Int |
Instances
| Eq CmmExpr | |
| UserOfRegs r CmmReg => UserOfRegs r CmmExpr |
cmmExprType :: DynFlags -> CmmExpr -> CmmType
cmmExprWidth :: DynFlags -> CmmExpr -> Width
data CmmReg
cmmRegType :: DynFlags -> CmmReg -> CmmType
data CmmLit
cmmLitType :: DynFlags -> CmmLit -> CmmType
data LocalReg
Instances
localRegType :: LocalReg -> CmmType
data GlobalReg
Constructors
Instances
globalRegType :: DynFlags -> GlobalReg -> CmmType
class Ord r => DefinerOfRegs r a where
Methods
foldRegsDefd :: DynFlags -> (b -> r -> b) -> b -> a -> b
Instances
| Ord r => DefinerOfRegs r r | |
| DefinerOfRegs GlobalReg CmmReg | |
| DefinerOfRegs LocalReg CmmReg | |
| DefinerOfRegs r a => DefinerOfRegs r (Maybe a) | |
| DefinerOfRegs r a => DefinerOfRegs r [a] | |
| DefinerOfRegs GlobalReg (CmmNode e x) | |
| DefinerOfRegs LocalReg (CmmNode e x) |
class Ord r => UserOfRegs r a where
Methods
foldRegsUsed :: DynFlags -> (b -> r -> b) -> b -> a -> b
Instances
| UserOfRegs r CmmReg => UserOfRegs r CmmExpr | |
| Ord r => UserOfRegs r r | |
| UserOfRegs r CmmExpr => UserOfRegs r ForeignTarget | |
| UserOfRegs GlobalReg CmmReg | |
| UserOfRegs LocalReg CmmReg | |
| UserOfRegs r a => UserOfRegs r [a] | |
| UserOfRegs r a => UserOfRegs r (Maybe a) | |
| Ord r => UserOfRegs r (RegSet r) | |
| UserOfRegs GlobalReg (CmmNode e x) | |
| UserOfRegs LocalReg (CmmNode e x) |
filterRegsUsed :: UserOfRegs r e => DynFlags -> (r -> Bool) -> e -> RegSet r
foldLocalRegsDefd :: DefinerOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b
foldLocalRegsUsed :: UserOfRegs LocalReg a => DynFlags -> (b -> LocalReg -> b) -> b -> a -> b
type LocalRegSet = RegSet LocalReg
type GlobalRegSet = RegSet GlobalReg
emptyRegSet :: Ord r => 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
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 :: Ord r => RegSet r -> Int
nullRegSet :: Ord r => RegSet r -> Bool
regSetToList :: Ord r => RegSet r -> [r]
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.
module CmmMachOp
module CmmType