From ba256037ced5606d5cea8a1676b21eaf91d924de Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 30 Aug 2006 23:02:29 +0000 Subject: [PATCH] Fix a compiler crash bootstrapping llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29989 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/LiveIntervalAnalysis.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp index a26feb3023c..0e9609cdcc6 100644 --- a/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -570,7 +570,7 @@ void LiveIntervals::handleRegisterDef(MachineBasicBlock *MBB, 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 @@ bool LiveIntervals::AdjustCopiesBackFrom(LiveInterval &IntA, LiveInterval &IntB, 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. -- 2.11.0