[Mlir-commits] [mlir] [mlir][bufferization] handle exit aliases in buffer-loop-hoisting (PR #226951)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Sep 28 03:58:06 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 9175 tests passed
* 652 tests skipped
* 1 test failed

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

### MLIR
<details>
<summary>MLIR.Dialect/Bufferization/Transforms/buffer-loop-hoisting.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 -buffer-loop-hoisting -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -buffer-loop-hoisting -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir:856:3: error: properties dictionary is missing required attribute: store_before_region
# |   test.store_with_a_loop_region %out attributes {store_before_region = true} {
# |   ^
# `-----------------------------
# error: command failed with exit status: 1
# 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/Bufferization/Transforms/buffer-loop-hoisting.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir:849:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: func @hoist_with_unrelated_loop_effect(
# |                 ^
# | <stdin>:506:41: note: scanning from here
# |  func.func @no_hoist_while_dynamic_size(%arg0: index) -> index {
# |                                         ^
# | <stdin>:529:7: note: possible intended match here
# |  func.func @hoist_sequential_acc_loop(%arg0: index, %arg1: memref<?xindex>) {
# |       ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |            501:  } 
# |            502: } 
# |            503:  
# |            504: // ----- 
# |            505: module { 
# |            506:  func.func @no_hoist_while_dynamic_size(%arg0: index) -> index { 
# | label:849'0                                            {                           search range start (exclusive)
# | label:849'1                                                                        error: no match found in search range
# |            507:  %c0 = arith.constant 0 : index 
# |            508:  %c1 = arith.constant 1 : index 
# |            509:  %0 = scf.while (%arg1 = %c0) : (index) -> memref<?xindex> { 
# |            510:  %2 = arith.addi %arg1, %c1 : index 
# |            511:  %alloc = memref.alloc(%2) : memref<?xindex> 
# |              .
# |              .
# |              .
# |            524: } 
# |            525:  
# |            526: // ----- 
# |            527: // ----- 
# |            528: module { 
# |            529:  func.func @hoist_sequential_acc_loop(%arg0: index, %arg1: memref<?xindex>) { 
# | label:849'2           ?                                                                         possible intended match
# |            530:  %c0 = arith.constant 0 : index 
# |            531:  %c1 = arith.constant 1 : index 
# |            532:  %alloc = memref.alloc() : memref<1xindex> 
# |            533:  acc.loop control(%arg2 : index) = (%c0 : index) to (%arg0 : index) step (%c1 : index) { 
# |            534:  memref.store %arg2, %alloc[%c0] : memref<1xindex> 
# |            535:  %0 = memref.load %alloc[%c0] : memref<1xindex> 
# |            536:  memref.store %0, %arg1[%arg2] : memref<?xindex> 
# |            537:  acc.yield 
# |            538:  } seq  
# |            539:  return 
# |            540:  } 
# |            541: } 
# |            542:  
# | label:849'3      } 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/226951


More information about the Mlir-commits mailing list