|
MLIR 22.0.0git
|
This decl represents a user defined rewrite. More...
#include "mlir/Tools/PDLL/AST/Nodes.h"
Public Member Functions | |
| const Name & | getName () const |
| Return the name of the rewrite. | |
| MutableArrayRef< VariableDecl * > | getInputs () |
| Return the input arguments of this rewrite. | |
| ArrayRef< VariableDecl * > | getInputs () const |
| MutableArrayRef< VariableDecl * > | getResults () |
| Return the explicit results of the rewrite declaration. | |
| ArrayRef< VariableDecl * > | getResults () const |
| std::optional< StringRef > | getCodeBlock () const |
| Return the optional code block of this rewrite, if this is a native rewrite with a provided implementation. | |
| const CompoundStmt * | getBody () const |
| Return the body of this rewrite if this rewrite is a PDLL rewrite, otherwise returns nullptr. | |
| Type | getResultType () const |
| Return the result type of this rewrite. | |
| bool | isExternal () const |
| Returns true if this rewrite is external. | |
| Public Member Functions inherited from mlir::pdll::ast::Decl | |
| const Name * | getName () const |
| Return the name of the decl, or nullptr if it doesn't have one. | |
| void | setDocComment (Context &ctx, StringRef comment) |
| Set the documentation comment for this decl. | |
| std::optional< StringRef > | getDocComment () const |
| Return the documentation comment attached to this decl if it has been set. | |
| Public Member Functions inherited from mlir::pdll::ast::Node | |
| TypeID | getTypeID () const |
| Return the type identifier of this node. | |
| SMRange | getLoc () const |
| Return the location of this node. | |
| void | print (raw_ostream &os) const |
| Print this node to the given stream. | |
| void | walk (function_ref< void(const Node *)> walkFn) const |
| Walk all of the nodes including, and nested under, this node in pre-order. | |
| template<typename WalkFnT, typename ArgT = typename llvm::function_traits< WalkFnT>::template arg_t<0>> | |
| std::enable_if_t<!std::is_convertible< const Node *, ArgT >::value > | walk (WalkFnT &&walkFn) const |
Static Public Member Functions | |
| static UserRewriteDecl * | createNative (Context &ctx, const Name &name, ArrayRef< VariableDecl * > inputs, ArrayRef< VariableDecl * > results, std::optional< StringRef > codeBlock, Type resultType) |
| Create a native rewrite with the given optional code block. | |
| static UserRewriteDecl * | createPDLL (Context &ctx, const Name &name, ArrayRef< VariableDecl * > inputs, ArrayRef< VariableDecl * > results, const CompoundStmt *body, Type resultType) |
| Create a PDLL rewrite with the given body. | |
| Static Public Member Functions inherited from mlir::pdll::ast::Node::NodeBase< UserRewriteDecl, Decl > | |
| static bool | classof (const Node *node) |
| Provide type casting support. | |
| Static Public Member Functions inherited from mlir::pdll::ast::Decl | |
| static bool | classof (const Node *node) |
| Provide type casting support. | |
Additional Inherited Members | |
| Public Types inherited from mlir::pdll::ast::Node::NodeBase< UserRewriteDecl, Decl > | |
| using | Base |
| Protected Member Functions inherited from mlir::pdll::ast::Node::NodeBase< UserRewriteDecl, Decl > | |
| NodeBase (SMRange loc, Args &&...args) | |
| Protected Member Functions inherited from mlir::pdll::ast::Decl | |
| Decl (TypeID typeID, SMRange loc, const Name *name=nullptr) | |
| Protected Member Functions inherited from mlir::pdll::ast::Node | |
| Node (TypeID typeID, SMRange loc) | |
This decl represents a user defined rewrite.
This is either:
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Return the name of the rewrite.
Definition at line 1121 of file Nodes.h.
References mlir::pdll::ast::Decl::getName().
|
inline |
Return the explicit results of the rewrite declaration.
May be empty, even if the rewrite has results (e.g. in the case of inferred results).
Definition at line 1133 of file Nodes.h.
Referenced by getResults().
|
inline |
Definition at line 1136 of file Nodes.h.
References getResults().
|
inline |
|
inline |