Skip to content

Commit 761f568

Browse files
committed
Revert "[X86] Increase the number of instructions searched for isSafeToClobberEFLAGS in a couple places"
This reverts commit 44b260c. I messed up the bug number in the commit message so I'm reverting to fix it.
1 parent 4cc9142 commit 761f568

File tree

4 files changed

+6
-7
lines changed

4 files changed

+6
-7
lines changed

llvm/lib/Target/X86/X86FixupLEAs.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ bool FixupLEAPass::optTwoAddrLEA(MachineBasicBlock::iterator &I,
376376
const MachineOperand &Segment = MI.getOperand(1 + X86::AddrSegmentReg);
377377

378378
if (Segment.getReg() != 0 || !Disp.isImm() || Scale.getImm() > 1 ||
379-
!TII->isSafeToClobberEFLAGS(MBB, I, 10))
379+
!TII->isSafeToClobberEFLAGS(MBB, I))
380380
return false;
381381

382382
Register DestReg = MI.getOperand(0).getReg();

llvm/lib/Target/X86/X86InstrInfo.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,7 @@ void X86InstrInfo::reMaterialize(MachineBasicBlock &MBB,
11271127
const MachineInstr &Orig,
11281128
const TargetRegisterInfo &TRI) const {
11291129
bool ClobbersEFLAGS = Orig.modifiesRegister(X86::EFLAGS, &TRI);
1130-
if (ClobbersEFLAGS && !isSafeToClobberEFLAGS(MBB, I, 10)) {
1130+
if (ClobbersEFLAGS && !isSafeToClobberEFLAGS(MBB, I)) {
11311131
// The instruction clobbers EFLAGS. Re-materialize as MOV32ri to avoid side
11321132
// effects.
11331133
int Value;

llvm/lib/Target/X86/X86InstrInfo.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -442,9 +442,8 @@ class X86InstrInfo final : public X86GenInstrInfo {
442442
/// conservative. If it cannot definitely determine the safety after visiting
443443
/// a few instructions in each direction it assumes it's not safe.
444444
bool isSafeToClobberEFLAGS(MachineBasicBlock &MBB,
445-
MachineBasicBlock::iterator I,
446-
unsigned Neighborhood = 4) const {
447-
return MBB.computeRegisterLiveness(&RI, X86::EFLAGS, I, Neighborhood) ==
445+
MachineBasicBlock::iterator I) const {
446+
return MBB.computeRegisterLiveness(&RI, X86::EFLAGS, I, 4) ==
448447
MachineBasicBlock::LQR_Dead;
449448
}
450449

llvm/test/CodeGen/X86/optimize-max-0.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ define void @foo(i8* %r, i32 %s, i32 %w, i32 %x, i8* %j, i32 %d) nounwind {
8585
; CHECK-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %eax ## 4-byte Reload
8686
; CHECK-NEXT: addl %ecx, %eax
8787
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %esi
88-
; CHECK-NEXT: addl $2, %esi
88+
; CHECK-NEXT: leal 2(%esi), %esi
8989
; CHECK-NEXT: movl %esi, {{[-0-9]+}}(%e{{[sb]}}p) ## 4-byte Spill
9090
; CHECK-NEXT: movl (%esp), %esi ## 4-byte Reload
9191
; CHECK-NEXT: addl %esi, %ecx
@@ -513,7 +513,7 @@ define void @bar(i8* %r, i32 %s, i32 %w, i32 %x, i8* %j, i32 %d) nounwind {
513513
; CHECK-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %ecx ## 4-byte Reload
514514
; CHECK-NEXT: addl %eax, %ecx
515515
; CHECK-NEXT: movl {{[0-9]+}}(%esp), %edx
516-
; CHECK-NEXT: addl $2, %edx
516+
; CHECK-NEXT: leal 2(%edx), %edx
517517
; CHECK-NEXT: movl %edx, {{[-0-9]+}}(%e{{[sb]}}p) ## 4-byte Spill
518518
; CHECK-NEXT: movl {{[-0-9]+}}(%e{{[sb]}}p), %edx ## 4-byte Reload
519519
; CHECK-NEXT: addl %edx, %eax

0 commit comments

Comments
 (0)