MLIR
17.0.0git
|
#include "mlir-c/IR.h"
#include "mlir-c/Support.h"
#include "mlir/AsmParser/AsmParser.h"
#include "mlir/Bytecode/BytecodeWriter.h"
#include "mlir/CAPI/IR.h"
#include "mlir/CAPI/Support.h"
#include "mlir/CAPI/Utils.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinOps.h"
#include "mlir/IR/Dialect.h"
#include "mlir/IR/Location.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/Types.h"
#include "mlir/IR/Verifier.h"
#include "mlir/Interfaces/InferTypeOpInterface.h"
#include "mlir/Parser/Parser.h"
#include <cstddef>
#include <optional>
Go to the source code of this file.
Macros | |
#define | APPEND_ELEMS(type, sizeName, elemName) |
Functions | |
MlirContext | mlirContextCreate () |
Creates an MLIR context and transfers its ownership to the caller. More... | |
bool | mlirContextEqual (MlirContext ctx1, MlirContext ctx2) |
Checks if two contexts are equal. More... | |
void | mlirContextDestroy (MlirContext context) |
Takes an MLIR context owned by the caller and destroys it. More... | |
void | mlirContextSetAllowUnregisteredDialects (MlirContext context, bool allow) |
Sets whether unregistered dialects are allowed in this context. More... | |
bool | mlirContextGetAllowUnregisteredDialects (MlirContext context) |
Returns whether the context allows unregistered dialects. More... | |
intptr_t | mlirContextGetNumRegisteredDialects (MlirContext context) |
Returns the number of dialects registered with the given context. More... | |
void | mlirContextAppendDialectRegistry (MlirContext ctx, MlirDialectRegistry registry) |
Append the contents of the given dialect registry to the registry associated with the context. More... | |
intptr_t | mlirContextGetNumLoadedDialects (MlirContext context) |
Returns the number of dialects loaded by the context. More... | |
MlirDialect | mlirContextGetOrLoadDialect (MlirContext context, MlirStringRef name) |
Gets the dialect instance owned by the given context using the dialect namespace to identify it, loads (i.e., constructs the instance of) the dialect if necessary. More... | |
bool | mlirContextIsRegisteredOperation (MlirContext context, MlirStringRef name) |
Returns whether the given fully-qualified operation (i.e. More... | |
void | mlirContextEnableMultithreading (MlirContext context, bool enable) |
Set threading mode (must be set to false to mlir-print-ir-after-all). More... | |
void | mlirContextLoadAllAvailableDialects (MlirContext context) |
Eagerly loads all available dialects registered with a context, making them available for use for IR construction. More... | |
MlirContext | mlirDialectGetContext (MlirDialect dialect) |
Returns the context that owns the dialect. More... | |
bool | mlirDialectEqual (MlirDialect dialect1, MlirDialect dialect2) |
Checks if two dialects that belong to the same context are equal. More... | |
MlirStringRef | mlirDialectGetNamespace (MlirDialect dialect) |
Returns the namespace of the given dialect. More... | |
MlirDialectRegistry | mlirDialectRegistryCreate () |
Creates a dialect registry and transfers its ownership to the caller. More... | |
void | mlirDialectRegistryDestroy (MlirDialectRegistry registry) |
Takes a dialect registry owned by the caller and destroys it. More... | |
MlirOpPrintingFlags | mlirOpPrintingFlagsCreate () |
Creates new printing flags with defaults, intended for customization. More... | |
void | mlirOpPrintingFlagsDestroy (MlirOpPrintingFlags flags) |
Destroys printing flags created with mlirOpPrintingFlagsCreate. More... | |
void | mlirOpPrintingFlagsElideLargeElementsAttrs (MlirOpPrintingFlags flags, intptr_t largeElementLimit) |
Enables the elision of large elements attributes by printing a lexically valid but otherwise meaningless form instead of the element data. More... | |
void | mlirOpPrintingFlagsEnableDebugInfo (MlirOpPrintingFlags flags, bool enable, bool prettyForm) |
Enable or disable printing of debug information (based on enable ). More... | |
void | mlirOpPrintingFlagsPrintGenericOpForm (MlirOpPrintingFlags flags) |
Always print operations in the generic form. More... | |
void | mlirOpPrintingFlagsUseLocalScope (MlirOpPrintingFlags flags) |
Use local scope when printing the operation. More... | |
void | mlirOpPrintingFlagsAssumeVerified (MlirOpPrintingFlags flags) |
Do not verify the operation when using custom operation printers. More... | |
MlirAttribute | mlirLocationGetAttribute (MlirLocation location) |
Returns the underlying location attribute of this location. More... | |
MlirLocation | mlirLocationFromAttribute (MlirAttribute attribute) |
Creates a location from a location attribute. More... | |
MlirLocation | mlirLocationFileLineColGet (MlirContext context, MlirStringRef filename, unsigned line, unsigned col) |
Creates an File/Line/Column location owned by the given context. More... | |
MlirLocation | mlirLocationCallSiteGet (MlirLocation callee, MlirLocation caller) |
Creates a call site location with a callee and a caller. More... | |
MlirLocation | mlirLocationFusedGet (MlirContext ctx, intptr_t nLocations, MlirLocation const *locations, MlirAttribute metadata) |
Creates a fused location with an array of locations and metadata. More... | |
MlirLocation | mlirLocationNameGet (MlirContext context, MlirStringRef name, MlirLocation childLoc) |
Creates a name location owned by the given context. More... | |
MlirLocation | mlirLocationUnknownGet (MlirContext context) |
Creates a location with unknown position owned by the given context. More... | |
bool | mlirLocationEqual (MlirLocation l1, MlirLocation l2) |
Checks if two locations are equal. More... | |
MlirContext | mlirLocationGetContext (MlirLocation location) |
Gets the context that a location was created with. More... | |
void | mlirLocationPrint (MlirLocation location, MlirStringCallback callback, void *userData) |
Prints a location by sending chunks of the string representation and forwarding userData to callback`. More... | |
MlirModule | mlirModuleCreateEmpty (MlirLocation location) |
Creates a new, empty module and transfers ownership to the caller. More... | |
MlirModule | mlirModuleCreateParse (MlirContext context, MlirStringRef module) |
Parses a module from the string and transfers ownership to the caller. More... | |
MlirContext | mlirModuleGetContext (MlirModule module) |
Gets the context that a module was created with. More... | |
MlirBlock | mlirModuleGetBody (MlirModule module) |
Gets the body of the module, i.e. the only block it contains. More... | |
void | mlirModuleDestroy (MlirModule module) |
Takes a module owned by the caller and deletes it. More... | |
MlirOperation | mlirModuleGetOperation (MlirModule module) |
Views the module as a generic operation. More... | |
MlirModule | mlirModuleFromOperation (MlirOperation op) |
Views the generic operation as a module. More... | |
MlirOperationState | mlirOperationStateGet (MlirStringRef name, MlirLocation loc) |
Constructs an operation state from a name and a location. More... | |
void | mlirOperationStateAddResults (MlirOperationState *state, intptr_t n, MlirType const *results) |
Adds a list of components to the operation state. More... | |
void | mlirOperationStateAddOperands (MlirOperationState *state, intptr_t n, MlirValue const *operands) |
void | mlirOperationStateAddOwnedRegions (MlirOperationState *state, intptr_t n, MlirRegion const *regions) |
void | mlirOperationStateAddSuccessors (MlirOperationState *state, intptr_t n, MlirBlock const *successors) |
void | mlirOperationStateAddAttributes (MlirOperationState *state, intptr_t n, MlirNamedAttribute const *attributes) |
void | mlirOperationStateEnableResultTypeInference (MlirOperationState *state) |
Enables result type inference for the operation under construction. More... | |
static LogicalResult | inferOperationTypes (OperationState &state) |
MlirOperation | mlirOperationCreate (MlirOperationState *state) |
Creates an operation and transfers ownership to the caller. More... | |
MlirOperation | mlirOperationCreateParse (MlirContext context, MlirStringRef sourceStr, MlirStringRef sourceName) |
Parses an operation, giving ownership to the caller. More... | |
MlirOperation | mlirOperationClone (MlirOperation op) |
Creates a deep copy of an operation. More... | |
void | mlirOperationDestroy (MlirOperation op) |
Takes an operation owned by the caller and destroys it. More... | |
void | mlirOperationRemoveFromParent (MlirOperation op) |
Removes the given operation from its parent block. More... | |
bool | mlirOperationEqual (MlirOperation op, MlirOperation other) |
Checks whether two operation handles point to the same operation. More... | |
MlirContext | mlirOperationGetContext (MlirOperation op) |
Gets the context this operation is associated with. More... | |
MlirLocation | mlirOperationGetLocation (MlirOperation op) |
Gets the location of the operation. More... | |
MlirTypeID | mlirOperationGetTypeID (MlirOperation op) |
Gets the type id of the operation. More... | |
MlirIdentifier | mlirOperationGetName (MlirOperation op) |
Gets the name of the operation as an identifier. More... | |
MlirBlock | mlirOperationGetBlock (MlirOperation op) |
Gets the block that owns this operation, returning null if the operation is not owned. More... | |
MlirOperation | mlirOperationGetParentOperation (MlirOperation op) |
Gets the operation that owns this operation, returning null if the operation is not owned. More... | |
intptr_t | mlirOperationGetNumRegions (MlirOperation op) |
Returns the number of regions attached to the given operation. More... | |
MlirRegion | mlirOperationGetRegion (MlirOperation op, intptr_t pos) |
Returns pos -th region attached to the operation. More... | |
MlirRegion | mlirOperationGetFirstRegion (MlirOperation op) |
Returns first region attached to the operation. More... | |
MlirRegion | mlirRegionGetNextInOperation (MlirRegion region) |
Returns the region immediately following the given region in its parent operation. More... | |
MlirOperation | mlirOperationGetNextInBlock (MlirOperation op) |
Returns an operation immediately following the given operation it its enclosing block. More... | |
intptr_t | mlirOperationGetNumOperands (MlirOperation op) |
Returns the number of operands of the operation. More... | |
MlirValue | mlirOperationGetOperand (MlirOperation op, intptr_t pos) |
Returns pos -th operand of the operation. More... | |
void | mlirOperationSetOperand (MlirOperation op, intptr_t pos, MlirValue newValue) |
Sets the pos -th operand of the operation. More... | |
intptr_t | mlirOperationGetNumResults (MlirOperation op) |
Returns the number of results of the operation. More... | |
MlirValue | mlirOperationGetResult (MlirOperation op, intptr_t pos) |
Returns pos -th result of the operation. More... | |
intptr_t | mlirOperationGetNumSuccessors (MlirOperation op) |
Returns the number of successor blocks of the operation. More... | |
MlirBlock | mlirOperationGetSuccessor (MlirOperation op, intptr_t pos) |
Returns pos -th successor of the operation. More... | |
intptr_t | mlirOperationGetNumAttributes (MlirOperation op) |
Returns the number of attributes attached to the operation. More... | |
MlirNamedAttribute | mlirOperationGetAttribute (MlirOperation op, intptr_t pos) |
Return pos -th attribute of the operation. More... | |
MlirAttribute | mlirOperationGetAttributeByName (MlirOperation op, MlirStringRef name) |
Returns an attribute attached to the operation given its name. More... | |
void | mlirOperationSetAttributeByName (MlirOperation op, MlirStringRef name, MlirAttribute attr) |
Sets an attribute by name, replacing the existing if it exists or adding a new one otherwise. More... | |
bool | mlirOperationRemoveAttributeByName (MlirOperation op, MlirStringRef name) |
Removes an attribute by name. More... | |
void | mlirOperationPrint (MlirOperation op, MlirStringCallback callback, void *userData) |
Prints an operation by sending chunks of the string representation and forwarding userData to callback`. More... | |
void | mlirOperationPrintWithFlags (MlirOperation op, MlirOpPrintingFlags flags, MlirStringCallback callback, void *userData) |
Same as mlirOperationPrint but accepts flags controlling the printing behavior. More... | |
void | mlirOperationWriteBytecode (MlirOperation op, MlirStringCallback callback, void *userData) |
Same as mlirOperationPrint but writing the bytecode format out. More... | |
void | mlirOperationDump (MlirOperation op) |
Prints an operation to stderr. More... | |
bool | mlirOperationVerify (MlirOperation op) |
Verify the operation and return true if it passes, false if it fails. More... | |
void | mlirOperationMoveAfter (MlirOperation op, MlirOperation other) |
Moves the given operation immediately after the other operation in its parent block. More... | |
void | mlirOperationMoveBefore (MlirOperation op, MlirOperation other) |
Moves the given operation immediately before the other operation in its parent block. More... | |
MlirRegion | mlirRegionCreate () |
Creates a new empty region and transfers ownership to the caller. More... | |
bool | mlirRegionEqual (MlirRegion region, MlirRegion other) |
Checks whether two region handles point to the same region. More... | |
MlirBlock | mlirRegionGetFirstBlock (MlirRegion region) |
Gets the first block in the region. More... | |
void | mlirRegionAppendOwnedBlock (MlirRegion region, MlirBlock block) |
Takes a block owned by the caller and appends it to the given region. More... | |
void | mlirRegionInsertOwnedBlock (MlirRegion region, intptr_t pos, MlirBlock block) |
Takes a block owned by the caller and inserts it at pos to the given region. More... | |
void | mlirRegionInsertOwnedBlockAfter (MlirRegion region, MlirBlock reference, MlirBlock block) |
Takes a block owned by the caller and inserts it after the (non-owned) reference block in the given region. More... | |
void | mlirRegionInsertOwnedBlockBefore (MlirRegion region, MlirBlock reference, MlirBlock block) |
Takes a block owned by the caller and inserts it before the (non-owned) reference block in the given region. More... | |
void | mlirRegionDestroy (MlirRegion region) |
Takes a region owned by the caller and destroys it. More... | |
MlirBlock | mlirBlockCreate (intptr_t nArgs, MlirType const *args, MlirLocation const *locs) |
Creates a new empty block with the given argument types and transfers ownership to the caller. More... | |
bool | mlirBlockEqual (MlirBlock block, MlirBlock other) |
Checks whether two blocks handles point to the same block. More... | |
MlirOperation | mlirBlockGetParentOperation (MlirBlock block) |
Returns the closest surrounding operation that contains this block. More... | |
MlirRegion | mlirBlockGetParentRegion (MlirBlock block) |
Returns the region that contains this block. More... | |
MlirBlock | mlirBlockGetNextInRegion (MlirBlock block) |
Returns the block immediately following the given block in its parent region. More... | |
MlirOperation | mlirBlockGetFirstOperation (MlirBlock block) |
Returns the first operation in the block. More... | |
MlirOperation | mlirBlockGetTerminator (MlirBlock block) |
Returns the terminator operation in the block or null if no terminator. More... | |
void | mlirBlockAppendOwnedOperation (MlirBlock block, MlirOperation operation) |
Takes an operation owned by the caller and appends it to the block. More... | |
void | mlirBlockInsertOwnedOperation (MlirBlock block, intptr_t pos, MlirOperation operation) |
Takes an operation owned by the caller and inserts it as pos to the block. More... | |
void | mlirBlockInsertOwnedOperationAfter (MlirBlock block, MlirOperation reference, MlirOperation operation) |
Takes an operation owned by the caller and inserts it after the (non-owned) reference operation in the given block. More... | |
void | mlirBlockInsertOwnedOperationBefore (MlirBlock block, MlirOperation reference, MlirOperation operation) |
Takes an operation owned by the caller and inserts it before the (non-owned) reference operation in the given block. More... | |
void | mlirBlockDestroy (MlirBlock block) |
Takes a block owned by the caller and destroys it. More... | |
void | mlirBlockDetach (MlirBlock block) |
Detach a block from the owning region and assume ownership. More... | |
intptr_t | mlirBlockGetNumArguments (MlirBlock block) |
Returns the number of arguments of the block. More... | |
MlirValue | mlirBlockAddArgument (MlirBlock block, MlirType type, MlirLocation loc) |
Appends an argument of the specified type to the block. More... | |
MlirValue | mlirBlockGetArgument (MlirBlock block, intptr_t pos) |
Returns pos -th argument of the block. More... | |
void | mlirBlockPrint (MlirBlock block, MlirStringCallback callback, void *userData) |
Prints a block by sending chunks of the string representation and forwarding userData to callback`. More... | |
bool | mlirValueEqual (MlirValue value1, MlirValue value2) |
Returns 1 if two values are equal, 0 otherwise. More... | |
bool | mlirValueIsABlockArgument (MlirValue value) |
Returns 1 if the value is a block argument, 0 otherwise. More... | |
bool | mlirValueIsAOpResult (MlirValue value) |
Returns 1 if the value is an operation result, 0 otherwise. More... | |
MlirBlock | mlirBlockArgumentGetOwner (MlirValue value) |
Returns the block in which this value is defined as an argument. More... | |
intptr_t | mlirBlockArgumentGetArgNumber (MlirValue value) |
Returns the position of the value in the argument list of its block. More... | |
void | mlirBlockArgumentSetType (MlirValue value, MlirType type) |
Sets the type of the block argument to the given type. More... | |
MlirOperation | mlirOpResultGetOwner (MlirValue value) |
Returns an operation that produced this value as its result. More... | |
intptr_t | mlirOpResultGetResultNumber (MlirValue value) |
Returns the position of the value in the list of results of the operation that produced it. More... | |
MlirType | mlirValueGetType (MlirValue value) |
Returns the type of the value. More... | |
void | mlirValueDump (MlirValue value) |
Prints the value to the standard error stream. More... | |
void | mlirValuePrint (MlirValue value, MlirStringCallback callback, void *userData) |
Prints a value by sending chunks of the string representation and forwarding userData to callback`. More... | |
MlirOpOperand | mlirValueGetFirstUse (MlirValue value) |
Returns an op operand representing the first use of the value, or a null op operand if there are no uses. More... | |
bool | mlirOpOperandIsNull (MlirOpOperand opOperand) |
Returns whether the op operand is null. More... | |
MlirOperation | mlirOpOperandGetOwner (MlirOpOperand opOperand) |
Returns the owner operation of an op operand. More... | |
unsigned | mlirOpOperandGetOperandNumber (MlirOpOperand opOperand) |
Returns the operand number of an op operand. More... | |
MlirOpOperand | mlirOpOperandGetNextUse (MlirOpOperand opOperand) |
Returns an op operand representing the next use of the value, or a null op operand if there is no next use. More... | |
MlirType | mlirTypeParseGet (MlirContext context, MlirStringRef type) |
Parses a type. The type is owned by the context. More... | |
MlirContext | mlirTypeGetContext (MlirType type) |
Gets the context that a type was created with. More... | |
MlirTypeID | mlirTypeGetTypeID (MlirType type) |
Gets the type ID of the type. More... | |
bool | mlirTypeEqual (MlirType t1, MlirType t2) |
Checks if two types are equal. More... | |
void | mlirTypePrint (MlirType type, MlirStringCallback callback, void *userData) |
Prints a location by sending chunks of the string representation and forwarding userData to callback`. More... | |
void | mlirTypeDump (MlirType type) |
Prints the type to the standard error stream. More... | |
MlirAttribute | mlirAttributeParseGet (MlirContext context, MlirStringRef attr) |
Parses an attribute. The attribute is owned by the context. More... | |
MlirContext | mlirAttributeGetContext (MlirAttribute attribute) |
Gets the context that an attribute was created with. More... | |
MlirType | mlirAttributeGetType (MlirAttribute attribute) |
Gets the type of this attribute. More... | |
MlirTypeID | mlirAttributeGetTypeID (MlirAttribute attr) |
Gets the type id of the attribute. More... | |
bool | mlirAttributeEqual (MlirAttribute a1, MlirAttribute a2) |
Checks if two attributes are equal. More... | |
void | mlirAttributePrint (MlirAttribute attr, MlirStringCallback callback, void *userData) |
Prints an attribute by sending chunks of the string representation and forwarding userData to callback`. More... | |
void | mlirAttributeDump (MlirAttribute attr) |
Prints the attribute to the standard error stream. More... | |
MlirNamedAttribute | mlirNamedAttributeGet (MlirIdentifier name, MlirAttribute attr) |
Associates an attribute with the name. Takes ownership of neither. More... | |
MlirIdentifier | mlirIdentifierGet (MlirContext context, MlirStringRef str) |
Gets an identifier with the given string value. More... | |
MlirContext | mlirIdentifierGetContext (MlirIdentifier ident) |
Returns the context associated with this identifier. More... | |
bool | mlirIdentifierEqual (MlirIdentifier ident, MlirIdentifier other) |
Checks whether two identifiers are the same. More... | |
MlirStringRef | mlirIdentifierStr (MlirIdentifier ident) |
Gets the string value of the identifier. More... | |
MlirStringRef | mlirSymbolTableGetSymbolAttributeName () |
Returns the name of the attribute used to store symbol names compatible with symbol tables. More... | |
MlirStringRef | mlirSymbolTableGetVisibilityAttributeName () |
Returns the name of the attribute used to store symbol visibility. More... | |
MlirSymbolTable | mlirSymbolTableCreate (MlirOperation operation) |
Creates a symbol table for the given operation. More... | |
void | mlirSymbolTableDestroy (MlirSymbolTable symbolTable) |
Destroys the symbol table created with mlirSymbolTableCreate. More... | |
MlirOperation | mlirSymbolTableLookup (MlirSymbolTable symbolTable, MlirStringRef name) |
Looks up a symbol with the given name in the given symbol table and returns the operation that corresponds to the symbol. More... | |
MlirAttribute | mlirSymbolTableInsert (MlirSymbolTable symbolTable, MlirOperation operation) |
Inserts the given operation into the given symbol table. More... | |
void | mlirSymbolTableErase (MlirSymbolTable symbolTable, MlirOperation operation) |
Removes the given operation from the symbol table and erases it. More... | |
MlirLogicalResult | mlirSymbolTableReplaceAllSymbolUses (MlirStringRef oldSymbol, MlirStringRef newSymbol, MlirOperation from) |
Attempt to replace all uses that are nested within the given operation of the given symbol 'oldSymbol' with the provided 'newSymbol'. More... | |
void | mlirSymbolTableWalkSymbolTables (MlirOperation from, bool allSymUsesVisible, void(*callback)(MlirOperation, bool, void *userData), void *userData) |
Walks all symbol table operations nested within, and including, op . More... | |
#define APPEND_ELEMS | ( | type, | |
sizeName, | |||
elemName | |||
) |
|
static |
Definition at line 302 of file IR.cpp.
References mlir::OperationState::attributes, mlir::emitError(), mlir::failure(), mlir::OperationState::getContext(), mlir::NamedAttrList::getDictionary(), mlir::OperationName::getRegisteredInfo(), mlir::OperationState::location, mlir::OperationState::name, mlir::OperationState::operands, mlir::OperationState::regions, mlir::succeeded(), mlir::success(), and mlir::OperationState::types.
Referenced by mlirOperationCreate().
void mlirAttributeDump | ( | MlirAttribute | attr | ) |
bool mlirAttributeEqual | ( | MlirAttribute | a1, |
MlirAttribute | a2 | ||
) |
Checks if two attributes are equal.
Definition at line 831 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyAttribute::operator==().
MlirContext mlirAttributeGetContext | ( | MlirAttribute | attribute | ) |
Gets the context that an attribute was created with.
Definition at line 816 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::create(), mlir::python::PyAttribute::createFromCapsule(), and mlir::python::PyNamedAttribute::PyNamedAttribute().
MlirType mlirAttributeGetType | ( | MlirAttribute | attribute | ) |
Gets the type of this attribute.
Definition at line 820 of file IR.cpp.
References mlir::Attribute::dyn_cast(), mlir::Attribute::getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyConcreteAttribute< DerivedTy, BaseTy >::bind().
MlirTypeID mlirAttributeGetTypeID | ( | MlirAttribute | attr | ) |
MlirAttribute mlirAttributeParseGet | ( | MlirContext | context, |
MlirStringRef | attr | ||
) |
Parses an attribute. The attribute is owned by the context.
Definition at line 812 of file IR.cpp.
References mlir::parseAttribute(), unwrap(), and wrap().
void mlirAttributePrint | ( | MlirAttribute | attr, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints an attribute by sending chunks of the string representation and forwarding userData to
callback`.
Note that the callback may be called several times with consecutive chunks of the string.
Definition at line 835 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().
MlirValue mlirBlockAddArgument | ( | MlirBlock | block, |
MlirType | type, | ||
MlirLocation | loc | ||
) |
void mlirBlockAppendOwnedOperation | ( | MlirBlock | block, |
MlirOperation | operation | ||
) |
Takes an operation owned by the caller and appends it to the block.
Definition at line 631 of file IR.cpp.
References unwrap().
Referenced by mlirBlockInsertOwnedOperationBefore().
intptr_t mlirBlockArgumentGetArgNumber | ( | MlirValue | value | ) |
MlirBlock mlirBlockArgumentGetOwner | ( | MlirValue | value | ) |
Returns the block in which this value is defined as an argument.
Asserts if the value is not a block argument.
Definition at line 710 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::createFromCapsule().
void mlirBlockArgumentSetType | ( | MlirValue | value, |
MlirType | type | ||
) |
MlirBlock mlirBlockCreate | ( | intptr_t | nArgs, |
MlirType const * | args, | ||
MlirLocation const * | locs | ||
) |
Creates a new empty block with the given argument types and transfers ownership to the caller.
Definition at line 590 of file IR.cpp.
References mlir::Block::addArgument(), unwrap(), and wrap().
void mlirBlockDestroy | ( | MlirBlock | block | ) |
void mlirBlockDetach | ( | MlirBlock | block | ) |
Detach a block from the owning region and assume ownership.
Definition at line 670 of file IR.cpp.
References mlir::Region::getBlocks(), mlir::Block::getParent(), and unwrap().
bool mlirBlockEqual | ( | MlirBlock | block, |
MlirBlock | other | ||
) |
MlirValue mlirBlockGetArgument | ( | MlirBlock | block, |
intptr_t | pos | ||
) |
MlirOperation mlirBlockGetFirstOperation | ( | MlirBlock | block | ) |
Returns the first operation in the block.
Definition at line 614 of file IR.cpp.
References mlir::Block::empty(), mlir::Block::front(), unwrap(), and wrap().
Referenced by mlir::python::PyInsertionPoint::atBlockBegin().
MlirBlock mlirBlockGetNextInRegion | ( | MlirBlock | block | ) |
intptr_t mlirBlockGetNumArguments | ( | MlirBlock | block | ) |
MlirOperation mlirBlockGetParentOperation | ( | MlirBlock | block | ) |
Returns the closest surrounding operation that contains this block.
Definition at line 602 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::createFromCapsule().
MlirRegion mlirBlockGetParentRegion | ( | MlirBlock | block | ) |
MlirOperation mlirBlockGetTerminator | ( | MlirBlock | block | ) |
Returns the terminator operation in the block or null if no terminator.
Definition at line 621 of file IR.cpp.
References mlir::Block::back(), mlir::Block::empty(), mlir::Operation::hasTrait(), unwrap(), and wrap().
Referenced by mlir::python::PyInsertionPoint::atBlockTerminator(), and mlir::python::PyInsertionPoint::insert().
void mlirBlockInsertOwnedOperation | ( | MlirBlock | block, |
intptr_t | pos, | ||
MlirOperation | operation | ||
) |
void mlirBlockInsertOwnedOperationAfter | ( | MlirBlock | block, |
MlirOperation | reference, | ||
MlirOperation | operation | ||
) |
Takes an operation owned by the caller and inserts it after the (non-owned) reference operation in the given block.
If the reference is null, prepends the operation. Otherwise, the reference must belong to the block.
Definition at line 641 of file IR.cpp.
References mlir::Block::begin(), mlir::Block::getOperations(), mlirOperationIsNull(), and unwrap().
void mlirBlockInsertOwnedOperationBefore | ( | MlirBlock | block, |
MlirOperation | reference, | ||
MlirOperation | operation | ||
) |
Takes an operation owned by the caller and inserts it before the (non-owned) reference operation in the given block.
If the reference is null, appends the operation. Otherwise, the reference must belong to the block.
Definition at line 656 of file IR.cpp.
References mlirBlockAppendOwnedOperation(), mlirOperationIsNull(), and unwrap().
Referenced by mlir::python::PyInsertionPoint::insert().
void mlirBlockPrint | ( | MlirBlock | block, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints a block by sending chunks of the string representation and forwarding userData to
callback`.
Note that the callback may be called several times with consecutive chunks of the string.
Definition at line 688 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().
void mlirContextAppendDialectRegistry | ( | MlirContext | ctx, |
MlirDialectRegistry | registry | ||
) |
MlirContext mlirContextCreate | ( | void | ) |
Creates an MLIR context and transfers its ownership to the caller.
Definition at line 36 of file IR.cpp.
References wrap().
Referenced by mlir::python::PyMlirContext::createNewContextForInit().
void mlirContextDestroy | ( | MlirContext | context | ) |
Takes an MLIR context owned by the caller and destroys it.
Definition at line 45 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyMlirContext::~PyMlirContext().
void mlirContextEnableMultithreading | ( | MlirContext | context, |
bool | enable | ||
) |
bool mlirContextEqual | ( | MlirContext | ctx1, |
MlirContext | ctx2 | ||
) |
bool mlirContextGetAllowUnregisteredDialects | ( | MlirContext | context | ) |
intptr_t mlirContextGetNumLoadedDialects | ( | MlirContext | context | ) |
intptr_t mlirContextGetNumRegisteredDialects | ( | MlirContext | context | ) |
MlirDialect mlirContextGetOrLoadDialect | ( | MlirContext | context, |
MlirStringRef | name | ||
) |
Gets the dialect instance owned by the given context using the dialect namespace to identify it, loads (i.e., constructs the instance of) the dialect if necessary.
If the dialect is not registered with the context, returns null. Use mlirContextLoad<Name>Dialect to load an unregistered dialect.
Definition at line 69 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyDialects::getDialectForKey().
bool mlirContextIsRegisteredOperation | ( | MlirContext | context, |
MlirStringRef | name | ||
) |
void mlirContextLoadAllAvailableDialects | ( | MlirContext | context | ) |
void mlirContextSetAllowUnregisteredDialects | ( | MlirContext | context, |
bool | allow | ||
) |
bool mlirDialectEqual | ( | MlirDialect | dialect1, |
MlirDialect | dialect2 | ||
) |
MlirContext mlirDialectGetContext | ( | MlirDialect | dialect | ) |
MlirStringRef mlirDialectGetNamespace | ( | MlirDialect | dialect | ) |
MlirDialectRegistry mlirDialectRegistryCreate | ( | void | ) |
void mlirDialectRegistryDestroy | ( | MlirDialectRegistry | registry | ) |
Takes a dialect registry owned by the caller and destroys it.
Definition at line 110 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyDialectRegistry::~PyDialectRegistry().
bool mlirIdentifierEqual | ( | MlirIdentifier | ident, |
MlirIdentifier | other | ||
) |
MlirIdentifier mlirIdentifierGet | ( | MlirContext | context, |
MlirStringRef | str | ||
) |
Gets an identifier with the given string value.
Definition at line 852 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::create(), and mlir::python::PyNamedAttribute::PyNamedAttribute().
MlirContext mlirIdentifierGetContext | ( | MlirIdentifier | ident | ) |
MlirStringRef mlirIdentifierStr | ( | MlirIdentifier | ident | ) |
Gets the string value of the identifier.
Definition at line 864 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::createOpView(), and mlir::python::PyConcreteOpInterface< ConcreteIface >::PyConcreteOpInterface().
MlirLocation mlirLocationCallSiteGet | ( | MlirLocation | callee, |
MlirLocation | caller | ||
) |
bool mlirLocationEqual | ( | MlirLocation | l1, |
MlirLocation | l2 | ||
) |
MlirLocation mlirLocationFileLineColGet | ( | MlirContext | context, |
MlirStringRef | filename, | ||
unsigned | line, | ||
unsigned | col | ||
) |
MlirLocation mlirLocationFromAttribute | ( | MlirAttribute | attribute | ) |
MlirLocation mlirLocationFusedGet | ( | MlirContext | ctx, |
intptr_t | nLocations, | ||
MlirLocation const * | locations, | ||
MlirAttribute | metadata | ||
) |
Creates a fused location with an array of locations and metadata.
Definition at line 171 of file IR.cpp.
References unwrap(), unwrapList(), and wrap().
MlirAttribute mlirLocationGetAttribute | ( | MlirLocation | location | ) |
MlirContext mlirLocationGetContext | ( | MlirLocation | location | ) |
Gets the context that a location was created with.
Definition at line 196 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyLocation::createFromCapsule(), and mlir::python::PyDiagnostic::getLocation().
MlirLocation mlirLocationNameGet | ( | MlirContext | context, |
MlirStringRef | name, | ||
MlirLocation | childLoc | ||
) |
Creates a name location owned by the given context.
Providing null location for childLoc is allowed and if childLoc is null location, then the behavior is the same as having unknown child location.
Definition at line 179 of file IR.cpp.
References mlirLocationIsNull(), unwrap(), and wrap().
void mlirLocationPrint | ( | MlirLocation | location, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints a location by sending chunks of the string representation and forwarding userData to
callback`.
Note that the callback may be called several times with consecutive chunks of the string.
Definition at line 200 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().
MlirLocation mlirLocationUnknownGet | ( | MlirContext | context | ) |
MlirModule mlirModuleCreateEmpty | ( | MlirLocation | location | ) |
MlirModule mlirModuleCreateParse | ( | MlirContext | context, |
MlirStringRef | module | ||
) |
Parses a module from the string and transfers ownership to the caller.
Definition at line 214 of file IR.cpp.
References mlir::OwningOpRef< OpTy >::release(), and unwrap().
void mlirModuleDestroy | ( | MlirModule | module | ) |
Takes a module owned by the caller and deletes it.
Definition at line 230 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyModule::~PyModule().
MlirModule mlirModuleFromOperation | ( | MlirOperation | op | ) |
MlirBlock mlirModuleGetBody | ( | MlirModule | module | ) |
MlirContext mlirModuleGetContext | ( | MlirModule | module | ) |
Gets the context that a module was created with.
Definition at line 222 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyModule::forModule().
MlirOperation mlirModuleGetOperation | ( | MlirModule | module | ) |
MlirNamedAttribute mlirNamedAttributeGet | ( | MlirIdentifier | name, |
MlirAttribute | attr | ||
) |
Associates an attribute with the name. Takes ownership of neither.
Definition at line 843 of file IR.cpp.
Referenced by mlir::python::PyOperation::create(), and mlir::python::PyNamedAttribute::PyNamedAttribute().
MlirOperation mlirOperationClone | ( | MlirOperation | op | ) |
Creates a deep copy of an operation.
The operation is not inserted and ownership is transferred to the caller.
Definition at line 380 of file IR.cpp.
References mlir::clone(), unwrap(), and wrap().
Referenced by mlir::python::PyOperation::clone().
MlirOperation mlirOperationCreate | ( | MlirOperationState * | state | ) |
Creates an operation and transfers ownership to the caller.
Note that caller owned child objects are transferred in this call and must not be further used. Particularly, this applies to any regions added to the state (the implementation may invalidate any such pointers).
This call can fail under the following conditions, in which case, it will return a null operation and emit diagnostics:
Definition at line 333 of file IR.cpp.
References mlir::OperationState::addAttribute(), mlir::OperationState::addOperands(), mlir::OperationState::addRegion(), mlir::OperationState::addSuccessors(), mlir::OperationState::addTypes(), MlirNamedAttribute::attribute, MlirOperationState::attributes, mlir::OperationState::attributes, mlir::Operation::create(), MlirOperationState::enableResultTypeInference, mlir::failed(), inferOperationTypes(), MlirOperationState::location, MlirNamedAttribute::name, MlirOperationState::name, MlirOperationState::nAttributes, MlirOperationState::nOperands, MlirOperationState::nRegions, MlirOperationState::nResults, MlirOperationState::nSuccessors, MlirOperationState::operands, MlirOperationState::regions, mlir::NamedAttrList::reserve(), MlirOperationState::results, MlirOperationState::successors, mlir::OperationState::types, unwrap(), unwrapList(), and wrap().
Referenced by mlir::python::PyOperation::create().
MlirOperation mlirOperationCreateParse | ( | MlirContext | context, |
MlirStringRef | sourceStr, | ||
MlirStringRef | sourceName | ||
) |
Parses an operation, giving ownership to the caller.
If parsing fails a null operation will be returned, and an error diagnostic emitted.
sourceStr
may be either the text assembly format, or binary bytecode format. sourceName
is used as the file name of the source; any IR without locations will get a FileLineColLoc
location with sourceName
as the file name.
Definition at line 371 of file IR.cpp.
References mlir::parseSourceString(), unwrap(), and wrap().
Referenced by mlir::python::PyOperation::parse().
void mlirOperationDestroy | ( | MlirOperation | op | ) |
Takes an operation owned by the caller and destroys it.
Definition at line 384 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperation::erase(), and mlir::python::PyOperation::~PyOperation().
void mlirOperationDump | ( | MlirOperation | op | ) |
bool mlirOperationEqual | ( | MlirOperation | op, |
MlirOperation | other | ||
) |
MlirNamedAttribute mlirOperationGetAttribute | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
Return pos
-th attribute of the operation.
Definition at line 479 of file IR.cpp.
References mlir::NamedAttribute::getName(), mlir::NamedAttribute::getValue(), unwrap(), and wrap().
MlirAttribute mlirOperationGetAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
Returns an attribute attached to the operation given its name.
Definition at line 484 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::getSymbolName(), mlir::python::PySymbolTable::getVisibility(), mlir::python::PySymbolTable::insert(), mlir::python::PySymbolTable::setSymbolName(), and mlir::python::PySymbolTable::setVisibility().
MlirBlock mlirOperationGetBlock | ( | MlirOperation | op | ) |
Gets the block that owns this operation, returning null if the operation is not owned.
Definition at line 410 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::getBlock().
MlirContext mlirOperationGetContext | ( | MlirOperation | op | ) |
Gets the context this operation is associated with.
Definition at line 392 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::createFromCapsule(), and mlir::python::PyValue::createFromCapsule().
MlirRegion mlirOperationGetFirstRegion | ( | MlirOperation | op | ) |
Returns first region attached to the operation.
Definition at line 426 of file IR.cpp.
References mlir::Operation::getNumRegions(), mlir::Operation::getRegion(), unwrap(), and wrap().
MlirLocation mlirOperationGetLocation | ( | MlirOperation | op | ) |
MlirIdentifier mlirOperationGetName | ( | MlirOperation | op | ) |
Gets the name of the operation as an identifier.
Definition at line 406 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::createOpView(), and mlir::python::PyConcreteOpInterface< ConcreteIface >::PyConcreteOpInterface().
MlirOperation mlirOperationGetNextInBlock | ( | MlirOperation | op | ) |
intptr_t mlirOperationGetNumAttributes | ( | MlirOperation | op | ) |
intptr_t mlirOperationGetNumOperands | ( | MlirOperation | op | ) |
intptr_t mlirOperationGetNumRegions | ( | MlirOperation | op | ) |
intptr_t mlirOperationGetNumResults | ( | MlirOperation | op | ) |
intptr_t mlirOperationGetNumSuccessors | ( | MlirOperation | op | ) |
MlirValue mlirOperationGetOperand | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MlirOperation mlirOperationGetParentOperation | ( | MlirOperation | op | ) |
Gets the operation that owns this operation, returning null if the operation is not owned.
Definition at line 414 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::getParentOperation().
MlirRegion mlirOperationGetRegion | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MlirValue mlirOperationGetResult | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MlirBlock mlirOperationGetSuccessor | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MlirTypeID mlirOperationGetTypeID | ( | MlirOperation | op | ) |
void mlirOperationMoveAfter | ( | MlirOperation | op, |
MlirOperation | other | ||
) |
Moves the given operation immediately after the other operation in its parent block.
The given operation may be owned by the caller or by its current block. The other operation must belong to a block. In any case, the ownership is transferred to the block of the other operation.
Definition at line 522 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::moveAfter().
void mlirOperationMoveBefore | ( | MlirOperation | op, |
MlirOperation | other | ||
) |
Moves the given operation immediately before the other operation in its parent block.
The given operation may be owner by the caller or by its current block. The other operation must belong to a block. In any case, the ownership is transferred to the block of the other operation.
Definition at line 526 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::moveBefore().
void mlirOperationPrint | ( | MlirOperation | op, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints an operation by sending chunks of the string representation and forwarding userData to
callback`.
Note that the callback may be called several times with consecutive chunks of the string.
Definition at line 498 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().
void mlirOperationPrintWithFlags | ( | MlirOperation | op, |
MlirOpPrintingFlags | flags, | ||
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Same as mlirOperationPrint but accepts flags controlling the printing behavior.
Definition at line 504 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().
Referenced by mlir::python::PyOperationBase::print().
bool mlirOperationRemoveAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
void mlirOperationRemoveFromParent | ( | MlirOperation | op | ) |
Removes the given operation from its parent block.
The operation is not destroyed. The ownership of the operation is transferred to the caller.
Definition at line 386 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperation::detachFromParent().
void mlirOperationSetAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name, | ||
MlirAttribute | attr | ||
) |
Sets an attribute by name, replacing the existing if it exists or adding a new one otherwise.
Definition at line 489 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PySymbolTable::setSymbolName(), and mlir::python::PySymbolTable::setVisibility().
void mlirOperationSetOperand | ( | MlirOperation | op, |
intptr_t | pos, | ||
MlirValue | newValue | ||
) |
void mlirOperationStateAddAttributes | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirNamedAttribute const * | attributes | ||
) |
Definition at line 289 of file IR.cpp.
References APPEND_ELEMS.
Referenced by mlir::python::PyOperation::create().
void mlirOperationStateAddOperands | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirValue const * | operands | ||
) |
Definition at line 277 of file IR.cpp.
References APPEND_ELEMS.
Referenced by mlir::python::PyOperation::create().
void mlirOperationStateAddOwnedRegions | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirRegion const * | regions | ||
) |
Definition at line 281 of file IR.cpp.
References APPEND_ELEMS.
Referenced by mlir::python::PyOperation::create().
void mlirOperationStateAddResults | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirType const * | results | ||
) |
Adds a list of components to the operation state.
Definition at line 272 of file IR.cpp.
References APPEND_ELEMS.
Referenced by mlir::python::PyOperation::create().
void mlirOperationStateAddSuccessors | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirBlock const * | successors | ||
) |
Definition at line 285 of file IR.cpp.
References APPEND_ELEMS.
Referenced by mlir::python::PyOperation::create().
void mlirOperationStateEnableResultTypeInference | ( | MlirOperationState * | state | ) |
Enables result type inference for the operation under construction.
If enabled, then the caller must not have called mlirOperationStateAddResults(). Note that if enabled, the mlirOperationCreate() call is failable: it will return a null operation on inference failure and will emit diagnostics.
Definition at line 294 of file IR.cpp.
References MlirOperationState::enableResultTypeInference.
MlirOperationState mlirOperationStateGet | ( | MlirStringRef | name, |
MlirLocation | loc | ||
) |
Constructs an operation state from a name and a location.
Definition at line 248 of file IR.cpp.
References MlirOperationState::attributes, MlirOperationState::enableResultTypeInference, MlirOperationState::location, MlirOperationState::name, MlirOperationState::nAttributes, MlirOperationState::nOperands, MlirOperationState::nRegions, MlirOperationState::nResults, MlirOperationState::nSuccessors, MlirOperationState::operands, MlirOperationState::regions, MlirOperationState::results, and MlirOperationState::successors.
Referenced by mlir::python::PyOperation::create().
bool mlirOperationVerify | ( | MlirOperation | op | ) |
Verify the operation and return true if it passes, false if it fails.
Definition at line 518 of file IR.cpp.
References mlir::succeeded(), unwrap(), and mlir::verify().
Referenced by mlir::python::PyOperationBase::verify().
void mlirOperationWriteBytecode | ( | MlirOperation | op, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Same as mlirOperationPrint but writing the bytecode format out.
Definition at line 510 of file IR.cpp.
References unwrap(), and mlir::writeBytecodeToFile().
Referenced by mlir::python::PyOperationBase::writeBytecode().
MlirOpOperand mlirOpOperandGetNextUse | ( | MlirOpOperand | opOperand | ) |
Returns an op operand representing the next use of the value, or a null op operand if there is no next use.
Definition at line 768 of file IR.cpp.
References mlirOpOperandIsNull(), unwrap(), and wrap().
unsigned mlirOpOperandGetOperandNumber | ( | MlirOpOperand | opOperand | ) |
MlirOperation mlirOpOperandGetOwner | ( | MlirOpOperand | opOperand | ) |
bool mlirOpOperandIsNull | ( | MlirOpOperand | opOperand | ) |
Returns whether the op operand is null.
Definition at line 758 of file IR.cpp.
Referenced by mlirOpOperandGetNextUse().
void mlirOpPrintingFlagsAssumeVerified | ( | MlirOpPrintingFlags | flags | ) |
Do not verify the operation when using custom operation printers.
Definition at line 144 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::print().
MlirOpPrintingFlags mlirOpPrintingFlagsCreate | ( | void | ) |
Creates new printing flags with defaults, intended for customization.
Must be freed with a call to mlirOpPrintingFlagsDestroy().
Definition at line 118 of file IR.cpp.
References wrap().
Referenced by mlir::python::PyOperationBase::print().
void mlirOpPrintingFlagsDestroy | ( | MlirOpPrintingFlags | flags | ) |
Destroys printing flags created with mlirOpPrintingFlagsCreate.
Definition at line 122 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::print().
void mlirOpPrintingFlagsElideLargeElementsAttrs | ( | MlirOpPrintingFlags | flags, |
intptr_t | largeElementLimit | ||
) |
Enables the elision of large elements attributes by printing a lexically valid but otherwise meaningless form instead of the element data.
The largeElementLimit
is used to configure what is considered to be a "large" ElementsAttr by providing an upper limit to the number of elements.
Definition at line 126 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::print().
void mlirOpPrintingFlagsEnableDebugInfo | ( | MlirOpPrintingFlags | flags, |
bool | enable, | ||
bool | prettyForm | ||
) |
Enable or disable printing of debug information (based on enable
).
If 'prettyForm' is set to true, debug information is printed in a more readable 'pretty' form. Note: The IR generated with 'prettyForm' is not parsable.
Definition at line 131 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::print().
void mlirOpPrintingFlagsPrintGenericOpForm | ( | MlirOpPrintingFlags | flags | ) |
Always print operations in the generic form.
Definition at line 136 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::print().
void mlirOpPrintingFlagsUseLocalScope | ( | MlirOpPrintingFlags | flags | ) |
Use local scope when printing the operation.
This allows for using the printer in a more localized and thread-safe setting, but may not necessarily be identical to what the IR will look like when dumping the full module.
Definition at line 140 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::print().
MlirOperation mlirOpResultGetOwner | ( | MlirValue | value | ) |
Returns an operation that produced this value as its result.
Asserts if the value is not an op result.
Definition at line 723 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::createFromCapsule().
intptr_t mlirOpResultGetResultNumber | ( | MlirValue | value | ) |
void mlirRegionAppendOwnedBlock | ( | MlirRegion | region, |
MlirBlock | block | ||
) |
Takes a block owned by the caller and appends it to the given region.
Definition at line 547 of file IR.cpp.
References unwrap().
Referenced by mlirRegionInsertOwnedBlockBefore().
MlirRegion mlirRegionCreate | ( | void | ) |
Creates a new empty region and transfers ownership to the caller.
Definition at line 534 of file IR.cpp.
References wrap().
Referenced by mlir::python::PyOperation::create().
void mlirRegionDestroy | ( | MlirRegion | region | ) |
bool mlirRegionEqual | ( | MlirRegion | region, |
MlirRegion | other | ||
) |
MlirBlock mlirRegionGetFirstBlock | ( | MlirRegion | region | ) |
Gets the first block in the region.
Definition at line 540 of file IR.cpp.
References mlir::Region::empty(), mlir::Region::front(), unwrap(), and wrap().
MlirRegion mlirRegionGetNextInOperation | ( | MlirRegion | region | ) |
Returns the region immediately following the given region in its parent operation.
Definition at line 433 of file IR.cpp.
References mlir::Operation::getNumRegions(), mlir::Region::getParentOp(), mlir::Operation::getRegion(), mlir::Region::getRegionNumber(), unwrap(), and wrap().
void mlirRegionInsertOwnedBlock | ( | MlirRegion | region, |
intptr_t | pos, | ||
MlirBlock | block | ||
) |
void mlirRegionInsertOwnedBlockAfter | ( | MlirRegion | region, |
MlirBlock | reference, | ||
MlirBlock | block | ||
) |
Takes a block owned by the caller and inserts it after the (non-owned) reference block in the given region.
The reference block must belong to the region. If the reference block is null, prepends the block to the region.
Definition at line 557 of file IR.cpp.
References mlir::Region::begin(), mlir::Region::getBlocks(), mlirBlockIsNull(), and unwrap().
void mlirRegionInsertOwnedBlockBefore | ( | MlirRegion | region, |
MlirBlock | reference, | ||
MlirBlock | block | ||
) |
Takes a block owned by the caller and inserts it before the (non-owned) reference block in the given region.
The reference block must belong to the region. If the reference block is null, appends the block to the region.
Definition at line 571 of file IR.cpp.
References mlirBlockIsNull(), mlirRegionAppendOwnedBlock(), and unwrap().
MlirSymbolTable mlirSymbolTableCreate | ( | MlirOperation | operation | ) |
Creates a symbol table for the given operation.
If the operation does not have the SymbolTable trait, returns a null symbol table.
Definition at line 880 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::PySymbolTable().
void mlirSymbolTableDestroy | ( | MlirSymbolTable | symbolTable | ) |
Destroys the symbol table created with mlirSymbolTableCreate.
This does not affect the operations in the table.
Definition at line 886 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PySymbolTable::~PySymbolTable().
void mlirSymbolTableErase | ( | MlirSymbolTable | symbolTable, |
MlirOperation | operation | ||
) |
Removes the given operation from the symbol table and erases it.
Definition at line 900 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PySymbolTable::erase().
MlirStringRef mlirSymbolTableGetSymbolAttributeName | ( | void | ) |
Returns the name of the attribute used to store symbol names compatible with symbol tables.
Definition at line 872 of file IR.cpp.
References mlir::SymbolTable::getSymbolAttrName(), and wrap().
Referenced by mlir::python::PySymbolTable::getSymbolName(), mlir::python::PySymbolTable::insert(), and mlir::python::PySymbolTable::setSymbolName().
MlirStringRef mlirSymbolTableGetVisibilityAttributeName | ( | void | ) |
Returns the name of the attribute used to store symbol visibility.
Definition at line 876 of file IR.cpp.
References mlir::SymbolTable::getVisibilityAttrName(), and wrap().
Referenced by mlir::python::PySymbolTable::getVisibility(), and mlir::python::PySymbolTable::setVisibility().
MlirAttribute mlirSymbolTableInsert | ( | MlirSymbolTable | symbolTable, |
MlirOperation | operation | ||
) |
Inserts the given operation into the given symbol table.
The operation must have the symbol trait. If the symbol table already has a symbol with the same name, renames the symbol being inserted to ensure name uniqueness. Note that this does not move the operation itself into the block of the symbol table operation, this should be done separately. Returns the name of the symbol after insertion.
Definition at line 895 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::insert().
MlirOperation mlirSymbolTableLookup | ( | MlirSymbolTable | symbolTable, |
MlirStringRef | name | ||
) |
Looks up a symbol with the given name in the given symbol table and returns the operation that corresponds to the symbol.
If the symbol cannot be found, returns a null operation.
Definition at line 890 of file IR.cpp.
References MlirStringRef::data, MlirStringRef::length, unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::dunderGetItem().
MlirLogicalResult mlirSymbolTableReplaceAllSymbolUses | ( | MlirStringRef | oldSymbol, |
MlirStringRef | newSymbol, | ||
MlirOperation | from | ||
) |
Attempt to replace all uses that are nested within the given operation of the given symbol 'oldSymbol' with the provided 'newSymbol'.
This does not traverse into nested symbol tables. Will fail atomically if there are any unknown operations that may be potential symbol tables.
Definition at line 905 of file IR.cpp.
References mlir::SymbolTable::replaceAllSymbolUses(), unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::replaceAllSymbolUses().
void mlirSymbolTableWalkSymbolTables | ( | MlirOperation | from, |
bool | allSymUsesVisible, | ||
void(*)(MlirOperation, bool, void *userData) | callback, | ||
void * | userData | ||
) |
Walks all symbol table operations nested within, and including, op
.
For each symbol table operation, the provided callback is invoked with the op and a boolean signifying if the symbols within that symbol table can be treated as if all uses within the IR are visible to the caller. allSymUsesVisible
identifies whether all of the symbol uses of symbols within op
are visible.
Definition at line 916 of file IR.cpp.
References unwrap(), mlir::SymbolTable::walkSymbolTables(), and wrap().
Referenced by mlir::python::PySymbolTable::walkSymbolTables().
void mlirTypeDump | ( | MlirType | type | ) |
bool mlirTypeEqual | ( | MlirType | t1, |
MlirType | t2 | ||
) |
Checks if two types are equal.
Definition at line 797 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyType::operator==().
MlirContext mlirTypeGetContext | ( | MlirType | type | ) |
Gets the context that a type was created with.
Definition at line 789 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyType::createFromCapsule().
MlirTypeID mlirTypeGetTypeID | ( | MlirType | type | ) |
MlirType mlirTypeParseGet | ( | MlirContext | context, |
MlirStringRef | type | ||
) |
Parses a type. The type is owned by the context.
Definition at line 785 of file IR.cpp.
References mlir::parseType(), unwrap(), and wrap().
void mlirTypePrint | ( | MlirType | type, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints a location by sending chunks of the string representation and forwarding userData to
callback`.
Note that the callback may be called several times with consecutive chunks of the string.
Definition at line 801 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().
void mlirValueDump | ( | MlirValue | value | ) |
bool mlirValueEqual | ( | MlirValue | value1, |
MlirValue | value2 | ||
) |
MlirOpOperand mlirValueGetFirstUse | ( | MlirValue | value | ) |
Returns an op operand representing the first use of the value, or a null op operand if there are no uses.
Definition at line 744 of file IR.cpp.
References mlir::ValueUseIterator< OperandType >::getOperand(), unwrap(), mlir::Value::use_begin(), mlir::Value::use_empty(), and wrap().
MlirType mlirValueGetType | ( | MlirValue | value | ) |
bool mlirValueIsABlockArgument | ( | MlirValue | value | ) |
Returns 1 if the value is a block argument, 0 otherwise.
Definition at line 702 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyValue::createFromCapsule().
bool mlirValueIsAOpResult | ( | MlirValue | value | ) |
Returns 1 if the value is an operation result, 0 otherwise.
Definition at line 706 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyValue::createFromCapsule().
void mlirValuePrint | ( | MlirValue | value, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Prints a value by sending chunks of the string representation and forwarding userData to
callback`.
Note that the callback may be called several times with consecutive chunks of the string.
Definition at line 738 of file IR.cpp.
References mlir::Diagnostic::print(), and unwrap().