Add a LiveRangeEdit delegate callback before shrinking a live range.
[oota-llvm.git] / lib / CodeGen / LiveRangeEdit.cpp
index e994d8c32d49832238f3644d8230dbf744ec2e14..489d88c1dfbd251c71110e8060a93ef35176a092 100644 (file)
@@ -201,8 +201,11 @@ void LiveRangeEdit::eliminateDeadDefs(SmallVectorImpl<MachineInstr*> &Dead,
       break;
 
     // Shrink just one live interval. Then delete new dead defs.
-    LIS.shrinkToUses(ToShrink.back(), &Dead);
+    LiveInterval *LI = ToShrink.back();
     ToShrink.pop_back();
+    if (delegate_)
+      delegate_->LRE_WillShrinkVirtReg(LI->reg);
+    LIS.shrinkToUses(LI, &Dead);
   }
 }