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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]Crashed on `-test-pdll-pass` pass with failure message 'LLVM ERROR: test.success created with unregistered dialect'
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          BealZephyr
      </td>
    </tr>
</table>

<pre>
    Test commit: https://github.com/llvm/llvm-project/commit/b92839c9548a55bc7a3267b05d11c9d9c530b792

Steps to reproduce:
```
mlir-opt test.mlir -test-pdll-pass
```
Test case:
```
module {
  func.func @main(%arg0: memref<61xi1>) -> memref<61xi1> {
    %0 = llvm.mlir.constant(true) : i1
    %1 = llvm.mlir.constant(1 : index) : i64
    %2 = llvm.mlir.constant(61 : index) : i64
    %3 = llvm.mlir.constant(0 : index) : i64
    %4 = builtin.unrealized_conversion_cast %3 : i64 to index
    %5 = builtin.unrealized_conversion_cast %2 : i64 to index
    %6 = builtin.unrealized_conversion_cast %1 : i64 to index
    %alloc = memref.alloc() {alignment = 64 : i64} : memref<61xi1>
    scf.parallel (%arg1) = (%4) to (%5) step (%6) {
      %7 = memref.load %arg0[%arg1] : memref<61xi1>
      %8 = llvm.xor %7, %0  : i1
      memref.store %8, %alloc[%arg1] : memref<61xi1>
      scf.yield
    }
    return %alloc : memref<61xi1>
  }
}
```
Crash trace:
```
LLVM ERROR: test.success 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: /home/ty/llvm-project/build/bin/mlir-opt test.mlir -test-pdll-pass
 #0 0x000055aa0882d9da llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/ty/llvm-project/build/bin/mlir-opt+0xd619da)
 #1 0x000055aa0882ab4c SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f8448eba980 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #3 0x00007f8447b6be87 raise /build/glibc-CVJwZb/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #4 0x00007f8447b6d7f1 abort /build/glibc-CVJwZb/glibc-2.27/stdlib/abort.c:81:0
 #5 0x000055aa0884fa1d llvm::report_fatal_error(llvm::Twine const&, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0xd83a1d)
 #6 0x000055aa0a8980d2 mlir::Operation::Operation(mlir::Location, mlir::OperationName, unsigned int, unsigned int, unsigned int, mlir::DictionaryAttr, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x2dcc0d2)
 #7 0x000055aa0a89fc6d mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::DictionaryAttr, mlir::BlockRange, unsigned int) (/home/ty/llvm-project/build/bin/mlir-opt+0x2dd3c6d)
 #8 0x000055aa0a8a037f mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::NamedAttrList&&, mlir::BlockRange, mlir::RegionRange) (/home/ty/llvm-project/build/bin/mlir-opt+0x2dd437f)
 #9 0x000055aa0a8a071c mlir::Operation::create(mlir::OperationState const&) (/home/ty/llvm-project/build/bin/mlir-opt+0x2dd471c)
#10 0x000055aa0a7e8f4c mlir::OpBuilder::create(mlir::OperationState const&) (/home/ty/llvm-project/build/bin/mlir-opt+0x2d1cf4c)
#11 0x000055aa0b09552c (anonymous namespace)::ByteCodeExecutor::executeCreateOperation(mlir::PatternRewriter&, mlir::Location) ByteCode.cpp:0:0
#12 0x000055aa0b0a0da5 (anonymous namespace)::ByteCodeExecutor::execute(mlir::PatternRewriter&, llvm::SmallVectorImpl<mlir::detail::PDLByteCode::MatchResult>*, std::optional<mlir::Location>) (.constprop.993) ByteCode.cpp:0:0
#13 0x000055aa0b0a3d1c mlir::detail::PDLByteCode::rewrite(mlir::PatternRewriter&, mlir::detail::PDLByteCode::MatchResult const&, mlir::detail::PDLByteCodeMutableState&) const (/home/ty/llvm-project/build/bin/mlir-opt+0x35d7d1c)
#14 0x000055aa0b0766bc mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) (/home/ty/llvm-project/build/bin/mlir-opt+0x35aa6bc)
#15 0x000055aa0a76d93d (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() GreedyPatternRewriteDriver.cpp:0:0
#16 0x000055aa0a770b1a mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig) (/home/ty/llvm-project/build/bin/mlir-opt+0x2ca4b1a)
#17 0x000055aa0a5bcbff (anonymous namespace)::TestPDLLPass::runOnOperation() TestPDLL.cpp:0:0
#18 0x000055aa0a6d40ae mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/ty/llvm-project/build/bin/mlir-opt+0x2c080ae)
#19 0x000055aa0a6d4f03 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (.constprop.510) Pass.cpp:0:0
#20 0x000055aa0a6d558d mlir::PassManager::run(mlir::Operation*) (/home/ty/llvm-project/build/bin/mlir-opt+0x2c0958d)
#21 0x000055aa0a6c750f performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#22 0x000055aa0a6c7c91 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
#23 0x000055aa0a6c89c1 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
#24 0x000055aa0a7a7f70 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) (/home/ty/llvm-project/build/bin/mlir-opt+0x2cdbf70)
#25 0x000055aa0a6c0f63 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/ty/llvm-project/build/bin/mlir-opt+0x2bf4f63)
#26 0x000055aa0a6c63be mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) (/home/ty/llvm-project/build/bin/mlir-opt+0x2bfa3be)
#27 0x000055aa087f04f0 main (/home/ty/llvm-project/build/bin/mlir-opt+0xd244f0)
#28 0x00007f8447b4ec87 __libc_start_main /build/glibc-CVJwZb/glibc-2.27/csu/../csu/libc-start.c:344:0
#29 0x000055aa0880319a _start (/home/ty/llvm-project/build/bin/mlir-opt+0xd3719a)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWltz46od_zTKCxMPQveHPDgXt9tJuplsup05Lx4EyKaLQQW0G59P3wHJtnDsxDneOd12JokN4n_7_W8ggo3hC8nYVZRdR9ntBe7sUumra4bFb6xdrvVFrej66pkZC4harbiNkilYWtuaKJlGaBah2YLbZVdPiFpFaCbE983HZavVvxixEZoNpGhWV6hMKlJlaYmzrCYFTlBe1DCjcUwqWpEsgXVRoQjeRnDa__1iWWuAVUCzVivaEeZE9wtyOPz44UpwfalaCywzduJG4NJ9vWypEJctNuYgWW8dNsf5KtoJBqLiuh8D0HSSTNwfEKVwhbmMUBmhDOsFdACt2EqzJkpu8viFx1FyF6EKXEbJ3esnY64ARCiDIEpugQPQWzAhShqLpY1QaXXHHCcngscBVXycKu7XS8petsR5GlCj49T5CeTJcXL4PnXqqeuOC8vlpJOaYcF_Z3ROlPzOtOFKzgk2diPJc3Dx0HMds8o-wAq9zSr_AKv4bVZYCEU8u977Ez_hI6Zy7seCL-SKSevX5OkWpeIWHI6mLXdDmkmLNRaCCbCNwbiH-naYSd3QqmGUuZGxrB3G-aDFjqlXuhgrLBSmYBPf2fVGSvaufp5VuQuPF6U98wjd9LH-KpbBRqaxSjNPPizuUfuYdIfPmjNBRw4pbncDzWyn5dhJbzDcUu6-hHXiRmOzBFbj4yXq_v7rA7h7evr85ET5OmU6QpgxgGiGLaPgB7dL4AJuwY1lmlFAORaM2An41AC75Aa4H2mZpIw6cFrBsGGAYCGAs-PHP0bUtz2xGeJNSWCXDDzcf3q6UdKyF-s4KA06w8Clp74cC78chPdqbUiBVUo4Ejrp7Xq8v5t-uQOmq1fcAgzqbuHqtdLWRd6HGwY3pmMmQjOAJQVcEtFR5qUTj3GNyTeP82TTIzD5Bmi3arfAw0kEq0etFhqvANaLzmWYUwJEaLZUKxahmV2_Fu1SnrpPV9Rnp7YUEKEEAvgCIYRZhjEsS0Qrin3YO52SqVmb_suj5tJ6jZ99qKByt0jjH3NlrGZ4FaHcuYa7Olr1yfpxvSN0DV9oHlcUR6ja6Rrv6YrrlIAvfCGx-CuWVDAdoXIQ3U-bCWkdutD_bhmhgVHRlGlashpXJQTzuWY-f-faDpoLXkdo9lLm8zy9FFx2L5cL2fUPWrvUDNOJURPoFY5RVcJA32QspqjzmpUF0JgbVyK2ti8Er8nlzde__fit3g7RBBURmhlvRYRmk4kbrQ1lrYuwTvKXfuK710Z2buhZT0iUTLM4NDjd04QWTQxwrbylp2liaY-Gp_JCyj0hWeietMExHYVSn1nzBlss5kxrpYMgev7BJQO-Cw9BVCslzo6iMsExDbySj9XEZVVCioAj6vX43DKNLVdyf4jK3aJ7RYbJm0Okf8dO1xvQSb9TpX0-vD_esbrlxDHCej21Vv8sNBAlBFIUwFHswdGQnB6Ho6_3fwSL3aPndcuesFzsTX_Fojs0_xqK3bNroci3LU0I57lQ0YTkYeSUIVQYJkXzS0HlGFCH0j0fsih_C6_d_BNbcCWHB2cDlyZFEwBX7QNXxORDwG1XfLHYjqvE-boWMdnq6npM0BBxwcomDXW9dvyY_vN1jUmThroGDbGGVZYh4oRgqeR6pToDJF4x0_qGXQ0hsLbsRlF298JIZ9WgNPMjduPNOVzzHrG1TMsn9kNz61rtXmztgrsCGyGv269TG4VqY0hxdpbaJ-i5azRfVliIr4xYpT-tWhElNztayizmYuBze78R2k88YEuWT8x0wvrT8dTxNZb2T1Xrq1TIb4tJf5qOUNmfM1ut2klVJe9jlexhldAgdd5UWPcQfMiLpyIQdOp3yR86i2vBfEYMueDpz8qIJKMF3cveNISryPN6DNdg_bRtBSd4G0YrZ9dU0qcDgI2SYRra-l6gNZ30nWven8xcAweHfDEuET5Q3mDyXXF6NpNxfC44wWJw6Ul8z6tiSYZxXoc-y8KKm9Mqoe-Vg79oxug69MCt5t83dbnVyp1P_6n0N-F7oT9HHqc6nHzhVrEoYB3jUQDgthUbbmYq6UwJ6kVwsQ6w7Nvrq2SZafU72-gx8PnCjqVWr_yw-kbJhi_O7ikEp3WMA2-E-8GsJnXTvOeNZ2bs4-39_aM7Wvalp5Of5biPOFU3yw6DHe6ucppCzI5Uls_ts_rcOmlTitttGutuv2MZ8yprj-fzVGKxNtw8YIkXbLTp_sk7SwJLiFkAerVvewOTD9v-yFsmuNwvX27p1qT8p4MRVkRjPkljtX9v4Q54r0rmeMFoz7fR_RFrJu0n2ahNFkxfN84sduds4JgdDCUE9-DMspLuabGx62DghLCc7e4qK-nY3SgO9SNFBhvQMt0ovZr6Sm3eecGy3XaYJdaMzluro-RmtMlRnSbsYaGj5O5IPQnepu356UFw_bm1D5jLvtIE29jR08P4o337SBWDoSRfd03D9KnmdZL_u2OvzHtgK6XXG1aj9ZQ1uBN2Tplglh2nSe6GJnmazeF51L9bfPJvG_X6Vdt_9u-FHn2yTE-CK9mDq6xIDI416T_S1f88OI871e8e-jMTFqLG5Nu8kYHaI5x-wfA47PYTU6ZfEqFC4FVNcYSKX8krqBRKLv5cYN9Q6f2EScN9GS6aAo5cYVrB7VTSx72K89-w7n8wSd9csdsG_JQXkoTWTQGD5pjtVUPY5MnhPPt_qxLnQVk3aZMnAZT5HpR5UrOjUA67ObLE_b5tuvfaxGouF0-sOcXgnxIbdYOTOtgno-BwUhYNTBsIVpjL8y4JUJo2YRCW4YVJykhZgPlc8JrMjcXazgepJ12eENNt7nD6r_6h5-NvUpI0DQtcFV6lwCSuMOgFn2dpUsTV6Ly3uee9oFcJrZIKX7CrOC8RyooElRfLq4QVBUoaBBEtMSSwwBCWDaxgnGekKtgFv0IQJTBFSZykCJaTlMQZq2BTpYiUZQOjFLIV5mLi79KVXlz4e9Kr3J01LwSumTCb_-TRV96UuluYKIXu4G52ZJZb4f_nx21co-zWX1wzCpQEUQ73LzhzCNxnfwPcYC46zcCKGYMXDESoOOdOO0LFRafF1R-_IfbG_ycAAP__eIBGxA">