[Mlir-commits] [mlir] [MLIR][Python] Make Python-defined dialect loading context-aware (PR #210501)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Thu Jul 23 04:12:46 PDT 2026


================
@@ -957,18 +957,11 @@ def _emit_module(cls) -> ir.Module:
         return m
 
     @classmethod
-    def load(
-        cls,
-        *,
-        reload: bool = False,
-    ) -> None:
-        if hasattr(cls, "_mlir_module") and not reload:
-            if cls._mlir_module.context is not ir.Context.current:
-                raise RuntimeError(
-                    "This dialect was loaded in a different context. "
-                    "Please set reload=True to reload the dialect in the current context."
-                )
-            return
+    def load(cls) -> None:
+        if ir.Context.current.is_dialect_loaded(cls.DIALECT_NAMESPACE):
+            raise RuntimeError(
----------------
PragmaTwice wrote:

Yeah we can do some detection but it may make the implementation more complicated. Dialect changes may be not only about new ops, but also about changing/added/deleting an operand/result/.. in existing ops (Python class is so dynamic so it's possible). Currently I think the simplest way is just to raising an exception.

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


More information about the Mlir-commits mailing list