<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/119353>119353</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] --test-func-erase-result crashes
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Emilyaxe
</td>
</tr>
</table>
<pre>
git version: 953838dceaf
system: `Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt --test-func-erase-result a.mlir`
a.mlir:
```
module {
llvm.func @abort()
llvm.func @puts(!llvm.ptr)
}
```
stack trace:
```
mlir-opt: /data/szy/MLIR/llvm-release/llvm-project/mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp:235: LLVMFunctionType mlir::LLVM::LLVMFunctionType::clone(TypeRange, TypeRange) const: Assertion `results.size() == 1 && "expected a single result type"' 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/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt a.mlir --test-func-erase-result
#0 0x000055d46efb8158 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1136158)
#1 0x000055d46efb5c6e llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1133c6e)
#2 0x000055d46efb8aed SignalHandler(int) Signals.cpp:0:0
#3 0x00007f1a99696420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007f1a98cd300b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007f1a98cb2859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007f1a98cb2729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007f1a98cb2729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007f1a98cc3fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#9 0x000055d4705136bc mlir::LLVM::LLVMFunctionType::clone(mlir::TypeRange, mlir::TypeRange) const (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x26916bc)
#10 0x000055d4703e757a mlir::detail::FunctionOpInterfaceInterfaceTraits::Model<mlir::LLVM::LLVMFuncOp>::cloneTypeWith(mlir::detail::FunctionOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, mlir::TypeRange, mlir::TypeRange) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x256557a)
#11 0x000055d4722d0416 mlir::FunctionOpInterface::getTypeWithoutResults(llvm::BitVector const&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x444e416)
#12 0x000055d4722d0140 (anonymous namespace)::TestFuncEraseResult::runOnOperation() TestFunc.cpp:0:0
#13 0x000055d4723f92b6 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x45772b6)
#14 0x000055d4723f9be0 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x4577be0)
#15 0x000055d4723fc1b2 mlir::PassManager::run(mlir::Operation*) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x457a1b2)
#16 0x000055d4723f4a5a performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#17 0x000055d4723f46ad 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
#18 0x000055d4724a0b25 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) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x461eb25)
#19 0x000055d4723ee695 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x456c695)
#20 0x000055d4723ee93f mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x456c93f)
#21 0x000055d4723eec6e mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x456cc6e)
#22 0x000055d46ef98c47 main (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x1116c47)
#23 0x00007f1a98cb4083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#24 0x000055d46ef987be _start (/data/szy/MLIR/llvm-release/llvm-project/build/bin/mlir-opt+0x11167be)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWV9z4ygS_zTkhYoLgf4--MGTxHVTlVRSydzeowuhlsItBh2g2Xg__RVIjmUnmZ2ZW9_W3dQkETTQ_ft1040Qd052GmCJsk8ou77gg382dnmzlWrHX-CiNs1u2UmPv4J10mjEVrjKWMnKRgBvEVkhsnI752EbRCgnf68H7QeclAuSLnJ8--UJ5WQcZ6G3phkE4N-kf57Gb5W0l6b3-PLSg_OX7aDFJVju4NKCG5THmC_CoNdlEFlNPWEFsgqC-D80tqYZFGBUfEJkhZX6ul2EFTFKCa-N9YiWiFZBdizsB--iLIndvbfjMFRcn6pwnotfsbdcAGKTQcc2TJCifXTdcM8RXbvfd4iu724_PyK6DkouLSjgDvbN3pp_gvCIriM4ulayRnR9Lbkau29vf7mLs-Ov0Pqy68EtRN8jtqIsCwpD93rQwkujgxhPTCG2CqLD03zQ2CuU0YBoGXoeue4A0Ss8a1RYGO0irJVzYMPs4MLRT27h5O8w8osRu0bsGicY0RzRHCNK4aUH4aHBHDupOwV48q8PBlCKaIFbLhU0C0RWD7c3q6cb7IZ6Kz3muB46bKE31mNv8LP3vQtG0zWi607656FeCLOdqHzLqHRuAIfoGnPdYKmFGhrA_hmwsNw945qLX6NHg-6n6OBm2Pajf8kCx38P1nSWbzG33bAF7d1PO7gepGrCX6knd8ctMIb1hzshRC2ijGDyQgghWdakObR1mWRlDObRi27nxocHK7WPWL7EWKXlYZDlv22M8xb4NnroCkvto-OC__40RIh-Ii9JwvIk2287RFlyAiATObwH4HHQT7LTXP2N60aBdfvgOouNTORwsJGeksyhwUfWIFpOnI3d-31I4s-4CptWKdqEV1Ve5SkleLOx4LyxsLF-wjLu9Jcy3-TppZJ6eLns9DAKev9sgTcLZxZktDVNKTlYms51lKJhhNTYcukAzzB3Stbi8lZ8puTltUkXLAkURvsRXS8WobVzDfRhrwxavowdX6MpegjNuPRCILbKEsRWyWRGdmxGTcuswjHlfrcZvhl5iLOihjJoKCYN-amGgla4A78ZLd446MKu3Hzlavhu7FL7gFwZ3mxdJ_ioNyNV0D4pLt5TvNFqE2ZtGrPlUv9n-qoiRA1LJ4XlsULB2ib_jkgRIUbyGCMsTDnESDWL5oJkCctr8ROF4TDjqES82z0Vi3NsVppXSV6LqUBTlpAjeAyKrOAzqxrwXKrxeQ_uvv-sPdiWC3h9-GK59FPuuTMNKMSuvkXSfY_YzYyhgP4f4WQzZ-pnlF8ZLaD3U7mlq2OS73uwPCzzRvI9XjmHP7I8ywp-8Mc8wReUNiRN8pk979AwCjrwew7N4B_HY8VR3fok_S8gvLF7bvIzYUrTFNIkP2Cip5iSlATFXBu925rBYc234PpYaauJeHA-gL0JRXyEM5XfQd_rmR9jWduPPqkjQTk7Us7aitb5BwF-338x9_0Dd27V8N4b-6rxKCzDgB-IrJXmaueku-Oad6H2XeHaGBX-Djq-QjRnPEGkWVHQeuaM9JSPGsgP8_Ege1DyJLGNQ19h5n86QfNJQdVn7byNx0lj36x6PGDUPAom2x-4Be0_69bMksXZfFADOfggO_GBSGp6YvqejHcj8JjLc9nMk5oebM5PbE55xnEPtjV2u4o5yf3BMdn5ZjqlPnMLzSa8KLKrw4wnM1gBd51F7GaWo-ZODaiujPbw8ja33ylp73t_x6W-MrqV3VGem0nfSRLFKbicN7Nj9a3ppOBqTEOz_nbKxhsL7RGU4wmIlq_YBy3_NcAb7HewNXb3aWjbcQO8jm-g5YPymwYUePh4TqimN2Hmxx6oDiWXKxVe2zatPqrTM5K-15dnx3Owbnqbf4ROOm93b4PjWwEwDkE03ZC4cKmM7v67SL7hmT8Iz_IoPFNOaprNgLteSb_SzYM1Apzb2_qXBN3_4Jb45oi57MlbqbtHaD_sPk8qzhOoaXZIxdVxtgLIq-z9ffD_tovPU-lykVcHeik5pbdi7Yf0TgcT8czHI8jqR0Pmj7g5G-aKtQfMySlmkcOfgvkvAvd6IRXAnVxIVaVICzzdPJzhOizJRVoctLOTK5CUlAxvNkrWYuM8t37zI5cgwg3726bxMQrjOvE6hKU0_J50p6fIixrwqPVc2It6z_z8av-iWbKmYhW_gGVSMFbStEjzi-dlBklVEUbqrCybtipExaqc0DJtU9a0SXshl5TQNKEJIVVWkXxR5sBIJsq2hoQVZY5SAlsu1SJ-fTC2u4g31sskqVjGLhSvQbn4kYbS8esARdn1hV1GXPXQOZQSJZ13hxW89Cp-2IkTsuuPv7DEO3BwF4NVy5-_Wp9s_bqk_w4AAP__cWUg5A">