|
MLIR 22.0.0git
|
Globals that are always accessible once the extension has been initialized. More...
#include "mlir/Bindings/Python/Globals.h"
Classes | |
| class | TracebackLoc |
| class | TypeIDAllocator |
Public Member Functions | |
| PyGlobals () | |
| ~PyGlobals () | |
| std::vector< std::string > | getDialectSearchPrefixes () |
| Get and set the list of parent modules to search for dialect implementation classes. | |
| void | setDialectSearchPrefixes (std::vector< std::string > newValues) |
| void | addDialectSearchPrefix (std::string value) |
| bool | loadDialectModule (llvm::StringRef dialectNamespace) |
| Loads a python module corresponding to the given dialect namespace. | |
| void | registerAttributeBuilder (const std::string &attributeKind, nanobind::callable pyFunc, bool replace=false) |
| Adds a user-friendly Attribute builder. | |
| void | registerTypeCaster (MlirTypeID mlirTypeID, nanobind::callable typeCaster, bool replace=false) |
| Adds a user-friendly type caster. | |
| void | registerValueCaster (MlirTypeID mlirTypeID, nanobind::callable valueCaster, bool replace=false) |
| Adds a user-friendly value caster. | |
| void | registerDialectImpl (const std::string &dialectNamespace, nanobind::object pyClass) |
| Adds a concrete implementation dialect class. | |
| void | registerOperationImpl (const std::string &operationName, nanobind::object pyClass, bool replace=false) |
| Adds a concrete implementation operation class. | |
| std::optional< nanobind::callable > | lookupAttributeBuilder (const std::string &attributeKind) |
| Returns the custom Attribute builder for Attribute kind. | |
| std::optional< nanobind::callable > | lookupTypeCaster (MlirTypeID mlirTypeID, MlirDialect dialect) |
| Returns the custom type caster for MlirTypeID mlirTypeID. | |
| std::optional< nanobind::callable > | lookupValueCaster (MlirTypeID mlirTypeID, MlirDialect dialect) |
| Returns the custom value caster for MlirTypeID mlirTypeID. | |
| std::optional< nanobind::object > | lookupDialectClass (const std::string &dialectNamespace) |
| Looks up a registered dialect class by namespace. | |
| std::optional< nanobind::object > | lookupOperationClass (llvm::StringRef operationName) |
| Looks up a registered operation class (deriving from OpView) by operation name. | |
| TracebackLoc & | getTracebackLoc () |
| MlirTypeID | allocateTypeID () |
Static Public Member Functions | |
| static PyGlobals & | get () |
| Most code should get the globals via this static accessor. | |
Globals that are always accessible once the extension has been initialized.
Methods of this class are thread-safe.
| mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::PyGlobals | ( | ) |
Definition at line 34 of file Globals.cpp.
References MAKE_MLIR_PYTHON_QUALNAME.
Referenced by get().
| mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::~PyGlobals | ( | ) |
Definition at line 42 of file Globals.cpp.
|
inline |
Definition at line 52 of file Globals.h.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
|
inline |
Definition at line 174 of file Globals.h.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populatePassManagerSubmodule().
|
static |
Most code should get the globals via this static accessor.
Definition at line 44 of file Globals.cpp.
References PyGlobals().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteAttribute< DerivedTy, BaseTy >::bind(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteType< DerivedTy, BaseTy >::bind(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConcreteValue< DerivedTy >::bind(), createCustomDialectWrapper(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAttrBuilderMap::dunderContains(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAttrBuilderMap::dunderGetItemNamed(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAttrBuilderMap::dunderSetItemNamed(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateIRAttributes(), mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populatePassManagerSubmodule(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
|
inline |
Get and set the list of parent modules to search for dialect implementation classes.
Definition at line 44 of file Globals.h.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
|
inline |
Definition at line 151 of file Globals.h.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
| bool mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::loadDialectModule | ( | llvm::StringRef | dialectNamespace | ) |
Loads a python module corresponding to the given dialect namespace.
No-ops if the module has already been loaded or is not found. Raises an error on any evaluation issues. Note that this returns void because it is expected that the module contains calls to decorators and helpers that register the salient entities. Returns true if dialect is successfully loaded.
Definition at line 49 of file Globals.cpp.
Referenced by lookupDialectClass(), lookupOperationClass(), lookupTypeCaster(), lookupValueCaster(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
| std::optional< nb::callable > mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::lookupAttributeBuilder | ( | const std::string & | attributeKind | ) |
Returns the custom Attribute builder for Attribute kind.
Definition at line 141 of file Globals.cpp.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAttrBuilderMap::dunderContains(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAttrBuilderMap::dunderGetItemNamed().
| std::optional< nb::object > mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::lookupDialectClass | ( | const std::string & | dialectNamespace | ) |
Looks up a registered dialect class by namespace.
Note that this may trigger loading of the defining module and can arbitrarily re-enter.
Definition at line 178 of file Globals.cpp.
References loadDialectModule().
Referenced by createCustomDialectWrapper().
| std::optional< nb::object > mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::lookupOperationClass | ( | llvm::StringRef | operationName | ) |
Looks up a registered operation class (deriving from OpView) by operation name.
Note that this may trigger a load of the dialect, which can arbitrarily re-enter.
Definition at line 193 of file Globals.cpp.
References loadDialectModule().
| std::optional< nb::callable > mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::lookupTypeCaster | ( | MlirTypeID | mlirTypeID, |
| MlirDialect | dialect ) |
Returns the custom type caster for MlirTypeID mlirTypeID.
Definition at line 151 of file Globals.cpp.
References loadDialectModule(), mlirDialectGetNamespace(), and unwrap().
| std::optional< nb::callable > mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::lookupValueCaster | ( | MlirTypeID | mlirTypeID, |
| MlirDialect | dialect ) |
Returns the custom value caster for MlirTypeID mlirTypeID.
Definition at line 164 of file Globals.cpp.
References loadDialectModule(), mlirDialectGetNamespace(), and unwrap().
| void mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::registerAttributeBuilder | ( | const std::string & | attributeKind, |
| nanobind::callable | pyFunc, | ||
| bool | replace = false ) |
Adds a user-friendly Attribute builder.
Raises an exception if the mapping already exists and replace == false. This is intended to be called by implementation code.
Definition at line 82 of file Globals.cpp.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyAttrBuilderMap::dunderSetItemNamed().
| void mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::registerDialectImpl | ( | const std::string & | dialectNamespace, |
| nanobind::object | pyClass ) |
Adds a concrete implementation dialect class.
Raises an exception if the mapping already exists. This is intended to be called by implementation code.
Definition at line 116 of file Globals.cpp.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
| void mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::registerOperationImpl | ( | const std::string & | operationName, |
| nanobind::object | pyClass, | ||
| bool | replace = false ) |
Adds a concrete implementation operation class.
Raises an exception if the mapping already exists and replace == false. This is intended to be called by implementation code.
Definition at line 128 of file Globals.cpp.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
| void mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::registerTypeCaster | ( | MlirTypeID | mlirTypeID, |
| nanobind::callable | typeCaster, | ||
| bool | replace = false ) |
Adds a user-friendly type caster.
Raises an exception if the mapping already exists and replace == false. This is intended to be called by implementation code.
Definition at line 96 of file Globals.cpp.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateIRAttributes(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
| void mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGlobals::registerValueCaster | ( | MlirTypeID | mlirTypeID, |
| nanobind::callable | valueCaster, | ||
| bool | replace = false ) |
Adds a user-friendly value caster.
Raises an exception if the mapping already exists and replace == false. This is intended to be called by implementation code.
Definition at line 106 of file Globals.cpp.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().
|
inline |
Definition at line 48 of file Globals.h.
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRoot().