r600: Convert barrier to clc

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewer: Aaron Watry
llvm-svn: 346078
This commit is contained in:
Jan Vesely 2018-11-04 00:35:15 +00:00
parent 35b7ac4c30
commit 2d32cd1585
12 changed files with 10 additions and 35 deletions

View File

@ -1 +0,0 @@
synchronization/barrier_impl.ll

View File

@ -1 +0,0 @@
synchronization/barrier_impl.ll

View File

@ -1 +0,0 @@
synchronization/barrier_impl.ll

View File

@ -1 +0,0 @@
synchronization/barrier_impl.ll

View File

@ -1,6 +1,6 @@
math/fmax.cl
math/fmin.cl
synchronization/barrier_impl.ll
synchronization/barrier.cl
workitem/get_global_offset.cl
workitem/get_group_id.cl
workitem/get_global_size.cl

View File

@ -13,4 +13,3 @@ image/write_imagef.cl
image/write_imagei.cl
image/write_imageui.cl
image/write_image_impl.ll
synchronization/barrier_impl.39.ll

View File

@ -1 +0,0 @@
synchronization/barrier_impl.39.ll

View File

@ -1 +0,0 @@
synchronization/barrier_impl.39.ll

View File

@ -1 +0,0 @@
synchronization/barrier_impl.39.ll

View File

@ -0,0 +1,9 @@
#include <clc/clc.h>
_CLC_DEF void __clc_r600_barrier(void) __asm("llvm.r600.group.barrier");
_CLC_DEF void barrier(uint flags)
{
// We should call mem_fence here, but that is not implemented for r600 yet
__clc_r600_barrier();
}

View File

@ -1,13 +0,0 @@
declare void @llvm.r600.group.barrier() #0
target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64"
define void @barrier(i32 %flags) #1 {
entry:
; We should call mem_fence here, but that is not implemented for r600 yet
tail call void @llvm.r600.group.barrier()
ret void
}
attributes #0 = { nounwind convergent }
attributes #1 = { nounwind convergent alwaysinline }

View File

@ -1,13 +0,0 @@
declare void @llvm.r600.group.barrier() #0
target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5"
define void @barrier(i32 %flags) #1 {
entry:
; We should call mem_fence here, but that is not implemented for r600 yet
tail call void @llvm.r600.group.barrier()
ret void
}
attributes #0 = { nounwind convergent }
attributes #1 = { nounwind convergent alwaysinline }