MLIR  20.0.0git
Public Member Functions | Static Public Member Functions | List of all members
mlir::pdl_to_pdl_interp::SuccessNode Struct Reference

A SuccessNode denotes that a given high level pattern has successfully been matched. More...

#include "Conversion/PDLToPDLInterp/PredicateTree.h"

+ Inheritance diagram for mlir::pdl_to_pdl_interp::SuccessNode:

Public Member Functions

 SuccessNode (pdl::PatternOp pattern, Value root, std::unique_ptr< MatcherNode > failureNode)
 
pdl::PatternOp getPattern () const
 Return the high level pattern operation that is matched with this node. More...
 
Value getRoot () const
 Return the chosen root of the pattern. More...
 
- Public Member Functions inherited from mlir::pdl_to_pdl_interp::MatcherNode
virtual ~MatcherNode ()=default
 
PositiongetPosition () const
 Returns the position on which the question predicate should be checked. More...
 
QualifiergetQuestion () const
 Returns the predicate checked on this node. More...
 
std::unique_ptr< MatcherNode > & getFailureNode ()
 Returns the node that should be visited if this, or a subsequent node fails. More...
 
void setFailureNode (std::unique_ptr< MatcherNode > node)
 Sets the node that should be visited if this, or a subsequent node fails. More...
 
TypeID getMatcherTypeID () const
 Returns the unique type ID of this matcher instance. More...
 

Static Public Member Functions

static bool classof (const MatcherNode *node)
 Returns if the given matcher node is an instance of this class, used to support type casting. More...
 
- Static Public Member Functions inherited from mlir::pdl_to_pdl_interp::MatcherNode
static std::unique_ptr< MatcherNodegenerateMatcherTree (ModuleOp module, PredicateBuilder &builder, DenseMap< Value, Position * > &valueToPosition)
 Given a module containing PDL pattern operations, generate a matcher tree using the patterns within the given module and return the root matcher node. More...
 

Additional Inherited Members

- Protected Member Functions inherited from mlir::pdl_to_pdl_interp::MatcherNode
 MatcherNode (TypeID matcherTypeID, Position *position=nullptr, Qualifier *question=nullptr, std::unique_ptr< MatcherNode > failureNode=nullptr)
 

Detailed Description

A SuccessNode denotes that a given high level pattern has successfully been matched.

This does not terminate the matcher, as there may be multiple successful matches.

Definition at line 154 of file PredicateTree.h.

Constructor & Destructor Documentation

◆ SuccessNode()

SuccessNode::SuccessNode ( pdl::PatternOp  pattern,
Value  root,
std::unique_ptr< MatcherNode failureNode 
)
explicit

Definition at line 1060 of file PredicateTree.cpp.

Member Function Documentation

◆ classof()

static bool mlir::pdl_to_pdl_interp::SuccessNode::classof ( const MatcherNode node)
inlinestatic

Returns if the given matcher node is an instance of this class, used to support type casting.

Definition at line 160 of file PredicateTree.h.

References mlir::pdl_to_pdl_interp::MatcherNode::getMatcherTypeID().

◆ getPattern()

pdl::PatternOp mlir::pdl_to_pdl_interp::SuccessNode::getPattern ( ) const
inline

Return the high level pattern operation that is matched with this node.

Definition at line 165 of file PredicateTree.h.

◆ getRoot()

Value mlir::pdl_to_pdl_interp::SuccessNode::getRoot ( ) const
inline

Return the chosen root of the pattern.

Definition at line 168 of file PredicateTree.h.


The documentation for this struct was generated from the following files: