143fd244bSPierre van Houtryve; RUN: llvm-split -o %t %s -j 3 -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 543fd244bSPierre van Houtryve 643fd244bSPierre van Houtryve; 3 kernels use private/internal global variables. 743fd244bSPierre van Houtryve; The GVs should be copied in each partition as needed. 843fd244bSPierre van Houtryve 943fd244bSPierre van Houtryve; CHECK0: @foo = hidden constant ptr poison 1043fd244bSPierre van Houtryve; CHECK0: @bar = hidden constant ptr poison 1143fd244bSPierre van Houtryve; CHECK0: define amdgpu_kernel void @C 1243fd244bSPierre van Houtryve 1343fd244bSPierre van Houtryve; CHECK1: @foo = external hidden constant ptr{{$}} 1443fd244bSPierre van Houtryve; CHECK1: @bar = external hidden constant ptr{{$}} 1543fd244bSPierre van Houtryve; CHECK1: define amdgpu_kernel void @A 1643fd244bSPierre van Houtryve 1743fd244bSPierre van Houtryve; CHECK2: @foo = external hidden constant ptr{{$}} 1843fd244bSPierre van Houtryve; CHECK2: @bar = external hidden constant ptr{{$}} 1943fd244bSPierre van Houtryve; CHECK2: define amdgpu_kernel void @B 2043fd244bSPierre van Houtryve 2143fd244bSPierre van Houtryve@foo = private constant ptr poison 2243fd244bSPierre van Houtryve@bar = internal constant ptr poison 2343fd244bSPierre van Houtryve 2443fd244bSPierre van Houtryvedefine amdgpu_kernel void @A() { 2543fd244bSPierre van Houtryve store i32 42, ptr @foo 2643fd244bSPierre van Houtryve ret void 2743fd244bSPierre van Houtryve} 2843fd244bSPierre van Houtryve 2943fd244bSPierre van Houtryvedefine amdgpu_kernel void @B() { 3043fd244bSPierre van Houtryve store i32 42, ptr @foo 3143fd244bSPierre van Houtryve store i32 42, ptr @bar 3243fd244bSPierre van Houtryve ret void 3343fd244bSPierre van Houtryve} 3443fd244bSPierre van Houtryve 3543fd244bSPierre van Houtryvedefine amdgpu_kernel void @C() { 3643fd244bSPierre van Houtryve store i32 42, ptr @bar 3743fd244bSPierre van Houtryve ret void 3843fd244bSPierre van Houtryve} 39