A basic block holds a reference to a subgraph of the data flow graph as well as an ordering on instruction execution. More...
#include <ControlFlow.h>
Public Types | |
using | NodeRef = typename Subgraph< T, U... >::NodeRef |
Public Member Functions | |
BasicBlock (const BasicBlock &)=delete | |
BasicBlock (BasicBlock &&)=default | |
BasicBlock & | operator= (const BasicBlock &)=delete |
void | trackNode (NodeRef node) |
void | untrackNode (NodeRef node) |
void | pushInstructionNode (NodeRef node) |
const std::vector< NodeRef > & | getInstructions () const |
std::vector< NodeRef > * | getMutableInstructions () |
bool | hasInstruction (NodeRef instr) const |
void | insertInstructionBefore (NodeRef newInstr, NodeRef instr) |
void | moveInstructionBefore (NodeRef instr1, NodeRef instr2) |
void | deleteInstruction (NodeRef instr) |
A basic block holds a reference to a subgraph of the data flow graph as well as an ordering on instruction execution.
Basic blocks are used for control flow analysis.
Definition at line 18 of file ControlFlow.h.