Fix for PR4121. If TwoAddressInstructionPass removes a dead def, and the regB

operand was killed, the kill needs to be removed from regB's VarInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71635 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lang Hames 2009-05-13 04:18:47 +00:00
parent 467c430316
commit 60dc7345eb

View File

@ -858,6 +858,12 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) {
}
}
}
// We're really going to nuke the old inst. If regB was marked
// as a kill we need to update its Kills list.
if (mi->getOperand(si).isKill())
LV->removeVirtualRegisterKilled(regB, mi);
mbbi->erase(mi); // Nuke the old inst.
mi = nmi;
++NumDeletes;