[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