annotate test/CodeGen/AMDGPU/internalize.ll @ 128:c347d3398279 default tip

fix
author mir3636
date Wed, 06 Dec 2017 14:37:17 +0900
parents 803732b1fca8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
1 ; RUN: opt -O1 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPT %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
2 ; RUN: opt -O0 -S -mtriple=amdgcn-unknown-amdhsa -amdgpu-internalize-symbols < %s | FileCheck -check-prefix=ALL -check-prefix=OPTNONE %s
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
3
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
4 ; OPT-NOT: gvar_unused
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
5 ; OPTNONE: gvar_unused
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
6 @gvar_unused = addrspace(1) global i32 undef, align 4
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
7
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
8 ; ALL: gvar_used
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
9 @gvar_used = addrspace(1) global i32 undef, align 4
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
10
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
11 ; ALL: define internal fastcc void @func_used_noinline(
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
12 define fastcc void @func_used_noinline(i32 addrspace(1)* %out, i32 %tid) #1 {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
13 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
14 store volatile i32 %tid, i32 addrspace(1)* %out
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
15 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
16 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
17
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
18 ; OPTNONE: define internal fastcc void @func_used_alwaysinline(
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
19 ; OPT-NOT: @func_used_alwaysinline
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
20 define fastcc void @func_used_alwaysinline(i32 addrspace(1)* %out, i32 %tid) #2 {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
21 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
22 store volatile i32 %tid, i32 addrspace(1)* %out
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
23 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
24 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
25
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
26 ; OPTNONE: define internal void @func_unused(
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
27 ; OPT-NOT: @func_unused
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
28 define void @func_unused(i32 addrspace(1)* %out, i32 %tid) #1 {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
29 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
30 store volatile i32 %tid, i32 addrspace(1)* %out
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
31 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
32 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
33
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
34 ; ALL: define amdgpu_kernel void @kernel_unused(
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
35 define amdgpu_kernel void @kernel_unused(i32 addrspace(1)* %out) #1 {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
36 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
37 store volatile i32 1, i32 addrspace(1)* %out
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
38 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
39 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
40
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
41 ; ALL: define amdgpu_kernel void @main_kernel()
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
42 ; ALL: tail call i32 @llvm.amdgcn.workitem.id.x
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
43 ; ALL: tail call fastcc void @func_used_noinline
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
44 ; ALL: store volatile
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
45 ; ALL: ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
46 define amdgpu_kernel void @main_kernel() {
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
47 entry:
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
48 %tid = tail call i32 @llvm.amdgcn.workitem.id.x()
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
49 tail call fastcc void @func_used_noinline(i32 addrspace(1)* @gvar_used, i32 %tid)
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
50 tail call fastcc void @func_used_alwaysinline(i32 addrspace(1)* @gvar_used, i32 %tid)
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
51 ret void
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
52 }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
53
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
54 declare i32 @llvm.amdgcn.workitem.id.x() #0
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
55
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
56 attributes #0 = { nounwind readnone }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
57 attributes #1 = { noinline nounwind }
803732b1fca8 LLVM 5.0
kono
parents:
diff changeset
58 attributes #2 = { alwaysinline nounwind }