Skip to content

Commit 51a82e0

Browse files
committed
Revert "[X86] Clear kill flags when rewriting SETCC uses in flag copy lowering."
This reverts commit 7550f14. I botched the bug number.
1 parent 7550f14 commit 51a82e0

File tree

3 files changed

+5
-117
lines changed

3 files changed

+5
-117
lines changed

llvm/lib/Target/X86/X86FlagsCopyLowering.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -964,11 +964,7 @@ void X86FlagsCopyLoweringPass::rewriteSetCC(MachineBasicBlock &TestMBB,
964964
if (!SetCCI.mayStore()) {
965965
assert(SetCCI.getOperand(0).isReg() &&
966966
"Cannot have a non-register defined operand to SETcc!");
967-
Register OldReg = SetCCI.getOperand(0).getReg();
968-
// Drop Kill flags on the old register before replacing. CondReg may have
969-
// a longer live range.
970-
MRI->clearKillFlags(OldReg);
971-
MRI->replaceRegWith(OldReg, CondReg);
967+
MRI->replaceRegWith(SetCCI.getOperand(0).getReg(), CondReg);
972968
SetCCI.eraseFromParent();
973969
return;
974970
}

llvm/test/CodeGen/X86/flags-copy-lowering.mir

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,10 @@ body: |
250250
MOV8mr $rsp, 1, $noreg, -16, $noreg, killed %5
251251
; CHECK-NOT: $eflags =
252252
; CHECK-NOT: = SET{{.*}}
253-
; CHECK: MOV8mr {{.*}}, %[[A_REG]]
254-
; CHECK-NEXT: MOV8mr {{.*}}, %[[B_REG]]
255-
; CHECK-NEXT: MOV8mr {{.*}}, %[[E_REG]]
256-
; CHECK-NOT: MOV8mr {{.*}}, %[[NE_REG]]
253+
; CHECK: MOV8mr {{.*}}, killed %[[A_REG]]
254+
; CHECK-NEXT: MOV8mr {{.*}}, killed %[[B_REG]]
255+
; CHECK-NEXT: MOV8mr {{.*}}, killed %[[E_REG]]
256+
; CHECK-NOT: MOV8mr {{.*}}, killed %[[NE_REG]]
257257
258258
RET 0
259259

llvm/test/CodeGen/X86/pr51908.mir

Lines changed: 0 additions & 108 deletions
This file was deleted.

0 commit comments

Comments
 (0)