[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp

Chris Lattner lattner at cs.uiuc.edu
Wed Aug 30 16:02:43 PDT 2006



Changes in directory llvm/lib/CodeGen:

LiveIntervalAnalysis.cpp updated: 1.172 -> 1.173
---
Log message:

Fix a compiler crash bootstrapping llvm-gcc.


---
Diffs of the changes:  (+6 -2)

 LiveIntervalAnalysis.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)


Index: llvm/lib/CodeGen/LiveIntervalAnalysis.cpp
diff -u llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.172 llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.173
--- llvm/lib/CodeGen/LiveIntervalAnalysis.cpp:1.172	Tue Aug 29 18:18:15 2006
+++ llvm/lib/CodeGen/LiveIntervalAnalysis.cpp	Wed Aug 30 18:02:29 2006
@@ -570,7 +570,7 @@
   else if (allocatableRegs_[reg]) {
     handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(reg));
     for (const unsigned* AS = mri_->getAliasSet(reg); *AS; ++AS)
-      handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(*AS));
+      handlePhysicalRegisterDef(MBB, MI, getOrCreateInterval(*AS), true);
   }
 }
 
@@ -684,7 +684,11 @@
   if (ValLR+1 != BLR) return false;
   
   DEBUG(std::cerr << "\nExtending: "; IntB.print(std::cerr, mri_));
-    
+  
+  // We are about to delete CopyMI, so need to remove it as the 'instruction
+  // that defines this value #'.
+  IntB.setInstDefiningValNum(BValNo, ~0U);
+  
   // Okay, we can merge them.  We need to insert a new liverange:
   // [ValLR.end, BLR.begin) of either value number, then we merge the
   // two value numbers.






More information about the llvm-commits mailing list