|
| template<typename GetEndomorphismOpOperandFnArg, typename GetEndomorphismOpResultFnArg, typename GetAlgebraicOpOperandsFnArg, typename GetAlgebraicOpResultFnArg, typename IsEndomorphismOpFnArg, typename IsAlgebraicOpFnArg, typename... RewritePatternArgs> |
| | EndomorphismSimplification (GetEndomorphismOpOperandFnArg &&getEndomorphismOpOperand, GetEndomorphismOpResultFnArg &&getEndomorphismOpResult, GetAlgebraicOpOperandsFnArg &&getAlgebraicOpOperands, GetAlgebraicOpResultFnArg &&getAlgebraicOpResult, IsEndomorphismOpFnArg &&isEndomorphismOp, IsAlgebraicOpFnArg &&isAlgebraicOp, RewritePatternArgs &&...args) |
| | HomomorphismSimplification (GetHomomorphismOpOperandFnArg &&getHomomorphismOpOperand, GetHomomorphismOpResultFnArg &&getHomomorphismOpResult, GetSourceAlgebraicOpOperandsFnArg &&getSourceAlgebraicOpOperands, GetSourceAlgebraicOpResultFnArg &&getSourceAlgebraicOpResult, GetTargetAlgebraicOpResultFnArg &&getTargetAlgebraicOpResult, IsHomomorphismOpFnArg &&isHomomorphismOp, IsSourceAlgebraicOpFnArg &&isSourceAlgebraicOp, CreateTargetAlgebraicOpFnArg &&createTargetAlgebraicOpFn, RewritePatternArgs &&...args) |
| LogicalResult | matchAndRewrite (Operation *op, PatternRewriter &rewriter) const override |
| | Attempt to match against code rooted at the specified operation, which is the same operation code as getRootKind().
|
| virtual | ~RewritePattern ()=default |
| ArrayRef< OperationName > | getGeneratedOps () const |
| | Return a list of operations that may be generated when rewriting an operation instance with this pattern.
|
| std::optional< OperationName > | getRootKind () const |
| | Return the root node that this pattern matches.
|
| std::optional< TypeID > | getRootInterfaceID () const |
| | Return the interface ID used to match the root operation of this pattern.
|
| std::optional< TypeID > | getRootTraitID () const |
| | Return the trait ID used to match the root operation of this pattern.
|
| PatternBenefit | getBenefit () const |
| | Return the benefit (the inverse of "cost") of matching this pattern.
|
| bool | hasBoundedRewriteRecursion () const |
| | Returns true if this pattern is known to result in recursive application, i.e.
|
| MLIRContext * | getContext () const |
| | Return the MLIRContext used to create this pattern.
|
| StringRef | getDebugName () const |
| | Return a readable name for this pattern.
|
| void | setDebugName (StringRef name) |
| | Set the human readable debug name used for this pattern.
|
| ArrayRef< StringRef > | getDebugLabels () const |
| | Return the set of debug labels attached to this pattern.
|
| void | addDebugLabels (ArrayRef< StringRef > labels) |
| | Add the provided debug labels to this pattern.
|
| void | addDebugLabels (StringRef label) |
|
| template<typename T, typename... Args> |
| static std::unique_ptr< T > | create (Args &&...args) |
| | This method provides a convenient interface for creating and initializing derived rewrite patterns of the given type T.
|
| | Pattern (StringRef rootName, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Inherit the base constructors from Pattern.
|
| | Pattern (MatchAnyOpTypeTag tag, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Inherit the base constructors from Pattern.
|
| | Pattern (MatchInterfaceOpTypeTag tag, TypeID interfaceID, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Inherit the base constructors from Pattern.
|
| | Pattern (MatchTraitOpTypeTag tag, TypeID traitID, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Inherit the base constructors from Pattern.
|
| | Pattern (StringRef rootName, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Construct a pattern with a certain benefit that matches the operation with the given root name.
|
| | Pattern (MatchAnyOpTypeTag tag, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Construct a pattern that may match any operation type.
|
| | Pattern (MatchInterfaceOpTypeTag tag, TypeID interfaceID, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Construct a pattern that may match any operation that implements the interface defined by the provided interfaceID.
|
| | Pattern (MatchTraitOpTypeTag tag, TypeID traitID, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) |
| | Construct a pattern that may match any operation that implements the trait defined by the provided traitID.
|
| void | setHasBoundedRewriteRecursion (bool hasBoundedRecursionArg=true) |
| | Set the flag detailing if this pattern has bounded rewrite recursion or not.
|
template<typename
GetEndomorphismOpOperandFn, typename
GetEndomorphismOpResultFn, typename
GetAlgebraicOpOperandsFn, typename
GetAlgebraicOpResultFn, typename
IsEndomorphismOpFn, typename
IsAlgebraicOpFn>
struct mlir::EndomorphismSimplification< GetEndomorphismOpOperandFn, GetEndomorphismOpResultFn, GetAlgebraicOpOperandsFn, GetAlgebraicOpResultFn, IsEndomorphismOpFn, IsAlgebraicOpFn >
Definition at line 56 of file EndomorphismSimplification.h.