aboutsummaryrefslogtreecommitdiff
path: root/libclc/r600
diff options
context:
space:
mode:
authorJan Vesely <jan.vesely@rutgers.edu>2014-10-15 15:08:06 +0000
committerJan Vesely <jan.vesely@rutgers.edu>2014-10-15 15:08:06 +0000
commit260827caa2cc6845670f8270a9bebd157b267991 (patch)
tree901bc72e55098832185c8adb35f0b442ab0be0c9 /libclc/r600
parent8513d6234d00cae96811fb07fc71e8000839b7ba (diff)
downloadllvm-260827caa2cc6845670f8270a9bebd157b267991.zip
llvm-260827caa2cc6845670f8270a9bebd157b267991.tar.gz
llvm-260827caa2cc6845670f8270a9bebd157b267991.tar.bz2
r600: Use llvm intrinsic to read work dimension information
v2: Fix function declaration Add range metadata to r600 implementation v3: change prefix to AMDGPU Reviewed-by: Tom Stellard <tom@stellard.net> Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu> llvm-svn: 219793
Diffstat (limited to 'libclc/r600')
-rw-r--r--libclc/r600/lib/SOURCES1
-rw-r--r--libclc/r600/lib/workitem/get_work_dim.ll8
2 files changed, 9 insertions, 0 deletions
diff --git a/libclc/r600/lib/SOURCES b/libclc/r600/lib/SOURCES
index ba56605..ef23d83 100644
--- a/libclc/r600/lib/SOURCES
+++ b/libclc/r600/lib/SOURCES
@@ -5,5 +5,6 @@ workitem/get_group_id.ll
workitem/get_local_size.ll
workitem/get_local_id.ll
workitem/get_global_size.ll
+workitem/get_work_dim.ll
synchronization/barrier.cl
synchronization/barrier_impl.ll
diff --git a/libclc/r600/lib/workitem/get_work_dim.ll b/libclc/r600/lib/workitem/get_work_dim.ll
new file mode 100644
index 0000000..b02ef74
--- /dev/null
+++ b/libclc/r600/lib/workitem/get_work_dim.ll
@@ -0,0 +1,8 @@
+declare i32 @llvm.AMDGPU.read.workdim() nounwind readnone
+
+define i32 @get_work_dim() nounwind readnone alwaysinline {
+ %x = call i32 @llvm.AMDGPU.read.workdim() nounwind readnone , !range !0
+ ret i32 %x
+}
+
+!0 = metadata !{ i8 1, i8 2, i8 3 }