[Mlir-commits] [mlir] [mlir][func] Account for named attributes without a dialect prefix in `FuncToLLVM` lowering pass (PR #182987)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Feb 25 08:05:56 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 3476 tests passed
* 414 tests skipped
* 4 tests failed
## Failed Tests
(click on a test name to see its output)
### MLIR
<details>
<summary>MLIR.Conversion/FuncToLLVM/convert-funcs.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -convert-func-to-llvm -convert-cf-to-llvm -reconcile-unrealized-casts -split-input-file -verify-diagnostics C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\convert-funcs.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\convert-funcs.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -convert-func-to-llvm -convert-cf-to-llvm -reconcile-unrealized-casts -split-input-file -verify-diagnostics 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\convert-funcs.mlir'
# 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\Conversion\FuncToLLVM\convert-funcs.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\convert-funcs.mlir:65:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: target_cpu = "gfx90a"
# | ^
# | <stdin>:27:25: note: scanning from here
# | llvm.func @target_cpu() attributes {sym_visibility = "private"}
# | ^
# | <stdin>:28:13: note: possible intended match here
# | llvm.func @target_features() attributes {sym_visibility = "private"}
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\convert-funcs.mlir:69:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: target_features = #llvm.target_features<["+sme", "+sve"]>
# | ^
# | <stdin>:28:30: note: scanning from here
# | llvm.func @target_features() attributes {sym_visibility = "private"}
# | ^
# | <stdin>:28:31: note: possible intended match here
# | llvm.func @target_features() attributes {sym_visibility = "private"}
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\convert-funcs.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 22: llvm.return %0 : i32
# | 23: }
# | 24: llvm.func @variadic_func(%arg0: i32, ...) attributes {func.varargs = true} {
# | 25: llvm.return
# | 26: }
# | 27: llvm.func @target_cpu() attributes {sym_visibility = "private"}
# | same:65'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 28: llvm.func @target_features() attributes {sym_visibility = "private"}
# | same:65'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:65'1 ? possible intended match
# | same:69'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:69'1 ? possible intended match
# | 29: }
# | same:69'0 ~~
# | 30:
# | same:69'0 ~
# | 31: // -----
# | same:69'0 ~~~~~~~~~
# | 32: module {
# | same:69'0 ~~~~~~~~~
# | 33: llvm.func @private_callee(%arg0: f32) -> i32 attributes {sym_visibility = "private"} {
# | same:69'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Conversion/FuncToLLVM/emit-c-wrappers-for-external-callers.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -llvm-request-c-wrappers -convert-func-to-llvm C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-callers.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-callers.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -llvm-request-c-wrappers -convert-func-to-llvm 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-callers.mlir'
# 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\Conversion\FuncToLLVM\emit-c-wrappers-for-external-callers.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-callers.mlir:94:15: error: CHECK-NOT: excluded string found in input
# | // CHECK-NOT: llvm.linkage
# | ^
# | <stdin>:115:97: note: found here
# | llvm.func @_mlir_ciface_drop_linkage_attr(%arg0: !llvm.ptr) attributes {llvm.emit_c_interface, llvm.linkage = #llvm.linkage<external>} {
# | ^~~~~~~~~~~~
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-callers.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 110: llvm.func @drop_linkage_attr() -> (!llvm.struct<(ptr, ptr, i64)> {test.returnOne}) attributes {llvm.emit_c_interface, llvm.linkage = #llvm.linkage<external>} {
# | 111: %alloc = memref.alloc() : memref<f32>
# | 112: %0 = builtin.unrealized_conversion_cast %alloc : memref<f32> to !llvm.struct<(ptr, ptr, i64)>
# | 113: llvm.return %0 : !llvm.struct<(ptr, ptr, i64)>
# | 114: }
# | 115: llvm.func @_mlir_ciface_drop_linkage_attr(%arg0: !llvm.ptr) attributes {llvm.emit_c_interface, llvm.linkage = #llvm.linkage<external>} {
# | not:94 !~~~~~~~~~~~ error: no match expected
# | 116: %0 = llvm.call @drop_linkage_attr() : () -> !llvm.struct<(ptr, ptr, i64)>
# | 117: llvm.store %0, %arg0 : !llvm.struct<(ptr, ptr, i64)>, !llvm.ptr
# | 118: llvm.return
# | 119: }
# | 120: }
# | 121:
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Conversion/FuncToLLVM/emit-c-wrappers-for-external-functions.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -llvm-request-c-wrappers -convert-func-to-llvm C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-functions.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-functions.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -llvm-request-c-wrappers -convert-func-to-llvm 'C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-functions.mlir'
# 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\Conversion\FuncToLLVM\emit-c-wrappers-for-external-functions.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-functions.mlir:64:15: error: CHECK-NOT: excluded string found in input
# | // CHECK-NOT: llvm.linkage
# | ^
# | <stdin>:95:90: note: found here
# | llvm.func @_mlir_ciface_drop_linkage_attr(!llvm.ptr) attributes {llvm.emit_c_interface, llvm.linkage = #llvm.linkage<weak>, sym_visibility = "private"}
# | ^~~~~~~~~~~~
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Conversion\FuncToLLVM\emit-c-wrappers-for-external-functions.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 90: %1 = llvm.alloca %0 x !llvm.struct<(ptr, ptr, i64)> : (i64) -> !llvm.ptr
# | 91: llvm.call @_mlir_ciface_drop_linkage_attr(%1) : (!llvm.ptr) -> ()
# | 92: %2 = llvm.load %1 : !llvm.ptr -> !llvm.struct<(ptr, ptr, i64)>
# | 93: llvm.return %2 : !llvm.struct<(ptr, ptr, i64)>
# | 94: }
# | 95: llvm.func @_mlir_ciface_drop_linkage_attr(!llvm.ptr) attributes {llvm.emit_c_interface, llvm.linkage = #llvm.linkage<weak>, sym_visibility = "private"}
# | not:64 !~~~~~~~~~~~ error: no match expected
# | 96: }
# | 97:
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.mlir-opt/async.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe C:\_work\llvm-project\llvm-project\mlir\test\mlir-opt\async.mlir -pass-pipeline="builtin.module(async-to-async-runtime,func.func(async-runtime-ref-counting,async-runtime-ref-counting-opt),convert-async-to-llvm,func.func(convert-linalg-to-loops,convert-scf-to-cf),finalize-memref-to-llvm,func.func(convert-arith-to-llvm),convert-func-to-llvm,reconcile-unrealized-casts)" | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\mlir-opt\async.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\mlir-opt\async.mlir' '-pass-pipeline=builtin.module(async-to-async-runtime,func.func(async-runtime-ref-counting,async-runtime-ref-counting-opt),convert-async-to-llvm,func.func(convert-linalg-to-loops,convert-scf-to-cf),finalize-memref-to-llvm,func.func(convert-arith-to-llvm),convert-func-to-llvm,reconcile-unrealized-casts)'
# 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\mlir-opt\async.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\mlir-opt\async.mlir:6:11: error: CHECK: expected string not found in input
# | // CHECK: llvm.func @async_execute_fn{{.*}}attributes{{.*}}presplitcoroutine
# | ^
# | <stdin>:1:1: note: scanning from here
# | module {
# | ^
# | <stdin>:65:8: note: possible intended match here
# | %48 = llvm.call @async_execute_fn_1(%41, %42, %43, %44, %45, %46, %47) : (!llvm.ptr, !llvm.ptr, i64, i64, i64, i64, !llvm.ptr) -> !llvm.ptr
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\mlir-opt\async.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: module {
# | check:6'0 X~~~~~~~~ error: no match found
# | 2: llvm.func @malloc(i64) -> !llvm.ptr
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3: llvm.func @free(!llvm.ptr)
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 4: llvm.func @aligned_alloc(i64, i64) -> !llvm.ptr
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5: llvm.func @main() {
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~
# | 6: %0 = llvm.mlir.constant(1 : index) : i64
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 60: %43 = llvm.extractvalue %20[2] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 61: %44 = llvm.extractvalue %20[3, 0] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62: %45 = llvm.extractvalue %20[4, 0] : !llvm.struct<(ptr, ptr, i64, array<1 x i64>, array<1 x i64>)>
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 63: %46 = llvm.extractvalue %34[0] : !llvm.struct<(i64, ptr)>
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 64: %47 = llvm.extractvalue %34[1] : !llvm.struct<(i64, ptr)>
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 65: %48 = llvm.call @async_execute_fn_1(%41, %42, %43, %44, %45, %46, %47) : (!llvm.ptr, !llvm.ptr, i64, i64, i64, i64, !llvm.ptr) -> !llvm.ptr
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:6'1 ? possible intended match
# | 66: llvm.call @mlirAsyncRuntimeAwaitToken(%48) : (!llvm.ptr) -> ()
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 67: %49 = llvm.call @mlirAsyncRuntimeIsTokenError(%48) : (!llvm.ptr) -> i1
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 68: llvm.call @mlirAsyncRuntimeDropRef(%48, %3) : (!llvm.ptr, i64) -> ()
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 69: %50 = llvm.xor %49, %2 : i1
# | check:6'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 70: cf.assert %50, "Awaited async operand is in error state"
# | check:6'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/182987
More information about the Mlir-commits
mailing list