IntervalPartition was changed to inherit from vector<Interval*> instead of
authorChris Lattner <sabre@nondot.org>
Tue, 3 Jul 2001 15:28:35 +0000 (15:28 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 3 Jul 2001 15:28:35 +0000 (15:28 +0000)
contain it so that it would have full iterator access without much work.

Writer includes code to print out IntervalPartition's now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/IntervalPartition.cpp
lib/Analysis/Writer.cpp

index af6cea1627d86cbe83cb5ac55d0b6625594ab98e..bbdcbef65f43dffbdb7b731d14d4fc439bf87b35 100644 (file)
@@ -24,7 +24,7 @@ IntervalPartition::~IntervalPartition() {
 // interval itself (in the IntervalMap).
 //
 void IntervalPartition::addIntervalToPartition(Interval *I) {
-  IntervalList.push_back(I);
+  push_back(I);
 
   // Add mappings for all of the basic blocks in I to the IntervalPartition
   for (Interval::node_iterator It = I->Nodes.begin(), End = I->Nodes.end();
index 9080dc614414f8337928d052b3802b11532292fb..6fce54a8288328efd0eaf8d9895f5de65e5d6f38 100644 (file)
@@ -6,11 +6,15 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/Analysis/Writer.h"
-#include "llvm/Analysis/Interval.h"
+#include "llvm/Analysis/IntervalPartition.h"
 #include "llvm/Analysis/Dominators.h"
 #include <iterator>
 #include <algorithm>
 
+//===----------------------------------------------------------------------===//
+//  Interval Printing Routines
+//===----------------------------------------------------------------------===//
+
 void cfg::WriteToOutput(const Interval *I, ostream &o) {
   o << "-------------------------------------------------------------\n"
        << "Interval Contents:\n";
@@ -28,6 +32,16 @@ void cfg::WriteToOutput(const Interval *I, ostream &o) {
        ostream_iterator<BasicBlock*>(o, "\n"));
 }
 
+void cfg::WriteToOutput(const IntervalPartition &IP, ostream &o) {
+  copy(IP.begin(), IP.end(), ostream_iterator<const Interval *>(o, "\n"));
+}
+
+
+
+//===----------------------------------------------------------------------===//
+//  Dominator Printing Routines
+//===----------------------------------------------------------------------===//
+
 ostream &operator<<(ostream &o, const set<const BasicBlock*> &BBs) {
   copy(BBs.begin(), BBs.end(), ostream_iterator<const BasicBlock*>(o, "\n"));
   return o;