diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-03-20 08:13:50 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-03-20 08:13:50 +0000 |
commit | 2638e1a6b9e3c0e22b398987e1db99bee81db4fb (patch) | |
tree | e3b4b57156d3fc3776657d0899fc255b3d4da09b /include/llvm/CodeGen | |
parent | c70d1849b7b85b06adf7dce856b3b19028fff8f7 (diff) |
First cut trivial re-materialization support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35208 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r-- | include/llvm/CodeGen/LiveInterval.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/LiveInterval.h b/include/llvm/CodeGen/LiveInterval.h index 367cefeb36..63d02c8573 100644 --- a/include/llvm/CodeGen/LiveInterval.h +++ b/include/llvm/CodeGen/LiveInterval.h @@ -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 @@ namespace llvm { 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 @@ namespace llvm { public: LiveInterval(unsigned Reg, float Weight) - : reg(Reg), weight(Weight) { + : reg(Reg), weight(Weight), remat(NULL) { } typedef Ranges::iterator iterator; @@ -119,6 +121,7 @@ namespace llvm { 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); } |