<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/60569>60569</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir] loading an unregistered dependent dialect of a pass is broken
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Tai78641
</td>
</tr>
</table>
<pre>
loading an unregistered dialect as an dependent dialect of a pass used to work. but it is broken as of this commit:
0441272c4501 Revert "Revert "Refactor OperationName to use virtual tables for dispatch (NFC)""
to reproduce, just comment out registering of TestDialect in mlir-opt.cpp:
```
int main(int argc, char **argv) {
registerAllPasses();
#ifdef MLIR_INCLUDE_TESTS
registerTestPasses();
#endif
DialectRegistry registry;
registerAllDialects(registry);
#ifdef MLIR_INCLUDE_TESTS
// ::test::registerTestDialect(registry); // comment this out so TestDialect is unregistered
::test::registerTestTransformDialectExtension(registry);
::test::registerTestDynDialect(registry);
#endif
return mlir::asMainReturnCode(
mlir::MlirOptMain(argc, argv, "MLIR modular optimizer driver\n", registry,
/*preloadDialectsInContext=*/false));
}
```
then run the `test-rewrite-dynamic-op.mlir` test:
`mlir-opt -allow-unregistered-dialect -test-rewrite-dynamic-op /llvm-project/mlir/test/Transforms/test-rewrite-dynamic-op.mlir `
this segfaults:
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVd9v4jgQ_muclxHIcUhIH_LAQpEqbbunbu955SQT8K5jR_aELvfXn2wCpdej0iIUWc78-r5vJiO9VzuDWLH8C8s3iRxpb131ItWyLBZpUtv2WGkrW2V2IA2MxuFOeUKHLbRKamwIpA-vWhzQtGjocm87kDBI72H02AJZeLXu1xzqkUARKA-1s7_QhAC2A9orD43te0UsWzG-YXzFF4tULEWzyHkKz3hAR8CEuD51siHr4NuATpKy5kn2GHKNHuGgHI1SA8lao4fOOmiVHyQ1e2CifNqumbhjQoR_zHd6kgWHg7Pt2CATa_g5eoqVBXR2JDiTEFixHbygp80EWhnotXIzO9C8GYYLkulZ8Ol_dakMQS-VYaIMR-l2Tcja7KUDJlZMrKTbHZi4A7b8cnKBSwkrrf-S3qNnogxgssmCiUx1LXbw-PXh-cfD0_rr35v7Hy_331--_zdEKP9WDDSt6s4OE8bn6OeOUwB3vDi8K2uyDkEvhn9WIBNbJrYQOMxWhJ5Op-u6pyQfclycz7LF7graefteL_-uqafUn6V8cdL4zrp-CnH_m9B4Zc0NoJ_XfzS3IPy_Bg5pdKceO0WT_lEq8xyv17bFoOFkG35vho9auW8DPZ467dxlp9Zah1kKQkBv21FLB3Yg1at_0EHr1AEdy9cmTsr6TXaxPiMMXK8Gh-FTcdb9waytIfxNLNvENt52UnuME3eFb7n5ZDRojwbcaID2CKzggcSZw1enCGft0cheNTM7zCPKgsOZ5Pcjdx5ImEmt7evsWvDZ-Ws1uxE7gNP60M8GZ39GnbYxm9jGZGJ76Qc_3d0qED6AUx487jo5avIsWyVtlbV32Z1MsEqLZb5MCy7KZF_VPE3rrEmFLGveNSLrmrIUvFuUIhdYLBNVCS4yLngh-IKL5Rx5ntUy7VJZlG0plmzBsZdKzwOUuXW7RHk_YlXwvLhLtKxR-7gEhDD4CvFlkDvfJK6K8Otx59mCa-XJv0UhRTpuj8hJvoGby-KT9XDZBMnodLUnGgIbpwHeKdqP9byx_aTDRzlisYH8CObfAAAA__9tECus">