143fd244bSPierre van Houtryve; RUN: llvm-split -o %t %s -j 4 -mtriple amdgcn-amd-amdhsa 2*9347b66cSPierre van Houtryve; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 --implicit-check-not=define %s 3*9347b66cSPierre van Houtryve; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 --implicit-check-not=define %s 4*9347b66cSPierre van Houtryve; RUN: llvm-dis -o - %t2 | FileCheck --check-prefix=CHECK2 --implicit-check-not=define %s 5*9347b66cSPierre van Houtryve; RUN: llvm-dis -o - %t3 | FileCheck --check-prefix=CHECK3 --implicit-check-not=define %s 643fd244bSPierre van Houtryve 7*9347b66cSPierre van Houtryve; CHECK0: define internal void @PrivateHelper1() 8*9347b66cSPierre van Houtryve; CHECK0: define amdgpu_kernel void @D 943fd244bSPierre van Houtryve 10*9347b66cSPierre van Houtryve; CHECK1: define internal void @PrivateHelper0() 11*9347b66cSPierre van Houtryve; CHECK1: define amdgpu_kernel void @C 1243fd244bSPierre van Houtryve 13*9347b66cSPierre van Houtryve; CHECK2: define internal void @OverridableHelper1() 14*9347b66cSPierre van Houtryve; CHECK2: define amdgpu_kernel void @B 1543fd244bSPierre van Houtryve 16*9347b66cSPierre van Houtryve; CHECK3: define available_externally void @OverridableHelper0() 17*9347b66cSPierre van Houtryve; CHECK3: define amdgpu_kernel void @A 1843fd244bSPierre van Houtryve 1943fd244bSPierre van Houtryvedefine available_externally void @OverridableHelper0() { 2043fd244bSPierre van Houtryve ret void 2143fd244bSPierre van Houtryve} 2243fd244bSPierre van Houtryve 2343fd244bSPierre van Houtryvedefine internal void @OverridableHelper1() #0 { 2443fd244bSPierre van Houtryve ret void 2543fd244bSPierre van Houtryve} 2643fd244bSPierre van Houtryve 2743fd244bSPierre van Houtryvedefine internal void @PrivateHelper0() { 2843fd244bSPierre van Houtryve ret void 2943fd244bSPierre van Houtryve} 3043fd244bSPierre van Houtryve 3143fd244bSPierre van Houtryvedefine internal void @PrivateHelper1() { 3243fd244bSPierre van Houtryve ret void 3343fd244bSPierre van Houtryve} 3443fd244bSPierre van Houtryve 3543fd244bSPierre van Houtryvedefine amdgpu_kernel void @A() { 3643fd244bSPierre van Houtryve call void @OverridableHelper0() 3743fd244bSPierre van Houtryve ret void 3843fd244bSPierre van Houtryve} 3943fd244bSPierre van Houtryve 4043fd244bSPierre van Houtryvedefine amdgpu_kernel void @B() { 4143fd244bSPierre van Houtryve call void @OverridableHelper1() 4243fd244bSPierre van Houtryve ret void 4343fd244bSPierre van Houtryve} 4443fd244bSPierre van Houtryve 4543fd244bSPierre van Houtryvedefine amdgpu_kernel void @C() { 4643fd244bSPierre van Houtryve call void @PrivateHelper0() 4743fd244bSPierre van Houtryve ret void 4843fd244bSPierre van Houtryve} 4943fd244bSPierre van Houtryve 5043fd244bSPierre van Houtryvedefine amdgpu_kernel void @D() { 5143fd244bSPierre van Houtryve call void @PrivateHelper1() 5243fd244bSPierre van Houtryve ret void 5343fd244bSPierre van Houtryve} 5443fd244bSPierre van Houtryve 5543fd244bSPierre van Houtryveattributes #0 = { nobuiltin } 56