[Mlir-commits] [mlir] [mlir][linalg] Fix linalg.select crash with index type operands (PR #179056)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sat Jan 31 09:53:19 PST 2026


github-actions[bot] wrote:

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

* 7439 tests passed
* 600 tests skipped
* 1 test failed

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

### MLIR
<details>
<summary>MLIR.Dialect/Linalg/named-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 -split-input-file -verify-diagnostics /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/named-ops.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/Linalg/named-ops.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -split-input-file -verify-diagnostics /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/named-ops.mlir
# .---command stderr------------
# | <unknown>:0: error: unexpected error: 'arith.select' op operand #0 must be bool-like, but got 'index'
# `-----------------------------
# 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/Linalg/named-ops.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/named-ops.mlir:2724:17: error: CHECK-LABEL: expected string not found in input
# | // CHECK-LABEL: func @select_index
# |                 ^
# | <stdin>:1617:26: note: scanning from here
# |  func.func @select_tensor(%arg0: tensor<4x8x16xi1>, %arg1: tensor<4x8x16xf32>, %arg2: tensor<4x8x16xf32>) -> tensor<4x8x16xf32> {
# |                          ^
# | <stdin>:1703:7: note: possible intended match here
# |  func.func @unpack_implementing_transpose(%arg0: tensor<3x7x5xf32>, %arg1: tensor<3x5x7xf32>) -> tensor<3x5x7xf32> {
# |       ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/named-ops.mlir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |            1612:  } 
# |            1613: } 
# |            1614:  
# |            1615: // ----- 
# |            1616: module { 
# |            1617:  func.func @select_tensor(%arg0: tensor<4x8x16xi1>, %arg1: tensor<4x8x16xf32>, %arg2: tensor<4x8x16xf32>) -> tensor<4x8x16xf32> { 
# | label:2724'0                              X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# |            1618:  %0 = tensor.empty() : tensor<4x8x16xf32> 
# | label:2724'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1619:  %1 = linalg.select ins(%arg0, %arg1, %arg2 : tensor<4x8x16xi1>, tensor<4x8x16xf32>, tensor<4x8x16xf32>) outs(%0 : tensor<4x8x16xf32>) -> tensor<4x8x16xf32> 
# | label:2724'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1620:  return %1 : tensor<4x8x16xf32> 
# | label:2724'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1621:  } 
# | label:2724'0     ~~~
# |            1622: } 
# | label:2724'0     ~~
# |               .
# |               .
# |               .
# |            1698:  } 
# | label:2724'0     ~~~
# |            1699: } 
# | label:2724'0     ~~
# |            1700:  
# | label:2724'0     ~
# |            1701: // ----- 
# | label:2724'0     ~~~~~~~~~
# |            1702: module { 
# | label:2724'0     ~~~~~~~~~
# |            1703:  func.func @unpack_implementing_transpose(%arg0: tensor<3x7x5xf32>, %arg1: tensor<3x5x7xf32>) -> tensor<3x5x7xf32> { 
# | label:2724'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:2724'1           ?                                                                                                               possible intended match
# |            1704:  %unpack = linalg.unpack %arg0 outer_dims_perm = [0, 2, 1] inner_dims_pos = [] inner_tiles = [] into %arg1 : tensor<3x7x5xf32> -> tensor<3x5x7xf32> 
# | label:2724'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1705:  return %unpack : tensor<3x5x7xf32> 
# | label:2724'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            1706:  } 
# | label:2724'0     ~~~
# |            1707: } 
# | label:2724'0     ~~
# |            1708:  
# | label:2724'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/179056


More information about the Mlir-commits mailing list