[llvm-commits] [llvm] r150531 - /llvm/trunk/lib/CodeGen/InterferenceCache.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Tue Feb 14 15:53:23 PST 2012
Author: stoklund
Date: Tue Feb 14 17:53:23 2012
New Revision: 150531
URL: http://llvm.org/viewvc/llvm-project?rev=150531&view=rev
Log:
Fix global live range splitting regmask accuracy.
Pretend that regmask interference ends at the 'dead' slot, even when
there is other interference ending at the 'reg' slot of the same
instruction.
Modified:
llvm/trunk/lib/CodeGen/InterferenceCache.cpp
Modified: llvm/trunk/lib/CodeGen/InterferenceCache.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/InterferenceCache.cpp?rev=150531&r1=150530&r2=150531&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/InterferenceCache.cpp (original)
+++ llvm/trunk/lib/CodeGen/InterferenceCache.cpp Tue Feb 14 17:53:23 2012
@@ -185,7 +185,8 @@
// Also check for register mask interference.
SlotIndex Limit = BI->Last.isValid() ? BI->Last : Start;
- for (unsigned i = RegMaskSlots.size(); i && RegMaskSlots[i-1] > Limit; --i)
+ for (unsigned i = RegMaskSlots.size();
+ i && RegMaskSlots[i-1].getDeadSlot() > Limit; --i)
if (MachineOperand::clobbersPhysReg(RegMaskBits[i-1], PhysReg)) {
// Register mask i-1 clobbers PhysReg after the LIU interference.
// Model the regmask clobber as a dead def.
More information about the llvm-commits
mailing list