[Mlir-commits] [mlir] [MLIR][Linalg] Fix crash in tileToForallOpImpl for rank-0 ops (PR #189000)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Fri Mar 27 07:04:33 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 3584 tests passed
* 415 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### MLIR
<details>
<summary>MLIR.Dialect/Linalg/tile-to-forall.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir --transform-interpreter -canonicalize -cse -split-input-file -verify-diagnostics | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir' --transform-interpreter -canonicalize -cse -split-input-file -verify-diagnostics
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir:767:56: error: unexpected error: undefined symbol alias id 'rankZeroMap'
# |   %copy = linalg.generic {indexing_maps = [#rankZeroMap, #rankZeroMap], iterator_types = []}
# |                                                        ^
# `-----------------------------
# error: command failed with exit status: 1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir:761:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: @tile_rank_zero_op_no_forall_num_threads
# |                 ^
# | <stdin>:689:40: note: scanning from here
# |  func.func @tile_rank_zero_op_no_forall(%arg0: tensor<i64>) -> tensor<i64> {
# |                                        ^
# | <stdin>:695:34: note: possible intended match here
# |  %tiled_op, %forall_op = transform.structured.tile_using_forall %0 tile_sizes [32] : (!transform.any_op) -> (!transform.any_op, !transform.any_op)
# |                                  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\tile-to-forall.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            684:  } 
# |            685: } 
# |            686:  
# |            687: // ----- 
# |            688: module { 
# |            689:  func.func @tile_rank_zero_op_no_forall(%arg0: tensor<i64>) -> tensor<i64> { 
# | label:761'0                                            X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |            690:  return %arg0 : tensor<i64> 
# | label:761'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            691:  } 
# | label:761'0     ~~~
# |            692:  module attributes {transform.with_named_sequence} { 
# | label:761'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            693:  transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) { 
# | label:761'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            694:  %0 = transform.structured.match ops{["linalg.generic"]} in %arg0 : (!transform.any_op) -> !transform.any_op 
# | label:761'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            695:  %tiled_op, %forall_op = transform.structured.tile_using_forall %0 tile_sizes [32] : (!transform.any_op) -> (!transform.any_op, !transform.any_op) 
# | label:761'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:761'1                                      ?                                                                                                                  possible intended match
# |            696:  transform.yield  
# | label:761'0     ~~~~~~~~~~~~~~~~~~
# |            697:  } 
# | label:761'0     ~~~
# |            698:  } 
# | label:761'0     ~~~
# |            699: } 
# | label:761'0     ~~
# |            700:  
# | label:761'0     ~
# |            701: // ----- 
# | label:761'0     ~~~~~~~~~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the Mlir-commits mailing list