xref: /llvm-project/llvm/test/CodeGen/AMDGPU/kernel_code_t_recurse.ll (revision a699ccbf0c2d4bc5c912e096a8834cf4e04ce98b)
1; RUN: llc -mtriple=amdgcn-mesa-mesa3d < %s | FileCheck %s
2
3; CHECK-LABEL: non_kernel_recursion:
4define void @non_kernel_recursion(i32 %val) #2 {
5  %cmp = icmp eq i32 %val, 0
6  br i1 %cmp, label %ret, label %call
7
8call:
9  %val.sub1 = sub i32 %val, 1
10  call void @non_kernel_recursion(i32 %val.sub1)
11  br label %ret
12
13ret:
14  ret void
15}
16
17; CHECK-LABEL: kernel_caller_recursion:
18; CHECK: .amd_kernel_code_t
19; CHECK: is_dynamic_callstack = 1
20; CHECK: .end_amd_kernel_code_t
21define amdgpu_kernel void @kernel_caller_recursion(i32 %n) #0 {
22  call void @non_kernel_recursion(i32 %n)
23  ret void
24}
25