<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132740>132740</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] --mlir-print-stacktrace-on-diagnostic crashes
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wwy6191
</td>
</tr>
</table>
<pre>
git version: 59fd2878fce470f02058f43d4b818ed68ce04094
system: `Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt --mlir-print-stacktrace-on-diagnostic a.mlir`
a.mlir:
```
#map = affine_map<(d0, d1) -> (d0 + d0 floordiv 8, d1 mod 8)>
#map1 = affine_map<(d0, d1) -> (d1 floordiv 8)>
module {
spirv.func @simd_insert_scalar_misa(%arg0: i32, %arg1: i32, %arg2: i32) "None" {
%0 = builtin.unrealized_conversion_cast %arg2 : i32 to index
%1 = builtin.unrealized_conversion_cast %arg1 : i32 to index
%2 = builtin.unrealized_conversion_cast %arg0 : i32 to index
%c0 = arith.constant 0 : index
%3 = arith.muli %2, %0 : index
%4 = arith.muli %2, %1 : index
%5 = affine.min #map(%3, %4)
%6 = arith.muli %5, %0 : index
%7 = arith.muli %5, %4 : index
%8 = affine.apply #map1(%6, %7)
scf.for %arg3 = %c0 to %8 step %6 {
%9 = affine.min #map(%6, %7)
%10 = affine.apply #map1(%5, %9)
scf.for %arg4 = %c0 to %10 step %5 {
%11 = affine.apply #map1(%4, %9)
%12 = arith.muli %arg3, %11 : index
"test.foo"(%12) : (index) -> ()
}
scf.for %arg4 = %11 to %10 step %9 {
%13 = affine.apply #map1(%4, %12)
%14 = arith.muli %arg3, %13 : index
"test.foo"(%14) : (index) -> ()
}
}
scf.for %arg3 = %8 to %5 step %6 {
%9 = affine.min #map(%6, %7)
%10 = affine.apply #map1(%5, %9)
scf.for %arg4 = %c0 to %10 step %5 {
%11 = affine.apply #map1(%4, %9)
```
stack trace:
```
tmp.dlbmYvtohM.mlir:33:41: error: expected operation name in quotes
%11 = affine.apply #map1(%4, %9)
^
/data/szy/MLIR/seed/seed15/tmp.dlbmYvtohM.mlir:33:41: note: diagnostic emitted with trace:
#0 0x0000559eedbb2db8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bddb8)
#1 0x0000559ef0cf8b0d emitDiag(mlir::Location, mlir::DiagnosticSeverity, llvm::Twine const&) Diagnostics.cpp:0:0
#2 0x0000559ef0cf8931 mlir::emitError(mlir::Location, llvm::Twine const&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x4303931)
#3 0x0000559ef3d17d0d mlir::detail::Parser::emitWrongTokenError(llvm::Twine const&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x7322d0d)
#4 0x0000559ef3d1c62a (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#5 0x0000559ef3d269a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#6 0x0000559ef3d2485c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#7 0x0000559eefa0ea94 mlir::scf::ForOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x3019a94)
#8 0x0000559ef3d1b7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#9 0x0000559ef3d269a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#10 0x0000559ef3d2485c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#11 0x0000559eefa0ea94 mlir::scf::ForOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x3019a94)
#12 0x0000559ef3d1b7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#13 0x0000559ef3d269a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#14 0x0000559ef3d2485c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#15 0x0000559ef3d22acc (anonymous namespace)::CustomOpAsmParser::parseOptionalRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#16 0x0000559ef0083557 mlir::spirv::FuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x368e557)
#17 0x0000559ef3d1b7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#18 0x0000559ef3d269a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#19 0x0000559ef3d246d5 (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#20 0x0000559ef0cd9b9e mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42e4b9e)
#21 0x0000559ef3d1b7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#22 0x0000559ef3d1a5ad mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x73255ad)
#23 0x0000559ef0bb9f0f mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c4f0f)
#24 0x0000559ef0bb8e8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c3e8e)
#25 0x0000559ef0bb867f performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#26 0x0000559ef0bb83ed llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, 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::raw_ostream&) MlirOptMain.cpp:0:0
#27 0x0000559ef0c63275 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::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x426e275)
#28 0x0000559ef0bb2405 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd405)
#29 0x0000559ef0bb26af mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd6af)
#30 0x0000559ef0bb29de mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd9de)
#31 0x0000559eedb91337 main (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119c337)
#32 0x00007f0052599083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#33 0x0000559eedb90e9e _start (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119be9e)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWl1v2zgW_TXMCxGDIvX54AfFqYEBmu2g6WKxTwZFUg63kqghqTSZX78gJVuSYztpx9N2CvRDpnh5zzk85KUsU2PkthFiCaIbEN1e0c4-KL388uU5DrLgqlD8ebmVFj4KbaRqAMlhlJUcp0laMhEmqEQYRWkZEh4WaZAKHqdMoBBlIUA5QLl5NlbULg7E6N9F19gOBukChYsYvv90D2LU99Oi1Yp3TMAv0j4M_etK6mvVWgivr_11q2Vjr42l7LPVlIlr1VxzSbeNMlYySBeu135MgPKhheQQuoYY9X_8B0xq2kJAbiEtS9mITU1bQFYApxwBvII8ADiD14C8g74NAnwDOYJlpZTm8hGmfS9YK-6uM0De7ccN3j5wMBtxGKVWvKsEBMkNQDk0rdSPi7JrGAQhMrLmG9kYoe3GMFpRvamloQCnAEdUb5HjKwl2ufqW4EUL3rdkEGD8L9UIgPEuH4SuG_Icik5WVjaLrtGCVvJPwTdMNYMhNowauxsSDmNCq6BsuHgahwq-bqjg6FAAR_jrxkFnILGeHtXSPiyYaoyljYVDxLwrmfSsu0p6JIOWRwPCMwHBsYBoYpdFLRvYu6ifUjJEhs4d-5D4SI7oHKjkTEB4LCCdgqJtWz0PsIIeVzwEJyMuw8pFqfQgf69br7VV_ZDGinaAv_eaz5adk-BIqt5X6BWMO4LZEDgHGL4AGKA9wmiGsE8XvJIuPEg3CcVH5Hca7Wzx0hd9JLbC2EWpFMC4TxL0q9btkTjtAyb7yUyh5HZ_fYJ5ELxknu2Yu2byRsoe1QHnY-tgypm8nXP49ZzHqxO2TAfq0Y925bkJOmvNb_DkYR301RT6cgpIfqSDrdsFr4r6v49WPdztCiohgOShLyxCa-VrrHhqBbOCQ9UKTa1UDWxoLaBs4B-dssJ8I2QIor6yrjm1FOC1-fMZ4PXd-98-ug9C8OG_IAJ4_SreRllHFU5ODqKW1gF3h4-pFg4WgugJIYSiKBOCFwXmRQqr6tGdagBxJ5z-4nd3OLl3an7yA-B07KTpl40yVgtaA-xtIxvb1970BC0XfN1q9T_BLMBr6QpUVQG8LmQD8Hp3NgL4Bj0FQcF5sVsGAJNggrlErEwLxD3JW0m3AKeDKIDk7xXzM-Uwja23e2nuxaPQ0j67-yOfT19kI6Cvmp5PBscIs2BtC0iO_N8eDz7Ek5Fgks4he-dddAraudSX0TAkiGQkGDUkU8yEBwlHfIKZC0tlNUw91UZMuPxHq2b7SX0WzY7V348_IRhzxEf84QF-FmPqctFGNc-16oxfnKb1Xs16cB92C3fKqHXX-zv9dgv7DkemOpqnxXFGw29Pe1Mp9nnmiqElH8Q7iSM-wBGmEft2HB_Ftuc-Atk1xXN_5lrT54-iBGQ19v3Q5qaeDprrbVeLxrrTPl7BQqnqLJtkugmVFAmahRMzGlb2F2ulP7QT3DPEUxQ97Om9gfq9pVZc1JkEBRnNwtGZ6YEzi0T8BYu82ZnZT-BMtzejX8aZjk3wqzjTkcHf35kuLflJnBn-Us48rESYslfZrDpjVf0i9TCdjiatfjSvWWVDKCVRlExXXCv147Dmuob9fIsuTkW0e2ZyfJIfs-jSn2TRHZalMObRP3bRYTQ_6fOsyMTEV3f-e82fzpMhFmGRib0ncfBDPIkP6w-N6PSZww-Wm_pedZqJtazmT5l9891WTx4vpgKOjpy29mBWqinl9kTgfk4G5fMTt1eKi5Wq20pYsVKNFU_Wd77gM04UUT5O06xwoqLISlQe6jUTy1g-7JIPVAu-aa0GZHVEQkDeXVrF3fNsbq2-qCxhwMISlaMs4YEsqUjFaVnWSn_yy_oS6pzUYbdzXIwyEelkwUaHlOOkhK3QpdJ1zpzs5pVvZC5A3hGZ-n52r5L6Q2vvqGxeqJPByd0j20J8SI4IPtnJ36utZO5cYrrKTtrLrvHMN9rv8qcCphPfNfKPTrzgfidqpZ9vurJ0-_JEKy5K2lV2w4Vb86djyLuhgJyeAf_my99htKoKyj5vymZWnCYivXUu_3Y-s-_MKsGsq7bG6ueX5jhngL4LwOEG-YHTSjXb78vkzMy8Ys9kXvNjgpNodiCtpM0b_rtWTBizw_pDTPcPXBJne0zv3Vstm6070Z1qvtxxKRY4icbdNz3YoHCIouPW_9UW7sXqWcFDNFE0O1Q0puVJRf3LhBVkD7Q_WORfa4zX5LgkzZiOJxWCDmlmXFyE5vfjk_HxGDJ78SJ4kQWEJLCm_sXhZd70ZIyQ8eF5_2YlKRGKcJRlKCVws6lkwTbGUm03Q_Z10cmKA7zeunvX79lvGD3tP-IFCQBeM9MBvF4s9pf-ph9nwQDJSYjdv0NuckAWiUzAPuvl6BZi_1y2fyt5xZeEZySjV2IZJCFOcYzj5OphWQZlKYK0IJiWmGZhhtKiiDFHCGUlKoIrucQIR4jgMAhxiJMFTTmJaUQwzTBKMwxCJGoqq4WDuVB6eyWN6cQyIDgJ0VVFC1EZ_3MpjL3HMAbR7ZVeelpFtzUgRJU01owjWGkr_xMrHxDdvvHnTExT8yDMVaer5YO1rX_PiNduzqR96IoFU_Wg5xFZHWoD8HoA_rjE_w8AAP__O1dL5Q">