MLIR  19.0.0git
Classes | Namespaces
PatternMatch.h File Reference
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinOps.h"
#include "llvm/ADT/FunctionExtras.h"
#include "llvm/Support/TypeName.h"
#include <optional>
#include "PDLPatternMatch.h.inc"

Go to the source code of this file.

Classes

class  mlir::PatternBenefit
 This class represents the benefit of a pattern match in a unitless scheme that ranges from 0 (very little benefit) to 65K. More...
 
class  mlir::Pattern
 This class contains all of the data related to a pattern, but does not contain any methods or logic for the actual matching. More...
 
struct  mlir::Pattern::MatchAnyOpTypeTag
 This class acts as a special tag that makes the desire to match "any" operation type explicit. More...
 
struct  mlir::Pattern::MatchInterfaceOpTypeTag
 This class acts as a special tag that makes the desire to match any operation that implements a given interface explicit. More...
 
struct  mlir::Pattern::MatchTraitOpTypeTag
 This class acts as a special tag that makes the desire to match any operation that implements a given trait explicit. More...
 
class  mlir::RewritePattern
 RewritePattern is the common base class for all DAG to DAG replacements. More...
 
struct  mlir::detail::OpOrInterfaceRewritePatternBase< SourceOp >
 OpOrInterfaceRewritePatternBase is a wrapper around RewritePattern that allows for matching and rewriting against an instance of a derived operation class or Interface. More...
 
struct  mlir::OpRewritePattern< SourceOp >
 OpRewritePattern is a wrapper around RewritePattern that allows for matching and rewriting against an instance of a derived operation class as opposed to a raw Operation. More...
 
struct  mlir::OpInterfaceRewritePattern< SourceOp >
 OpInterfaceRewritePattern is a wrapper around RewritePattern that allows for matching and rewriting against an instance of an operation interface instead of a raw Operation. More...
 
class  mlir::OpTraitRewritePattern< TraitType >
 OpTraitRewritePattern is a wrapper around RewritePattern that allows for matching and rewriting against instances of an operation that possess a given trait. More...
 
class  mlir::RewriterBase
 This class coordinates the application of a rewrite on a set of IR, providing a way for clients to track mutations and create new operations. More...
 
struct  mlir::RewriterBase::Listener
 
struct  mlir::RewriterBase::ForwardingListener
 A listener that forwards all notifications to another listener. More...
 
class  mlir::IRRewriter
 This class coordinates rewriting a piece of IR outside of a pattern rewrite, providing a way to keep track of the mutations made to the IR. More...
 
class  mlir::PatternRewriter
 A special type of RewriterBase that coordinates the application of a rewrite pattern on the current IR being matched, providing a way to keep track of any mutations made. More...
 
class  mlir::RewritePatternSet
 

Namespaces

 mlir
 Include the generated interface declarations.
 
 mlir::detail
 Detect if any of the given parameter types has a sub-element handler.