* IntervalPartition no longer derives from vector

llvm-svn: 3281
This commit is contained in:
Chris Lattner 2002-08-09 22:52:06 +00:00
parent 2253a154d7
commit e836b583e0
1 changed files with 6 additions and 2 deletions

View File

@ -27,12 +27,13 @@
// 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();