<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132741>132741</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_TXMCxGDIvX54AfFqYEBmu2g6WKxTwZFXjncSqKGpNJkfv2CkmzLju2kHU_bKdAPmeLlPefwkJeyzK1V6wZgjqIbFN1e8c49aDP_8uU5DrLgqtDyeb5WDj-CsUo3iOU4ykpJ0yQtBYQJKQklUVqGTIZFGqQg41QACUkWIpIjkttn66D2cSgm_y66xnU4SGcknMX4_ad7FJOhn4HWaNkJwF-Uexj715Uy17p1GF9f99etUY27to6Lz85wAde6uZaKrxttnRKYz3yv7ZiI5GMLyzH2DTEZ_vQfKKt5ixG7xbwsVQOrmreILRBNJUF0gWWAaIavEXuH-zaM6A2WBJeV1kaqR5wOvXCtpb_OEHu3HTd4-8DB3ojjKLWWXQUYJTeI5Ni2yjzOyq4RGIXEqlquVGPBuJUVvOJmVSvLEU0RjbhZE89XMepzDS3Bixa6bckwovRfugFE6SYfxr4b6TkUnaqcamZdY4BX6k-QK6Gb0RArwa3bDInHMbHTWDUSnnZDBV83VHB0KEQj-nXjkDOQxECPG-UeZkI31vHG4TFivyub9Ky7SvVIRi2PBoRnAoJjAdHELrNaNXhw0TClbIwMvTu2IfGRHNE5UMmZgPBYQDoFxdu2eh5hBQOueAxOdrisKGelNqP8g26D1k4PQ1oH7Qh_67U-W3ZOgiOpBl-RVzBuCGZj4D7A8AXAgGwRRnsIh3TBK-nCg3STUHpEfq_RxhYvfTFEUgfWzUqtEaVDkmBYtX6PpOkQMNlP9hRKbrfXJ5gHwUvm2Ya5b2ZvpNyjOuB8bB1MObO3cw6_nvPu6oQt05F69KNdeW6CzlrzGzx5WAf7aor7copYfqSDq9uZrIr6v49OP9xtCipjiOVhX1jAGN3XWHhqQTiQWLdguFO6wQ2vAasG_9FpB_YbIWMUDZV1KbnjiC7tn8-ILu_e__bRfwCQ439BhOjyVbyNdp4qnpwcoFbOA_eHj6kWHhbB5IkQQqIoA5BFQWWR4qp69KcaxPwJZ7j43R9O7r2an_oBaLrrZPiXlbbOAK8R7W2jGjfU3vQELR983Rr9PxAO0aXyBaqqEF0WqkF0uTkbIXpDnoKgkLLYLANEWTDBXBJRpgWRPclbxdeIpqMoiOXvtehnymPatd5upbmHRzDKPfv7Oz6fvqgGcF81ez4Z3kXYmWhbxHLS_x3w0EM8GQsm6Tyyd72LTkE7l_oyGoaMsIwFOw3ZFDOTQSKJnGCW4LiqxqnnxsKEy3-Mbtaf9GdoNqz-fvwJo1QSucMfHuAXMeU-F29081zrzvaL07a9V7MB3IfNwp0yav319s6w3eKhw5GpjvbT0jjj4benvam0-LznirElH8U7iSM-wBGmkfh2HB9hPXDfAdk0xfv-zI3hzx-hRGyx6_uhzW09HTQ3666GxvnTPl3gQuvqLJtkugmVnADPwokZrSiHi6U2H9oJ7j3EUxQD7Om9kfq94w4u6kxGgoxn4c6Z6YEziwT-gkXe7MzsJ3Cm35vJL-NMzyb4VZzpydDv70yflv0kzgx_KWceViLKxatsFp11un6RepxOT5NXP5rXXmUjJGVRlExXXKvM47jmukb8fIsuTiHaPDN5PsmPWXTpT7LoDstSGMvoH7voKNk_6cusyGDiq7v-e82fzpMhhbDIYOtJGvwQT9LD-sMjPn3m6AfLbX2vOyNgqar9p8yh-W5tJo8XUwF3jpy2DmAWuinV-kTgdk5G5fMTtxdawkLXbQUOFrpx8OT6zhd8xokiLnfTtFc4SVFkJSkP9doTyzo57pIP3IBctc4gtjgiIWLvLq3i5nk2d85cVJYwEGFJyp0s4YEsKaRwWpalNp_6ZX0JdU7qsNk5LkaZQTpZsNEh5TgpcQum1KbOhZfdvvKNzAXIeyJT3-_dq5T50Lo7rpoX6mR4cvfIthAfkmMgJzv5e71Wwp9LbFe5SXvZNT3zlel3-VMB04nvGvVHBy-430GtzfNNV5Z-X55oJaHkXeVWEvyaPx3D3o0F5PQM9G---juCV1XBxedV2ewVp4lIb53Lv53P3ndmFQjnq6115vmlOc4ZYOiCaLgi_cBppZv192VyZmZesWeyX_NjRpNo70BaKZc38nejBVi7wfpDTPcPXBJne0zv3TujmrU_0Z1qvtxxKQaaRLvdNz3YoGhIouPW_9UW7sXqWSFDMlE0O1Q05uVJRfuXCQssHvhwsMi_1hivyXFJmjHfnVQYOaSZSbgIze_HJ5O7Y8jeixeQRRYwluCa9y8OL_OmJxOM7R6et29WkpKQiEZZRlKGV6tKFWJlHTduNWZfFp2qJKLLtb93_V78RsnT9iOdsQDRpbAdosvZbHvZ3-zHmQnEchZS_--Ymx2QJZABHrJejm4B2-ey7VvJKzlnMmMZv4J5kIQ0pTELsquHeRxRASxjRRILmsoUqCRlmgInNCQhxFdqTgmNCKNhENIoSGaSkLQMIppQTrK4TFFIoOaqmnmYM23WV8raDuYBo0kYXFW8gMr2P5eitPcYpSi6vTLznlbRrS0KSaWss7sRnHJV_xOrPiC6fePPmYTh9gHsVWeq-YNzbf-ekS79nCn30BUzoetRzyOyetQW0eUI_HFO_x8AAP__4_tLnA">