MLIR 22.0.0git
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.
Value getRoot () const
 Return the chosen root of the pattern.
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.
QualifiergetQuestion () const
 Returns the predicate checked on this node.
std::unique_ptr< MatcherNode > & getFailureNode ()
 Returns the node that should be visited if this, or a subsequent node fails.
void setFailureNode (std::unique_ptr< MatcherNode > node)
 Sets the node that should be visited if this, or a subsequent node fails.
TypeID getMatcherTypeID () const
 Returns the unique type ID of this matcher instance.

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.
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.

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 157 of file PredicateTree.h.

Constructor & Destructor Documentation

◆ SuccessNode()

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

Member Function Documentation

◆ classof()

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 163 of file PredicateTree.h.

References mlir::TypeID::get(), mlir::pdl_to_pdl_interp::MatcherNode::getMatcherTypeID(), and mlir::pdl_to_pdl_interp::MatcherNode::MatcherNode().

◆ 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 168 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 171 of file PredicateTree.h.


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