MLIR
22.0.0git
|
#include "Bindings/Python/IRModule.h"
Classes | |
struct | ErrorCapture |
RAII object that captures any error diagnostics emitted to the provided context. More... | |
Public Member Functions | |
PyMlirContext ()=delete | |
PyMlirContext (MlirContext context) | |
PyMlirContext (const PyMlirContext &)=delete | |
PyMlirContext (PyMlirContext &&)=delete | |
~PyMlirContext () | |
MlirContext | get () |
Accesses the underlying MlirContext. More... | |
PyMlirContextRef | getRef () |
Gets a strong reference to this context, which will ensure it is kept alive for the life of the reference. More... | |
nanobind::object | getCapsule () |
Gets a capsule wrapping the void* within the MlirContext. More... | |
void | contextExit (const nanobind::object &excType, const nanobind::object &excVal, const nanobind::object &excTb) |
nanobind::object | attachDiagnosticHandler (nanobind::object callback) |
Attaches a Python callback as a diagnostic handler, returning a registration object (internally a PyDiagnosticHandler). More... | |
void | setEmitErrorDiagnostics (bool value) |
Controls whether error diagnostics should be propagated to diagnostic handlers, instead of being captured by ErrorCapture . More... | |
Static Public Member Functions | |
static PyMlirContextRef | forContext (MlirContext context) |
Returns a context reference for the singleton PyMlirContext wrapper for the given context. More... | |
static nanobind::object | createFromCapsule (nanobind::object capsule) |
Creates a PyMlirContext from the MlirContext wrapped by a capsule. More... | |
static size_t | getLiveCount () |
Gets the count of live context objects. Used for testing. More... | |
static nanobind::object | contextEnter (nanobind::object context) |
Enter and exit the context manager. More... | |
Friends | |
class | PyModule |
class | PyOperation |
Definition at line 188 of file IRModule.h.
|
delete |
Referenced by forContext().
PyMlirContext::PyMlirContext | ( | MlirContext | context | ) |
Definition at line 651 of file IRCore.cpp.
|
delete |
|
delete |
PyMlirContext::~PyMlirContext | ( | ) |
Definition at line 658 of file IRCore.cpp.
References mlirContextDestroy().
nb::object PyMlirContext::attachDiagnosticHandler | ( | nanobind::object | callback | ) |
Attaches a Python callback as a diagnostic handler, returning a registration object (internally a PyDiagnosticHandler).
Definition at line 721 of file IRCore.cpp.
References get(), mlir::python::PyDiagnostic::invalidate(), mlirContextAttachDiagnosticHandler(), mlirLogicalResultFailure(), and mlirLogicalResultSuccess().
|
static |
Enter and exit the context manager.
Definition at line 711 of file IRCore.cpp.
References mlir::python::PyThreadContextEntry::pushContext().
void PyMlirContext::contextExit | ( | const nanobind::object & | excType, |
const nanobind::object & | excVal, | ||
const nanobind::object & | excTb | ||
) |
Definition at line 715 of file IRCore.cpp.
References mlir::python::PyThreadContextEntry::popContext().
|
static |
Creates a PyMlirContext from the MlirContext wrapped by a capsule.
Note that PyMlirContext instances are uniqued, so the returned object may be a pre-existing object. Ownership of the underlying MlirContext is taken by calling this function.
Definition at line 674 of file IRCore.cpp.
References forContext(), mlirContextIsNull(), mlirPythonCapsuleToContext(), and mlir::python::PyObjectRef< T >::releaseObject().
|
static |
Returns a context reference for the singleton PyMlirContext wrapper for the given context.
Definition at line 681 of file IRCore.cpp.
References PyMlirContext().
Referenced by mlir::python::PyAffineExpr::createFromCapsule(), mlir::python::PyAffineMap::createFromCapsule(), mlir::python::PyIntegerSet::createFromCapsule(), createFromCapsule(), mlir::python::PyLocation::createFromCapsule(), mlir::python::PyOperation::createFromCapsule(), mlir::python::PyType::createFromCapsule(), mlir::python::PyAttribute::createFromCapsule(), mlir::python::PyValue::createFromCapsule(), mlir::python::PyModule::forModule(), and mlir::python::PyDiagnostic::getLocation().
|
inline |
Accesses the underlying MlirContext.
Definition at line 201 of file IRModule.h.
Referenced by attachDiagnosticHandler(), mlir::python::PyOpView::buildGeneric(), getCapsule(), mlir::python::PyInferShapedTypeOpInterface::inferReturnTypeComponents(), mlir::python::PyInferTypeOpInterface::inferReturnTypes(), mlir::python::PyOperation::parse(), mlir::python::PyConcreteOpInterface< ConcreteIface >::PyConcreteOpInterface(), mlir::python::PySymbolTable::setSymbolName(), mlir::python::PySymbolTable::setVisibility(), and mlir::python::PyMlirContext::ErrorCapture::~ErrorCapture().
nb::object PyMlirContext::getCapsule | ( | ) |
Gets a capsule wrapping the void* within the MlirContext.
Definition at line 670 of file IRCore.cpp.
References get(), and mlirPythonContextToCapsule().
|
static |
Gets the count of live context objects. Used for testing.
Definition at line 706 of file IRCore.cpp.
|
inline |
Gets a strong reference to this context, which will ensure it is kept alive for the life of the reference.
Definition at line 205 of file IRModule.h.
|
inline |
Controls whether error diagnostics should be propagated to diagnostic handlers, instead of being captured by ErrorCapture
.
Definition at line 233 of file IRModule.h.
Definition at line 250 of file IRModule.h.
|
friend |
Definition at line 251 of file IRModule.h.