|
MLIR 24.0.0git
|
Go to the source code of this file.
Classes | |
| struct | MlirRewriterBaseInsertPoint |
| A saved insertion point: a (block, operationAfter) pair. More... | |
| struct | MlirTypeConverterConversionResults |
| Opaque accumulator for the result types of a 1:N type conversion. More... | |
| struct | MlirConversionPatternCallbacks |
| ConversionPattern API. More... | |
| struct | MlirRewritePatternCallbacks |
| RewritePattern API. More... | |
Macros | |
| #define | DEFINE_C_API_STRUCT(name, storage) |
| Opaque type declarations (see mlir-c/IR.h for more details). | |
Typedefs | |
| typedef struct MlirRewriterBaseInsertPoint | MlirRewriterBaseInsertPoint |
| A saved insertion point: a (block, operationAfter) pair. | |
| typedef MlirConversionTargetLegality(* | MlirConversionTargetDynamicLegalityCallback) (MlirOperation op, void *userData) |
| Callback for dynamic legality checks. | |
| typedef enum MlirTypeConverterConversionStatus | MlirTypeConverterConversionStatus |
| Outcome of a type conversion callback. | |
| typedef MlirTypeConverterConversionStatus(* | MlirTypeConverterConversionCallback) (MlirType type, MlirType *convertedType, void *userData) |
| Callback type for type conversion functions. | |
| typedef struct MlirTypeConverterConversionResults | MlirTypeConverterConversionResults |
| Opaque accumulator for the result types of a 1:N type conversion. | |
| typedef MlirTypeConverterConversionStatus(* | MlirTypeConverter1ToNConversionCallback) (MlirType type, MlirTypeConverterConversionResults results, void *userData) |
| Callback type for 1:N type conversion functions. | |
| typedef MlirValue(* | MlirTypeConverterSourceMaterializationCallback) (MlirRewriterBase rewriter, MlirType outputType, intptr_t nInputs, MlirValue *inputs, MlirLocation loc, void *userData) |
| Callback type for source materializations. | |
| typedef MlirValue(* | MlirTypeConverterTargetMaterializationCallback) (MlirRewriterBase rewriter, MlirType outputType, intptr_t nInputs, MlirValue *inputs, MlirLocation loc, MlirType originalType, void *userData) |
| Callback type for 1:1 target materializations. | |
| typedef MlirLogicalResult(* | MlirTypeConverter1ToNTargetMaterializationCallback) (MlirRewriterBase rewriter, intptr_t nOutputTypes, MlirType *outputTypes, intptr_t nInputs, MlirValue *inputs, MlirLocation loc, MlirType originalType, MlirValue *outputs, void *userData) |
| Callback type for 1:N target materializations. | |
Functions | |
| DEFINE_C_API_STRUCT (MlirRewriterBase, void) | |
| DEFINE_C_API_STRUCT (MlirFrozenRewritePatternSet, void) | |
| DEFINE_C_API_STRUCT (MlirGreedyRewriteDriverConfig, void) | |
| DEFINE_C_API_STRUCT (MlirRewritePatternSet, void) | |
| DEFINE_C_API_STRUCT (MlirPatternRewriter, void) | |
| DEFINE_C_API_STRUCT (MlirRewritePattern, const void) | |
| DEFINE_C_API_STRUCT (MlirConversionTarget, void) | |
| DEFINE_C_API_STRUCT (MlirConversionPattern, const void) | |
| DEFINE_C_API_STRUCT (MlirTypeConverter, void) | |
| DEFINE_C_API_STRUCT (MlirConversionPatternRewriter, void) | |
| DEFINE_C_API_STRUCT (MlirConversionConfig, void) | |
| MLIR_CAPI_EXPORTED MlirContext | mlirRewriterBaseGetContext (MlirRewriterBase rewriter) |
| RewriterBase API inherited from OpBuilder. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseClearInsertionPoint (MlirRewriterBase rewriter) |
| Insertion points methods. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseSetInsertionPointBefore (MlirRewriterBase rewriter, MlirOperation op) |
| Sets the insertion point to the specified operation, which will cause subsequent insertions to go right before it. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseSetInsertionPointAfter (MlirRewriterBase rewriter, MlirOperation op) |
| Sets the insertion point to the node after the specified operation, which will cause subsequent insertions to go right after it. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseSetInsertionPointAfterValue (MlirRewriterBase rewriter, MlirValue value) |
| Sets the insertion point to the node after the specified value. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseSetInsertionPointToStart (MlirRewriterBase rewriter, MlirBlock block) |
| Sets the insertion point to the start of the specified block. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseSetInsertionPointToEnd (MlirRewriterBase rewriter, MlirBlock block) |
| Sets the insertion point to the end of the specified block. | |
| MLIR_CAPI_EXPORTED MlirBlock | mlirRewriterBaseGetInsertionBlock (MlirRewriterBase rewriter) |
| Return the block the current insertion point belongs to. | |
| MLIR_CAPI_EXPORTED MlirBlock | mlirRewriterBaseGetBlock (MlirRewriterBase rewriter) |
| Returns the current block of the rewriter. | |
| MLIR_CAPI_EXPORTED MlirOperation | mlirRewriterBaseGetOperationAfterInsertion (MlirRewriterBase rewriter) |
| Returns the operation right after the current insertion point of the rewriter. | |
| MLIR_CAPI_EXPORTED MlirRewriterBaseInsertPoint | mlirRewriterBaseSaveInsertionPoint (MlirRewriterBase rewriter) |
| Returns the current insertion point of the rewriter so that it can be restored later with mlirRewriterBaseRestoreInsertionPoint. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseRestoreInsertionPoint (MlirRewriterBase rewriter, MlirRewriterBaseInsertPoint insertPoint) |
| Restores a previously saved insertion point. | |
| MLIR_CAPI_EXPORTED MlirBlock | mlirRewriterBaseCreateBlockBefore (MlirRewriterBase rewriter, MlirBlock insertBefore, intptr_t nArgTypes, MlirType const *argTypes, MlirLocation const *locations) |
| Block and operation creation/insertion/cloning. | |
| MLIR_CAPI_EXPORTED MlirOperation | mlirRewriterBaseInsert (MlirRewriterBase rewriter, MlirOperation op) |
| Insert the given operation at the current insertion point and return it. | |
| MLIR_CAPI_EXPORTED MlirOperation | mlirRewriterBaseClone (MlirRewriterBase rewriter, MlirOperation op) |
| Creates a deep copy of the specified operation. | |
| MLIR_CAPI_EXPORTED MlirOperation | mlirRewriterBaseCloneWithoutRegions (MlirRewriterBase rewriter, MlirOperation op) |
| Creates a deep copy of this operation but keep the operation regions empty. | |
| MLIR_CAPI_EXPORTED MlirOperation | mlirRewriterBaseCloneWithMapping (MlirRewriterBase rewriter, MlirOperation op, MlirIRMapping mapping) |
| Clones the given operation using the rewriter and the provided IRMapping. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseCloneRegionBefore (MlirRewriterBase rewriter, MlirRegion region, MlirBlock before) |
| Clone the blocks that belong to "region" before the given position in another region "parent". | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseInlineRegionBefore (MlirRewriterBase rewriter, MlirRegion region, MlirBlock before) |
| RewriterBase API. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceOpWithValues (MlirRewriterBase rewriter, MlirOperation op, intptr_t nValues, MlirValue const *values) |
| Replace the results of the given (original) operation with the specified list of values (replacements). | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceOpWithOperation (MlirRewriterBase rewriter, MlirOperation op, MlirOperation newOp) |
| Replace the results of the given (original) operation with the specified new op (replacement). | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseEraseOp (MlirRewriterBase rewriter, MlirOperation op) |
| Erases an operation that is known to have no uses. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseEraseBlock (MlirRewriterBase rewriter, MlirBlock block) |
| Erases a block along with all operations inside it. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseInlineBlockBefore (MlirRewriterBase rewriter, MlirBlock source, MlirOperation op, intptr_t nArgValues, MlirValue const *argValues) |
| Inline the operations of block 'source' before the operation 'op'. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseMergeBlocks (MlirRewriterBase rewriter, MlirBlock source, MlirBlock dest, intptr_t nArgValues, MlirValue const *argValues) |
| Inline the operations of block 'source' into the end of block 'dest'. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseMoveOpBefore (MlirRewriterBase rewriter, MlirOperation op, MlirOperation existingOp) |
| Unlink this operation from its current block and insert it right before existingOp which may be in the same or another block in the same function. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseMoveOpAfter (MlirRewriterBase rewriter, MlirOperation op, MlirOperation existingOp) |
| Unlink this operation from its current block and insert it right after existingOp which may be in the same or another block in the same function. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseMoveBlockBefore (MlirRewriterBase rewriter, MlirBlock block, MlirBlock existingBlock) |
| Unlink this block and insert it right before existingBlock. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseStartOpModification (MlirRewriterBase rewriter, MlirOperation op) |
| This method is used to notify the rewriter that an in-place operation modification is about to happen. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseFinalizeOpModification (MlirRewriterBase rewriter, MlirOperation op) |
| This method is used to signal the end of an in-place modification of the given operation. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseCancelOpModification (MlirRewriterBase rewriter, MlirOperation op) |
| This method cancels a pending in-place modification. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceAllUsesWith (MlirRewriterBase rewriter, MlirValue from, MlirValue to) |
| Find uses of from and replace them with to. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceAllValueRangeUsesWith (MlirRewriterBase rewriter, intptr_t nValues, MlirValue const *from, MlirValue const *to) |
| Find uses of from and replace them with to. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceAllOpUsesWithValueRange (MlirRewriterBase rewriter, MlirOperation from, intptr_t nTo, MlirValue const *to) |
| Find uses of from and replace them with to. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceAllOpUsesWithOperation (MlirRewriterBase rewriter, MlirOperation from, MlirOperation to) |
| Find uses of from and replace them with to. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceOpUsesWithinBlock (MlirRewriterBase rewriter, MlirOperation op, intptr_t nNewValues, MlirValue const *newValues, MlirBlock block) |
| Find uses of from within block and replace them with to. | |
| MLIR_CAPI_EXPORTED void | mlirRewriterBaseReplaceAllUsesExcept (MlirRewriterBase rewriter, MlirValue from, MlirValue to, MlirOperation exceptedUser) |
| Find uses of from and replace them with to except if the user is exceptedUser. | |
| MLIR_CAPI_EXPORTED MlirRewriterBase | mlirIRRewriterCreate (MlirContext context) |
| IRRewriter API. | |
| MLIR_CAPI_EXPORTED MlirRewriterBase | mlirIRRewriterCreateFromOp (MlirOperation op) |
| Create an IRRewriter and transfer ownership to the caller. | |
| MLIR_CAPI_EXPORTED void | mlirIRRewriterDestroy (MlirRewriterBase rewriter) |
| Takes an IRRewriter owned by the caller and destroys it. | |
| MLIR_CAPI_EXPORTED MlirFrozenRewritePatternSet | mlirFreezeRewritePattern (MlirRewritePatternSet set) |
| FrozenRewritePatternSet API. | |
| MLIR_CAPI_EXPORTED void | mlirFrozenRewritePatternSetDestroy (MlirFrozenRewritePatternSet set) |
| Destroy the given MlirFrozenRewritePatternSet. | |
| MLIR_CAPI_EXPORTED MlirLogicalResult | mlirApplyPatternsAndFoldGreedilyWithOp (MlirOperation op, MlirFrozenRewritePatternSet patterns, MlirGreedyRewriteDriverConfig) |
| MLIR_CAPI_EXPORTED MlirLogicalResult | mlirApplyPatternsAndFoldGreedily (MlirModule op, MlirFrozenRewritePatternSet patterns, MlirGreedyRewriteDriverConfig config) |
| MLIR_CAPI_EXPORTED MlirGreedyRewriteDriverConfig | mlirGreedyRewriteDriverConfigCreate (void) |
| GreedyRewriteDriverConfig API. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigDestroy (MlirGreedyRewriteDriverConfig config) |
| Destroys a greedy rewrite driver configuration. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigSetMaxIterations (MlirGreedyRewriteDriverConfig config, int64_t maxIterations) |
| Sets the maximum number of iterations for the greedy rewrite driver. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigSetMaxNumRewrites (MlirGreedyRewriteDriverConfig config, int64_t maxNumRewrites) |
| Sets the maximum number of rewrites within an iteration. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigSetUseTopDownTraversal (MlirGreedyRewriteDriverConfig config, bool useTopDownTraversal) |
| Sets whether to use top-down traversal for the initial population of the worklist. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigEnableFolding (MlirGreedyRewriteDriverConfig config, bool enable) |
| Enables or disables folding during greedy rewriting. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigSetStrictness (MlirGreedyRewriteDriverConfig config, MlirGreedyRewriteStrictness strictness) |
| Sets the strictness level for the greedy rewrite driver. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigSetRegionSimplificationLevel (MlirGreedyRewriteDriverConfig config, MlirGreedySimplifyRegionLevel level) |
| Sets the region simplification level. | |
| MLIR_CAPI_EXPORTED void | mlirGreedyRewriteDriverConfigEnableConstantCSE (MlirGreedyRewriteDriverConfig config, bool enable) |
| Enables or disables constant CSE. | |
| MLIR_CAPI_EXPORTED int64_t | mlirGreedyRewriteDriverConfigGetMaxIterations (MlirGreedyRewriteDriverConfig config) |
| Gets the maximum number of iterations for the greedy rewrite driver. | |
| MLIR_CAPI_EXPORTED int64_t | mlirGreedyRewriteDriverConfigGetMaxNumRewrites (MlirGreedyRewriteDriverConfig config) |
| Gets the maximum number of rewrites within an iteration. | |
| MLIR_CAPI_EXPORTED bool | mlirGreedyRewriteDriverConfigGetUseTopDownTraversal (MlirGreedyRewriteDriverConfig config) |
| Gets whether top-down traversal is used for initial worklist population. | |
| MLIR_CAPI_EXPORTED bool | mlirGreedyRewriteDriverConfigIsFoldingEnabled (MlirGreedyRewriteDriverConfig config) |
| Gets whether folding is enabled during greedy rewriting. | |
| MLIR_CAPI_EXPORTED MlirGreedyRewriteStrictness | mlirGreedyRewriteDriverConfigGetStrictness (MlirGreedyRewriteDriverConfig config) |
| Gets the strictness level for the greedy rewrite driver. | |
| MLIR_CAPI_EXPORTED MlirGreedySimplifyRegionLevel | mlirGreedyRewriteDriverConfigGetRegionSimplificationLevel (MlirGreedyRewriteDriverConfig config) |
| Gets the region simplification level. | |
| MLIR_CAPI_EXPORTED bool | mlirGreedyRewriteDriverConfigIsConstantCSEEnabled (MlirGreedyRewriteDriverConfig config) |
| Gets whether constant CSE is enabled. | |
| MLIR_CAPI_EXPORTED void | mlirWalkAndApplyPatterns (MlirOperation op, MlirFrozenRewritePatternSet patterns) |
| Applies the given patterns to the given op by a fast walk-based pattern rewrite driver. | |
| MLIR_CAPI_EXPORTED MlirLogicalResult | mlirApplyPartialConversion (MlirOperation op, MlirConversionTarget target, MlirFrozenRewritePatternSet patterns, MlirConversionConfig config) |
| Apply a partial conversion on the given operation. | |
| MLIR_CAPI_EXPORTED MlirLogicalResult | mlirApplyFullConversion (MlirOperation op, MlirConversionTarget target, MlirFrozenRewritePatternSet patterns, MlirConversionConfig config) |
| Apply a full conversion on the given operation. | |
| MLIR_CAPI_EXPORTED MlirConversionConfig | mlirConversionConfigCreate (void) |
| ConversionConfig API. | |
| MLIR_CAPI_EXPORTED void | mlirConversionConfigDestroy (MlirConversionConfig config) |
| Destroy the given ConversionConfig. | |
| MLIR_CAPI_EXPORTED void | mlirConversionConfigSetFoldingMode (MlirConversionConfig config, MlirDialectConversionFoldingMode mode) |
| Set the folding mode for the given ConversionConfig. | |
| MLIR_CAPI_EXPORTED MlirDialectConversionFoldingMode | mlirConversionConfigGetFoldingMode (MlirConversionConfig config) |
| Get the folding mode for the given ConversionConfig. | |
| MLIR_CAPI_EXPORTED void | mlirConversionConfigEnableBuildMaterializations (MlirConversionConfig config, bool enable) |
| Enable or disable building materializations during conversion. | |
| MLIR_CAPI_EXPORTED bool | mlirConversionConfigIsBuildMaterializationsEnabled (MlirConversionConfig config) |
| Check if building materializations during conversion is enabled. | |
| MLIR_CAPI_EXPORTED MlirRewriterBase | mlirPatternRewriterAsBase (MlirPatternRewriter rewriter) |
| PatternRewriter API. | |
| MLIR_CAPI_EXPORTED MlirPatternRewriter | mlirConversionPatternRewriterAsPatternRewriter (MlirConversionPatternRewriter rewriter) |
| ConversionPatternRewriter API. | |
| MLIR_CAPI_EXPORTED MlirLogicalResult | mlirConversionPatternRewriterConvertRegionTypes (MlirConversionPatternRewriter rewriter, MlirRegion region, MlirTypeConverter typeConverter) |
| Apply a signature conversion to each block in the given region. | |
| MLIR_CAPI_EXPORTED void | mlirConversionPatternRewriterReplaceOpWithMultiple (MlirConversionPatternRewriter rewriter, MlirOperation op, intptr_t nRanges, intptr_t *rangeSizes, MlirValue *values) |
| Replace the given operation with multiple value ranges – one range per result of op – and erase it. | |
| MLIR_CAPI_EXPORTED MlirConversionTarget | mlirConversionTargetCreate (MlirContext context) |
| ConversionTarget API. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetDestroy (MlirConversionTarget target) |
| Destroy the given ConversionTarget. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetAddLegalOp (MlirConversionTarget target, MlirStringRef opName) |
| Register the given operations as legal. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetAddIllegalOp (MlirConversionTarget target, MlirStringRef opName) |
| Register the given operations as illegal. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetAddLegalDialect (MlirConversionTarget target, MlirStringRef dialectName) |
| Register the operations of the given dialect as legal. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetAddIllegalDialect (MlirConversionTarget target, MlirStringRef dialectName) |
| Register the operations of the given dialect as illegal. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetAddDynamicallyLegalOp (MlirConversionTarget target, MlirStringRef opName, MlirConversionTargetDynamicLegalityCallback callback, void *userData) |
| Register the given operation as dynamically legal, with a callback to determine per-instance legality. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetAddDynamicallyLegalDialect (MlirConversionTarget target, MlirStringRef dialectName, MlirConversionTargetDynamicLegalityCallback callback, void *userData) |
| Register the given dialect as dynamically legal, with a callback to determine per-instance legality for all operations in the dialect. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetMarkOpRecursivelyLegal (MlirConversionTarget target, MlirStringRef opName, MlirConversionTargetDynamicLegalityCallback callback, void *userData) |
| Mark the given operation as recursively legal. | |
| MLIR_CAPI_EXPORTED void | mlirConversionTargetMarkUnknownOpDynamicallyLegal (MlirConversionTarget target, MlirConversionTargetDynamicLegalityCallback callback, void *userData) |
| Mark unknown operations as dynamically legal, with a callback. | |
| MLIR_CAPI_EXPORTED MlirTypeConverter | mlirTypeConverterCreate (void) |
| TypeConverter API. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterDestroy (MlirTypeConverter typeConverter) |
| Destroy the given TypeConverter. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterAddConversion (MlirTypeConverter typeConverter, MlirTypeConverterConversionCallback convertType, void *userData) |
| Add a type conversion function to the given TypeConverter. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterConversionResultsAppend (MlirTypeConverterConversionResults results, MlirType type) |
| Append a converted result type to the given 1:N conversion result accumulator. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterAdd1ToNConversion (MlirTypeConverter typeConverter, MlirTypeConverter1ToNConversionCallback convertType, void *userData) |
| Add a 1:N type conversion function to the given TypeConverter. | |
| MLIR_CAPI_EXPORTED MlirType | mlirTypeConverterConvertType (MlirTypeConverter typeConverter, MlirType type) |
| Convert the given type using the given TypeConverter. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterAddSourceMaterialization (MlirTypeConverter typeConverter, MlirTypeConverterSourceMaterializationCallback callback, void *userData) |
| Register a source materialization with the given TypeConverter. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterAddTargetMaterialization (MlirTypeConverter typeConverter, MlirTypeConverterTargetMaterializationCallback callback, void *userData) |
| Register a target materialization with the given TypeConverter. | |
| MLIR_CAPI_EXPORTED void | mlirTypeConverterAdd1ToNTargetMaterialization (MlirTypeConverter typeConverter, MlirTypeConverter1ToNTargetMaterializationCallback callback, void *userData) |
| Register a 1:N target materialization with the given TypeConverter. | |
| MLIR_CAPI_EXPORTED MlirConversionPattern | mlirOpConversionPatternCreate (MlirStringRef rootName, unsigned benefit, MlirContext context, MlirTypeConverter typeConverter, MlirConversionPatternCallbacks callbacks, void *userData, size_t nGeneratedNames, MlirStringRef *generatedNames) |
| Create a conversion pattern that matches the operation with the given rootName, corresponding to mlir::OpConversionPattern. | |
| MLIR_CAPI_EXPORTED MlirTypeConverter | mlirConversionPatternGetTypeConverter (MlirConversionPattern pattern) |
| Get the type converter used by this conversion pattern. | |
| MLIR_CAPI_EXPORTED MlirRewritePattern | mlirConversionPatternAsRewritePattern (MlirConversionPattern pattern) |
| Cast the ConversionPattern to a RewritePattern. | |
| MLIR_CAPI_EXPORTED MlirRewritePattern | mlirOpRewritePatternCreate (MlirStringRef rootName, unsigned benefit, MlirContext context, MlirRewritePatternCallbacks callbacks, void *userData, size_t nGeneratedNames, MlirStringRef *generatedNames) |
| Create a rewrite pattern that matches the operation with the given rootName, corresponding to mlir::OpRewritePattern. | |
| MLIR_CAPI_EXPORTED MlirRewritePatternSet | mlirRewritePatternSetCreate (MlirContext context) |
| RewritePatternSet API. | |
| MLIR_CAPI_EXPORTED MlirContext | mlirRewritePatternSetGetContext (MlirRewritePatternSet set) |
| Get the context associated with a MlirRewritePatternSet. | |
| MLIR_CAPI_EXPORTED void | mlirRewritePatternSetDestroy (MlirRewritePatternSet set) |
| Destruct the given MlirRewritePatternSet. | |
| MLIR_CAPI_EXPORTED void | mlirRewritePatternSetAdd (MlirRewritePatternSet set, MlirRewritePattern pattern) |
| Add the given MlirRewritePattern into a MlirRewritePatternSet. | |
| #define DEFINE_C_API_STRUCT | ( | name, | |
| storage ) |
Opaque type declarations (see mlir-c/IR.h for more details).
| typedef MlirConversionTargetLegality( * MlirConversionTargetDynamicLegalityCallback) (MlirOperation op, void *userData) |
Callback for dynamic legality checks.
Returns the legality of the given operation instance (see MlirConversionTargetLegality).
| typedef struct MlirRewriterBaseInsertPoint MlirRewriterBaseInsertPoint |
A saved insertion point: a (block, operationAfter) pair.
operationAfter is the operation that subsequent insertions go before. If operationAfter is null, the insertion point is at the end of block. If block is null, the insertion point is not set (cleared).
| typedef MlirTypeConverterConversionStatus( * MlirTypeConverter1ToNConversionCallback) (MlirType type, MlirTypeConverterConversionResults results, void *userData) |
Callback type for 1:N type conversion functions.
For the given type, the callback appends zero or more converted result types to results (via mlirTypeConverterConversionResultsAppend) and returns a status. On MlirTypeConverterConversionStatusSuccess the appended types make up the conversion: appending a single type is a 1:1 conversion, appending several is a 1:N conversion, and appending none erases the type. Returning MlirTypeConverterConversionStatusDeclined lets another conversion function be tried; MlirTypeConverterConversionStatusFailure fails the conversion without trying another. Any types appended before a non-success status are discarded.
| typedef MlirLogicalResult(* MlirTypeConverter1ToNTargetMaterializationCallback) (MlirRewriterBase rewriter, intptr_t nOutputTypes, MlirType *outputTypes, intptr_t nInputs, MlirValue *inputs, MlirLocation loc, MlirType originalType, MlirValue *outputs, void *userData) |
Callback type for 1:N target materializations.
Like MlirTypeConverterTargetMaterializationCallback, but produces a value for each of the nOutputTypes requested output types instead of a single value. On success the callback must fill outputs – a caller-allocated array of length nOutputTypes – with that many non-null values; succeeding while leaving any entry null asserts. Returning failure signals that this materialization declined (so another may be attempted); in that case outputs is ignored. originalType carries the original type of the value being materialized and may be a null MlirType.
| typedef MlirTypeConverterConversionStatus( * MlirTypeConverterConversionCallback) (MlirType type, MlirType *convertedType, void *userData) |
Callback type for type conversion functions.
On success the callback sets *convertedType to the converted type and returns MlirTypeConverterConversionStatusSuccess. Returning MlirTypeConverterConversionStatusDeclined leaves the type unconverted and allows another registered conversion function to be tried; returning MlirTypeConverterConversionStatusFailure fails the conversion without trying any further function.
| typedef struct MlirTypeConverterConversionResults MlirTypeConverterConversionResults |
Opaque accumulator for the result types of a 1:N type conversion.
It is passed to a MlirTypeConverter1ToNConversionCallback, which appends converted types to it via mlirTypeConverterConversionResultsAppend.
Outcome of a type conversion callback.
Mirrors the three states of the underlying C++ std::optional<LogicalResult> conversion result.
| typedef MlirValue(* MlirTypeConverterSourceMaterializationCallback) (MlirRewriterBase rewriter, MlirType outputType, intptr_t nInputs, MlirValue *inputs, MlirLocation loc, void *userData) |
Callback type for source materializations.
Given a builder (passed as a rewriter), the desired output type, the input values, and a location, the callback must build a cast-like operation that produces a single value of outputType and return it. Returning a null MlirValue indicates failure, in which case another registered materialization may be attempted.
| typedef MlirValue(* MlirTypeConverterTargetMaterializationCallback) (MlirRewriterBase rewriter, MlirType outputType, intptr_t nInputs, MlirValue *inputs, MlirLocation loc, MlirType originalType, void *userData) |
Callback type for 1:1 target materializations.
Behaves like MlirTypeConverterSourceMaterializationCallback, but additionally receives originalType: the original type of the SSA value being materialized.
Note: This callback is single-output. For the 1:N (multiple-output) form, use MlirTypeConverter1ToNTargetMaterializationCallback.
Result of a dynamic legality callback.
Greedy rewrite strictness levels.
Greedy simplify region levels.
Outcome of a type conversion callback.
Mirrors the three states of the underlying C++ std::optional<LogicalResult> conversion result.
| DEFINE_C_API_STRUCT | ( | MlirConversionConfig | , |
| void | ) |
References MLIR_CAPI_EXPORTED.
| DEFINE_C_API_STRUCT | ( | MlirConversionPattern | , |
| const void | ) |
| DEFINE_C_API_STRUCT | ( | MlirConversionPatternRewriter | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirConversionTarget | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirFrozenRewritePatternSet | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirGreedyRewriteDriverConfig | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirPatternRewriter | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirRewritePattern | , |
| const void | ) |
| DEFINE_C_API_STRUCT | ( | MlirRewritePatternSet | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirRewriterBase | , |
| void | ) |
| DEFINE_C_API_STRUCT | ( | MlirTypeConverter | , |
| void | ) |
| MLIR_CAPI_EXPORTED MlirLogicalResult mlirApplyFullConversion | ( | MlirOperation | op, |
| MlirConversionTarget | target, | ||
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirConversionConfig | config ) |
Apply a full conversion on the given operation.
Definition at line 489 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED MlirLogicalResult mlirApplyPartialConversion | ( | MlirOperation | op, |
| MlirConversionTarget | target, | ||
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirConversionConfig | config ) |
Apply a partial conversion on the given operation.
Definition at line 482 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED MlirLogicalResult mlirApplyPatternsAndFoldGreedily | ( | MlirModule | op, |
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirGreedyRewriteDriverConfig | config ) |
Definition at line 461 of file Rewrite.cpp.
References mlir::applyPatternsGreedily(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED MlirLogicalResult mlirApplyPatternsAndFoldGreedilyWithOp | ( | MlirOperation | op, |
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirGreedyRewriteDriverConfig | config ) |
Definition at line 469 of file Rewrite.cpp.
References mlir::applyPatternsGreedily(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED MlirConversionConfig mlirConversionConfigCreate | ( | void | ) |
ConversionConfig API.
Create a default ConversionConfig.
Definition at line 501 of file Rewrite.cpp.
References wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionConfig::isBuildMaterializationsEnabled().
| MLIR_CAPI_EXPORTED void mlirConversionConfigDestroy | ( | MlirConversionConfig | config | ) |
Destroy the given ConversionConfig.
Definition at line 505 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirConversionConfigEnableBuildMaterializations | ( | MlirConversionConfig | config, |
| bool | enable ) |
Enable or disable building materializations during conversion.
Definition at line 538 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED MlirDialectConversionFoldingMode mlirConversionConfigGetFoldingMode | ( | MlirConversionConfig | config | ) |
Get the folding mode for the given ConversionConfig.
Definition at line 527 of file Rewrite.cpp.
References MLIR_DIALECT_CONVERSION_FOLDING_MODE_AFTER_PATTERNS, MLIR_DIALECT_CONVERSION_FOLDING_MODE_BEFORE_PATTERNS, MLIR_DIALECT_CONVERSION_FOLDING_MODE_NEVER, and unwrap().
| MLIR_CAPI_EXPORTED bool mlirConversionConfigIsBuildMaterializationsEnabled | ( | MlirConversionConfig | config | ) |
Check if building materializations during conversion is enabled.
Definition at line 543 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirConversionConfigSetFoldingMode | ( | MlirConversionConfig | config, |
| MlirDialectConversionFoldingMode | mode ) |
Set the folding mode for the given ConversionConfig.
Definition at line 509 of file Rewrite.cpp.
References MLIR_DIALECT_CONVERSION_FOLDING_MODE_AFTER_PATTERNS, MLIR_DIALECT_CONVERSION_FOLDING_MODE_BEFORE_PATTERNS, MLIR_DIALECT_CONVERSION_FOLDING_MODE_NEVER, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionConfig::isBuildMaterializationsEnabled().
| MLIR_CAPI_EXPORTED MlirRewritePattern mlirConversionPatternAsRewritePattern | ( | MlirConversionPattern | pattern | ) |
Cast the ConversionPattern to a RewritePattern.
Definition at line 948 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::addConversion().
| MLIR_CAPI_EXPORTED MlirTypeConverter mlirConversionPatternGetTypeConverter | ( | MlirConversionPattern | pattern | ) |
Get the type converter used by this conversion pattern.
Definition at line 943 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionPattern::getTypeConverter().
| MLIR_CAPI_EXPORTED MlirPatternRewriter mlirConversionPatternRewriterAsPatternRewriter | ( | MlirConversionPatternRewriter | rewriter | ) |
ConversionPatternRewriter API.
Cast the ConversionPatternRewriter to a PatternRewriter
Definition at line 560 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionPatternRewriter::PyConversionPatternRewriter().
| MLIR_CAPI_EXPORTED MlirLogicalResult mlirConversionPatternRewriterConvertRegionTypes | ( | MlirConversionPatternRewriter | rewriter, |
| MlirRegion | region, | ||
| MlirTypeConverter | typeConverter ) |
Apply a signature conversion to each block in the given region.
Definition at line 565 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirConversionPatternRewriterReplaceOpWithMultiple | ( | MlirConversionPatternRewriter | rewriter, |
| MlirOperation | op, | ||
| intptr_t | nRanges, | ||
| intptr_t * | rangeSizes, | ||
| MlirValue * | values ) |
Replace the given operation with multiple value ranges – one range per result of op – and erase it.
nRanges must equal the number of results of op. rangeSizes[i] is the number of values in the i-th range, and values is the flat concatenation of all ranges (its length is the sum of rangeSizes[0..nRanges)).
Definition at line 572 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirConversionTargetAddDynamicallyLegalDialect | ( | MlirConversionTarget | target, |
| MlirStringRef | dialectName, | ||
| MlirConversionTargetDynamicLegalityCallback | callback, | ||
| void * | userData ) |
Register the given dialect as dynamically legal, with a callback to determine per-instance legality for all operations in the dialect.
The callback must not be NULL.
Definition at line 654 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirConversionTargetAddDynamicallyLegalOp | ( | MlirConversionTarget | target, |
| MlirStringRef | opName, | ||
| MlirConversionTargetDynamicLegalityCallback | callback, | ||
| void * | userData ) |
Register the given operation as dynamically legal, with a callback to determine per-instance legality.
The callback must not be NULL.
Definition at line 644 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirConversionTargetAddIllegalDialect | ( | MlirConversionTarget | target, |
| MlirStringRef | dialectName ) |
Register the operations of the given dialect as illegal.
Definition at line 618 of file Rewrite.cpp.
References target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addIllegalDialect().
| MLIR_CAPI_EXPORTED void mlirConversionTargetAddIllegalOp | ( | MlirConversionTarget | target, |
| MlirStringRef | opName ) |
Register the given operations as illegal.
Definition at line 607 of file Rewrite.cpp.
References getContext(), target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addIllegalOp().
| MLIR_CAPI_EXPORTED void mlirConversionTargetAddLegalDialect | ( | MlirConversionTarget | target, |
| MlirStringRef | dialectName ) |
Register the operations of the given dialect as legal.
Definition at line 613 of file Rewrite.cpp.
References target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addLegalDialect().
| MLIR_CAPI_EXPORTED void mlirConversionTargetAddLegalOp | ( | MlirConversionTarget | target, |
| MlirStringRef | opName ) |
Register the given operations as legal.
Definition at line 601 of file Rewrite.cpp.
References getContext(), target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addLegalOp().
| MLIR_CAPI_EXPORTED MlirConversionTarget mlirConversionTargetCreate | ( | MlirContext | context | ) |
ConversionTarget API.
Create an empty ConversionTarget.
Definition at line 593 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::PyConversionTarget().
| MLIR_CAPI_EXPORTED void mlirConversionTargetDestroy | ( | MlirConversionTarget | target | ) |
Destroy the given ConversionTarget.
Definition at line 597 of file Rewrite.cpp.
References target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::~PyConversionTarget().
| MLIR_CAPI_EXPORTED void mlirConversionTargetMarkOpRecursivelyLegal | ( | MlirConversionTarget | target, |
| MlirStringRef | opName, | ||
| MlirConversionTargetDynamicLegalityCallback | callback, | ||
| void * | userData ) |
Mark the given operation as recursively legal.
The optional callback (may be NULL) determines whether a specific instance is recursively legal; a NULL callback marks the operation as unconditionally recursively legal.
Definition at line 662 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirConversionTargetMarkUnknownOpDynamicallyLegal | ( | MlirConversionTarget | target, |
| MlirConversionTargetDynamicLegalityCallback | callback, | ||
| void * | userData ) |
Mark unknown operations as dynamically legal, with a callback.
The callback must not be NULL.
Definition at line 673 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED MlirFrozenRewritePatternSet mlirFreezeRewritePattern | ( | MlirRewritePatternSet | set | ) |
FrozenRewritePatternSet API.
Freeze the given MlirRewritePatternSet to a MlirFrozenRewritePatternSet. Note that the ownership of the input set is transferred into the frozen set after this call.
FrozenRewritePatternSet API.
Definition at line 312 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirFrozenRewritePatternSetDestroy | ( | MlirFrozenRewritePatternSet | set | ) |
Destroy the given MlirFrozenRewritePatternSet.
Definition at line 318 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyFrozenRewritePatternSet::~PyFrozenRewritePatternSet().
| MLIR_CAPI_EXPORTED MlirGreedyRewriteDriverConfig mlirGreedyRewriteDriverConfigCreate | ( | void | ) |
GreedyRewriteDriverConfig API.
Creates a greedy rewrite driver configuration with default settings.
Definition at line 336 of file Rewrite.cpp.
References wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::setUseTopDownTraversal().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigDestroy | ( | MlirGreedyRewriteDriverConfig | config | ) |
Destroys a greedy rewrite driver configuration.
Definition at line 340 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionConfig::setFoldingMode().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigEnableConstantCSE | ( | MlirGreedyRewriteDriverConfig | config, |
| bool | enable ) |
Enables or disables constant CSE.
Definition at line 400 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::enableConstantCSE(), and unwrap().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigEnableFolding | ( | MlirGreedyRewriteDriverConfig | config, |
| bool | enable ) |
Enables or disables folding during greedy rewriting.
Definition at line 360 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::enableFolding(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getMaxNumRewrites().
| MLIR_CAPI_EXPORTED int64_t mlirGreedyRewriteDriverConfigGetMaxIterations | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the maximum number of iterations for the greedy rewrite driver.
Definition at line 405 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::getMaxIterations(), and unwrap().
| MLIR_CAPI_EXPORTED int64_t mlirGreedyRewriteDriverConfigGetMaxNumRewrites | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the maximum number of rewrites within an iteration.
Definition at line 410 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::getMaxNumRewrites(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::isConstantCSEEnabled().
| MLIR_CAPI_EXPORTED MlirGreedySimplifyRegionLevel mlirGreedyRewriteDriverConfigGetRegionSimplificationLevel | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the region simplification level.
Definition at line 440 of file Rewrite.cpp.
References mlir::Aggressive, mlir::Disabled, mlir::GreedyRewriteConfig::getRegionSimplificationLevel(), MLIR_GREEDY_SIMPLIFY_REGION_LEVEL_AGGRESSIVE, MLIR_GREEDY_SIMPLIFY_REGION_LEVEL_DISABLED, MLIR_GREEDY_SIMPLIFY_REGION_LEVEL_NORMAL, mlir::Normal, and unwrap().
| MLIR_CAPI_EXPORTED MlirGreedyRewriteStrictness mlirGreedyRewriteDriverConfigGetStrictness | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the strictness level for the greedy rewrite driver.
Definition at line 425 of file Rewrite.cpp.
References mlir::AnyOp, mlir::ExistingAndNewOps, mlir::ExistingOps, mlir::GreedyRewriteConfig::getStrictness(), MLIR_GREEDY_REWRITE_STRICTNESS_ANY_OP, MLIR_GREEDY_REWRITE_STRICTNESS_EXISTING_AND_NEW_OPS, MLIR_GREEDY_REWRITE_STRICTNESS_EXISTING_OPS, and unwrap().
| MLIR_CAPI_EXPORTED bool mlirGreedyRewriteDriverConfigGetUseTopDownTraversal | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets whether top-down traversal is used for initial worklist population.
Definition at line 415 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::getUseTopDownTraversal(), and unwrap().
| MLIR_CAPI_EXPORTED bool mlirGreedyRewriteDriverConfigIsConstantCSEEnabled | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets whether constant CSE is enabled.
Definition at line 455 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::isConstantCSEEnabled(), and unwrap().
| MLIR_CAPI_EXPORTED bool mlirGreedyRewriteDriverConfigIsFoldingEnabled | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets whether folding is enabled during greedy rewriting.
Definition at line 420 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::isFoldingEnabled(), and unwrap().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigSetMaxIterations | ( | MlirGreedyRewriteDriverConfig | config, |
| int64_t | maxIterations ) |
Sets the maximum number of iterations for the greedy rewrite driver.
Use -1 for no limit.
Definition at line 345 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::setMaxIterations(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::setRegionSimplificationLevel().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigSetMaxNumRewrites | ( | MlirGreedyRewriteDriverConfig | config, |
| int64_t | maxNumRewrites ) |
Sets the maximum number of rewrites within an iteration.
Use -1 for no limit.
Definition at line 350 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::setMaxNumRewrites(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::enableConstantCSE().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigSetRegionSimplificationLevel | ( | MlirGreedyRewriteDriverConfig | config, |
| MlirGreedySimplifyRegionLevel | level ) |
Sets the region simplification level.
Definition at line 383 of file Rewrite.cpp.
References mlir::Aggressive, mlir::Disabled, MLIR_GREEDY_SIMPLIFY_REGION_LEVEL_AGGRESSIVE, MLIR_GREEDY_SIMPLIFY_REGION_LEVEL_DISABLED, MLIR_GREEDY_SIMPLIFY_REGION_LEVEL_NORMAL, mlir::Normal, mlir::GreedyRewriteConfig::setRegionSimplificationLevel(), and unwrap().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigSetStrictness | ( | MlirGreedyRewriteDriverConfig | config, |
| MlirGreedyRewriteStrictness | strictness ) |
Sets the strictness level for the greedy rewrite driver.
Definition at line 365 of file Rewrite.cpp.
References mlir::AnyOp, mlir::ExistingAndNewOps, mlir::ExistingOps, MLIR_GREEDY_REWRITE_STRICTNESS_ANY_OP, MLIR_GREEDY_REWRITE_STRICTNESS_EXISTING_AND_NEW_OPS, MLIR_GREEDY_REWRITE_STRICTNESS_EXISTING_OPS, mlir::GreedyRewriteConfig::setStrictness(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getUseTopDownTraversal().
| MLIR_CAPI_EXPORTED void mlirGreedyRewriteDriverConfigSetUseTopDownTraversal | ( | MlirGreedyRewriteDriverConfig | config, |
| bool | useTopDownTraversal ) |
Sets whether to use top-down traversal for the initial population of the worklist.
Definition at line 355 of file Rewrite.cpp.
References mlir::GreedyRewriteConfig::setUseTopDownTraversal(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getMaxIterations().
| MLIR_CAPI_EXPORTED MlirRewriterBase mlirIRRewriterCreate | ( | MlirContext | context | ) |
IRRewriter API.
Create an IRRewriter and transfer ownership to the caller.
Definition at line 295 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED MlirRewriterBase mlirIRRewriterCreateFromOp | ( | MlirOperation | op | ) |
Create an IRRewriter and transfer ownership to the caller.
Additionally set the insertion point before the operation.
Definition at line 299 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirIRRewriterDestroy | ( | MlirRewriterBase | rewriter | ) |
Takes an IRRewriter owned by the caller and destroys it.
It is the responsibility of the user to only pass an IRRewriter class.
Definition at line 303 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED MlirConversionPattern mlirOpConversionPatternCreate | ( | MlirStringRef | rootName, |
| unsigned | benefit, | ||
| MlirContext | context, | ||
| MlirTypeConverter | typeConverter, | ||
| MlirConversionPatternCallbacks | callbacks, | ||
| void * | userData, | ||
| size_t | nGeneratedNames, | ||
| MlirStringRef * | generatedNames ) |
Create a conversion pattern that matches the operation with the given rootName, corresponding to mlir::OpConversionPattern.
Definition at line 929 of file Rewrite.cpp.
References unwrap(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::addConversion().
| MLIR_CAPI_EXPORTED MlirRewritePattern mlirOpRewritePatternCreate | ( | MlirStringRef | rootName, |
| unsigned | benefit, | ||
| MlirContext | context, | ||
| MlirRewritePatternCallbacks | callbacks, | ||
| void * | userData, | ||
| size_t | nGeneratedNames, | ||
| MlirStringRef * | generatedNames ) |
Create a rewrite pattern that matches the operation with the given rootName, corresponding to mlir::OpRewritePattern.
Definition at line 989 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::add().
| MLIR_CAPI_EXPORTED MlirRewriterBase mlirPatternRewriterAsBase | ( | MlirPatternRewriter | rewriter | ) |
PatternRewriter API.
Cast the PatternRewriter to a RewriterBase
Definition at line 552 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyPatternRewriter::PyPatternRewriter().
| MLIR_CAPI_EXPORTED void mlirRewritePatternSetAdd | ( | MlirRewritePatternSet | set, |
| MlirRewritePattern | pattern ) |
Add the given MlirRewritePattern into a MlirRewritePatternSet.
Note that the ownership of the pattern is transferred to the set after this call.
Definition at line 1019 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::add(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::addConversion().
| MLIR_CAPI_EXPORTED MlirRewritePatternSet mlirRewritePatternSetCreate | ( | MlirContext | context | ) |
RewritePatternSet API.
Create an empty MlirRewritePatternSet.
Definition at line 1007 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::PyRewritePatternSet().
| MLIR_CAPI_EXPORTED void mlirRewritePatternSetDestroy | ( | MlirRewritePatternSet | set | ) |
Destruct the given MlirRewritePatternSet.
Definition at line 1015 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::~PyRewritePatternSet().
| MLIR_CAPI_EXPORTED MlirContext mlirRewritePatternSetGetContext | ( | MlirRewritePatternSet | set | ) |
Get the context associated with a MlirRewritePatternSet.
Definition at line 1011 of file Rewrite.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::add(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::addConversion().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseCancelOpModification | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
This method cancels a pending in-place modification.
This can only be called on operations that were provided to a call to startOpModification.
Definition at line 237 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseClearInsertionPoint | ( | MlirRewriterBase | rewriter | ) |
Insertion points methods.
Reset the insertion point to no location. Creating an operation without a set insertion point is an error, but this can still be useful when the current insertion point a builder refers to is being removed.
Definition at line 42 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED MlirOperation mlirRewriterBaseClone | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Creates a deep copy of the specified operation.
Definition at line 140 of file Rewrite.cpp.
References mlir::clone(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseCloneRegionBefore | ( | MlirRewriterBase | rewriter, |
| MlirRegion | region, | ||
| MlirBlock | before ) |
Clone the blocks that belong to "region" before the given position in another region "parent".
Definition at line 156 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED MlirOperation mlirRewriterBaseCloneWithMapping | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op, | ||
| MlirIRMapping | mapping ) |
Clones the given operation using the rewriter and the provided IRMapping.
The mapping is updated with the results of the cloned operation.
Definition at line 150 of file Rewrite.cpp.
References mlir::clone(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED MlirOperation mlirRewriterBaseCloneWithoutRegions | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Creates a deep copy of this operation but keep the operation regions empty.
Definition at line 145 of file Rewrite.cpp.
References mlir::cloneWithoutRegions(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED MlirBlock mlirRewriterBaseCreateBlockBefore | ( | MlirRewriterBase | rewriter, |
| MlirBlock | insertBefore, | ||
| intptr_t | nArgTypes, | ||
| MlirType const * | argTypes, | ||
| MlirLocation const * | locations ) |
Block and operation creation/insertion/cloning.
Add new block with 'argTypes' arguments and set the insertion point to the end of it. The block is placed before 'insertBefore'. locs contains the locations of the inserted arguments, and should match the size of argTypes.
Definition at line 120 of file Rewrite.cpp.
References unwrap(), unwrapList(), and wrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseEraseBlock | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block ) |
Erases a block along with all operations inside it.
Definition at line 189 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseEraseOp | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Erases an operation that is known to have no uses.
Definition at line 185 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::bind().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseFinalizeOpModification | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
This method is used to signal the end of an in-place modification of the given operation.
This can only be called on operations that were provided to a call to startOpModification.
Definition at line 232 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED MlirBlock mlirRewriterBaseGetBlock | ( | MlirRewriterBase | rewriter | ) |
Returns the current block of the rewriter.
Definition at line 75 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED MlirContext mlirRewriterBaseGetContext | ( | MlirRewriterBase | rewriter | ) |
RewriterBase API inherited from OpBuilder.
Get the MLIR context referenced by the rewriter.
Definition at line 34 of file Rewrite.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::PyRewriterBase().
| MLIR_CAPI_EXPORTED MlirBlock mlirRewriterBaseGetInsertionBlock | ( | MlirRewriterBase | rewriter | ) |
Return the block the current insertion point belongs to.
Note that the insertion point is not necessarily the end of the block.
Definition at line 71 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::getInsertionPoint().
| MLIR_CAPI_EXPORTED MlirOperation mlirRewriterBaseGetOperationAfterInsertion | ( | MlirRewriterBase | rewriter | ) |
Returns the operation right after the current insertion point of the rewriter.
A null MlirOperation will be returned
Definition at line 80 of file Rewrite.cpp.
References mlir::Block::end(), mlir::OpBuilder::getInsertionBlock(), mlir::OpBuilder::getInsertionPoint(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::getInsertionPoint().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseInlineBlockBefore | ( | MlirRewriterBase | rewriter, |
| MlirBlock | source, | ||
| MlirOperation | op, | ||
| intptr_t | nArgValues, | ||
| MlirValue const * | argValues ) |
Inline the operations of block 'source' before the operation 'op'.
The source block will be deleted and must have no uses. 'argValues' is used to replace the block arguments of 'source'
The source block must have no successors. Otherwise, the resulting IR would have unreachable operations.
Definition at line 193 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseInlineRegionBefore | ( | MlirRewriterBase | rewriter, |
| MlirRegion | region, | ||
| MlirBlock | before ) |
RewriterBase API.
Move the blocks that belong to "region" before the given position in another region "parent". The two regions must be different. The caller is responsible for creating or updating the operation transferring flow of control to the region and passing it the correct block arguments.
Definition at line 166 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED MlirOperation mlirRewriterBaseInsert | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Insert the given operation at the current insertion point and return it.
Definition at line 133 of file Rewrite.cpp.
| MLIR_CAPI_EXPORTED void mlirRewriterBaseMergeBlocks | ( | MlirRewriterBase | rewriter, |
| MlirBlock | source, | ||
| MlirBlock | dest, | ||
| intptr_t | nArgValues, | ||
| MlirValue const * | argValues ) |
Inline the operations of block 'source' into the end of block 'dest'.
The source block will be deleted and must have no uses. 'argValues' is used to replace the block arguments of 'source'
The dest block must have no successors. Otherwise, the resulting IR would have unreachable operation.
Definition at line 204 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseMoveBlockBefore | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block, | ||
| MlirBlock | existingBlock ) |
Unlink this block and insert it right before existingBlock.
Definition at line 222 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseMoveOpAfter | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op, | ||
| MlirOperation | existingOp ) |
Unlink this operation from its current block and insert it right after existingOp which may be in the same or another block in the same function.
Definition at line 217 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseMoveOpBefore | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op, | ||
| MlirOperation | existingOp ) |
Unlink this operation from its current block and insert it right before existingOp which may be in the same or another block in the same function.
Definition at line 212 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceAllOpUsesWithOperation | ( | MlirRewriterBase | rewriter, |
| MlirOperation | from, | ||
| MlirOperation | to ) |
Find uses of from and replace them with to.
Also notify the listener about every in-place op modification (for every use that was replaced) and that the from operation is about to be replaced.
Definition at line 267 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceAllOpUsesWithValueRange | ( | MlirRewriterBase | rewriter, |
| MlirOperation | from, | ||
| intptr_t | nTo, | ||
| MlirValue const * | to ) |
Find uses of from and replace them with to.
Also notify the listener about every in-place op modification (for every use that was replaced) and that the from operation is about to be replaced.
Definition at line 258 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceAllUsesExcept | ( | MlirRewriterBase | rewriter, |
| MlirValue | from, | ||
| MlirValue | to, | ||
| MlirOperation | exceptedUser ) |
Find uses of from and replace them with to except if the user is exceptedUser.
Also notify the listener about every in-place op modification (for every use that was replaced).
Definition at line 284 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceAllUsesWith | ( | MlirRewriterBase | rewriter, |
| MlirValue | from, | ||
| MlirValue | to ) |
Find uses of from and replace them with to.
Also notify the listener about every in-place op modification (for every use that was replaced).
Definition at line 242 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceAllValueRangeUsesWith | ( | MlirRewriterBase | rewriter, |
| intptr_t | nValues, | ||
| MlirValue const * | from, | ||
| MlirValue const * | to ) |
Find uses of from and replace them with to.
Also notify the listener about every in-place op modification (for every use that was replaced).
Definition at line 247 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceOpUsesWithinBlock | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op, | ||
| intptr_t | nNewValues, | ||
| MlirValue const * | newValues, | ||
| MlirBlock | block ) |
Find uses of from within block and replace them with to.
Also notify the listener about every in-place op modification (for every use that was replaced). The optional allUsesReplaced flag is set to "true" if all uses were replaced.
Definition at line 273 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceOpWithOperation | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op, | ||
| MlirOperation | newOp ) |
Replace the results of the given (original) operation with the specified new op (replacement).
The result types of the two ops must match. The original op is erased.
Definition at line 179 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::bind().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseReplaceOpWithValues | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op, | ||
| intptr_t | nValues, | ||
| MlirValue const * | values ) |
Replace the results of the given (original) operation with the specified list of values (replacements).
The result types of the given op and the replacements must match. The original op is erased.
Definition at line 171 of file Rewrite.cpp.
References unwrap(), and unwrapList().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::bind().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseRestoreInsertionPoint | ( | MlirRewriterBase | rewriter, |
| MlirRewriterBaseInsertPoint | insertPoint ) |
Restores a previously saved insertion point.
Definition at line 102 of file Rewrite.cpp.
References MlirRewriterBaseInsertPoint::block, mlirBlockIsNull(), MlirRewriterBaseInsertPoint::operationAfter, and unwrap().
| MLIR_CAPI_EXPORTED MlirRewriterBaseInsertPoint mlirRewriterBaseSaveInsertionPoint | ( | MlirRewriterBase | rewriter | ) |
Returns the current insertion point of the rewriter so that it can be restored later with mlirRewriterBaseRestoreInsertionPoint.
Definition at line 91 of file Rewrite.cpp.
References mlir::Block::end(), mlir::OpBuilder::InsertPoint::getBlock(), mlir::OpBuilder::InsertPoint::getPoint(), mlir::OpBuilder::InsertPoint::isSet(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseSetInsertionPointAfter | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Sets the insertion point to the node after the specified operation, which will cause subsequent insertions to go right after it.
Definition at line 51 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseSetInsertionPointAfterValue | ( | MlirRewriterBase | rewriter, |
| MlirValue | value ) |
Sets the insertion point to the node after the specified value.
If value has a defining operation, sets the insertion point to the node after such defining operation. This will cause subsequent insertions to go right after it. Otherwise, value is a BlockArgument. Sets the insertion point to the start of its block.
Definition at line 56 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseSetInsertionPointBefore | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Sets the insertion point to the specified operation, which will cause subsequent insertions to go right before it.
Definition at line 46 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseSetInsertionPointToEnd | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block ) |
Sets the insertion point to the end of the specified block.
Definition at line 66 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseSetInsertionPointToStart | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block ) |
Sets the insertion point to the start of the specified block.
Definition at line 61 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirRewriterBaseStartOpModification | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
This method is used to notify the rewriter that an in-place operation modification is about to happen.
A call to this function must be followed by a call to either finalizeOpModification or cancelOpModification. This is a minor efficiency win (it avoids creating a new operation and removing the old one) but also often allows simpler code in the client.
Definition at line 227 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirTypeConverterAdd1ToNConversion | ( | MlirTypeConverter | typeConverter, |
| MlirTypeConverter1ToNConversionCallback | convertType, | ||
| void * | userData ) |
Add a 1:N type conversion function to the given TypeConverter.
Definition at line 724 of file Rewrite.cpp.
References MlirTypeConverterConversionStatusDeclined, MlirTypeConverterConversionStatusFailure, MlirTypeConverterConversionStatusSuccess, success(), unwrap(), and wrap().
| MLIR_CAPI_EXPORTED void mlirTypeConverterAdd1ToNTargetMaterialization | ( | MlirTypeConverter | typeConverter, |
| MlirTypeConverter1ToNTargetMaterializationCallback | callback, | ||
| void * | userData ) |
Register a 1:N target materialization with the given TypeConverter.
Definition at line 853 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirTypeConverterAddConversion | ( | MlirTypeConverter | typeConverter, |
| MlirTypeConverterConversionCallback | convertType, | ||
| void * | userData ) |
Add a type conversion function to the given TypeConverter.
Definition at line 693 of file Rewrite.cpp.
References MlirTypeConverterConversionStatusDeclined, MlirTypeConverterConversionStatusFailure, MlirTypeConverterConversionStatusSuccess, success(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::addConversion().
| MLIR_CAPI_EXPORTED void mlirTypeConverterAddSourceMaterialization | ( | MlirTypeConverter | typeConverter, |
| MlirTypeConverterSourceMaterializationCallback | callback, | ||
| void * | userData ) |
Register a source materialization with the given TypeConverter.
This is invoked when a replacement value must be converted back to its original source type because some uses persist beyond the main conversion.
Definition at line 835 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirTypeConverterAddTargetMaterialization | ( | MlirTypeConverter | typeConverter, |
| MlirTypeConverterTargetMaterializationCallback | callback, | ||
| void * | userData ) |
Register a target materialization with the given TypeConverter.
This is invoked when a value must be converted to a target type according to a pattern's type converter.
Definition at line 844 of file Rewrite.cpp.
References unwrap().
| MLIR_CAPI_EXPORTED void mlirTypeConverterConversionResultsAppend | ( | MlirTypeConverterConversionResults | results, |
| MlirType | type ) |
Append a converted result type to the given 1:N conversion result accumulator.
Definition at line 719 of file Rewrite.cpp.
References MlirTypeConverterConversionResults::ptr, push_back(), and unwrap().
| MLIR_CAPI_EXPORTED MlirType mlirTypeConverterConvertType | ( | MlirTypeConverter | typeConverter, |
| MlirType | type ) |
Convert the given type using the given TypeConverter.
This is the 1:1 convenience form: it returns the single converted type, or a null MlirType on failure or if the type converts to anything other than exactly one type (e.g. a 1:N conversion registered via mlirTypeConverterAdd1ToNConversion, or an erasure to zero types).
Definition at line 755 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::convertType().
| MLIR_CAPI_EXPORTED MlirTypeConverter mlirTypeConverterCreate | ( | void | ) |
TypeConverter API.
Create a TypeConverter.
Definition at line 685 of file Rewrite.cpp.
References wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::PyTypeConverter().
| MLIR_CAPI_EXPORTED void mlirTypeConverterDestroy | ( | MlirTypeConverter | typeConverter | ) |
Destroy the given TypeConverter.
Definition at line 689 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::~PyTypeConverter().
| MLIR_CAPI_EXPORTED void mlirWalkAndApplyPatterns | ( | MlirOperation | op, |
| MlirFrozenRewritePatternSet | patterns ) |
Applies the given patterns to the given op by a fast walk-based pattern rewrite driver.
Definition at line 476 of file Rewrite.cpp.
References unwrap(), and mlir::walkAndApplyPatterns().