[llvm] [GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (PR #85730)
Neumann Hon via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 18 22:27:54 PDT 2024
https://github.com/Everybody0523 updated https://github.com/llvm/llvm-project/pull/85730
>From 37ab123e23e140ee6534804ea22b62f2cc47aa20 Mon Sep 17 00:00:00 2001
From: Neumann Hon <neumann.hon at ibm.com>
Date: Mon, 18 Mar 2024 23:16:26 -0400
Subject: [PATCH 1/2] Change prefix from @/@@ to L#
---
llvm/lib/MC/MCAsmInfoGOFF.cpp | 4 ++--
llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll | 6 +++---
llvm/test/CodeGen/SystemZ/zos-landingpad.ll | 2 +-
llvm/test/CodeGen/SystemZ/zos-ppa2.ll | 14 +++++++-------
llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll | 14 +++++++-------
llvm/test/MC/GOFF/ppa1.ll | 10 +++++-----
llvm/unittests/IR/ManglerTest.cpp | 2 +-
7 files changed, 26 insertions(+), 26 deletions(-)
diff --git a/llvm/lib/MC/MCAsmInfoGOFF.cpp b/llvm/lib/MC/MCAsmInfoGOFF.cpp
index 81704ffe4b2460..3c81a466e82e79 100644
--- a/llvm/lib/MC/MCAsmInfoGOFF.cpp
+++ b/llvm/lib/MC/MCAsmInfoGOFF.cpp
@@ -21,7 +21,7 @@ void MCAsmInfoGOFF::anchor() {}
MCAsmInfoGOFF::MCAsmInfoGOFF() {
Data64bitsDirective = "\t.quad\t";
HasDotTypeDotSizeDirective = false;
- PrivateGlobalPrefix = "@@";
- PrivateLabelPrefix = "@";
+ PrivateGlobalPrefix = "L#";
+ PrivateLabelPrefix = "L#";
ZeroDirective = "\t.space\t";
}
diff --git a/llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll b/llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
index e25246917ec099..db67ac57818680 100644
--- a/llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
+++ b/llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
@@ -56,9 +56,9 @@ entry:
declare signext i32 @callout(i32 signext)
; CHECK: .section ".ada"
-; CHECK: .set @@DoFunc at indirect0, DoFunc
-; CHECK: .indirect_symbol @@DoFunc at indirect0
-; CHECK: .quad V(@@DoFunc at indirect0) * Offset 0 pointer to function descriptor DoFunc
+; CHECK: .set L#DoFunc at indirect0, DoFunc
+; CHECK: .indirect_symbol L#DoFunc at indirect0
+; CHECK: .quad V(L#DoFunc at indirect0) * Offset 0 pointer to function descriptor DoFunc
; CHECK: .quad R(Caller) * Offset 8 function descriptor of Caller
; CHECK: .quad V(Caller)
; CHECK: .quad A(i2) * Offset 24 pointer to data symbol i2
diff --git a/llvm/test/CodeGen/SystemZ/zos-landingpad.ll b/llvm/test/CodeGen/SystemZ/zos-landingpad.ll
index 7f3214d574242b..9db10114e9795f 100644
--- a/llvm/test/CodeGen/SystemZ/zos-landingpad.ll
+++ b/llvm/test/CodeGen/SystemZ/zos-landingpad.ll
@@ -19,7 +19,7 @@ done:
lpad:
%0 = landingpad { ptr, i32 } cleanup
; The Exception Pointer is %r1; the Exception Selector, %r2.
-; CHECK: @BB{{[^%]*}} %lpad
+; CHECK: L#BB{{[^%]*}} %lpad
; CHECK-DAG: stg 1, {{.*}}
; CHECK-DAG: st 2, {{.*}}
%1 = extractvalue { ptr, i32 } %0, 0
diff --git a/llvm/test/CodeGen/SystemZ/zos-ppa2.ll b/llvm/test/CodeGen/SystemZ/zos-ppa2.ll
index 60580aeb6d83cc..189b5a3757ee07 100644
--- a/llvm/test/CodeGen/SystemZ/zos-ppa2.ll
+++ b/llvm/test/CodeGen/SystemZ/zos-ppa2.ll
@@ -2,24 +2,24 @@
; REQUIRES: systemz-registered-target
; CHECK: .section ".ppa2"
-; CHECK: @@PPA2:
+; CHECK: L#PPA2:
; CHECK: .byte 3
; CHECK: .byte 231
; CHECK: .byte 34
; CHECK: .byte 4
-; CHECK: .long CELQSTRT-@@PPA2
+; CHECK: .long CELQSTRT-L#PPA2
; CHECK: .long 0
-; CHECK: .long @@DVS-@@PPA2
+; CHECK: .long L#DVS-L#PPA2
; CHECK: .long 0
; CHECK: .byte 129
; CHECK: .byte 0
; CHECK: .short 0
-; CHECK: @@DVS:
+; CHECK: L#DVS:
; CHECK: .ascii "\361\371\367\360\360\361\360\361\360\360\360\360\360\360"
; CHECK: .short 0
-; CHECK: .quad @@PPA2-CELQSTRT * A(PPA2-CELQSTRT)
-; CHECK: @@PPA1_void_test_0:
-; CHECK: .long @@PPA2-@@PPA1_void_test_0 * Offset to PPA2
+; CHECK: .quad L#PPA2-CELQSTRT * A(PPA2-CELQSTRT)
+; CHECK: L#PPA1_void_test_0:
+; CHECK: .long L#PPA2-L#PPA1_void_test_0 * Offset to PPA2
; CHECK: .section "B_IDRL"
; CHECK: .byte 0
; CHECK: .byte 3
diff --git a/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll b/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
index 8c0411629da7d2..d3e5823fcb1fe7 100644
--- a/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
+++ b/llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
@@ -15,7 +15,7 @@
; CHECK64: aghi 4, 192
; CHECK64: b 2(7)
-; CHECK64: @@PPA1_func0_0:
+; CHECK64: L#PPA1_func0_0:
; CHECK64: .short 0 * Length/4 of Parms
define void @func0() {
call i64 (i64) @fun(i64 10)
@@ -31,7 +31,7 @@ define void @func0() {
; CHECK64: aghi 4, 160
; CHECK64: b 2(7)
-; CHECK64: @@PPA1_func1_0:
+; CHECK64: L#PPA1_func1_0:
; CHECK64: .short 2 * Length/4 of Parms
define void @func1(ptr %ptr) {
%l01 = load volatile i64, ptr %ptr
@@ -336,16 +336,16 @@ define void @large_stack0() {
; CHECK64: lgr 0, 3
; CHECK64: llgt 3, 1208
; CHECK64: cg 4, 64(3)
-; CHECK64: jhe @BB7_2
+; CHECK64: jhe L#BB7_2
; CHECK64: %bb.1:
; CHECK64: lg 3, 72(3)
; CHECK64: basr 3, 3
; CHECK64: bcr 0, 7
-; CHECK64: @BB7_2:
+; CHECK64: L#BB7_2:
; CHECK64: stmg 6, 7, 2064(4)
; CHECK64: lgr 3, 0
-; CHECK64: @@PPA1_large_stack1_0:
+; CHECK64: L#PPA1_large_stack1_0:
; CHECK64: .short 6 * Length/4 of Parms
define void @large_stack1(i64 %n1, i64 %n2, i64 %n3) {
%arr = alloca [131072 x i64], align 8
@@ -361,12 +361,12 @@ define void @large_stack1(i64 %n1, i64 %n2, i64 %n3) {
; CHECK64: agfi 4, -1048768
; CHECK64: llgt 3, 1208
; CHECK64: cg 4, 64(3)
-; CHECK64: jhe @BB8_2
+; CHECK64: jhe L#BB8_2
; CHECK64: %bb.1:
; CHECK64: lg 3, 72(3)
; CHECK64: basr 3, 3
; CHECK64: bcr 0, 7
-; CHECK64: @BB8_2:
+; CHECK64: L#BB8_2:
; CHECK64: lgr 3, 0
; CHECK64: lg 3, 2192(3)
; CHECK64: stmg 4, 12, 2048(4)
diff --git a/llvm/test/MC/GOFF/ppa1.ll b/llvm/test/MC/GOFF/ppa1.ll
index 40fc9e93780db6..13971c7ec8e72d 100644
--- a/llvm/test/MC/GOFF/ppa1.ll
+++ b/llvm/test/MC/GOFF/ppa1.ll
@@ -1,7 +1,7 @@
; RUN: llc -mtriple s390x-ibm-zos < %s | FileCheck %s
; REQUIRES: systemz-registered-target
-; CHECK: @@EPM_void_test_0: * @void_test
+; CHECK: L#EPM_void_test_0: * @void_test
; CHECK: * XPLINK Routine Layout Entry
; CHECK: .long 12779717 * Eyecatcher 0x00C300C500C500
; CHECK: .short 197
@@ -11,9 +11,9 @@
; CHECK: * Entry Flags
; CHECK: * Bit 1: 1 = Leaf function
; CHECK: * Bit 2: 0 = Does not use alloca
-; CHECK: @@func_end0:
+; CHECK: L#func_end0:
; CHECK: .section ".ppa1"
-; CHECK: @@PPA1_void_test_0: * PPA1
+; CHECK: L#PPA1_void_test_0: * PPA1
; CHECK: .byte 2 * Version
; CHECK: .byte 206 * LE Signature X'CE'
; CHECK: .short 0 * Saved GPR Mask
@@ -25,8 +25,8 @@
; CHECK: .byte 0 * PPA1 Flags 3
; CHECK: .byte 129 * PPA1 Flags 4
; CHECK: .short 0 * Length/4 of Parms
-; CHECK: .long @@func_end0-@@EPM_void_test_0 * Length of Code
-; CHECK: .long @@EPM_void_test_0-@@PPA1_void_test_0
+; CHECK: .long L#func_end0-L#EPM_void_test_0 * Length of Code
+; CHECK: .long L#EPM_void_test_0-L#PPA1_void_test_0
; CHECK: .section ".text"
; CHECK: * -- End function
define void @void_test() {
diff --git a/llvm/unittests/IR/ManglerTest.cpp b/llvm/unittests/IR/ManglerTest.cpp
index 8ad95a83b6928c..f2b78a1f987694 100644
--- a/llvm/unittests/IR/ManglerTest.cpp
+++ b/llvm/unittests/IR/ManglerTest.cpp
@@ -171,7 +171,7 @@ TEST(ManglerTest, GOFF) {
"foo");
EXPECT_EQ(mangleFunc("foo", llvm::GlobalValue::PrivateLinkage,
llvm::CallingConv::C, Mod, Mang),
- "@foo");
+ "L#foo");
}
} // end anonymous namespace
>From 5276ef6d152edf9f3fdec4056209565ca467202d Mon Sep 17 00:00:00 2001
From: Neumann Hon <neumann.hon at ibm.com>
Date: Tue, 19 Mar 2024 01:27:45 -0400
Subject: [PATCH 2/2] Forgot to update for mangling too
---
llvm/include/llvm/IR/DataLayout.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/include/llvm/IR/DataLayout.h b/llvm/include/llvm/IR/DataLayout.h
index 71f7f51d8ee431..d14adfe1590be5 100644
--- a/llvm/include/llvm/IR/DataLayout.h
+++ b/llvm/include/llvm/IR/DataLayout.h
@@ -337,7 +337,7 @@ class DataLayout {
case MM_WinCOFF:
return ".L";
case MM_GOFF:
- return "@";
+ return "L#";
case MM_Mips:
return "$";
case MM_MachO:
More information about the llvm-commits
mailing list