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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] parser crash with linalg.reduce.    @reduce_fusion_elementwise created with unregistered dialect
        </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:  
``` 
func.func @reduce(%buffer: tensor<4x256xf32>) -> tensor<4x256xf32> {
  %cst = spirv.Constant 0.000000e+00 : f32
  %0 = tensor.empty() : tensor<4x256xf32>
  %1 = linalg.fill ins(%cst : f32) outs(%0 : tensor<4x256xf32>) -> tensor<4x256xf32>
  %2 = linalg.reduce {@reduce_fusion_elementwise} ins(%buffer : tensor<4x256xf32>) outs(%1 : tensor<4x256xf32>) dimensions = [0]
  return %2 : tensor<4x256xf32>
}

module attributes {transform.with_named_sequence} {
 transform.named_sequence @__transform_main(%arg1:!transform.any_op {transform.readonly}) {
    %0 = transform.structured.match interface{LinalgOp} in %arg1 : (!transform.any_op) ->!transform.any_op
 %1 = transform.structured.generalize %0 : (!transform.any_op) ->!transform.any_op
    transform.yield
  }
}

``` 
stack trace:

``` 
LLVM ERROR: .@reduce_fusion_elementwise created with unregistered dialect. If this is intended, please call allowUnregisteredDialects() on the MLIRContext, or use -allow-unregistered-dialect with the MLIR tool used.
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/seed31/tmp.nBkcM4MbmH.mlir
1.      MLIR Parser: custom op parser 'func.func'
2.      MLIR Parser: custom op parser 'linalg.reduce'
 #0 0x000055786d5e9db8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bddb8)
 #1 0x000055786d5e78be llvm::sys::RunSignalHandlers() (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11bb8be)
 #2 0x000055786d5ea736 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
 #3 0x00007face1d85420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #4 0x00007face13c200b raise /build/glibc-LcI20x/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007face13a1859 abort /build/glibc-LcI20x/glibc-2.31/stdlib/abort.c:81:7
 #6 0x000055786d5d0b17 llvm::report_fatal_error(llvm::Twine const&, bool) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x11a4b17)
 #7 0x00005578707920fd (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x43660fd)
 #8 0x0000557870791884 mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::DictionaryAttr, mlir::OpaqueProperties, mlir::BlockRange, unsigned int) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x4365884)
 #9 0x0000557870791417 mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::NamedAttrList&&, mlir::OpaqueProperties, mlir::BlockRange, mlir::RegionRange) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x4365417)
#10 0x00005578707912d4 mlir::Operation::create(mlir::OperationState const&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x43652d4)
#11 0x00005578706d7c22 mlir::OpBuilder::create(mlir::Location, mlir::StringAttr, mlir::ValueRange, mlir::TypeRange, llvm::ArrayRef<mlir::NamedAttribute>, mlir::BlockRange, llvm::MutableArrayRef<std::unique_ptr<mlir::Region, std::default_delete<mlir::Region>>>) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x42abc22)
#12 0x000055786de849cc addBodyWithPayloadOp(mlir::OpAsmParser&, mlir::OperationState&, mlir::OperationName const&, mlir::NamedAttrList const&, llvm::ArrayRef<mlir::Value>, bool) LinalgOps.cpp:0:0
#13 0x000055786de872e6 mlir::linalg::ReduceOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x1a5b2e6)
#14 0x00005578737527e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#15 0x000055787375d9a4 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#16 0x000055787375b85c (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#17 0x0000557873759acc (anonymous namespace)::CustomOpAsmParser::parseOptionalRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#18 0x000055787385be32 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)
#19 0x000055786dc6c7fa mlir::func::FuncOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x18407fa)
#20 0x00005578737527e4 (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#21 0x00005578737515ad mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x73255ad)
#22 0x00005578705f0f0f 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)
#23 0x00005578705efe8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41c3e8e)
#24 0x00005578705ef67f performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#25 0x00005578705ef3ed 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
#26 0x000055787069a275 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)
#27 0x00005578705e9405 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)
#28 0x00005578705e96af mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd6af)
#29 0x00005578705e99de mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x41bd9de)
#30 0x000055786d5c8337 main (/data/szy/MLIR/llvm-project/install/bin/mlir-opt+0x119c337)
#31 0x00007face13a3083 __libc_start_main /build/glibc-LcI20x/glibc-2.31/csu/../csu/libc-start.c:342:3
#32 0x000055786d5c7e9e _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/eJzcWl1z46jS_jXkhooLoe-LXDgfrt2q5J1UMrvvpQoBcjiDhBbQJN5ffwokWx-JM9kZn509ZyqT2EDT3U8_dIMQMUZsG84vQHwJ4usz0tknpS-en3dJkAdnpWK7i62w8CvXRqgGhGsY5xXDWZpVlEcpqhBGcVZFIYvKLMg4SzLKUYTyCKA1QGuzM5bXTg4k6Leya2wHg2yFolUCbz8_ggT14zRvtWId5fBZ2KdhfC2FPlethZCs3OfDaIDWQ0u4htA1JKj_cV-qrqEr9wuCCGnuZgU4Azguu6riXsbyxigNwqvoBcfJSxViEN4AnMNzEN683QtBegmQU4djaiwE4TU0rdBfV1eqMZY0FqIV8v84wJcIQafIyQ5CyIv0c6943dqdtyqHxw0aJAMvKUVD5HZVCSmhaEzvUm9JrwfnUHV26EDvTPuun3uleKq0R9FDsIe0qDpHiYJLXvPGPgvDQXo9WtaD_b4Vo7nB-wOZqHnj1BlvFYgvEYivvama2043e4uPIwnS6545tWKd5JBYq0XZWW6cW1aTxlRK1yvHv6IhNWeF4X90vKHeryH647j5EEe1ojj0FjURTe8Z0dsAhGuAg1GWNLtCtXO9mhOmGrlzdjpSDGybUucw1ljdUdtpzlY1sfQJisZyXRFn6uWtD9mnto8GHEzw2HiLXtmx58NbXWg9EvBN_VvecE2k-JPDA-u-Sw2EEwU7wSXrmdiHbR-82UI3ltAvTopyh_DrAbe3v9_Bm4eHTw_OrNV73IVUc2I58_kHdo3mW2Es15xBJojk1K7grxW0T8JA99NY3jDOAL6CreTETUCkhERK9fzbRPq6FzbDWlcNtE8c3t3--nClGstfrJtBadgZDs-99PlU-fmgvDdrLwqtUtKJsBVA6_vbm_XjDTRdWQsLCSy7LdS8VdpCq-CTta3xBNwAvNkK-9SVK6pqgDdSft3_OW-1-henFuCNMKbjBuANJA2DoqGyY9yrppqYJ1gS-sVj7nQ_-hCwrm77CKAV9P_utdpqUkOit52D2PS82DBiCcAb8-cO4I1z5Q39LptKCfCmdGtoc6gCR8QNd2Hwf8IA4I2t21Vz-YXeRXdl_UtfJtA6GAzz8N0TbfpCQDtjVQ1VC1vfBgFOD_UD4BSgNf645Cxb9tIQ4BBB9OLqQhynWcJinrMygx78cA1CVyP7D_daNNYj-tlzGmfjIE2eC2Ws5qQGOHGkEY31icIR60dwdcXqJQhKxkpH0cHmYGFzmpX8LZsfuuZRbBsifyENk1zviX4ys8qs5KNZeGEWScMEzgwAOPPIXEEjtqKpVGEBXrvvX5Vg_mM-SJgVbR1vkf_fKwgHBanLpgHL4ggjWBSaG6s0L7QdPJOiBHjzkiVFEp1L0XQv59um6zta--Sy-cqoFerdiCKMRieimY6QYoRKqInLQg6GTkhH6K0UJT2_pb9i9HL4ilee48bbD_BmtXLfdobx1i3ZrhEvfcNXb0rTua9-6hUF4Tp2pSgYzIjnZpAgi3NISuV9_JgZlvU4eCmvIXMa9sRP5tFiqAzSCYn6JFVUxBJZcK2VnlH-87NoOKRudzVQvlRKnpJcJCqDdIxLOjE3RWmOUcVOpCsKkwRVbNSVLXQFWRbBYUsLwvWnlmti-y03CNd9cQI4G0fcKtoPwFdvyf0fqfm86_Ou5Q-k2S6afyeye6v9WlA3D9G7tbV6qYX80fF7rVqurXDFYtp7KRX9cpixa_wRg502X0VhEmdZNOKZL_GMgvQfhaebgDkob8XA5-T7QR3bH_hWqGboOCW60X5luGKAluhi9tfYehjxaImdLupTmoxZNJoczExOWEoxnpl86RIc13-REI9Wi2b7ekkcC_uMJWNuW2tNdg-8AuHVGxTx5xK_VT5OgXGuu86SUvLJlMayvqtrxB8dL1qrZ4p60vgauR_JeEU6aQvGJXe6X48Ob4af08UMk5JiPMZsXt15FuWUQsLYpWK7_xf26Z7spCLsU7vg1trUw8bs9aKa8u54t4N-VmqOLNzZmG-E01NiiOK-cu0PZ8uth_M-XHifYp5M7Og3l_uQuB3mp7b_5jegPwLJySoqiUvMkzGg0XQRhmmMUx45XaRRza5WnYHuGG1av9vNF_Yd9tp7F8c00-8x-wFvIBkv1LKc_IBav-5m8A4t6wG8o3YkCzvKLKbfb8d-1WavF_JH6DjlxDCqP5stKHrUm3ThTU7oN7258qekV6qHcPoNhvzZfs22YmEWlzycVgp3EnSGFoeHLIWoWzlxZDOM-NG81Ft6vNqMQBxs0gswXLmBc64OZe5DWDrxAbaPj_wgVL8TLQgTdCPJdlZ6ioK-vARB_6UkRtDCeL9BeEWfiJ4Ndg2F1URYs-_urTiMIFK6yu2fAe773RCflpYWHyvn0_ZTZcc0whUPJ-UunyV8mtC0Igs0-0-OYP-8ZJ9F7uh4cAejn5LscbBQG8SETRDwk61N_ag6TflGyPlzlb75bquPVP8x1U9be2OuVFOJ7RHBQ0wG5NdHuq8U41eqbt226_BIcH1C1oU4jgkbw4RnG-O4QhWqlnjNwDqsLPNENGfDbvINCEF4c2oU95vwfiWeEJYooFGFqhGWcA4Lr3jGj8OyUfqzz9anQOcoDqd93hEFNOQZH12Oli4naQVbriul67VP5OYbzyBP4PzsUfiCIHdS6E-tvSOieYVODie9b6SFeOlcyNmkqN2qraBu72E6aY9X1mMC08DPDlmTYxmvld5d9neO7x61jsgMdWtaipcR8AWtr4tEypLQL0XVzOr0BKSPxvI_7s_0IZO_3Xjw9x1695oc7xGgHwJwVCA_cSZVs_17PXknMt-gZzJ_PJETnMYTx00rhV037F4ryo3Z2_pTSPdfuCTeHTHt6_d5bnN7rPl0DzsSjtN4zL7pIkHlEYrfpv7_2sI9WT0rWYQmiGZLRBNSHUV0uCTqDxjrofT8FWJ8C45TupmQyU4lX7qZM34SN_8-f3I2bkOW16M0C8MU1sS_u3Cae56chuH4NPtwt7m_-ApRFsKikKJ0J0-ibTFo_9AlGDXd_iKu_-g7_Tz-RiyMsPs96F5cYNKU5xz2Wk_nbsnzPb6H1yHO2EXI8jAnZ_wiSCOcZWEc52dPFzEtSZaHOKQMRywnWcpwFrIc4yBmhKMzcYERjlGIY5QEeZCvIpaVVUwR5XHOOWIgQrwmQq6cmSult2f-HYKLIMRZlp9JUnJp_CtmGHuOYQzi6zN94d0qu60BEZLCWDPOYIWV_rU0LxBf72_Z-3cQ_NsQs9t2f0n_Yy94nHVaXnz_6xKDt18v8L8DAAD__9AhGrc">