From: Owen Anderson Date: Mon, 2 Jun 2008 17:36:36 +0000 (+0000) Subject: Correctly handle removed instructions at the beginning of MBBs when renumbering. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=e3abb0a858ceaea4a4ffa7c1874be8426d2724bc;p=oota-llvm.git Correctly handle removed instructions at the beginning of MBBs when renumbering. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51876 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp index f711c0ccaa5..54738539fa9 100644 --- a/lib/CodeGen/LiveIntervalAnalysis.cpp +++ b/lib/CodeGen/LiveIntervalAnalysis.cpp @@ -128,13 +128,11 @@ void LiveIntervals::computeNumbering() { i++; } while (!newInstr); - MachineInstr* preceding = i2miMap_[(mi2iMap_[newInstr] - - InstrSlots::NUM) / InstrSlots::NUM]; - if (preceding->getParent() == newInstr->getParent() && - preceding->modifiesRegister(I->second.reg)) - LI->start = mi2iMap_[newInstr] - InstrSlots::NUM + offset; - else + if (mi2iMap_[newInstr] == + MBB2IdxMap[newInstr->getParent()->getNumber()].first) LI->start = mi2iMap_[newInstr]; + else + LI->start = mi2iMap_[newInstr] - InstrSlots::NUM + offset; } // Remap the ending index in the same way that we remapped the start, @@ -172,13 +170,11 @@ void LiveIntervals::computeNumbering() { i++; } while (!newInstr); - MachineInstr* preceding = i2miMap_[(mi2iMap_[newInstr] - - InstrSlots::NUM) / InstrSlots::NUM]; - if (preceding->getParent() == newInstr->getParent() && - preceding->modifiesRegister(I->second.reg)) - vni->def = mi2iMap_[newInstr] - InstrSlots::NUM + offset; - else + if (mi2iMap_[newInstr] == + MBB2IdxMap[newInstr->getParent()->getNumber()].first) vni->def = mi2iMap_[newInstr]; + else + vni->def = mi2iMap_[newInstr] - InstrSlots::NUM + offset; } // Remap the VNInfo kill indices, which works the same as