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

Evan Cheng evan.cheng at apple.com
Tue Mar 20 01:14:12 PDT 2007



Changes in directory llvm/include/llvm/CodeGen:

LiveInterval.h updated: 1.34 -> 1.35
---
Log message:

First cut trivial re-materialization support.

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

 LiveInterval.h |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/CodeGen/LiveInterval.h
diff -u llvm/include/llvm/CodeGen/LiveInterval.h:1.34 llvm/include/llvm/CodeGen/LiveInterval.h:1.35
--- llvm/include/llvm/CodeGen/LiveInterval.h:1.34	Sat Dec 16 23:15:12 2006
+++ llvm/include/llvm/CodeGen/LiveInterval.h	Tue Mar 20 03:13:50 2007
@@ -28,6 +28,7 @@
 #include <cassert>
 
 namespace llvm {
+  class MachineInstr;
   class MRegisterInfo;
 
   /// LiveRange structure - This represents a simple register range in the
@@ -81,6 +82,7 @@
     typedef SmallVector<LiveRange,4> Ranges;
     unsigned reg;        // the register of this interval
     float weight;        // weight of this interval
+    MachineInstr* remat; // definition if the definition rematerializable
     Ranges ranges;       // the ranges in which this register is live
   private:
     /// ValueNumberInfo - If this value number is not defined by a copy, this
@@ -92,7 +94,7 @@
   public:
 
     LiveInterval(unsigned Reg, float Weight)
-      : reg(Reg), weight(Weight) {
+      : reg(Reg), weight(Weight), remat(NULL) {
     }
 
     typedef Ranges::iterator iterator;
@@ -119,6 +121,7 @@
     void swap(LiveInterval& other) {
       std::swap(reg, other.reg);
       std::swap(weight, other.weight);
+      std::swap(remat, other.remat);
       std::swap(ranges, other.ranges);
       std::swap(ValueNumberInfo, other.ValueNumberInfo);
     }






More information about the llvm-commits mailing list