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