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

Aaron Watry via Libclc-dev libclc-dev at lists.llvm.org
Sat Oct 14 08:15:54 PDT 2017


On Thu, Oct 12, 2017, 12:49 AM Jan Vesely via Libclc-dev <
libclc-dev at lists.llvm.org> wrote:

> Signed-off-by: Jan Vesely <jan.vesely at rutgers.edu>
>

Acked-by: Aaron Watry <awatry at gmail.com>

> ---
>  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
>
> _______________________________________________
> Libclc-dev mailing list
> Libclc-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/libclc-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/libclc-dev/attachments/20171014/dcfbadc7/attachment-0001.html>


More information about the Libclc-dev mailing list