[Mlir-commits] [mlir] [mlir] Use identity map to construct the memref type as possible (PR #183051)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Tue Feb 24 04:55:12 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 3457 tests passed
* 414 tests skipped
* 18 tests failed
## Failed Tests
(click on a test name to see its output)
### MLIR
<details>
<summary>MLIR.Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir</summary>
```
Exit Code: 3221225501
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -verify-diagnostics -expand-realloc=emit-deallocs=false -ownership-based-buffer-deallocation --buffer-deallocation-simplification -split-input-file C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\OwnershipBasedBufferDeallocation\dealloc-existing-deallocs.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\OwnershipBasedBufferDeallocation\dealloc-existing-deallocs.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -verify-diagnostics -expand-realloc=emit-deallocs=false -ownership-based-buffer-deallocation --buffer-deallocation-simplification -split-input-file 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\OwnershipBasedBufferDeallocation\dealloc-existing-deallocs.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\Dialect\Bufferization\Transforms\OwnershipBasedBufferDeallocation\dealloc-existing-deallocs.mlir'
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\OwnershipBasedBufferDeallocation\dealloc-existing-deallocs.mlir -buffer-deallocation-pipeline --split-input-file > /dev/null
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\OwnershipBasedBufferDeallocation\dealloc-existing-deallocs.mlir' -buffer-deallocation-pipeline --split-input-file
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 560
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\mlir-opt.exe C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\Dialect\\Bufferization\\Transforms\\OwnershipBasedBufferDeallocation\\dealloc-existing-deallocs.mlir -buffer-deallocation-pipeline --split-input-file
# | Exception Code: 0xC000001D
# | #0 0x00007ff68ab8a2f6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x30ca2f6)
# | #1 0x00007ff94dd6bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# | #2 0x00007ff94dd6cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# | #3 0x00007ff94dd6e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# | #4 0x00007ff94dd6e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# | #5 0x00007ff68a30ba4a mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x284ba4a)
# | #6 0x00007ff689bf5a13 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2135a13)
# | #7 0x00007ff68b3bacec mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x38facec)
# | #8 0x00007ff68b3b74a7 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x38f74a7)
# | #9 0x00007ff689f1658b mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x245658b)
# | #10 0x00007ff689f15c02 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2455c02)
# | #11 0x00007ff689f12cca mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2452cca)
# | #12 0x00007ff6898832d7 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x1dc32d7)
# | #13 0x00007ff687e41baf (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x381baf)
# | #14 0x00007ff687e425c6 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3825c6)
# | #15 0x00007ff687e49dc6 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x389dc6)
# | #16 0x00007ff687e494f3 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3894f3)
# | #17 0x00007ff687acf822 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xf822)
# | #18 0x00007ff687acea6a (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xea6a)
# | #19 0x00007ff687e311c0 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3711c0)
# | #20 0x00007ff687e30de1 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x370de1)
# | #21 0x00007ff687ac358e (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x358e)
# | #22 0x00007ff687ac3941 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3941)
# | #23 0x00007ff687ac3cab (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3cab)
# | #24 0x00007ff687ac145a (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x145a)
# | #25 0x00007ff68f460b70 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x79a0b70)
# | #26 0x00007ff955a14cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #27 0x00007ff9601fedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
--
```
</details>
<details>
<summary>MLIR.Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.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\Bufferization\Transforms\one-shot-bufferize-empty-tensor-elimination.mlir -eliminate-empty-tensors -empty-tensor-to-alloc-tensor -one-shot-bufferize="bufferize-function-boundaries" -cse -canonicalize -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-empty-tensor-elimination.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-empty-tensor-elimination.mlir' -eliminate-empty-tensors -empty-tensor-to-alloc-tensor -one-shot-bufferize=bufferize-function-boundaries -cse -canonicalize -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\Bufferization\Transforms\one-shot-bufferize-empty-tensor-elimination.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-empty-tensor-elimination.mlir:27:12: error: CHECK: expected string not found in input
# | // CHECK: %[[SV0_ALLOC:.*]] = memref.subview %[[ALLOC]][0] [%[[sz]]] [1] : memref<?xf32> to memref<?xf32, strided<[1]>>
# | ^
# | <stdin>:9:62: note: scanning from here
# | memref.copy %arg0, %alloc_0 : memref<?xf32> to memref<?xf32>
# | ^
# | <stdin>:9:62: note: with "ALLOC" equal to "alloc_0"
# | memref.copy %arg0, %alloc_0 : memref<?xf32> to memref<?xf32>
# | ^
# | <stdin>:9:62: note: with "sz" equal to "arg1"
# | memref.copy %arg0, %alloc_0 : memref<?xf32> to memref<?xf32>
# | ^
# | <stdin>:12:5: note: possible intended match here
# | %subview_1 = memref.subview %arg0[42] [%arg1] [1] : memref<?xf32> to memref<?xf32, strided<[1], offset: 42>>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-empty-tensor-elimination.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: module {
# | 2: func.func @buffer_forwarding_conflict(%arg0: memref<?xf32>, %arg1: index) -> (memref<?xf32>, memref<?xf32>) {
# | 3: %c0 = arith.constant 0 : index
# | 4: %cst = arith.constant 0.000000e+00 : f32
# | 5: %alloc = memref.alloc(%arg1) {alignment = 64 : i64} : memref<?xf32>
# | 6: linalg.fill ins(%cst : f32) outs(%alloc : memref<?xf32>)
# | 7: %dim = memref.dim %arg0, %c0 : memref<?xf32>
# | 8: %alloc_0 = memref.alloc(%dim) {alignment = 64 : i64} : memref<?xf32>
# | 9: memref.copy %arg0, %alloc_0 : memref<?xf32> to memref<?xf32>
# | check:27'0 X error: no match found
# | check:27'1 with "ALLOC" equal to "alloc_0"
# | check:27'2 with "sz" equal to "arg1"
# | 10: %subview = memref.subview %alloc_0[0] [%arg1] [1] : memref<?xf32> to memref<?xf32>
# | check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: memref.copy %alloc, %subview : memref<?xf32> to memref<?xf32>
# | check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: %subview_1 = memref.subview %arg0[42] [%arg1] [1] : memref<?xf32> to memref<?xf32, strided<[1], offset: 42>>
# | check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:27'3 ? possible intended match
# | 13: memref.copy %alloc, %subview_1 : memref<?xf32> to memref<?xf32, strided<[1], offset: 42>>
# | check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: return %alloc_0, %arg0 : memref<?xf32>, memref<?xf32>
# | check:27'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 15: }
# | check:27'0 ~~~
# | 16: }
# | check:27'0 ~~
# | 17:
# | check:27'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.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\Bufferization\Transforms\one-shot-bufferize-encodings.mlir -one-shot-bufferize="use-encoding-for-memory-space" -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-encodings.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-encodings.mlir' -one-shot-bufferize=use-encoding-for-memory-space -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\Bufferization\Transforms\one-shot-bufferize-encodings.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-encodings.mlir:93:11: error: CHECK: expected string not found in input
# | // CHECK: %[[subview:.+]] = memref.subview %[[alloc_0]][0] [4] [1] : memref<128xf32, 1> to memref<4xf32, strided<[1]>, 1>
# | ^
# | <stdin>:59:94: note: scanning from here
# | memref.copy %1, %alloc_0 : memref<128xf32, strided<[?], offset: ?>, 1> to memref<128xf32, 1>
# | ^
# | <stdin>:59:94: note: with "alloc_0" equal to "alloc_0"
# | memref.copy %1, %alloc_0 : memref<128xf32, strided<[?], offset: ?>, 1> to memref<128xf32, 1>
# | ^
# | <stdin>:60:5: note: possible intended match here
# | %subview = memref.subview %alloc_0[0] [4] [1] : memref<128xf32, 1> to memref<4xf32, 1>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-bufferize-encodings.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 54: %2 = bufferization.to_buffer %arg0 : tensor<128xf32, 1 : i64> to memref<128xf32, strided<[?], offset: ?>, 1>
# | 55: %alloc = memref.alloc() {alignment = 64 : i64} : memref<128xf32, 2>
# | 56: memref.copy %2, %alloc : memref<128xf32, strided<[?], offset: ?>, 1> to memref<128xf32, 2>
# | 57: %3 = bufferization.to_tensor %alloc : memref<128xf32, 2> to tensor<128xf32, 1 : i64>
# | 58: %alloc_0 = memref.alloc() {alignment = 64 : i64} : memref<128xf32, 1>
# | 59: memref.copy %1, %alloc_0 : memref<128xf32, strided<[?], offset: ?>, 1> to memref<128xf32, 1>
# | check:93'0 X error: no match found
# | check:93'1 with "alloc_0" equal to "alloc_0"
# | 60: %subview = memref.subview %alloc_0[0] [4] [1] : memref<128xf32, 1> to memref<4xf32, 1>
# | check:93'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:93'2 ? possible intended match
# | 61: memref.copy %0, %subview : memref<4xf32, strided<[?], offset: ?>, 1> to memref<4xf32, 1>
# | check:93'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62: return %3 : tensor<128xf32, 1 : i64>
# | check:93'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 63: }
# | check:93'0 ~~~
# | 64: }
# | check:93'0 ~~
# | 65:
# | check:93'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-module-bufferize.mlir -one-shot-bufferize="bufferize-function-boundaries=1" -canonicalize -drop-equivalent-buffer-results -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-module-bufferize.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-module-bufferize.mlir' -one-shot-bufferize=bufferize-function-boundaries=1 -canonicalize -drop-equivalent-buffer-results -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\Bufferization\Transforms\one-shot-module-bufferize.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-module-bufferize.mlir:566:15: error: CHECK-DAG: expected string not found in input
# | // CHECK-DAG: %[[CASTED_B:.*]] = memref.cast %[[ALLOC_B]]
# | ^
# | <stdin>:283:28: note: scanning from here
# | %cast = memref.cast %alloc_1 : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | ^
# | <stdin>:283:28: note: with "ALLOC_B" equal to "alloc_1"
# | %cast = memref.cast %alloc_1 : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | ^
# | <stdin>:284:3: note: possible intended match here
# | %cast_4 = memref.cast %alloc_3 : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-module-bufferize.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 278: %alloc_1 = memref.alloc(%dim_0) {alignment = 64 : i64} : memref<?xf32>
# | 279: memref.copy %arg1, %alloc_1 : memref<?xf32> to memref<?xf32>
# | 280: %dim_2 = memref.dim %arg2, %c0 : memref<?xf32, strided<[?], offset: ?>>
# | 281: %alloc_3 = memref.alloc(%dim_2) {alignment = 64 : i64} : memref<?xf32>
# | 282: memref.copy %arg2, %alloc_3 : memref<?xf32, strided<[?], offset: ?>> to memref<?xf32>
# | 283: %cast = memref.cast %alloc_1 : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | dag:566'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | dag:566'1 with "ALLOC_B" equal to "alloc_1"
# | 284: %cast_4 = memref.cast %alloc_3 : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | dag:566'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:566'2 ? possible intended match
# | 285: call @callee(%alloc, %cast, %cast_4) : (memref<?xf32>, memref<?xf32, strided<[?], offset: ?>>, memref<?xf32, strided<[?], offset: ?>>) -> ()
# | dag:566'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 286: return
# | dag:566'0 ~~~~~~~~
# | 287: }
# | dag:566'0 ~~~
# | 288: }
# | dag:566'0 ~~
# | 289:
# | dag:566'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Bufferization/Transforms/one-shot-non-module-bufferize.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\Bufferization\Transforms\one-shot-non-module-bufferize.mlir -allow-unregistered-dialect -pass-pipeline='builtin.module(test.symbol_scope_isolated(test-one-shot-module-bufferize))' -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-non-module-bufferize.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-non-module-bufferize.mlir' -allow-unregistered-dialect '-pass-pipeline=builtin.module(test.symbol_scope_isolated(test-one-shot-module-bufferize))' -split-input-file
# .---command stderr------------
# | Running TestOneShotModuleBufferize on: test.symbol_scope_isolated
# | Running TestOneShotModuleBufferize on: test.symbol_scope_isolated
# `-----------------------------
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-non-module-bufferize.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-non-module-bufferize.mlir:40:17: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: %[[arg0:.*]]: memref<?xf32, #test.memref_layout<"hello">>)
# | ^
# | <stdin>:22:24: note: scanning from here
# | func.func @inner_func(%arg0: memref<?xf32>) -> memref<?xf32> {
# | ^
# | <stdin>:29:13: note: possible intended match here
# | return %0, %2 : memref<?xf32>, memref<?xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Bufferization\Transforms\one-shot-non-module-bufferize.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 17: }
# | 18:
# | 19: // -----
# | 20: module {
# | 21: "test.symbol_scope_isolated"() ({
# | 22: func.func @inner_func(%arg0: memref<?xf32>) -> memref<?xf32> {
# | same:40'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 23: return %arg0 : memref<?xf32>
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 24: }
# | same:40'0 ~~~
# | 25: func.func @outer_func(%arg0: memref<?xf32>) -> (memref<?xf32>, memref<?xf32>) {
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 26: %0 = call @inner_func(%arg0) : (memref<?xf32>) -> memref<?xf32>
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 27: %1 = "test.create_memref_op"() : () -> memref<?xf32>
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 28: %2 = "test.dummy_memref_op"(%1) : (memref<?xf32>) -> memref<?xf32>
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 29: return %0, %2 : memref<?xf32>, memref<?xf32>
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:40'1 ? possible intended match
# | 30: }
# | same:40'0 ~~~
# | 31: "test.finish"() : () -> ()
# | same:40'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 32: }) : () -> ()
# | same:40'0 ~~~~~~~~~~~~~~~
# | 33: }
# | same:40'0 ~~
# | 34:
# | same:40'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Builtin/types.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\Builtin\types.mlir | c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Builtin\types.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Builtin\types.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe'
# 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\Builtin\types.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Builtin\types.mlir:15:11: error: CHECK: expected string not found in input
# | // CHECK: memref<f32, strided<[]>>
# | ^
# | <stdin>:7:62: note: scanning from here
# | func.func private @f6() -> memref<?x?xf32, strided<[42, 1]>>
# | ^
# | <stdin>:9:29: note: possible intended match here
# | func.func private @f8() -> memref<f32, strided<[], offset: ?>>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Builtin\types.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: module {
# | 2: func.func private @f1() -> memref<?x?xf32, strided<[?, ?], offset: ?>>
# | 3: func.func private @f2() -> memref<?x?xf32, strided<[42, 1], offset: 10>>
# | 4: func.func private @f3() -> memref<?x?xf32, strided<[?, 1], offset: 10>>
# | 5: func.func private @f4() -> memref<?x?xf32, strided<[?, 1], offset: ?>>
# | 6: func.func private @f5() -> memref<?x?xf32, strided<[42, 1]>>
# | 7: func.func private @f6() -> memref<?x?xf32, strided<[42, 1]>>
# | check:15'0 X error: no match found
# | 8: func.func private @f7() -> memref<f32>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9: func.func private @f8() -> memref<f32, strided<[], offset: ?>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:15'1 ? possible intended match
# | 10: func.func private @f9() -> memref<?xf32, strided<[-1], offset: ?>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: func.func private @f10() -> memref<f32, strided<[], offset: -1>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: }
# | check:15'0 ~~
# | 13:
# | check:15'0 ~
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Linalg/drop-unit-extent-dims.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\Linalg\drop-unit-extent-dims.mlir -linalg-fold-unit-extent-dims -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir' -linalg-fold-unit-extent-dims -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\Linalg\drop-unit-extent-dims.mlir'
# note: command had no output on stdout or stderr
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir -linalg-fold-unit-extent-dims="use-rank-reducing-slices" -cse -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir --check-prefix=CHECK-SLICES
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir' -linalg-fold-unit-extent-dims=use-rank-reducing-slices -cse -split-input-file
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 560
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\mlir-opt.exe C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\Dialect\\Linalg\\drop-unit-extent-dims.mlir -linalg-fold-unit-extent-dims=use-rank-reducing-slices -cse -split-input-file
# | Exception Code: 0xC000001D
# | #0 0x00007ff68ab8a2f6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x30ca2f6)
# | #1 0x00007ff94dd6bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# | #2 0x00007ff94dd6cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# | #3 0x00007ff94dd6e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# | #4 0x00007ff94dd6e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# | #5 0x00007ff68a2d19e1 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x28119e1)
# | #6 0x00007ff68a2d1f36 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2811f36)
# | #7 0x00007ff68a2d4da7 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2814da7)
# | #8 0x00007ff68a2d4ffb mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2814ffb)
# | #9 0x00007ff689c3bae6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x217bae6)
# | #10 0x00007ff687b04f58 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x44f58)
# | #11 0x00007ff689c3d42d mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x217d42d)
# | #12 0x00007ff689c45580 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2185580)
# | #13 0x00007ff687b0ad23 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x4ad23)
# | #14 0x00007ff68b3bacec mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x38facec)
# | #15 0x00007ff68b3b74a7 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x38f74a7)
# | #16 0x00007ff68a76e333 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2cae333)
# | #17 0x00007ff68a76d54b mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2cad54b)
# | #18 0x00007ff689c43274 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2183274)
# | #19 0x00007ff687e41baf (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x381baf)
# | #20 0x00007ff687e425c6 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3825c6)
# | #21 0x00007ff687e49dc6 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x389dc6)
# | #22 0x00007ff687e494f3 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3894f3)
# | #23 0x00007ff687acf822 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xf822)
# | #24 0x00007ff687acea6a (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xea6a)
# | #25 0x00007ff687e311c0 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3711c0)
# | #26 0x00007ff687e30e39 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x370e39)
# | #27 0x00007ff687ac358e (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x358e)
# | #28 0x00007ff687ac3941 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3941)
# | #29 0x00007ff687ac3cab (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3cab)
# | #30 0x00007ff687ac145a (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x145a)
# | #31 0x00007ff68f460b70 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x79a0b70)
# | #32 0x00007ff955a14cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #33 0x00007ff9601fedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir' --check-prefix=CHECK-SLICES
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir:986:24: error: CHECK-SLICES-LABEL: expected string not found in input
# | // CHECK-SLICES-LABEL: func @drop_unit_pad_dims
# | ^
# | <stdin>:77:27: note: scanning from here
# | func.func @drop_all_loops(%arg0: tensor<1x1xf32>) -> tensor<1x1xf32> {
# | ^
# | <stdin>:152:7: note: possible intended match here
# | func.func @fold_unit_dim_tensor_reshape_op(%arg0: tensor<5xf32>) -> tensor<2x5xf32> {
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Linalg\drop-unit-extent-dims.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 72: }
# | 73:
# | 74: // -----
# | 75: #map = affine_map<() -> ()>
# | 76: module {
# | 77: func.func @drop_all_loops(%arg0: tensor<1x1xf32>) -> tensor<1x1xf32> {
# | label:986'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 78: %extracted_slice = tensor.extract_slice %arg0[0, 0] [1, 1] [1, 1] : tensor<1x1xf32> to tensor<f32>
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79: %0 = linalg.generic {indexing_maps = [#map, #map], iterator_types = []} ins(%extracted_slice : tensor<f32>) outs(%extracted_slice : tensor<f32>) {
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 80: ^bb0(%in: f32, %out: f32):
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 81: linalg.yield %in : f32
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 82: } -> tensor<f32>
# | label:986'0 ~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 147:
# | label:986'0 ~
# | 148: // -----
# | label:986'0 ~~~~~~~~~
# | 149: #map = affine_map<(d0, d1) -> (d1)>
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 150: #map1 = affine_map<(d0, d1) -> (d0, d1)>
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 151: module {
# | label:986'0 ~~~~~~~~~
# | 152: func.func @fold_unit_dim_tensor_reshape_op(%arg0: tensor<5xf32>) -> tensor<2x5xf32> {
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | label:986'1 ? possible intended match
# | 153: %0 = tensor.empty() : tensor<1x2x5xf32>
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 154: %1 = tensor.empty() : tensor<2x5xf32>
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 155: %2 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["parallel", "parallel"]} ins(%arg0 : tensor<5xf32>) outs(%1 : tensor<2x5xf32>) {
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 156: ^bb0(%in: f32, %out: f32):
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 157: linalg.yield %in : f32
# | label:986'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/MemRef/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\MemRef\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\MemRef\canonicalize.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\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\MemRef\canonicalize.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\canonicalize.mlir:1301:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: memref<8x?xf32> to memref<?xf32, strided<[1]>>
# | ^
# | <stdin>:731:57: note: scanning from here
# | %subview = memref.subview %arg0[0, 0] [1, %arg1] [1, 1] : memref<8x?xf32> to memref<?xf32>
# | ^
# | <stdin>:732:31: note: possible intended match here
# | %cast = memref.cast %subview : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\canonicalize.mlir:1319:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: %[[m:.*]]: memref<?xf32, strided<[1]>, 3>
# | ^
# | <stdin>:746:42: note: scanning from here
# | func.func @collapse_expand_fold_to_cast(%arg0: memref<?xf32, 3>, %arg1: index) -> memref<?xf32, 3> {
# | ^
# | <stdin>:747:9: note: possible intended match here
# | return %arg0 : memref<?xf32, 3>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\canonicalize.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 726: }
# | 727:
# | 728: // -----
# | 729: module {
# | 730: func.func @canonicalize_rank_reduced_subview(%arg0: memref<8x?xf32>, %arg1: index) -> memref<?xf32, strided<[?], offset: ?>> {
# | 731: %subview = memref.subview %arg0[0, 0] [1, %arg1] [1, 1] : memref<8x?xf32> to memref<?xf32>
# | same:1301'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 732: %cast = memref.cast %subview : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | same:1301'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:1301'1 ? possible intended match
# | 733: return %cast : memref<?xf32, strided<[?], offset: ?>>
# | same:1301'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 734: }
# | same:1301'0 ~~~
# | 735: }
# | same:1301'0 ~~
# | 736:
# | same:1301'0 ~
# | 737: // -----
# | same:1301'0 ~~~~~~~~~
# | .
# | .
# | .
# | 741: }
# | 742: }
# | 743:
# | 744: // -----
# | 745: module {
# | 746: func.func @collapse_expand_fold_to_cast(%arg0: memref<?xf32, 3>, %arg1: index) -> memref<?xf32, 3> {
# | same:1319'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 747: return %arg0 : memref<?xf32, 3>
# | same:1319'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | same:1319'1 ? possible intended match
# | 748: }
# | same:1319'0 ~~~
# | 749: }
# | same:1319'0 ~~
# | 750:
# | same:1319'0 ~
# | 751: // -----
# | same:1319'0 ~~~~~~~~~
# | 752: module {
# | same:1319'0 ~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/MemRef/flatten_memref.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe --flatten-memref C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir --split-input-file --verify-diagnostics | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' --flatten-memref 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir' --split-input-file --verify-diagnostics
# 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\MemRef\flatten_memref.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir:113:11: error: CHECK: expected string not found in input
# | // CHECK: vector.load %[[REINT]][%[[IDX]]] : memref<21xi2, strided<[1]>>, vector<3xi2>
# | ^
# | <stdin>:84:45: note: scanning from here
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:84:45: note: with "REINT" equal to "reinterpret_cast"
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:84:45: note: with "IDX" equal to "0"
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:85:24: note: possible intended match here
# | %1 = vector.load %reinterpret_cast[%0] : memref<21xi2>, vector<3xi2>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir:127:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: vector.store %[[ARG1]], %[[REINT]][%[[C10]]] : memref<21xi2, strided<[1]>
# | ^
# | <stdin>:94:45: note: scanning from here
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:94:45: note: with "ARG1" equal to "arg1"
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:94:45: note: with "REINT" equal to "reinterpret_cast"
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:94:45: note: with "C10" equal to "c10"
# | %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | ^
# | <stdin>:106:23: note: possible intended match here
# | vector.store %arg1, %reinterpret_cast[%0] : memref<21xi2>, vector<3xi2>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir:258:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: %[[ALLOC:.*]] = memref.alloc() : memref<32xf32, strided<[1]>>
# | ^
# | <stdin>:197:39: note: scanning from here
# | func.func @alloc() -> memref<4x8xf32> {
# | ^
# | <stdin>:198:2: note: possible intended match here
# | %alloc = memref.alloc() : memref<32xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir:269:11: error: CHECK: expected string not found in input
# | // CHECK: %[[ALLOC:.*]] = memref.alloca() : memref<32xf32, strided<[1]>>
# | ^
# | <stdin>:206:40: note: scanning from here
# | func.func @alloca() -> memref<4x8xf32> {
# | ^
# | <stdin>:207:4: note: possible intended match here
# | %alloca = memref.alloca() : memref<32xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir:285:16: error: CHECK-NEXT: expected string not found in input
# | // CHECK-NEXT: %[[ALLOC:.*]] = memref.alloc() : memref<32xf32, strided<[1]>>
# | ^
# | <stdin>:216:34: note: scanning from here
# | %c30 = arith.constant 30 : index
# | ^
# | <stdin>:217:2: note: possible intended match here
# | %alloc = memref.alloc() : memref<32xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\flatten_memref.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 79: // -----
# | 80: #map = affine_map<()[s0, s1] -> (s0 * 7 + s1)>
# | 81: module {
# | 82: func.func @load_vector_from_memref_dynamic(%arg0: memref<3x7xi2>, %arg1: index, %arg2: index) -> vector<3xi2> {
# | 83: %0 = affine.apply #map()[%arg2, %arg1]
# | 84: %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | check:113'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:113'1 with "REINT" equal to "reinterpret_cast"
# | check:113'2 with "IDX" equal to "0"
# | 85: %1 = vector.load %reinterpret_cast[%0] : memref<21xi2>, vector<3xi2>
# | check:113'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:113'3 ? possible intended match
# | 86: return %1 : vector<3xi2>
# | check:113'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 87: }
# | check:113'0 ~~~
# | 88: }
# | check:113'0 ~~
# | 89:
# | check:113'0 ~
# | 90: // -----
# | check:113'0 ~~~~~~~~~
# | 91: module {
# | check:113'0 ~~~~~~~~~
# | 92: func.func @store_vector_to_memref_odd(%arg0: memref<3x7xi2>, %arg1: vector<3xi2>) {
# | check:113'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: %c10 = arith.constant 10 : index
# | 94: %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | next:127'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:127'1 with "ARG1" equal to "arg1"
# | next:127'2 with "REINT" equal to "reinterpret_cast"
# | next:127'3 with "C10" equal to "c10"
# | 95: vector.store %arg1, %reinterpret_cast[%c10] : memref<21xi2>, vector<3xi2>
# | next:127'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 96: return
# | next:127'0 ~~~~~~~~
# | 97: }
# | next:127'0 ~~~
# | 98: }
# | next:127'0 ~~
# | 99:
# | next:127'0 ~
# | 100: // -----
# | next:127'0 ~~~~~~~~~
# | 101: #map = affine_map<()[s0, s1] -> (s0 * 7 + s1)>
# | next:127'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 102: module {
# | next:127'0 ~~~~~~~~~
# | 103: func.func @store_vector_to_memref_dynamic(%arg0: memref<3x7xi2>, %arg1: vector<3xi2>, %arg2: index, %arg3: index) {
# | next:127'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 104: %0 = affine.apply #map()[%arg3, %arg2]
# | next:127'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 105: %reinterpret_cast = memref.reinterpret_cast %arg0 to offset: [0], sizes: [21], strides: [1] : memref<3x7xi2> to memref<21xi2>
# | next:127'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 106: vector.store %arg1, %reinterpret_cast[%0] : memref<21xi2>, vector<3xi2>
# | next:127'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:127'4 ? possible intended match
# | 107: return
# | next:127'0 ~~~~~~~~
# | 108: }
# | next:127'0 ~~~
# | 109: }
# | next:127'0 ~~
# | 110:
# | next:127'0 ~
# | 111: // -----
# | next:127'0 ~~~~~~~~~
# | .
# | .
# | .
# | 192: }
# | 193: }
# | 194:
# | 195: // -----
# | 196: module {
# | 197: func.func @alloc() -> memref<4x8xf32> {
# | next:258'0 X~~ error: no match found
# | 198: %alloc = memref.alloc() : memref<32xf32>
# | next:258'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:258'1 ? possible intended match
# | 199: %reinterpret_cast = memref.reinterpret_cast %alloc to offset: [0], sizes: [4, 8], strides: [8, 1] : memref<32xf32> to memref<4x8xf32>
# | next:258'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 200: return %reinterpret_cast : memref<4x8xf32>
# | next:258'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 201: }
# | next:258'0 ~~~
# | 202: }
# | next:258'0 ~~
# | 203:
# | next:258'0 ~
# | 204: // -----
# | next:258'0 ~~~~~~~~~
# | 205: module {
# | next:258'0 ~~~~~~~~~
# | 206: func.func @alloca() -> memref<4x8xf32> {
# | next:258'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:269'0 X~~ error: no match found
# | 207: %alloca = memref.alloca() : memref<32xf32>
# | check:269'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:269'1 ? possible intended match
# | 208: %reinterpret_cast = memref.reinterpret_cast %alloca to offset: [0], sizes: [4, 8], strides: [8, 1] : memref<32xf32> to memref<4x8xf32>
# | check:269'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 209: return %reinterpret_cast : memref<4x8xf32>
# | check:269'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 210: }
# | check:269'0 ~~~
# | 211: }
# | check:269'0 ~~
# | 212:
# | check:269'0 ~
# | 213: // -----
# | check:269'0 ~~~~~~~~~
# | 214: module {
# | check:269'0 ~~~~~~~~~
# | 215: func.func @chained_alloc_load() -> vector<8xf32> {
# | check:269'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 216: %c30 = arith.constant 30 : index
# | next:285'0 X error: no match found
# | 217: %alloc = memref.alloc() : memref<32xf32>
# | next:285'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:285'1 ? possible intended match
# | 218: %0 = vector.load %alloc[%c30] : memref<32xf32>, vector<8xf32>
# | next:285'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 219: return %0 : vector<8xf32>
# | next:285'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 220: }
# | next:285'0 ~~~
# | 221: }
# | next:285'0 ~~
# | 222:
# | next:285'0 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/MemRef/make-loop-independent.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\MemRef\make-loop-independent.mlir -allow-unregistered-dialect -transform-interpreter -canonicalize -split-input-file -verify-diagnostics | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\make-loop-independent.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\make-loop-independent.mlir' -allow-unregistered-dialect -transform-interpreter -canonicalize -split-input-file -verify-diagnostics
# 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\MemRef\make-loop-independent.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\make-loop-independent.mlir:15:12: error: CHECK: expected string not found in input
# | // CHECK: %[[subview:.*]] = memref.subview %[[alloca]][0] [%[[iv]]] [1] : memref<?xf32> to memref<?xf32, strided<[1]>>
# | ^
# | <stdin>:8:29: note: scanning from here
# | %alloca = memref.alloca(%0) : memref<?xf32>
# | ^
# | <stdin>:8:29: note: with "alloca" equal to "alloca"
# | %alloca = memref.alloca(%0) : memref<?xf32>
# | ^
# | <stdin>:8:29: note: with "iv" equal to "arg3"
# | %alloca = memref.alloca(%0) : memref<?xf32>
# | ^
# | <stdin>:10:2: note: possible intended match here
# | %subview_0 = memref.subview %subview[1] [5] [1] : memref<?xf32> to memref<5xf32, strided<[1], offset: 1>>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\make-loop-independent.mlir:60:12: error: CHECK: expected string not found in input
# | // CHECK: %[[subview:.*]] = memref.subview %[[alloca]][0] [%[[sz]]] [1] : memref<128xf32> to memref<?xf32, strided<[1]>>
# | ^
# | <stdin>:35:45: note: scanning from here
# | %alloca = memref.alloca() : memref<128xf32>
# | ^
# | <stdin>:35:45: note: with "alloca" equal to "alloca"
# | %alloca = memref.alloca() : memref<128xf32>
# | ^
# | <stdin>:35:45: note: with "sz" equal to "0"
# | %alloca = memref.alloca() : memref<128xf32>
# | ^
# | <stdin>:36:5: note: possible intended match here
# | %subview = memref.subview %alloca[0] [%0] [1] : memref<128xf32> to memref<?xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\make-loop-independent.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: #map = affine_map<()[s0] -> (s0 - 1)>
# | 2: module {
# | 3: func.func @make_alloca_loop_independent(%arg0: index, %arg1: index, %arg2: index) {
# | 4: %cst = arith.constant 5.500000e+00 : f32
# | 5: %c0 = arith.constant 0 : index
# | 6: scf.for %arg3 = %arg0 to %arg1 step %arg2 {
# | 7: %0 = affine.apply #map()[%arg1]
# | 8: %alloca = memref.alloca(%0) : memref<?xf32>
# | check:15'0 X~~~~~~~~~~~~~~~~ error: no match found
# | check:15'1 with "alloca" equal to "alloca"
# | check:15'2 with "iv" equal to "arg3"
# | 9: %subview = memref.subview %alloca[0] [%arg3] [1] : memref<?xf32> to memref<?xf32>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 10: %subview_0 = memref.subview %subview[1] [5] [1] : memref<?xf32> to memref<5xf32, strided<[1], offset: 1>>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:15'3 ? possible intended match
# | 11: "test.some_use"(%subview_0) : (memref<5xf32, strided<[1], offset: 1>>) -> ()
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: %1 = "test.another_use"(%subview) : (memref<?xf32>) -> memref<?xf32>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: memref.store %cst, %subview[%c0] : memref<?xf32>
# | check:15'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 14: }
# | check:15'0 ~~~
# | 15: return
# | check:15'0 ~~~~~~~~
# | .
# | .
# | .
# | 30: %cst = arith.constant 5.500000e+00 : f32
# | 31: %c0 = arith.constant 0 : index
# | 32: %c128 = arith.constant 128 : index
# | 33: scf.for %arg1 = %c0 to %c128 step %arg0 {
# | 34: %0 = affine.apply #map(%arg1)
# | 35: %alloca = memref.alloca() : memref<128xf32>
# | check:60'0 X error: no match found
# | check:60'1 with "alloca" equal to "alloca"
# | check:60'2 with "sz" equal to "0"
# | 36: %subview = memref.subview %alloca[0] [%0] [1] : memref<128xf32> to memref<?xf32>
# | check:60'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:60'3 ? possible intended match
# | 37: memref.store %cst, %subview[%c0] : memref<?xf32>
# | check:60'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 38: vector.print %0 : index
# | check:60'0 ~~~~~~~~~~~~~~~~~~~~~~~~~
# | 39: }
# | check:60'0 ~~~
# | 40: return
# | check:60'0 ~~~~~~~~
# | 41: }
# | check:60'0 ~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/MemRef/ops.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\MemRef\ops.mlir | c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\ops.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\ops.mlir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe'
# 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\MemRef\ops.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\ops.mlir:488:16: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: memref<?x42xf32, strided<[42, 1]>> into memref<?xf32, strided<[1]>>
# | ^
# | <stdin>:178:58: note: scanning from here
# | %collapse_shape_4 = memref.collapse_shape %arg3 [[0, 1]] : memref<?x42xf32, strided<[42, 1]>> into memref<?xf32>
# | ^
# | <stdin>:178:61: note: possible intended match here
# | %collapse_shape_4 = memref.collapse_shape %arg3 [[0, 1]] : memref<?x42xf32, strided<[42, 1]>> into memref<?xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\MemRef\ops.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 173: %expand_shape = memref.expand_shape %collapse_shape [[0, 1], [2]] output_shape [%arg4, 4, %arg5] : memref<?x?xf32> into memref<?x4x?xf32>
# | 174: %collapse_shape_0 = memref.collapse_shape %arg1 [[0, 1], [2]] : memref<?x?x?xf32, strided<[?, ?, 1]>> into memref<?x?xf32, strided<[?, 1]>>
# | 175: %expand_shape_1 = memref.expand_shape %collapse_shape_0 [[0, 1], [2]] output_shape [%arg4, 4, %arg5] : memref<?x?xf32, strided<[?, 1]>> into memref<?x4x?xf32, strided<[?, ?, 1]>>
# | 176: %collapse_shape_2 = memref.collapse_shape %arg2 [[0, 1], [2]] : memref<?x?x?xf32, strided<[?, ?, 1], offset: ?>> into memref<?x?xf32, strided<[?, 1], offset: ?>>
# | 177: %expand_shape_3 = memref.expand_shape %collapse_shape_2 [[0, 1], [2]] output_shape [%arg4, 4, %arg5] : memref<?x?xf32, strided<[?, 1], offset: ?>> into memref<?x4x?xf32, strided<[?, ?, 1], offset: ?>>
# | 178: %collapse_shape_4 = memref.collapse_shape %arg3 [[0, 1]] : memref<?x42xf32, strided<[42, 1]>> into memref<?xf32>
# | same:488'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | same:488'1 ? possible intended match
# | 179: %expand_shape_5 = memref.expand_shape %collapse_shape_4 [[0, 1]] output_shape [%arg6, 42] : memref<?xf32> into memref<?x42xf32>
# | same:488'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 180: %expand_shape_6 = memref.expand_shape %arg7 [[0, 1], [2], [3, 4]] output_shape [2, 2, %arg4, 2, 2] : memref<4x?x4xf32> into memref<2x2x?x2x2xf32>
# | same:488'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 181: %collapse_shape_7 = memref.collapse_shape %arg8 [[0, 1], [2], [3]] : memref<1x1x18x?xf32, strided<[?, ?, ?, 1], offset: ?>> into memref<1x18x?xf32, strided<[?, ?, 1], offset: ?>>
# | same:488'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 182: %collapse_shape_8 = memref.collapse_shape %arg9 [[0], [1, 2, 3]] : memref<3x3x1x96xf32, strided<[288, 96, 96, 1], offset: 864>> into memref<3x288xf32, strided<[288, 1], offset: 864>>
# | same:488'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 183: return
# | same:488'0 ~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Tensor/bufferize.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\Tensor\bufferize.mlir --one-shot-bufferize="dialect-filter=tensor,bufferization copy-before-write unknown-type-conversion=identity-layout-map" -cse -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\bufferize.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\bufferize.mlir' '--one-shot-bufferize=dialect-filter=tensor,bufferization copy-before-write unknown-type-conversion=identity-layout-map' -cse -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\Tensor\bufferize.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\bufferize.mlir:496:17: error: CHECK-SAME: expected string not found in input
# | // CHECK-SAME: [0, 1]] : memref<1x1xf32, strided<[2, 1]>> into memref<1xf32, strided<[2]>>
# | ^
# | <stdin>:375:52: note: scanning from here
# | %collapse_shape = memref.collapse_shape %subview [[0, 1]] : memref<1x1xf32, strided<[2, 1]>> into memref<1xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\bufferize.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 370: // -----
# | 371: module {
# | 372: func.func @tensor.collapse_shape_of_slice3(%arg0: tensor<1x2xf32>) -> tensor<1xf32> {
# | 373: %0 = bufferization.to_buffer %arg0 : tensor<1x2xf32> to memref<1x2xf32>
# | 374: %subview = memref.subview %0[0, 0] [1, 1] [1, 1] : memref<1x2xf32> to memref<1x1xf32, strided<[2, 1]>>
# | 375: %collapse_shape = memref.collapse_shape %subview [[0, 1]] : memref<1x1xf32, strided<[2, 1]>> into memref<1xf32>
# | same:496 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 376: %1 = bufferization.to_tensor %collapse_shape : memref<1xf32> to tensor<1xf32>
# | same:496 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 377: return %1 : tensor<1xf32>
# | same:496 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 378: }
# | same:496 ~~~
# | 379: }
# | same:496 ~~
# | 380:
# | same:496 ~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Tensor/one-shot-bufferize.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\Tensor\one-shot-bufferize.mlir -one-shot-bufferize="bufferize-function-boundaries" -drop-equivalent-buffer-results -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\one-shot-bufferize.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\one-shot-bufferize.mlir' -one-shot-bufferize=bufferize-function-boundaries -drop-equivalent-buffer-results -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\Tensor\one-shot-bufferize.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\one-shot-bufferize.mlir:119:12: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[ALLOC]][0] [4] [1] : memref<?xf32> to memref<4xf32, strided<[1]>>
# | ^
# | <stdin>:58:85: note: scanning from here
# | memref.copy %arg0, %alloc : memref<?xf32, strided<[?], offset: ?>> to memref<?xf32>
# | ^
# | <stdin>:58:85: note: with "ALLOC" equal to "alloc"
# | memref.copy %arg0, %alloc : memref<?xf32, strided<[?], offset: ?>> to memref<?xf32>
# | ^
# | <stdin>:59:5: note: possible intended match here
# | %subview = memref.subview %alloc[0] [4] [1] : memref<?xf32> to memref<4xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Tensor\one-shot-bufferize.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 53: module {
# | 54: func.func @insert_slice_fun_not_inplace(%arg0: memref<?xf32, strided<[?], offset: ?>>, %arg1: memref<4xf32, strided<[?], offset: ?>>) -> memref<?xf32> {
# | 55: %c0 = arith.constant 0 : index
# | 56: %dim = memref.dim %arg0, %c0 : memref<?xf32, strided<[?], offset: ?>>
# | 57: %alloc = memref.alloc(%dim) {alignment = 64 : i64} : memref<?xf32>
# | 58: memref.copy %arg0, %alloc : memref<?xf32, strided<[?], offset: ?>> to memref<?xf32>
# | check:119'0 X error: no match found
# | check:119'1 with "ALLOC" equal to "alloc"
# | 59: %subview = memref.subview %alloc[0] [4] [1] : memref<?xf32> to memref<4xf32>
# | check:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:119'2 ? possible intended match
# | 60: memref.copy %arg1, %subview : memref<4xf32, strided<[?], offset: ?>> to memref<4xf32>
# | check:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 61: %cast = memref.cast %alloc : memref<?xf32> to memref<?xf32, strided<[?], offset: ?>>
# | check:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62: return %alloc : memref<?xf32>
# | check:119'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 63: }
# | check:119'0 ~~~
# | 64: }
# | check:119'0 ~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe -split-input-file -transform-preload-library='transform-library-paths=C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector/td/xfer-drop-unit-dims.mlir' -transform-interpreter=entry-point=drop_unit_dims C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -split-input-file '-transform-preload-library=transform-library-paths=C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector/td/xfer-drop-unit-dims.mlir' -transform-interpreter=entry-point=drop_unit_dims 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.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\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:132:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:61:42: note: scanning from here
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:61:42: note: with "MEM" equal to "arg0"
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:62:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:149:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:68:42: note: scanning from here
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:68:42: note: with "MEM" equal to "arg0"
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:69:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:164:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:75:42: note: scanning from here
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:75:42: note: with "MEM" equal to "arg0"
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:76:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:181:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:82:42: note: scanning from here
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:82:42: note: with "MEM" equal to "arg0"
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | <stdin>:83:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:440:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:219:118: note: scanning from here
# | func.func @contiguous_inner_most_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | ^
# | <stdin>:219:118: note: with "MEM" equal to "arg0"
# | func.func @contiguous_inner_most_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | ^
# | <stdin>:220:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:456:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:225:122: note: scanning from here
# | func.func @contiguous_inner_most_zero_idx_out_of_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | ^
# | <stdin>:225:122: note: with "MEM" equal to "arg0"
# | func.func @contiguous_inner_most_zero_idx_out_of_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | ^
# | <stdin>:226:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:470:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:231:126: note: scanning from here
# | func.func @contiguous_inner_most_dim_non_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | ^
# | <stdin>:231:126: note: with "MEM" equal to "arg0"
# | func.func @contiguous_inner_most_dim_non_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | ^
# | <stdin>:232:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir:486:11: error: CHECK: expected string not found in input
# | // CHECK: %[[SV:.*]] = memref.subview %[[MEM]][0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32, strided<[1]>>
# | ^
# | <stdin>:237:133: note: scanning from here
# | func.func @contiguous_inner_most_non_zero_idx_in_bounds_scalable(%arg0: memref<16x1xf32>, %arg1: vector<[8]x1xf32>, %arg2: index) {
# | ^
# | <stdin>:237:133: note: with "MEM" equal to "arg0"
# | func.func @contiguous_inner_most_non_zero_idx_in_bounds_scalable(%arg0: memref<16x1xf32>, %arg1: vector<[8]x1xf32>, %arg2: index) {
# | ^
# | <stdin>:238:5: note: possible intended match here
# | %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-collapse-inner-most-dims.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 56: }
# | 57:
# | 58: // -----
# | 59: module {
# | 60: func.func @contiguous_inner_most_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: index) -> vector<8x1xf32> {
# | 61: %cst = arith.constant 0.000000e+00 : f32
# | check:132'0 X error: no match found
# | check:132'1 with "MEM" equal to "arg0"
# | 62: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:132'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:132'2 ? possible intended match
# | 63: %0 = vector.transfer_read %subview[%arg1], %cst {in_bounds = [true]} : memref<16xf32>, vector<8xf32>
# | check:132'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 64: %1 = vector.shape_cast %0 : vector<8xf32> to vector<8x1xf32>
# | check:132'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 65: return %1 : vector<8x1xf32>
# | check:132'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 66: }
# | check:132'0 ~~~
# | 67: func.func @contiguous_inner_most_zero_idx_out_of_bounds(%arg0: memref<16x1xf32>, %arg1: index) -> vector<8x1xf32> {
# | check:132'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 68: %cst = arith.constant 0.000000e+00 : f32
# | check:149'0 X error: no match found
# | check:149'1 with "MEM" equal to "arg0"
# | 69: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:149'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:149'2 ? possible intended match
# | 70: %0 = vector.transfer_read %subview[%arg1], %cst {in_bounds = [true]} : memref<16xf32>, vector<8xf32>
# | check:149'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 71: %1 = vector.shape_cast %0 : vector<8xf32> to vector<8x1xf32>
# | check:149'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 72: return %1 : vector<8x1xf32>
# | check:149'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 73: }
# | check:149'0 ~~~
# | 74: func.func @contiguous_inner_most_non_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: index) -> vector<8x1xf32> {
# | check:149'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 75: %cst = arith.constant 0.000000e+00 : f32
# | check:164'0 X error: no match found
# | check:164'1 with "MEM" equal to "arg0"
# | 76: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:164'2 ? possible intended match
# | 77: %0 = vector.transfer_read %subview[%arg1], %cst {in_bounds = [true]} : memref<16xf32>, vector<8xf32>
# | check:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 78: %1 = vector.shape_cast %0 : vector<8xf32> to vector<8x1xf32>
# | check:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79: return %1 : vector<8x1xf32>
# | check:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 80: }
# | check:164'0 ~~~
# | 81: func.func @contiguous_inner_most_non_zero_idx_in_bounds_scalable(%arg0: memref<16x1xf32>, %arg1: index) -> vector<[8]x1xf32> {
# | check:164'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 82: %cst = arith.constant 0.000000e+00 : f32
# | check:181'0 X error: no match found
# | check:181'1 with "MEM" equal to "arg0"
# | 83: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:181'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:181'2 ? possible intended match
# | 84: %0 = vector.transfer_read %subview[%arg1], %cst {in_bounds = [true]} : memref<16xf32>, vector<[8]xf32>
# | check:181'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: %1 = vector.shape_cast %0 : vector<[8]xf32> to vector<[8]x1xf32>
# | check:181'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 86: return %1 : vector<[8]x1xf32>
# | check:181'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 87: }
# | check:181'0 ~~~
# | 88: func.func @negative_contiguous_inner_most_non_zero_idx_out_of_bounds(%arg0: memref<16x1xf32>, %arg1: index) -> vector<8x1xf32> {
# | check:181'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 214: }
# | 215: }
# | 216:
# | 217: // -----
# | 218: module {
# | 219: func.func @contiguous_inner_most_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | check:440'0 X error: no match found
# | check:440'1 with "MEM" equal to "arg0"
# | 220: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:440'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:440'2 ? possible intended match
# | 221: %0 = vector.shape_cast %arg1 : vector<8x1xf32> to vector<8xf32>
# | check:440'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 222: vector.transfer_write %0, %subview[%arg2] {in_bounds = [true]} : vector<8xf32>, memref<16xf32>
# | check:440'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 223: return
# | check:440'0 ~~~~~~~~
# | 224: }
# | check:440'0 ~~~
# | 225: func.func @contiguous_inner_most_zero_idx_out_of_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | check:440'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:456'0 X error: no match found
# | check:456'1 with "MEM" equal to "arg0"
# | 226: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:456'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:456'2 ? possible intended match
# | 227: %0 = vector.shape_cast %arg1 : vector<8x1xf32> to vector<8xf32>
# | check:456'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 228: vector.transfer_write %0, %subview[%arg2] {in_bounds = [true]} : vector<8xf32>, memref<16xf32>
# | check:456'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 229: return
# | check:456'0 ~~~~~~~~
# | 230: }
# | check:456'0 ~~~
# | 231: func.func @contiguous_inner_most_dim_non_zero_idx_in_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | check:456'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:470'0 X error: no match found
# | check:470'1 with "MEM" equal to "arg0"
# | 232: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:470'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:470'2 ? possible intended match
# | 233: %0 = vector.shape_cast %arg1 : vector<8x1xf32> to vector<8xf32>
# | check:470'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 234: vector.transfer_write %0, %subview[%arg2] {in_bounds = [true]} : vector<8xf32>, memref<16xf32>
# | check:470'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 235: return
# | check:470'0 ~~~~~~~~
# | 236: }
# | check:470'0 ~~~
# | 237: func.func @contiguous_inner_most_non_zero_idx_in_bounds_scalable(%arg0: memref<16x1xf32>, %arg1: vector<[8]x1xf32>, %arg2: index) {
# | check:470'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:486'0 X error: no match found
# | check:486'1 with "MEM" equal to "arg0"
# | 238: %subview = memref.subview %arg0[0, 0] [16, 1] [1, 1] : memref<16x1xf32> to memref<16xf32>
# | check:486'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:486'2 ? possible intended match
# | 239: %0 = vector.shape_cast %arg1 : vector<[8]x1xf32> to vector<[8]xf32>
# | check:486'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 240: vector.transfer_write %0, %subview[%arg2] {in_bounds = [true]} : vector<[8]xf32>, memref<16xf32>
# | check:486'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 241: return
# | check:486'0 ~~~~~~~~
# | 242: }
# | check:486'0 ~~~
# | 243: func.func @negative_contiguous_inner_most_dim_non_zero_idx_out_of_bounds(%arg0: memref<16x1xf32>, %arg1: vector<8x1xf32>, %arg2: index) {
# | check:486'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.Dialect/Vector/vector-transfer-flatten.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\Vector\vector-transfer-flatten.mlir -test-vector-transfer-flatten-patterns -split-input-file | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' 'C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir' -test-vector-transfer-flatten-patterns -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\Vector\vector-transfer-flatten.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:28:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED:.+]] = memref.collapse_shape %[[MEM]] {{.}}[0, 1, 2, 3]
# | ^
# | <stdin>:2:73: note: scanning from here
# | func.func @transfer_read_dims_match_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>) -> vector<5x4x3x2xi8> {
# | ^
# | <stdin>:2:73: note: with "MEM" equal to "arg0"
# | func.func @transfer_read_dims_match_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>) -> vector<5x4x3x2xi8> {
# | ^
# | <stdin>:5:95: note: possible intended match here
# | %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true, true]} : memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, vector<5x4x3x2xi8>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:93:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED_MEM:.+]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:32:32: note: scanning from here
# | %c0_i8 = arith.constant 0 : i8
# | ^
# | <stdin>:32:32: note: with "MEM" equal to "arg0"
# | %c0_i8 = arith.constant 0 : i8
# | ^
# | <stdin>:33:89: note: possible intended match here
# | %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true]} : memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, vector<2x3x2xi8>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:124:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED:.+]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:42:32: note: scanning from here
# | %c0_i8 = arith.constant 0 : i8
# | ^
# | <stdin>:42:32: note: with "MEM" equal to "arg0"
# | %c0_i8 = arith.constant 0 : i8
# | ^
# | <stdin>:43:106: note: possible intended match here
# | %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true, true, true]} : memref<6x5x4x3x2xi8, strided<[120, 24, 6, 2, 1], offset: ?>>, vector<1x1x4x3x2xi8>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:157:11: error: CHECK: expected string not found in input
# | // CHECK: %[[VAL_3:.*]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:52:32: note: scanning from here
# | %c0_i8 = arith.constant 0 : i8
# | ^
# | <stdin>:52:32: note: with "MEM" equal to "arg0"
# | %c0_i8 = arith.constant 0 : i8
# | ^
# | <stdin>:53:95: note: possible intended match here
# | %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true, true]} : memref<5x4x3x2xi8, strided<[48, 6, 2, 1], offset: ?>>, vector<1x1x3x2xi8>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:193:51: error: undefined variable: $ATTR_0
# | // CHECK: %[[COLLAPSED_IDX:.+]] = affine.apply #[[$ATTR_0]]()[%[[IDX_2]]]
# | ^
# | <stdin>:64:114: note: with "IDX_2" equal to "arg1"
# | %collapse_shape = memref.collapse_shape %arg2 [[0], [1], [2, 3]] : memref<1x43x4x6xi32> into memref<1x43x24xi32>
# | ^
# | <stdin>:65:2: note: possible intended match here
# | %0 = affine.apply #map()[%arg1]
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:220:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSE:.+]] = memref.collapse_shape %{{.*}} {{\[}}[0], [1], [2, 3]]
# | ^
# | <stdin>:74:73: note: scanning from here
# | func.func @transfer_read_dims_mismatch_non_contiguous_non_zero_indices(%arg0: memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, %arg1: index, %arg2: index) -> vector<2x2xf32> {
# | ^
# | <stdin>:76:2: note: possible intended match here
# | %cst = arith.constant 0.000000e+00 : f32
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:249:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED:.+]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:86:32: note: scanning from here
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:86:32: note: with "MEM" equal to "arg0"
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:87:87: note: possible intended match here
# | %0 = vector.transfer_read %arg0[%arg1, %arg2, %c0, %c0], %c0_i8 {in_bounds = [true, true]} : memref<?x?x8x4xi8, strided<[?, 32, 4, 1], offset: ?>>, vector<8x4xi8>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:409:15: error: CHECK-DAG: expected string not found in input
# | // CHECK-DAG: %[[COLLAPSED:.+]] = memref.collapse_shape %[[MEM]] {{.}}[0, 1, 2, 3]{{.}} : memref<5x4x3x2xi8, {{.+}}> into memref<120xi8, {{.+}}>
# | ^
# | <stdin>:147:137: note: scanning from here
# | func.func @transfer_write_dims_match_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, %arg1: vector<5x4x3x2xi8>) {
# | ^
# | <stdin>:147:137: note: with "MEM" equal to "arg0"
# | func.func @transfer_write_dims_match_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, %arg1: vector<5x4x3x2xi8>) {
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:473:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED_MEM:.+]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:173:32: note: scanning from here
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:173:32: note: with "MEM" equal to "arg0"
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:174:94: note: possible intended match here
# | vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0] {in_bounds = [true, true]} : vector<2x2xi8>, memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:503:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED:.+]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:182:32: note: scanning from here
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:182:32: note: with "MEM" equal to "arg0"
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:183:123: note: possible intended match here
# | vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0, %c0] {in_bounds = [true, true, true, true, true]} : vector<1x1x4x3x2xi8>, memref<6x5x4x3x2xi8, strided<[120, 24, 6, 2, 1], offset: ?>>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:535:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED:.*]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:191:32: note: scanning from here
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:191:32: note: with "MEM" equal to "arg0"
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:192:110: note: possible intended match here
# | vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0] {in_bounds = [true, true, true, true]} : vector<1x1x3x2xi8>, memref<5x4x3x2xi8, strided<[48, 6, 2, 1], offset: ?>>
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:567:45: error: undefined variable: $ATTR_0
# | // CHECK-DAG: %[[IDX:.*]] = affine.apply #[[$ATTR_0]]()[%[[IDX_2]]]
# | ^
# | <stdin>:200:143: note: with "IDX_2" equal to "arg1"
# | func.func @transfer_write_dims_mismatch_non_zero_indices(%arg0: index, %arg1: index, %arg2: memref<1x43x4x6xi32>, %arg3: vector<1x2x6xi32>) {
# | ^
# | <stdin>:203:2: note: possible intended match here
# | %0 = affine.apply #map()[%arg1]
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:596:15: error: CHECK-DAG: expected string not found in input
# | // CHECK-DAG: %[[APPLY:.*]] = affine.apply #[[$MAP]]()
# | ^
# | <stdin>:212:74: note: scanning from here
# | func.func @transfer_write_dims_mismatch_non_contiguous_non_zero_indices(%arg0: vector<2x2xf32>, %arg1: memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, %arg2: index, %arg3: index) {
# | ^
# | <stdin>:212:74: note: with "$MAP" equal to "map"
# | func.func @transfer_write_dims_mismatch_non_contiguous_non_zero_indices(%arg0: vector<2x2xf32>, %arg1: memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, %arg2: index, %arg3: index) {
# | ^
# | <stdin>:212:176: note: possible intended match here
# | func.func @transfer_write_dims_mismatch_non_contiguous_non_zero_indices(%arg0: vector<2x2xf32>, %arg1: memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, %arg2: index, %arg3: index) {
# | ^
# | C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir:622:11: error: CHECK: expected string not found in input
# | // CHECK: %[[COLLAPSED:.+]] = memref.collapse_shape %[[MEM]]
# | ^
# | <stdin>:222:32: note: scanning from here
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:222:32: note: with "MEM" equal to "arg1"
# | %c0 = arith.constant 0 : index
# | ^
# | <stdin>:223:98: note: possible intended match here
# | vector.transfer_write %arg0, %arg1[%arg2, %arg3, %c0, %c0] {in_bounds = [true, true]} : vector<8x4xi8>, memref<?x?x8x4xi8, strided<[?, 32, 4, 1], offset: ?>>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\Dialect\Vector\vector-transfer-flatten.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: module {
# | 2: func.func @transfer_read_dims_match_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>) -> vector<5x4x3x2xi8> {
# | check:28'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | check:28'1 with "MEM" equal to "arg0"
# | 3: %c0 = arith.constant 0 : index
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 4: %c0_i8 = arith.constant 0 : i8
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5: %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true, true]} : memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, vector<5x4x3x2xi8>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:28'2 ? possible intended match
# | 6: return %0 : vector<5x4x3x2xi8>
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 7: }
# | check:28'0 ~~~
# | 8: func.func @transfer_read_dims_match_contiguous_scalable(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>) -> vector<5x4x3x[2]xi8> {
# | check:28'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 9: %c0 = arith.constant 0 : index
# | 10: %c0_i8 = arith.constant 0 : i8
# | .
# | .
# | .
# | 27:
# | 28: // -----
# | 29: module {
# | 30: func.func @transfer_read_dims_mismatch_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>) -> vector<2x3x2xi8> {
# | 31: %c0 = arith.constant 0 : index
# | 32: %c0_i8 = arith.constant 0 : i8
# | check:93'0 X error: no match found
# | check:93'1 with "MEM" equal to "arg0"
# | 33: %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true]} : memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, vector<2x3x2xi8>
# | check:93'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:93'2 ? possible intended match
# | 34: return %0 : vector<2x3x2xi8>
# | check:93'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 35: }
# | check:93'0 ~~~
# | 36: }
# | check:93'0 ~~
# | 37:
# | check:93'0 ~
# | 38: // -----
# | check:93'0 ~~~~~~~~~
# | 39: module {
# | check:93'0 ~~~~~~~~~
# | 40: func.func @transfer_read_dims_mismatch_contiguous_unit_dims(%arg0: memref<6x5x4x3x2xi8, strided<[120, 24, 6, 2, 1], offset: ?>>) -> vector<1x1x4x3x2xi8> {
# | check:93'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 41: %c0 = arith.constant 0 : index
# | 42: %c0_i8 = arith.constant 0 : i8
# | check:124'0 X error: no match found
# | check:124'1 with "MEM" equal to "arg0"
# | 43: %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true, true, true]} : memref<6x5x4x3x2xi8, strided<[120, 24, 6, 2, 1], offset: ?>>, vector<1x1x4x3x2xi8>
# | check:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:124'2 ? possible intended match
# | 44: return %0 : vector<1x1x4x3x2xi8>
# | check:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 45: }
# | check:124'0 ~~~
# | 46: }
# | check:124'0 ~~
# | 47:
# | check:124'0 ~
# | 48: // -----
# | check:124'0 ~~~~~~~~~
# | 49: module {
# | check:124'0 ~~~~~~~~~
# | 50: func.func @transfer_read_non_contiguous_unit_dims(%arg0: memref<5x4x3x2xi8, strided<[48, 6, 2, 1], offset: ?>>) -> vector<1x1x3x2xi8> {
# | check:124'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 51: %c0 = arith.constant 0 : index
# | 52: %c0_i8 = arith.constant 0 : i8
# | check:157'0 X error: no match found
# | check:157'1 with "MEM" equal to "arg0"
# | 53: %0 = vector.transfer_read %arg0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true, true]} : memref<5x4x3x2xi8, strided<[48, 6, 2, 1], offset: ?>>, vector<1x1x3x2xi8>
# | check:157'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:157'2 ? possible intended match
# | 54: return %0 : vector<1x1x3x2xi8>
# | check:157'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 55: }
# | check:157'0 ~~~
# | 56: }
# | check:157'0 ~~
# | 57:
# | check:157'0 ~
# | 58: // -----
# | check:157'0 ~~~~~~~~~
# | 59: #map = affine_map<()[s0] -> (s0 * 6)>
# | check:157'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 60: module {
# | check:157'0 ~~~~~~~~~
# | 61: func.func @transfer_read_dims_mismatch_non_zero_indices(%arg0: index, %arg1: index, %arg2: memref<1x43x4x6xi32>) -> vector<1x2x6xi32> {
# | check:157'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 62: %c0 = arith.constant 0 : index
# | 63: %c0_i32 = arith.constant 0 : i32
# | 64: %collapse_shape = memref.collapse_shape %arg2 [[0], [1], [2, 3]] : memref<1x43x4x6xi32> into memref<1x43x24xi32>
# | check:193'0 X error: match failed for invalid pattern
# | check:193'1 undefined variable: $ATTR_0
# | check:193'2 with "IDX_2" equal to "arg1"
# | 65: %0 = affine.apply #map()[%arg1]
# | check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:193'3 ? possible intended match
# | 66: %1 = vector.transfer_read %collapse_shape[%c0, %arg0, %0], %c0_i32 {in_bounds = [true]} : memref<1x43x24xi32>, vector<12xi32>
# | check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 67: %2 = vector.shape_cast %1 : vector<12xi32> to vector<1x2x6xi32>
# | check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 68: return %2 : vector<1x2x6xi32>
# | check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 69: }
# | check:193'0 ~~~
# | 70: }
# | check:193'0 ~~
# | 71:
# | check:193'0 ~
# | 72: // -----
# | check:193'0 ~~~~~~~~~
# | 73: module {
# | check:193'0 ~~~~~~~~~
# | 74: func.func @transfer_read_dims_mismatch_non_contiguous_non_zero_indices(%arg0: memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, %arg1: index, %arg2: index) -> vector<2x2xf32> {
# | check:193'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:220'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 75: %c0 = arith.constant 0 : index
# | check:220'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 76: %cst = arith.constant 0.000000e+00 : f32
# | check:220'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:220'1 ? possible intended match
# | 77: %0 = vector.transfer_read %arg0[%c0, %arg1, %arg2, %c0], %cst {in_bounds = [true, true]} : memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, vector<2x2xf32>
# | check:220'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 78: return %0 : vector<2x2xf32>
# | check:220'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 79: }
# | check:220'0 ~~~
# | 80: }
# | check:220'0 ~~
# | 81:
# | check:220'0 ~
# | 82: // -----
# | check:220'0 ~~~~~~~~~
# | 83: module {
# | check:220'0 ~~~~~~~~~
# | 84: func.func @transfer_read_leading_dynamic_dims(%arg0: memref<?x?x8x4xi8, strided<[?, 32, 4, 1], offset: ?>>, %arg1: index, %arg2: index) -> vector<8x4xi8> {
# | check:220'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 85: %c0_i8 = arith.constant 0 : i8
# | 86: %c0 = arith.constant 0 : index
# | check:249'0 X error: no match found
# | check:249'1 with "MEM" equal to "arg0"
# | 87: %0 = vector.transfer_read %arg0[%arg1, %arg2, %c0, %c0], %c0_i8 {in_bounds = [true, true]} : memref<?x?x8x4xi8, strided<[?, 32, 4, 1], offset: ?>>, vector<8x4xi8>
# | check:249'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:249'2 ? possible intended match
# | 88: return %0 : vector<8x4xi8>
# | check:249'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: }
# | check:249'0 ~~~
# | 90: }
# | check:249'0 ~~
# | 91:
# | check:249'0 ~
# | 92: // -----
# | check:249'0 ~~~~~~~~~
# | .
# | .
# | .
# | 142: }
# | 143: }
# | 144:
# | 145: // -----
# | 146: module {
# | 147: func.func @transfer_write_dims_match_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, %arg1: vector<5x4x3x2xi8>) {
# | dag:409'0 X~~~ error: no match found
# | dag:409'1 with "MEM" equal to "arg0"
# | 148: %c0 = arith.constant 0 : index
# | dag:409'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 149: vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0] {in_bounds = [true, true, true, true]} : vector<5x4x3x2xi8>, memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>
# | dag:409'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 150: return
# | dag:409'0 ~~~~~~~~
# | 151: }
# | dag:409'0 ~~~
# | 152: func.func @transfer_write_dims_match_contiguous_scalable(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, %arg1: vector<5x4x3x[2]xi8>) {
# | dag:409'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 168: }
# | 169:
# | 170: // -----
# | 171: module {
# | 172: func.func @transfer_write_dims_mismatch_contiguous(%arg0: memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>, %arg1: vector<2x2xi8>) {
# | 173: %c0 = arith.constant 0 : index
# | check:473'0 X error: no match found
# | check:473'1 with "MEM" equal to "arg0"
# | 174: vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0] {in_bounds = [true, true]} : vector<2x2xi8>, memref<5x4x3x2xi8, strided<[24, 6, 2, 1], offset: ?>>
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:473'2 ? possible intended match
# | 175: return
# | check:473'0 ~~~~~~~~
# | 176: }
# | check:473'0 ~~~
# | 177: }
# | check:473'0 ~~
# | 178:
# | check:473'0 ~
# | 179: // -----
# | check:473'0 ~~~~~~~~~
# | 180: module {
# | check:473'0 ~~~~~~~~~
# | 181: func.func @transfer_write_dims_mismatch_contiguous_unit_dims(%arg0: memref<6x5x4x3x2xi8, strided<[120, 24, 6, 2, 1], offset: ?>>, %arg1: vector<1x1x4x3x2xi8>) {
# | check:473'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 182: %c0 = arith.constant 0 : index
# | check:503'0 X error: no match found
# | check:503'1 with "MEM" equal to "arg0"
# | 183: vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0, %c0] {in_bounds = [true, true, true, true, true]} : vector<1x1x4x3x2xi8>, memref<6x5x4x3x2xi8, strided<[120, 24, 6, 2, 1], offset: ?>>
# | check:503'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:503'2 ? possible intended match
# | 184: return
# | check:503'0 ~~~~~~~~
# | 185: }
# | check:503'0 ~~~
# | 186: }
# | check:503'0 ~~
# | 187:
# | check:503'0 ~
# | 188: // -----
# | check:503'0 ~~~~~~~~~
# | 189: module {
# | check:503'0 ~~~~~~~~~
# | 190: func.func @transfer_write_non_contiguous_unit_dims(%arg0: memref<5x4x3x2xi8, strided<[48, 6, 2, 1], offset: ?>>, %arg1: vector<1x1x3x2xi8>) {
# | check:503'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 191: %c0 = arith.constant 0 : index
# | check:535'0 X error: no match found
# | check:535'1 with "MEM" equal to "arg0"
# | 192: vector.transfer_write %arg1, %arg0[%c0, %c0, %c0, %c0] {in_bounds = [true, true, true, true]} : vector<1x1x3x2xi8>, memref<5x4x3x2xi8, strided<[48, 6, 2, 1], offset: ?>>
# | check:535'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:535'2 ? possible intended match
# | 193: return
# | check:535'0 ~~~~~~~~
# | 194: }
# | check:535'0 ~~~
# | 195: }
# | check:535'0 ~~
# | 196:
# | check:535'0 ~
# | 197: // -----
# | check:535'0 ~~~~~~~~~
# | 198: #map = affine_map<()[s0] -> (s0 * 6)>
# | check:535'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 199: module {
# | check:535'0 ~~~~~~~~~
# | 200: func.func @transfer_write_dims_mismatch_non_zero_indices(%arg0: index, %arg1: index, %arg2: memref<1x43x4x6xi32>, %arg3: vector<1x2x6xi32>) {
# | check:535'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:567'0 X error: match failed for invalid pattern
# | dag:567'1 undefined variable: $ATTR_0
# | dag:567'2 with "IDX_2" equal to "arg1"
# | 201: %c0 = arith.constant 0 : index
# | dag:567'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 202: %collapse_shape = memref.collapse_shape %arg2 [[0], [1], [2, 3]] : memref<1x43x4x6xi32> into memref<1x43x24xi32>
# | dag:567'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 203: %0 = affine.apply #map()[%arg1]
# | dag:567'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:567'3 ? possible intended match
# | 204: %1 = vector.shape_cast %arg3 : vector<1x2x6xi32> to vector<12xi32>
# | dag:567'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 205: vector.transfer_write %1, %collapse_shape[%c0, %arg0, %0] {in_bounds = [true]} : vector<12xi32>, memref<1x43x24xi32>
# | dag:567'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 206: return
# | dag:567'0 ~~~~~~~~
# | 207: }
# | dag:567'0 ~~~
# | 208: }
# | dag:567'0 ~~
# | 209:
# | dag:567'0 ~
# | 210: // -----
# | dag:567'0 ~~~~~~~~~
# | 211: module {
# | dag:567'0 ~~~~~~~~~
# | 212: func.func @transfer_write_dims_mismatch_non_contiguous_non_zero_indices(%arg0: vector<2x2xf32>, %arg1: memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>, %arg2: index, %arg3: index) {
# | dag:567'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | dag:596'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | dag:596'1 with "$MAP" equal to "map"
# | dag:596'2 ? possible intended match
# | 213: %c0 = arith.constant 0 : index
# | dag:596'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 214: vector.transfer_write %arg0, %arg1[%c0, %arg2, %arg3, %c0] {in_bounds = [true, true]} : vector<2x2xf32>, memref<1x3x3x2xf32, strided<[40, 10, 2, 1], offset: ?>>
# | dag:596'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 215: return
# | dag:596'0 ~~~~~~~~
# | 216: }
# | dag:596'0 ~~~
# | 217: }
# | dag:596'0 ~~
# | 218:
# | dag:596'0 ~
# | 219: // -----
# | dag:596'0 ~~~~~~~~~
# | 220: module {
# | dag:596'0 ~~~~~~~~~
# | 221: func.func @transfer_write_leading_dynamic_dims(%arg0: vector<8x4xi8>, %arg1: memref<?x?x8x4xi8, strided<[?, 32, 4, 1], offset: ?>>, %arg2: index, %arg3: index) {
# | dag:596'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 222: %c0 = arith.constant 0 : index
# | check:622'0 X error: no match found
# | check:622'1 with "MEM" equal to "arg1"
# | 223: vector.transfer_write %arg0, %arg1[%arg2, %arg3, %c0, %c0] {in_bounds = [true, true]} : vector<8x4xi8>, memref<?x?x8x4xi8, strided<[?, 32, 4, 1], offset: ?>>
# | check:622'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:622'2 ? possible intended match
# | 224: return
# | check:622'0 ~~~~~~~~
# | 225: }
# | check:622'0 ~~~
# | 226: }
# | check:622'0 ~~
# | 227:
# | check:622'0 ~
# | 228: // -----
# | check:622'0 ~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.IR/affine-map.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\IR\affine-map.mlir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\mlir\test\IR\affine-map.mlir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -allow-unregistered-dialect 'C:\_work\llvm-project\llvm-project\mlir\test\IR\affine-map.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\IR\affine-map.mlir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\IR\affine-map.mlir:7:11: error: CHECK: expected string not found in input
# | // CHECK: #map{{[0-9]*}} = affine_map<() -> (0)>
# | ^
# | <stdin>:1:1: note: scanning from here
# | #map = affine_map<(d0, d1) -> (d0 + 1, d1 * 4 + 2)>
# | ^
# | <stdin>:48:1: note: possible intended match here
# | #map47 = affine_map<() -> ()>
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\mlir\test\IR\affine-map.mlir
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: #map = affine_map<(d0, d1) -> (d0 + 1, d1 * 4 + 2)>
# | check:7'0 X~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | 2: #map1 = affine_map<(d0, d1) -> (d1 - d0 + (d0 - d1 + 1) * 2 + d1 - 1, d1 * 4 + 2)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 3: #map2 = affine_map<(d0, d1) -> (d0 + 2, d1)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 4: #map3 = affine_map<(d0, d1)[s0] -> (d0 + s0, d1)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 5: #map4 = affine_map<(d0, d1)[s0] -> (d0 + s0, d1 + 5)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 6: #map5 = affine_map<(d0, d1)[s0] -> (d0 + d1 + s0, d1)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 43: #map42 = affine_map<(d0, d1)[s0] -> (d0 * 2 + 1, d1 + s0)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 44: #map43 = affine_map<(d0) -> (-2, 1, -1)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 45: #map44 = affine_map<(d0) -> (d0 * 16 - (d0 + 1) + 15)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 46: #map45 = affine_map<(d0) -> (d0 - (d0 + 1))>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 47: #map46 = affine_map<(d0)[s0] -> ((-s0) floordiv 4, d0 floordiv -1)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 48: #map47 = affine_map<() -> ()>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:7'1 ? possible intended match
# | 49: #map48 = affine_map<(d0, d1) -> (d0, d0 * 2 + d1 * 4 + 2, 1, 2, (d0 * 4) mod 8)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 50: #map49 = affine_map<(d0, d1) -> (d1, d0, 0)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 51: #map50 = affine_map<(d0, d1) -> (d0 * 3, (d0 + d1) * 2, d0 mod 2)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 52: #map51 = affine_map<(d0, d1) -> (d0 mod 5, (d1 mod 35) mod 4)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 53: #map52 = affine_map<(d0, d1) -> (d0, d1)>
# | check:7'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>MLIR.IR/invalid-builtin-types.mlir</summary>
```
Exit Code: 3221225501
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\IR\invalid-builtin-types.mlir -split-input-file -verify-diagnostics
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe' -allow-unregistered-dialect 'C:\_work\llvm-project\llvm-project\mlir\test\IR\invalid-builtin-types.mlir' -split-input-file -verify-diagnostics
# .---command stdout------------
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# `-----------------------------
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\mlir\test\IR\invalid-builtin-types.mlir:63:1: error: unexpected error: 'func.func' op symbol declaration cannot have public visibility
# | func.func @memrefs(memref<42xi8, #map0>) // expected-error {{memref layout mismatch between rank and affine map: 1 != 2}}
# | ^
# | Assertion failed: Index < Length && "Invalid index!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/ArrayRef.h, line 248
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\mlir-opt.exe -allow-unregistered-dialect C:\\_work\\llvm-project\\llvm-project\\mlir\\test\\IR\\invalid-builtin-types.mlir -split-input-file -verify-diagnostics
# | 1. MLIR Parser: custom op parser 'func.func'
# | Exception Code: 0xC000001D
# | #0 0x00007ff68ab8a2f6 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x30ca2f6)
# | #1 0x00007ff94dd6bb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# | #2 0x00007ff94dd6cad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# | #3 0x00007ff94dd6e4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# | #4 0x00007ff94dd6e6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# | #5 0x00007ff689f53fa1 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2493fa1)
# | #6 0x00007ff689f542a3 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x24942a3)
# | #7 0x00007ff68b55cdff mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3a9cdff)
# | #8 0x00007ff68b55c9e3 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3a9c9e3)
# | #9 0x00007ff68b55b58c mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3a9b58c)
# | #10 0x00007ff68b55afcb mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3a9afcb)
# | #11 0x00007ff68abc0f59 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3100f59)
# | #12 0x00007ff68a5d3805 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x2b13805)
# | #13 0x00007ff68ae8af6d mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x33caf6d)
# | #14 0x00007ff68835c60a mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x89c60a)
# | #15 0x00007ff687be1d43 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x121d43)
# | #16 0x00007ff68abb8c4c mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x30f8c4c)
# | #17 0x00007ff68abb7000 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x30f7000)
# | #18 0x00007ff687df2f4f (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x332f4f)
# | #19 0x00007ff687ad00be (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x100be)
# | #20 0x00007ff687aced56 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xed56)
# | #21 0x00007ff687ace963 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0xe963)
# | #22 0x00007ff687e311c0 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3711c0)
# | #23 0x00007ff687e30e39 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x370e39)
# | #24 0x00007ff687ac358e (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x358e)
# | #25 0x00007ff687ac3941 (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3941)
# | #26 0x00007ff687ac3cab (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x3cab)
# | #27 0x00007ff687ac145a (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x145a)
# | #28 0x00007ff68f460b70 mlir::detail::FallbackTypeIDResolver::registerImplicitTypeID(class llvm::StringRef) (c:\_work\llvm-project\llvm-project\build\bin\mlir-opt.exe+0x79a0b70)
# | #29 0x00007ff955a14cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #30 0x00007ff9601fedcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
--
```
</details>
### MLIR-Unit
<details>
<summary>MLIR-Unit.IR/_/MLIRIRTests_exe/MemRefLayout/numContigDim</summary>
```
Script:
--
C:\_work\llvm-project\llvm-project\build\tools\mlir\unittests\IR\.\MLIRIRTests.exe --gtest_filter=MemRefLayout.numContigDim
--
C:\_work\llvm-project\llvm-project\mlir\unittests\IR\MemrefLayoutTest.cpp:52
Expected equality of these values:
m3.getNumContiguousTrailingDims()
Which is: 1
3
C:\_work\llvm-project\llvm-project\mlir\unittests\IR\MemrefLayoutTest.cpp:64
Expected equality of these values:
m5.getNumContiguousTrailingDims()
Which is: 1
2
C:\_work\llvm-project\llvm-project\mlir\unittests\IR\MemrefLayoutTest.cpp:70
Expected equality of these values:
m6.getNumContiguousTrailingDims()
Which is: 1
2
C:\_work\llvm-project\llvm-project\mlir\unittests\IR\MemrefLayoutTest.cpp:77
Expected equality of these values:
m7.getNumContiguousTrailingDims()
Which is: 1
2
C:\_work\llvm-project\llvm-project\mlir\unittests\IR\MemrefLayoutTest.cpp:84
Expected equality of these values:
m8.getNumContiguousTrailingDims()
Which is: 1
3
```
</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/183051
More information about the Mlir-commits
mailing list