[Mlir-commits] [mlir] [MLIR][Python] Make Python-defined dialect loading context-aware (PR #210501)
Adam Siemieniuk
llvmlistbot at llvm.org
Thu Jul 23 01:51:02 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(
----------------
adam-smnk wrote:
A general design question.
>From context perspective, loading twice is an error.
However, from end user perspective, do I care about it?
Could the load just do nothing and return?
Alternatively, if you want to keep current approach, could it raise more specific exception like `DialectReloadingError` or `DialectAlreadyLoadedError`?
Then the error can be handled more gracefully on the caller's side.
https://github.com/llvm/llvm-project/pull/210501
More information about the Mlir-commits
mailing list