[libclc] r219793 - r600: Use llvm intrinsic to read work dimension information

Jan Vesely jan.vesely at rutgers.edu
Wed Oct 15 08:08:06 PDT 2014


Author: jvesely
Date: Wed Oct 15 10:08:06 2014
New Revision: 219793

URL: http://llvm.org/viewvc/llvm-project?rev=219793&view=rev
Log:
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 at stellard.net>
Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>

Added:
    libclc/trunk/generic/include/clc/workitem/get_work_dim.h
    libclc/trunk/r600/lib/workitem/get_work_dim.ll
Modified:
    libclc/trunk/r600/lib/SOURCES

Added: libclc/trunk/generic/include/clc/workitem/get_work_dim.h
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/generic/include/clc/workitem/get_work_dim.h?rev=219793&view=auto
==============================================================================
--- libclc/trunk/generic/include/clc/workitem/get_work_dim.h (added)
+++ libclc/trunk/generic/include/clc/workitem/get_work_dim.h Wed Oct 15 10:08:06 2014
@@ -0,0 +1 @@
+_CLC_DECL uint get_work_dim();

Modified: libclc/trunk/r600/lib/SOURCES
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/lib/SOURCES?rev=219793&r1=219792&r2=219793&view=diff
==============================================================================
--- libclc/trunk/r600/lib/SOURCES (original)
+++ libclc/trunk/r600/lib/SOURCES Wed Oct 15 10:08:06 2014
@@ -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

Added: libclc/trunk/r600/lib/workitem/get_work_dim.ll
URL: http://llvm.org/viewvc/llvm-project/libclc/trunk/r600/lib/workitem/get_work_dim.ll?rev=219793&view=auto
==============================================================================
--- libclc/trunk/r600/lib/workitem/get_work_dim.ll (added)
+++ libclc/trunk/r600/lib/workitem/get_work_dim.ll Wed Oct 15 10:08:06 2014
@@ -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 }





More information about the cfe-commits mailing list