xref: /llvm-project/llvm/test/tools/llvm-split/AMDGPU/kernels-dependency-duplication.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 share a common helper, that helper should be
7; cloned in all partitions.
8
9; CHECK0-NOT: define
10; CHECK0: define internal void @Helper
11; CHECK0: define amdgpu_kernel void @C
12; CHECK0-NOT: define
13
14; CHECK1-NOT: define
15; CHECK1: define internal void @Helper
16; CHECK1: define amdgpu_kernel void @B
17; CHECK1-NOT: define
18
19; CHECK2-NOT: define
20; CHECK2: define internal void @Helper
21; CHECK2: define amdgpu_kernel void @A
22; CHECK2-NOT: define
23
24define internal void @Helper() {
25  ret void
26}
27
28define amdgpu_kernel void @A() {
29  call void @Helper()
30  ret void
31}
32
33define amdgpu_kernel void @B() {
34  call void @Helper()
35  ret void
36}
37
38define amdgpu_kernel void @C() {
39  call void @Helper()
40  ret void
41}
42