Files
clang-p2996/llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wave.barrier.ll
Stanislav Mekhanoshin ea91cca593 [AMDGPU] Add wave barrier builtin
The wave barrier represents the discardable barrier. Its main purpose is to
carry convergent attribute, thus preventing illegal CFG optimizations. All lanes
in a wave come to convergence point simultaneously with SIMT, thus no special
instruction is needed in the ISA. The barrier is discarded during code generation.

Differential Revision: https://reviews.llvm.org/D26585

llvm-svn: 287007
2016-11-15 19:00:15 +00:00

17 lines
387 B
LLVM

; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
; GCN-LABEL: {{^}}test_wave_barrier:
; GCN-DAG: ; wave barrier
; GCN-NOT: s_barrier
define void @test_wave_barrier() #0 {
entry:
call void @llvm.amdgcn.wave.barrier() #1
ret void
}
declare void @llvm.amdgcn.wave.barrier() #1
attributes #0 = { nounwind }
attributes #1 = { convergent nounwind }