[clang] Fix crashes when passing VLA to va_arg (#119563)
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / barrier-elimination-gfx12.ll
blobd26d406df52201b2d72cdf4c52207e9e98c7be89
1 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
2 ; RUN: llc -global-isel=0 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck %s
3 ; RUN: llc -global-isel=1 -mtriple=amdgcn -mcpu=gfx1200 < %s | FileCheck %s
5 define amdgpu_kernel void @signal_unknown_wgs() {
6 ; CHECK-LABEL: signal_unknown_wgs:
7 ; CHECK:       ; %bb.0:
8 ; CHECK-NEXT:    s_barrier_signal -1
9 ; CHECK-NEXT:    s_endpgm
10   tail call void @llvm.amdgcn.s.barrier.signal(i32 -1)
11   ret void
14 define amdgpu_kernel void @signal_flat_wgs_attr_32_128() #1 {
15 ; CHECK-LABEL: signal_flat_wgs_attr_32_128:
16 ; CHECK:       ; %bb.0:
17 ; CHECK-NEXT:    s_barrier_signal -1
18 ; CHECK-NEXT:    s_endpgm
19   tail call void @llvm.amdgcn.s.barrier.signal(i32 -1)
20   ret void
23 define amdgpu_kernel void @signal_flat_wgs_attr_16_32() #2 {
24 ; CHECK-LABEL: signal_flat_wgs_attr_16_32:
25 ; CHECK:       ; %bb.0:
26 ; CHECK-NEXT:    s_endpgm
27   tail call void @llvm.amdgcn.s.barrier.signal(i32 -1)
28   ret void
32 define amdgpu_kernel void @wait_unknown_wgs() {
33 ; CHECK-LABEL: wait_unknown_wgs:
34 ; CHECK:       ; %bb.0:
35 ; CHECK-NEXT:    s_barrier_wait -1
36 ; CHECK-NEXT:    s_endpgm
37   tail call void @llvm.amdgcn.s.barrier.wait(i16 -1)
38   ret void
41 define amdgpu_kernel void @wait_flat_wgs_attr_32_128() #1 {
42 ; CHECK-LABEL: wait_flat_wgs_attr_32_128:
43 ; CHECK:       ; %bb.0:
44 ; CHECK-NEXT:    s_barrier_wait -1
45 ; CHECK-NEXT:    s_endpgm
46   tail call void @llvm.amdgcn.s.barrier.wait(i16 -1)
47   ret void
50 define amdgpu_kernel void @wait_flat_wgs_attr_16_32() #2 {
51 ; CHECK-LABEL: wait_flat_wgs_attr_16_32:
52 ; CHECK:       ; %bb.0:
53 ; CHECK-NEXT:    ; wave barrier
54 ; CHECK-NEXT:    s_endpgm
55   tail call void @llvm.amdgcn.s.barrier.wait(i16 -1)
56   ret void
59 declare void @llvm.amdgcn.s.barrier.signal(i32 immarg) #0
60 declare void @llvm.amdgcn.s.barrier.wait(i16 immarg) #0
62 attributes #0 = { convergent nounwind }
63 attributes #1 = { nounwind "amdgpu-flat-work-group-size"="32,128" }
64 attributes #2 = { nounwind "amdgpu-flat-work-group-size"="16,32" }