Skip to content

Commit d4aca48

Browse files
committed
AMDGPU: Use ELF mangling in data layout
Closes #95219
1 parent 26eca24 commit d4aca48

File tree

6 files changed

+24
-24
lines changed

6 files changed

+24
-24
lines changed

llvm/lib/TargetParser/TargetDataLayout.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ static std::string computePowerDataLayout(const Triple &T) {
258258
static std::string computeAMDDataLayout(const Triple &TT) {
259259
if (TT.getArch() == Triple::r600) {
260260
// 32-bit pointers.
261-
return "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128"
261+
return "e-m:e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128"
262262
"-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5-G1";
263263
}
264264

@@ -268,7 +268,7 @@ static std::string computeAMDDataLayout(const Triple &TT) {
268268
// (address space 7), and 128-bit non-integral buffer resourcees (address
269269
// space 8) which cannot be non-trivilally accessed by LLVM memory operations
270270
// like getelementptr.
271-
return "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32"
271+
return "e-m:e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32"
272272
"-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256:32-i64:64-"
273273
"v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-"
274274
"v1024:1024-v2048:2048-n32:64-S32-A5-G1-ni:7:8:9";

llvm/test/CodeGen/AMDGPU/global-constant.ll

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,21 @@
1212

1313
; Non-R600 OSes use relocations.
1414
; GCN-DEFAULT: s_getpc_b64 s[[[PC0_LO:[0-9]+]]:[[PC0_HI:[0-9]+]]]
15-
; GCN-DEFAULT: s_add_u32 s{{[0-9]+}}, s[[PC0_LO]], private1@rel32@lo+4
16-
; GCN-DEFAULT: s_addc_u32 s{{[0-9]+}}, s[[PC0_HI]], private1@rel32@hi+12
15+
; GCN-DEFAULT: s_add_u32 s{{[0-9]+}}, s[[PC0_LO]], .Lprivate1@rel32@lo+4
16+
; GCN-DEFAULT: s_addc_u32 s{{[0-9]+}}, s[[PC0_HI]], .Lprivate1@rel32@hi+12
1717
; GCN-DEFAULT: s_getpc_b64 s[[[PC1_LO:[0-9]+]]:[[PC1_HI:[0-9]+]]]
18-
; GCN-DEFAULT: s_add_u32 s{{[0-9]+}}, s[[PC1_LO]], private2@rel32@lo+4
19-
; GCN-DEFAULT: s_addc_u32 s{{[0-9]+}}, s[[PC1_HI]], private2@rel32@hi+12
18+
; GCN-DEFAULT: s_add_u32 s{{[0-9]+}}, s[[PC1_LO]], .Lprivate2@rel32@lo+4
19+
; GCN-DEFAULT: s_addc_u32 s{{[0-9]+}}, s[[PC1_HI]], .Lprivate2@rel32@hi+12
2020

2121
; MESA uses absolute relocations.
22-
; GCN-MESA: s_add_u32 s2, private1@abs32@lo, s4
23-
; GCN-MESA: s_addc_u32 s3, private1@abs32@hi, s5
22+
; GCN-MESA: s_add_u32 s2, .Lprivate1@abs32@lo, s4
23+
; GCN-MESA: s_addc_u32 s3, .Lprivate1@abs32@hi, s5
2424

2525
; PAL uses absolute relocations.
26-
; GCN-PAL: s_add_u32 s2, private1@abs32@lo, s4
27-
; GCN-PAL: s_addc_u32 s3, private1@abs32@hi, s5
28-
; GCN-PAL: s_add_u32 s4, private2@abs32@lo, s4
29-
; GCN-PAL: s_addc_u32 s5, private2@abs32@hi, s5
26+
; GCN-PAL: s_add_u32 s2, .Lprivate1@abs32@lo, s4
27+
; GCN-PAL: s_addc_u32 s3, .Lprivate1@abs32@hi, s5
28+
; GCN-PAL: s_add_u32 s4, .Lprivate2@abs32@lo, s4
29+
; GCN-PAL: s_addc_u32 s5, .Lprivate2@abs32@hi, s5
3030

3131
; R600-LABEL: private_test
3232
define amdgpu_kernel void @private_test(i32 %index, ptr addrspace(1) %out) {

llvm/test/CodeGen/AMDGPU/global-variable-relocs.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
; CHECK-LABEL: private_test:
1616
; CHECK: s_getpc_b64 s[[[PC_LO:[0-9]+]]:[[PC_HI:[0-9]+]]]
17-
; CHECK: s_add_u32 s[[ADDR_LO:[0-9]+]], s[[PC_LO]], private@rel32@lo+8
18-
; CHECK: s_addc_u32 s[[ADDR_HI:[0-9]+]], s[[PC_HI]], private@rel32@hi+16
17+
; CHECK: s_add_u32 s[[ADDR_LO:[0-9]+]], s[[PC_LO]], .Lprivate@rel32@lo+8
18+
; CHECK: s_addc_u32 s[[ADDR_HI:[0-9]+]], s[[PC_HI]], .Lprivate@rel32@hi+16
1919
; CHECK: s_load_dword s{{[0-9]+}}, s[[[ADDR_LO]]:[[ADDR_HI]]]
2020
define amdgpu_kernel void @private_test(ptr addrspace(1) %out) {
2121
%ptr = getelementptr [256 x i32], ptr addrspace(1) @private, i32 0, i32 1
@@ -153,7 +153,7 @@ define amdgpu_kernel void @external_w_init_test(ptr addrspace(1) %out) {
153153
ret void
154154
}
155155

156-
; CHECK: .local private
156+
; CHECK: .local .Lprivate
157157
; CHECK: .local internal
158158
; CHECK: .weak linkonce
159159
; CHECK: .weak weak

llvm/test/CodeGen/AMDGPU/llvm.memcpy.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ define amdgpu_kernel void @test_small_memcpy_i64_global_to_global_align16(ptr ad
315315

316316
; FUNC-LABEL: {{^}}test_memcpy_const_string_align4:
317317
; SI: s_getpc_b64
318-
; SI: s_add_u32 s{{[0-9]+}}, s{{[0-9]+}}, hello.align4@rel32@lo+4
318+
; SI: s_add_u32 s{{[0-9]+}}, s{{[0-9]+}}, .Lhello.align4@rel32@lo+4
319319
; SI: s_addc_u32
320320
; SI-DAG: s_load_dwordx8
321321
; SI-DAG: s_load_dwordx2

llvm/test/CodeGen/AMDGPU/naked-fn-with-frame-pointer.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ declare dso_local void @main()
55

66
define dso_local void @naked() naked "frame-pointer"="all" {
77
; CHECK-LABEL: naked:
8-
; CHECK: naked$local:
9-
; CHECK-NEXT: .type naked$local,@function
8+
; CHECK: .Lnaked$local:
9+
; CHECK-NEXT: .type .Lnaked$local,@function
1010
; CHECK-NEXT: ; %bb.0:
1111
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1212
; CHECK-NEXT: s_getpc_b64 s[16:17]
@@ -19,8 +19,8 @@ define dso_local void @naked() naked "frame-pointer"="all" {
1919

2020
define dso_local void @normal() "frame-pointer"="all" {
2121
; CHECK-LABEL: normal:
22-
; CHECK: normal$local:
23-
; CHECK-NEXT: .type normal$local,@function
22+
; CHECK: .Lnormal$local:
23+
; CHECK-NEXT: .type .Lnormal$local,@function
2424
; CHECK-NEXT: ; %bb.0:
2525
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2626
; CHECK-NEXT: s_mov_b32 s16, s33

llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_generated_funcs.ll.generated.expected

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ define dso_local i32 @main() #0 {
6565

6666
attributes #0 = { noredzone nounwind ssp uwtable "frame-pointer"="all" }
6767
; CHECK-LABEL: check_boundaries:
68-
; CHECK: check_boundaries$local:
69-
; CHECK-NEXT: .type check_boundaries$local,@function
68+
; CHECK: .Lcheck_boundaries$local:
69+
; CHECK-NEXT: .type .Lcheck_boundaries$local,@function
7070
; CHECK-NEXT: .cfi_startproc
7171
; CHECK-NEXT: ; %bb.0:
7272
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
@@ -107,8 +107,8 @@ attributes #0 = { noredzone nounwind ssp uwtable "frame-pointer"="all" }
107107
; CHECK-NEXT: s_setpc_b64 s[30:31]
108108
;
109109
; CHECK-LABEL: main:
110-
; CHECK: main$local:
111-
; CHECK-NEXT: .type main$local,@function
110+
; CHECK: .Lmain$local:
111+
; CHECK-NEXT: .type .Lmain$local,@function
112112
; CHECK-NEXT: .cfi_startproc
113113
; CHECK-NEXT: ; %bb.0:
114114
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)

0 commit comments

Comments
 (0)