[clang] 5fb2797 - [GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (#85730)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Mar 20 07:30:34 PDT 2024
Author: Neumann Hon
Date: 2024-03-20T10:30:30-04:00
New Revision: 5fb2797f23343999cace3afe24480e8711df4566
URL: https://github.com/llvm/llvm-project/commit/5fb2797f23343999cace3afe24480e8711df4566
DIFF: https://github.com/llvm/llvm-project/commit/5fb2797f23343999cace3afe24480e8711df4566.diff
LOG: [GOFF][z/OS] Change PrivateGlobalPrefix and PrivateLabelPrefix to be L# (#85730)
The current values for PrivateGlobalPrefix and PrivateLabelPrefix (@@
and @ respectively) are, in hindsight, poor choices for multiple
reasons:
First, there exist externally visible routines from the language
environment that begin with @@. These functions are certainly not
local/private by any means and they should not share a prefix with
private globals.
Secondly, both private globals and private labels should be handled the
same way by GOFF, so it doesn't make much sense for them to have
separate prefixes. GOFF remains the only file format where these are
different and there is no reason for that to be the case
Added:
Modified:
clang/test/CodeGen/SystemZ/systemz-ppa2.c
llvm/include/llvm/IR/DataLayout.h
llvm/lib/MC/MCAsmInfoGOFF.cpp
llvm/test/CodeGen/SystemZ/call-zos-01.ll
llvm/test/CodeGen/SystemZ/call-zos-i128.ll
llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
llvm/test/CodeGen/SystemZ/zos-landingpad.ll
llvm/test/CodeGen/SystemZ/zos-ppa2.ll
llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
llvm/test/MC/GOFF/ppa1.ll
llvm/unittests/IR/ManglerTest.cpp
Removed:
################################################################################
diff --git a/clang/test/CodeGen/SystemZ/systemz-ppa2.c b/clang/test/CodeGen/SystemZ/systemz-ppa2.c
index 0ff4cba5edfb6c..26b068ff03d539 100644
--- a/clang/test/CodeGen/SystemZ/systemz-ppa2.c
+++ b/clang/test/CodeGen/SystemZ/systemz-ppa2.c
@@ -13,14 +13,14 @@
// REQUIRES: systemz-registered-target
// RUN: %clang_cc1 -triple s390x-ibm-zos -xc -S -o - %s | FileCheck %s --check-prefix CHECK-C
-// CHECK-C: [[PPA2:(.L)|(@@)PPA2]]:
+// CHECK-C: [[PPA2:(.L)|(L#)PPA2]]:
// CHECK-C-NEXT: .byte 3{{[[:space:]]*}}.byte 0
// CHECK-C-NEXT: .byte 34{{$}}
// CHECK-C-NEXT: .byte {{4}}
// CHECK-C-NEXT: .long {{(CELQSTRT)}}-[[PPA2]]
// RUN: %clang_cc1 -triple s390x-ibm-zos -xc++ -S -o - %s | FileCheck %s --check-prefix CHECK-CXX
-// CHECK-CXX: [[PPA2:(.L)|(@@)PPA2]]:
+// CHECK-CXX: [[PPA2:(.L)|(L#)PPA2]]:
// CHECK-CXX-NEXT: .byte 3{{[[:space:]]*}}.byte 1
// CHECK-CXX-NEXT: .byte 34{{$}}
// CHECK-CXX-NEXT: .byte {{4}}
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:
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/call-zos-01.ll b/llvm/test/CodeGen/SystemZ/call-zos-01.ll
index 77776861186ba4..fc7a85caa37eb0 100644
--- a/llvm/test/CodeGen/SystemZ/call-zos-01.ll
+++ b/llvm/test/CodeGen/SystemZ/call-zos-01.ll
@@ -104,7 +104,7 @@ entry:
}
; CHECK-LABEL: call_double:
-; CHECK: larl [[GENREG:[0-9]+]], @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl [[GENREG:[0-9]+]], L#{{CPI[0-9]+_[0-9]+}}
; CHECK-NEXT: ld 0, 0([[GENREG]])
define double @call_double() {
entry:
@@ -113,7 +113,7 @@ entry:
}
; CHECK-LABEL: call_longdouble:
-; CHECK: larl [[GENREG:[0-9]+]], @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl [[GENREG:[0-9]+]], L#{{CPI[0-9]+_[0-9]+}}
; CHECK-NEXT: ld 0, 0([[GENREG]])
; CHECK-NEXT: ld 2, 8([[GENREG]])
define fp128 @call_longdouble() {
@@ -123,7 +123,7 @@ entry:
}
; CHECK-LABEL: call_floats0
-; CHECK: larl [[GENREG:[0-9]+]], @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl [[GENREG:[0-9]+]], L#{{CPI[0-9]+_[0-9]+}}
; CHECK-NEXT: ld 1, 0([[GENREG]])
; CHECK-NEXT: ld 3, 8([[GENREG]])
; CHECK: lxr 5, 0
@@ -146,7 +146,7 @@ entry:
}
; CHECK-LABEL: pass_float:
-; CHECK: larl 1, @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
; CHECK: aeb 0, 0(1)
define float @pass_float(float %arg) {
entry:
@@ -155,7 +155,7 @@ entry:
}
; CHECK-LABEL: pass_double:
-; CHECK: larl 1, @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
; CHECK: adb 0, 0(1)
define double @pass_double(double %arg) {
entry:
@@ -164,7 +164,7 @@ entry:
}
; CHECK-LABEL: pass_longdouble
-; CHECK: larl 1, @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
; CHECK: lxdb 1, 0(1)
; CHECK: axbr 0, 1
define fp128 @pass_longdouble(fp128 %arg) {
@@ -174,7 +174,7 @@ entry:
}
; CHECK-LABEL: pass_floats0
-; CHECK: larl 1, @{{CPI[0-9]+_[0-9]+}}
+; CHECK: larl 1, L#{{CPI[0-9]+_[0-9]+}}
; CHECK: axbr 0, 4
; CHECK: axbr 1, 0
; CHECK: cxbr 1, 5
diff --git a/llvm/test/CodeGen/SystemZ/call-zos-i128.ll b/llvm/test/CodeGen/SystemZ/call-zos-i128.ll
index ccdac161d08a94..775483374a32f3 100644
--- a/llvm/test/CodeGen/SystemZ/call-zos-i128.ll
+++ b/llvm/test/CodeGen/SystemZ/call-zos-i128.ll
@@ -3,10 +3,10 @@
; RUN: llc < %s -mtriple=s390x-ibm-zos -mcpu=z13 | FileCheck %s
; CHECK-LABEL: call_i128:
-; CHECK-DAG: larl 1, @CPI0_0
+; CHECK-DAG: larl 1, L#CPI0_0
; CHECK-DAG: vl 0, 0(1), 3
; CHECK-DAG: vst 0, 2256(4), 3
-; CHECK-DAG: larl 1, @CPI0_1
+; CHECK-DAG: larl 1, L#CPI0_1
; CHECK-DAG: vl 0, 0(1), 3
; CHECK-DAG: vst 0, 2272(4), 3
; CHECK-DAG: la 1, 2288(4)
diff --git a/llvm/test/CodeGen/SystemZ/call-zos-vararg.ll b/llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
index bde59a6be78227..8290dbfe23104f 100644
--- a/llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
+++ b/llvm/test/CodeGen/SystemZ/call-zos-vararg.ll
@@ -108,7 +108,7 @@ define i64 @call_vararg_both0(i64 %arg0, double %arg1) {
; CHECK-LABEL: call_vararg_long_double0:
; CHECK: stmg 6, 7, 1872(4)
; CHECK-NEXT: aghi 4, -192
-; CHECK-NEXT: larl 1, @CPI5_0
+; CHECK-NEXT: larl 1, L#CPI5_0
; CHECK-NEXT: ld 0, 0(1)
; CHECK-NEXT: ld 2, 8(1)
; CHECK-NEXT: lg 6, 8(5)
@@ -202,7 +202,7 @@ define void @call_vec_vararg_test0(<2 x double> %v) {
}
; ARCH12-LABEL: call_vec_vararg_test1
-; ARCH12: larl 1, @CPI10_0
+; ARCH12: larl 1, L#CPI10_0
; ARCH12: vl 0, 0(1), 3
; ARCH12: vlgvg 3, 24, 0
; ARCH12: vrepg 2, 0, 1
@@ -294,7 +294,7 @@ entry:
; CHECK-NEXT: aghi 4, -192
; CHECK-NEXT: lg 6, 72(5)
; CHECK-NEXT: lg 5, 64(5)
-; CHECK-NEXT: larl 1, @CPI17_0
+; CHECK-NEXT: larl 1, L#CPI17_0
; CHECK-NEXT: le 0, 0(1)
; CHECK-NEXT: llihf 0, 1073692672
; CHECK-NEXT: llihh 2, 16384
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
More information about the cfe-commits
mailing list