summaryrefslogtreecommitdiffstats
path: root/libclc
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2014-10-03 19:49:34 +0000
committerTom Stellard <thomas.stellard@amd.com>2014-10-03 19:49:34 +0000
commitb5064f79efadaef7822be7427a30a6bd273a9d50 (patch)
treeac534cbb11b933c8741dc3463f75ef293fe2d616 /libclc
parent1356ac75d1e99d6f26d198a691f727b23e811c09 (diff)
downloadbcm5719-llvm-b5064f79efadaef7822be7427a30a6bd273a9d50.tar.gz
bcm5719-llvm-b5064f79efadaef7822be7427a30a6bd273a9d50.zip
Implement wait_group_events builtin v2
This is a simple default implemetation which just calls barrier(). v2: - Only call barrier() once. llvm-svn: 219006
Diffstat (limited to 'libclc')
-rw-r--r--libclc/generic/include/clc/async/wait_group_events.h1
-rw-r--r--libclc/generic/include/clc/clc.h1
-rw-r--r--libclc/generic/lib/SOURCES1
-rw-r--r--libclc/generic/lib/async/wait_group_events.cl5
4 files changed, 8 insertions, 0 deletions
diff --git a/libclc/generic/include/clc/async/wait_group_events.h b/libclc/generic/include/clc/async/wait_group_events.h
new file mode 100644
index 00000000000..799efa0a791
--- /dev/null
+++ b/libclc/generic/include/clc/async/wait_group_events.h
@@ -0,0 +1 @@
+void wait_group_events(int num_events, event_t *event_list);
diff --git a/libclc/generic/include/clc/clc.h b/libclc/generic/include/clc/clc.h
index 972255bfe92..53f5b28d4fa 100644
--- a/libclc/generic/include/clc/clc.h
+++ b/libclc/generic/include/clc/clc.h
@@ -138,6 +138,7 @@
/* 6.11.10 Async Copy and Prefetch Functions */
#include <clc/async/prefetch.h>
+#include <clc/async/wait_group_events.h>
/* 6.11.11 Atomic Functions */
#include <clc/atomic/atomic_add.h>
diff --git a/libclc/generic/lib/SOURCES b/libclc/generic/lib/SOURCES
index dad283af112..175221110b8 100644
--- a/libclc/generic/lib/SOURCES
+++ b/libclc/generic/lib/SOURCES
@@ -1,4 +1,5 @@
async/prefetch.cl
+async/wait_group_events.cl
atomic/atomic_xchg.cl
atomic/atomic_impl.ll
cl_khr_global_int32_base_atomics/atom_add.cl
diff --git a/libclc/generic/lib/async/wait_group_events.cl b/libclc/generic/lib/async/wait_group_events.cl
new file mode 100644
index 00000000000..05c9d58db45
--- /dev/null
+++ b/libclc/generic/lib/async/wait_group_events.cl
@@ -0,0 +1,5 @@
+#include <clc/clc.h>
+
+_CLC_DEF void wait_group_events(int num_events, event_t *event_list) {
+ barrier(CLK_LOCAL_MEM_FENCE | CLK_GLOBAL_MEM_FENCE);
+}
OpenPOWER on IntegriCloud