MLIR
17.0.0git
|
A PyOpView is equivalent to the C++ "Op" wrappers: these are the basis for providing more instance-specific accessors and serve as the base class for custom ODS-style operation classes. More...
#include "Bindings/Python/IRModule.h"
Public Member Functions | |
PyOpView (const pybind11::object &operationObject) | |
PyOperation & | getOperation () override |
Each must provide access to the raw Operation. More... | |
pybind11::object | getOperationObject () |
![]() | |
virtual | ~PyOperationBase ()=default |
void | print (pybind11::object fileObject, bool binary, std::optional< int64_t > largeElementsLimit, bool enableDebugInfo, bool prettyDebugInfo, bool printGenericOpForm, bool useLocalScope, bool assumeVerified) |
Implements the bound 'print' method and helps with others. More... | |
pybind11::object | getAsm (bool binary, std::optional< int64_t > largeElementsLimit, bool enableDebugInfo, bool prettyDebugInfo, bool printGenericOpForm, bool useLocalScope, bool assumeVerified) |
void | writeBytecode (const pybind11::object &fileObject, std::optional< int64_t > bytecodeVersion) |
void | moveAfter (PyOperationBase &other) |
Moves the operation before or after the other operation. More... | |
void | moveBefore (PyOperationBase &other) |
bool | verify () |
Verify the operation. More... | |
Static Public Member Functions | |
static pybind11::object | buildGeneric (const pybind11::object &cls, pybind11::list resultTypeList, pybind11::list operandList, std::optional< pybind11::dict > attributes, std::optional< std::vector< PyBlock * >> successors, std::optional< int > regions, DefaultingPyLocation location, const pybind11::object &maybeIp) |
static pybind11::object | constructDerived (const pybind11::object &cls, const PyOperation &operation) |
Construct an instance of a class deriving from OpView, bypassing its __init__ method. More... | |
A PyOpView is equivalent to the C++ "Op" wrappers: these are the basis for providing more instance-specific accessors and serve as the base class for custom ODS-style operation classes.
Since this class is subclass on the python side, it must present an init method that operates in pure python types.
Definition at line 700 of file IRModule.h.
PyOpView::PyOpView | ( | const pybind11::object & | operationObject | ) |
Definition at line 1702 of file IRCore.cpp.
|
static |
Definition at line 1436 of file IRCore.cpp.
References mlir::python::PyOperation::create(), mlir::detail::enumerate(), mlir::python::PyMlirContext::get(), and mlirDenseI32ArrayGet().
|
static |
Construct an instance of a class deriving from OpView, bypassing its __init__
method.
The derived class will typically define a constructor that provides a convenient builder, but we need to side-step this when constructing an OpView
for an already-built operation.
The caller is responsible for verifying that operation
is a valid operation to construct cls
with.
Definition at line 1691 of file IRCore.cpp.
Referenced by mlir::python::PyOperation::createOpView().
|
inlineoverridevirtual |
Each must provide access to the raw Operation.
Implements mlir::python::PyOperationBase.
Definition at line 703 of file IRModule.h.
|
inline |
Definition at line 705 of file IRModule.h.