[Mlir-commits] [mlir] [MLIR][Python] Ensure `_Dialect` is imported for all dialects (PR #173729)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sat Dec 27 08:32:32 PST 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir

@llvm/pr-subscribers-backend-amdgpu

Author: Twice (PragmaTwice)

<details>
<summary>Changes</summary>

`from ._xxx_ops_gen import _Dialect` appears in some dialect modules, like builtin, scf, irdl.. but not all of them. This PR ensures that for upstream dialects, `<dialect module>._Dialect` is availble, like `arith._Dialect`.

This PR is a prerequisite for the work I’m currently doing. Later on, I’d like to use these `_Dialect` objects via something like `conversion_target.add_legal_dialect(arith._Dialect)` (we could of course just use strings, but compared to using a defined symbol, that’s more prone to typos).


---
Full diff: https://github.com/llvm/llvm-project/pull/173729.diff


25 Files Affected:

- (modified) mlir/python/mlir/dialects/amdgpu.py (+1) 
- (modified) mlir/python/mlir/dialects/async_dialect/__init__.py (+1) 
- (modified) mlir/python/mlir/dialects/bufferization.py (+1) 
- (modified) mlir/python/mlir/dialects/cf.py (+1) 
- (modified) mlir/python/mlir/dialects/complex.py (+1) 
- (modified) mlir/python/mlir/dialects/emitc.py (+1) 
- (modified) mlir/python/mlir/dialects/index.py (+1) 
- (modified) mlir/python/mlir/dialects/linalg/__init__.py (+1) 
- (modified) mlir/python/mlir/dialects/llvm.py (+1) 
- (modified) mlir/python/mlir/dialects/math.py (+1) 
- (modified) mlir/python/mlir/dialects/memref.py (+1) 
- (modified) mlir/python/mlir/dialects/nvgpu.py (+1) 
- (modified) mlir/python/mlir/dialects/nvvm.py (+1) 
- (modified) mlir/python/mlir/dialects/openacc.py (+1) 
- (modified) mlir/python/mlir/dialects/openmp.py (+1) 
- (modified) mlir/python/mlir/dialects/python_test.py (+1) 
- (modified) mlir/python/mlir/dialects/rocdl.py (+1) 
- (modified) mlir/python/mlir/dialects/shape.py (+1) 
- (modified) mlir/python/mlir/dialects/shard.py (+1) 
- (modified) mlir/python/mlir/dialects/smt.py (+1) 
- (modified) mlir/python/mlir/dialects/sparse_tensor.py (+1) 
- (modified) mlir/python/mlir/dialects/spirv.py (+1) 
- (modified) mlir/python/mlir/dialects/tosa.py (+1) 
- (modified) mlir/python/mlir/dialects/ub.py (+1) 
- (modified) mlir/python/mlir/dialects/vector.py (+1) 


``````````diff
diff --git a/mlir/python/mlir/dialects/amdgpu.py b/mlir/python/mlir/dialects/amdgpu.py
index 1c4d274bc31af..38d8aaf355e4a 100644
--- a/mlir/python/mlir/dialects/amdgpu.py
+++ b/mlir/python/mlir/dialects/amdgpu.py
@@ -3,5 +3,6 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._amdgpu_ops_gen import *
+from ._amdgpu_ops_gen import _Dialect
 from ._amdgpu_enum_gen import *
 from .._mlir_libs._mlirDialectsAMDGPU import *
diff --git a/mlir/python/mlir/dialects/async_dialect/__init__.py b/mlir/python/mlir/dialects/async_dialect/__init__.py
index 6a5ecfc20956c..7f2e4e57211f5 100644
--- a/mlir/python/mlir/dialects/async_dialect/__init__.py
+++ b/mlir/python/mlir/dialects/async_dialect/__init__.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from .._async_ops_gen import *
+from .._async_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/bufferization.py b/mlir/python/mlir/dialects/bufferization.py
index 759b6aa24a9ff..a8139410deff6 100644
--- a/mlir/python/mlir/dialects/bufferization.py
+++ b/mlir/python/mlir/dialects/bufferization.py
@@ -3,4 +3,5 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._bufferization_ops_gen import *
+from ._bufferization_ops_gen import _Dialect
 from ._bufferization_enum_gen import *
diff --git a/mlir/python/mlir/dialects/cf.py b/mlir/python/mlir/dialects/cf.py
index c2e357a8e6565..0b9f4c7ffdb2a 100644
--- a/mlir/python/mlir/dialects/cf.py
+++ b/mlir/python/mlir/dialects/cf.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._cf_ops_gen import *
+from ._cf_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/complex.py b/mlir/python/mlir/dialects/complex.py
index ca81173cfc970..5861d86bc7fbc 100644
--- a/mlir/python/mlir/dialects/complex.py
+++ b/mlir/python/mlir/dialects/complex.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._complex_ops_gen import *
+from ._complex_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/emitc.py b/mlir/python/mlir/dialects/emitc.py
index 99c3286e576f1..94883e2ff7c47 100644
--- a/mlir/python/mlir/dialects/emitc.py
+++ b/mlir/python/mlir/dialects/emitc.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._emitc_ops_gen import *
+from ._emitc_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/index.py b/mlir/python/mlir/dialects/index.py
index 73708c7d71a8c..17fda117cd116 100644
--- a/mlir/python/mlir/dialects/index.py
+++ b/mlir/python/mlir/dialects/index.py
@@ -3,4 +3,5 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._index_ops_gen import *
+from ._index_ops_gen import _Dialect
 from ._index_enum_gen import *
diff --git a/mlir/python/mlir/dialects/linalg/__init__.py b/mlir/python/mlir/dialects/linalg/__init__.py
index c92bda74c12bf..0a97bc03f584b 100644
--- a/mlir/python/mlir/dialects/linalg/__init__.py
+++ b/mlir/python/mlir/dialects/linalg/__init__.py
@@ -9,6 +9,7 @@
 # definitions following these steps:
 #   DSL -> YAML -> tblgen -> pytblgen -> build/.../_linalg_ops_gen.py.
 from .._linalg_ops_gen import *
+from .._linalg_ops_gen import _Dialect
 from .._linalg_enum_gen import *
 from .._linalg_enum_gen import _iteratortypeenum
 
diff --git a/mlir/python/mlir/dialects/llvm.py b/mlir/python/mlir/dialects/llvm.py
index 941a584966dcd..1fd7e64251e61 100644
--- a/mlir/python/mlir/dialects/llvm.py
+++ b/mlir/python/mlir/dialects/llvm.py
@@ -3,6 +3,7 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._llvm_ops_gen import *
+from ._llvm_ops_gen import _Dialect
 from ._llvm_enum_gen import *
 from .._mlir_libs._mlirDialectsLLVM import *
 from ..ir import Value
diff --git a/mlir/python/mlir/dialects/math.py b/mlir/python/mlir/dialects/math.py
index f082bf4615859..5174764438f89 100644
--- a/mlir/python/mlir/dialects/math.py
+++ b/mlir/python/mlir/dialects/math.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._math_ops_gen import *
+from ._math_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/memref.py b/mlir/python/mlir/dialects/memref.py
index c80a1b1a89358..910a2356ca0e4 100644
--- a/mlir/python/mlir/dialects/memref.py
+++ b/mlir/python/mlir/dialects/memref.py
@@ -6,6 +6,7 @@
 from typing import Optional
 
 from ._memref_ops_gen import *
+from ._memref_ops_gen import _Dialect
 from ._ods_common import _dispatch_mixed_values, MixedValues
 from .arith import ConstantOp, _is_integer_like_type
 from ..ir import Value, MemRefType, StridedLayoutAttr, ShapedType, Operation
diff --git a/mlir/python/mlir/dialects/nvgpu.py b/mlir/python/mlir/dialects/nvgpu.py
index d6a54f2772f40..436a144bda79e 100644
--- a/mlir/python/mlir/dialects/nvgpu.py
+++ b/mlir/python/mlir/dialects/nvgpu.py
@@ -3,5 +3,6 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._nvgpu_ops_gen import *
+from ._nvgpu_ops_gen import _Dialect
 from ._nvgpu_enum_gen import *
 from .._mlir_libs._mlirDialectsNVGPU import *
diff --git a/mlir/python/mlir/dialects/nvvm.py b/mlir/python/mlir/dialects/nvvm.py
index 9477de39c9ead..80bc9838541ba 100644
--- a/mlir/python/mlir/dialects/nvvm.py
+++ b/mlir/python/mlir/dialects/nvvm.py
@@ -3,4 +3,5 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._nvvm_ops_gen import *
+from ._nvvm_ops_gen import _Dialect
 from ._nvvm_enum_gen import *
diff --git a/mlir/python/mlir/dialects/openacc.py b/mlir/python/mlir/dialects/openacc.py
index 057f71aed20a6..4071ca27dbe40 100644
--- a/mlir/python/mlir/dialects/openacc.py
+++ b/mlir/python/mlir/dialects/openacc.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._acc_ops_gen import *
+from ._acc_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/openmp.py b/mlir/python/mlir/dialects/openmp.py
index 604f0bd03e932..879bbc61d797f 100644
--- a/mlir/python/mlir/dialects/openmp.py
+++ b/mlir/python/mlir/dialects/openmp.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._omp_ops_gen import *
+from ._omp_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/python_test.py b/mlir/python/mlir/dialects/python_test.py
index 56d3c0f7a5465..f0bfcd8b68b35 100644
--- a/mlir/python/mlir/dialects/python_test.py
+++ b/mlir/python/mlir/dialects/python_test.py
@@ -3,6 +3,7 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._python_test_ops_gen import *
+from ._python_test_ops_gen import _Dialect
 
 
 def register_python_test_dialect(registry):
diff --git a/mlir/python/mlir/dialects/rocdl.py b/mlir/python/mlir/dialects/rocdl.py
index aa47cb4b55792..e4e604b5501d9 100644
--- a/mlir/python/mlir/dialects/rocdl.py
+++ b/mlir/python/mlir/dialects/rocdl.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._rocdl_ops_gen import *
+from ._rocdl_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/shape.py b/mlir/python/mlir/dialects/shape.py
index cc987ac843e75..c3966ff28d3a6 100644
--- a/mlir/python/mlir/dialects/shape.py
+++ b/mlir/python/mlir/dialects/shape.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._shape_ops_gen import *
+from ._shape_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/shard.py b/mlir/python/mlir/dialects/shard.py
index 8d69f17954290..b5e5b475c5d90 100644
--- a/mlir/python/mlir/dialects/shard.py
+++ b/mlir/python/mlir/dialects/shard.py
@@ -3,4 +3,5 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._shard_ops_gen import *
+from ._shard_ops_gen import _Dialect
 from ._shard_enum_gen import *
diff --git a/mlir/python/mlir/dialects/smt.py b/mlir/python/mlir/dialects/smt.py
index 38970d17abd47..c9227d7bcf443 100644
--- a/mlir/python/mlir/dialects/smt.py
+++ b/mlir/python/mlir/dialects/smt.py
@@ -3,6 +3,7 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._smt_ops_gen import *
+from ._smt_ops_gen import _Dialect
 from ._smt_enum_gen import *
 
 from .._mlir_libs._mlirDialectsSMT import *
diff --git a/mlir/python/mlir/dialects/sparse_tensor.py b/mlir/python/mlir/dialects/sparse_tensor.py
index 209ecc95fa8fc..8f8167715c458 100644
--- a/mlir/python/mlir/dialects/sparse_tensor.py
+++ b/mlir/python/mlir/dialects/sparse_tensor.py
@@ -3,6 +3,7 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._sparse_tensor_ops_gen import *
+from ._sparse_tensor_ops_gen import _Dialect
 from ._sparse_tensor_enum_gen import *
 from .._mlir_libs._mlirDialectsSparseTensor import *
 from .._mlir_libs import _mlirSparseTensorPasses as _cextSparseTensorPasses
diff --git a/mlir/python/mlir/dialects/spirv.py b/mlir/python/mlir/dialects/spirv.py
index 269678a2032eb..7cdfdb4c0092b 100644
--- a/mlir/python/mlir/dialects/spirv.py
+++ b/mlir/python/mlir/dialects/spirv.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._spirv_ops_gen import *
+from ._spirv_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/tosa.py b/mlir/python/mlir/dialects/tosa.py
index aebda742fde40..f2c1f99d222cb 100644
--- a/mlir/python/mlir/dialects/tosa.py
+++ b/mlir/python/mlir/dialects/tosa.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._tosa_ops_gen import *
+from ._tosa_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/ub.py b/mlir/python/mlir/dialects/ub.py
index 32e8706745302..101846f5e6bb7 100644
--- a/mlir/python/mlir/dialects/ub.py
+++ b/mlir/python/mlir/dialects/ub.py
@@ -3,3 +3,4 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._ub_ops_gen import *
+from ._ub_ops_gen import _Dialect
diff --git a/mlir/python/mlir/dialects/vector.py b/mlir/python/mlir/dialects/vector.py
index 7384e9a5aeef2..f01192e12199c 100644
--- a/mlir/python/mlir/dialects/vector.py
+++ b/mlir/python/mlir/dialects/vector.py
@@ -3,4 +3,5 @@
 #  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 
 from ._vector_ops_gen import *
+from ._vector_ops_gen import _Dialect
 from ._vector_enum_gen import *

``````````

</details>


https://github.com/llvm/llvm-project/pull/173729


More information about the Mlir-commits mailing list