[llvm-commits] [regalloc_linearscan] CVS: llvm/include/llvm/CodeGen/LiveIntervals.h
Alkis Evlogimenos
alkis at cs.uiuc.edu
Tue Nov 18 03:45:01 PST 2003
Changes in directory llvm/include/llvm/CodeGen:
LiveIntervals.h updated: 1.1.2.9 -> 1.1.2.10
---
Log message:
LiveIntervals:
- delete unneeded member functions
- computer intervals for all registers (physical and virtual)
RegAllocLinearScan (major rewrite):
- two registers from each register class are reserved for loading
virtual registers from the stack.
- register allocation happens in two passes: in the first pass
registers are allocated for each virtual register interval and in
the second the machine code is rewritten using the generated
mapping.
- live interval holes are still not used for better register
allocation.
- allocator was tested on
test/Programs/SingleSource/Benchmarks/Shootout and it works with
all but the heapsort benchmark.
---
Diffs of the changes: (+1 -7)
Index: llvm/include/llvm/CodeGen/LiveIntervals.h
diff -u llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.9 llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.10
--- llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.9 Thu Nov 13 03:48:53 2003
+++ llvm/include/llvm/CodeGen/LiveIntervals.h Tue Nov 18 03:44:33 2003
@@ -123,8 +123,6 @@
};
typedef std::vector<Interval> Intervals;
- typedef std::map<unsigned, MachineBasicBlock*> MiIndex2MbbMap;
- typedef std::map<MachineBasicBlock*, unsigned> Mbb2MiIndexMap;
typedef std::vector<MachineBasicBlock*> MachineBasicBlockPtrs;
private:
@@ -147,14 +145,10 @@
Reg2IntervalMap r2iMap_;
Intervals intervals_;
- MiIndex2MbbMap mii2mbbMap_;
- Mbb2MiIndexMap mbb2miiMap_;
public:
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
- const Intervals& getIntervals() const { return intervals_; }
- MiIndex2MbbMap& getMiIndex2MbbMap() { return mii2mbbMap_; }
- Mbb2MiIndexMap& getMbb2MiIndexMap() { return mbb2miiMap_; }
+ Intervals& getIntervals() { return intervals_; }
MachineBasicBlockPtrs getOrderedMachineBasicBlockPtrs() const {
MachineBasicBlockPtrs result;
for (MbbIndex2MbbMap::const_iterator
More information about the llvm-commits
mailing list