<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64331>64331</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] `scf-parallel-loop-tiling` pass with `parallel-loop-tile-sizes=0` triggered Floating point exception and crashed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Colloportus0
</td>
</tr>
</table>
<pre>
MLIR built at commit ed83797f
Reproduced with:
`mlir-opt "--scf-parallel-loop-tiling=parallel-loop-tile-sizes=0" temp.mlir`
[temp.mlir](https://github.com/llvm/llvm-project/files/12237281/temp.mlir.txt)
trace:
```console
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 --scf-parallel-loop-tiling=parallel-loop-tile-sizes=0 mlir/temp1627897143751579929344_9.mlir
#0 0x0000557882cc21d2 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /data/mlir-fuzz/llvm/lib/Support/Unix/Signals.inc:602:0
#1 0x0000557882cc29d3 PrintStackTraceSignalHandler(void*) /data/mlir-fuzz/llvm/lib/Support/Unix/Signals.inc:674:0
#2 0x0000557882cbded8 llvm::sys::RunSignalHandlers() /data/mlir-fuzz/llvm/lib/Support/Signals.cpp:104:0
#3 0x0000557882cbe227 SignalHandler(int) /data/mlir-fuzz/llvm/lib/Support/Unix/Signals.inc:403:0
#4 0x00007fbede4cb980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
#5 0x0000557884849cbc mlir::scf::tileParallelLoop(mlir::scf::ParallelOp, llvm::ArrayRef<long>, bool) /data/mlir-fuzz/mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp:117:0
#6 0x000055788484bcca (anonymous namespace)::ParallelLoopTiling::runOnOperation() /data/mlir-fuzz/mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp:204:0
#7 0x00005578862135b6 operator() /data/mlir-fuzz/mlir/lib/Pass/Pass.cpp:485:0
#8 0x00005578862135b6 callback_fn<mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::<lambda()> > /data/mlir-fuzz/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:0
#9 0x00005578862135b6 llvm::function_ref<void ()>::operator()() const /data/mlir-fuzz/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:0
#10 0x00005578862135b6 void mlir::MLIRContext::executeAction<mlir::PassExecutionAction, mlir::Pass&>(llvm::function_ref<void ()>, llvm::ArrayRef<mlir::IRUnit>, mlir::Pass&) /data/mlir-fuzz/mlir/include/mlir/IR/MLIRContext.h:275:0
#11 0x00005578862135b6 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) /data/mlir-fuzz/mlir/lib/Pass/Pass.cpp:479:0
#12 0x0000557886214a07 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (.constprop.491) /data/mlir-fuzz/mlir/lib/Pass/Pass.cpp:551:0
#13 0x00005578862154a0 mlir::PassManager::runPasses(mlir::Operation*, mlir::AnalysisManager) /data/mlir-fuzz/mlir/lib/Pass/Pass.cpp:861:0
#14 0x00005578862154a0 mlir::PassManager::run(mlir::Operation*) /data/mlir-fuzz/mlir/lib/Pass/Pass.cpp:840:0
#15 0x00005578861ffdf4 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) /data/mlir-fuzz/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:376:0
#16 0x00005578862004c2 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) /data/mlir-fuzz/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:430:0
#17 0x00005578862006f1 std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>::~unique_ptr() /usr/include/c++/7/bits/unique_ptr.h:262:0
#18 0x00005578862006f1 operator() /data/mlir-fuzz/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:473:0
#19 0x00005578862006f1 mlir::LogicalResult llvm::function_ref<mlir::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&)::'lambda'(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) /data/mlir-fuzz/llvm/include/llvm/ADT/STLFunctionalExtras.h:46:0
#20 0x000055788633690c std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>::~unique_ptr() /usr/include/c++/7/bits/unique_ptr.h:262:0
#21 0x000055788633690c llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::operator()(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) const /data/mlir-fuzz/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:0
#22 0x000055788633690c mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) /data/mlir-fuzz/mlir/lib/Support/ToolUtilities.cpp:28:0
#23 0x00005578861fb271 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) /data/mlir-fuzz/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:477:0
#24 0x0000557886200bbd std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>::~unique_ptr() /usr/include/c++/7/bits/unique_ptr.h:262:0
#25 0x0000557886200bbd mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) /data/mlir-fuzz/mlir/lib/Tools/mlir-opt/MlirOptMain.cpp:531:0
#26 0x0000557882bf7f3d main /data/mlir-fuzz/mlir/tools/mlir-opt/mlir-opt.cpp:284:0
#27 0x00007fbedd389c87 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c87)
#28 0x0000557882c8a4ba _start (/data/mlir-fuzz/build/bin/mlir-opt+0x42134ba)
Floating point exception (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWVtv2zoS_jXMCxGDInV9yINzMbZAgwRJ-mxQJGVzD01qSeocpw_72xeUZMtS7DQJsj09BdJGEamZb765cKShzsmVFuICJJcguT6jjV8be3FllDK1sb5x6Kw0_Pni9uuXB1g2UnlIPWRms5EeQsFzkhVZBdA1QPMHUVvDGyY4_Ev6NSBzCLsVkKKNkvbc1B4CjM_PHavOa2qpUkKdK2Pqcy-V1CtArl_cFudOfhcOkGsEMIZebOpZkAZS1Evv_k8uh6XkGuB87X3tAJkDvAB4sZJ-3ZQzZjYAL5T6c_frvLbm34J5gBeVVMIBvIgwJhnOI4AXe5Ezv_UAF52u3ixvKRNBwc7I7ocZ7YwS3d37rzfzxxvomjIwRmHZrKAVgVvoDXw3ROlc02KEVHMoNVMNF9CvBWSWujUsKfujhTXr1D96yv6AvNnUe5xoBlBxb83K0g2kdtVshPYBBNz76MMOakX0tEUpzvIii2KSJVGSFQUuSBwvi85DPY-YIIi2CCGUJFmeY8ZwxDFsjSdzQObu2XUX91Zq35rz1NKO82GTpX8tjfNW0A3AKcBXUOrgLQjwglNPAV60tlXN9-8H1MoS4MVjUwdvALz4puU23JArTZWbSc0AmacIAzJHA95oirfgBE7AdSL-RTVXwgKc_2kkB3j-SYiyeIwIjxGVXPD8GIMPjR4BcwDn74a0w8LqEFERmmAhEywC4wxO6fg058SIjNXHvfqsKgUXMSuLHMHl0grnjRVLG8pPvpe-zdNlGp8rqZvt-Uo33ULt11ZQPnNmhgC-RNsIFzk6yH1MkkMr4zwuWMm60O8YZ1V3EZLjvk-Xr8bUAOdHdu123NUhcgfHza2lzw-iAuRKmZB6N2G9NEadZq_Pv86-a0lVVzYer0J9ebJUu8rYTSggh7ie2tze-TTKxqSmE2tLxmjgkWqjnzemcVDTjXB1m5XF2KZBep-pjb7Td7Ww1EujXw3ATzAFT8MzOzQlxRFJyhSaFo6xb0dzT53rf_Wa4jwZa8qPaWJUqVChl5UG5GoIBS48laq7vqufzF0dRM85rQOsHXGj6OkgzENEDDcPiJ2szDVVz066W6rpKiThLpCuYKPbHoD3NbPbH2KObkpOO1IAuYHtv9dStj-Nhhvz66fgsKevi0azAIuqm6231M1CcxBPGCuOMTZkQ9XLWNo2I0JJhXtw3ZaxI3t3htPYfyrwNB-AhwMBHQPe4hv4D_3TldFebH13Q2wFa7yYt-JHwRA8e9OuSqP79ZEvO9enbT3I30rQqcoyiP3y8E1L3-99qe1HmTGQ2N_48gDw4sDuljucJWPyomPk_ZqZ8cHKkBVji_HE4pii7N0W38taKKnFyPJu696Q9NMpmMbFF-28bfvHkHTz1zZ0mruFHvs9tUL7L7oyXZLuO6R81v5dW1PP4iL6MPVJEo2pJxPqk5iiCeIdB3uiqXOh4c4_ROQHgefpBHj8fuCvQP4oqhiNUY3aoDSqKl7FsBY2nMtd4XI_aNOd530ztKZW8GXtbTh59k88msYycbuy4fDpg2QS1oeVdeqPWyXtXe1vqdRXRldydSDjTSQ8GaPcboOpQ_9xILPnhWTpmJd07C2EYoZhbQ0Tzl02VdU2wW-ipdHyP414Qcut2Bj7vBN1sJ-LijbKL7lQwovTz4QT8-btXB3u6zuxB7GSztvnfn3Q89R2z_dt_XhrrL2J5phMwi-b0pxW0c-irr3_3wMd-96xcePTkAF82f4sMoAXpfTB0OHB7lRM8di0_Jhp7-9T38ZrRsbKi2PKhwD4alaSUfUgXKP86Qbt1AMA5z8vvE8n2dA1nmrKD5j6BdP1eBq-sfT1PT7Odj1-9it5Beft6-5PJfYVSJ_70jM-KvD43YGQtEDs96hhODpm2j-_XLx4yfwl4P3_X3MxPubPg89ZtZJ-rvn9pM_5O-j5B8bWqzuG97F3fP0bvp2GNuCbl0p6KXbNPJ54l0x6-RJn0fHj5Hc7DD-xkcrGnMbTRqos-W9S3JNjpp0Kl_7bAVvT7ivBfBztj95KvXoQ1Y-d-nnOSsj4FRuPXtpwWWUV4XBDpX5dpX-pbHe5z7R4rCk7HFJwkhcsz-ByqWTJls5T65e92h9NKtjMmVnazihwxPJsP6MIWvLxJCancUlhJ78XfcSospGKt1GgRzZdom2MIxKXdK9joQz1Uq9gbaT2UGyZqEPNDcKZsaIdOgo-YNqNR7s_z_gF4QUp6Jm4iNICFWmUJOnZ-gKnnKQszynjcZXyqspETFlGM5GSCOP4TF5ghAnKEUYZwSSdRSIvkyRDrEhZVcQFiJHYUKlmIcRmxq7O2qnpRRoTEp0pWgrldgNve9EOWMtm5UCMlHTeDY956VU7Gu9nyhCk6ORgNEWwps61o--w8dU5doqgt3K1ElZweJJJqnk31hV8dtZYdfHxcXFr-_8CAAD__9pm2i4">