diff options
author | Chris Lattner <sabre@nondot.org> | 2001-07-03 15:28:08 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2001-07-03 15:28:08 +0000 |
commit | a49e015180bf85e1ffd934dbc94c0deda60873f6 (patch) | |
tree | eac7098d7ec8538d7b1b1139a5517a7801f6ef06 | |
parent | 3ea734986e5fe4c2ff2779a8b2e854e46d976ef6 (diff) |
IntervalPartition was changed to inherit from vector<Interval*> instead of
contain it so that it would have full iterator access without much work.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Analysis/IntervalPartition.h | 11 | ||||
-rw-r--r-- | include/llvm/Analysis/Writer.h | 7 |
2 files changed, 8 insertions, 10 deletions
diff --git a/include/llvm/Analysis/IntervalPartition.h b/include/llvm/Analysis/IntervalPartition.h index 796c840b9a..494ccd2097 100644 --- a/include/llvm/Analysis/IntervalPartition.h +++ b/include/llvm/Analysis/IntervalPartition.h @@ -31,18 +31,14 @@ namespace cfg { // BasicBlock is a (possibly nonexistent) loop with a "tail" of non looping // nodes following it. // -class IntervalPartition { +class IntervalPartition : public vector<Interval*> { typedef map<BasicBlock*, Interval*> IntervalMapTy; IntervalMapTy IntervalMap; typedef vector<Interval*> IntervalListTy; - IntervalListTy IntervalList; Interval *RootInterval; public: - typedef IntervalListTy::iterator iterator; - -public: // IntervalPartition ctor - Build the partition for the specified method IntervalPartition(Method *M); @@ -71,11 +67,6 @@ public: return I != IntervalMap.end() ? I->second : 0; } - // Iterators to iterate over all of the intervals in the method - inline iterator begin() { return IntervalList.begin(); } - inline iterator end() { return IntervalList.end(); } - inline unsigned size() { return IntervalList.size(); } - private: // addIntervalToPartition - Add an interval to the internal list of intervals, // and then add mappings from all of the basic blocks in the interval to the diff --git a/include/llvm/Analysis/Writer.h b/include/llvm/Analysis/Writer.h index 4d66838094..f6a41015d0 100644 --- a/include/llvm/Analysis/Writer.h +++ b/include/llvm/Analysis/Writer.h @@ -14,11 +14,18 @@ namespace cfg { // This library provides support for printing out Intervals. class Interval; + class IntervalPartition; + void WriteToOutput(const Interval *I, ostream &o); inline ostream &operator <<(ostream &o, const Interval *I) { WriteToOutput(I, o); return o; } + void WriteToOutput(const IntervalPartition &IP, ostream &o); + inline ostream &operator <<(ostream &o, const IntervalPartition &IP) { + WriteToOutput(IP, o); return o; + } + // Stuff for printing out Dominator data structures... class DominatorSet; class ImmediateDominators; |