[Mlir-commits] [mlir] [MLIR][Affine] Handle cast aliases in fusion dependencies (PR #213413)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sat Aug 1 00:55:24 PDT 2026


github-actions[bot] wrote:

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

* 4001 tests passed
* 444 tests skipped
* 1 test failed

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

### MLIR
<details>
<summary>MLIR.Dialect/Affine/loop-fusion-4.mlir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -allow-unregistered-dialect C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir -pass-pipeline='builtin.module(func.func(affine-loop-fusion{mode=producer}))' -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir --check-prefix=PRODUCER-CONSUMER
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -allow-unregistered-dialect 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' '-pass-pipeline=builtin.module(func.func(affine-loop-fusion{mode=producer}))' -split-input-file
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' --check-prefix=PRODUCER-CONSUMER
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -allow-unregistered-dialect C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir -pass-pipeline='builtin.module(func.func(affine-loop-fusion{compute-tolerance=0.0}))' -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir --check-prefix=ZERO-TOLERANCE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -allow-unregistered-dialect 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' '-pass-pipeline=builtin.module(func.func(affine-loop-fusion{compute-tolerance=0.0}))' -split-input-file
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' --check-prefix=ZERO-TOLERANCE
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -allow-unregistered-dialect C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir -pass-pipeline='builtin.module(func.func(affine-loop-fusion{mode=producer maximal}))' -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir --check-prefix=PRODUCER-CONSUMER-MAXIMAL
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -allow-unregistered-dialect 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' '-pass-pipeline=builtin.module(func.func(affine-loop-fusion{mode=producer maximal}))' -split-input-file
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' --check-prefix=PRODUCER-CONSUMER-MAXIMAL
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -allow-unregistered-dialect C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir -pass-pipeline='builtin.module(func.func(affine-loop-fusion{maximal mode=sibling}))' -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir --check-prefix=SIBLING-MAXIMAL
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -allow-unregistered-dialect 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' '-pass-pipeline=builtin.module(func.func(affine-loop-fusion{maximal mode=sibling}))' -split-input-file
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir' --check-prefix=SIBLING-MAXIMAL
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir:777:27: error: SIBLING-MAXIMAL-NEXT: is not on the line after the previous match
# |  // SIBLING-MAXIMAL-NEXT: affine.load
# |                           ^
# | <stdin>:550:7: note: 'next' match was here
# |  %0 = affine.load %cast[%arg1] : memref<10xf32>
# |       ^
# | <stdin>:547:14: note: previous match ended here
# |  affine.store %1, %alloc[%arg1] : memref<10xf32>
# |              ^
# | <stdin>:548:1: note: non-matching line after previous match is here
# |  }
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Affine\loop-fusion-4.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           542:  %cst = arith.constant 0.000000e+00 : f32 
# |           543:  %cst_1 = arith.constant 1.000000e+00 : f32 
# |           544:  affine.for %arg1 = 0 to 10 { 
# |           545:  %0 = affine.load %cast[%arg1] : memref<10xf32> 
# |           546:  %1 = arith.addf %0, %cst_1 : f32 
# |           547:  affine.store %1, %alloc[%arg1] : memref<10xf32> 
# | next:777'0                 {                                      search range start (exclusive)
# |           548:  } 
# |           549:  affine.for %arg1 = 0 to 10 { 
# |           550:  %0 = affine.load %cast[%arg1] : memref<10xf32> 
# | next:777'1           !~~~~~~~~~~                                 error: match on wrong line
# |           551:  %1 = affine.load %alloc_0[0] : memref<10xf32> 
# |           552:  %2 = arith.addf %0, %1 : f32 
# |           553:  affine.store %2, %alloc_0[0] : memref<10xf32> 
# |           554:  } 
# |           555:  return 
# |             .
# |             .
# |             .
# |           717:  } 
# |           718:  return 
# |           719:  } 
# |           720:  func.func private @escape_other(memref<?xf64>) 
# |           721: } 
# |           722:  
# | next:777'2      } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/213413


More information about the Mlir-commits mailing list