[llvm] f64cd30 - [AArch64] Remove VK_WEAKREF from arm64ec lowering. (#141717)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 28 09:24:35 PDT 2025
Author: Eli Friedman
Date: 2025-05-28T09:24:31-07:00
New Revision: f64cd30367e7cee4a0b82b405d96e9b37412b391
URL: https://github.com/llvm/llvm-project/commit/f64cd30367e7cee4a0b82b405d96e9b37412b391
DIFF: https://github.com/llvm/llvm-project/commit/f64cd30367e7cee4a0b82b405d96e9b37412b391.diff
LOG: [AArch64] Remove VK_WEAKREF from arm64ec lowering. (#141717)
VK_WEAKREF doesn't actually do anything anymore, and it was never really
necessary. We set a bit on the MCSymbol to represent the anti-dep
semantics.
This patch doesn't delete the VK_WEAKREF enum value because that causes
an unrelated issue in CodeGen/AArch64/wineh-try-catch.ll.
Added:
Modified:
llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
Removed:
################################################################################
diff --git a/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp b/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
index 165b7d8ad6330..eb699c75cf10c 100644
--- a/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
+++ b/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
@@ -78,14 +78,10 @@ MCSymbol *AArch64MCInstLower::GetGlobalValueSymbol(const GlobalValue *GV,
Printer.OutStreamer->emitSymbolAttribute(Printer.getSymbol(GV),
MCSA_WeakAntiDep);
Printer.OutStreamer->emitAssignment(
- Printer.getSymbol(GV),
- MCSymbolRefExpr::create(MangledSym, MCSymbolRefExpr::VK_WEAKREF,
- Ctx));
+ Printer.getSymbol(GV), MCSymbolRefExpr::create(MangledSym, Ctx));
Printer.OutStreamer->emitSymbolAttribute(MangledSym, MCSA_WeakAntiDep);
Printer.OutStreamer->emitAssignment(
- MangledSym,
- MCSymbolRefExpr::create(Printer.getSymbol(GV),
- MCSymbolRefExpr::VK_WEAKREF, Ctx));
+ MangledSym, MCSymbolRefExpr::create(Printer.getSymbol(GV), Ctx));
}
if (TargetFlags & AArch64II::MO_ARM64EC_CALLMANGLE)
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
index e8a88f7f31401..31965d85d9eb4 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
@@ -33,7 +33,6 @@ static cl::opt<AsmWriterVariantTy> AsmWriterVariant(
const MCAsmInfo::AtSpecifier COFFAtSpecifiers[] = {
{MCSymbolRefExpr::VK_COFF_IMGREL32, "IMGREL"},
- {MCSymbolRefExpr::VK_WEAKREF, "WEAKREF"},
{AArch64MCExpr::M_PAGEOFF, "PAGEOFF"},
};
diff --git a/llvm/test/CodeGen/AArch64/arm64ec-varargs.ll b/llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
index 5796b6f3216a7..5fab5738078dc 100644
--- a/llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
+++ b/llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
@@ -45,9 +45,9 @@ define void @varargs_caller() nounwind {
; CHECK-NEXT: stp x9, x8, [sp]
; CHECK-NEXT: str xzr, [sp, #16]
; CHECK-NEXT: .weak_anti_dep varargs_callee
-; CHECK-NEXT: .set varargs_callee, "#varargs_callee"@WEAKREF
+; CHECK-NEXT: .set varargs_callee, "#varargs_callee"
; CHECK-NEXT: .weak_anti_dep "#varargs_callee"
-; CHECK-NEXT: .set "#varargs_callee", varargs_callee at WEAKREF
+; CHECK-NEXT: .set "#varargs_callee", varargs_callee
; CHECK-NEXT: bl "#varargs_callee"
; CHECK-NEXT: ldr x30, [sp, #32] // 8-byte Folded Reload
; CHECK-NEXT: add sp, sp, #48
@@ -86,9 +86,9 @@ define void @varargs_many_argscalleer() nounwind {
; CHECK-NEXT: stp x9, x8, [sp]
; CHECK-NEXT: stp q0, q0, [sp, #16]
; CHECK-NEXT: .weak_anti_dep varargs_many_argscallee
-; CHECK-NEXT: .set varargs_many_argscallee, "#varargs_many_argscallee"@WEAKREF
+; CHECK-NEXT: .set varargs_many_argscallee, "#varargs_many_argscallee"
; CHECK-NEXT: .weak_anti_dep "#varargs_many_argscallee"
-; CHECK-NEXT: .set "#varargs_many_argscallee", varargs_many_argscallee at WEAKREF
+; CHECK-NEXT: .set "#varargs_many_argscallee", varargs_many_argscallee
; CHECK-NEXT: bl "#varargs_many_argscallee"
; CHECK-NEXT: ldr x30, [sp, #48] // 8-byte Folded Reload
; CHECK-NEXT: add sp, sp, #64
@@ -116,9 +116,9 @@ define void @varargs_caller_tail() nounwind {
; CHECK-NEXT: stp x9, x8, [sp]
; CHECK-NEXT: str xzr, [sp, #16]
; CHECK-NEXT: .weak_anti_dep varargs_callee
-; CHECK-NEXT: .set varargs_callee, "#varargs_callee"@WEAKREF
+; CHECK-NEXT: .set varargs_callee, "#varargs_callee"
; CHECK-NEXT: .weak_anti_dep "#varargs_callee"
-; CHECK-NEXT: .set "#varargs_callee", varargs_callee at WEAKREF
+; CHECK-NEXT: .set "#varargs_callee", varargs_callee
; CHECK-NEXT: bl "#varargs_callee"
; CHECK-NEXT: ldr x30, [sp, #32] // 8-byte Folded Reload
; CHECK-NEXT: add x4, sp, #48
@@ -129,9 +129,9 @@ define void @varargs_caller_tail() nounwind {
; CHECK-NEXT: mov x5, xzr
; CHECK-NEXT: add sp, sp, #48
; CHECK-NEXT: .weak_anti_dep varargs_callee
-; CHECK-NEXT: .set varargs_callee, "#varargs_callee"@WEAKREF
+; CHECK-NEXT: .set varargs_callee, "#varargs_callee"
; CHECK-NEXT: .weak_anti_dep "#varargs_callee"
-; CHECK-NEXT: .set "#varargs_callee", varargs_callee at WEAKREF
+; CHECK-NEXT: .set "#varargs_callee", varargs_callee
; CHECK-NEXT: b "#varargs_callee"
call void (double, ...) @varargs_callee(double 1.0, i32 2, double 3.0, i32 4, double 5.0, <2 x double> <double 0.0, double 0.0>)
tail call void (double, ...) @varargs_callee(double 1.0, i32 4, i32 3, i32 2)
More information about the llvm-commits
mailing list