|
MLIR 23.0.0git
|
#include "mlir-c/Rewrite.h"#include "mlir-c/Support.h"#include "mlir-c/Transforms.h"#include "mlir/CAPI/IR.h"#include "mlir/CAPI/Rewrite.h"#include "mlir/CAPI/Support.h"#include "mlir/CAPI/Wrap.h"#include "mlir/IR/Attributes.h"#include "mlir/IR/PDLPatternMatch.h.inc"#include "mlir/IR/PatternMatch.h"#include "mlir/Rewrite/FrozenRewritePatternSet.h"#include "mlir/Transforms/DialectConversion.h"#include "mlir/Transforms/GreedyPatternRewriteDriver.h"#include "mlir/Transforms/WalkPatternRewriteDriver.h"Go to the source code of this file.
Classes | |
| class | mlir::ExternalConversionPattern |
| class | mlir::ExternalRewritePattern |
Namespaces | |
| namespace | mlir |
| Include the generated interface declarations. | |
Functions | |
| MlirContext | mlirRewriterBaseGetContext (MlirRewriterBase rewriter) |
| RewriterBase API inherited from OpBuilder. | |
| void | mlirRewriterBaseClearInsertionPoint (MlirRewriterBase rewriter) |
| Insertion points methods. | |
| void | mlirRewriterBaseSetInsertionPointBefore (MlirRewriterBase rewriter, MlirOperation op) |
| Sets the insertion point to the specified operation, which will cause subsequent insertions to go right before it. | |
| 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. | |
| void | mlirRewriterBaseSetInsertionPointAfterValue (MlirRewriterBase rewriter, MlirValue value) |
| Sets the insertion point to the node after the specified value. | |
| void | mlirRewriterBaseSetInsertionPointToStart (MlirRewriterBase rewriter, MlirBlock block) |
| Sets the insertion point to the start of the specified block. | |
| void | mlirRewriterBaseSetInsertionPointToEnd (MlirRewriterBase rewriter, MlirBlock block) |
| Sets the insertion point to the end of the specified block. | |
| MlirBlock | mlirRewriterBaseGetInsertionBlock (MlirRewriterBase rewriter) |
| Return the block the current insertion point belongs to. | |
| MlirBlock | mlirRewriterBaseGetBlock (MlirRewriterBase rewriter) |
| Returns the current block of the rewriter. | |
| MlirOperation | mlirRewriterBaseGetOperationAfterInsertion (MlirRewriterBase rewriter) |
| Returns the operation right after the current insertion point of the rewriter. | |
| MlirBlock | mlirRewriterBaseCreateBlockBefore (MlirRewriterBase rewriter, MlirBlock insertBefore, intptr_t nArgTypes, MlirType const *argTypes, MlirLocation const *locations) |
| Block and operation creation/insertion/cloning. | |
| MlirOperation | mlirRewriterBaseInsert (MlirRewriterBase rewriter, MlirOperation op) |
| Insert the given operation at the current insertion point and return it. | |
| MlirOperation | mlirRewriterBaseClone (MlirRewriterBase rewriter, MlirOperation op) |
| Creates a deep copy of the specified operation. | |
| MlirOperation | mlirRewriterBaseCloneWithoutRegions (MlirRewriterBase rewriter, MlirOperation op) |
| Creates a deep copy of this operation but keep the operation regions empty. | |
| void | mlirRewriterBaseCloneRegionBefore (MlirRewriterBase rewriter, MlirRegion region, MlirBlock before) |
| Clone the blocks that belong to "region" before the given position in another region "parent". | |
| void | mlirRewriterBaseInlineRegionBefore (MlirRewriterBase rewriter, MlirRegion region, MlirBlock before) |
| RewriterBase API. | |
| 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). | |
| void | mlirRewriterBaseReplaceOpWithOperation (MlirRewriterBase rewriter, MlirOperation op, MlirOperation newOp) |
| Replace the results of the given (original) operation with the specified new op (replacement). | |
| void | mlirRewriterBaseEraseOp (MlirRewriterBase rewriter, MlirOperation op) |
| Erases an operation that is known to have no uses. | |
| void | mlirRewriterBaseEraseBlock (MlirRewriterBase rewriter, MlirBlock block) |
| Erases a block along with all operations inside it. | |
| void | mlirRewriterBaseInlineBlockBefore (MlirRewriterBase rewriter, MlirBlock source, MlirOperation op, intptr_t nArgValues, MlirValue const *argValues) |
| Inline the operations of block 'source' before the operation 'op'. | |
| 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'. | |
| 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. | |
| 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. | |
| void | mlirRewriterBaseMoveBlockBefore (MlirRewriterBase rewriter, MlirBlock block, MlirBlock existingBlock) |
| Unlink this block and insert it right before existingBlock. | |
| void | mlirRewriterBaseStartOpModification (MlirRewriterBase rewriter, MlirOperation op) |
| This method is used to notify the rewriter that an in-place operation modification is about to happen. | |
| void | mlirRewriterBaseFinalizeOpModification (MlirRewriterBase rewriter, MlirOperation op) |
| This method is used to signal the end of an in-place modification of the given operation. | |
| void | mlirRewriterBaseCancelOpModification (MlirRewriterBase rewriter, MlirOperation op) |
| This method cancels a pending in-place modification. | |
| void | mlirRewriterBaseReplaceAllUsesWith (MlirRewriterBase rewriter, MlirValue from, MlirValue to) |
| Find uses of from and replace them with to. | |
| void | mlirRewriterBaseReplaceAllValueRangeUsesWith (MlirRewriterBase rewriter, intptr_t nValues, MlirValue const *from, MlirValue const *to) |
| Find uses of from and replace them with to. | |
| void | mlirRewriterBaseReplaceAllOpUsesWithValueRange (MlirRewriterBase rewriter, MlirOperation from, intptr_t nTo, MlirValue const *to) |
| Find uses of from and replace them with to. | |
| void | mlirRewriterBaseReplaceAllOpUsesWithOperation (MlirRewriterBase rewriter, MlirOperation from, MlirOperation to) |
| Find uses of from and replace them with to. | |
| 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. | |
| 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. | |
| MlirRewriterBase | mlirIRRewriterCreate (MlirContext context) |
| IRRewriter API. | |
| MlirRewriterBase | mlirIRRewriterCreateFromOp (MlirOperation op) |
| Create an IRRewriter and transfer ownership to the caller. | |
| void | mlirIRRewriterDestroy (MlirRewriterBase rewriter) |
| Takes an IRRewriter owned by the caller and destroys it. | |
| MlirFrozenRewritePatternSet | mlirFreezeRewritePattern (MlirRewritePatternSet set) |
| RewritePatternSet and FrozenRewritePatternSet API. | |
| void | mlirFrozenRewritePatternSetDestroy (MlirFrozenRewritePatternSet set) |
| Destroy the given MlirFrozenRewritePatternSet. | |
| mlir::GreedyRewriteConfig * | unwrap (MlirGreedyRewriteDriverConfig config) |
| GreedyRewriteDriverConfig API. | |
| MlirGreedyRewriteDriverConfig | wrap (mlir::GreedyRewriteConfig *config) |
| MlirGreedyRewriteDriverConfig | mlirGreedyRewriteDriverConfigCreate () |
| GreedyRewriteDriverConfig API. | |
| void | mlirGreedyRewriteDriverConfigDestroy (MlirGreedyRewriteDriverConfig config) |
| Destroys a greedy rewrite driver configuration. | |
| void | mlirGreedyRewriteDriverConfigSetMaxIterations (MlirGreedyRewriteDriverConfig config, int64_t maxIterations) |
| Sets the maximum number of iterations for the greedy rewrite driver. | |
| void | mlirGreedyRewriteDriverConfigSetMaxNumRewrites (MlirGreedyRewriteDriverConfig config, int64_t maxNumRewrites) |
| Sets the maximum number of rewrites within an iteration. | |
| void | mlirGreedyRewriteDriverConfigSetUseTopDownTraversal (MlirGreedyRewriteDriverConfig config, bool useTopDownTraversal) |
| Sets whether to use top-down traversal for the initial population of the worklist. | |
| void | mlirGreedyRewriteDriverConfigEnableFolding (MlirGreedyRewriteDriverConfig config, bool enable) |
| Enables or disables folding during greedy rewriting. | |
| void | mlirGreedyRewriteDriverConfigSetStrictness (MlirGreedyRewriteDriverConfig config, MlirGreedyRewriteStrictness strictness) |
| Sets the strictness level for the greedy rewrite driver. | |
| void | mlirGreedyRewriteDriverConfigSetRegionSimplificationLevel (MlirGreedyRewriteDriverConfig config, MlirGreedySimplifyRegionLevel level) |
| Sets the region simplification level. | |
| void | mlirGreedyRewriteDriverConfigEnableConstantCSE (MlirGreedyRewriteDriverConfig config, bool enable) |
| Enables or disables constant CSE. | |
| int64_t | mlirGreedyRewriteDriverConfigGetMaxIterations (MlirGreedyRewriteDriverConfig config) |
| Gets the maximum number of iterations for the greedy rewrite driver. | |
| int64_t | mlirGreedyRewriteDriverConfigGetMaxNumRewrites (MlirGreedyRewriteDriverConfig config) |
| Gets the maximum number of rewrites within an iteration. | |
| bool | mlirGreedyRewriteDriverConfigGetUseTopDownTraversal (MlirGreedyRewriteDriverConfig config) |
| Gets whether top-down traversal is used for initial worklist population. | |
| bool | mlirGreedyRewriteDriverConfigIsFoldingEnabled (MlirGreedyRewriteDriverConfig config) |
| Gets whether folding is enabled during greedy rewriting. | |
| MlirGreedyRewriteStrictness | mlirGreedyRewriteDriverConfigGetStrictness (MlirGreedyRewriteDriverConfig config) |
| Gets the strictness level for the greedy rewrite driver. | |
| MlirGreedySimplifyRegionLevel | mlirGreedyRewriteDriverConfigGetRegionSimplificationLevel (MlirGreedyRewriteDriverConfig config) |
| Gets the region simplification level. | |
| bool | mlirGreedyRewriteDriverConfigIsConstantCSEEnabled (MlirGreedyRewriteDriverConfig config) |
| Gets whether constant CSE is enabled. | |
| MlirLogicalResult | mlirApplyPatternsAndFoldGreedily (MlirModule op, MlirFrozenRewritePatternSet patterns, MlirGreedyRewriteDriverConfig config) |
| MlirLogicalResult | mlirApplyPatternsAndFoldGreedilyWithOp (MlirOperation op, MlirFrozenRewritePatternSet patterns, MlirGreedyRewriteDriverConfig config) |
| void | mlirWalkAndApplyPatterns (MlirOperation op, MlirFrozenRewritePatternSet patterns) |
| Applies the given patterns to the given op by a fast walk-based pattern rewrite driver. | |
| MlirLogicalResult | mlirApplyPartialConversion (MlirOperation op, MlirConversionTarget target, MlirFrozenRewritePatternSet patterns, MlirConversionConfig config) |
| Apply a partial conversion on the given operation. | |
| MlirLogicalResult | mlirApplyFullConversion (MlirOperation op, MlirConversionTarget target, MlirFrozenRewritePatternSet patterns, MlirConversionConfig config) |
| Apply a full conversion on the given operation. | |
| MlirConversionConfig | mlirConversionConfigCreate (void) |
| ConversionConfig API. | |
| void | mlirConversionConfigDestroy (MlirConversionConfig config) |
| Destroy the given ConversionConfig. | |
| void | mlirConversionConfigSetFoldingMode (MlirConversionConfig config, MlirDialectConversionFoldingMode mode) |
| Set the folding mode for the given ConversionConfig. | |
| MlirDialectConversionFoldingMode | mlirConversionConfigGetFoldingMode (MlirConversionConfig config) |
| Get the folding mode for the given ConversionConfig. | |
| void | mlirConversionConfigEnableBuildMaterializations (MlirConversionConfig config, bool enable) |
| Enable or disable building materializations during conversion. | |
| bool | mlirConversionConfigIsBuildMaterializationsEnabled (MlirConversionConfig config) |
| Check if building materializations during conversion is enabled. | |
| MlirRewriterBase | mlirPatternRewriterAsBase (MlirPatternRewriter rewriter) |
| PatternRewriter API. | |
| MlirPatternRewriter | mlirConversionPatternRewriterAsPatternRewriter (MlirConversionPatternRewriter rewriter) |
| ConversionPatternRewriter API. | |
| MlirConversionTarget | mlirConversionTargetCreate (MlirContext context) |
| ConversionTarget API. | |
| void | mlirConversionTargetDestroy (MlirConversionTarget target) |
| Destroy the given ConversionTarget. | |
| void | mlirConversionTargetAddLegalOp (MlirConversionTarget target, MlirStringRef opName) |
| Register the given operations as legal. | |
| void | mlirConversionTargetAddIllegalOp (MlirConversionTarget target, MlirStringRef opName) |
| Register the given operations as illegal. | |
| void | mlirConversionTargetAddLegalDialect (MlirConversionTarget target, MlirStringRef dialectName) |
| Register the operations of the given dialect as legal. | |
| void | mlirConversionTargetAddIllegalDialect (MlirConversionTarget target, MlirStringRef dialectName) |
| Register the operations of the given dialect as illegal. | |
| MlirTypeConverter | mlirTypeConverterCreate () |
| TypeConverter API. | |
| void | mlirTypeConverterDestroy (MlirTypeConverter typeConverter) |
| Destroy the given TypeConverter. | |
| void | mlirTypeConverterAddConversion (MlirTypeConverter typeConverter, MlirTypeConverterConversionCallback convertType, void *userData) |
| Add a type conversion function to the given TypeConverter. | |
| 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. | |
| MlirTypeConverter | mlirConversionPatternGetTypeConverter (MlirConversionPattern pattern) |
| Get the type converter used by this conversion pattern. | |
| MlirRewritePattern | mlirConversionPatternAsRewritePattern (MlirConversionPattern pattern) |
| Cast the ConversionPattern to a RewritePattern. | |
| 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. | |
| MlirRewritePatternSet | mlirRewritePatternSetCreate (MlirContext context) |
| RewritePatternSet API. | |
| void | mlirRewritePatternSetDestroy (MlirRewritePatternSet set) |
| Destruct the given MlirRewritePatternSet. | |
| void | mlirRewritePatternSetAdd (MlirRewritePatternSet set, MlirRewritePattern pattern) |
| Add the given MlirRewritePattern into a MlirRewritePatternSet. | |
| MlirLogicalResult mlirApplyFullConversion | ( | MlirOperation | op, |
| MlirConversionTarget | target, | ||
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirConversionConfig | config ) |
Apply a full conversion on the given operation.
Definition at line 454 of file Rewrite.cpp.
References mlir::config, mlir::patterns, target, unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule().
| MlirLogicalResult mlirApplyPartialConversion | ( | MlirOperation | op, |
| MlirConversionTarget | target, | ||
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirConversionConfig | config ) |
Apply a partial conversion on the given operation.
Definition at line 447 of file Rewrite.cpp.
References mlir::config, mlir::patterns, target, unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule().
| MlirLogicalResult mlirApplyPatternsAndFoldGreedily | ( | MlirModule | op, |
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirGreedyRewriteDriverConfig | config ) |
Definition at line 426 of file Rewrite.cpp.
References mlir::applyPatternsGreedily(), mlir::config, mlir::patterns, unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule().
| MlirLogicalResult mlirApplyPatternsAndFoldGreedilyWithOp | ( | MlirOperation | op, |
| MlirFrozenRewritePatternSet | patterns, | ||
| MlirGreedyRewriteDriverConfig | config ) |
Definition at line 434 of file Rewrite.cpp.
References mlir::applyPatternsGreedily(), mlir::config, mlir::patterns, unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule().
| MlirConversionConfig mlirConversionConfigCreate | ( | void | ) |
ConversionConfig API.
Create a default ConversionConfig.
Definition at line 466 of file Rewrite.cpp.
References wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionConfig::PyConversionConfig().
| void mlirConversionConfigDestroy | ( | MlirConversionConfig | config | ) |
Destroy the given ConversionConfig.
Definition at line 470 of file Rewrite.cpp.
References mlir::config, and unwrap().
Enable or disable building materializations during conversion.
Definition at line 503 of file Rewrite.cpp.
References mlir::config, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionConfig::enableBuildMaterializations().
| MlirDialectConversionFoldingMode mlirConversionConfigGetFoldingMode | ( | MlirConversionConfig | config | ) |
Get the folding mode for the given ConversionConfig.
Definition at line 492 of file Rewrite.cpp.
References mlir::config, 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::getFoldingMode().
| bool mlirConversionConfigIsBuildMaterializationsEnabled | ( | MlirConversionConfig | config | ) |
Check if building materializations during conversion is enabled.
Definition at line 508 of file Rewrite.cpp.
References mlir::config, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionConfig::isBuildMaterializationsEnabled().
| void mlirConversionConfigSetFoldingMode | ( | MlirConversionConfig | config, |
| MlirDialectConversionFoldingMode | mode ) |
Set the folding mode for the given ConversionConfig.
Definition at line 474 of file Rewrite.cpp.
References mlir::config, 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::setFoldingMode().
| MlirRewritePattern mlirConversionPatternAsRewritePattern | ( | MlirConversionPattern | pattern | ) |
Cast the ConversionPattern to a RewritePattern.
Definition at line 656 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::addConversion().
| MlirTypeConverter mlirConversionPatternGetTypeConverter | ( | MlirConversionPattern | pattern | ) |
Get the type converter used by this conversion pattern.
Definition at line 651 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionPattern::getTypeConverter().
| MlirPatternRewriter mlirConversionPatternRewriterAsPatternRewriter | ( | MlirConversionPatternRewriter | rewriter | ) |
ConversionPatternRewriter API.
Cast the ConversionPatternRewriter to a PatternRewriter
Definition at line 525 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionPatternRewriter::PyConversionPatternRewriter().
| void mlirConversionTargetAddIllegalDialect | ( | MlirConversionTarget | target, |
| MlirStringRef | dialectName ) |
Register the operations of the given dialect as illegal.
Definition at line 559 of file Rewrite.cpp.
References target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addIllegalDialect().
| void mlirConversionTargetAddIllegalOp | ( | MlirConversionTarget | target, |
| MlirStringRef | opName ) |
Register the given operations as illegal.
Definition at line 548 of file Rewrite.cpp.
References getContext(), target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addIllegalOp().
| void mlirConversionTargetAddLegalDialect | ( | MlirConversionTarget | target, |
| MlirStringRef | dialectName ) |
Register the operations of the given dialect as legal.
Definition at line 554 of file Rewrite.cpp.
References target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addLegalDialect().
| void mlirConversionTargetAddLegalOp | ( | MlirConversionTarget | target, |
| MlirStringRef | opName ) |
Register the given operations as legal.
Definition at line 542 of file Rewrite.cpp.
References getContext(), target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::addLegalOp().
| MlirConversionTarget mlirConversionTargetCreate | ( | MlirContext | context | ) |
ConversionTarget API.
Create an empty ConversionTarget.
Definition at line 534 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::PyConversionTarget().
| void mlirConversionTargetDestroy | ( | MlirConversionTarget | target | ) |
Destroy the given ConversionTarget.
Definition at line 538 of file Rewrite.cpp.
References target, and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyConversionTarget::~PyConversionTarget().
| MlirFrozenRewritePatternSet mlirFreezeRewritePattern | ( | MlirRewritePatternSet | set | ) |
RewritePatternSet and FrozenRewritePatternSet API.
FrozenRewritePatternSet API.
Definition at line 277 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::freeze(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule().
| void mlirFrozenRewritePatternSetDestroy | ( | MlirFrozenRewritePatternSet | set | ) |
Destroy the given MlirFrozenRewritePatternSet.
Definition at line 283 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyFrozenRewritePatternSet::~PyFrozenRewritePatternSet().
| MlirGreedyRewriteDriverConfig mlirGreedyRewriteDriverConfigCreate | ( | void | ) |
GreedyRewriteDriverConfig API.
Creates a greedy rewrite driver configuration with default settings.
Definition at line 301 of file Rewrite.cpp.
References wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule(), and mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::PyGreedyRewriteConfig().
| void mlirGreedyRewriteDriverConfigDestroy | ( | MlirGreedyRewriteDriverConfig | config | ) |
Destroys a greedy rewrite driver configuration.
Definition at line 305 of file Rewrite.cpp.
References mlir::config, and unwrap().
| void mlirGreedyRewriteDriverConfigEnableConstantCSE | ( | MlirGreedyRewriteDriverConfig | config, |
| bool | enable ) |
Enables or disables constant CSE.
Definition at line 365 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::enableConstantCSE(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::enableConstantCSE().
| void mlirGreedyRewriteDriverConfigEnableFolding | ( | MlirGreedyRewriteDriverConfig | config, |
| bool | enable ) |
Enables or disables folding during greedy rewriting.
Definition at line 325 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::enableFolding(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::enableFolding().
| int64_t mlirGreedyRewriteDriverConfigGetMaxIterations | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the maximum number of iterations for the greedy rewrite driver.
Definition at line 370 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::getMaxIterations(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getMaxIterations().
| int64_t mlirGreedyRewriteDriverConfigGetMaxNumRewrites | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the maximum number of rewrites within an iteration.
Definition at line 375 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::getMaxNumRewrites(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getMaxNumRewrites().
| MlirGreedySimplifyRegionLevel mlirGreedyRewriteDriverConfigGetRegionSimplificationLevel | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the region simplification level.
Definition at line 405 of file Rewrite.cpp.
References mlir::Aggressive, mlir::config, 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().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getRegionSimplificationLevel().
| MlirGreedyRewriteStrictness mlirGreedyRewriteDriverConfigGetStrictness | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets the strictness level for the greedy rewrite driver.
Definition at line 390 of file Rewrite.cpp.
References mlir::AnyOp, mlir::config, 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().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getStrictness().
| bool mlirGreedyRewriteDriverConfigGetUseTopDownTraversal | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets whether top-down traversal is used for initial worklist population.
Definition at line 380 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::getUseTopDownTraversal(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::getUseTopDownTraversal().
| bool mlirGreedyRewriteDriverConfigIsConstantCSEEnabled | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets whether constant CSE is enabled.
Definition at line 420 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::isConstantCSEEnabled(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::isConstantCSEEnabled().
| bool mlirGreedyRewriteDriverConfigIsFoldingEnabled | ( | MlirGreedyRewriteDriverConfig | config | ) |
Gets whether folding is enabled during greedy rewriting.
Definition at line 385 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::isFoldingEnabled(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::isFoldingEnabled().
| 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 310 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::setMaxIterations(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::setMaxIterations().
| void mlirGreedyRewriteDriverConfigSetMaxNumRewrites | ( | MlirGreedyRewriteDriverConfig | config, |
| int64_t | maxNumRewrites ) |
Sets the maximum number of rewrites within an iteration.
Use -1 for no limit.
Definition at line 315 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::setMaxNumRewrites(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::setMaxNumRewrites().
| void mlirGreedyRewriteDriverConfigSetRegionSimplificationLevel | ( | MlirGreedyRewriteDriverConfig | config, |
| MlirGreedySimplifyRegionLevel | level ) |
Sets the region simplification level.
Definition at line 348 of file Rewrite.cpp.
References mlir::Aggressive, mlir::config, 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().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::setRegionSimplificationLevel().
| void mlirGreedyRewriteDriverConfigSetStrictness | ( | MlirGreedyRewriteDriverConfig | config, |
| MlirGreedyRewriteStrictness | strictness ) |
Sets the strictness level for the greedy rewrite driver.
Definition at line 330 of file Rewrite.cpp.
References mlir::AnyOp, mlir::config, 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::setStrictness().
| void mlirGreedyRewriteDriverConfigSetUseTopDownTraversal | ( | MlirGreedyRewriteDriverConfig | config, |
| bool | useTopDownTraversal ) |
Sets whether to use top-down traversal for the initial population of the worklist.
Definition at line 320 of file Rewrite.cpp.
References mlir::config, mlir::GreedyRewriteConfig::setUseTopDownTraversal(), and unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyGreedyRewriteConfig::setUseTopDownTraversal().
| MlirRewriterBase mlirIRRewriterCreate | ( | MlirContext | context | ) |
IRRewriter API.
Create an IRRewriter and transfer ownership to the caller.
Definition at line 260 of file Rewrite.cpp.
| MlirRewriterBase mlirIRRewriterCreateFromOp | ( | MlirOperation | op | ) |
Create an IRRewriter and transfer ownership to the caller.
Additionally set the insertion point before the operation.
Definition at line 264 of file Rewrite.cpp.
| 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 268 of file Rewrite.cpp.
References unwrap().
| 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 637 of file Rewrite.cpp.
References unwrap(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::addConversion().
| 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 697 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::add().
| MlirRewriterBase mlirPatternRewriterAsBase | ( | MlirPatternRewriter | rewriter | ) |
PatternRewriter API.
Cast the PatternRewriter to a RewriterBase
Definition at line 517 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyPatternRewriter::PyPatternRewriter().
| 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 723 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().
| MlirRewritePatternSet mlirRewritePatternSetCreate | ( | MlirContext | context | ) |
RewritePatternSet API.
Create an empty MlirRewritePatternSet.
Definition at line 715 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::PyRewritePatternSet().
| void mlirRewritePatternSetDestroy | ( | MlirRewritePatternSet | set | ) |
Destruct the given MlirRewritePatternSet.
Definition at line 719 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewritePatternSet::~PyRewritePatternSet().
| 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 202 of file Rewrite.cpp.
References unwrap().
| 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 39 of file Rewrite.cpp.
References unwrap().
| MlirOperation mlirRewriterBaseClone | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Creates a deep copy of the specified operation.
Definition at line 111 of file Rewrite.cpp.
References mlir::clone(), unwrap(), and wrap().
| 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 121 of file Rewrite.cpp.
References unwrap().
| MlirOperation mlirRewriterBaseCloneWithoutRegions | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Creates a deep copy of this operation but keep the operation regions empty.
Definition at line 116 of file Rewrite.cpp.
References mlir::cloneWithoutRegions(), unwrap(), and wrap().
| 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 91 of file Rewrite.cpp.
References unwrap(), unwrapList(), and wrap().
| void mlirRewriterBaseEraseBlock | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block ) |
Erases a block along with all operations inside it.
Definition at line 154 of file Rewrite.cpp.
References unwrap().
| void mlirRewriterBaseEraseOp | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Erases an operation that is known to have no uses.
Definition at line 150 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::bind().
| 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 197 of file Rewrite.cpp.
References unwrap().
| MlirBlock mlirRewriterBaseGetBlock | ( | MlirRewriterBase | rewriter | ) |
Returns the current block of the rewriter.
Definition at line 72 of file Rewrite.cpp.
| MlirContext mlirRewriterBaseGetContext | ( | MlirRewriterBase | rewriter | ) |
RewriterBase API inherited from OpBuilder.
Get the MLIR context referenced by the rewriter.
Definition at line 31 of file Rewrite.cpp.
References getContext(), unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::PyRewriterBase().
| 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 68 of file Rewrite.cpp.
References unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::getInsertionPoint().
| 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 77 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().
| 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 158 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| 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 131 of file Rewrite.cpp.
References unwrap().
| MlirOperation mlirRewriterBaseInsert | ( | MlirRewriterBase | rewriter, |
| MlirOperation | op ) |
Insert the given operation at the current insertion point and return it.
Definition at line 104 of file Rewrite.cpp.
| 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 169 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| void mlirRewriterBaseMoveBlockBefore | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block, | ||
| MlirBlock | existingBlock ) |
Unlink this block and insert it right before existingBlock.
Definition at line 187 of file Rewrite.cpp.
References unwrap().
| 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 182 of file Rewrite.cpp.
References unwrap().
| 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 177 of file Rewrite.cpp.
References unwrap().
| 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 232 of file Rewrite.cpp.
References unwrap().
| 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 223 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| 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 249 of file Rewrite.cpp.
References unwrap().
| 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 207 of file Rewrite.cpp.
References unwrap().
| 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 212 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| 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 238 of file Rewrite.cpp.
References unwrap(), and unwrapList().
| 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 144 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::bind().
| 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 136 of file Rewrite.cpp.
References unwrap(), and unwrapList().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyRewriterBase< DerivedTy >::bind().
| 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 48 of file Rewrite.cpp.
References unwrap().
| 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 53 of file Rewrite.cpp.
References unwrap().
| 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 43 of file Rewrite.cpp.
References unwrap().
| void mlirRewriterBaseSetInsertionPointToEnd | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block ) |
Sets the insertion point to the end of the specified block.
Definition at line 63 of file Rewrite.cpp.
References unwrap().
| void mlirRewriterBaseSetInsertionPointToStart | ( | MlirRewriterBase | rewriter, |
| MlirBlock | block ) |
Sets the insertion point to the start of the specified block.
Definition at line 58 of file Rewrite.cpp.
References unwrap().
| 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 192 of file Rewrite.cpp.
References unwrap().
| void mlirTypeConverterAddConversion | ( | MlirTypeConverter | typeConverter, |
| MlirTypeConverterConversionCallback | convertType, | ||
| void * | userData ) |
Add a type conversion function to the given TypeConverter.
Definition at line 576 of file Rewrite.cpp.
References mlirLogicalResultIsFailure(), mlirTypeIsNull(), result, unwrap(), and wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::addConversion().
| MlirTypeConverter mlirTypeConverterCreate | ( | void | ) |
TypeConverter API.
Create a TypeConverter.
Definition at line 568 of file Rewrite.cpp.
References wrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::PyTypeConverter().
| void mlirTypeConverterDestroy | ( | MlirTypeConverter | typeConverter | ) |
Destroy the given TypeConverter.
Definition at line 572 of file Rewrite.cpp.
References unwrap().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::PyTypeConverter::~PyTypeConverter().
| 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 441 of file Rewrite.cpp.
References mlir::patterns, unwrap(), and mlir::walkAndApplyPatterns().
Referenced by mlir::python::MLIR_BINDINGS_PYTHON_DOMAIN::populateRewriteSubmodule().
|
inline |
GreedyRewriteDriverConfig API.
Definition at line 292 of file Rewrite.cpp.
References mlir::config.
Referenced by mlirApplyFullConversion(), mlirApplyPartialConversion(), mlirApplyPatternsAndFoldGreedily(), mlirApplyPatternsAndFoldGreedilyWithOp(), mlirConversionConfigDestroy(), mlirConversionConfigEnableBuildMaterializations(), mlirConversionConfigGetFoldingMode(), mlirConversionConfigIsBuildMaterializationsEnabled(), mlirConversionConfigSetFoldingMode(), mlirConversionPatternAsRewritePattern(), mlirConversionPatternGetTypeConverter(), mlirConversionPatternRewriterAsPatternRewriter(), mlirConversionTargetAddIllegalDialect(), mlirConversionTargetAddIllegalOp(), mlirConversionTargetAddLegalDialect(), mlirConversionTargetAddLegalOp(), mlirConversionTargetCreate(), mlirConversionTargetDestroy(), mlirFreezeRewritePattern(), mlirFrozenRewritePatternSetDestroy(), mlirGreedyRewriteDriverConfigDestroy(), mlirGreedyRewriteDriverConfigEnableConstantCSE(), mlirGreedyRewriteDriverConfigEnableFolding(), mlirGreedyRewriteDriverConfigGetMaxIterations(), mlirGreedyRewriteDriverConfigGetMaxNumRewrites(), mlirGreedyRewriteDriverConfigGetRegionSimplificationLevel(), mlirGreedyRewriteDriverConfigGetStrictness(), mlirGreedyRewriteDriverConfigGetUseTopDownTraversal(), mlirGreedyRewriteDriverConfigIsConstantCSEEnabled(), mlirGreedyRewriteDriverConfigIsFoldingEnabled(), mlirGreedyRewriteDriverConfigSetMaxIterations(), mlirGreedyRewriteDriverConfigSetMaxNumRewrites(), mlirGreedyRewriteDriverConfigSetRegionSimplificationLevel(), mlirGreedyRewriteDriverConfigSetStrictness(), mlirGreedyRewriteDriverConfigSetUseTopDownTraversal(), mlirIRRewriterCreate(), mlirIRRewriterCreateFromOp(), mlirIRRewriterDestroy(), mlirOpConversionPatternCreate(), mlirOpRewritePatternCreate(), mlirPatternRewriterAsBase(), mlirRewritePatternSetAdd(), mlirRewritePatternSetCreate(), mlirRewritePatternSetDestroy(), mlirRewriterBaseCancelOpModification(), mlirRewriterBaseClearInsertionPoint(), mlirRewriterBaseClone(), mlirRewriterBaseCloneRegionBefore(), mlirRewriterBaseCloneWithoutRegions(), mlirRewriterBaseCreateBlockBefore(), mlirRewriterBaseEraseBlock(), mlirRewriterBaseEraseOp(), mlirRewriterBaseFinalizeOpModification(), mlirRewriterBaseGetBlock(), mlirRewriterBaseGetContext(), mlirRewriterBaseGetInsertionBlock(), mlirRewriterBaseGetOperationAfterInsertion(), mlirRewriterBaseInlineBlockBefore(), mlirRewriterBaseInlineRegionBefore(), mlirRewriterBaseInsert(), mlirRewriterBaseMergeBlocks(), mlirRewriterBaseMoveBlockBefore(), mlirRewriterBaseMoveOpAfter(), mlirRewriterBaseMoveOpBefore(), mlirRewriterBaseReplaceAllOpUsesWithOperation(), mlirRewriterBaseReplaceAllOpUsesWithValueRange(), mlirRewriterBaseReplaceAllUsesExcept(), mlirRewriterBaseReplaceAllUsesWith(), mlirRewriterBaseReplaceAllValueRangeUsesWith(), mlirRewriterBaseReplaceOpUsesWithinBlock(), mlirRewriterBaseReplaceOpWithOperation(), mlirRewriterBaseReplaceOpWithValues(), mlirRewriterBaseSetInsertionPointAfter(), mlirRewriterBaseSetInsertionPointAfterValue(), mlirRewriterBaseSetInsertionPointBefore(), mlirRewriterBaseSetInsertionPointToEnd(), mlirRewriterBaseSetInsertionPointToStart(), mlirRewriterBaseStartOpModification(), mlirTypeConverterAddConversion(), mlirTypeConverterDestroy(), and mlirWalkAndApplyPatterns().
|
inline |
Definition at line 297 of file Rewrite.cpp.
References mlir::config.
Referenced by mlirApplyFullConversion(), mlirApplyPartialConversion(), mlirApplyPatternsAndFoldGreedily(), mlirApplyPatternsAndFoldGreedilyWithOp(), mlirConversionConfigCreate(), mlirConversionPatternAsRewritePattern(), mlirConversionPatternGetTypeConverter(), mlirConversionPatternRewriterAsPatternRewriter(), mlirConversionTargetCreate(), mlirFreezeRewritePattern(), mlirGreedyRewriteDriverConfigCreate(), mlirIRRewriterCreate(), mlirIRRewriterCreateFromOp(), mlirOpConversionPatternCreate(), mlirOpRewritePatternCreate(), mlirPatternRewriterAsBase(), mlirRewritePatternSetCreate(), mlirRewriterBaseClone(), mlirRewriterBaseCloneWithoutRegions(), mlirRewriterBaseCreateBlockBefore(), mlirRewriterBaseGetBlock(), mlirRewriterBaseGetContext(), mlirRewriterBaseGetInsertionBlock(), mlirRewriterBaseGetOperationAfterInsertion(), mlirRewriterBaseInsert(), mlirTypeConverterAddConversion(), and mlirTypeConverterCreate().