Skip to content

Commit a3760e5

Browse files
efriedma-quicsivan-shani
authored andcommitted
[AArch64] Remove VK_WEAKREF from arm64ec lowering. (llvm#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.
1 parent 15d5756 commit a3760e5

File tree

3 files changed

+10
-15
lines changed

3 files changed

+10
-15
lines changed

llvm/lib/Target/AArch64/AArch64MCInstLower.cpp

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,10 @@ MCSymbol *AArch64MCInstLower::GetGlobalValueSymbol(const GlobalValue *GV,
7878
Printer.OutStreamer->emitSymbolAttribute(Printer.getSymbol(GV),
7979
MCSA_WeakAntiDep);
8080
Printer.OutStreamer->emitAssignment(
81-
Printer.getSymbol(GV),
82-
MCSymbolRefExpr::create(MangledSym, MCSymbolRefExpr::VK_WEAKREF,
83-
Ctx));
81+
Printer.getSymbol(GV), MCSymbolRefExpr::create(MangledSym, Ctx));
8482
Printer.OutStreamer->emitSymbolAttribute(MangledSym, MCSA_WeakAntiDep);
8583
Printer.OutStreamer->emitAssignment(
86-
MangledSym,
87-
MCSymbolRefExpr::create(Printer.getSymbol(GV),
88-
MCSymbolRefExpr::VK_WEAKREF, Ctx));
84+
MangledSym, MCSymbolRefExpr::create(Printer.getSymbol(GV), Ctx));
8985
}
9086

9187
if (TargetFlags & AArch64II::MO_ARM64EC_CALLMANGLE)

llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ static cl::opt<AsmWriterVariantTy> AsmWriterVariant(
3333

3434
const MCAsmInfo::AtSpecifier COFFAtSpecifiers[] = {
3535
{MCSymbolRefExpr::VK_COFF_IMGREL32, "IMGREL"},
36-
{MCSymbolRefExpr::VK_WEAKREF, "WEAKREF"},
3736
{AArch64MCExpr::M_PAGEOFF, "PAGEOFF"},
3837
};
3938

llvm/test/CodeGen/AArch64/arm64ec-varargs.ll

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,9 @@ define void @varargs_caller() nounwind {
4545
; CHECK-NEXT: stp x9, x8, [sp]
4646
; CHECK-NEXT: str xzr, [sp, #16]
4747
; CHECK-NEXT: .weak_anti_dep varargs_callee
48-
; CHECK-NEXT: .set varargs_callee, "#varargs_callee"@WEAKREF
48+
; CHECK-NEXT: .set varargs_callee, "#varargs_callee"
4949
; CHECK-NEXT: .weak_anti_dep "#varargs_callee"
50-
; CHECK-NEXT: .set "#varargs_callee", varargs_callee@WEAKREF
50+
; CHECK-NEXT: .set "#varargs_callee", varargs_callee
5151
; CHECK-NEXT: bl "#varargs_callee"
5252
; CHECK-NEXT: ldr x30, [sp, #32] // 8-byte Folded Reload
5353
; CHECK-NEXT: add sp, sp, #48
@@ -86,9 +86,9 @@ define void @varargs_many_argscalleer() nounwind {
8686
; CHECK-NEXT: stp x9, x8, [sp]
8787
; CHECK-NEXT: stp q0, q0, [sp, #16]
8888
; CHECK-NEXT: .weak_anti_dep varargs_many_argscallee
89-
; CHECK-NEXT: .set varargs_many_argscallee, "#varargs_many_argscallee"@WEAKREF
89+
; CHECK-NEXT: .set varargs_many_argscallee, "#varargs_many_argscallee"
9090
; CHECK-NEXT: .weak_anti_dep "#varargs_many_argscallee"
91-
; CHECK-NEXT: .set "#varargs_many_argscallee", varargs_many_argscallee@WEAKREF
91+
; CHECK-NEXT: .set "#varargs_many_argscallee", varargs_many_argscallee
9292
; CHECK-NEXT: bl "#varargs_many_argscallee"
9393
; CHECK-NEXT: ldr x30, [sp, #48] // 8-byte Folded Reload
9494
; CHECK-NEXT: add sp, sp, #64
@@ -116,9 +116,9 @@ define void @varargs_caller_tail() nounwind {
116116
; CHECK-NEXT: stp x9, x8, [sp]
117117
; CHECK-NEXT: str xzr, [sp, #16]
118118
; CHECK-NEXT: .weak_anti_dep varargs_callee
119-
; CHECK-NEXT: .set varargs_callee, "#varargs_callee"@WEAKREF
119+
; CHECK-NEXT: .set varargs_callee, "#varargs_callee"
120120
; CHECK-NEXT: .weak_anti_dep "#varargs_callee"
121-
; CHECK-NEXT: .set "#varargs_callee", varargs_callee@WEAKREF
121+
; CHECK-NEXT: .set "#varargs_callee", varargs_callee
122122
; CHECK-NEXT: bl "#varargs_callee"
123123
; CHECK-NEXT: ldr x30, [sp, #32] // 8-byte Folded Reload
124124
; CHECK-NEXT: add x4, sp, #48
@@ -129,9 +129,9 @@ define void @varargs_caller_tail() nounwind {
129129
; CHECK-NEXT: mov x5, xzr
130130
; CHECK-NEXT: add sp, sp, #48
131131
; CHECK-NEXT: .weak_anti_dep varargs_callee
132-
; CHECK-NEXT: .set varargs_callee, "#varargs_callee"@WEAKREF
132+
; CHECK-NEXT: .set varargs_callee, "#varargs_callee"
133133
; CHECK-NEXT: .weak_anti_dep "#varargs_callee"
134-
; CHECK-NEXT: .set "#varargs_callee", varargs_callee@WEAKREF
134+
; CHECK-NEXT: .set "#varargs_callee", varargs_callee
135135
; CHECK-NEXT: b "#varargs_callee"
136136
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>)
137137
tail call void (double, ...) @varargs_callee(double 1.0, i32 4, i32 3, i32 2)

0 commit comments

Comments
 (0)