[Mlir-commits] [mlir] [mlir][gpu] Fix crash in RemoveDeadValues pass with gpu.launch ops (PR #182711)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Feb 21 15:18:46 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 3471 tests passed
* 414 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### MLIR
<details>
<summary>MLIR.Dialect/GPU/canonicalize.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\GPU\canonicalize.mlir -canonicalize="test-convergence" --split-input-file -allow-unregistered-dialect | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\GPU\canonicalize.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\GPU\canonicalize.mlir' -canonicalize=test-convergence --split-input-file -allow-unregistered-dialect
# 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\GPU\canonicalize.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\GPU\canonicalize.mlir:326:15: error: CHECK-NOT: excluded string found in input
# | // CHECK-NOT: gpu.launch
# | ^
# | <stdin>:207:2: note: found here
# | gpu.launch blocks(%arg0, %arg1, %arg2) in (%arg6 = %0#0, %arg7 = %0#1, %arg8 = %0#2) threads(%arg3, %arg4, %arg5) in (%arg9 = %0#3, %arg10 = %0#4, %arg11 = %0#5) {
# | ^~~~~~~~~~
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\GPU\canonicalize.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 202:
# | 203: // -----
# | 204: module {
# | 205: func.func @gpu_launch_without_side_effects() {
# | 206: %0:6 = "test.test1"() : () -> (index, index, index, index, index, index)
# | 207: gpu.launch blocks(%arg0, %arg1, %arg2) in (%arg6 = %0#0, %arg7 = %0#1, %arg8 = %0#2) threads(%arg3, %arg4, %arg5) in (%arg9 = %0#3, %arg10 = %0#4, %arg11 = %0#5) {
# | not:326 !~~~~~~~~~ error: no match expected
# | 208: gpu.terminator
# | 209: }
# | 210: return
# | 211: }
# | 212: }
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Transforms/remove-dead-values.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\Transforms\remove-dead-values.mlir -remove-dead-values="canonicalize=0" -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Transforms\remove-dead-values.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Transforms\remove-dead-values.mlir' -remove-dead-values=canonicalize=0 -split-input-file
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Transforms\remove-dead-values.mlir:129:3: error: null operand found
# | vector.print %arg0 : i32
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Transforms\remove-dead-values.mlir:129:3: note: see current operation: "vector.print"(<<NULL VALUE>>) <{punctuation = #vector.punctuation<newline>}> : (<<NULL TYPE>>) -> ()
# `-----------------------------
# 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\Transforms\remove-dead-values.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Transforms\remove-dead-values.mlir:124:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: func.func private @clean_func_op_remove_side_effecting_op() {
# | ^
# | <stdin>:53:71: note: scanning from here
# | func.func private @clean_func_op_remove_argument_and_return_value() {
# | ^
# | <stdin>:65:2: note: possible intended match here
# | func.func private @clean_func_op_remove_arguments() -> i32 {
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Transforms\remove-dead-values.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 48: }
# | 49: }
# | 50:
# | 51: // -----
# | 52: module {
# | 53: func.func private @clean_func_op_remove_argument_and_return_value() {
# | label:124'0 X error: no match found
# | 54: return
# | label:124'0 ~~~~~~~~
# | 55: }
# | label:124'0 ~~~
# | 56: func.func @main(%arg0: i32) {
# | label:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 57: call @clean_func_op_remove_argument_and_return_value() : () -> ()
# | label:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 58: return
# | label:124'0 ~~~~~~~~
# | 59: }
# | label:124'0 ~~~
# | 60: }
# | label:124'0 ~~
# | 61:
# | label:124'0 ~
# | 62: // -----
# | label:124'0 ~~~~~~~~~
# | 63: // -----
# | label:124'0 ~~~~~~~~~
# | 64: module {
# | label:124'0 ~~~~~~~~~
# | 65: func.func private @clean_func_op_remove_arguments() -> i32 {
# | label:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:124'1 ? possible intended match
# | 66: %c0_i32 = arith.constant 0 : i32
# | label:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 67: return %c0_i32 : i32
# | label:124'0 ~~~~~~~~~~~~~~~~~~~~~~
# | 68: }
# | label:124'0 ~~~
# | 69: func.func @main(%arg0: memref<i32>, %arg1: i32, %arg2: i32) -> (i32, memref<i32>) {
# | label:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 70: %0 = test.call_on_device @clean_func_op_remove_arguments(), %arg2 : (i32) -> i32
# | label:124'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/182711
More information about the Mlir-commits
mailing list