[llvm-commits] CVS: llvm/include/llvm/CodeGen/LiveIntervals.h

Alkis Evlogimenos alkis at cs.uiuc.edu
Sun Feb 15 04:25:17 PST 2004


Changes in directory llvm/include/llvm/CodeGen:

LiveIntervals.h updated: 1.16 -> 1.17

---
Log message:

Eliminate the use of spill (reserved) registers.


---
Diffs of the changes:  (+10 -7)

Index: llvm/include/llvm/CodeGen/LiveIntervals.h
diff -u llvm/include/llvm/CodeGen/LiveIntervals.h:1.16 llvm/include/llvm/CodeGen/LiveIntervals.h:1.17
--- llvm/include/llvm/CodeGen/LiveIntervals.h:1.16	Sat Jan 31 13:59:32 2004
+++ llvm/include/llvm/CodeGen/LiveIntervals.h	Sun Feb 15 04:24:12 2004
@@ -100,6 +100,9 @@
         typedef std::map<MachineInstr*, unsigned> Mi2IndexMap;
         Mi2IndexMap mi2iMap_;
 
+        typedef std::vector<MachineInstr*> Index2MiMap;
+        Index2MiMap i2miMap_;
+
         typedef std::map<unsigned, Intervals::iterator> Reg2IntervalMap;
         Reg2IntervalMap r2iMap_;
 
@@ -114,14 +117,13 @@
         /// runOnMachineFunction - pass entry point
         virtual bool runOnMachineFunction(MachineFunction&);
 
-        Intervals& getIntervals() { return intervals_; }
+        unsigned getInstructionIndex(MachineInstr* instr) const;
 
-        const Reg2RegMap& getJoinedRegMap() const {
-            return r2rMap_;
-        }
+        MachineInstr* getInstructionFromIndex(unsigned index) const;
 
-        /// rep - returns the representative of this register
-        unsigned rep(unsigned reg);
+        Intervals& getIntervals() { return intervals_; }
+
+        void updateSpilledInterval(Interval& i);
 
     private:
         /// computeIntervals - compute live intervals
@@ -151,7 +153,8 @@
 
         bool overlapsAliases(const Interval& lhs, const Interval& rhs) const;
 
-        unsigned getInstructionIndex(MachineInstr* instr) const;
+        /// rep - returns the representative of this register
+        unsigned rep(unsigned reg);
 
         void printRegName(unsigned reg) const;
     };





More information about the llvm-commits mailing list