* IntervalPartition no longer derives from vector
authorChris Lattner <sabre@nondot.org>
Fri, 9 Aug 2002 22:52:06 +0000 (22:52 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 9 Aug 2002 22:52:06 +0000 (22:52 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3281 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Analysis/IntervalPartition.h

index a295ce1034a3189f99d09c94f36158eda55ac84a..197c469db984885ae1d135d1d01a4cd5af1da6bc 100644 (file)
 // BasicBlock is a (possibly nonexistent) loop with a "tail" of non looping
 // nodes following it.
 //
-class IntervalPartition : public FunctionPass, public std::vector<Interval*> {
+class IntervalPartition : public FunctionPass {
   typedef std::map<BasicBlock*, Interval*> IntervalMapTy;
   IntervalMapTy IntervalMap;
 
   typedef std::vector<Interval*> IntervalListTy;
   Interval *RootInterval;
+  std::vector<Interval*> Intervals;
 
 public:
   static AnalysisID ID;    // We are an analysis, we must have an ID
@@ -60,7 +61,7 @@ public:
 
   // isDegeneratePartition() - Returns true if the interval partition contains
   // a single interval, and thus cannot be simplified anymore.
-  bool isDegeneratePartition() { return size() == 1; }
+  bool isDegeneratePartition() { return Intervals.size() == 1; }
 
   // TODO: isIrreducible - look for triangle graph.
 
@@ -75,6 +76,9 @@ public:
     AU.setPreservesAll();
   }
 
+  // Interface to Intervals vector...
+  const std::vector<Interval*> &getIntervals() const { return Intervals; }
+
 private:
   // destroy - Reset state back to before function was analyzed
   void destroy();