[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