1 ; RUN: opt -O1 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPT %s 2 ; RUN: opt -O0 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPTNONE %s 3 4 ; OPT-NOT: gvar_unused 5 ; OPTNONE: gvar_unused 6 @gvar_unused = addrspace(1) global i32 undef, align 4 7 8 ; ALL: gvar_used 9 @gvar_used = addrspace(1) global i32 undef, align 4 10 11 ; ALL: define internal fastcc void @func_used_noinline( 12 define fastcc void @func_used_noinline(i32 addrspace(1)* %out, i32 %tid) #1 { 13 entry: 14 store volatile i32 %tid, i32 addrspace(1)* %out 15 ret void 16 } 17 18 ; OPTNONE: define internal fastcc void @func_used_alwaysinline( 19 ; OPT-NOT: @func_used_alwaysinline 20 define fastcc void @func_used_alwaysinline(i32 addrspace(1)* %out, i32 %tid) #2 { 21 entry: 22 store volatile i32 %tid, i32 addrspace(1)* %out 23 ret void 24 } 25 26 ; OPTNONE: define internal void @func_unused( 27 ; OPT-NOT: @func_unused 28 define void @func_unused(i32 addrspace(1)* %out, i32 %tid) #1 { 29 entry: 30 store volatile i32 %tid, i32 addrspace(1)* %out 31 ret void 32 } 33 34 ; ALL: define amdgpu_kernel void @kernel_unused( 35 define amdgpu_kernel void @kernel_unused(i32 addrspace(1)* %out) #1 { 36 entry: 37 store volatile i32 1, i32 addrspace(1)* %out 38 ret void 39 } 40 41 ; ALL: define amdgpu_kernel void @main_kernel() 42 ; ALL: tail call i32 @llvm.amdgcn.workitem.id.x 43 ; ALL: tail call fastcc void @func_used_noinline 44 ; ALL: store volatile 45 ; ALL: ret void 46 define amdgpu_kernel void @main_kernel() { 47 entry: 48 %tid = tail call i32 @llvm.amdgcn.workitem.id.x() 49 tail call fastcc void @func_used_noinline(i32 addrspace(1)* @gvar_used, i32 %tid) 50 tail call fastcc void @func_used_alwaysinline(i32 addrspace(1)* @gvar_used, i32 %tid) 51 ret void 52 } 53 54 declare i32 @llvm.amdgcn.workitem.id.x() #0 55 56 attributes #0 = { nounwind readnone } 57 attributes #1 = { noinline nounwind } 58 attributes #2 = { alwaysinline nounwind } 59