[Mlir-commits] [mlir] [mlir][linalg] Fix unused output cycle removal (PR #236751)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Oct 29 05:28:33 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 10624 tests passed
* 660 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### MLIR
<details>
<summary>MLIR.Dialect/Linalg/fusion-elementwise-ops.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir -linalg-fuse-elementwise-ops -split-input-file | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir -linalg-fuse-elementwise-ops -split-input-file
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir:665:17: error: CHECK-NEXT: is not on the line after the previous match
# | // CHECK-NEXT: %[[R:.*]]:2 = linalg.generic
# | ^
# | <stdin>:326:2: note: 'next' match was here
# | %1:2 = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel"]} outs(%arg0, %arg1 : tensor<1x8xf64>, tensor<1x8xi32>) {
# | ^
# | <stdin>:320:31: note: previous match ended here
# | func.func @generic_index_op2(%arg0: tensor<1x8xf64>, %arg1: tensor<1x8xi32>) -> tensor<1x8xi32> {
# | ^
# | <stdin>:321:1: note: non-matching line after previous match is here
# | %0 = linalg.generic {indexing_maps = [#map], iterator_types = ["parallel", "parallel"]} outs(%arg0 : tensor<1x8xf64>) {
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 315: // -----
# | 316: #map = affine_map<(d0, d1) -> (d0, d1)>
# | 317: module {
# | 318: func.func private @compute1(f64) -> f64
# | 319: func.func private @compute2(f64, i32) -> i32
# | 320: func.func @generic_index_op2(%arg0: tensor<1x8xf64>, %arg1: tensor<1x8xi32>) -> tensor<1x8xi32> {
# | next:665'0 { search range start (exclusive)
# | 321: %0 = linalg.generic {indexing_maps = [#map], iterator_types = ["parallel", "parallel"]} outs(%arg0 : tensor<1x8xf64>) {
# | 322: ^bb0(%out: f64):
# | 323: %2 = func.call @compute1(%out) : (f64) -> f64
# | 324: linalg.yield %2 : f64
# | 325: } -> tensor<1x8xf64>
# | 326: %1:2 = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel"]} outs(%arg0, %arg1 : tensor<1x8xf64>, tensor<1x8xi32>) {
# | next:665'1 !~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 327: ^bb0(%out: f64, %out_0: i32):
# | 328: %2 = func.call @compute1(%out) : (f64) -> f64
# | 329: %3 = func.call @compute2(%2, %out_0) : (f64, i32) -> i32
# | 330: linalg.yield %2, %3 : f64, i32
# | 331: } -> (tensor<1x8xf64>, tensor<1x8xi32>)
# | 332: return %1#1 : tensor<1x8xi32>
# | 333: }
# | 334: }
# | 335:
# | 336: // -----
# | 337: #map = affine_map<(d0, d1) -> (d0, d1)>
# | 338: #map1 = affine_map<(d0, d1) -> (d0)>
# | 339: module {
# | 340: func.func @no_fuse_constant_with_reduction() -> tensor<3xf32> {
# | next:665'2 } search range end (exclusive)
# | 341: %cst = arith.constant dense<3.000000e+00> : tensor<3x2xf32>
# | 342: %0 = tensor.empty() : tensor<3xf32>
# | 343: %1 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "reduction"]} ins(%cst : tensor<3x2xf32>) outs(%0 : tensor<3xf32>) {
# | 344: ^bb0(%in: f32, %out: f32):
# | 345: %2 = arith.addf %in, %out : f32
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/236751
More information about the Mlir-commits
mailing list