<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60726>60726</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Inline pass violates assertion "expected 'op' to have no uses"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Colloportus0
</td>
</tr>
</table>
<pre>
MLIR built at commit https://github.com/llvm/llvm-project/commit/4b815d84
Reproduced with:
`mlir-opt --inline temp.mlir`
temp.mlir:
``` milr
module {
func.func @func() {
%c0 = arith.constant 0 : index
%alloc = memref.alloc() : memref<8xf32>
scf.index_switch %c0
default {
%0 = bufferization.clone %alloc : memref<8xf32> to memref<8xf32>
%1 = memref.realloc %0 : memref<8xf32> to memref<15xf32>
memref.dealloc %1 : memref<15xf32>
}
memref.dealloc %alloc : memref<8xf32>
return
}
}
```
trace:
```console
Assertion failed: (op->use_empty() && "expected 'op' to have no uses"), function eraseOp, file PatternMatch.cpp, line 276.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: mlir-opt --inline temp.mlir
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 mlir-opt 0x0000000100a212fc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 mlir-opt 0x0000000100a20364 llvm::sys::RunSignalHandlers() + 112
2 mlir-opt 0x0000000100a21994 SignalHandler(int) + 344
3 libsystem_platform.dylib 0x00000001b36554c4 _sigtramp + 56
4 libsystem_pthread.dylib 0x00000001b363dee0 pthread_kill + 288
5 libsystem_c.dylib 0x00000001b3578340 abort + 168
6 libsystem_c.dylib 0x00000001b3577754 err + 0
7 mlir-opt 0x000000010289788c mlir::RewriterBase::eraseBlock(mlir::Block*) (.cold.1) + 0
8 mlir-opt 0x000000010222e174 mlir::RewriterBase::eraseBlock(mlir::Block*) + 0
9 mlir-opt 0x0000000100c35e54 (anonymous namespace)::SimplifyClones::matchAndRewrite(mlir::bufferization::CloneOp, mlir::PatternRewriter&) const + 132
10 mlir-opt 0x00000001023b4ba0 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) + 1420
11 mlir-opt 0x0000000102162048 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() + 2432
12 mlir-opt 0x000000010215f6a0 mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig) + 1516
13 mlir-opt 0x0000000102126288 (anonymous namespace)::Canonicalizer::runOnOperation() + 156
14 mlir-opt 0x0000000102110efc mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 428
15 mlir-opt 0x000000010211142c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
16 mlir-opt 0x00000001021350c0 (anonymous namespace)::InlinerPass::optimizeSCCAsync(llvm::MutableArrayRef<mlir::CallGraphNode*>, mlir::MLIRContext*)::$_0::operator()(mlir::CallGraphNode*) const + 332
17 mlir-opt 0x0000000102134bd0 (anonymous namespace)::InlinerPass::inlineSCC((anonymous namespace)::Inliner&, (anonymous namespace)::CGUseList&, (anonymous namespace)::CallGraphSCC&, mlir::MLIRContext*) + 7928
18 mlir-opt 0x000000010212d0c8 (anonymous namespace)::InlinerPass::runOnOperation() + 1216
19 mlir-opt 0x0000000102110efc mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 428
20 mlir-opt 0x000000010211142c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
21 mlir-opt 0x0000000102112d9c mlir::PassManager::run(mlir::Operation*) + 1148
22 mlir-opt 0x000000010210c16c performActions(llvm::raw_ostream&, bool, bool, std::__1::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 476
23 mlir-opt 0x000000010210bd58 mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0>(long, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) + 704
24 mlir-opt 0x0000000102176378 mlir::splitAndProcessBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) + 656
25 mlir-opt 0x000000010210a180 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool) + 216
26 mlir-opt 0x000000010210a674 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
27 mlir-opt 0x00000001008c0b34 main + 108
28 dyld 0x0000000105b95088 start + 516
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWU1v4zjS_jXMhWhDoj598EFxkpkGkjdBMu8udi8GRZVsbihSS1Lpdv_6BSnJthIndk_3oXcxQWDZVPFhVbHqqaJEjeFrCbBAySVKri5oZzdKL5ZKCNUqbTsTXJSq2i7ubj8_4rLjwmJqMVNNwy3eWNsaFBWI3CBys-Z205UzphpEboR4GS-fWq3-BcwictPPQ-QmLvMwqfIYBVcoKB6h1arqGFT4C7cbFBW4v4HSoBFcf1KtxZ8-cSm4BGyhaWduGKXBIOY_9-NRsZve_-OGCz1gNqrqBGCUXfa_Ma47yWbuA6M4cFdEckTmhyIYI5KwAKPoClPN7WbGlDSWSovdYIG5rODrII1IQoVQzEs30GioZ35gxI2KYRhFy_xrHREUXe9XMqyeebiV-cIt24xL9wIV1LQTdqqcV6_XruzqGjT_Ri1XcsaEknCo0JGVsVUfqeOxw0NbNAxo_ZqnIMPkCOYAVe2hwinUkVkouxp-vJ39gX17AA2203LcpRFt_-XwcwydUboPMU0ZvA0vFwtKAB6kCmNAO_fjmnIBlY9nkqv2E4quOwMraFq7HYOBpIikGBECX1tgFiqMSKZaRDLnxQ19ASwV7gwYRAgic0SWPmL9AqCpgfvWj3EB-IFaC1reUcs2M9b6Gz5pSJbOeu0ebq-Lp2tsutKlMMVlt8YaXLL79b43pbkxnVPtBlNZYS6Z6CrAdgOYaWo2uKTs2bttWP7JUvaMq65pd34MZiiYP2i11rTBVK-7BqQ1fi8_SP5XaJ45VGex2TalEljSBoxzO0jTacBb1fXO9Pr3QvwbaMylu6fxQ_HH71hpbMB69UG-cK2k0wW_UI1RGtze_u1u9fSPu8v728__vH5cuSmOXazCreLSO9DR23xvGt7b8Pov-Br0f2EQUBKSmnnd3NyoMFvTf3nQXFpv5h8--Ei-F9L0y0oZq4E2PoyWmEvbB9UlTtJehfBAhemSQZTGx5Z87OQTX0sqfqeyEqDNLlQvcRiSHpacbdh8HuMJHiL5gZ5RPFSBCAtemq2x0KxaQW2tdDOrtoKXB4hllCZJzGK8MnxtNW3aibHxIYbdaKDVADHFiCqAAA8Sq2cuhIched7jJAc4bER4bV0ZJVkexQGmpcse7550AEjPBciyJMagtZ8-sE12fMtIPs_ynOGxxkXFI3zR3IK-pAb6EU8Il0KxZ0TyveAwUvROz2dMiWoWjlswLJufF6yEEAiz-MfV2C08fydEWZRAEjuFqVRy26jO9Hnd-kyY96BPvGkFr7dLV-uGEG4cARayGjSbKDGpkP2Qn9rT6F5u4NLROJ9hc-zrfr_X0ZAKYXB8u6IyLmnwFrFoW8EZtUqfVva-Bd0r6rx2Sr3lQTqPNWLVV8NSKRfj-RuA3qLeOlctPwJ5Ubz6YZD95Fu15oyKRzC-ozkHd2ChmAyhE4bnxWyYkiDOT4XSbxqg2k49e6X5CwxatVoxMObvSj8L7vTa8SKJd9FwHjOSMKnTSXTQthXj2qaQ1Y0SlVeIi-3EN4-w9gGRTgPiRqtvMGo94DyBPXDhoXRv6iC9VLLm6513k3CsHdGZtpCU5Ce9u3Q33Ya7ujtUsE7ey4MY39eZXfmKjydXGAZQH3JhBZZyMWbNH-q-faDGFBVtd4mmO_kqyIx5k1fvZ1whqdgabu6opGuXcUvssspdO-nPUdVhAY7JUAvC5EwvhmFMvt-kB96C641e8YYT3Wma_nQbp1RkzGdprPadm9JHuOpQ4IB4R90fqAZpP8tajeG6qxHRLtXTM90YJYE7L30cjJ99P6l9CPgB1Vre8G_wtFwWZusPgXsKu-ssLQUUWtPt4ysWW1IhftO03fyfqsAp3vPfXsCdnZdKWvg62NUPIxKvgnFttx_Ocbnv8PMP0Cc1KNqxTnauc-Ky-n7n9N3303LpNTxn7hBzpyjht_83cMt3_HSSQQZneE3SE272HsrmuzTMzyWzKmAnyeyNi96nMrKj0_l_PZeRd3qdv7jrQ-4i57YpIanm7NXqoz1H933qjvGQFo_bRd7ZroCFKcMtaHfKKnx7Zk6cLUdfjldjq150tQqHE-SGaqhWrdUoWu6hnlSnGdytNYqu3-lGXufuj7eP0wAam9KpDUNsZ0N6knO7naCskhy_p8if0fytLzvJ_93BG1_eQaP09tIfYY5vwvCAcFWBAAvvT46u3zTqr_fce83fYVSIkrLnVS0nhtwJru9be0e5PBE9v4aFPzOW9hJXnApg1vXlxurtO_ly3nXaHFw7ryq5_nU8-CZG-iobDA9xSHxmDmVplB3mkGkFt4WsHvoj1qj9L5IZ_xOZ_KHEcW5Mx2MYSd4rJDTMD0-xfzHCT2eE_gHD2ESSc49BAU0nT-mmOzM0QmxD-5bnVdF9sprLtTvqnG3X2O0GY--RHX-ql7OgjGLcUC77GbsJOa62ojoUTsp5EuQ5NpYOT1h3zyaOv6e5qBZRNY_m9AIWYZqlURyleXaxWeRlXDFGKGN1OM-iqIaMJFmd5nlGyDxOL_iCBCQKSBgHURCSbBZRWhOoszAhacDiAMUBNJSLmfPSTOn1hX_3sUiDjKQXgpYgjH-PSoiEL9jfRISg5OpCL_xbh7JbGxQHghtr9iiWWwGL_jyBW2oMfuFKUAsG092bpDPfD110Wiz-_Dscb8p_AgAA___vwP6G">