Skip to content

Commit 506b411

Browse files
committed
Rename indirect to recurse and keep in original file -- invalid for gfx1200. Move fp_all test to fp-nosave since it compiles on both gfx942 and gfx1200.
1 parent 820b9c3 commit 506b411

File tree

2 files changed

+30
-20
lines changed

2 files changed

+30
-20
lines changed

llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-fp-nosave.ll

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,3 +517,28 @@ define amdgpu_cs_chain void @test_call_and_alloca_var(i32 %count) {
517517
store i32 0, ptr addrspace(5) %v, align 4
518518
ret void
519519
}
520+
521+
define amdgpu_cs_chain void @test_fp_all() #0 {
522+
; GFX12-LABEL: test_fp_all:
523+
; GFX12: ; %bb.0:
524+
; GFX12-NEXT: s_wait_loadcnt_dscnt 0x0
525+
; GFX12-NEXT: s_wait_expcnt 0x0
526+
; GFX12-NEXT: s_wait_samplecnt 0x0
527+
; GFX12-NEXT: s_wait_bvhcnt 0x0
528+
; GFX12-NEXT: s_wait_kmcnt 0x0
529+
; GFX12-NEXT: v_mov_b32_e32 v0, 0
530+
; GFX12-NEXT: scratch_store_b32 off, v0, off
531+
; GFX12-NEXT: s_endpgm
532+
;
533+
; GFX942-LABEL: test_fp_all:
534+
; GFX942: ; %bb.0:
535+
; GFX942-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
536+
; GFX942-NEXT: v_mov_b32_e32 v0, 0
537+
; GFX942-NEXT: scratch_store_dword off, v0, off
538+
; GFX942-NEXT: s_endpgm
539+
%v = alloca i32, align 4, addrspace(5)
540+
store i32 0, ptr addrspace(5) %v, align 4
541+
ret void
542+
}
543+
544+
attributes #0 = { "frame-pointer"="all" }

llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-frame-pointer.ll

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
22
; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx942 -O0 -verify-machineinstrs < %s | FileCheck %s
33

4-
define amdgpu_cs_chain void @indirect(ptr %callee) {
5-
; CHECK-LABEL: indirect:
4+
define amdgpu_cs_chain void @recurse(ptr %callee) {
5+
; CHECK-LABEL: recurse:
66
; CHECK: ; %bb.0:
77
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
88
; CHECK-NEXT: s_mov_b32 s32, 16
@@ -26,8 +26,8 @@ define amdgpu_cs_chain void @indirect(ptr %callee) {
2626
; CHECK-NEXT: s_mov_b32 s15, s0
2727
; CHECK-NEXT: v_mov_b32_e32 v31, s0
2828
; CHECK-NEXT: s_getpc_b64 s[0:1]
29-
; CHECK-NEXT: s_add_u32 s0, s0, indirect@gotpcrel32@lo+4
30-
; CHECK-NEXT: s_addc_u32 s1, s1, indirect@gotpcrel32@hi+12
29+
; CHECK-NEXT: s_add_u32 s0, s0, recurse@gotpcrel32@lo+4
30+
; CHECK-NEXT: s_addc_u32 s1, s1, recurse@gotpcrel32@hi+12
3131
; CHECK-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x0
3232
; CHECK-NEXT: s_waitcnt lgkmcnt(0)
3333
; CHECK-NEXT: s_swappc_b64 s[30:31], s[0:1]
@@ -61,24 +61,9 @@ define amdgpu_cs_chain void @indirect(ptr %callee) {
6161
; CHECK-NEXT: s_mov_b64 exec, s[8:9]
6262
; CHECK-NEXT: s_mov_b64 exec, 0
6363
; CHECK-NEXT: s_setpc_b64 s[4:5]
64-
call void @indirect(ptr null)
64+
call void @recurse(ptr null)
6565
call void (ptr, i64, <3 x i32>, { i32, ptr addrspace(5), i32, i32 }, i32, ...) @llvm.amdgcn.cs.chain.p0.i64.v3i32.sl_i32p5i32i32s(ptr null, i64 0, <3 x i32> inreg zeroinitializer, { i32, ptr addrspace(5), i32, i32 } zeroinitializer, i32 0)
6666
unreachable
6767
}
6868

69-
define amdgpu_cs_chain void @fp_all() #0 {
70-
; CHECK-LABEL: fp_all:
71-
; CHECK: ; %bb.0:
72-
; CHECK-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
73-
; CHECK-NEXT: s_mov_b32 s0, 0
74-
; CHECK-NEXT: v_mov_b32_e32 v0, s0
75-
; CHECK-NEXT: scratch_store_dword off, v0, off
76-
; CHECK-NEXT: s_endpgm
77-
%v = alloca i32, align 4, addrspace(5)
78-
store i32 0, ptr addrspace(5) %v, align 4
79-
ret void
80-
}
81-
82-
attributes #0 = { "frame-pointer"="all" }
83-
8469
declare void @llvm.amdgcn.cs.chain.p0.i64.v3i32.sl_i32p5i32i32s(ptr, i64, <3 x i32>, { i32, ptr addrspace(5), i32, i32 }, i32 immarg, ...)

0 commit comments

Comments
 (0)