summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/CodeGen/LiveIntervalAnalysis.h8
-rw-r--r--include/llvm/CodeGen/LiveIntervals.h8
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.h8
3 files changed, 18 insertions, 6 deletions
diff --git a/include/llvm/CodeGen/LiveIntervalAnalysis.h b/include/llvm/CodeGen/LiveIntervalAnalysis.h
index 82cf91c..5aea679 100644
--- a/include/llvm/CodeGen/LiveIntervalAnalysis.h
+++ b/include/llvm/CodeGen/LiveIntervalAnalysis.h
@@ -85,8 +85,6 @@ namespace llvm {
};
typedef std::list<Interval> Intervals;
- typedef std::map<unsigned, unsigned> Reg2RegMap;
- typedef std::vector<MachineBasicBlock*> MachineBasicBlockPtrs;
private:
MachineFunction* mf_;
@@ -108,6 +106,7 @@ namespace llvm {
typedef std::map<unsigned, Intervals::iterator> Reg2IntervalMap;
Reg2IntervalMap r2iMap_;
+ typedef std::map<unsigned, unsigned> Reg2RegMap;
Reg2RegMap r2rMap_;
Intervals intervals_;
@@ -119,6 +118,11 @@ namespace llvm {
/// runOnMachineFunction - pass entry point
virtual bool runOnMachineFunction(MachineFunction&);
+ Interval& getInterval(unsigned reg) {
+ assert(r2iMap_.count(reg)&& "Interval does not exist for register");
+ return *r2iMap_.find(reg)->second;
+ }
+
unsigned getInstructionIndex(MachineInstr* instr) const;
MachineInstr* getInstructionFromIndex(unsigned index) const;
diff --git a/include/llvm/CodeGen/LiveIntervals.h b/include/llvm/CodeGen/LiveIntervals.h
index 82cf91c..5aea679 100644
--- a/include/llvm/CodeGen/LiveIntervals.h
+++ b/include/llvm/CodeGen/LiveIntervals.h
@@ -85,8 +85,6 @@ namespace llvm {
};
typedef std::list<Interval> Intervals;
- typedef std::map<unsigned, unsigned> Reg2RegMap;
- typedef std::vector<MachineBasicBlock*> MachineBasicBlockPtrs;
private:
MachineFunction* mf_;
@@ -108,6 +106,7 @@ namespace llvm {
typedef std::map<unsigned, Intervals::iterator> Reg2IntervalMap;
Reg2IntervalMap r2iMap_;
+ typedef std::map<unsigned, unsigned> Reg2RegMap;
Reg2RegMap r2rMap_;
Intervals intervals_;
@@ -119,6 +118,11 @@ namespace llvm {
/// runOnMachineFunction - pass entry point
virtual bool runOnMachineFunction(MachineFunction&);
+ Interval& getInterval(unsigned reg) {
+ assert(r2iMap_.count(reg)&& "Interval does not exist for register");
+ return *r2iMap_.find(reg)->second;
+ }
+
unsigned getInstructionIndex(MachineInstr* instr) const;
MachineInstr* getInstructionFromIndex(unsigned index) const;
diff --git a/lib/CodeGen/LiveIntervalAnalysis.h b/lib/CodeGen/LiveIntervalAnalysis.h
index 82cf91c..5aea679 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.h
+++ b/lib/CodeGen/LiveIntervalAnalysis.h
@@ -85,8 +85,6 @@ namespace llvm {
};
typedef std::list<Interval> Intervals;
- typedef std::map<unsigned, unsigned> Reg2RegMap;
- typedef std::vector<MachineBasicBlock*> MachineBasicBlockPtrs;
private:
MachineFunction* mf_;
@@ -108,6 +106,7 @@ namespace llvm {
typedef std::map<unsigned, Intervals::iterator> Reg2IntervalMap;
Reg2IntervalMap r2iMap_;
+ typedef std::map<unsigned, unsigned> Reg2RegMap;
Reg2RegMap r2rMap_;
Intervals intervals_;
@@ -119,6 +118,11 @@ namespace llvm {
/// runOnMachineFunction - pass entry point
virtual bool runOnMachineFunction(MachineFunction&);
+ Interval& getInterval(unsigned reg) {
+ assert(r2iMap_.count(reg)&& "Interval does not exist for register");
+ return *r2iMap_.find(reg)->second;
+ }
+
unsigned getInstructionIndex(MachineInstr* instr) const;
MachineInstr* getInstructionFromIndex(unsigned index) const;