<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/129044>129044</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[MLIR][Crash] Assertion `mayBeGraphRegion(*op->getParentRegion()) && "expected that op has no uses"' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
xisang0
</td>
</tr>
</table>
<pre>
Test on commit: https://github.com/llvm/llvm-project/commit/01cc1d13cd0c54bd4c29185b052fa5c16285dca7
steps to reproduce:
```
build/bin/mlir-opt test.mlir --test-options-pass --test-loop-permutation="permutation-map=1,0,2" --affine-super-vectorizer-test=compose-maps --verify-each=false --test-extract-fixed-outer-loops='test-outer-loop-sizes=7,4' --test-tensor-transform-patterns=test-reassociative-reshape-folding
```
test case:
```
func.func @reduce_sum(%buffer: memref<1024xf32>, %lb: index,
%ub: index, %step: index) {
%initial_sum = arith.constant 0.0 : f32
%final_sum = scf.for %iv = %lb to %ub step %step
iter_args(%sum_iter = %initial_sum) -> (f32) {
%element = memref.load %buffer[%iv] : memref<1024xf32>
%updated_sum = arith.addf %sum_iter, %element : f32
scf.yield %updated_sum : f32
}
return
}
```
crash trace:
```
mlir-opt: /home/llvm-project/mlir/lib/IR/PatternMatch.cpp:182: auto mlir::RewriterBase::eraseOp(Operation *)::(anonymous class)::operator()(Operation *) const: Assertion `mayBeGraphRegion(*op->getParentRegion()) && "expected that op has no uses"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: build/bin/mlir-opt test.mlir --test-options-pass --test-loop-permutation=permutation-map=1,0,2 --affine-super-vectorizer-test=compose-maps --verify-each=false --test-extract-fixed-outer-loops=test-outer-loop-sizes=7,4 --test-tensor-transform-patterns=test-reassociative-reshape-folding
#0 0x0000557a791aadd8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build/bin/mlir-opt+0x10c8dd8)
#1 0x0000557a791a88fe llvm::sys::RunSignalHandlers() (build/bin/mlir-opt+0x10c68fe)
#2 0x0000557a791ab7e1 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007fd0d73f2520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x00007fd0d74469fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x00007fd0d73f2476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x00007fd0d73d87f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x00007fd0d73d871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x00007fd0d73e9e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x0000557a7c38fd26 (build/bin/mlir-opt+0x42add26)
#10 0x0000557a7c38f6ff std::_Function_handler<void (mlir::Operation*), mlir::RewriterBase::eraseOp(mlir::Operation*)::$_0>::_M_invoke(std::_Any_data const&, mlir::Operation*&&) PatternMatch.cpp:0:0
#11 0x0000557a7c38e1b9 mlir::RewriterBase::eraseOp(mlir::Operation*) (build/bin/mlir-opt+0x42ac1b9)
#12 0x0000557a7c25c141 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() GreedyPatternRewriteDriver.cpp:0:0
#13 0x0000557a7c259403 mlir::applyPatternsGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig, bool*) (build/bin/mlir-opt+0x4177403)
#14 0x0000557a7c3d94cb (anonymous namespace)::TestTensorTransforms::runOnOperation() TestTensorTransforms.cpp:0:0
#15 0x0000557a7c1e0373 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (build/bin/mlir-opt+0x40fe373)
#16 0x0000557a7c1e0c12 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (build/bin/mlir-opt+0x40fec12)
#17 0x0000557a7c1e33ee mlir::PassManager::run(mlir::Operation*) (build/bin/mlir-opt+0x41013ee)
#18 0x0000557a7c1db9ab performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#19 0x0000557a7c1db603 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
#20 0x0000557a7c285415 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) (build/bin/mlir-opt+0x41a3415)
#21 0x0000557a7c1d5262 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (build/bin/mlir-opt+0x40f3262)
#22 0x0000557a7c1d5513 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (build/bin/mlir-opt+0x40f3513)
#23 0x0000557a7c1d5722 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (build/bin/mlir-opt+0x40f3722)
#24 0x0000557a791884f7 main (build/bin/mlir-opt+0x10a64f7)
#25 0x00007fd0d73d9d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#26 0x00007fd0d73d9e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#27 0x0000557a79188055 _start (build/bin/mlir-opt+0x10a6055)
Aborted (core dumped)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWUtv4zgS_jXMhbBBUe9DDo7dnm1ggg7SDezRoMiSzW2J1JJUJulfvyAlR7Lbec3MzmC3kc6DZFV99VWxiqSZtXKvAK5ReoPSzRXr3UGb60dpmdqTq0qLp-tvYB3WCnPdttKheIUPznUWxStEt4hu99Id-mrJdYvotmkejj8WndH_Au4Q3Y6idEsiziMRxVwQniaVSDgtoyKtSEprlvIoo0UqOMsRWVkHncVOYwOd0aLn4C2SFcrI-EVWVS8bgei2kgrRbdtIs9Cdww6sW_q_8GLhf_eDUiu76Ji1x7FG627RgWl7x_wsijeI0tnAomUdijcRomuC6JoiSvFiwepaKljYvgOzeADutJE_wASdKN5w3Xbagpf1lh7AyPppAYwfULypWWPhaB8enWHcLWr5CGKhewcmYLIBSD7gfh5dWPkD_FSO6DpBND-qcaCsNgtnmLK1Nu2iY86BUX5tWGCAWau5ZE4-wMKAPbAOFrVuhFR7fEaol8Cc2Qtc173iS_8No4QY8AHZ2b5FtEA0rfq6BuNzo4XWQI3idURo8ljHFMWfEF1jRNOm8gukEvCI6BqRFb74D9G0P1npR3w2zMZKjPKboAHRVCrpJGs8GoziDWZGusOSa2UdUw6TJcFe1GMZJWqpZustr5e1NkHVQxgJYH3uBSzYG38GcYQtHZgdM3s7MGD7dueHjvIzUB7uAsWfMKKFBzFDH9BAAy0oFyQH-paNZgJPvKY3ARtKN_hFjp_V9Z1gDsQZHUyIGs9wjrxOtieCcGDkSUIjftY34zHf-J8GXG-UT5bw91nWcMPsAftMv5BSxw3rtSK6PegWfq4dfpEflRWi28_3iG7vhgy_ZY4flrzzeREV1CthvdM4CMQrFK_u4Tfjfb0ZEzpegWEWvnSIFl86MGGbY0RXiJbDPKIFU1o9tbq3mDfM2ucpHQS0CeEuL2jAIeM8jJW1YIaZjLTs6QZ-Maw73MPe1xkvv9Kdz4g9uDtmQLnZVBnyg2aIZhhRCo8dcAcCuwNzWHf4wCxWGvcWLKLUV4KayQbEEpHV3a-fVl8_YdtXrXSY4arf-_KpjfPJ_OGyLa3tvZUtZkpgqXjTC8DuAHgIa8X49xBab_urY_w7Fn3bDYEmy2Gf3Bm9N6zFzOx7n2oeAf6TC_crVfuvKtmv1us_p1j73YZoTDB5JISQNM1ZXkaMCVHgEMCQp_bJDr_cGalciMq3sP1oMS0y7Ledts4Aa0OqrbFUbki84nJsEL0hjxHhhRAhSQcs0RmWoqjhEpb7Xn2Ve8WafzAlGjBD0XyHuayoYTJHz8xVOUT4RDGiRfBkja3cS1XrnQu7c40ftBTjRh0k7Fg7SPg_GIhHA3ktiMjjmqaU4IB1LECPRbbLkkUjVf-42Kt-mOBLq5dZwJx4kQlxcqIwSbKy5rhzBwNM7L7LpvmY9tLLT9rTc7hJnuG9De59FHaSZ5Pi7FSxKPI6xqzyheRDaqkXnNTmP6mNqg8rjKpJYXGqEEoos48pjL3IpLCcZxiPi1qEMvxaliaUCUFHHX5PkHMdWV1j68SwFXbbXnFfqXaHMWXjtc9Nb2VqXc_NZexOdP3OvvayirHBJTvijwsDltudVA_6uy8OE8CVetoJ5tjY0Ib68JLeLHyV-EJTPm4sz0l0xglEVflHPXo7LjyqyikuJ9WD05RHSYRPOr5iLdguFMuRr18MgHganRtRbox8gBFSZzQHa_-pzfdGerJCWXtZ6gI18RmsMiHxjBrWdc1RlQ2KZfN0Qsvx8HAWp63RP-BofVTwFdwLUR0gj6vXWtVy7xdUWjfvYzvK84TEE9vJacRFmfDqLbb9VfNb6JHfji1ybCCmV1_ULP6B5kvLLxCcniCJgMT5nGABjsnmmGHf9Jfujlm7Eqzzp72j9RPG78LBcPXavpjPrBRrnqy0t0yx_XD0Hnhd416FC7h4X_9NSA1xPiM5O3eNR_TDrt3JDhqp4Gyv-aXPiF-tAb_L17mQN_VZWWfCCdGfsVevLRiPfWFixD4coz-rWh_z-z05S2rgEZ3ozM_ojGOAMxRHvy7mxQcLVESiGGAyX5yaF1XJKtyB8Ym9Cj3DvnGKey7i9sAMiF3nfHuZJL7q3nC43Rt_Hb1cCG5__Xy_1srBo_spDLeNNF86d8ukGkrETEeJZ7MXdmF57lxG4tlR8Ve9l5w192D7xs3G62O3HG68LwnMG1iv5L97-Mn3W2i1eboZbtRzrgTUrG_cTkADDl6W8V0zvGW8HIHyubVy1jT-frSrFYrXFyl8byz_6_5M6DaSNcDDddQ68_RzcryWAGcnDFo0Wu3_Wk9eiczr6UlPD220SJMonTluu0a6lRJ3Q78_Yv1bku5_cEu8umI-99UZqfb3UL84_HZVZXESpc9VlUZnhSelGb2c0v9vG_Lt9hfTbGp_lJ4zlUbxi0yNTZwf2NCuVx8N5Ftuvgd-Gk2HIRqfw8_py4H-CPw_jjOnM5qT01eMokjqHLdMqjefQ1iW1Pmk6Oz6L0pRfvC1gnqRSeH5tb-EhODdzsvsrGPG7Y4wP2ICkpmJ_Nx5kqZ4UP4O90k6buxVpY2DcGnm2kB4dwQxmjk-MV-J61iUccmu4DrKE5JlJM7Tq8N1WlYZgTit8likkEHGk7hOeZzEjEZA8it5TQlNCaV5RJMsSpckoQVEWV5DFhU1y1FCoGWyWfqUWWqzvwqPpdcRLUmSXDWsgsaGT9UoHV6wKUo3V-Y6PLFW_d6ihPgbo500OOma8EmcP4KhdIPSm7Vh9oDSzd_0pHzVm-b69z8bj2Q8XNP_BAAA___Y3bTW">