[Mlir-commits] [mlir] [mlir][amdgpu] Add tensor load store operations (PR #170918)

LLVM Continuous Integration llvmlistbot at llvm.org
Tue Dec 16 06:14:51 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `mlir-rocm-mi200` running on `mi200-buildbot` while building `mlir` at step 7 "test-build-check-mlir-build-only-check-mlir".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/177/builds/25984

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-build-check-mlir-build-only-check-mlir) failure: test (failure)
******************** TEST 'MLIR :: Integration/GPU/ROCM/gpu-to-hsaco.mlir' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 1
/vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir  | /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt -gpu-kernel-outlining  | /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt -pass-pipeline='builtin.module(gpu.module(strip-debuginfo,convert-gpu-to-rocdl),rocdl-attach-target{chip=gfx906})'  | /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt -gpu-to-llvm -reconcile-unrealized-casts -gpu-module-to-binary  | /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-runner    --shared-libs=/vol/worker/mi200-buildbot/mlir-rocm-mi200/build/lib/libmlir_rocm_runtime.so    --shared-libs=/vol/worker/mi200-buildbot/mlir-rocm-mi200/build/lib/libmlir_runner_utils.so    --entry-point-result=void  | /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/FileCheck /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir
# executed command: /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt /vol/worker/mi200-buildbot/mlir-rocm-mi200/llvm-project/mlir/test/Integration/GPU/ROCM/gpu-to-hsaco.mlir
# executed command: /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt -gpu-kernel-outlining
# executed command: /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt '-pass-pipeline=builtin.module(gpu.module(strip-debuginfo,convert-gpu-to-rocdl),rocdl-attach-target{chip=gfx906})'
# executed command: /vol/worker/mi200-buildbot/mlir-rocm-mi200/build/bin/mlir-opt -gpu-to-llvm -reconcile-unrealized-casts -gpu-module-to-binary
# .---command stderr------------
# | <stdin>:11:12: error: LLVM Translation failed for operation: builtin.unrealized_conversion_cast
# |       %0 = builtin.unrealized_conversion_cast %arg1, %arg2, %arg3, %arg4, %arg5 : !llvm.ptr, !llvm.ptr, i64, i64, i64 to !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# |            ^
# | <stdin>:11:12: note: see current operation: %0 = "builtin.unrealized_conversion_cast"(%arg1, %arg2, %arg3, %arg4, %arg5) : (!llvm.ptr, !llvm.ptr, i64, i64, i64) -> !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# | <stdin>:9:3: error: Failed creating the llvm::Module.
# |   gpu.module @other_func_kernel [#rocdl.target<chip = "gfx906">] attributes {llvm.data_layout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256: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-S32-A5-G1-ni:7:8:9"} {
# |   ^
# | <stdin>:9:3: note: see current operation: 
# | "gpu.module"() <{sym_name = "other_func_kernel", targets = [#rocdl.target<chip = "gfx906">]}> ({
# |   "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (f32, ptr, ptr, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "other_func_kernel", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
# |   ^bb0(%arg0: f32, %arg1: !llvm.ptr, %arg2: !llvm.ptr, %arg3: i64, %arg4: i64, %arg5: i64):
# |     %0 = "builtin.unrealized_conversion_cast"(%arg1, %arg2, %arg3, %arg4, %arg5) : (!llvm.ptr, !llvm.ptr, i64, i64, i64) -> !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# |     %1 = "rocdl.workitem.id.x"() : () -> i32
# |     %2 = "llvm.sext"(%1) : (i32) -> i64
# |     %3 = "llvm.extractvalue"(%0) <{position = array<i64: 1>}> : (!llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>) -> !llvm.ptr
# |     %4 = "llvm.getelementptr"(%3, %2) <{elem_type = f32, noWrapFlags = 7 : i32, rawConstantIndices = array<i32: -2147483648>}> : (!llvm.ptr, i64) -> !llvm.ptr
# |     "llvm.store"(%arg0, %4) <{ordering = 0 : i64}> : (f32, !llvm.ptr) -> ()
# |     "llvm.return"() : () -> ()
# |   }) {gpu.kernel, gpu.known_grid_size = array<i32: 1, 1, 1>, rocdl.kernel} : () -> ()
# | }) {llvm.data_layout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256: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-S32-A5-G1-ni:7:8:9"} : () -> ()
# | <stdin>:9:3: error: An error happened while serializing the module.
# |   gpu.module @other_func_kernel [#rocdl.target<chip = "gfx906">] attributes {llvm.data_layout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256: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-S32-A5-G1-ni:7:8:9"} {
# |   ^
# | <stdin>:9:3: note: see current operation: 
# | "gpu.module"() <{sym_name = "other_func_kernel", targets = [#rocdl.target<chip = "gfx906">]}> ({
# |   "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<void (f32, ptr, ptr, i64, i64, i64)>, linkage = #llvm.linkage<external>, sym_name = "other_func_kernel", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
# |   ^bb0(%arg0: f32, %arg1: !llvm.ptr, %arg2: !llvm.ptr, %arg3: i64, %arg4: i64, %arg5: i64):
# |     %0 = "builtin.unrealized_conversion_cast"(%arg1, %arg2, %arg3, %arg4, %arg5) : (!llvm.ptr, !llvm.ptr, i64, i64, i64) -> !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# |     %1 = "rocdl.workitem.id.x"() : () -> i32
# |     %2 = "llvm.sext"(%1) : (i32) -> i64
# |     %3 = "llvm.extractvalue"(%0) <{position = array<i64: 1>}> : (!llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>) -> !llvm.ptr
# |     %4 = "llvm.getelementptr"(%3, %2) <{elem_type = f32, noWrapFlags = 7 : i32, rawConstantIndices = array<i32: -2147483648>}> : (!llvm.ptr, i64) -> !llvm.ptr
# |     "llvm.store"(%arg0, %4) <{ordering = 0 : i64}> : (f32, !llvm.ptr) -> ()
# |     "llvm.return"() : () -> ()
# |   }) {gpu.kernel, gpu.known_grid_size = array<i32: 1, 1, 1>, rocdl.kernel} : () -> ()
# | }) {llvm.data_layout = "e-p:64:64-p1:64:64-p2:32:32-p3:32:32-p4:64:64-p5:32:32-p6:32:32-p7:160:256:256:32-p8:128:128:128:48-p9:192:256:256: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-S32-A5-G1-ni:7:8:9"} : () -> ()
# `-----------------------------
# error: command failed with exit status: 1
...

```

</details>

https://github.com/llvm/llvm-project/pull/170918


More information about the Mlir-commits mailing list