Lines Matching defs:Interval
1 //===- llvm/Analysis/Interval.h - Interval Class Declaration ----*- C++ -*-===//
10 // This file contains the declaration of the Interval class, which
33 /// Interval Class - An Interval is a set of nodes defined such that every node
37 class Interval {
47 inline Interval(BasicBlock *Header) : HeaderNode(Header) {
63 /// Predecessors - List of BasicBlocks that have this Interval's header block
77 /// isSuccessor - find out if a basic block is a successor of this Interval
90 inline bool operator==(const Interval &I) const {
104 inline Interval::succ_iterator succ_begin(Interval *I) {
107 inline Interval::succ_iterator succ_end(Interval *I) {
114 inline Interval::pred_iterator pred_begin(Interval *I) {
117 inline Interval::pred_iterator pred_end(Interval *I) {
121 template <> struct GraphTraits<Interval*> {
122 typedef Interval NodeType;
123 typedef Interval::succ_iterator ChildIteratorType;
125 static NodeType *getEntryNode(Interval *I) { return I; }
136 template <> struct GraphTraits<Inverse<Interval*> > {
137 typedef Interval NodeType;
138 typedef Interval::pred_iterator ChildIteratorType;
139 static NodeType *getEntryNode(Inverse<Interval *> G) { return G.Graph; }