MLIR  20.0.0git
Public Member Functions | List of all members
mlir::python::PyOperationBase Class Referenceabstract

Base class for PyOperation and PyOpView which exposes the primary, user visible methods for manipulating it. More...

#include "Bindings/Python/IRModule.h"

+ Inheritance diagram for mlir::python::PyOperationBase:

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 PyOperationgetOperation ()=0
 Each must provide access to the raw Operation. More...
 

Detailed Description

Base class for PyOperation and PyOpView which exposes the primary, user visible methods for manipulating it.

Definition at line 569 of file IRModule.h.

Constructor & Destructor Documentation

◆ ~PyOperationBase()

virtual mlir::python::PyOperationBase::~PyOperationBase ( )
virtualdefault

Member Function Documentation

◆ getAsm()

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().

◆ getOperation()

virtual PyOperation& mlir::python::PyOperationBase::getOperation ( )
pure virtual

◆ moveAfter()

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().

◆ moveBefore()

void PyOperationBase::moveBefore ( PyOperationBase other)

◆ print() [1/2]

void mlir::python::PyOperationBase::print ( PyAsmState state,
nanobind::object  fileObject,
bool  binary 
)

◆ print() [2/2]

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().

◆ verify()

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().

◆ walk()

void PyOperationBase::walk ( std::function< MlirWalkResult(MlirOperation)>  callback,
MlirWalkOrder  walkOrder 
)

◆ writeBytecode()

void PyOperationBase::writeBytecode ( const nanobind::object &  fileObject,
std::optional< int64_t >  bytecodeVersion 
)

The documentation for this class was generated from the following files: