Fixed a bug in LiveInterval scaling (failure to scale VNI defs correctly), removed...
authorLang Hames <lhames@gmail.com>
Wed, 24 Jun 2009 02:17:32 +0000 (02:17 +0000)
committerLang Hames <lhames@gmail.com>
Wed, 24 Jun 2009 02:17:32 +0000 (02:17 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74054 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/LiveInterval.cpp
lib/CodeGen/VirtRegRewriter.h

index cac92530df8fa92769371e32ce92414e358319d7..26722a3ca11a4c8bccbe9dc4467a5e0f3470f541 100644 (file)
@@ -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)
index bc830f72b0c6fd7e1402914e77fd9802278e2d2b..f9d7fbbfa1d3ca65179f65c93dc3f92ae6f4a635 100644 (file)
 #include "VirtRegMap.h"
 #include <map>
 
-// TODO:
-//       - Finish renaming Spiller -> Rewriter
-//         - SimpleSpiller
-//         - LocalSpiller
-
 namespace llvm {
   
   /// VirtRegRewriter interface: Implementations of this interface assign