GPUOcelot
|
#include <PostdominatorTree.h>
Public Types | |
typedef std::vector< int > | IndexVector |
typedef std::vector< IndexVector > | IndexArrayVector |
Public Member Functions | |
PostdominatorTree (ir::ControlFlowGraph *cfg) | |
~PostdominatorTree () | |
std::ostream & | write (std::ostream &out) |
bool | postDominates (ir::ControlFlowGraph::iterator block, ir::ControlFlowGraph::iterator potentialPredecessor) |
ir::ControlFlowGraph::iterator | getPostDominator (ir::ControlFlowGraph::iterator block) |
Public Attributes | |
ir::ControlFlowGraph * | cfg |
ir::ControlFlowGraph::BlockPointerVector | blocks |
IndexVector | p_dom |
IndexArrayVector | dominated |
ir::ControlFlowGraph::BlockMap | blocksToIndex |
A tree structure in which each node corresponds to a BasicBlock in the control flow graph such that each node's block is immediately post-dominated by its parent. Each node is owned by its parent.
typedef std::vector<IndexVector> analysis::PostdominatorTree::IndexArrayVector |
typedef std::vector<int> analysis::PostdominatorTree::IndexVector |
analysis::PostdominatorTree::PostdominatorTree | ( | ir::ControlFlowGraph * | cfg | ) |
analysis::PostdominatorTree::~PostdominatorTree | ( | ) |
ir::ControlFlowGraph::iterator analysis::PostdominatorTree::getPostDominator | ( | ir::ControlFlowGraph::iterator | block | ) |
Given a block known to be in the control flow graph, return the post dominator
bool analysis::PostdominatorTree::postDominates | ( | ir::ControlFlowGraph::iterator | block, |
ir::ControlFlowGraph::iterator | potentialPredecessor | ||
) |
Does a particular block post-dominate another block?
std::ostream & analysis::PostdominatorTree::write | ( | std::ostream & | out | ) |
Writes a representation of the DominatorTree to an output stream
store of the basic blocks in the dominator tree in post-order
Map from a BasicBlock pointer to an index into the blocks vector
Parent control flow graph
nth element stores a list of elements for which n is the immediate post-dominator
nth element stores the immediate post-dominator of node n or -1 if undefined