diff options
author | Jan Vesely <jan.vesely@rutgers.edu> | 2018-11-04 00:35:15 +0000 |
---|---|---|
committer | Jan Vesely <jan.vesely@rutgers.edu> | 2018-11-04 00:35:15 +0000 |
commit | 2d32cd1585ab85296bf1c3a76aeaf5359778489c (patch) | |
tree | 933962f39a3c715d638e76c77f418506d8bb9a4f /libclc/r600 | |
parent | 35b7ac4c30bded319af9c6060b5e4cf80cf29c3a (diff) | |
download | llvm-2d32cd1585ab85296bf1c3a76aeaf5359778489c.zip llvm-2d32cd1585ab85296bf1c3a76aeaf5359778489c.tar.gz llvm-2d32cd1585ab85296bf1c3a76aeaf5359778489c.tar.bz2 |
r600: Convert barrier to clc
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewer: Aaron Watry
llvm-svn: 346078
Diffstat (limited to 'libclc/r600')
-rw-r--r-- | libclc/r600/lib/OVERRIDES_3.9 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/OVERRIDES_4.0 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/OVERRIDES_5.0 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/OVERRIDES_6.0 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/SOURCES | 2 | ||||
-rw-r--r-- | libclc/r600/lib/SOURCES_3.9 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/SOURCES_4.0 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/SOURCES_5.0 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/SOURCES_6.0 | 1 | ||||
-rw-r--r-- | libclc/r600/lib/synchronization/barrier.cl | 9 | ||||
-rw-r--r-- | libclc/r600/lib/synchronization/barrier_impl.39.ll | 13 | ||||
-rw-r--r-- | libclc/r600/lib/synchronization/barrier_impl.ll | 13 |
12 files changed, 10 insertions, 35 deletions
diff --git a/libclc/r600/lib/OVERRIDES_3.9 b/libclc/r600/lib/OVERRIDES_3.9 deleted file mode 100644 index c99f3fc..0000000 --- a/libclc/r600/lib/OVERRIDES_3.9 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.ll diff --git a/libclc/r600/lib/OVERRIDES_4.0 b/libclc/r600/lib/OVERRIDES_4.0 deleted file mode 100644 index c99f3fc..0000000 --- a/libclc/r600/lib/OVERRIDES_4.0 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.ll diff --git a/libclc/r600/lib/OVERRIDES_5.0 b/libclc/r600/lib/OVERRIDES_5.0 deleted file mode 100644 index c99f3fc..0000000 --- a/libclc/r600/lib/OVERRIDES_5.0 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.ll diff --git a/libclc/r600/lib/OVERRIDES_6.0 b/libclc/r600/lib/OVERRIDES_6.0 deleted file mode 100644 index c99f3fc..0000000 --- a/libclc/r600/lib/OVERRIDES_6.0 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.ll diff --git a/libclc/r600/lib/SOURCES b/libclc/r600/lib/SOURCES index b3180ed..4342ac3 100644 --- a/libclc/r600/lib/SOURCES +++ b/libclc/r600/lib/SOURCES @@ -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 diff --git a/libclc/r600/lib/SOURCES_3.9 b/libclc/r600/lib/SOURCES_3.9 index 560a86d..a44a9ce 100644 --- a/libclc/r600/lib/SOURCES_3.9 +++ b/libclc/r600/lib/SOURCES_3.9 @@ -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 diff --git a/libclc/r600/lib/SOURCES_4.0 b/libclc/r600/lib/SOURCES_4.0 deleted file mode 100644 index 3c56d80..0000000 --- a/libclc/r600/lib/SOURCES_4.0 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.39.ll diff --git a/libclc/r600/lib/SOURCES_5.0 b/libclc/r600/lib/SOURCES_5.0 deleted file mode 100644 index 3c56d80..0000000 --- a/libclc/r600/lib/SOURCES_5.0 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.39.ll diff --git a/libclc/r600/lib/SOURCES_6.0 b/libclc/r600/lib/SOURCES_6.0 deleted file mode 100644 index 3c56d80..0000000 --- a/libclc/r600/lib/SOURCES_6.0 +++ /dev/null @@ -1 +0,0 @@ -synchronization/barrier_impl.39.ll diff --git a/libclc/r600/lib/synchronization/barrier.cl b/libclc/r600/lib/synchronization/barrier.cl new file mode 100644 index 0000000..98200e7 --- /dev/null +++ b/libclc/r600/lib/synchronization/barrier.cl @@ -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(); +} diff --git a/libclc/r600/lib/synchronization/barrier_impl.39.ll b/libclc/r600/lib/synchronization/barrier_impl.39.ll deleted file mode 100644 index 3bd3167..0000000 --- a/libclc/r600/lib/synchronization/barrier_impl.39.ll +++ /dev/null @@ -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 } diff --git a/libclc/r600/lib/synchronization/barrier_impl.ll b/libclc/r600/lib/synchronization/barrier_impl.ll deleted file mode 100644 index f1cbc9a..0000000 --- a/libclc/r600/lib/synchronization/barrier_impl.ll +++ /dev/null @@ -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 } |