<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/131433>131433</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[MLIR] crashed on “-remove-dead-values“ pass with assertion failure: `hasOperandStorage && "expected operation to have operand storage"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sweead
</td>
</tr>
</table>
<pre>
test commit: [bbd1bb4](https://github.com/llvm/llvm-project/commit/bbd1bb40573dd5a36dc04af4ad307d6e16456f89)
step to reproduce:
`
mlir-opt test.mlir --remove-dead-values
`
test case:
```
func.func private @main() {
spirv.Return
}
```
Crash backtrace:
```
mlir-opt: /home/workdir/llvm-project/mlir/include/mlir/IR/Operation.h:988: detail::OperandStorage &mlir::Operation::getOperandStorage(): Assertion `hasOperandStorage && "expected operation to have operand storage"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/workdir/llvm-project/build/bin/./mlir-opt test.mlir --remove-dead-values
#0 0x000055ba39c6d158 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x12d3158)
#1 0x000055ba39c6ac7e llvm::sys::RunSignalHandlers() (/home/workdir/llvm-project/build/bin/./mlir-opt+0x12d0c7e)
#2 0x000055ba39c6db61 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007fd070b10520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007fd070b649fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007fd070b10476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007fd070af67f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007fd070af671b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007fd070b07e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x000055ba3cd9d6cb (anonymous namespace)::RemoveDeadValues::runOnOperation() RemoveDeadValues.cpp:0:0
#10 0x000055ba3cd668a3 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x43cc8a3)
#11 0x000055ba3cd67142 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x43cd142)
#12 0x000055ba3cd6991e mlir::PassManager::run(mlir::Operation*) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x43cf91e)
#13 0x000055ba3cd61e9b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#14 0x000055ba3cd61af3 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
#15 0x000055ba3ce0d065 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) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x4473065)
#16 0x000055ba3cd5b752 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x43c1752)
#17 0x000055ba3cd5ba03 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x43c1a03)
#18 0x000055ba3cd5bc12 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/home/workdir/llvm-project/build/bin/./mlir-opt+0x43c1c12)
#19 0x000055ba39c4c8df main (/home/workdir/llvm-project/build/bin/./mlir-opt+0x12b28df)
#20 0x00007fd070af7d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#21 0x00007fd070af7e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#22 0x000055ba39c4c435 _start (/home/workdir/llvm-project/build/bin/./mlir-opt+0x12b2435)
Aborted (core dumped)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWF1v47oR_TXMCxGDIvX54AfFidEFNtggueirQZEjmV2ZVEkqm_z7gpId2Uqyu27dW_QC2bUtDs_MOTNDUuTOqUYDLFFyg5LbK977rbFL9wOAy6vKyNelB-exMLud8oiVGCU3VSWjqopRcotovvW-c4iViK4RXTfKb_tqIcwO0XXbPh8-rjtr_gHCI7reQ9H1HoYkGZMy4SyVgsS8jrlkJJMpRGmcpHVeIFogUiJSOg8d9gZb6KyRvYDglpQoJYiUu1bZa9N5HOJdhF_4-trCzjzDtQQur59524PD4wQ8Io7cuDtCGv9Iietei0X4D3dWPXMPGMVkx5VGNEe0wCi7CWYYY9cp-7x4BN9bPTxC2e0MDZFyZbnb4oqL795y8YHHA4NBZbremh0guv5h7Hep7Hsdgzmia6VF20uYHnx5RHT9rQPLvTJ6sUWsLPI8gErwXLXBMSsHAy2fvLG8AYxoOkyfxsLk8WcD_tR6FCAgls6BDZYYpWTL3XtURFOMKIWXDoQHic0BOyRyy59hfKIldgdwimiGa65akAtEyoevd-XTHXZ9tVMec1z1TagAY_0AcW75Ked6cIiucXC6Vw_7LWBxmqDg-8lz8R3LfteN6SILRIoHaxrLd5jbpt-B9u43E1b1qpXhM5TQerHP2G_UbKgpRBnB5IUQQpKk4qwQqYySHA8khzS5Vzd-ebBK-yHyP4ZCo_lkZPmPjXHeAt8NyVlhpf1QzSGn_wEFRG_IS0Qli5J8bNgQcjQLmYsMPgr5sddPqtG8_RvXsgXrDj12oaiIyGCKis6FrNIIn_hHNB90WWGnGqVrs_GIluH3s1Fy-FrsZ7iF6EJ1kOHf6IDtHWS1JBmpIpJQsufSqgrR9UuebtL4ulW6f7ludD8OiIUzi3SIOaYJJVPE8SlgGhe1wJ3fWuBy81217XnoRVrUYkJP5uHGWYobN9A7N-w4Syfg9ASY12lWM8yr0LpnwdI8q9kEm72DjaqzAaNqAsxPBSAZFOl5gKyA4oh4cVxhQhYyFUOEXBv9ujO9w5rvwHVDexb7Hhj6_ha4_PvY9WPD9vqbnhbksS3mprMSDI1HTiNI05wzPC3xp1vBH-Zb98CdKyXvvLFvnhHNpynBYN8EH20V85FS8_bVKXfPNW9CR61wZUwbPns9HDrkRdeemAmR832VBAWimQJZFNOzFXhQHbRKw4kSo-kbsfTikhxPCq6-aOftsNcY-w711OBo3z7E_sAtaP9F1wYLo53fL1-XUl1GMZ1UpzPViyKCWbAH-h9W2al6l4uyLiKYomSzKCMoKtyBrY3dlSK4d7_YNp2X-z1syy3ITectYqtpxpPprYD7xiJ2d5B9Vij3X788roz28OLfJfW-VfZb5--50iuja9UcYRT4aPSD1o_n5HjNjjbdr6ZRgreP4PrWHz0PR93AfGOhPqFyOgHR_I17r9U_e3jH_R52xr7e9HU9FvmbvYSa963fSGjBw-dz2F34oyv8eQaKwSiMCN624dC2qTViqw8l_N1c_tf5TNHdKt6C8I_QKOft6_vi-FkBjCaIxhsyAOet0c2fy-QnmflFeSYn5QlEkjQ5Iu66VvlSywdrBDh3iPV_UnT_hy3xU4vjsSdvlW4eof708aUW3zhjJE2mxTc9XZ-SKkvox5X_V-vbi-1mUZYc7bnZXFBO2KeC7g8YYsvHo0R5bln8So0LsuTk6DyXz1mK6POyOYfln0ZHREdJK05fQmORyxrvuNKXeumtaC7rN3-UzF6aMlmc-U5KC1mQCTCaA0JM8GYT5myc59Zvjtj8tguIj1zQuUYxS_AIfjmVYrZfm8rwYgoyIAtjYbj2Afl2-_h2VXcll0wWrOBXsIyymBLKaBFdbZd5IWjOqgKyJKmzIqGQ0jqnQkQsTqmsrtSSEpoQFiUkoxGLFjRheSSyiFc5FFXEUUxgx1W7CDQWxjZXw3XVMmJRzNhVyyto3eGu1i4HslXfOBSTVjnvpnle-Xa41Q2nTJTcjrdbILHRGN1RlBNUrD66azqM4Y47h38ov8X87Zav5qrtLQwXXhe88Lvqbbv892_y9uo8L-m_AgAA___sVQRD">