<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/64638>64638</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir][memref] --promote-buffers-to-stack crashed with assertion failure "integer overflow in element count computation"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
anonymousMCS
</td>
</tr>
</table>
<pre>
git version: c7b537bf0923df05254f9fa4722b298eb8f4790d
system: `Ubuntu 20.04.6 LTS (Focal Fossa)`
reproduced with: `mlir-opt --promote-buffers-to-stack a.mlir`
a.mlir:
```
func.func @func1() {
%alloc_36 = memref.alloc() : memref<3090540x3090540x3090540xi32>
return
}
```
trace:
```
mlir-opt: /data/bin/llvm-project/mlir/lib/IR/BuiltinTypeInterfaces.cpp:32: static int64_t mlir::ShapedType::getNumElements(llvm::ArrayRef<long int>): Assertion `num >= 0 && "integer overflow in element count computation"' 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/bin/llvm-project/build/bin/mlir-opt --promote-buffers-to-stack reduced.mlir
#0 0x000055eeaae53a2f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/bin/llvm-project/build/bin/mlir-opt+0x14a8a2f)
#1 0x000055eeaae50cb4 SignalHandler(int) Signals.cpp:0:0
#2 0x00007f55d940d420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#3 0x00007f55d8ef800b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
#4 0x00007f55d8ed7859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
#5 0x00007f55d8ed7729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
#6 0x00007f55d8ee8fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#7 0x000055eead8ace71 (/data/bin/llvm-project/build/bin/mlir-opt+0x3f01e71)
#8 0x000055eeab2cd5fb defaultIsSmallAlloc(mlir::Value, unsigned int, unsigned int) BufferOptimizations.cpp:0:0
#9 0x000055eeab2c8368 (anonymous namespace)::PromoteBuffersToStackPass::runOnOperation() BufferOptimizations.cpp:0:0
#10 0x000055eead71801e mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d6d01e)
#11 0x000055eead7184fa mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d6d4fa)
#12 0x000055eead718edc mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::'lambda'(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&)::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const Pass.cpp:0:0
#13 0x000055eead717655 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d6c655)
#14 0x000055eead717dba mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d6cdba)
#15 0x000055eead7184fa mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d6d4fa)
#16 0x000055eead718d01 mlir::PassManager::run(mlir::Operation*) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d6dd01)
#17 0x000055eead7091ab performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#18 0x000055eead70a664 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) MlirOptMain.cpp:0:0
#19 0x000055eead70a814 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&) MlirOptMain.cpp:0:0
#20 0x000055eead7fe404 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/bin/llvm-project/build/bin/mlir-opt+0x3e53404)
#21 0x000055eead703c37 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d58c37)
#22 0x000055eead70ab3b mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/bin/llvm-project/build/bin/mlir-opt+0x3d5fb3b)
#23 0x000055eeaad8df2b main (/data/bin/llvm-project/build/bin/mlir-opt+0x13e2f2b)
#24 0x00007f55d8ed9083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#25 0x000055eeaae2541e _start (/data/bin/llvm-project/build/bin/mlir-opt+0x147a41e)
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVtT3DzS_jXiRsWULJ8vuJgAUx9V4YMCdm-nZKs9o31lySvJCeyv35JsBtuBZBKo7PtubSp4bB2e7n66W0dmrdgpgDOUfkLpxQnr3V6bM6a0emp1b6_P708qzZ_OdsLhL2Cs0ArFa1znVRrnVUNKGvOGpDRNmrJhSU5pRcsCqqJJ8pJwRC4QWQ9P-2QdtL43ysjfql65HlOyIskqw58f7jGixUbXTOKNtpYhWqKMTPsb6IzmfQ0cfxVuPwK1UphT3Tl8etoZ3WoHp1XfNGDsqdOn1rH6D8xWvtUCbiyMx09fO_wPn02v6pV_YJQQ_xshWiBaYpR_GlpgjGjKpNT1Ns4wii9wC62BZhXKnlvH67EYxecxKUmakMflr4gpii9HVAOuN2rUKb94Vbnh6Qyr4S39n2kJLNENZ44huqmEQnQj5ZfWk_UPqB2im0AD3UhRIbq5ukN086kX0gn18NTBlXJgGlaDXdVdh-K113WNrWNO1FgolyVbh5-ZjNf3e9YB9z2H7x24_-_bSwktKGcRLbzwoWptDHu6C8xIrXYezNNASy9gbS0YJ7TyPlZ9i31VfIEJRjRDNMOIUqEc7MBg_QVMI_VXLBSGQRKudR-ebdd7VbVClCKa44YJCXw1kHT7-XJ9f4ltX7XCYYarfocNdNo47DTeO9dZryrdILrZCbfvq1Wt25HBb4kU1vZgEd1gpjgWqpY9B-z2gGvD7B5XrP4jOG0Ufx-Ck_dtd_AiWeHw79bonWEtZmbXD8z92I9VLyQ_VB6TFwZCOg2JMIQfojHB5JEQQtIUgDFIY0Yb_OI2-2SHl1sjlAs2PIRInPrWsK9bbZ0B1gZ_nQfv-oTwefELZiD6iTxGCSsYbXyIHLSNFtqSukrwvdgpJv-PKS7BIFqMwofi50gm4e8AREegvElTXiaEJ5Tg7daAddrA1rhR9yFPHotsmyWnUqj-8XSn-qGic3sDjK-sXpFR44SSmb7xVEwBTUFIhQ0TFo7Arz1yFpCTmJBqhpzMkXlepCVmlT5K8wkypUVazpDTJXJ-8OTRmDmdY2ZzTCganv0cZhw3PJth5tNY4AWrIY_eF3FxQyLIo5mUYiqlojVPmwpzaFgv3ZW9b5mU63EKeBkX_85kDz4PehVmXD4kxPK7xJ9Ckt50TrTiX2HkeiNey4UaRZwV3tjD3I0Va8F2ITXL55QNI8Egwz7okL23zI4ZbXp1o246MOOIWRytkE_E2bjB86ggEUxmBg6OCTm833QP-qbzgtecdU6bg_wZaUEzuvY0vRRO9FvUrBWTT1bYa6bYzuf9Oa60lq-x_L6g4BknERyCwhsfLY1PGvbTxt-KDqRQMCNhaHqwKftwNqadvKgrZZ0Js44236DOGwySh4pR91tmQLkr1Whca2VdQPgAwpOGzQinS8KB1z9N-CTa1_ZJ1VdtJxEtBp7GnEE0l6ytOEM0nznm40TcdLfXnrHg3bFMh17eAz4Lf4vgwWHYg72e4fGC8zxL0w_m_N2BUmdpOguUZKk0r34-M_8iw1LNq3mWpP8bln7vsJQtCeckWuj5bPmrsTUn7gMU5CSaKThfI-WkjFiFOzCNNu26DtP7D1by1vFxJ7BnBvi2c8Zv4Q497nVvarjeGRRfPpO9CI_rz1d351o5eHTfuPJaCr_auGZCnWvViN0Eo8ST2tfHqGJhH8uyBHdG12DtsJQ51rxeiX_28I1519Bq8_QMNWk_LgG3HCQ4eLuP38heHm_ztN2FYBJqdwc7YZ15Gutf5DyE7cdtyKf1UXSVS7qKKJkI_Kx3ombyDmwv3URQ06sQK9vhZOOtDogWv4_Ot51ahka-pmZS-m34tlEztSc8_QnD43W3H5kyr65i_jReoYXUavd7if2OSj9MGLrY5TSQkGnC2E4Kt1b8djHi_Ces-wsm6XdbvKwUPmaxCGmckGQ6O9LFNo7EdZy_nmj_bcPEe1caaVHH-YxLupxaqrh6k8txyVfv2bC4W89D4d4ZoXZ30PzY4vdb0lRxNbNktu9hvOANrXDLhHrncWYMtKFzUctDvJIUMd5upajqrXXMuO1E7rGHbwkp4pmUdH5oStMkAjzgv_eENmfJ5GhkXWnjgHvQWhsIh93AX3R5vrQ44WcxL-OSncBZlJVREZOoICf7s4YUZVHwlFQRNJyzPC8L3qRFk5Gk4Kw8EWeU0JgUESVFUiZkBSyOMkiyOMopkCZDCYGWCbnyVqy02Z2Ec_qzLMni4kSyCqQN11-UKviKQyWiFKUXJ-YsWF71O4sSIoV19gXFCSfDvVkIx_TCvw03PenF9w7dw13AeIeF2eGao2FC9gZ-5V7jpDfy7NdvKwIR_w4AAP__xManrw">