1; RUN: llvm-split -o %t %s -j 3 -mtriple amdgcn-amd-amdhsa 2; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 --implicit-check-not=define %s 3; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 --implicit-check-not=define %s 4; RUN: llvm-dis -o - %t2 | FileCheck --check-prefix=CHECK2 --implicit-check-not=define %s 5 6; 3 kernels with each their own dependencies should go into 3 7; distinct partitions. The most expensive kernel should be 8; seen first and go into the last partition. 9 10; CHECK0: define amdgpu_kernel void @C 11; CHECK0: define internal void @HelperC 12; CHECK0-NOT: define 13 14; CHECK1: define amdgpu_kernel void @A 15; CHECK1: define internal void @HelperA 16 17; CHECK2: define amdgpu_kernel void @B 18; CHECK2: define internal void @HelperB 19 20define amdgpu_kernel void @A() { 21 call void @HelperA() 22 ret void 23} 24 25define internal void @HelperA() { 26 ret void 27} 28 29define amdgpu_kernel void @B(ptr %x) { 30 store i64 42, ptr %x 31 store i64 43, ptr %x 32 store i64 44, ptr %x 33 call void @HelperB() 34 ret void 35} 36 37define internal void @HelperB() { 38 ret void 39} 40 41define amdgpu_kernel void @C() { 42 call void @HelperC() 43 ret void 44} 45 46define internal void @HelperC() { 47 ret void 48} 49