20 #ifndef LLVM_ANALYSIS_INTERVAL_H 21 #define LLVM_ANALYSIS_INTERVAL_H 49 Nodes.push_back(Header);
90 return HeaderNode == I.HeaderNode;
142 #endif // LLVM_ANALYSIS_INTERVAL_H Interval::pred_iterator ChildIteratorType
This class represents lattice values for constants.
bool isLoop() const
isLoop - Find out if there is a back edge in this interval...
std::vector< BasicBlock * >::iterator pred_iterator
bool operator==(const Interval &I) const
Equality operator.
Interval Class - An Interval is a set of nodes defined such that every node in the interval has all o...
static ChildIteratorType child_begin(NodeRef N)
nodes_iterator/begin/end - Allow iteration over all nodes in the graph
std::vector< BasicBlock * >::iterator node_iterator
static NodeRef getEntryNode(Inverse< Interval *> G)
std::vector< BasicBlock * >::iterator succ_iterator
static ChildIteratorType child_end(NodeRef N)
Interval::succ_iterator succ_begin(Interval *I)
succ_begin/succ_end - define methods so that Intervals may be used just like BasicBlocks can with the...
static ChildIteratorType child_begin(NodeRef N)
bool contains(BasicBlock *BB) const
contains - Find out if a basic block is in this interval
Interval::succ_iterator succ_end(Interval *I)
BasicBlock * getHeaderNode() const
LLVM Basic Block Representation.
Interval::pred_iterator pred_begin(Interval *I)
pred_begin/pred_end - define methods so that Intervals may be used just like BasicBlocks can with the...
bool isSuccessor(BasicBlock *BB) const
isSuccessor - find out if a basic block is a successor of this Interval
Interval::pred_iterator pred_end(Interval *I)
std::vector< BasicBlock * > Nodes
Nodes - The basic blocks in this interval.
static NodeRef getEntryNode(Interval *I)
std::vector< BasicBlock * > Predecessors
Predecessors - List of BasicBlocks that have this Interval's header block as one of their successors...
std::vector< BasicBlock * > Successors
Successors - List of BasicBlocks that are reachable directly from nodes in this interval, but are not in the interval themselves.
Interval::succ_iterator ChildIteratorType
void print(raw_ostream &O) const
print - Show contents in human readable format...
static ChildIteratorType child_end(NodeRef N)
This class implements an extremely fast bulk output stream that can only output to a stream...
Interval(BasicBlock *Header)