xref: /llvm-project/llvm/test/tools/llvm-split/AMDGPU/kernels-dependencies.ll (revision 43fd244b3d5c08bfd3aad0913b0fe84339842f4e)
1; RUN: llvm-split -o %t %s -j 3 -mtriple amdgcn-amd-amdhsa
2; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s
3; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s
4; RUN: llvm-dis -o - %t2 | FileCheck --check-prefix=CHECK2 %s
5
6; 3 kernels with each their own dependencies should go into 3
7; distinct partitions.
8
9; CHECK0-NOT: define
10; CHECK0: define amdgpu_kernel void @C
11; CHECK0: define internal void @HelperC
12; CHECK0-NOT: define
13
14; CHECK1-NOT: define
15; CHECK1: define amdgpu_kernel void @B
16; CHECK1: define internal void @HelperB
17; CHECK1-NOT: define
18
19; CHECK2-NOT: define
20; CHECK2: define amdgpu_kernel void @A
21; CHECK2: define internal void @HelperA
22; CHECK2-NOT: define
23
24
25define amdgpu_kernel void @A() {
26  call void @HelperA()
27  ret void
28}
29
30define internal void @HelperA() {
31  ret void
32}
33
34define amdgpu_kernel void @B() {
35  call void @HelperB()
36  ret void
37}
38
39define internal void @HelperB() {
40  ret void
41}
42
43define amdgpu_kernel void @C() {
44  call void @HelperC()
45  ret void
46}
47
48define internal void @HelperC() {
49  ret void
50}
51