annotate test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll @ 146:3fc4d5c3e21e

set tail call flag for code segment in CGCAll
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 23 Dec 2018 19:23:36 +0900
parents 803732b1fca8
children c2174574ed3a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
1 ; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX8 -check-prefix=NOAUTO %s
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
2 ; RUN: llc -march=amdgcn -mattr=+auto-waitcnt-before-barrier -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX8 -check-prefix=AUTO %s
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
3 ; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=NOAUTO %s
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
4 ; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=+auto-waitcnt-before-barrier -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=AUTO %s
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 ; GCN-LABEL: {{^}}test_barrier:
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
7 ; GFX8: buffer_store_dword
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
8 ; GFX9: global_store_dword
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
9 ; NOAUTO: s_waitcnt
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
10 ; AUTO-NOT: s_waitcnt
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 ; GCN: s_barrier
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
12 define amdgpu_kernel void @test_barrier(i32 addrspace(1)* %out, i32 %size) #0 {
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 entry:
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
14 %tmp = call i32 @llvm.amdgcn.workitem.id.x()
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 %tmp1 = getelementptr i32, i32 addrspace(1)* %out, i32 %tmp
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 store i32 %tmp, i32 addrspace(1)* %tmp1
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 call void @llvm.amdgcn.s.barrier()
121
803732b1fca8 LLVM 5.0
kono
parents: 120
diff changeset
18 %tmp3 = sub i32 %size, 1
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 %tmp4 = sub i32 %tmp3, %tmp
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 %tmp5 = getelementptr i32, i32 addrspace(1)* %out, i32 %tmp4
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 %tmp6 = load i32, i32 addrspace(1)* %tmp5
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 store i32 %tmp6, i32 addrspace(1)* %tmp1
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 ret void
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 }
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 declare void @llvm.amdgcn.s.barrier() #1
120
1172e4bd9c6f update 4.0.0
mir3636
parents: 100
diff changeset
27 declare i32 @llvm.amdgcn.workitem.id.x() #2
100
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 attributes #0 = { nounwind }
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 attributes #1 = { convergent nounwind }
7d135dc70f03 LLVM 3.9
Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 attributes #2 = { nounwind readnone }