| Safe Haskell | None |
|---|
CmmNode
Documentation
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 -> ByteOff -> ByteOff -> ByteOff -> CmmNode O C | |
Fields
| |
| CmmForeignCall :: ForeignTarget -> [CmmFormal] -> [CmmActual] -> Label -> UpdFrameOffset -> Bool -> CmmNode O C | |
Instances
| HooplNode CmmNode | |
| NonLocal CmmNode | |
| PlatformOutputable CmmGraph | |
| Eq (CmmNode e x) | |
| PlatformOutputable (CmmNode e x) | |
| DefinerOfSlots (CmmNode e x) | |
| UserOfSlots (CmmNode e x) | |
| DefinerOfLocalRegs (CmmNode e x) | |
| UserOfLocalRegs (CmmNode e x) | |
| PlatformOutputable (Block CmmNode O O) | |
| PlatformOutputable (Block CmmNode O C) | |
| PlatformOutputable (Block CmmNode C O) | |
| PlatformOutputable (Block CmmNode C C) | |
| PlatformOutputable (Graph CmmNode e x) |
data ForeignHint Source
Constructors
| NoHint | |
| AddrHint | |
| SignedHint |
type UpdFrameOffset = ByteOffSource
data Convention Source
Constructors
| NativeDirectCall | |
| NativeNodeCall | |
| NativeReturn | |
| Slow | |
| GC | |
| PrimOpCall | |
| PrimOpReturn | |
| Foreign ForeignConvention | |
| Private |
Instances
data ForeignConvention Source
Constructors
| ForeignConvention CCallConv [ForeignHint] [ForeignHint] |
Instances
data ForeignTarget Source
Constructors
| ForeignTarget CmmExpr ForeignConvention | |
| PrimTarget CallishMachOp |
foldExpDeep :: (CmmExpr -> z -> z) -> CmmNode e x -> z -> zSource
wrapRecExpf :: (CmmExpr -> z -> z) -> CmmExpr -> z -> zSource