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