1; RUN: llvm-split -o %t %s -j 4 -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; RUN: llvm-dis -o - %t3 | FileCheck --check-prefix=CHECK3 --implicit-check-not=define %s 6 7; CHECK0: define internal void @PrivateHelper1() 8; CHECK0: define amdgpu_kernel void @D 9 10; CHECK1: define internal void @PrivateHelper0() 11; CHECK1: define amdgpu_kernel void @C 12 13; CHECK2: define internal void @OverridableHelper1() 14; CHECK2: define amdgpu_kernel void @B 15 16; CHECK3: define available_externally void @OverridableHelper0() 17; CHECK3: define amdgpu_kernel void @A 18 19define available_externally void @OverridableHelper0() { 20 ret void 21} 22 23define internal void @OverridableHelper1() #0 { 24 ret void 25} 26 27define internal void @PrivateHelper0() { 28 ret void 29} 30 31define internal void @PrivateHelper1() { 32 ret void 33} 34 35define amdgpu_kernel void @A() { 36 call void @OverridableHelper0() 37 ret void 38} 39 40define amdgpu_kernel void @B() { 41 call void @OverridableHelper1() 42 ret void 43} 44 45define amdgpu_kernel void @C() { 46 call void @PrivateHelper0() 47 ret void 48} 49 50define amdgpu_kernel void @D() { 51 call void @PrivateHelper1() 52 ret void 53} 54 55attributes #0 = { nobuiltin } 56