aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/LiveInterval.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2009-06-24 02:17:32 +0000
committerLang Hames <lhames@gmail.com>2009-06-24 02:17:32 +0000
commit98d5982e0020e0c18d2847798ba2f40c4711af5a (patch)
tree1ec72077b1fe554bf8c848b7e43da45dda0c724a /lib/CodeGen/LiveInterval.cpp
parentef5d070bbe55d7165fc84778ca7757c3cfeea491 (diff)
downloadexternal_llvm-98d5982e0020e0c18d2847798ba2f40c4711af5a.zip
external_llvm-98d5982e0020e0c18d2847798ba2f40c4711af5a.tar.gz
external_llvm-98d5982e0020e0c18d2847798ba2f40c4711af5a.tar.bz2
Fixed a bug in LiveInterval scaling (failure to scale VNI defs correctly), removed old TODO comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74054 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveInterval.cpp')
-rw-r--r--lib/CodeGen/LiveInterval.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/CodeGen/LiveInterval.cpp b/lib/CodeGen/LiveInterval.cpp
index cac9253..26722a3 100644
--- a/lib/CodeGen/LiveInterval.cpp
+++ b/lib/CodeGen/LiveInterval.cpp
@@ -373,7 +373,8 @@ void LiveInterval::scaleNumbering(unsigned factor) {
for (vni_iterator VNI = vni_begin(), VNIE = vni_end(); VNI != VNIE; ++VNI) {
VNInfo *vni = *VNI;
- vni->def = InstrSlots::scale(vni->def, factor);
+ if (vni->isDefAccurate())
+ vni->def = InstrSlots::scale(vni->def, factor);
for (unsigned i = 0; i < vni->kills.size(); ++i) {
if (vni->kills[i] != 0)