[Libclc-dev] [PATCH 1/2] amdgcn: Add missing datalayout info to .ll files

Jan Vesely via Libclc-dev libclc-dev at lists.llvm.org
Wed Oct 11 22:49:45 PDT 2017


Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
---
 amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll | 2 ++
 amdgcn/lib/workitem/get_global_size.39.ll                  | 2 ++
 amdgcn/lib/workitem/get_global_size.ll                     | 2 ++
 amdgcn/lib/workitem/get_local_size.39.ll                   | 2 ++
 amdgcn/lib/workitem/get_local_size.ll                      | 2 ++
 amdgcn/lib/workitem/get_num_groups.39.ll                   | 2 ++
 amdgcn/lib/workitem/get_num_groups.ll                      | 2 ++
 7 files changed, 14 insertions(+)

diff --git a/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll b/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
index 7f12556..ec14179 100644
--- a/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
+++ b/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
@@ -1,3 +1,5 @@
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i64 @__clc__sync_fetch_and_min_global_8(i64 addrspace(1)* nocapture %ptr, i64 %value) nounwind alwaysinline {
 entry:
   %0 = atomicrmw volatile min i64 addrspace(1)* %ptr, i64 %value seq_cst
diff --git a/amdgcn/lib/workitem/get_global_size.39.ll b/amdgcn/lib/workitem/get_global_size.39.ll
index d51def3..967d541 100644
--- a/amdgcn/lib/workitem/get_global_size.39.ll
+++ b/amdgcn/lib/workitem/get_global_size.39.ll
@@ -2,6 +2,8 @@ declare i32 @llvm.r600.read.global.size.x() nounwind readnone
 declare i32 @llvm.r600.read.global.size.y() nounwind readnone
 declare i32 @llvm.r600.read.global.size.z() nounwind readnone
 
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i32 @get_global_size(i32 %dim) nounwind readnone alwaysinline {
   switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
 x_dim:
diff --git a/amdgcn/lib/workitem/get_global_size.ll b/amdgcn/lib/workitem/get_global_size.ll
index a516255..3d26d2f 100644
--- a/amdgcn/lib/workitem/get_global_size.ll
+++ b/amdgcn/lib/workitem/get_global_size.ll
@@ -2,6 +2,8 @@ declare i32 @llvm.r600.read.global.size.x() nounwind readnone
 declare i32 @llvm.r600.read.global.size.y() nounwind readnone
 declare i32 @llvm.r600.read.global.size.z() nounwind readnone
 
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i64 @get_global_size(i32 %dim) nounwind readnone alwaysinline {
   switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
 x_dim:
diff --git a/amdgcn/lib/workitem/get_local_size.39.ll b/amdgcn/lib/workitem/get_local_size.39.ll
index 92c6d26..4fe483a 100644
--- a/amdgcn/lib/workitem/get_local_size.39.ll
+++ b/amdgcn/lib/workitem/get_local_size.39.ll
@@ -2,6 +2,8 @@ declare i32 @llvm.r600.read.local.size.x() nounwind readnone
 declare i32 @llvm.r600.read.local.size.y() nounwind readnone
 declare i32 @llvm.r600.read.local.size.z() nounwind readnone
 
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i32 @get_local_size(i32 %dim) nounwind readnone alwaysinline {
   switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
 x_dim:
diff --git a/amdgcn/lib/workitem/get_local_size.ll b/amdgcn/lib/workitem/get_local_size.ll
index a943375..36141f9 100644
--- a/amdgcn/lib/workitem/get_local_size.ll
+++ b/amdgcn/lib/workitem/get_local_size.ll
@@ -2,6 +2,8 @@ declare i32 @llvm.r600.read.local.size.x() nounwind readnone
 declare i32 @llvm.r600.read.local.size.y() nounwind readnone
 declare i32 @llvm.r600.read.local.size.z() nounwind readnone
 
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i64 @get_local_size(i32 %dim) nounwind readnone alwaysinline {
   switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
 x_dim:
diff --git a/amdgcn/lib/workitem/get_num_groups.39.ll b/amdgcn/lib/workitem/get_num_groups.39.ll
index fd5c17c..fc52fdc 100644
--- a/amdgcn/lib/workitem/get_num_groups.39.ll
+++ b/amdgcn/lib/workitem/get_num_groups.39.ll
@@ -2,6 +2,8 @@ declare i32 @llvm.r600.read.ngroups.x() nounwind readnone
 declare i32 @llvm.r600.read.ngroups.y() nounwind readnone
 declare i32 @llvm.r600.read.ngroups.z() nounwind readnone
 
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i32 @get_num_groups(i32 %dim) nounwind readnone alwaysinline {
   switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
 x_dim:
diff --git a/amdgcn/lib/workitem/get_num_groups.ll b/amdgcn/lib/workitem/get_num_groups.ll
index 5b4b1cc..12ec8ea 100644
--- a/amdgcn/lib/workitem/get_num_groups.ll
+++ b/amdgcn/lib/workitem/get_num_groups.ll
@@ -2,6 +2,8 @@ declare i32 @llvm.r600.read.ngroups.x() nounwind readnone
 declare i32 @llvm.r600.read.ngroups.y() nounwind readnone
 declare i32 @llvm.r600.read.ngroups.z() nounwind readnone
 
+target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5: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 i64 @get_num_groups(i32 %dim) nounwind readnone alwaysinline {
   switch i32 %dim, label %default [i32 0, label %x_dim i32 1, label %y_dim i32 2, label %z_dim]
 x_dim:
-- 
2.13.6



More information about the Libclc-dev mailing list