Module cretonne_codegen::flowgraph
[−]
[src]
A control flow graph represented as mappings of extended basic blocks to their predecessors and successors.
Successors are represented as extended basic blocks while predecessors are represented by basic blocks. Basic blocks are denoted by tuples of EBB and branch/jump instructions. Each predecessor tuple corresponds to the end of a basic block.
Ebb0:
... ; beginning of basic block
...
brz vx, Ebb1 ; end of basic block
... ; beginning of basic block
...
jmp Ebb2 ; end of basic block
Here Ebb1
and Ebb2
would each have a single predecessor denoted as (Ebb0, brz)
and (Ebb0, jmp Ebb2)
respectively.
Structs
ControlFlowGraph |
The Control Flow Graph maintains a mapping of ebbs to their predecessors and successors where predecessors are basic blocks and successors are extended basic blocks. |
PredIter |
An iterator over EBB predecessors. The iterator type is |
Type Definitions
BasicBlock |
A basic block denoted by its enclosing Ebb and last instruction. |
SuccIter |
An iterator over EBB successors. The iterator type is |