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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Test-legalize-patterns Pass crashed due to unregistered dialect.
        </td>
    </tr>

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

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

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

<pre>
    MLIR built at commit https://github.com/llvm/llvm-project/commit/97a1c98f
Reproduced with: 
`mlir-opt --test-legalize-patterns temp.mlir`

temp.mlir:
``` milr  
func.func @func(%value: f32) -> f32 { 
  %0 = spirv.GroupFMax <Workgroup> <Reduce> %value : f32
  return %0: f32

```
 
trace:
```console  
LLVM ERROR: Building op `test.cast` but it isn't registered in this MLIRContext: the dialect may not be loaded or this operation isn't registered by the dialect. See also https://mlir.llvm.org/getting_started/Faq/#registered-loaded-dependent-whats-up-with-dialects-management
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: mlir-opt --test-legalize-patterns temp.mlir
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  mlir-opt 0x000000010480917c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x00000001048081e4 llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000104809814 SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001aad414c4 _sigtramp + 56
4  libsystem_pthread.dylib 0x00000001aad29ee0 pthread_kill + 288
5  libsystem_c.dylib 0x00000001aac64340 abort + 168
6  mlir-opt 0x00000001047cfdbc llvm::report_fatal_error(llvm::Twine const&, bool) + 468
7  mlir-opt                 0x0000000105d75f20 test::TestCastOp mlir::OpBuilder::create<test::TestCastOp, mlir::Type&, mlir::ValueRange&>(mlir::Location, mlir::Type&, mlir::ValueRange&) + 464
8 mlir-opt                 0x0000000105d75c20 (anonymous namespace)::TestTypeConverter::materializeCast(mlir::OpBuilder&, mlir::Type, mlir::ValueRange, mlir::Location) + 36
9  mlir-opt 0x0000000105e792f4 legalizeUnresolvedMaterialization((anonymous namespace)::UnresolvedMaterialization&, llvm::DenseMap<mlir::Operation*, (anonymous namespace)::UnresolvedMaterialization*, llvm::DenseMapInfo<mlir::Operation*, void>, llvm::detail::DenseMapPair<mlir::Operation*, (anonymous namespace)::UnresolvedMaterialization*>>&, mlir::ConversionPatternRewriter&, mlir::detail::ConversionPatternRewriterImpl&, llvm::DenseMap<mlir::Value, llvm::SmallVector<mlir::Value, 6u>, llvm::DenseMapInfo<mlir::Value, void>, llvm::detail::DenseMapPair<mlir::Value, llvm::SmallVector<mlir::Value, 6u>>>&) + 804
10 mlir-opt                 0x0000000105e71020 (anonymous namespace)::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>, llvm::function_ref<void (mlir::Diagnostic&)>) + 4280
11 mlir-opt 0x0000000105e72400 mlir::applyPartialConversion(mlir::Operation*, mlir::ConversionTarget&, mlir::FrozenRewritePatternSet const&, llvm::DenseSet<mlir::Operation*, llvm::DenseMapInfo<mlir::Operation*, void>>*) + 80
12 mlir-opt                 0x0000000105d74f60 (anonymous namespace)::TestLegalizePatternDriver::runOnOperation() + 10092
13 mlir-opt                 0x0000000105e34d5c mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 428
14 mlir-opt 0x0000000105e3528c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
15 mlir-opt                 0x0000000105e36c08 mlir::PassManager::run(mlir::Operation*) + 1148
16 mlir-opt 0x0000000105e2ffcc performActions(llvm::raw_ostream&, bool, bool, std::__1::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 504
17 mlir-opt                 0x0000000105e2fb9c mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0>(long, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) + 704
18 mlir-opt                 0x0000000105e9b050 mlir::splitAndProcessBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) + 656
19 mlir-opt 0x0000000105e2dfc4 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool) + 216
20 mlir-opt                 0x0000000105e2e4b8 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
21 mlir-opt 0x00000001046abd78 main + 108
22 dyld 0x0000000109551088 start + 516

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWUtv4zgS_jXMpWBDomRZOuTgvHYaiBHDyc5i92JQUknmNkVqSCo9nl-_oB627Njd7t4ZoLHYILBsiVWsx1cfixQzhpcS8ZbM7sjs4YY1dqv07b0SQtVK28Z4N6nKd7fL509rSBsuLDALmaoqbmFrbW1IsCD0idCnktttk04zVRH6JMT7cJnUWv0bM0voUydH6FMyZ36WxAXxHoi3WGOtVd5kmMMXbrckWED3gEReJbieqNrCZGLR2InAkgn-B05qZi1qacBiVU_dMBJ5vVj7ebgfLPbqun-ouNDQT1I0Mpu6DyCh566ExoTO3plo0JlSBJTQBCYkeHTfgczvekkAQmcekOABTM31-_RvWjX105L9DiS4_4fSn0t3wwmS4H6NzsX2R68dBvW9No220bJVevSEzB_gxINepPdUM6f41MtMSaMEDn4-P_-6hMf1-mXtlN81XORclqBqIJHnYjvNmLEuOmljgVvgRhI6t6Cx5Maixhy4BLvlBhwc7pW0-Lt1yuwWIedMYGahYjuQykKKIBTLMQelOyFVo2aWK3lOc7oba5nCKyIwYdQJyFw-pw5VU6VLBzq0lstyYyzTFnNCn57Yb-3Q4KB80hkyybFGmaO0ky9bZs2kqScOb5N-UjOpmGQlVihtF7LV8-Pi9RFMkzq4M0ibEjS6wgB7atkV8OfGNGgIfQImXSwz0eTYup1pZraQsuxzm8tpN_2rZdlnyJuq3ifXmxIvWWlValYB02XjjHVGwPcUyon2tupUY8HsqlQJkKxCA4TGKE2jEXaqgS17R2j96QbxP1A7OOxUo2G1ePvFpdmgbd1B-c61ks42eGfaAcyhb_P6z-Xdy_Onfz2uN07EYc0qqBWXbUAdNSQHV-Hgk_e71_35Xhh7iT_PWlvc2GBhdqb7stJc2tatt7YiaHwYpNmXjTJWI6sIjQi9By7ddEDoHcyibkp_NOXp37EJsY_hORPWjXzlpWTiFyZzgdq0ZNLN4vt9PdPLnsV-CEcKCI1HhgZh2KkIAARPzc5YrDa1YLZQuprmO8HTkUrG8tAPsxA2hpdWs6o-cjc8UmK3Gll-TgdNED3oB2w-cyFaNTSOOz2zsZ7sjIYsCoPQA5a6ymlDEfWi0YVQzLMiT8dJ7spuUzDLxAa1VvoovW9fuERwjGf79KZKiSFs4TDd_LoEz_L5rKAeuELq9aOx98zYlxqGJSVYvNQti2L_M9PILJLg_pyYM-kg-barsbfzcPNXtyasmSzbR8EjofHh4bPKWu78bj37EPTIia-OQEY9RwJMKrmrVGM6XqjbykoO_jkb7pV8R22HSFTMouYt_Tjvjxw5BO3U7s6ZS56M7x-C0ZdFD-jkPJpmOE9oEcJAiX-XGo0S75gv94b2-uJvOPwV0dabAyIfUBpcspoE92Pn-yWQ0IUb_uOzLc7P9kkW6qszviuet9gaS-doGRfHmlbMqfiLbA8eWxtOANChyHAlV92atcYvmtszUBkbfFHqU1WL69LS4ux43GvFhPgVM6v0-aFR8yGMF5OwF_rx6P-4iYdYd8USez0T-N51VIBz3_s2FezhccIFWfdz_9gc8fZCa7ZbY3EZaafRch26e7bRrZSLKBwRzANnpVTG8qxzutXQkyCN-87Z9y8xBQ09b4Q0Vtdit2LaciYOSDthtOPCOAfoN6ZLtB9w_KTVHzgAtofvK9qjhewEX69ov1qW_wUnuEAtDjDpI0WvXTDCIrpqwXjuabj390Hz9wEsupEvcmTeoXfyvKTvnvzgStgGYT7LLpDGS_2mXuoVM2aRs7qtoH7-o9S6AR-yejnfC8nEznCzbPcR-tCG3EMj2512Pm47Q9q3JX54AY3BjMbf78KK1yi4xBOUuqF7y6I_3aexkJvqkzRWt_sT16stvjagm7l70Nu-YhqlddAdimGPzIAO0Jxdi4Qo8-KT2Qd_zub9OBxD-x4O6YoupIsWRZZBjdp144vsI9193IUMsRyuxubd0M3G7_cWW6Yx39TWsfyI_VWjM1yWmgSPR3xx8GK8Sz8lhxMaHfdWJc-YWKNphIUP1TAGUNKT87EP_ZZqv8rMr0wSLdIkg0uG_IjlH2PZSP5bgx9iucRK6d1dUxQdwD8K5liwRthNjgLbHv-CcM-i40if5ryNWrc0MiHcnn9TyCNHloLrl9ouGZffQM_P4eGfiaWjdVxgZtftMY7eXaiX66796kNouPG6nZVQsvx5IvgBI20Nzfc1dOWmDZPUm427F1MLbhcyX2mVoTGD9T9JZfxPVPJXR5znxmh_3pRcWkjyIgvh_4zwFzJCd4Tl95mg1-6FKIZpfDEzfSOUbVnX8pwsuq9Wc1m67c7VfvW9B_X63oOe37iEEUvzeQwV47JvmAcBCvlO5OPByWzme3EM7aF5t1oPcTh5hXCT3wZ5EiTsBm_9aB4GPo1ierO9ZRjmkZ_NWTJnCc7ozC-iKKZJEKb5nIXxDb-lHg08n_p-OPMpnaKfB-k8CpLCn6GHjIQeVoyL_Wn-TXs8fht5fhzcCJaiMMNrKX3bnjynTWlI6AlurDmIWW5F-wKrDejsAd7OH387fHUH7ZhD3iBYBY0cvYIY3j3cNFrc_vjhfuvAfwIAAP__6P9emw">