[llvm-branch-commits] [llvm] 6c57e39 - Revert "X86: Mark EFLAGS clobbers dead in global base register setup (#229337)"
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Oct 9 01:32:32 PDT 2026
Author: Ingo Müller
Date: 2026-10-09T10:32:26+02:00
New Revision: 6c57e390b3e267d08decd1de5e5c7a577d730861
URL: https://github.com/llvm/llvm-project/commit/6c57e390b3e267d08decd1de5e5c7a577d730861
DIFF: https://github.com/llvm/llvm-project/commit/6c57e390b3e267d08decd1de5e5c7a577d730861.diff
LOG: Revert "X86: Mark EFLAGS clobbers dead in global base register setup (#229337)"
This reverts commit 488f609ea360315c3306ab12c206ee89eae0c948.
Added:
Modified:
llvm/lib/Target/X86/X86GlobalBaseReg.cpp
llvm/test/CodeGen/X86/large-pic-jump-table.ll
Removed:
llvm/test/CodeGen/X86/global-base-reg-dead-eflags.ll
################################################################################
diff --git a/llvm/lib/Target/X86/X86GlobalBaseReg.cpp b/llvm/lib/Target/X86/X86GlobalBaseReg.cpp
index 8aebedd2ac459..fb6c6b340521f 100644
--- a/llvm/lib/Target/X86/X86GlobalBaseReg.cpp
+++ b/llvm/lib/Target/X86/X86GlobalBaseReg.cpp
@@ -100,8 +100,7 @@ static bool initGlobalBaseReg(MachineFunction &MF) {
X86II::MO_PIC_BASE_OFFSET);
BuildMI(FirstMBB, MBBI, DL, TII->get(X86::ADD64rr), PC)
.addReg(PBReg, RegState::Kill)
- .addReg(GOTReg, RegState::Kill)
- .setOperandDead(3); // implicit-def $eflags
+ .addReg(GOTReg, RegState::Kill);
} else {
// In other code models, use a RIP-relative LEA to materialize the
// GOT.
@@ -125,8 +124,7 @@ static bool initGlobalBaseReg(MachineFunction &MF) {
BuildMI(FirstMBB, MBBI, DL, TII->get(X86::ADD32ri), GlobalBaseReg)
.addReg(PC)
.addExternalSymbol("_GLOBAL_OFFSET_TABLE_",
- X86II::MO_GOT_ABSOLUTE_ADDRESS)
- .setOperandDead(3); // implicit-def $eflags
+ X86II::MO_GOT_ABSOLUTE_ADDRESS);
}
}
diff --git a/llvm/test/CodeGen/X86/global-base-reg-dead-eflags.ll b/llvm/test/CodeGen/X86/global-base-reg-dead-eflags.ll
deleted file mode 100644
index 44e82e29171d7..0000000000000
--- a/llvm/test/CodeGen/X86/global-base-reg-dead-eflags.ll
+++ /dev/null
@@ -1,29 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 6
-; RUN: llc < %s -mtriple=i686-unknown-linux-gnu -relocation-model=pic -stop-after=finalize-isel | FileCheck %s --check-prefix=X86
-; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -relocation-model=pic -code-model=large -stop-after=finalize-isel | FileCheck %s --check-prefix=LARGE
-
- at g = external global i32
-
-define i32 @use_global() {
- ; X86-LABEL: name: use_global
- ; X86: bb.0 (%ir-block.0):
- ; X86-NEXT: [[MOVPC32r:%[0-9]+]]:gr32 = MOVPC32r 0, implicit $esp, implicit $ssp
- ; X86-NEXT: [[ADD32ri:%[0-9]+]]:gr32_nosp = ADD32ri [[MOVPC32r]], target-flags(x86-got-absolute-address) &_GLOBAL_OFFSET_TABLE_, implicit-def dead $eflags
- ; X86-NEXT: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm [[ADD32ri]], 1, $noreg, target-flags(x86-got) @g, $noreg :: (load (s32) from got)
- ; X86-NEXT: [[MOV32rm1:%[0-9]+]]:gr32 = MOV32rm killed [[MOV32rm]], 1, $noreg, 0, $noreg :: (dereferenceable load (s32) from @g)
- ; X86-NEXT: $eax = COPY [[MOV32rm1]]
- ; X86-NEXT: RET 0, $eax
- ;
- ; LARGE-LABEL: name: use_global
- ; LARGE: bb.0 (%ir-block.0):
- ; LARGE-NEXT: [[LEA64r:%[0-9]+]]:gr64 = LEA64r $rip, 0, $noreg, <mcsymbol .L0$pb>, $noreg, pre-instr-symbol <mcsymbol .L0$pb>
- ; LARGE-NEXT: [[MOV64ri:%[0-9]+]]:gr64 = MOV64ri target-flags(x86-pic-base-offset) &_GLOBAL_OFFSET_TABLE_
- ; LARGE-NEXT: [[ADD64rr:%[0-9]+]]:gr64_nosp = ADD64rr killed [[LEA64r]], killed [[MOV64ri]], implicit-def dead $eflags
- ; LARGE-NEXT: [[MOV64ri1:%[0-9]+]]:gr64_nosp = MOV64ri target-flags(x86-got) @g
- ; LARGE-NEXT: [[MOV64rm:%[0-9]+]]:gr64 = MOV64rm [[ADD64rr]], 1, killed [[MOV64ri1]], 0, $noreg :: (load (s64) from got)
- ; LARGE-NEXT: [[MOV32rm:%[0-9]+]]:gr32 = MOV32rm killed [[MOV64rm]], 1, $noreg, 0, $noreg :: (dereferenceable load (s32) from @g)
- ; LARGE-NEXT: $eax = COPY [[MOV32rm]]
- ; LARGE-NEXT: RET 0, $eax
- %v = load i32, ptr @g
- ret i32 %v
-}
diff --git a/llvm/test/CodeGen/X86/large-pic-jump-table.ll b/llvm/test/CodeGen/X86/large-pic-jump-table.ll
index 47a010a6b215a..89e8521e700a0 100644
--- a/llvm/test/CodeGen/X86/large-pic-jump-table.ll
+++ b/llvm/test/CodeGen/X86/large-pic-jump-table.ll
@@ -28,9 +28,9 @@ bb4:
}
; CHECK: movabsq $.LJTI0_0 at GOTOFF, [[R1:%r[a-z]{2}]]
-; CHECK-NEXT: addq [[R2:%r[a-z]{2}]], [[R1]]
-; CHECK-NEXT: addq ([[R1]],[[R3:%r[a-z]{2}]],8), [[R1]]
-; CHECK-NEXT: jmpq *[[R1]]
+; CHECK-NEXT: addq [[R1]], [[R2:%r[a-z]{2}]]
+; CHECK-NEXT: addq ([[R2]],[[R3:%r[a-z]{2}]],8), [[R2]]
+; CHECK-NEXT: jmpq *[[R2]]
; CHECK: .LJTI0_0:
; CHECK-NEXT: .quad .LBB0_2-.LJTI0_0
More information about the llvm-branch-commits
mailing list