From 2ac0d43fa2cbf2dd1b024a40685eb1b758ddac56 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 3 Sep 2006 00:06:08 +0000 Subject: [PATCH] When deleting a machine instruction, make sure to remove it from the livevariables information. This fixes several regalloc=local failures on x86 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30062 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/RegAllocLocal.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp index dd8a8815604..c435c34f49e 100644 --- a/lib/CodeGen/RegAllocLocal.cpp +++ b/lib/CodeGen/RegAllocLocal.cpp @@ -659,8 +659,11 @@ void RA::AllocateBasicBlock(MachineBasicBlock &MBB) { // Finally, if this is a noop copy instruction, zap it. unsigned SrcReg, DstReg; - if (TII.isMoveInstr(*MI, SrcReg, DstReg) && SrcReg == DstReg) + if (TII.isMoveInstr(*MI, SrcReg, DstReg) && SrcReg == DstReg) { + LV->removeVirtualRegistersKilled(MI); + LV->removeVirtualRegistersDead(MI); MBB.erase(MI); + } } MachineBasicBlock::iterator MI = MBB.getFirstTerminator(); -- 2.34.1