MLIR
20.0.0git
|
Base class for PyOperation and PyOpView which exposes the primary, user visible methods for manipulating it. More...
#include "Bindings/Python/IRModule.h"
Public Member Functions | |
virtual | ~PyOperationBase ()=default |
void | print (std::optional< int64_t > largeElementsLimit, bool enableDebugInfo, bool prettyDebugInfo, bool printGenericOpForm, bool useLocalScope, bool assumeVerified, nanobind::object fileObject, bool binary, bool skipRegions) |
Implements the bound 'print' method and helps with others. More... | |
void | print (PyAsmState &state, nanobind::object fileObject, bool binary) |
nanobind::object | getAsm (bool binary, std::optional< int64_t > largeElementsLimit, bool enableDebugInfo, bool prettyDebugInfo, bool printGenericOpForm, bool useLocalScope, bool assumeVerified, bool skipRegions) |
void | writeBytecode (const nanobind::object &fileObject, std::optional< int64_t > bytecodeVersion) |
void | walk (std::function< MlirWalkResult(MlirOperation)> callback, MlirWalkOrder walkOrder) |
void | moveAfter (PyOperationBase &other) |
Moves the operation before or after the other operation. More... | |
void | moveBefore (PyOperationBase &other) |
bool | verify () |
Verify the operation. More... | |
virtual PyOperation & | getOperation ()=0 |
Each must provide access to the raw Operation. More... | |
Base class for PyOperation and PyOpView which exposes the primary, user visible methods for manipulating it.
Definition at line 569 of file IRModule.h.
|
virtualdefault |
nb::object PyOperationBase::getAsm | ( | bool | binary, |
std::optional< int64_t > | largeElementsLimit, | ||
bool | enableDebugInfo, | ||
bool | prettyDebugInfo, | ||
bool | printGenericOpForm, | ||
bool | useLocalScope, | ||
bool | assumeVerified, | ||
bool | skipRegions | ||
) |
Definition at line 1323 of file IRCore.cpp.
References print().
|
pure virtual |
Each must provide access to the raw Operation.
Implemented in mlir::python::PyOpView, and mlir::python::PyOperation.
Referenced by mlir::python::PyMlirContext::clearOperationAndInside(), mlir::python::PyMlirContext::clearOperationsInside(), mlir::python::PySymbolTable::erase(), mlir::python::PySymbolTable::getSymbolName(), mlir::python::PySymbolTable::getVisibility(), mlir::python::PyInsertionPoint::insert(), mlir::python::PySymbolTable::insert(), moveAfter(), moveBefore(), mlir::python::PyAsmState::PyAsmState(), mlir::python::PySymbolTable::PySymbolTable(), mlir::python::PySymbolTable::replaceAllSymbolUses(), mlir::python::PySymbolTable::setSymbolName(), mlir::python::PySymbolTable::setVisibility(), verify(), walk(), mlir::python::PySymbolTable::walkSymbolTables(), and writeBytecode().
void PyOperationBase::moveAfter | ( | PyOperationBase & | other | ) |
Moves the operation before or after the other operation.
Definition at line 1347 of file IRCore.cpp.
References mlir::python::PyOperation::checkValid(), getOperation(), and mlirOperationMoveAfter().
void PyOperationBase::moveBefore | ( | PyOperationBase & | other | ) |
Definition at line 1356 of file IRCore.cpp.
References mlir::python::PyOperation::checkValid(), getOperation(), and mlirOperationMoveBefore().
void mlir::python::PyOperationBase::print | ( | PyAsmState & | state, |
nanobind::object | fileObject, | ||
bool | binary | ||
) |
void mlir::python::PyOperationBase::print | ( | std::optional< int64_t > | largeElementsLimit, |
bool | enableDebugInfo, | ||
bool | prettyDebugInfo, | ||
bool | printGenericOpForm, | ||
bool | useLocalScope, | ||
bool | assumeVerified, | ||
nanobind::object | fileObject, | ||
bool | binary, | ||
bool | skipRegions | ||
) |
Implements the bound 'print' method and helps with others.
Referenced by getAsm().
bool PyOperationBase::verify | ( | ) |
Verify the operation.
Throws MLIRError
if verification fails, and returns true
otherwise.
Definition at line 1365 of file IRCore.cpp.
References mlir::python::PyOperation::get(), mlir::python::BaseContextObject::getContext(), getOperation(), mlirOperationVerify(), and mlir::python::PyMlirContext::ErrorCapture::take().
void PyOperationBase::walk | ( | std::function< MlirWalkResult(MlirOperation)> | callback, |
MlirWalkOrder | walkOrder | ||
) |
Definition at line 1291 of file IRCore.cpp.
References mlir::python::PyOperation::checkValid(), getOperation(), mlirOperationWalk(), and MlirWalkResultInterrupt.
void PyOperationBase::writeBytecode | ( | const nanobind::object & | fileObject, |
std::optional< int64_t > | bytecodeVersion | ||
) |
Definition at line 1269 of file IRCore.cpp.
References mlir::python::PyOperation::checkValid(), mlir::config, mlir::PyFileAccumulator::getCallback(), getOperation(), mlir::PyFileAccumulator::getUserData(), mlirBytecodeWriterConfigCreate(), mlirBytecodeWriterConfigDesiredEmitVersion(), mlirBytecodeWriterConfigDestroy(), mlirLogicalResultIsFailure(), mlirOperationWriteBytecode(), and mlirOperationWriteBytecodeWithConfig().