[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