MLIR
20.0.0git
|
Go to the source code of this file.
Classes | |
struct | MlirNamedAttribute |
Named MLIR attribute. More... | |
struct | MlirDialectHandle |
struct | MlirOperationState |
An auxiliary class for constructing operations. More... | |
Macros | |
#define | DEFINE_C_API_STRUCT(name, storage) |
Opaque type declarations. More... | |
#define | MLIR_DECLARE_CAPI_DIALECT_REGISTRATION(Name, Namespace) |
Typedefs | |
typedef struct MlirNamedAttribute | MlirNamedAttribute |
typedef struct MlirDialectHandle | MlirDialectHandle |
typedef struct MlirOperationState | MlirOperationState |
typedef enum MlirWalkResult | MlirWalkResult |
Operation walk result. More... | |
typedef enum MlirWalkOrder | MlirWalkOrder |
Traversal order for operation walk. More... | |
typedef MlirWalkResult(* | MlirOperationWalkCallback) (MlirOperation, void *userData) |
Operation walker type. More... | |
Enumerations | |
enum | MlirWalkResult { MlirWalkResultAdvance , MlirWalkResultInterrupt , MlirWalkResultSkip } |
Operation walk result. More... | |
enum | MlirWalkOrder { MlirWalkPreOrder , MlirWalkPostOrder } |
Traversal order for operation walk. More... | |
Functions | |
DEFINE_C_API_STRUCT (MlirAsmState, void) | |
DEFINE_C_API_STRUCT (MlirBytecodeWriterConfig, void) | |
DEFINE_C_API_STRUCT (MlirContext, void) | |
DEFINE_C_API_STRUCT (MlirDialect, void) | |
DEFINE_C_API_STRUCT (MlirDialectRegistry, void) | |
DEFINE_C_API_STRUCT (MlirOperation, void) | |
DEFINE_C_API_STRUCT (MlirOpOperand, void) | |
DEFINE_C_API_STRUCT (MlirOpPrintingFlags, void) | |
DEFINE_C_API_STRUCT (MlirBlock, void) | |
DEFINE_C_API_STRUCT (MlirRegion, void) | |
DEFINE_C_API_STRUCT (MlirSymbolTable, void) | |
DEFINE_C_API_STRUCT (MlirAttribute, const void) | |
DEFINE_C_API_STRUCT (MlirIdentifier, const void) | |
DEFINE_C_API_STRUCT (MlirLocation, const void) | |
DEFINE_C_API_STRUCT (MlirModule, const void) | |
DEFINE_C_API_STRUCT (MlirType, const void) | |
DEFINE_C_API_STRUCT (MlirValue, const void) | |
MLIR_CAPI_EXPORTED MlirContext | mlirContextCreate (void) |
Creates an MLIR context and transfers its ownership to the caller. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirContextCreateWithThreading (bool threadingEnabled) |
Creates an MLIR context with an explicit setting of the multithreading setting and transfers its ownership to the caller. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirContextCreateWithRegistry (MlirDialectRegistry registry, bool threadingEnabled) |
Creates an MLIR context, setting the multithreading setting explicitly and pre-loading the dialects from the provided DialectRegistry. More... | |
MLIR_CAPI_EXPORTED bool | mlirContextEqual (MlirContext ctx1, MlirContext ctx2) |
Checks if two contexts are equal. More... | |
static bool | mlirContextIsNull (MlirContext context) |
Checks whether a context is null. More... | |
MLIR_CAPI_EXPORTED void | mlirContextDestroy (MlirContext context) |
Takes an MLIR context owned by the caller and destroys it. More... | |
MLIR_CAPI_EXPORTED void | mlirContextSetAllowUnregisteredDialects (MlirContext context, bool allow) |
Sets whether unregistered dialects are allowed in this context. More... | |
MLIR_CAPI_EXPORTED bool | mlirContextGetAllowUnregisteredDialects (MlirContext context) |
Returns whether the context allows unregistered dialects. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirContextGetNumRegisteredDialects (MlirContext context) |
Returns the number of dialects registered with the given context. More... | |
MLIR_CAPI_EXPORTED void | mlirContextAppendDialectRegistry (MlirContext ctx, MlirDialectRegistry registry) |
Append the contents of the given dialect registry to the registry associated with the context. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirContextGetNumLoadedDialects (MlirContext context) |
Returns the number of dialects loaded by the context. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED void | mlirContextEnableMultithreading (MlirContext context, bool enable) |
Set threading mode (must be set to false to mlir-print-ir-after-all). More... | |
MLIR_CAPI_EXPORTED void | mlirContextLoadAllAvailableDialects (MlirContext context) |
Eagerly loads all available dialects registered with a context, making them available for use for IR construction. More... | |
MLIR_CAPI_EXPORTED bool | mlirContextIsRegisteredOperation (MlirContext context, MlirStringRef name) |
Returns whether the given fully-qualified operation (i.e. More... | |
MLIR_CAPI_EXPORTED void | mlirContextSetThreadPool (MlirContext context, MlirLlvmThreadPool threadPool) |
Sets the thread pool of the context explicitly, enabling multithreading in the process. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirDialectGetContext (MlirDialect dialect) |
Returns the context that owns the dialect. More... | |
static bool | mlirDialectIsNull (MlirDialect dialect) |
Checks if the dialect is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirDialectEqual (MlirDialect dialect1, MlirDialect dialect2) |
Checks if two dialects that belong to the same context are equal. More... | |
MLIR_CAPI_EXPORTED MlirStringRef | mlirDialectGetNamespace (MlirDialect dialect) |
Returns the namespace of the given dialect. More... | |
MLIR_CAPI_EXPORTED MlirStringRef | mlirDialectHandleGetNamespace (MlirDialectHandle) |
Returns the namespace associated with the provided dialect handle. More... | |
MLIR_CAPI_EXPORTED void | mlirDialectHandleInsertDialect (MlirDialectHandle, MlirDialectRegistry) |
Inserts the dialect associated with the provided dialect handle into the provided dialect registry. More... | |
MLIR_CAPI_EXPORTED void | mlirDialectHandleRegisterDialect (MlirDialectHandle, MlirContext) |
Registers the dialect associated with the provided dialect handle. More... | |
MLIR_CAPI_EXPORTED MlirDialect | mlirDialectHandleLoadDialect (MlirDialectHandle, MlirContext) |
Loads the dialect associated with the provided dialect handle. More... | |
MLIR_CAPI_EXPORTED MlirDialectRegistry | mlirDialectRegistryCreate (void) |
Creates a dialect registry and transfers its ownership to the caller. More... | |
static bool | mlirDialectRegistryIsNull (MlirDialectRegistry registry) |
Checks if the dialect registry is null. More... | |
MLIR_CAPI_EXPORTED void | mlirDialectRegistryDestroy (MlirDialectRegistry registry) |
Takes a dialect registry owned by the caller and destroys it. More... | |
MLIR_CAPI_EXPORTED MlirAttribute | mlirLocationGetAttribute (MlirLocation location) |
Returns the underlying location attribute of this location. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirLocationFromAttribute (MlirAttribute attribute) |
Creates a location from a location attribute. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirLocationFileLineColGet (MlirContext context, MlirStringRef filename, unsigned line, unsigned col) |
Creates an File/Line/Column location owned by the given context. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirLocationCallSiteGet (MlirLocation callee, MlirLocation caller) |
Creates a call site location with a callee and a caller. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirLocationFusedGet (MlirContext ctx, intptr_t nLocations, MlirLocation const *locations, MlirAttribute metadata) |
Creates a fused location with an array of locations and metadata. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirLocationNameGet (MlirContext context, MlirStringRef name, MlirLocation childLoc) |
Creates a name location owned by the given context. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirLocationUnknownGet (MlirContext context) |
Creates a location with unknown position owned by the given context. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirLocationGetContext (MlirLocation location) |
Gets the context that a location was created with. More... | |
static bool | mlirLocationIsNull (MlirLocation location) |
Checks if the location is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirLocationEqual (MlirLocation l1, MlirLocation l2) |
Checks if two locations are equal. More... | |
MLIR_CAPI_EXPORTED void | mlirLocationPrint (MlirLocation location, MlirStringCallback callback, void *userData) |
Prints a location by sending chunks of the string representation and forwarding userData to callback`. More... | |
MLIR_CAPI_EXPORTED MlirModule | mlirModuleCreateEmpty (MlirLocation location) |
Creates a new, empty module and transfers ownership to the caller. More... | |
MLIR_CAPI_EXPORTED MlirModule | mlirModuleCreateParse (MlirContext context, MlirStringRef module) |
Parses a module from the string and transfers ownership to the caller. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirModuleGetContext (MlirModule module) |
Gets the context that a module was created with. More... | |
MLIR_CAPI_EXPORTED MlirBlock | mlirModuleGetBody (MlirModule module) |
Gets the body of the module, i.e. the only block it contains. More... | |
static bool | mlirModuleIsNull (MlirModule module) |
Checks whether a module is null. More... | |
MLIR_CAPI_EXPORTED void | mlirModuleDestroy (MlirModule module) |
Takes a module owned by the caller and deletes it. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirModuleGetOperation (MlirModule module) |
Views the module as a generic operation. More... | |
MLIR_CAPI_EXPORTED MlirModule | mlirModuleFromOperation (MlirOperation op) |
Views the generic operation as a module. More... | |
MLIR_CAPI_EXPORTED MlirOperationState | mlirOperationStateGet (MlirStringRef name, MlirLocation loc) |
Constructs an operation state from a name and a location. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationStateAddResults (MlirOperationState *state, intptr_t n, MlirType const *results) |
Adds a list of components to the operation state. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationStateAddOperands (MlirOperationState *state, intptr_t n, MlirValue const *operands) |
MLIR_CAPI_EXPORTED void | mlirOperationStateAddOwnedRegions (MlirOperationState *state, intptr_t n, MlirRegion const *regions) |
MLIR_CAPI_EXPORTED void | mlirOperationStateAddSuccessors (MlirOperationState *state, intptr_t n, MlirBlock const *successors) |
MLIR_CAPI_EXPORTED void | mlirOperationStateAddAttributes (MlirOperationState *state, intptr_t n, MlirNamedAttribute const *attributes) |
MLIR_CAPI_EXPORTED void | mlirOperationStateEnableResultTypeInference (MlirOperationState *state) |
Enables result type inference for the operation under construction. More... | |
MLIR_CAPI_EXPORTED MlirAsmState | mlirAsmStateCreateForOperation (MlirOperation op, MlirOpPrintingFlags flags) |
Creates new AsmState, as with AsmState the IR should not be mutated in-between using this state. More... | |
MLIR_CAPI_EXPORTED MlirAsmState | mlirAsmStateCreateForValue (MlirValue value, MlirOpPrintingFlags flags) |
Creates new AsmState from value. More... | |
MLIR_CAPI_EXPORTED void | mlirAsmStateDestroy (MlirAsmState state) |
Destroys printing flags created with mlirAsmStateCreate. More... | |
MLIR_CAPI_EXPORTED MlirOpPrintingFlags | mlirOpPrintingFlagsCreate (void) |
Creates new printing flags with defaults, intended for customization. More... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsDestroy (MlirOpPrintingFlags flags) |
Destroys printing flags created with mlirOpPrintingFlagsCreate. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsElideLargeResourceString (MlirOpPrintingFlags flags, intptr_t largeResourceLimit) |
Enables the elision of large resources strings by omitting them from the dialect_resources section. More... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsEnableDebugInfo (MlirOpPrintingFlags flags, bool enable, bool prettyForm) |
Enable or disable printing of debug information (based on enable ). More... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsPrintGenericOpForm (MlirOpPrintingFlags flags) |
Always print operations in the generic form. More... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsUseLocalScope (MlirOpPrintingFlags flags) |
Use local scope when printing the operation. More... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsAssumeVerified (MlirOpPrintingFlags flags) |
Do not verify the operation when using custom operation printers. More... | |
MLIR_CAPI_EXPORTED void | mlirOpPrintingFlagsSkipRegions (MlirOpPrintingFlags flags) |
Skip printing regions. More... | |
MLIR_CAPI_EXPORTED MlirBytecodeWriterConfig | mlirBytecodeWriterConfigCreate (void) |
Creates new printing flags with defaults, intended for customization. More... | |
MLIR_CAPI_EXPORTED void | mlirBytecodeWriterConfigDestroy (MlirBytecodeWriterConfig config) |
Destroys printing flags created with mlirBytecodeWriterConfigCreate. More... | |
MLIR_CAPI_EXPORTED void | mlirBytecodeWriterConfigDesiredEmitVersion (MlirBytecodeWriterConfig flags, int64_t version) |
Sets the version to emit in the writer config. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOperationCreate (MlirOperationState *state) |
Creates an operation and transfers ownership to the caller. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOperationCreateParse (MlirContext context, MlirStringRef sourceStr, MlirStringRef sourceName) |
Parses an operation, giving ownership to the caller. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOperationClone (MlirOperation op) |
Creates a deep copy of an operation. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationDestroy (MlirOperation op) |
Takes an operation owned by the caller and destroys it. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationRemoveFromParent (MlirOperation op) |
Removes the given operation from its parent block. More... | |
static bool | mlirOperationIsNull (MlirOperation op) |
Checks whether the underlying operation is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirOperationEqual (MlirOperation op, MlirOperation other) |
Checks whether two operation handles point to the same operation. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirOperationGetContext (MlirOperation op) |
Gets the context this operation is associated with. More... | |
MLIR_CAPI_EXPORTED MlirLocation | mlirOperationGetLocation (MlirOperation op) |
Gets the location of the operation. More... | |
MLIR_CAPI_EXPORTED MlirTypeID | mlirOperationGetTypeID (MlirOperation op) |
Gets the type id of the operation. More... | |
MLIR_CAPI_EXPORTED MlirIdentifier | mlirOperationGetName (MlirOperation op) |
Gets the name of the operation as an identifier. More... | |
MLIR_CAPI_EXPORTED MlirBlock | mlirOperationGetBlock (MlirOperation op) |
Gets the block that owns this operation, returning null if the operation is not owned. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOperationGetParentOperation (MlirOperation op) |
Gets the operation that owns this operation, returning null if the operation is not owned. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOperationGetNumRegions (MlirOperation op) |
Returns the number of regions attached to the given operation. More... | |
MLIR_CAPI_EXPORTED MlirRegion | mlirOperationGetRegion (MlirOperation op, intptr_t pos) |
Returns pos -th region attached to the operation. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOperationGetNextInBlock (MlirOperation op) |
Returns an operation immediately following the given operation it its enclosing block. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOperationGetNumOperands (MlirOperation op) |
Returns the number of operands of the operation. More... | |
MLIR_CAPI_EXPORTED MlirValue | mlirOperationGetOperand (MlirOperation op, intptr_t pos) |
Returns pos -th operand of the operation. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationSetOperand (MlirOperation op, intptr_t pos, MlirValue newValue) |
Sets the pos -th operand of the operation. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationSetOperands (MlirOperation op, intptr_t nOperands, MlirValue const *operands) |
Replaces the operands of the operation. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOperationGetNumResults (MlirOperation op) |
Returns the number of results of the operation. More... | |
MLIR_CAPI_EXPORTED MlirValue | mlirOperationGetResult (MlirOperation op, intptr_t pos) |
Returns pos -th result of the operation. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOperationGetNumSuccessors (MlirOperation op) |
Returns the number of successor blocks of the operation. More... | |
MLIR_CAPI_EXPORTED MlirBlock | mlirOperationGetSuccessor (MlirOperation op, intptr_t pos) |
Returns pos -th successor of the operation. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationSetSuccessor (MlirOperation op, intptr_t pos, MlirBlock block) |
Set pos -th successor of the operation. More... | |
MLIR_CAPI_EXPORTED bool | mlirOperationHasInherentAttributeByName (MlirOperation op, MlirStringRef name) |
Returns true if this operation defines an inherent attribute with this name. More... | |
MLIR_CAPI_EXPORTED MlirAttribute | mlirOperationGetInherentAttributeByName (MlirOperation op, MlirStringRef name) |
Returns an inherent attribute attached to the operation given its name. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationSetInherentAttributeByName (MlirOperation op, MlirStringRef name, MlirAttribute attr) |
Sets an inherent attribute by name, replacing the existing if it exists. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOperationGetNumDiscardableAttributes (MlirOperation op) |
Returns the number of discardable attributes attached to the operation. More... | |
MLIR_CAPI_EXPORTED MlirNamedAttribute | mlirOperationGetDiscardableAttribute (MlirOperation op, intptr_t pos) |
Return pos -th discardable attribute of the operation. More... | |
MLIR_CAPI_EXPORTED MlirAttribute | mlirOperationGetDiscardableAttributeByName (MlirOperation op, MlirStringRef name) |
Returns a discardable attribute attached to the operation given its name. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationSetDiscardableAttributeByName (MlirOperation op, MlirStringRef name, MlirAttribute attr) |
Sets a discardable attribute by name, replacing the existing if it exists or adding a new one otherwise. More... | |
MLIR_CAPI_EXPORTED bool | mlirOperationRemoveDiscardableAttributeByName (MlirOperation op, MlirStringRef name) |
Removes a discardable attribute by name. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOperationGetNumAttributes (MlirOperation op) |
Returns the number of attributes attached to the operation. More... | |
MLIR_CAPI_EXPORTED MlirNamedAttribute | mlirOperationGetAttribute (MlirOperation op, intptr_t pos) |
Return pos -th attribute of the operation. More... | |
MLIR_CAPI_EXPORTED MlirAttribute | mlirOperationGetAttributeByName (MlirOperation op, MlirStringRef name) |
Returns an attribute attached to the operation given its name. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED bool | mlirOperationRemoveAttributeByName (MlirOperation op, MlirStringRef name) |
Removes an attribute by name. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationPrint (MlirOperation op, MlirStringCallback callback, void *userData) |
Prints an operation by sending chunks of the string representation and forwarding userData to callback`. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationPrintWithFlags (MlirOperation op, MlirOpPrintingFlags flags, MlirStringCallback callback, void *userData) |
Same as mlirOperationPrint but accepts flags controlling the printing behavior. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationPrintWithState (MlirOperation op, MlirAsmState state, MlirStringCallback callback, void *userData) |
Same as mlirOperationPrint but accepts AsmState controlling the printing behavior as well as caching computed names. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationWriteBytecode (MlirOperation op, MlirStringCallback callback, void *userData) |
Same as mlirOperationPrint but writing the bytecode format. More... | |
MLIR_CAPI_EXPORTED MlirLogicalResult | mlirOperationWriteBytecodeWithConfig (MlirOperation op, MlirBytecodeWriterConfig config, MlirStringCallback callback, void *userData) |
Same as mlirOperationWriteBytecode but with writer config and returns failure only if desired bytecode could not be honored. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationDump (MlirOperation op) |
Prints an operation to stderr. More... | |
MLIR_CAPI_EXPORTED bool | mlirOperationVerify (MlirOperation op) |
Verify the operation and return true if it passes, false if it fails. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationMoveAfter (MlirOperation op, MlirOperation other) |
Moves the given operation immediately after the other operation in its parent block. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationMoveBefore (MlirOperation op, MlirOperation other) |
Moves the given operation immediately before the other operation in its parent block. More... | |
MLIR_CAPI_EXPORTED void | mlirOperationWalk (MlirOperation op, MlirOperationWalkCallback callback, void *userData, MlirWalkOrder walkOrder) |
Walks operation op in walkOrder and calls callback on that operation. More... | |
MLIR_CAPI_EXPORTED MlirRegion | mlirRegionCreate (void) |
Creates a new empty region and transfers ownership to the caller. More... | |
MLIR_CAPI_EXPORTED void | mlirRegionDestroy (MlirRegion region) |
Takes a region owned by the caller and destroys it. More... | |
static bool | mlirRegionIsNull (MlirRegion region) |
Checks whether a region is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirRegionEqual (MlirRegion region, MlirRegion other) |
Checks whether two region handles point to the same region. More... | |
MLIR_CAPI_EXPORTED MlirBlock | mlirRegionGetFirstBlock (MlirRegion region) |
Gets the first block in the region. More... | |
MLIR_CAPI_EXPORTED void | mlirRegionAppendOwnedBlock (MlirRegion region, MlirBlock block) |
Takes a block owned by the caller and appends it to the given region. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED MlirRegion | mlirOperationGetFirstRegion (MlirOperation op) |
Returns first region attached to the operation. More... | |
MLIR_CAPI_EXPORTED MlirRegion | mlirRegionGetNextInOperation (MlirRegion region) |
Returns the region immediately following the given region in its parent operation. More... | |
MLIR_CAPI_EXPORTED void | mlirRegionTakeBody (MlirRegion target, MlirRegion source) |
Moves the entire content of the source region to the target region. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED void | mlirBlockDestroy (MlirBlock block) |
Takes a block owned by the caller and destroys it. More... | |
MLIR_CAPI_EXPORTED void | mlirBlockDetach (MlirBlock block) |
Detach a block from the owning region and assume ownership. More... | |
static bool | mlirBlockIsNull (MlirBlock block) |
Checks whether a block is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirBlockEqual (MlirBlock block, MlirBlock other) |
Checks whether two blocks handles point to the same block. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirBlockGetParentOperation (MlirBlock) |
Returns the closest surrounding operation that contains this block. More... | |
MLIR_CAPI_EXPORTED MlirRegion | mlirBlockGetParentRegion (MlirBlock block) |
Returns the region that contains this block. More... | |
MLIR_CAPI_EXPORTED MlirBlock | mlirBlockGetNextInRegion (MlirBlock block) |
Returns the block immediately following the given block in its parent region. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirBlockGetFirstOperation (MlirBlock block) |
Returns the first operation in the block. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirBlockGetTerminator (MlirBlock block) |
Returns the terminator operation in the block or null if no terminator. More... | |
MLIR_CAPI_EXPORTED void | mlirBlockAppendOwnedOperation (MlirBlock block, MlirOperation operation) |
Takes an operation owned by the caller and appends it to the block. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED intptr_t | mlirBlockGetNumArguments (MlirBlock block) |
Returns the number of arguments of the block. More... | |
MLIR_CAPI_EXPORTED MlirValue | mlirBlockAddArgument (MlirBlock block, MlirType type, MlirLocation loc) |
Appends an argument of the specified type to the block. More... | |
MLIR_CAPI_EXPORTED void | mlirBlockEraseArgument (MlirBlock block, unsigned index) |
Erase the argument at 'index' and remove it from the argument list. More... | |
MLIR_CAPI_EXPORTED MlirValue | mlirBlockInsertArgument (MlirBlock block, intptr_t pos, MlirType type, MlirLocation loc) |
Inserts an argument of the specified type at a specified index to the block. More... | |
MLIR_CAPI_EXPORTED MlirValue | mlirBlockGetArgument (MlirBlock block, intptr_t pos) |
Returns pos -th argument of the block. More... | |
MLIR_CAPI_EXPORTED void | mlirBlockPrint (MlirBlock block, MlirStringCallback callback, void *userData) |
Prints a block by sending chunks of the string representation and forwarding userData to callback`. More... | |
static bool | mlirValueIsNull (MlirValue value) |
Returns whether the value is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirValueEqual (MlirValue value1, MlirValue value2) |
Returns 1 if two values are equal, 0 otherwise. More... | |
MLIR_CAPI_EXPORTED bool | mlirValueIsABlockArgument (MlirValue value) |
Returns 1 if the value is a block argument, 0 otherwise. More... | |
MLIR_CAPI_EXPORTED bool | mlirValueIsAOpResult (MlirValue value) |
Returns 1 if the value is an operation result, 0 otherwise. More... | |
MLIR_CAPI_EXPORTED MlirBlock | mlirBlockArgumentGetOwner (MlirValue value) |
Returns the block in which this value is defined as an argument. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirBlockArgumentGetArgNumber (MlirValue value) |
Returns the position of the value in the argument list of its block. More... | |
MLIR_CAPI_EXPORTED void | mlirBlockArgumentSetType (MlirValue value, MlirType type) |
Sets the type of the block argument to the given type. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOpResultGetOwner (MlirValue value) |
Returns an operation that produced this value as its result. More... | |
MLIR_CAPI_EXPORTED intptr_t | mlirOpResultGetResultNumber (MlirValue value) |
Returns the position of the value in the list of results of the operation that produced it. More... | |
MLIR_CAPI_EXPORTED MlirType | mlirValueGetType (MlirValue value) |
Returns the type of the value. More... | |
MLIR_CAPI_EXPORTED void | mlirValueSetType (MlirValue value, MlirType type) |
Set the type of the value. More... | |
MLIR_CAPI_EXPORTED void | mlirValueDump (MlirValue value) |
Prints the value to the standard error stream. More... | |
MLIR_CAPI_EXPORTED void | mlirValuePrint (MlirValue value, MlirStringCallback callback, void *userData) |
Prints a value by sending chunks of the string representation and forwarding userData to callback`. More... | |
MLIR_CAPI_EXPORTED void | mlirValuePrintAsOperand (MlirValue value, MlirAsmState state, MlirStringCallback callback, void *userData) |
Prints a value as an operand (i.e., the ValueID). More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED void | mlirValueReplaceAllUsesOfWith (MlirValue of, MlirValue with) |
Replace all uses of 'of' value with the 'with' value, updating anything in the IR that uses 'of' to use the other value instead. More... | |
MLIR_CAPI_EXPORTED void | mlirValueReplaceAllUsesExcept (MlirValue of, MlirValue with, intptr_t numExceptions, MlirOperation *exceptions) |
Replace all uses of 'of' value with 'with' value, updating anything in the IR that uses 'of' to use 'with' instead, except if the user is listed in 'exceptions'. More... | |
MLIR_CAPI_EXPORTED bool | mlirOpOperandIsNull (MlirOpOperand opOperand) |
Returns whether the op operand is null. More... | |
MLIR_CAPI_EXPORTED MlirValue | mlirOpOperandGetValue (MlirOpOperand opOperand) |
Returns the value of an op operand. More... | |
MLIR_CAPI_EXPORTED MlirOperation | mlirOpOperandGetOwner (MlirOpOperand opOperand) |
Returns the owner operation of an op operand. More... | |
MLIR_CAPI_EXPORTED unsigned | mlirOpOperandGetOperandNumber (MlirOpOperand opOperand) |
Returns the operand number of an op operand. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED MlirType | mlirTypeParseGet (MlirContext context, MlirStringRef type) |
Parses a type. The type is owned by the context. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirTypeGetContext (MlirType type) |
Gets the context that a type was created with. More... | |
MLIR_CAPI_EXPORTED MlirTypeID | mlirTypeGetTypeID (MlirType type) |
Gets the type ID of the type. More... | |
MLIR_CAPI_EXPORTED MlirDialect | mlirTypeGetDialect (MlirType type) |
Gets the dialect a type belongs to. More... | |
static bool | mlirTypeIsNull (MlirType type) |
Checks whether a type is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirTypeEqual (MlirType t1, MlirType t2) |
Checks if two types are equal. More... | |
MLIR_CAPI_EXPORTED void | mlirTypePrint (MlirType type, MlirStringCallback callback, void *userData) |
Prints a location by sending chunks of the string representation and forwarding userData to callback`. More... | |
MLIR_CAPI_EXPORTED void | mlirTypeDump (MlirType type) |
Prints the type to the standard error stream. More... | |
MLIR_CAPI_EXPORTED MlirAttribute | mlirAttributeParseGet (MlirContext context, MlirStringRef attr) |
Parses an attribute. The attribute is owned by the context. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirAttributeGetContext (MlirAttribute attribute) |
Gets the context that an attribute was created with. More... | |
MLIR_CAPI_EXPORTED MlirType | mlirAttributeGetType (MlirAttribute attribute) |
Gets the type of this attribute. More... | |
MLIR_CAPI_EXPORTED MlirTypeID | mlirAttributeGetTypeID (MlirAttribute attribute) |
Gets the type id of the attribute. More... | |
MLIR_CAPI_EXPORTED MlirDialect | mlirAttributeGetDialect (MlirAttribute attribute) |
Gets the dialect of the attribute. More... | |
static bool | mlirAttributeIsNull (MlirAttribute attr) |
Checks whether an attribute is null. More... | |
MLIR_CAPI_EXPORTED bool | mlirAttributeEqual (MlirAttribute a1, MlirAttribute a2) |
Checks if two attributes are equal. More... | |
MLIR_CAPI_EXPORTED void | mlirAttributePrint (MlirAttribute attr, MlirStringCallback callback, void *userData) |
Prints an attribute by sending chunks of the string representation and forwarding userData to callback`. More... | |
MLIR_CAPI_EXPORTED void | mlirAttributeDump (MlirAttribute attr) |
Prints the attribute to the standard error stream. More... | |
MLIR_CAPI_EXPORTED MlirNamedAttribute | mlirNamedAttributeGet (MlirIdentifier name, MlirAttribute attr) |
Associates an attribute with the name. Takes ownership of neither. More... | |
MLIR_CAPI_EXPORTED MlirIdentifier | mlirIdentifierGet (MlirContext context, MlirStringRef str) |
Gets an identifier with the given string value. More... | |
MLIR_CAPI_EXPORTED MlirContext | mlirIdentifierGetContext (MlirIdentifier) |
Returns the context associated with this identifier. More... | |
MLIR_CAPI_EXPORTED bool | mlirIdentifierEqual (MlirIdentifier ident, MlirIdentifier other) |
Checks whether two identifiers are the same. More... | |
MLIR_CAPI_EXPORTED MlirStringRef | mlirIdentifierStr (MlirIdentifier ident) |
Gets the string value of the identifier. More... | |
MLIR_CAPI_EXPORTED MlirStringRef | mlirSymbolTableGetSymbolAttributeName (void) |
Returns the name of the attribute used to store symbol names compatible with symbol tables. More... | |
MLIR_CAPI_EXPORTED MlirStringRef | mlirSymbolTableGetVisibilityAttributeName (void) |
Returns the name of the attribute used to store symbol visibility. More... | |
MLIR_CAPI_EXPORTED MlirSymbolTable | mlirSymbolTableCreate (MlirOperation operation) |
Creates a symbol table for the given operation. More... | |
static bool | mlirSymbolTableIsNull (MlirSymbolTable symbolTable) |
Returns true if the symbol table is null. More... | |
MLIR_CAPI_EXPORTED void | mlirSymbolTableDestroy (MlirSymbolTable symbolTable) |
Destroys the symbol table created with mlirSymbolTableCreate. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED MlirAttribute | mlirSymbolTableInsert (MlirSymbolTable symbolTable, MlirOperation operation) |
Inserts the given operation into the given symbol table. More... | |
MLIR_CAPI_EXPORTED void | mlirSymbolTableErase (MlirSymbolTable symbolTable, MlirOperation operation) |
Removes the given operation from the symbol table and erases it. More... | |
MLIR_CAPI_EXPORTED 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... | |
MLIR_CAPI_EXPORTED 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 DEFINE_C_API_STRUCT | ( | name, | |
storage | |||
) |
Opaque type declarations.
Types are exposed to C bindings as structs containing opaque pointers. They are not supposed to be inspected from C. This allows the underlying representation to change without affecting the API users. The use of structs instead of typedefs enables some type safety as structs are not implicitly convertible to each other.
Instances of these types may or may not own the underlying object (most often only point to an IR fragment without owning it). The ownership semantics is defined by how an instance of the type was obtained.
#define MLIR_DECLARE_CAPI_DIALECT_REGISTRATION | ( | Name, | |
Namespace | |||
) |
typedef struct MlirDialectHandle MlirDialectHandle |
typedef struct MlirNamedAttribute MlirNamedAttribute |
typedef struct MlirOperationState MlirOperationState |
typedef MlirWalkResult(* MlirOperationWalkCallback) (MlirOperation, void *userData) |
typedef enum MlirWalkOrder MlirWalkOrder |
Traversal order for operation walk.
typedef enum MlirWalkResult MlirWalkResult |
Operation walk result.
enum MlirWalkOrder |
enum MlirWalkResult |
DEFINE_C_API_STRUCT | ( | MlirAsmState | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirAttribute | , |
const void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirBlock | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirBytecodeWriterConfig | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirContext | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirDialect | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirDialectRegistry | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirIdentifier | , |
const void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirLocation | , |
const void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirModule | , |
const void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirOperation | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirOpOperand | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirOpPrintingFlags | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirRegion | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirSymbolTable | , |
void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirType | , |
const void | |||
) |
DEFINE_C_API_STRUCT | ( | MlirValue | , |
const void | |||
) |
MLIR_CAPI_EXPORTED MlirAsmState mlirAsmStateCreateForOperation | ( | MlirOperation | op, |
MlirOpPrintingFlags | flags | ||
) |
Creates new AsmState, as with AsmState the IR should not be mutated in-between using this state.
Must be freed with a call to mlirAsmStateDestroy().
Definition at line 148 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyAsmState::PyAsmState().
MLIR_CAPI_EXPORTED MlirAsmState mlirAsmStateCreateForValue | ( | MlirValue | value, |
MlirOpPrintingFlags | flags | ||
) |
Creates new AsmState from value.
Must be freed with a call to mlirAsmStateDestroy().
Definition at line 169 of file IR.cpp.
References mlir::emitError(), findParent(), mlir::Value::getLoc(), mlir::Operation::getParentOp(), unwrap(), and wrap().
Referenced by mlir::python::PyAsmState::PyAsmState().
MLIR_CAPI_EXPORTED void mlirAsmStateDestroy | ( | MlirAsmState | state | ) |
MLIR_CAPI_EXPORTED void mlirAttributeDump | ( | MlirAttribute | attr | ) |
MLIR_CAPI_EXPORTED bool mlirAttributeEqual | ( | MlirAttribute | a1, |
MlirAttribute | a2 | ||
) |
Checks if two attributes are equal.
Definition at line 1116 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyAttribute::operator==().
MLIR_CAPI_EXPORTED MlirContext mlirAttributeGetContext | ( | MlirAttribute | attribute | ) |
Gets the context that an attribute was created with.
Definition at line 1097 of file IR.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyAttribute::createFromCapsule(), and mlir::python::PyNamedAttribute::PyNamedAttribute().
MLIR_CAPI_EXPORTED MlirDialect mlirAttributeGetDialect | ( | MlirAttribute | attribute | ) |
MLIR_CAPI_EXPORTED MlirType mlirAttributeGetType | ( | MlirAttribute | attribute | ) |
Gets the type of this attribute.
Definition at line 1101 of file IR.cpp.
References mlir::get(), mlir::Attribute::getContext(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirTypeID mlirAttributeGetTypeID | ( | MlirAttribute | attribute | ) |
|
inlinestatic |
Checks whether an attribute is null.
Definition at line 1043 of file IR.h.
Referenced by mlir::python::PyAttribute::createFromCapsule(), nanobind::detail::type_caster< MlirAttribute >::from_python(), mlir::python::PySymbolTable::getSymbolName(), mlir::python::PySymbolTable::getVisibility(), mlir::python::PySymbolTable::insert(), pybind11::detail::type_caster< MlirAttribute >::load(), mlirMemRefTypeGet(), mlirMemRefTypeGetChecked(), mlir::python::PySymbolTable::setSymbolName(), and mlir::python::PySymbolTable::setVisibility().
MLIR_CAPI_EXPORTED MlirAttribute mlirAttributeParseGet | ( | MlirContext | context, |
MlirStringRef | attr | ||
) |
Parses an attribute. The attribute is owned by the context.
Definition at line 1093 of file IR.cpp.
References mlir::parseAttribute(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED void mlirAttributePrint | ( | MlirAttribute | attr, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED MlirValue mlirBlockAddArgument | ( | MlirBlock | block, |
MlirType | type, | ||
MlirLocation | loc | ||
) |
MLIR_CAPI_EXPORTED void mlirBlockAppendOwnedOperation | ( | MlirBlock | block, |
MlirOperation | operation | ||
) |
Takes an operation owned by the caller and appends it to the block.
Definition at line 866 of file IR.cpp.
References unwrap().
Referenced by mlirBlockInsertOwnedOperationBefore().
MLIR_CAPI_EXPORTED intptr_t mlirBlockArgumentGetArgNumber | ( | MlirValue | value | ) |
MLIR_CAPI_EXPORTED 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 954 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::createFromCapsule().
MLIR_CAPI_EXPORTED void mlirBlockArgumentSetType | ( | MlirValue | value, |
MlirType | type | ||
) |
MLIR_CAPI_EXPORTED 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 825 of file IR.cpp.
References mlir::Block::addArgument(), unwrap(), and wrap().
Referenced by createBlock().
MLIR_CAPI_EXPORTED void mlirBlockDestroy | ( | MlirBlock | block | ) |
MLIR_CAPI_EXPORTED void mlirBlockDetach | ( | MlirBlock | block | ) |
Detach a block from the owning region and assume ownership.
Definition at line 905 of file IR.cpp.
References mlir::Region::getBlocks(), mlir::Block::getParent(), and unwrap().
MLIR_CAPI_EXPORTED bool mlirBlockEqual | ( | MlirBlock | block, |
MlirBlock | other | ||
) |
MLIR_CAPI_EXPORTED void mlirBlockEraseArgument | ( | MlirBlock | block, |
unsigned | index | ||
) |
MLIR_CAPI_EXPORTED MlirValue mlirBlockGetArgument | ( | MlirBlock | block, |
intptr_t | pos | ||
) |
MLIR_CAPI_EXPORTED MlirOperation mlirBlockGetFirstOperation | ( | MlirBlock | block | ) |
Returns the first operation in the block.
Definition at line 849 of file IR.cpp.
References mlir::Block::empty(), mlir::Block::front(), unwrap(), and wrap().
Referenced by mlir::python::PyInsertionPoint::atBlockBegin().
MLIR_CAPI_EXPORTED MlirBlock mlirBlockGetNextInRegion | ( | MlirBlock | block | ) |
MLIR_CAPI_EXPORTED intptr_t mlirBlockGetNumArguments | ( | MlirBlock | block | ) |
MLIR_CAPI_EXPORTED MlirOperation mlirBlockGetParentOperation | ( | MlirBlock | block | ) |
Returns the closest surrounding operation that contains this block.
Definition at line 837 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::createFromCapsule().
MLIR_CAPI_EXPORTED MlirRegion mlirBlockGetParentRegion | ( | MlirBlock | block | ) |
MLIR_CAPI_EXPORTED MlirOperation mlirBlockGetTerminator | ( | MlirBlock | block | ) |
Returns the terminator operation in the block or null if no terminator.
Definition at line 856 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().
MLIR_CAPI_EXPORTED MlirValue mlirBlockInsertArgument | ( | MlirBlock | block, |
intptr_t | pos, | ||
MlirType | type, | ||
MlirLocation | loc | ||
) |
MLIR_CAPI_EXPORTED void mlirBlockInsertOwnedOperation | ( | MlirBlock | block, |
intptr_t | pos, | ||
MlirOperation | operation | ||
) |
MLIR_CAPI_EXPORTED 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 876 of file IR.cpp.
References mlir::Block::begin(), mlir::Block::getOperations(), mlirOperationIsNull(), and unwrap().
MLIR_CAPI_EXPORTED 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 891 of file IR.cpp.
References mlirBlockAppendOwnedOperation(), mlirOperationIsNull(), and unwrap().
Referenced by mlir::python::PyInsertionPoint::insert().
|
inlinestatic |
Checks whether a block is null.
Definition at line 817 of file IR.h.
Referenced by nanobind::detail::type_caster< MlirBlock >::from_python(), mlir::python::PyOperation::getBlock(), pybind11::detail::type_caster< MlirBlock >::load(), mlirRegionInsertOwnedBlockAfter(), mlirRegionInsertOwnedBlockBefore(), and mlir::python::PyBlock::PyBlock().
MLIR_CAPI_EXPORTED void mlirBlockPrint | ( | MlirBlock | block, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED MlirBytecodeWriterConfig mlirBytecodeWriterConfigCreate | ( | void | ) |
Creates new printing flags with defaults, intended for customization.
Must be freed with a call to mlirBytecodeWriterConfigDestroy().
Definition at line 235 of file IR.cpp.
References wrap().
Referenced by mlir::python::PyOperationBase::writeBytecode().
MLIR_CAPI_EXPORTED void mlirBytecodeWriterConfigDesiredEmitVersion | ( | MlirBytecodeWriterConfig | flags, |
int64_t | version | ||
) |
Sets the version to emit in the writer config.
Definition at line 243 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::writeBytecode().
MLIR_CAPI_EXPORTED void mlirBytecodeWriterConfigDestroy | ( | MlirBytecodeWriterConfig | config | ) |
Destroys printing flags created with mlirBytecodeWriterConfigCreate.
Definition at line 239 of file IR.cpp.
References mlir::config, and unwrap().
Referenced by mlir::python::PyOperationBase::writeBytecode().
MLIR_CAPI_EXPORTED void mlirContextAppendDialectRegistry | ( | MlirContext | ctx, |
MlirDialectRegistry | registry | ||
) |
MLIR_CAPI_EXPORTED MlirContext mlirContextCreate | ( | void | ) |
MLIR_CAPI_EXPORTED MlirContext mlirContextCreateWithRegistry | ( | MlirDialectRegistry | registry, |
bool | threadingEnabled | ||
) |
Creates an MLIR context, setting the multithreading setting explicitly and pre-loading the dialects from the provided DialectRegistry.
Definition at line 59 of file IR.cpp.
References toThreadingEnum(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirContext mlirContextCreateWithThreading | ( | bool | threadingEnabled | ) |
Creates an MLIR context with an explicit setting of the multithreading setting and transfers its ownership to the caller.
Definition at line 54 of file IR.cpp.
References toThreadingEnum(), and wrap().
MLIR_CAPI_EXPORTED void mlirContextDestroy | ( | MlirContext | context | ) |
Takes an MLIR context owned by the caller and destroys it.
Definition at line 70 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyMlirContext::~PyMlirContext().
MLIR_CAPI_EXPORTED void mlirContextEnableMultithreading | ( | MlirContext | context, |
bool | enable | ||
) |
MLIR_CAPI_EXPORTED bool mlirContextEqual | ( | MlirContext | ctx1, |
MlirContext | ctx2 | ||
) |
MLIR_CAPI_EXPORTED bool mlirContextGetAllowUnregisteredDialects | ( | MlirContext | context | ) |
MLIR_CAPI_EXPORTED intptr_t mlirContextGetNumLoadedDialects | ( | MlirContext | context | ) |
MLIR_CAPI_EXPORTED intptr_t mlirContextGetNumRegisteredDialects | ( | MlirContext | context | ) |
MLIR_CAPI_EXPORTED 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 94 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyDialects::getDialectForKey().
|
inlinestatic |
Checks whether a context is null.
Definition at line 104 of file IR.h.
Referenced by mlir::python::PyMlirContext::createFromCapsule(), nanobind::detail::type_caster< MlirContext >::from_python(), and pybind11::detail::type_caster< MlirContext >::load().
MLIR_CAPI_EXPORTED bool mlirContextIsRegisteredOperation | ( | MlirContext | context, |
MlirStringRef | name | ||
) |
MLIR_CAPI_EXPORTED void mlirContextLoadAllAvailableDialects | ( | MlirContext | context | ) |
MLIR_CAPI_EXPORTED void mlirContextSetAllowUnregisteredDialects | ( | MlirContext | context, |
bool | allow | ||
) |
MLIR_CAPI_EXPORTED void mlirContextSetThreadPool | ( | MlirContext | context, |
MlirLlvmThreadPool | threadPool | ||
) |
Sets the thread pool of the context explicitly, enabling multithreading in the process.
This API should be used to avoid re-creating thread pools in long-running applications that perform multiple compilations, see the C++ documentation for MLIRContext for details.
MLIR_CAPI_EXPORTED bool mlirDialectEqual | ( | MlirDialect | dialect1, |
MlirDialect | dialect2 | ||
) |
MLIR_CAPI_EXPORTED MlirContext mlirDialectGetContext | ( | MlirDialect | dialect | ) |
Returns the context that owns the dialect.
Definition at line 120 of file IR.cpp.
References getContext(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirStringRef mlirDialectGetNamespace | ( | MlirDialect | dialect | ) |
Returns the namespace of the given dialect.
Definition at line 128 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyGlobals::lookupTypeCaster(), and mlir::python::PyGlobals::lookupValueCaster().
MLIR_CAPI_EXPORTED MlirStringRef mlirDialectHandleGetNamespace | ( | MlirDialectHandle | handle | ) |
Returns the namespace associated with the provided dialect handle.
Definition at line 16 of file DialectHandle.cpp.
References MlirDialectRegistrationHooks::getNamespaceHook, and unwrap().
MLIR_CAPI_EXPORTED void mlirDialectHandleInsertDialect | ( | MlirDialectHandle | handle, |
MlirDialectRegistry | registry | ||
) |
Inserts the dialect associated with the provided dialect handle into the provided dialect registry.
Definition at line 20 of file DialectHandle.cpp.
References MlirDialectRegistrationHooks::insertHook, and unwrap().
Referenced by mlir::ExternalPass::getDependentDialects(), and mlirDialectHandleRegisterDialect().
MLIR_CAPI_EXPORTED MlirDialect mlirDialectHandleLoadDialect | ( | MlirDialectHandle | handle, |
MlirContext | ctx | ||
) |
Loads the dialect associated with the provided dialect handle.
Definition at line 32 of file DialectHandle.cpp.
References MlirDialectRegistrationHooks::loadHook, and unwrap().
MLIR_CAPI_EXPORTED void mlirDialectHandleRegisterDialect | ( | MlirDialectHandle | handle, |
MlirContext | ctx | ||
) |
Registers the dialect associated with the provided dialect handle.
Definition at line 25 of file DialectHandle.cpp.
References mlirDialectHandleInsertDialect(), unwrap(), and wrap().
|
inlinestatic |
Checks if the dialect is null.
Definition at line 173 of file IR.h.
Referenced by mlir::python::PyDialects::getDialectForKey().
MLIR_CAPI_EXPORTED MlirDialectRegistry mlirDialectRegistryCreate | ( | void | ) |
MLIR_CAPI_EXPORTED void mlirDialectRegistryDestroy | ( | MlirDialectRegistry | registry | ) |
Takes a dialect registry owned by the caller and destroys it.
Definition at line 140 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyDialectRegistry::~PyDialectRegistry().
|
inlinestatic |
Checks if the dialect registry is null.
Definition at line 235 of file IR.h.
Referenced by mlir::python::PyDialectRegistry::createFromCapsule(), nanobind::detail::type_caster< MlirDialectRegistry >::from_python(), pybind11::detail::type_caster< MlirDialectRegistry >::load(), and mlir::python::PyDialectRegistry::~PyDialectRegistry().
MLIR_CAPI_EXPORTED bool mlirIdentifierEqual | ( | MlirIdentifier | ident, |
MlirIdentifier | other | ||
) |
MLIR_CAPI_EXPORTED MlirIdentifier mlirIdentifierGet | ( | MlirContext | context, |
MlirStringRef | str | ||
) |
Gets an identifier with the given string value.
Definition at line 1137 of file IR.cpp.
References mlir::get(), unwrap(), and wrap().
Referenced by mlir::python::PyNamedAttribute::PyNamedAttribute().
MLIR_CAPI_EXPORTED MlirContext mlirIdentifierGetContext | ( | MlirIdentifier | ident | ) |
Returns the context associated with this identifier.
Definition at line 1141 of file IR.cpp.
References getContext(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirStringRef mlirIdentifierStr | ( | MlirIdentifier | ident | ) |
Gets the string value of the identifier.
Definition at line 1149 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::createOpView(), and mlir::python::PyConcreteOpInterface< ConcreteIface >::PyConcreteOpInterface().
MLIR_CAPI_EXPORTED MlirLocation mlirLocationCallSiteGet | ( | MlirLocation | callee, |
MlirLocation | caller | ||
) |
Creates a call site location with a callee and a caller.
Definition at line 267 of file IR.cpp.
References mlir::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED bool mlirLocationEqual | ( | MlirLocation | l1, |
MlirLocation | l2 | ||
) |
MLIR_CAPI_EXPORTED MlirLocation mlirLocationFileLineColGet | ( | MlirContext | context, |
MlirStringRef | filename, | ||
unsigned | line, | ||
unsigned | col | ||
) |
Creates an File/Line/Column location owned by the given context.
Definition at line 260 of file IR.cpp.
References mlir::FileLineColLoc::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirLocation mlirLocationFromAttribute | ( | MlirAttribute | attribute | ) |
MLIR_CAPI_EXPORTED 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 271 of file IR.cpp.
References mlir::get(), unwrap(), unwrapList(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute mlirLocationGetAttribute | ( | MlirLocation | location | ) |
MLIR_CAPI_EXPORTED MlirContext mlirLocationGetContext | ( | MlirLocation | location | ) |
Gets the context that a location was created with.
Definition at line 296 of file IR.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyLocation::createFromCapsule(), and mlir::python::PyDiagnostic::getLocation().
|
inlinestatic |
Checks if the location is null.
Definition at line 282 of file IR.h.
Referenced by mlir::python::PyLocation::createFromCapsule(), nanobind::detail::type_caster< MlirLocation >::from_python(), pybind11::detail::type_caster< MlirLocation >::load(), and mlirLocationNameGet().
MLIR_CAPI_EXPORTED 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 279 of file IR.cpp.
References mlir::get(), mlirLocationIsNull(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED void mlirLocationPrint | ( | MlirLocation | location, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED MlirLocation mlirLocationUnknownGet | ( | MlirContext | context | ) |
Creates a location with unknown position owned by the given context.
Definition at line 288 of file IR.cpp.
References mlir::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirModule mlirModuleCreateEmpty | ( | MlirLocation | location | ) |
MLIR_CAPI_EXPORTED MlirModule mlirModuleCreateParse | ( | MlirContext | context, |
MlirStringRef | module | ||
) |
Parses a module from the string and transfers ownership to the caller.
Definition at line 314 of file IR.cpp.
References mlir::OwningOpRef< OpTy >::release(), and unwrap().
MLIR_CAPI_EXPORTED void mlirModuleDestroy | ( | MlirModule | module | ) |
Takes a module owned by the caller and deletes it.
Definition at line 330 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyModule::~PyModule().
MLIR_CAPI_EXPORTED MlirModule mlirModuleFromOperation | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED MlirBlock mlirModuleGetBody | ( | MlirModule | module | ) |
MLIR_CAPI_EXPORTED MlirContext mlirModuleGetContext | ( | MlirModule | module | ) |
Gets the context that a module was created with.
Definition at line 322 of file IR.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyModule::forModule().
MLIR_CAPI_EXPORTED MlirOperation mlirModuleGetOperation | ( | MlirModule | module | ) |
|
inlinestatic |
Checks whether a module is null.
Definition at line 314 of file IR.h.
Referenced by mlir::python::PyModule::createFromCapsule(), nanobind::detail::type_caster< MlirModule >::from_python(), and pybind11::detail::type_caster< MlirModule >::load().
MLIR_CAPI_EXPORTED MlirNamedAttribute mlirNamedAttributeGet | ( | MlirIdentifier | name, |
MlirAttribute | attr | ||
) |
Associates an attribute with the name. Takes ownership of neither.
Definition at line 1128 of file IR.cpp.
Referenced by mlir::python::PyNamedAttribute::PyNamedAttribute().
MLIR_CAPI_EXPORTED 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 503 of file IR.cpp.
References mlir::clone(), unwrap(), and wrap().
Referenced by mlir::python::PyOperation::clone().
MLIR_CAPI_EXPORTED 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:
MLIR_CAPI_EXPORTED 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 494 of file IR.cpp.
References mlir::parseSourceString(), unwrap(), and wrap().
Referenced by mlir::python::PyOperation::parse().
MLIR_CAPI_EXPORTED void mlirOperationDestroy | ( | MlirOperation | op | ) |
Takes an operation owned by the caller and destroys it.
Definition at line 507 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperation::erase().
MLIR_CAPI_EXPORTED void mlirOperationDump | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED bool mlirOperationEqual | ( | MlirOperation | op, |
MlirOperation | other | ||
) |
MLIR_CAPI_EXPORTED MlirNamedAttribute mlirOperationGetAttribute | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
Return pos
-th attribute of the operation.
Deprecated, please use mlirOperationGetInherentAttribute
or mlirOperationGetDiscardableAttribute
.
Definition at line 662 of file IR.cpp.
References mlir::NamedAttribute::getName(), mlir::NamedAttribute::getValue(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute mlirOperationGetAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
Returns an attribute attached to the operation given its name.
Deprecated, please use mlirOperationGetInherentAttributeByName
or mlirOperationGetDiscardableAttributeByName
.
Definition at line 667 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().
MLIR_CAPI_EXPORTED MlirBlock mlirOperationGetBlock | ( | MlirOperation | op | ) |
Gets the block that owns this operation, returning null if the operation is not owned.
Definition at line 533 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::getBlock().
MLIR_CAPI_EXPORTED MlirContext mlirOperationGetContext | ( | MlirOperation | op | ) |
Gets the context this operation is associated with.
Definition at line 515 of file IR.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyOperation::createFromCapsule(), and mlir::python::PyValue::createFromCapsule().
MLIR_CAPI_EXPORTED MlirNamedAttribute mlirOperationGetDiscardableAttribute | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
Return pos
-th discardable attribute of the operation.
Definition at line 630 of file IR.cpp.
References mlir::NamedAttribute::getName(), mlir::NamedAttribute::getValue(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute mlirOperationGetDiscardableAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
MLIR_CAPI_EXPORTED MlirRegion mlirOperationGetFirstRegion | ( | MlirOperation | op | ) |
Returns first region attached to the operation.
Definition at line 549 of file IR.cpp.
References mlir::Operation::getNumRegions(), mlir::Operation::getRegion(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirAttribute mlirOperationGetInherentAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
MLIR_CAPI_EXPORTED MlirLocation mlirOperationGetLocation | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED MlirIdentifier mlirOperationGetName | ( | MlirOperation | op | ) |
Gets the name of the operation as an identifier.
Definition at line 529 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::createOpView(), and mlir::python::PyConcreteOpInterface< ConcreteIface >::PyConcreteOpInterface().
MLIR_CAPI_EXPORTED MlirOperation mlirOperationGetNextInBlock | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumAttributes | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumDiscardableAttributes | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumOperands | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumRegions | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumResults | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED intptr_t mlirOperationGetNumSuccessors | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED MlirValue mlirOperationGetOperand | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MLIR_CAPI_EXPORTED MlirOperation mlirOperationGetParentOperation | ( | MlirOperation | op | ) |
Gets the operation that owns this operation, returning null if the operation is not owned.
Definition at line 537 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyOperation::getParentOperation().
MLIR_CAPI_EXPORTED MlirRegion mlirOperationGetRegion | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MLIR_CAPI_EXPORTED MlirValue mlirOperationGetResult | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MLIR_CAPI_EXPORTED MlirBlock mlirOperationGetSuccessor | ( | MlirOperation | op, |
intptr_t | pos | ||
) |
MLIR_CAPI_EXPORTED MlirTypeID mlirOperationGetTypeID | ( | MlirOperation | op | ) |
MLIR_CAPI_EXPORTED bool mlirOperationHasInherentAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
|
inlinestatic |
Checks whether the underlying operation is null.
Definition at line 519 of file IR.h.
Referenced by mlir::python::PyInsertionPoint::atBlockBegin(), mlir::python::PyInsertionPoint::atBlockTerminator(), mlir::python::PyOperation::createFromCapsule(), mlir::python::PyValue::createFromCapsule(), mlir::python::PySymbolTable::dunderGetItem(), nanobind::detail::type_caster< MlirOperation >::from_python(), mlir::python::PyOperation::getParentOperation(), mlir::python::PyInsertionPoint::insert(), pybind11::detail::type_caster< MlirOperation >::load(), mlirBlockInsertOwnedOperationAfter(), mlirBlockInsertOwnedOperationBefore(), and mlir::python::PyOperation::parse().
MLIR_CAPI_EXPORTED 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 721 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::moveAfter().
MLIR_CAPI_EXPORTED 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 725 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperationBase::moveBefore().
MLIR_CAPI_EXPORTED void mlirOperationPrint | ( | MlirOperation | op, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationPrintWithFlags | ( | MlirOperation | op, |
MlirOpPrintingFlags | flags, | ||
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationPrintWithState | ( | MlirOperation | op, |
MlirAsmState | state, | ||
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED bool mlirOperationRemoveAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
MLIR_CAPI_EXPORTED bool mlirOperationRemoveDiscardableAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name | ||
) |
MLIR_CAPI_EXPORTED 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 509 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyOperation::detachFromParent().
MLIR_CAPI_EXPORTED 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.
Deprecated, please use mlirOperationSetInherentAttributeByName
or mlirOperationSetDiscardableAttributeByName
.
Definition at line 672 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PySymbolTable::setSymbolName(), and mlir::python::PySymbolTable::setVisibility().
MLIR_CAPI_EXPORTED void mlirOperationSetDiscardableAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name, | ||
MlirAttribute | attr | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationSetInherentAttributeByName | ( | MlirOperation | op, |
MlirStringRef | name, | ||
MlirAttribute | attr | ||
) |
Sets an inherent attribute by name, replacing the existing if it exists.
This has no effect if "name" does not match an inherent attribute.
Definition at line 618 of file IR.cpp.
References mlir::get(), getContext(), and unwrap().
MLIR_CAPI_EXPORTED void mlirOperationSetOperand | ( | MlirOperation | op, |
intptr_t | pos, | ||
MlirValue | newValue | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationSetOperands | ( | MlirOperation | op, |
intptr_t | nOperands, | ||
MlirValue const * | operands | ||
) |
Replaces the operands of the operation.
Definition at line 582 of file IR.cpp.
References unwrap(), and unwrapList().
MLIR_CAPI_EXPORTED void mlirOperationSetSuccessor | ( | MlirOperation | op, |
intptr_t | pos, | ||
MlirBlock | block | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationStateAddAttributes | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirNamedAttribute const * | attributes | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationStateAddOperands | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirValue const * | operands | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationStateAddOwnedRegions | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirRegion const * | regions | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationStateAddResults | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirType const * | results | ||
) |
MLIR_CAPI_EXPORTED void mlirOperationStateAddSuccessors | ( | MlirOperationState * | state, |
intptr_t | n, | ||
MlirBlock const * | successors | ||
) |
MLIR_CAPI_EXPORTED 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.
MLIR_CAPI_EXPORTED MlirOperationState mlirOperationStateGet | ( | MlirStringRef | name, |
MlirLocation | loc | ||
) |
MLIR_CAPI_EXPORTED bool mlirOperationVerify | ( | MlirOperation | op | ) |
Verify the operation and return true if it passes, false if it fails.
Definition at line 717 of file IR.cpp.
References unwrap(), and mlir::verify().
Referenced by mlir::python::PyOperationBase::verify().
MLIR_CAPI_EXPORTED void mlirOperationWalk | ( | MlirOperation | op, |
MlirOperationWalkCallback | callback, | ||
void * | userData, | ||
MlirWalkOrder | walkOrder | ||
) |
Walks operation op
in walkOrder
and calls callback
on that operation.
*userData
is passed to the callback as well and can be used to tunnel some context or other data into the callback.
Definition at line 743 of file IR.cpp.
References MlirWalkPostOrder, MlirWalkPreOrder, mlir::PostOrder, mlir::PreOrder, unwrap(), and wrap().
Referenced by mlir::python::PyMlirContext::clearOperationAndInside(), mlir::python::PyMlirContext::clearOperationsInside(), and mlir::python::PyOperationBase::walk().
MLIR_CAPI_EXPORTED void mlirOperationWriteBytecode | ( | MlirOperation | op, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Same as mlirOperationPrint but writing the bytecode format.
Definition at line 701 of file IR.cpp.
References unwrap(), and mlir::writeBytecodeToFile().
Referenced by mlir::python::PyOperationBase::writeBytecode().
MLIR_CAPI_EXPORTED MlirLogicalResult mlirOperationWriteBytecodeWithConfig | ( | MlirOperation | op, |
MlirBytecodeWriterConfig | config, | ||
MlirStringCallback | callback, | ||
void * | userData | ||
) |
Same as mlirOperationWriteBytecode but with writer config and returns failure only if desired bytecode could not be honored.
Definition at line 708 of file IR.cpp.
References mlir::config, unwrap(), wrap(), and mlir::writeBytecodeToFile().
Referenced by mlir::python::PyOperationBase::writeBytecode().
MLIR_CAPI_EXPORTED 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 1045 of file IR.cpp.
References mlirOpOperandIsNull(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED unsigned mlirOpOperandGetOperandNumber | ( | MlirOpOperand | opOperand | ) |
MLIR_CAPI_EXPORTED MlirOperation mlirOpOperandGetOwner | ( | MlirOpOperand | opOperand | ) |
MLIR_CAPI_EXPORTED MlirValue mlirOpOperandGetValue | ( | MlirOpOperand | opOperand | ) |
Returns the value of an op operand.
Definition at line 1037 of file IR.cpp.
References mlir::get(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED bool mlirOpOperandIsNull | ( | MlirOpOperand | opOperand | ) |
Returns whether the op operand is null.
Definition at line 1031 of file IR.cpp.
Referenced by mlirOpOperandGetNextUse().
MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsAssumeVerified | ( | MlirOpPrintingFlags | flags | ) |
MLIR_CAPI_EXPORTED MlirOpPrintingFlags mlirOpPrintingFlagsCreate | ( | void | ) |
Creates new printing flags with defaults, intended for customization.
Must be freed with a call to mlirOpPrintingFlagsDestroy().
Definition at line 193 of file IR.cpp.
References wrap().
Referenced by mlir::python::PyAsmState::PyAsmState().
MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsDestroy | ( | MlirOpPrintingFlags | flags | ) |
Destroys printing flags created with mlirOpPrintingFlagsCreate.
Definition at line 197 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyAsmState::~PyAsmState().
MLIR_CAPI_EXPORTED 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 201 of file IR.cpp.
References unwrap().
MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsElideLargeResourceString | ( | MlirOpPrintingFlags | flags, |
intptr_t | largeResourceLimit | ||
) |
MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsEnableDebugInfo | ( | MlirOpPrintingFlags | flags, |
bool | enable, | ||
bool | prettyForm | ||
) |
MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsPrintGenericOpForm | ( | MlirOpPrintingFlags | flags | ) |
MLIR_CAPI_EXPORTED void mlirOpPrintingFlagsSkipRegions | ( | MlirOpPrintingFlags | flags | ) |
MLIR_CAPI_EXPORTED 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 220 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyAsmState::PyAsmState().
MLIR_CAPI_EXPORTED 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 967 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::createFromCapsule().
MLIR_CAPI_EXPORTED intptr_t mlirOpResultGetResultNumber | ( | MlirValue | value | ) |
MLIR_CAPI_EXPORTED void mlirRegionAppendOwnedBlock | ( | MlirRegion | region, |
MlirBlock | block | ||
) |
Takes a block owned by the caller and appends it to the given region.
Definition at line 778 of file IR.cpp.
References unwrap().
Referenced by mlirRegionInsertOwnedBlockBefore().
MLIR_CAPI_EXPORTED MlirRegion mlirRegionCreate | ( | void | ) |
MLIR_CAPI_EXPORTED void mlirRegionDestroy | ( | MlirRegion | region | ) |
MLIR_CAPI_EXPORTED bool mlirRegionEqual | ( | MlirRegion | region, |
MlirRegion | other | ||
) |
MLIR_CAPI_EXPORTED MlirBlock mlirRegionGetFirstBlock | ( | MlirRegion | region | ) |
Gets the first block in the region.
Definition at line 771 of file IR.cpp.
References mlir::Region::empty(), mlir::Region::front(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED MlirRegion mlirRegionGetNextInOperation | ( | MlirRegion | region | ) |
Returns the region immediately following the given region in its parent operation.
Definition at line 556 of file IR.cpp.
References mlir::Operation::getNumRegions(), mlir::Region::getParentOp(), mlir::Operation::getRegion(), mlir::Region::getRegionNumber(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED void mlirRegionInsertOwnedBlock | ( | MlirRegion | region, |
intptr_t | pos, | ||
MlirBlock | block | ||
) |
MLIR_CAPI_EXPORTED 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 788 of file IR.cpp.
References mlir::Region::begin(), mlir::Region::getBlocks(), mlirBlockIsNull(), and unwrap().
MLIR_CAPI_EXPORTED 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 802 of file IR.cpp.
References mlirBlockIsNull(), mlirRegionAppendOwnedBlock(), and unwrap().
|
inlinestatic |
Checks whether a region is null.
Definition at line 756 of file IR.h.
Referenced by mlir::python::PyRegion::PyRegion().
MLIR_CAPI_EXPORTED void mlirRegionTakeBody | ( | MlirRegion | target, |
MlirRegion | source | ||
) |
MLIR_CAPI_EXPORTED 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 1165 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::PySymbolTable().
MLIR_CAPI_EXPORTED void mlirSymbolTableDestroy | ( | MlirSymbolTable | symbolTable | ) |
Destroys the symbol table created with mlirSymbolTableCreate.
This does not affect the operations in the table.
Definition at line 1171 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PySymbolTable::~PySymbolTable().
MLIR_CAPI_EXPORTED void mlirSymbolTableErase | ( | MlirSymbolTable | symbolTable, |
MlirOperation | operation | ||
) |
Removes the given operation from the symbol table and erases it.
Definition at line 1185 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PySymbolTable::erase().
MLIR_CAPI_EXPORTED MlirStringRef mlirSymbolTableGetSymbolAttributeName | ( | void | ) |
Returns the name of the attribute used to store symbol names compatible with symbol tables.
Definition at line 1157 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().
MLIR_CAPI_EXPORTED MlirStringRef mlirSymbolTableGetVisibilityAttributeName | ( | void | ) |
Returns the name of the attribute used to store symbol visibility.
Definition at line 1161 of file IR.cpp.
References mlir::SymbolTable::getVisibilityAttrName(), and wrap().
Referenced by mlir::python::PySymbolTable::getVisibility(), and mlir::python::PySymbolTable::setVisibility().
MLIR_CAPI_EXPORTED 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 1180 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::insert().
|
inlinestatic |
Returns true if the symbol table is null.
Definition at line 1098 of file IR.h.
Referenced by mlir::python::PySymbolTable::PySymbolTable().
MLIR_CAPI_EXPORTED 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 1175 of file IR.cpp.
References MlirStringRef::data, MlirStringRef::length, unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::dunderGetItem().
MLIR_CAPI_EXPORTED 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 1190 of file IR.cpp.
References mlir::get(), mlir::SymbolTable::replaceAllSymbolUses(), unwrap(), and wrap().
Referenced by mlir::python::PySymbolTable::replaceAllSymbolUses().
MLIR_CAPI_EXPORTED 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 1201 of file IR.cpp.
References unwrap(), mlir::SymbolTable::walkSymbolTables(), and wrap().
Referenced by mlir::python::PySymbolTable::walkSymbolTables().
MLIR_CAPI_EXPORTED void mlirTypeDump | ( | MlirType | type | ) |
MLIR_CAPI_EXPORTED bool mlirTypeEqual | ( | MlirType | t1, |
MlirType | t2 | ||
) |
Checks if two types are equal.
Definition at line 1078 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyType::operator==().
MLIR_CAPI_EXPORTED MlirContext mlirTypeGetContext | ( | MlirType | type | ) |
Gets the context that a type was created with.
Definition at line 1066 of file IR.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::PyType::createFromCapsule().
MLIR_CAPI_EXPORTED MlirDialect mlirTypeGetDialect | ( | MlirType | type | ) |
Gets the dialect a type belongs to.
Definition at line 1074 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::maybeDownCast().
MLIR_CAPI_EXPORTED MlirTypeID mlirTypeGetTypeID | ( | MlirType | type | ) |
Gets the type ID of the type.
Definition at line 1070 of file IR.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::PyValue::maybeDownCast().
|
inlinestatic |
Checks whether a type is null.
Definition at line 1008 of file IR.h.
Referenced by mlir::python::PyType::createFromCapsule(), nanobind::detail::type_caster< MlirType >::from_python(), and pybind11::detail::type_caster< MlirType >::load().
MLIR_CAPI_EXPORTED MlirType mlirTypeParseGet | ( | MlirContext | context, |
MlirStringRef | type | ||
) |
Parses a type. The type is owned by the context.
Definition at line 1062 of file IR.cpp.
References mlir::parseType(), unwrap(), and wrap().
MLIR_CAPI_EXPORTED void mlirTypePrint | ( | MlirType | type, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED void mlirValueDump | ( | MlirValue | value | ) |
MLIR_CAPI_EXPORTED bool mlirValueEqual | ( | MlirValue | value1, |
MlirValue | value2 | ||
) |
MLIR_CAPI_EXPORTED 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 999 of file IR.cpp.
References mlir::ValueUseIterator< OperandType >::getOperand(), unwrap(), mlir::Value::use_begin(), mlir::Value::use_empty(), and wrap().
MLIR_CAPI_EXPORTED MlirType mlirValueGetType | ( | MlirValue | value | ) |
Returns the type of the value.
Definition at line 976 of file IR.cpp.
References mlir::getType(), unwrap(), and wrap().
Referenced by mlir::python::PyValue::maybeDownCast().
MLIR_CAPI_EXPORTED bool mlirValueIsABlockArgument | ( | MlirValue | value | ) |
Returns 1 if the value is a block argument, 0 otherwise.
Definition at line 946 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyValue::createFromCapsule().
MLIR_CAPI_EXPORTED bool mlirValueIsAOpResult | ( | MlirValue | value | ) |
Returns 1 if the value is an operation result, 0 otherwise.
Definition at line 950 of file IR.cpp.
References unwrap().
Referenced by mlir::python::PyValue::createFromCapsule().
|
inlinestatic |
Returns whether the value is null.
Definition at line 898 of file IR.h.
Referenced by mlir::python::PyValue::createFromCapsule(), nanobind::detail::type_caster< MlirValue >::from_python(), and pybind11::detail::type_caster< MlirValue >::load().
MLIR_CAPI_EXPORTED void mlirValuePrint | ( | MlirValue | value, |
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED void mlirValuePrintAsOperand | ( | MlirValue | value, |
MlirAsmState | state, | ||
MlirStringCallback | callback, | ||
void * | userData | ||
) |
MLIR_CAPI_EXPORTED void mlirValueReplaceAllUsesExcept | ( | MlirValue | of, |
MlirValue | with, | ||
intptr_t | numExceptions, | ||
MlirOperation * | exceptions | ||
) |
Replace all uses of 'of' value with 'with' value, updating anything in the IR that uses 'of' to use 'with' instead, except if the user is listed in 'exceptions'.
The 'exceptions' parameter is an array of MlirOperation pointers with a length of 'numExceptions'.
Definition at line 1013 of file IR.cpp.
References mlir::Value::replaceAllUsesExcept(), and unwrap().
MLIR_CAPI_EXPORTED void mlirValueReplaceAllUsesOfWith | ( | MlirValue | of, |
MlirValue | with | ||
) |
MLIR_CAPI_EXPORTED void mlirValueSetType | ( | MlirValue | value, |
MlirType | type | ||
) |