| ghc-6.10.4: The GHC API | Contents | Index

ZipCfgCmmRep

Synopsis

type CmmZ = GenCmm CmmStatic CmmInfo CmmGraph
type CmmTopZ = GenCmmTop CmmStatic CmmInfo CmmGraph
type CmmGraph = LGraph Middle Last
type CmmBlock = Block Middle Last
type CmmAGraph = AGraph Middle Last

data Middle

= MidComment FastString
| MidAssign CmmReg CmmExpr
| MidStore CmmExpr CmmExpr
| MidUnsafeCall CmmCallTarget CmmFormals CmmActuals
| MidAddToContext CmmExpr [CmmExpr]
| CopyIn Convention CmmFormals C_SRT
| CopyOut Convention CmmActuals

data Last

= LastBranch BlockId

| LastCondBranch {

cml_pred :: CmmExpr
cml_true :: BlockId
cml_false :: BlockId

}

| LastReturn
| LastJump CmmExpr

| LastCall {

cml_target :: CmmExpr
cml_cont :: Maybe BlockId

}

| LastSwitch CmmExpr [Maybe BlockId]

data Convention

= ConventionStandard CCallConv ValueDirection
| ConventionPrivate

data ValueDirection

= Arguments
| Results

type CmmBackwardFixedPoint a = BackwardFixedPoint Middle Last a ()
type CmmForwardFixedPoint a = ForwardFixedPoint Middle Last a ()
insertBetween :: MonadUnique m => CmmBlock -> [Middle] -> BlockId -> m (CmmBlock, [CmmBlock])
pprCmmGraphLikeCmm :: CmmGraph -> SDoc

Documentation
type CmmZ = GenCmm CmmStatic CmmInfo CmmGraph
type CmmTopZ = GenCmmTop CmmStatic CmmInfo CmmGraph
type CmmGraph = LGraph Middle Last
type CmmBlock = Block Middle Last
type CmmAGraph = AGraph Middle Last
data Middle

Constructors

MidComment FastString |
MidAssign CmmReg CmmExpr |
MidStore CmmExpr CmmExpr |
MidUnsafeCall CmmCallTarget CmmFormals CmmActuals |
MidAddToContext CmmExpr [CmmExpr] |
CopyIn Convention CmmFormals C_SRT |
CopyOut Convention CmmActuals |

Instances

Eq Middle
Outputable Middle
DefinerOfLocalRegs Middle
UserOfLocalRegs Middle
DebugNodes Middle Last

data Last

Constructors

LastBranch BlockId |
LastCondBranch |

cml_pred :: CmmExpr |
cml_true :: BlockId |
cml_false :: BlockId |

LastReturn |
LastJump CmmExpr |
LastCall |

cml_target :: CmmExpr |
cml_cont :: Maybe BlockId |

LastSwitch CmmExpr [Maybe BlockId] |

Instances

Outputable Last
DefinerOfLocalRegs Last
UserOfLocalRegs Last
LastNode Last
HavingSuccessors Last
DebugNodes Middle Last
Outputable m => DebugNodes (ExtendWithSpills m) Last

data Convention

Constructors

ConventionStandard CCallConv ValueDirection |
ConventionPrivate |

Instances

Eq Convention
Outputable Convention

data ValueDirection

Constructors

Arguments |
Results |

Instances

Eq ValueDirection

type CmmBackwardFixedPoint a = BackwardFixedPoint Middle Last a ()
type CmmForwardFixedPoint a = ForwardFixedPoint Middle Last a ()
insertBetween :: MonadUnique m => CmmBlock -> [Middle] -> BlockId -> m (CmmBlock, [CmmBlock])
pprCmmGraphLikeCmm :: CmmGraph -> SDoc
The purpose of this function is to print a Cmm zipper graph as if it were a Cmm program. The objective is dodgy, so it's unsurprising parts of the code are dodgy as well.
Produced by Haddock version 2.4.2