<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/132855>132855</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Parser crash
        </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 {
 llvm.func @matmul_mk_nk(%arg0 :!llvm.array<4 x vector<16xi32>>, %arg1:!llvm.array<4 x vector < 16xi32 >>, %arg2:!llvm.array<4 x vector<16xi32>>) ->!llvm.array<4 x vector<16xi32>> {
    %0 = builtin.unrealized_conversion_cast %arg2 :!llvm.array<4 x vector<16xi32>> to vector<4x16xi32>
    %1 = builtin.unrealized_conversion_cast %arg1 :!llvm.array<4 x vector < 16xi32 >> to vector<4x16xi32>
    %2 = builtin.unrealized_conversion_cast %arg0 :!llvm.array<4 x vector<16xi32>> to vector<4x16xi32>
    %cst = arith.constant dense<0> : vector<4x16xi32>
 %3 = vector.contract {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d2)>, affine_map<(d0, d1, d2) -> (d2, d1)>, affine_map<(d0, d1, d2) -> (d0, d1)>]} %2, %1, %0 : vector<4x16xi32>, vector<4x16xi32> into vector<4x16xi32>
    %4 = builtin.unrealized_conversion_cast %3 : vector<4x16xi32> to!llvm.array<4 x vector<16xi32>>
    llvm.return %4 :!llvm.array<4 x vector<16xi32>>
 }
}

``` 
stack trace:

``` 
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/seed3/tmp.b095sQl65J.mlir
1.      MLIR Parser: custom op parser 'builtin.module'
2.      MLIR Parser: custom op parser 'llvm.func'
3.      MLIR Parser: custom op parser 'vector.contract'
 #0 0x00005588e5260db8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bddb8)
 #1 0x00005588e525e8be llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bb8be)
 #2 0x00005588e5261736 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007f021b41b420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00005588e7ae0347 mlir::vector::ContractionOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x3a3d347)
 #5 0x00005588eb3c97e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
 #6 0x00005588eb3d49a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
 #7 0x00005588eb3d285c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
 #8 0x00005588eb3d0acc (anonymous namespace)::CustomOpAsmParser::parseOptionalRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
 #9 0x00005588e6541071 mlir::LLVM::LLVMFuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x249e071)
#10 0x00005588eb3c97e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#11 0x00005588eb3d49a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#12 0x00005588eb3d26d5 (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#13 0x00005588e8387b9e mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42e4b9e)
#14 0x00005588eb3c97e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#15 0x00005588eb3c85ad mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x73255ad)
#16 0x00005588e8267f0f 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)
#17 0x00005588e8266e8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c3e8e)
#18 0x00005588e826667f performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#19 0x00005588e82663ed 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 0x00005588e8311275 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)
#21 0x00005588e8260405 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)
#22 0x00005588e82606af mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd6af)
#23 0x00005588e82609de mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd9de)
#24 0x00005588e523f337 main (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119c337)
#25 0x00007f021aa39083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#26 0x00005588e523ee9e _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/eJzcWd2S2yoSfhrmhhoXAv1e-ELjOa49WzOVbCa7ty4EyGYjgRdQ4jlPvwWSLdkznp8cb5KzqYktA0331_11N5KotXKthJiD5AYkt1e0cxtt5t--PaZREV1Vmj_O19LBr8JYqRUgJUyKmuM8y2sm4gzVCKMkr2PC4yqPcsHTnAkUoyIGqASotI_WidbLgRT9s-qU62CUz1A8S-Hd5weQon6dEVujeccE_CbdZljfNtJc662DkM789WE1QOUwQkoI_UCK-j__o9W8awQE2Q1AJWyar-2s7hSDIEYtdW3XrNovK_UF4BzghJo1goCUAEdhJTWGPgKyiOEOfhXMaQPIIkp3kmBAfvN_eAF7uehFMQjIAvaC8FQSv09hAa_D9xsF9sgh9Oo8ultYdbJxUs06ZQRt5B-Cr5hWQ1hXjFq3N-1dzoBOjxPxbpw6qI_epz56Wf1Tp75uAX6fBe9jw-vqmd-Z3EJqpNvMmFbWUeUgF8oKQBYoBIyUZ3cBOCFhg36B38EZypyPslRc7KRar1q6tWERSG5oXUsl_BAgC4BzjjzxeBQ-8Z5NcJzxYwM93yGL9zPfIYuOZJNbkN2GSA0ZEg3f6Lxj8OLZcSjVqwGJ38EHctYC6PTbM7jXHRYb4Tqj9na8owp4KmS3vtb1nydFzzrKvkDPDOG3fbrg491v5cNv0HZVKx2ksOrW0IitNs5zeOPc1gZ7lgAv19JtumrGdAvw0ts3fF1vjf63YA7gpbS2ExbgJaSKQ6lY03EB3UZAZqjdwIqyL8GaGUDlQzCOd-22tw3NYPj30ei1oS2kZt21QjkbCj9ecuoowEv7xyPAy_u73z89o9_nUdMAvKykAnh56BVnxK0QfPgiAC9du51VqEjsP5o0-XvfS1AZDXZ5GfiRGitCh2GddbqFegu3YQwCnO350zcbgDOASvx28UNX6iXJ2yVPykAvDwEmCKIdQgglSZ6LBKeIV3ngnPc58Z24v_hopHIhIp8DW3A-LjL020pbZwRtAU59lknlfOqGZvln4gLwDdpFUcV5lfu8722Ojm1ORF6J52z-1KkHuVa0-RtVvBHGBnsuaFaVV2I0C5-4MspICo8MADgPnllAK9dS1XrlAC5DWdKSh8tikLAztvW8R-F_r4AMCrIa4aiKoyrGCK5WRlinjVgZNyBrZAXwcpenqzS-bqTqdtdr1fUTW7cxgvKZ1TPUw4hjjEYQ8RRERgUicQaHQxMg5b7K-OvFQCap1YdtPxQIB3A-CnzYlrYduNlzYzonDPXiD446EaYvFRxCCSdxNuJKprgqwopMxF4XVVo9trqzUNFW2G3gdnFi3yG39hAPMwOj-gXPhCw9Vsvjgv4JtTeNZl-O3DuMlIPzztqRndiB84R9vx2fxLrHPhqyHwohHnOx9B3qk6gBWTzPiWFVX8mHHl1p3byIJj9Bgyh7Fc0iVMUnqodwepi0-dm4iimuNIkjlEWTfLm7-9f9eLXsFPvl8g7HhUBZ1OedL9Xox-edVxv9Annn7cCneZfy5K-Zdx4NmaLJSZ5VhZjw6j6can45TsZYxFUhRk7GP4eTpy0oTyifeCBsVtr2QXeGiaVsjg9Z_fD92sBwN_jEgSMjp6O9MQutark-I3iIyeD58sz0QnOx0O22EU741i92bjixXCZMGcFJQvkYpqPemeM0q1F96q8jZ1nHhxPghhrBV1vn74eecaG_E7uwF-80CyQonTMXdUscsbhG9eiW7MQtqcjFebcstfkc0voS3jnrh33luBhkIvJJwuankNOshltham3aMhxA7Ss3JBcA74FMeX8010jzYevuqVRPvFPAyewzZaE4BUcEn1TyO72WzB9NbNe4ybi_DfTIVyZU-XMC08B3Sv6nE0-w34tWm8ebrq59XZ74iouado1bceFz_rzM4Tnl-QiERzZhhtGm8bf5q1odNaeJk94ay_85ntG6W0kbwZzvttaZx6fkeIkA_RKA4xUKG-eNVusfi-SFyLxMT4yOe34U4SyZALfbRrpS8Y9GM2Ht3tafQrq_YEq8uGI69-CMVGt_ojs3fLnjUipwlhyqL45OChSKUfI89f_fEvdi_aziMZp4FJ96NKX1WY8OT4zYhvYHi_K9xHjNHZeEmdLxpILJKcyCi4vA_HF4Cj4eQ3B8_ICP1IRksKVSXeyJYsEIyUaFyfSBH6WkQDmBq1UjK7ayjhq3GrQvq042HODl2s9d37HfMdodfuIZiQBeMtsBvJzNDpdhMuwzY4CUJMb-c9CdnoAVohCw13o5uJU43Jcd3jpc8TnhBSnolZhHWYzzNI1icrWZxyiqaybSmFEUMYSKAuVZmqU8yauYxvxKzjHCCSI4QREuEJnloqqiihV1laIq5ymIkWipbGbhQbo266vwQmIeEZwnyVVDK9HY8FYb48AxjEFye2XmAVbVrS2IUSOts-MOTromvAkPAsntcP_Xv9C46kwz__63JINdX-f4vwEAAP__R6uKgg">