[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: Linux-->
# :penguin: Linux x64 Test Results
* 7500 tests passed
* 601 tests skipped
* 19 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: -6
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -verify-diagnostics -expand-realloc=emit-deallocs=false -ownership-based-buffer-deallocation --buffer-deallocation-simplification -split-input-file /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -verify-diagnostics -expand-realloc=emit-deallocs=false -ownership-based-buffer-deallocation --buffer-deallocation-simplification -split-input-file /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir -buffer-deallocation-pipeline --split-input-file
# .---command stderr------------
# | mlir-opt: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:560: decltype(auto) llvm::cast(const From &) [To = mlir::StridedLayoutAttr, From = mlir::MemRefLayoutAttrInterface]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
# | 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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-existing-deallocs.mlir -buffer-deallocation-pipeline --split-input-file
# | #0 0x0000000007c83ec8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# | #1 0x0000000007c80d25 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# | #2 0x0000000007c84d21 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# | #3 0x00007ab2c86a7330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x00007ab2c8700b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x00007ab2c86a727e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x00007ab2c868a8ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x00007ab2c868a81b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# | #8 0x00007ab2c869d517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# | #9 0x00000000106292aa (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x106292aa)
# | #10 0x0000000010886d63 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Rewrite/PatternApplicator.cpp:223:13
# | #11 0x0000000010886d63 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_0>(long) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #12 0x0000000010882f01 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:0:12
# | #13 0x0000000010882f01 executeAction<mlir::ApplyPatternAction, const mlir::Pattern &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/IR/MLIRContext.h:290:7
# | #14 0x0000000010882f01 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Rewrite/PatternApplicator.cpp:197:23
# | #15 0x000000001085e494 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:0:0
# | #16 0x000000001085a993 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:889:11
# | #17 0x000000001085a993 callback_fn<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:877:9)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #18 0x000000001085a993 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #19 0x000000001085a993 executeAction<(anonymous namespace)::GreedyPatternRewriteIteration, long &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/IR/MLIRContext.h:290:7
# | #20 0x000000001085a993 simplify /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:876:10
# | #21 0x000000001085a993 mlir::applyPatternsGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp:934:47
# | #22 0x00000000107e5265 failed /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/LogicalResult.h:43:42
# | #23 0x00000000107e5265 applyPatternsGreedily /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h:213:20
# | #24 0x00000000107e5265 (anonymous namespace)::Canonicalizer::runOnOperation() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Canonicalizer.cpp:63:9
# | #25 0x00000000108e54e2 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:0:19
# | #26 0x00000000108e54e2 callback_fn<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:607:9)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #27 0x00000000108e54e2 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #28 0x00000000108e54e2 executeAction<mlir::PassExecutionAction, mlir::Pass &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/IR/MLIRContext.h:290:7
# | #29 0x00000000108e54e2 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:606:23
# | #30 0x00000000108e62d7 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:688:9
# | #31 0x00000000108ed7ab mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:1123:3
# | #32 0x00000000108ece08 mlir::PassManager::run(mlir::Operation*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:1097:0
# | #33 0x0000000007c9556a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:591:7
# | #34 0x0000000007c948a8 processBuffer /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:673:12
# | #35 0x0000000007c948a8 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:771:12
# | #36 0x0000000007c948a8 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #37 0x0000000010c15224 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #38 0x0000000010c15224 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0::operator()(llvm::StringRef) const /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:94:13
# | #39 0x0000000010c14e7a interleave<const llvm::StringRef *, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2301:49), void> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2281:16
# | #40 0x0000000010c14e7a interleave<llvm::SmallVector<llvm::StringRef, 8U>, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), llvm::raw_ostream, llvm::StringRef> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2301:3
# | #41 0x0000000010c14e7a mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:97:3
# | #42 0x0000000007c89f96 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:776:26
# | #43 0x0000000007c8a2c5 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:822:14
# | #44 0x0000000007c8a53b mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:838:10
# | #45 0x0000000007bc87b3 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-opt/mlir-opt.cpp:347:33
# | #46 0x00007ab2c868c1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #47 0x00007ab2c868c28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #48 0x0000000007bc82e5 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x7bc82e5)
# `-----------------------------
# error: command failed with exit status: -6
--
```
</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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-non-module-bufferize.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Bufferization/Transforms/one-shot-non-module-bufferize.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Builtin/types.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Builtin/types.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Builtin/types.mlir
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Builtin/types.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir -linalg-fold-unit-extent-dims -split-input-file | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
# note: command had no output on stdout or stderr
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir --check-prefix=CHECK-SLICES
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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------------
# | mlir-opt: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Casting.h:560: decltype(auto) llvm::cast(const From &) [To = mlir::StridedLayoutAttr, From = mlir::MemRefLayoutAttrInterface]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
# | 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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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
# | #0 0x0000000007c83ec8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# | #1 0x0000000007c80d25 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# | #2 0x0000000007c84d21 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# | #3 0x00007da904a76330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x00007da904acfb2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x00007da904a7627e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x00007da904a598ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x00007da904a5981b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# | #8 0x00007da904a6c517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# | #9 0x00000000105cef83 getLargeRep /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/DenseMap.h:1049:5
# | #10 0x00000000105cef83 getLargeRep /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/DenseMap.h:1056:50
# | #11 0x00000000105cef83 deallocateBuckets /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/DenseMap.h:1087:5
# | #12 0x00000000105cef83 ~SmallDenseMap /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/DenseMap.h:934:5
# | #13 0x00000000105cef83 ~DenseSetImpl /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/DenseSet.h:56:7
# | #14 0x00000000105cef83 _M_destroy /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:287:23
# | #15 0x00000000105cef83 _M_reset /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:318:4
# | #16 0x00000000105cef83 ~_Optional_payload /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:441:57
# | #17 0x00000000105cef83 ~_Optional_base /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/optional:512:12
# | #18 0x00000000105cef83 mlir::memref::SubViewOp::inferRankReducedResultType(llvm::ArrayRef<long>, mlir::MemRefType, llvm::ArrayRef<long>, llvm::ArrayRef<long>, llvm::ArrayRef<long>) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp:3017:1
# | #19 0x00000000105cf11d mlir::memref::SubViewOp::inferRankReducedResultType(llvm::ArrayRef<long>, mlir::MemRefType, llvm::ArrayRef<mlir::OpFoldResult>, llvm::ArrayRef<mlir::OpFoldResult>, llvm::ArrayRef<mlir::OpFoldResult>) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp:3028:10
# | #20 0x00000000105d1d97 mlir::memref::createCanonicalRankReducingSubViewOp(mlir::OpBuilder&, mlir::Location, mlir::Value, llvm::ArrayRef<long>) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp:3345:27
# | #21 0x00000000105d1fd0 mlir::memref::SubViewOp::rankReduceIfNeeded(mlir::OpBuilder&, mlir::Location, mlir::Value, llvm::ArrayRef<long>) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp:3363:10
# | #22 0x000000000e8c7492 mlir::linalg::ControlDropUnitDims::collapseValue(mlir::RewriterBase&, mlir::Location, mlir::Value, llvm::ArrayRef<long>, llvm::ArrayRef<llvm::SmallVector<long, 2u>>, mlir::linalg::ControlDropUnitDims const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp:293:7
# | #23 0x0000000007e796b9 std::_Function_handler<llvm::FailureOr<mlir::Value> (mlir::RewriterBase&, mlir::Location, mlir::Value, llvm::ArrayRef<long>, llvm::ArrayRef<llvm::SmallVector<long, 2u>>, mlir::linalg::ControlDropUnitDims const&), mlir::linalg::ControlDropUnitDims::collapseFn::'lambda'(mlir::RewriterBase&, mlir::Location, mlir::Value, llvm::ArrayRef<long>, llvm::ArrayRef<llvm::SmallVector<long, 2u>>, mlir::linalg::ControlDropUnitDims const&)>::_M_invoke(std::_Any_data const&, mlir::RewriterBase&, mlir::Location&&, mlir::Value&&, llvm::ArrayRef<long>&&, llvm::ArrayRef<llvm::SmallVector<long, 2u>>&&, mlir::linalg::ControlDropUnitDims const&) /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:290:2
# | #24 0x000000000e8c8755 mlir::linalg::dropUnitDims(mlir::RewriterBase&, mlir::IndexingMapOpInterface, std::function<mlir::IndexingMapOpInterface (mlir::Location, mlir::OpBuilder&, mlir::IndexingMapOpInterface, llvm::ArrayRef<mlir::Value>, llvm::ArrayRef<mlir::AffineMap>, llvm::SmallDenseSet<unsigned int, 4u, llvm::DenseMapInfo<unsigned int, void>> const&)> const&, mlir::linalg::ControlDropUnitDims const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp:511:9
# | #25 0x000000000e8cd574 ~_Function_base /usr/lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_function.h:243:11
# | #26 0x000000000e8cd574 dropUnitDims /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp:589:1
# | #27 0x000000000e8cd574 (anonymous namespace)::DropUnitDims::matchAndRewrite(mlir::linalg::GenericOp, mlir::PatternRewriter&) const /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp:600:9
# | #28 0x0000000010886d63 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Rewrite/PatternApplicator.cpp:223:13
# | #29 0x0000000010886d63 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_0>(long) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #30 0x0000000010882f01 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:0:12
# | #31 0x0000000010882f01 executeAction<mlir::ApplyPatternAction, const mlir::Pattern &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/IR/MLIRContext.h:290:7
# | #32 0x0000000010882f01 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Rewrite/PatternApplicator.cpp:197:23
# | #33 0x000000001087e191 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/WalkPatternRewriteDriver.cpp:208:17
# | #34 0x000000001087e191 void llvm::function_ref<void ()>::callback_fn<mlir::walkAndApplyPatterns(mlir::Operation*, mlir::FrozenRewritePatternSet const&, mlir::RewriterBase::Listener*)::$_2>(long) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #35 0x000000001087d4df ~SmallVector /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1211:31
# | #36 0x000000001087d4df mlir::walkAndApplyPatterns(mlir::Operation*, mlir::FrozenRewritePatternSet const&, mlir::RewriterBase::Listener*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Transforms/Utils/WalkPatternRewriteDriver.cpp:220:1
# | #37 0x000000000e8cbe34 (anonymous namespace)::LinalgFoldUnitExtentDimsPass::runOnOperation() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp:870:7
# | #38 0x00000000108e54e2 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:0:19
# | #39 0x00000000108e54e2 callback_fn<(lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:607:9)> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #40 0x00000000108e54e2 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #41 0x00000000108e54e2 executeAction<mlir::PassExecutionAction, mlir::Pass &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/IR/MLIRContext.h:290:7
# | #42 0x00000000108e54e2 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:606:23
# | #43 0x00000000108e62d7 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:688:9
# | #44 0x00000000108ed7ab mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:1123:3
# | #45 0x00000000108ece08 mlir::PassManager::run(mlir::Operation*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Pass/Pass.cpp:1097:0
# | #46 0x0000000007c9556a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:591:7
# | #47 0x0000000007c948a8 processBuffer /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:673:12
# | #48 0x0000000007c948a8 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:771:12
# | #49 0x0000000007c948a8 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #50 0x0000000010c15224 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #51 0x0000000010c15224 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0::operator()(llvm::StringRef) const /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:94:13
# | #52 0x0000000010c14ebf interleave<const llvm::StringRef *, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2301:49), void> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:0:0
# | #53 0x0000000010c14ebf interleave<llvm::SmallVector<llvm::StringRef, 8U>, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), llvm::raw_ostream, llvm::StringRef> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2301:3
# | #54 0x0000000010c14ebf mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:97:3
# | #55 0x0000000007c89f96 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:776:26
# | #56 0x0000000007c8a2c5 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:822:14
# | #57 0x0000000007c8a53b mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:838:10
# | #58 0x0000000007bc87b3 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-opt/mlir-opt.cpp:347:33
# | #59 0x00007da904a5b1ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #60 0x00007da904a5b28b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #61 0x0000000007bc82e5 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x7bc82e5)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir --check-prefix=CHECK-SLICES
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/canonicalize.mlir -canonicalize="test-convergence" --split-input-file -allow-unregistered-dialect | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/canonicalize.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/canonicalize.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: ?>>
# | ^
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt --flatten-memref /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/flatten_memref.mlir --split-input-file --verify-diagnostics | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/flatten_memref.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt --flatten-memref /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/flatten_memref.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/make-loop-independent.mlir -allow-unregistered-dialect -transform-interpreter -canonicalize -split-input-file -verify-diagnostics | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/make-loop-independent.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/make-loop-independent.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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>>
# | ^
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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/normalize-memrefs.mlir</summary>
```
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -normalize-memrefs -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/normalize-memrefs.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/normalize-memrefs.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -normalize-memrefs -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/normalize-memrefs.mlir
# .---command stderr------------
# | mlir-opt: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:248: const T &llvm::ArrayRef<long>::operator[](size_t) const [T = long]: Assertion `Index < Length && "Invalid index!"' failed.
# | 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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -normalize-memrefs -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/normalize-memrefs.mlir
# | 1. MLIR Parser: custom op parser 'func.func'
# | 2. MLIR Parser: custom op parser 'func.call'
# | #0 0x0000000007c83ec8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# | #1 0x0000000007c80d25 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# | #2 0x0000000007c84d21 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# | #3 0x00007d158f5d4330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x00007d158f62db2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x00007d158f5d427e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x00007d158f5b78ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x00007d158f5b781b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# | #8 0x00007d158f5ca517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# | #9 0x0000000010b60b21 (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x10b60b21)
# | #10 0x000000000f534ba6 begin /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:273:45
# | #11 0x000000000f534ba6 end /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:275:27
# | #12 0x000000000f534ba6 ~SmallVector /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1211:46
# | #13 0x000000000f534ba6 mlir::detail::Parser::parseMemRefType() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/TypeParser.cpp:256:1
# | #14 0x000000000f535f10 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/TypeParser.cpp:104:5
# | #15 0x000000000f535f10 llvm::ParseResult llvm::function_ref<llvm::ParseResult ()>::callback_fn<mlir::detail::Parser::parseTypeListNoParens(llvm::SmallVectorImpl<mlir::Type>&)::$_0>(long) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #16 0x000000000f51d169 mlir::detail::Parser::parseCommaSeparatedList(mlir::AsmParser::Delimiter, llvm::function_ref<llvm::ParseResult ()>, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:138:7
# | #17 0x000000000f5345d3 mlir::detail::Parser::parseTypeListParens(llvm::SmallVectorImpl<mlir::Type>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/TypeParser.cpp:124:39
# | #18 0x000000000f533760 mlir::detail::Parser::parseFunctionType() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/TypeParser.cpp:161:38
# | #19 0x000000000f527ead mlir::detail::AsmParserImpl<mlir::OpAsmParser>::parseType(mlir::Type&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/AsmParserImpl.h:519:29
# | #20 0x0000000007f97b66 llvm::ParseResult mlir::AsmParser::parseType<mlir::FunctionType>(mlir::FunctionType&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/IR/OpImplementation.h:1273:9
# | #21 0x000000000f88fb33 mlir::func::CallOp::parse(mlir::OpAsmParser&, mlir::OperationState&) /home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/mlir/include/mlir/Dialect/Func/IR/FuncOps.cpp.inc:1261:7
# | #22 0x000000000f521461 parseOperation /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1653:9
# | #23 0x000000000f521461 parseCustomOperation /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2192:19
# | #24 0x000000000f521461 (anonymous namespace)::OperationParser::parseOperation() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1306:10
# | #25 0x000000000f52d2a4 parseBlockBody /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2478:9
# | #26 0x000000000f52d2a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2408:12
# | #27 0x000000000f52af3c parseRegionBody /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2366:7
# | #28 0x000000000f52af3c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2295:7
# | #29 0x000000000f5291cc (anonymous namespace)::CustomOpAsmParser::parseOptionalRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1929:3
# | #30 0x0000000010a38e0b mlir::function_interface_impl::parseFunctionOp(mlir::OpAsmParser&, mlir::OperationState&, bool, mlir::StringAttr, llvm::function_ref<mlir::Type (mlir::Builder&, llvm::ArrayRef<mlir::Type>, llvm::ArrayRef<mlir::Type>, mlir::function_interface_impl::VariadicFlag, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)>, mlir::StringAttr, mlir::StringAttr) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Interfaces/FunctionImplementation.cpp:0:14
# | #31 0x000000000f8889ea mlir::func::FuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Func/IR/FuncOps.cpp:203:10
# | #32 0x000000000f521461 parseOperation /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1653:9
# | #33 0x000000000f521461 parseCustomOperation /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2192:19
# | #34 0x000000000f521461 (anonymous namespace)::OperationParser::parseOperation() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1306:10
# | #35 0x000000000f5201ed parse /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:0:0
# | #36 0x000000000f5201ed mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2968:41
# | #37 0x000000000f4f3b83 mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Parser/Parser.cpp:65:1
# | #38 0x0000000007c95e2e parseSourceFile<mlir::ModuleOp, const std::shared_ptr<llvm::SourceMgr> &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Parser/Parser.h:158:7
# | #39 0x0000000007c95e2e parseSourceFile<mlir::ModuleOp> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Parser/Parser.h:188:10
# | #40 0x0000000007c95e2e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/ParseUtilities.h:31:12
# | #41 0x0000000007c94b2a stop /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Support/Timing.h:218:9
# | #42 0x0000000007c94b2a stop /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Support/Timing.h:301:11
# | #43 0x0000000007c94b2a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:523:16
# | #44 0x0000000007c948a8 processBuffer /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:673:12
# | #45 0x0000000007c948a8 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:771:12
# | #46 0x0000000007c948a8 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #47 0x0000000010c14d55 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #48 0x0000000010c14d55 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:30:12
# | #49 0x0000000007c89f96 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:776:26
# | #50 0x0000000007c8a2c5 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:822:14
# | #51 0x0000000007c8a53b mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:838:10
# | #52 0x0000000007bc87b3 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-opt/mlir-opt.cpp:347:33
# | #53 0x00007d158f5b91ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #54 0x00007d158f5b928b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #55 0x0000000007bc82e5 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x7bc82e5)
# `-----------------------------
# error: command failed with exit status: -6
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/normalize-memrefs.mlir
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/normalize-memrefs.mlir
# `-----------------------------
# error: command failed with exit status: 2
--
```
</details>
<details>
<summary>MLIR.Dialect/MemRef/ops.mlir</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/ops.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/ops.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/ops.mlir
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/MemRef/ops.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Tensor/bufferize.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Tensor/bufferize.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -split-input-file -transform-preload-library='transform-library-paths=/home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/td/xfer-drop-unit-dims.mlir' -transform-interpreter=entry-point=drop_unit_dims /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -split-input-file -transform-preload-library=transform-library-paths=/home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/td/xfer-drop-unit-dims.mlir -transform-interpreter=entry-point=drop_unit_dims /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/vector-transfer-flatten.mlir -test-vector-transfer-flatten-patterns -split-input-file | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt /home/gha/actions-runner/_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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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]
# | ^
# | /home/gha/actions-runner/_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
# | ^
# | /home/gha/actions-runner/_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>
# | ^
# | /home/gha/actions-runner/_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>) {
# | ^
# | /home/gha/actions-runner/_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: ?>>
# | ^
# | /home/gha/actions-runner/_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: ?>>
# | ^
# | /home/gha/actions-runner/_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: ?>>
# | ^
# | /home/gha/actions-runner/_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]
# | ^
# | /home/gha/actions-runner/_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) {
# | ^
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/IR/affine-map.mlir | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/IR/affine-map.mlir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/IR/affine-map.mlir
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/IR/affine-map.mlir
# .---command stderr------------
# | /home/gha/actions-runner/_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: /home/gha/actions-runner/_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: -6
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/IR/invalid-builtin-types.mlir -split-input-file -verify-diagnostics
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -allow-unregistered-dialect /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/test/IR/invalid-builtin-types.mlir -split-input-file -verify-diagnostics
# .---command stdout------------
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# | // -----
# `-----------------------------
# .---command stderr------------
# | /home/gha/actions-runner/_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}}
# | ^
# | mlir-opt: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:248: const T &llvm::ArrayRef<long>::operator[](size_t) const [T = long]: Assertion `Index < Length && "Invalid index!"' failed.
# | 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: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt -allow-unregistered-dialect /home/gha/actions-runner/_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'
# | #0 0x0000000007c83ec8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:880:13
# | #1 0x0000000007c80d25 llvm::sys::RunSignalHandlers() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Signals.cpp:109:18
# | #2 0x0000000007c84d21 SignalHandler(int, siginfo_t*, void*) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/lib/Support/Unix/Signals.inc:448:38
# | #3 0x000079401653d330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
# | #4 0x0000794016596b2c pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x9eb2c)
# | #5 0x000079401653d27e raise (/lib/x86_64-linux-gnu/libc.so.6+0x4527e)
# | #6 0x00007940165208ff abort (/lib/x86_64-linux-gnu/libc.so.6+0x288ff)
# | #7 0x000079401652081b (/lib/x86_64-linux-gnu/libc.so.6+0x2881b)
# | #8 0x0000794016533517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
# | #9 0x0000000010b60b21 (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x10b60b21)
# | #10 0x000000000f534ba6 begin /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:273:45
# | #11 0x000000000f534ba6 end /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:275:27
# | #12 0x000000000f534ba6 ~SmallVector /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1211:46
# | #13 0x000000000f534ba6 mlir::detail::Parser::parseMemRefType() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/TypeParser.cpp:256:1
# | #14 0x000000000f527ead mlir::detail::AsmParserImpl<mlir::OpAsmParser>::parseType(mlir::Type&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/AsmParserImpl.h:519:29
# | #15 0x0000000010a63fd3 mlir::call_interface_impl::parseFunctionResultList(mlir::OpAsmParser&, llvm::SmallVectorImpl<mlir::Type>&, llvm::SmallVectorImpl<mlir::DictionaryAttr>&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Interfaces/CallInterfaces.cpp:41:9
# | #16 0x0000000010a387de mlir::function_interface_impl::parseFunctionOp(mlir::OpAsmParser&, mlir::OperationState&, bool, mlir::StringAttr, llvm::function_ref<mlir::Type (mlir::Builder&, llvm::ArrayRef<mlir::Type>, llvm::ArrayRef<mlir::Type>, mlir::function_interface_impl::VariadicFlag, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)>, mlir::StringAttr, mlir::StringAttr) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Interfaces/FunctionImplementation.cpp:107:7
# | #17 0x000000000f8889ea mlir::func::FuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Dialect/Func/IR/FuncOps.cpp:203:10
# | #18 0x000000000f521461 parseOperation /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1653:9
# | #19 0x000000000f521461 parseCustomOperation /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2192:19
# | #20 0x000000000f521461 (anonymous namespace)::OperationParser::parseOperation() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:1306:10
# | #21 0x000000000f5201ed parse /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:0:0
# | #22 0x000000000f5201ed mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/AsmParser/Parser.cpp:2968:41
# | #23 0x000000000f4f3b83 mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Parser/Parser.cpp:65:1
# | #24 0x0000000007c95e2e parseSourceFile<mlir::ModuleOp, const std::shared_ptr<llvm::SourceMgr> &> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Parser/Parser.h:158:7
# | #25 0x0000000007c95e2e parseSourceFile<mlir::ModuleOp> /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Parser/Parser.h:188:10
# | #26 0x0000000007c95e2e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Tools/ParseUtilities.h:31:12
# | #27 0x0000000007c94b2a stop /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Support/Timing.h:218:9
# | #28 0x0000000007c94b2a stop /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/include/mlir/Support/Timing.h:301:11
# | #29 0x0000000007c94b2a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:523:16
# | #30 0x0000000007c9473e processBuffer /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:0:9
# | #31 0x0000000007c9473e operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:771:12
# | #32 0x0000000007c9473e llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&) /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:12
# | #33 0x0000000010c15224 operator() /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:12
# | #34 0x0000000010c15224 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef)::$_0::operator()(llvm::StringRef) const /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:94:13
# | #35 0x0000000010c14ebf interleave<const llvm::StringRef *, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2301:49), void> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:0:0
# | #36 0x0000000010c14ebf interleave<llvm::SmallVector<llvm::StringRef, 8U>, (lambda at /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:81:23), llvm::raw_ostream, llvm::StringRef> /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/STLExtras.h:2301:3
# | #37 0x0000000010c14ebf mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::MemoryBufferRef const&, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Support/ToolUtilities.cpp:97:3
# | #38 0x0000000007c89f96 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:776:26
# | #39 0x0000000007c8a2c5 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:822:14
# | #40 0x0000000007c8a53b mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:838:10
# | #41 0x0000000007bc87b3 main /home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/tools/mlir-opt/mlir-opt.cpp:347:33
# | #42 0x00007940165221ca (/lib/x86_64-linux-gnu/libc.so.6+0x2a1ca)
# | #43 0x000079401652228b __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2a28b)
# | #44 0x0000000007bc82e5 _start (/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/mlir-opt+0x7bc82e5)
# `-----------------------------
# error: command failed with exit status: -6
--
```
</details>
### MLIR-Unit
<details>
<summary>MLIR-Unit.IR/_/MLIRIRTests/MemRefLayout/numContigDim</summary>
```
Script:
--
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/mlir/unittests/IR/./MLIRIRTests --gtest_filter=MemRefLayout.numContigDim
--
/home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/unittests/IR/MemrefLayoutTest.cpp:52
Expected equality of these values:
m3.getNumContiguousTrailingDims()
Which is: 1
3
/home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/unittests/IR/MemrefLayoutTest.cpp:64
Expected equality of these values:
m5.getNumContiguousTrailingDims()
Which is: 1
2
/home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/unittests/IR/MemrefLayoutTest.cpp:70
Expected equality of these values:
m6.getNumContiguousTrailingDims()
Which is: 1
2
/home/gha/actions-runner/_work/llvm-project/llvm-project/mlir/unittests/IR/MemrefLayoutTest.cpp:77
Expected equality of these values:
m7.getNumContiguousTrailingDims()
Which is: 1
2
/home/gha/actions-runner/_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