<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/107546>107546</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] mlir-opt optimization options(` -loop-invariant-subset-hoisting -mem2reg -remove-dead-values` ) crash in Assertion `!NodePtr->isKnownSentinel()' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Emilyaxe
</td>
</tr>
</table>
<pre>
git version: c28b1a19aa
system:` Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt -loop-invariant-subset-hoisting -mem2reg -remove-dead-values a.mlir`
This mlir program is a regression test in mlir
a.mlir
```
func.func private @no_block_func_declaration() -> ()
```
stack trace:
```
mlir-opt: /data/szy/MLIR/llvm-release/llvm-project/llvm/include/llvm/ADT/ilist_iterator.h:168: reference llvm::ilist_iterator<llvm::ilist_detail::node_options<mlir::Block, true, false, void, false, void>, false, false>::operator*() const [OptionsT = llvm::ilist_detail::node_options<mlir::Block, true, false, void, false, void>, IsReverse = false, IsConst = false]: Assertion `!NodePtr->isKnownSentinel()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt -loop-invariant-subset-hoisting -mem2reg -remove-dead-values /data/szy/workspace/convert-testing/seed/seed-regression/tmp.q2wlbesm.mlir
#0 0x0000563ff1b95148 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10c1148)
#1 0x0000563ff1b92c5e llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10bec5e)
#2 0x0000563ff1b95add SignalHandler(int) Signals.cpp:0:0
#3 0x00007fcbea977420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007fcbe9fb400b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007fcbe9f93859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007fcbe9f93729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007fcbe9f93729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007fcbe9fa4fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#9 0x0000563ff7743cfd (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x6c6fcfd)
#10 0x0000563ff4cb62ff void llvm::function_ref<void (mlir::Operation*)>::callback_fn<(anonymous namespace)::RemoveDeadValues::runOnOperation()::$_1>(long, mlir::Operation*) RemoveDeadValues.cpp:0:0
#11 0x0000563ff1c988be void mlir::detail::walk<mlir::ForwardIterator>(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11c48be)
#12 0x0000563ff4cb56fa (anonymous namespace)::RemoveDeadValues::runOnOperation() RemoveDeadValues.cpp:0:0
#13 0x0000563ff4c80d96 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41acd96)
#14 0x0000563ff4c81700 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41ad700)
#15 0x0000563ff4c83d42 mlir::PassManager::run(mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41afd42)
#16 0x0000563ff4c7c571 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#17 0x0000563ff4c7c1cb 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
#18 0x0000563ff4d2a245 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-release/llvm-project/build/bin/mlir-opt+0x4256245)
#19 0x0000563ff4c775f5 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41a35f5)
#20 0x0000563ff4c7789f mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41a389f)
#21 0x0000563ff4c77bce mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x41a3bce)
#22 0x0000563ff1b75d77 main (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10a1d77)
#23 0x00007fcbe9f95083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#24 0x0000563ff1b758fe _start (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x10a18fe)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWV1v5CjW_jXODaoSxt8XuahOUnqjt7OJkuzupYXh2MUGgwdwPubXr7CdVNlJerqnuzS7KyVlGzDnnOc8PGCg1opGAZwGyZcgOT-hvdtpc3rRCvlCn-Gk0vzltBEOPYKxQqsg2iBG8iqkYUFpgM8DvBl_7Yt10AbRJkgx-nvVK9ejMF_jeJ2ir_d3QYoPWxvojOY9A_Qk3M73GqS4lcKsdOfQSmrdrYR6pEZQ5Va2ryy41U4L64Rq0KqFlhhoEFoZaPUjrDhQvnqksgeL6Np3tDB4vxMW-XLUGd0Y2iJhEUUGGgPWR4YcWIeEGhodvjl1N5akePobHutesbX_QZ0Rj9QBCmKsdFlJzR5KX1FyYJIa6jx2JA9IgVZBdIHG-w87tY6yB-QMZeDR_KjJK1ADbmTLqaMB2drfXwKyvfp6eRuQrZSP7cqABGrh9bEz-l_A3PQYkK1QTPYc9gWb83tfLIV1pXBgqNNm7dMTprk3ZqAGA4oBGl6INkG0mbcOorNlFQdHhRxLlOZQ6s7DYYPobEB2qPjiIQvIGXKmB3-tqbTDzaMW_H1BdDErG2-ii7Ez3U3OkM0EOtPKOhQkX65H2_coiM7fBXFETy_tLfgxBIPhtxaX9mz07K0wOfdAb6wF4237cRGQ8G-aw40znjvC_r_ST-oOlBMK5MQkkqGaCgl8PVLk5uvF5u4C2b5qhUMUVX2DDHTaOOQ02jnXWR8O2QZk2wi366s10-2eCQvCCGt7sAHZIqo4mniD3A4QM9TuUEXZw0DZyfzdQGLet90bh_E6wMXNNPioafoWlLN_msJVLyT3V6ECsv1x6fhIOZaOPGnzYDs_EMmWafUIxq28TAjV-DYAfLqs9joSkK1ru_Vv5ElWYNsD8UABiTDCzxhjnKRRXYdVkYRxfkBD-2LHmxsjlBtAvB-EgOT7RoY-ldo6A7QNSOpZJJTzJB-o8MugDMgX_BxiFobxXqt8DOEiBsIS-CiG217diUZR-X9UcQnGTmPxKG5WwBKYuUmWUFPO0cyhgOQTcmOxXbPO8xUP_28dRVNHWc0qoEWWxQSjsjRgnTZQGjdFJEUVkO1znpZpvJJC9c-rRvVjRed2BihfW73Go8dxTPDM3_jQTFFXMcYVMlR4ydgH30hRsdVXdknw89sjWUehx3KIIiDb9do_vVgOnR-zvRLPY8Hj4I3q_ePQ9ZoF0SYJvcLvPUnmnhRRnhSIVnqI9Ps8cXxEY3hrMJJ7I9neSLo0kpECNeDK0e_SQuMFohyG5vfaFcr5-KWmvLUNo6PpBBfegb3t7CPbpZKlf7HkuqVC_ZzJIvMkiuK9zXxuk8Y1T7-DOMxTJh0oE0U1T2eUKQ4pnmVxxGp-jOGVsrRmNd-vWEgUzpQsZlVK6nqY8A6kwK-A_CRWGqiD6GyoDUi-n0uvh4l6UM2N7_11AmdUSj-llLUKorOA5FRp9dLq3iJFW5g0uZh0ZhDyc6D8H4OMTyrZq2t10H_-1j4gcRkO03IutVfyM_SpR2jZ-XuJ8GDMJZEVeV7BCMa-58PFxROVD7NFxVabJ2r45dsq6uIbOJ39JMSzgP9J5cO14V4NjyPNIYvzCmbcIQvuJGlN0S_L8nfmLJo7kWNepJ-k67q719fdDbV2w2k35GcyPoPaN5gS9Hnq9jUbReWLFfaKKtp4_M9QpbX0114Nn2X8iDN7HFLGi3SWl3gBSZhh_MOQ3IgOpFCwYKFv-hZp-ssxOnzJm7pU1plhiTl9BnzeYLQ8Vky-31ADyl2qWo9fDpMYHCcNPMN4loZkkYaIx2Th_SseH_JwqWHHcbvmMZm5nc7dzliShagDU2vTbtj4IfXtdax1fFpD7qgBXnZu_j15p3vD4Krx-viamAWVfGBnWjl4du_SfiWFue7cFRXqTKtaNAd9FOig9mPByJbxhaw6UOKvuhGMyluwvXSfK_RnLwQkfwu_V-K3Ht6FfwWtNi9f-roeR8Jbew417aX_fpXg4PN3_PR6MZ8_lkn4bA7-EMXvTefR49l7dy6oBOZuoRHWmZf3_PgWB_brAzxfH_xHZOaPGZrPGMoJJXFyELvtpHAbxW-MZmDtq7t_Ce_-C0fFN1sc1t05I1RzC_WnxcfRZJKkJE5mmlwsNCtL6uTj0fC_NpaPNOtFST1DmOAlwnlRf4rwtFRhOzouSjY_Spw_gudoYedFPQs7XIZdMfglYf9F8VVs9olCFrtHWcKzDE37AkfYvqIhz7KZA9FijyLBeYTKUoqKldZR48of2aVgtn_dFxpvh8qhn2G_IoqJ_92bj5fx5zWg0fCxEMhreH8mcsJPI15EBT2B0zAjSRoSgsnJ7pRkMQEa5pzzqiAhx1GEc57lIWMMF3l9Ik4JJjEucIrzOCJkzWsWxTSucMRpVtAoiDG0VMi1d3OtTXMy7HKfhjhL4vRE0gqkfT0YM6dDMFXf2CDGUlhn9-854eRwhDaQNzlHb9vRunOiFb8Pq3H0eppA8iDFP3fI5TsYzjWG3XehfubA4KQ38vTPnwhMcD2ekn8HAAD__w3tyKI">