| Safe Haskell | None |
|---|
CmmNode
Documentation
data CmmNode e x where
Constructors
| CmmEntry :: !Label -> CmmNode C O | |
| CmmComment :: FastString -> CmmNode O O | |
| CmmAssign :: !CmmReg -> !CmmExpr -> CmmNode O O | |
| CmmStore :: !CmmExpr -> !CmmExpr -> CmmNode O O | |
| CmmUnsafeForeignCall :: ForeignTarget -> [CmmFormal] -> [CmmActual] -> CmmNode O O | |
| CmmBranch :: !Label -> CmmNode O C | |
| CmmCondBranch :: CmmExpr -> !Label -> !Label -> CmmNode O C | |
| CmmSwitch :: CmmExpr -> [Maybe Label] -> CmmNode O C | |
| CmmCall :: CmmExpr -> Maybe Label -> [GlobalReg] -> ByteOff -> ByteOff -> ByteOff -> CmmNode O C | |
Fields
| |
| CmmForeignCall :: ForeignTarget -> [CmmFormal] -> [CmmActual] -> !Label -> UpdFrameOffset -> Bool -> CmmNode O C | |
Instances
| NonLocal CmmNode | |
| Outputable CmmGraph | |
| Eq (CmmNode e x) | |
| Outputable (CmmNode e x) | |
| DefinerOfLocalRegs (CmmNode e x) | |
| UserOfLocalRegs (CmmNode e x) | |
| Outputable (Graph CmmNode e x) | |
| Outputable (Block CmmNode O O) | |
| Outputable (Block CmmNode O C) | |
| Outputable (Block CmmNode C O) | |
| Outputable (Block CmmNode C C) |
type UpdFrameOffset = ByteOff
data Convention
Constructors
| NativeDirectCall | |
| NativeNodeCall | |
| NativeReturn | |
| Slow | |
| GC | |
| PrimOpCall | |
| PrimOpReturn |
Instances
data ForeignConvention
Constructors
| ForeignConvention CCallConv [ForeignHint] [ForeignHint] |
Instances
data ForeignTarget
Constructors
| ForeignTarget CmmExpr ForeignConvention | |
| PrimTarget CallishMachOp |
mapExpDeep :: (CmmExpr -> CmmExpr) -> CmmNode e x -> CmmNode e x
wrapRecExp :: (CmmExpr -> CmmExpr) -> CmmExpr -> CmmExpr
foldExpDeep :: (CmmExpr -> z -> z) -> CmmNode e x -> z -> z
wrapRecExpf :: (CmmExpr -> z -> z) -> CmmExpr -> z -> z