Revert last night's changes as they broke some tests. Will remerge parts of the patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11029 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/LiveIntervalAnalysis.h b/lib/CodeGen/LiveIntervalAnalysis.h
index 59441fb..7cf627b 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.h
+++ b/lib/CodeGen/LiveIntervalAnalysis.h
@@ -13,8 +13,8 @@
// for register v if there is no instruction with number j' > j such
// that v is live at j' abd there is no instruction with number i' < i
// such that v is live at i'. In this implementation intervals can
-// have holes, i.e. an interval might look like [1,20), [50,65),
-// [1000,1001)
+// have holes, i.e. an interval might look like [1,20], [50,65],
+// [1000,1001]
//
//===----------------------------------------------------------------------===//
@@ -22,7 +22,11 @@
#define LLVM_CODEGEN_LIVEINTERVALS_H
#include "llvm/CodeGen/MachineFunctionPass.h"
+#include "llvm/CodeGen/MachineBasicBlock.h"
+#include <iostream>
#include <list>
+#include <map>
+#include <vector>
namespace llvm {
@@ -109,10 +113,6 @@
public:
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
- virtual void releaseMemory();
-
- /// runOnMachineFunction - pass entry point
- virtual bool runOnMachineFunction(MachineFunction&);
Intervals& getIntervals() { return intervals_; }
@@ -134,6 +134,9 @@
unsigned rep(unsigned reg);
private:
+ /// runOnMachineFunction - pass entry point
+ bool runOnMachineFunction(MachineFunction&);
+
/// computeIntervals - compute live intervals
void computeIntervals();
@@ -161,10 +164,7 @@
bool overlapsAliases(const Interval& lhs, const Interval& rhs) const;
- unsigned getInstructionIndex(MachineInstr* instr) const {
- assert(mi2iMap_.count(instr) && "instruction not assigned a number");
- return mi2iMap_.find(instr)->second;
- }
+ unsigned getInstructionIndex(MachineInstr* instr) const;
void printRegName(unsigned reg) const;
};