|  | 
| 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().  More... 
 | 
|  | 
| virtual | ~RewritePattern ()=default | 
|  | 
| ArrayRef< OperationName > | getGeneratedOps () const | 
|  | Return a list of operations that may be generated when rewriting an operation instance with this pattern.  More... 
 | 
|  | 
| std::optional< OperationName > | getRootKind () const | 
|  | Return the root node that this pattern matches.  More... 
 | 
|  | 
| std::optional< TypeID > | getRootInterfaceID () const | 
|  | Return the interface ID used to match the root operation of this pattern.  More... 
 | 
|  | 
| std::optional< TypeID > | getRootTraitID () const | 
|  | Return the trait ID used to match the root operation of this pattern.  More... 
 | 
|  | 
| PatternBenefit | getBenefit () const | 
|  | Return the benefit (the inverse of "cost") of matching this pattern.  More... 
 | 
|  | 
| bool | hasBoundedRewriteRecursion () const | 
|  | Returns true if this pattern is known to result in recursive application, i.e.  More... 
 | 
|  | 
| MLIRContext * | getContext () const | 
|  | Return the MLIRContext used to create this pattern.  More... 
 | 
|  | 
| StringRef | getDebugName () const | 
|  | Return a readable name for this pattern.  More... 
 | 
|  | 
| void | setDebugName (StringRef name) | 
|  | Set the human readable debug name used for this pattern.  More... 
 | 
|  | 
| ArrayRef< StringRef > | getDebugLabels () const | 
|  | Return the set of debug labels attached to this pattern.  More... 
 | 
|  | 
| void | addDebugLabels (ArrayRef< StringRef > labels) | 
|  | Add the provided debug labels to this pattern.  More... 
 | 
|  | 
| 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.  More...
 | 
|  | 
|  | Pattern (StringRef rootName, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) | 
|  | Inherit the base constructors from Pattern.  More...
 | 
|  | 
|  | Pattern (MatchAnyOpTypeTag tag, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) | 
|  | Inherit the base constructors from Pattern.  More...
 | 
|  | 
|  | Pattern (MatchInterfaceOpTypeTag tag, TypeID interfaceID, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) | 
|  | Inherit the base constructors from Pattern.  More...
 | 
|  | 
|  | Pattern (MatchTraitOpTypeTag tag, TypeID traitID, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) | 
|  | Inherit the base constructors from Pattern.  More...
 | 
|  | 
|  | 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.  More... 
 | 
|  | 
|  | Pattern (MatchAnyOpTypeTag tag, PatternBenefit benefit, MLIRContext *context, ArrayRef< StringRef > generatedNames={}) | 
|  | Construct a pattern that may match any operation type.  More... 
 | 
|  | 
|  | 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.  More...
 | 
|  | 
|  | 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.  More...
 | 
|  | 
| void | setHasBoundedRewriteRecursion (bool hasBoundedRecursionArg=true) | 
|  | Set the flag detailing if this pattern has bounded rewrite recursion or not.  More... 
 | 
|  | 
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.
template<typename GetEndomorphismOpOperandFn , typename GetEndomorphismOpResultFn , typename GetAlgebraicOpOperandsFn , typename GetAlgebraicOpResultFn , typename IsEndomorphismOpFn , typename IsAlgebraicOpFn > 
template<typename GetEndomorphismOpOperandFnArg , typename GetEndomorphismOpResultFnArg , typename GetAlgebraicOpOperandsFnArg , typename GetAlgebraicOpResultFnArg , typename IsEndomorphismOpFnArg , typename IsAlgebraicOpFnArg , typename... RewritePatternArgs> 
  
  | 
        
          | mlir::EndomorphismSimplification< GetEndomorphismOpOperandFn, GetEndomorphismOpResultFn, GetAlgebraicOpOperandsFn, GetAlgebraicOpResultFn, IsEndomorphismOpFn, IsAlgebraicOpFn >::EndomorphismSimplification | ( | GetEndomorphismOpOperandFnArg && | getEndomorphismOpOperand, |  
          |  |  | GetEndomorphismOpResultFnArg && | getEndomorphismOpResult, |  
          |  |  | GetAlgebraicOpOperandsFnArg && | getAlgebraicOpOperands, |  
          |  |  | GetAlgebraicOpResultFnArg && | getAlgebraicOpResult, |  
          |  |  | IsEndomorphismOpFnArg && | isEndomorphismOp, |  
          |  |  | IsAlgebraicOpFnArg && | isAlgebraicOp, |  
          |  |  | RewritePatternArgs &&... | args |  
          |  | ) |  |  |  | inline |