[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