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

Alkis Evlogimenos alkis at cs.uiuc.edu
Thu Nov 13 03:50:01 PST 2003


Changes in directory llvm/include/llvm/CodeGen:

LiveIntervals.h updated: 1.1.2.8 -> 1.1.2.9

---
Log message:

Add support for computing live intervals of physical registers. This
is currently disabled because the register allocator doesn't know how
to handle them.


---
Diffs of the changes:  (+18 -1)

Index: llvm/include/llvm/CodeGen/LiveIntervals.h
diff -u llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.8 llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.9
--- llvm/include/llvm/CodeGen/LiveIntervals.h:1.1.2.8	Wed Nov 12 00:49:56 2003
+++ llvm/include/llvm/CodeGen/LiveIntervals.h	Thu Nov 13 03:48:53 2003
@@ -135,6 +135,8 @@
         MachineBasicBlock::iterator currentInstr_;
         LiveVariables* lv_;
 
+        std::vector<bool> allocatableRegisters_;
+
         typedef std::map<unsigned, MachineBasicBlock*> MbbIndex2MbbMap;
         MbbIndex2MbbMap mbbi2mbbMap_;
 
@@ -170,10 +172,25 @@
         /// computeIntervals - compute live intervals
         void computeIntervals();
 
+
         /// handleRegisterDef - update intervals for a register def
+        /// (calls handlePhysicalRegisterDef and
+        /// handleVirtualRegisterDef)
         void handleRegisterDef(MachineBasicBlock* mbb,
-                               MachineInstr* instr,
+                               MachineBasicBlock::iterator mi,
                                unsigned reg);
+
+        /// handleVirtualRegisterDef - update intervals for a virtual
+        /// register def
+        void handleVirtualRegisterDef(MachineBasicBlock* mbb,
+                                      MachineBasicBlock::iterator mi,
+                                      unsigned reg);
+
+        /// handlePhysicalRegisterDef - update intervals for a
+        /// physical register def
+        void handlePhysicalRegisterDef(MachineBasicBlock* mbb,
+                                       MachineBasicBlock::iterator mi,
+                                       unsigned reg);
 
         unsigned getInstructionIndex(MachineInstr* instr) const;
 





More information about the llvm-commits mailing list