<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/132859>132859</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] Assertion `hasSameElementsOrSplat(type, values)' failed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
wwy6191
</td>
</tr>
</table>
<pre>
git version: 59fd2878fce470f02058f43d4b818ed68ce04094
system: `Ubuntu 18.04.6 LTS`
reproduce with: `mlir-opt a.mlir`
a.mlir:
```
module {
func.func @test_vectorize_copy_complex(%arg0: tensor<8x8xcomplex<i32>>, %arg1: tensor<8x8xcomplex<i32>>) -> tensor<8x8xcomplex<i32>> {
%cst = arith.constant dense<42> : tensor<8x8xcomplex<i32>>
%c0 = arith.constant 0 : index
%c1 = arith.constant 1 : index
%c8 = arith.constant 8 : index
%idx7 = index.constant 7
%c0_0 = arith.constant 0 : index
%c7 = arith.constant 7 : index
%idx0 = index.constant 0
%true = index.bool.constant true
cf.assert %true, "ERROR: Runtime op verification failed\0A%8 = \22linalg.copy\22(%arg0, %c0, %c1) <{operandSegmentSizes = array<i32: 2, 1>}> ({...}) : (tensor<8x8xcomplex<i32>>, index, index) -> tensor<8x8xcomplex<i32>>\0A^ unexpected negative result on dimension #0 of input/output operand #1\0ALocation: loc(\22/data/szy/MLIR/seed729/tmp.PQR72Gcnu1.mlir\22:4:6)"
%idx7_1 = index.constant 7
%idx8 = index.constant 8
%c0_2 = arith.constant 0 : index
%c8_3 = arith.constant 8 : index
%true_4 = index.bool.constant true
cf.assert %true_4, "ERROR: Runtime op verification failed\0A%13 = \22linalg.copy\22(%arg1, %c0_2, %c8_3) <{operandSegmentSizes = array<i32: 2, 1>}> ({...}) : (tensor<8x8xcomplex<i32>>, index, index) -> tensor<8x8xcomplex<i32>>\0A^ dimension #0 of input/output operand #0 is incompatible with dimension %13 is dynamic\0ALocation: loc(\22/data/szy/MLIR/seed729/tmp.PQR72Gcnu1.mlir\22:4:6)"
%idx7_5(base)
```
stack trace:
```
mlir-opt: /data/szy/MLIR/llvm-project/mlir/lib/IR/BuiltinAttributes.cpp:1027: static DenseElementsAttr mlir::DenseElementsAttr::get(ShapedType, ArrayRef<std::complex<APInt>>): Assertion `hasSameElementsOrSplat(type, values)' 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-project/install/bin/mlir-opt /data/szy/MLIR/seed/seed7/tmp.OExlhtwwSr.mlir
1. MLIR Parser: custom op parser 'builtin.module'
2. MLIR Parser: custom op parser 'func.func'
3. MLIR Parser: custom op parser 'arith.constant'
#0 0x00005567cd916db8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bddb8)
#1 0x00005567cd9148be llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bb8be)
#2 0x00005567cd917736 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x00007efd811ed420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
#4 0x00007efd8082a00b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
#5 0x00007efd80809859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
#6 0x00007efd80809729 get_sysdep_segment_value /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:509:8
#7 0x00007efd80809729 _nl_load_domain /build/glibc-LcI20x/glibc-2.31/intl/loadmsgcat.c:970:34
#8 0x00007efd8081afd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
#9 0x00005567d0a11060 llvm::SmallVectorTemplateBase<std::complex<llvm::APFloat>, false>::push_back(std::complex<llvm::APFloat>&&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42b8060)
#10 0x00005567d3a9ff27 (anonymous namespace)::TensorLiteralParser::getAttr(llvm::SMLoc, mlir::ShapedType) AttributeParser.cpp:0:0
#11 0x00005567d3a9c7cc mlir::detail::Parser::parseDenseElementsAttr(mlir::Type) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x73437cc)
#12 0x00005567d3a855d0 mlir::detail::AsmParserImpl<mlir::OpAsmParser>::parseAttribute(mlir::Attribute&, mlir::Type) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x732c5d0)
#13 0x00005567cdb91cab llvm::ParseResult mlir::AsmParser::parseAttribute<mlir::TypedAttr>(mlir::TypedAttr&, mlir::Type) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x1438cab)
#14 0x00005567cdb4687f mlir::arith::ConstantOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x13ed87f)
#15 0x00005567d3a7f7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#16 0x00005567d3a8a9a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#17 0x00005567d3a8885c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#18 0x00005567d3a86acc (anonymous namespace)::CustomOpAsmParser::parseOptionalRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#19 0x00005567d3b88e32 mlir::function_interface_impl::parseFunctionOp(mlir::OpAsmParser&, mlir::OperationState&, bool, mlir::StringAttr, llvm::function_ref<mlir::Type (mlir::Builder&, llvm::ArrayRef<mlir::Type>, llvm::ArrayRef<mlir::Type>, mlir::function_interface_impl::VariadicFlag, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&)>, mlir::StringAttr, mlir::StringAttr) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x742fe32)
#20 0x00005567cdf997fa mlir::func::FuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x18407fa)
#21 0x00005567d3a7f7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#22 0x00005567d3a8a9a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#23 0x00005567d3a886d5 (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#24 0x00005567d0a3db9e mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42e4b9e)
#25 0x00005567d3a7f7e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#26 0x00005567d3a7e5ad mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x73255ad)
#27 0x00005567d091df0f mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c4f0f)
#28 0x00005567d091ce8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c3e8e)
#29 0x00005567d091c67f performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#30 0x00005567d091c3ed 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
#31 0x00005567d09c7275 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-project/install/bin/mlir-opt+0x426e275)
#32 0x00005567d0916405 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd405)
#33 0x00005567d09166af mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd6af)
#34 0x00005567d09169de mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd9de)
#35 0x00005567cd8f5337 main (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119c337)
#36 0x00007efd8080b083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#37 0x00005567cd8f4e9e _start (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119be9e)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWl-T2yiQ_zTMCxUXAv1BD_PgccZ3qZrUzM3k9lWFANnc6t8JlHj2018BsiV57Iw38W52L-VMSdDQ_Wt-dDeSmNZqU0t5C6I7EH28Yb3ZNt3tt2-vcZAGN3kjXm83ysCvstOqqQFZwigtBKYJLbgME1QgjCJahESEOQ2oFDHlEoUoDQFaArTUr9rIyo4DMfrvvK9NDwO6QOEihg9fXkCMvFwn264RPZfwmzLbQb4qVfehaQ2EkC3szUEcoOXQQpYQ2oYY-Z-9qRrRlxKC5A6gJSz6mi_sHwhCZKQ22VfJTdOpP2TGm_Y1403VlnIHMAU4Yt0G2UmNrHXTAbKiO7rbS5CVIhiQe_vDK-jFg8vEU_gBkPt3BfdWQ2in59pAQD5C1imzXfCm1obVBgpZawnIKsRuxCX6xynRqRmRm0XVQu4mosEp0eCkKD0lSk-JKrFLnLBrH4WTqY3ZJVZayeSUXHJGLzqlF40ipuvlRCRvmnKUs52DKC8WTGvZmf0gzwZ8__z8-GxVP_e1UZWETWu3jioUZ0Y1NSyYKqUA0QotAY68z0C0wrhUNSs3C8tHdz8hoycaP1wElkuArEBy17SyY7V4kZtK1uZF_SH14I6Ove6XfwmxHRpYFiQfHWEwBcndYrGw924y60t6CeW9T8eLC1ntEUf3sK_lrpXcSAFruWFGfZWwk7ovDWxqKFQlaxtoIMAEwaaAqm57A_C66U3bGzgAtt2Bm_Oh8Z61EMqGW2TefWvBDAN4rf94BXj9-eHTs72RUiQ4BXhtqnbx9F_PCf4PXveBDyVuIFmGgCxjYKXwnLRZ8A5tldjRUyJ0xmx8-f6jGbl4W1kaZuEPsTcLf4y_AbmAwMGBwBneX9KM_JtJ_GdoiqDSUNV2OmZUXvoEN5vC-lFpKF5rVin-N9F6z-kIYJozLW3PURrVhvHfoekYl4AMWXeeZ4f87F1_0rSy_Fp9aLvmfyS3_nEG4XWpcoDXTuCuV6VR9dKYTuW9kXrB2xaQZYBwYufVhhnF4Ueb8e5LaSmirTAcsj8gyzd9vnkjDcD0ZctaKb68ti5GLy2nnmUByEob4eXGlV4-farNIV9b7Uu3T9wyxWjL9AurDpoeu5e2ZFaHGWb_yspeaufjZNgqC4CWTw_3y5d7qPu8UgYymPcb2Mm26Qw0Ddwa02prCV4DvN4os-3zBW-qwXlvfai0dlrW0FJM1bzshYRmKyHvmN7CnPHf3aJZ3S9uDUVftX4J0QK6f09ds-lYBVm36R2ay9dQ2YhSlgCvc1UPa-qqtO-wc0_SgaKP97tya759e-k8RdEyGOyyY-AT67R0pR3vtWkqG4Za1wYBTnLPmIWv8gC2ARhfPvxQDvqR5PKR8yjsh_stjnYIIRRFccJFGsQip9CtneOXftX-4qlTtXEL8sXtKUxHoY59yxptOskqgGMfm4wLazaO_syyAHyHdkGQC5FTv8ld9jyyOaS5PGXzc1-_qE3Nyv9ktShlp509VzQrp7kczcJHZiUJieHMAICp88wKarVRddFkBuCl232NEu4yHUbsQwly_70CMihIZCFoEEgRYgSzrJPaNJ3MXE6khwi1o3EWhx9KVfe7D5u69x2t2XaSiYVuFsjDCEOMRhDhVAeimCGUw44pLe0WsfS1-2FTqpx_eOCfMNodbvGCBNahzn6A14uFvXvVQrZ2x_e12vmGr86Uure3buoFB2QZ2bNIMJgRzc1AKY1SyPLGYbzMDCO8H9wop4FaDXvix8caEpzCjTSZtzjTPqVnLi5eqlTVxiIvGyYqveHM642Qjcd0UJycUpzVZWZHZaKpmKp_Tl-aWNaQcFBI5woDVoj4AqZwy5HYcYSQQsQjR9IJ0QViQYBiNNl_LxUry9_cMfWLrGyakXfMHflOpK1x2PLJ4jBDmVOw0g65931tr7eZzQ0A04snid3vWts9xDlF8bBTbBCaRk5BWFoUOLG6WN3Ur1XTa1izSurWRcvUm_fFVWkPysiOlYeA7fO9S_7TsPry-cFWT6tJtTAtCFJ4qDv8TEcRw9oYHNnIE84n0wlpmCqHAD-xxqWNt5UJpuPQvQ3XcW5CQpJwPjoXzw2nUSTQGcOXuvK2f6raEpDVKPXYHvpGJtnbg-NmkCat8dzt1waLeSQmTCKzxJGnAWf5ZD85BM_-nDmxdoR2AtfUDdZ64UvL-zdr6Dv-WsBBSChn-Qg4nAMOY5oUE-2uVvGXq6FgeWwnMGcgpot8DOPRHmVsBfxi2LCsV8NEpKBJMWKK5oxNikSG74WDg31vVvLQM5QsZ3d4fLRRWMp-Qu1d2bgYO7pwaFkOzjtrR3JkB6UR_3E7nuXGYx8N2Te5JZ4E_PFQdGbjeyl_UhiSS9405XfR0CM0MePvolm5qvuN6mE5LUxW_mpcs8xNckolwZP9Yk8W1tBM1UZ2BeMyUy6oHoCsB4nH9mc24d7SWWoznao3PhpNHXGwqTtyho1RcM5VWzEdLHjHly7EebddLnmhq35jnWJC8XXJNq7a35csWcZ3uyDwNznTimfa4QZkxbesmwnbhsx0TNkDru_2VhwkWFk2nBn33GffP1Q-6RuL5w4-3X61FBfiQhJ8iI54fsws0jQp2JE3_ZUl2D8v2NMQJQUb4QS_JNjj46roFwV7TI6DfSyif22wx-H8OENEnsoJrz67RzX_OE6GWIZ5KkdO_poCBB8VIImMmJh4wNelunpp-o7LtSrnj4588-dNB92jqTcOHBk5bfXGrJq6UJszAw9rMnh-eaZ71Qi5cgdJI1dNbeTODM9hrlbsRxET4zLNCiWUBqJAxbG_Zs46RHu9ZZ0UWWsL-dUJFwJyf20v7h_l--xwRbeEAQ8LNJbPmB65hUsqz7tl3XRf3La-hnfO-mEfOa4GmUg62bDpMeQ4KWAru6LpqqUrLvQ7j1mvAN4CmfJ-1leq7rE1n5mq33gnhZPet2Fh9lzZgSNSTCL5Q7NR3NbD7lR7tto7N2C68H2t_reXb7B_llXTvd71RSHnZZWQBetLkwlp9_z5MYc3budXID08VuCsLHPGf8-KepacJk66dC3_cjyTl0-KlZIbm2216V7fkuN7BPAiAIcZ8g8Wyqbe_L1IvrMy79AzmNOTJziJJsB1WyqzrMVT13Cp9d7WX0K6f-GW-K7EtM-fPWxFd675euVSLHESHaLv7G2NDVBxiKLT1P__tnGvls9yEaKJR8mxR2NWnPXo8B7MH3qXQ-r5M8R4zx3XhBmzsVIh4THMVMirwPz78KRiLENINDua0yIiJIHDS6jrvCdNOSHJqPD4zVuOKIFZVqqcZ9qwzmR_5hUY1_3-XaO_dJ1uHvcyjITY_h10J0dgQ5lK6LVeD24u0zefpNyIWyJSkrIbeRskIaYxpXFys73laUyCJKBJwFKcc06jmLMwRDgnCaVBeqNuMcIRIjhCOAhxskgCIeOoYCgllAqBQIhkxVS5sGYumm5z476yuA0IplF6U7Jcltp9JIux_4YFg-jjTXfrYOX9RoMQlUobPc5glCndh7X-K5yPP_8xyU3flbc__r3IAObrLf6_AAAA___MMGcE">