MLIR 22.0.0git
mlir::pdll::ast::RewriteStmt Class Referencefinal

This statement represents an operation rewrite that contains a block of nested rewrite commands. More...

#include "mlir/Tools/PDLL/AST/Nodes.h"

Inheritance diagram for mlir::pdll::ast::RewriteStmt:

Public Member Functions

CompoundStmtgetRewriteBody () const
 Return the compound rewrite body.
Public Member Functions inherited from mlir::pdll::ast::OpRewriteStmt
ExprgetRootOpExpr () const
 Return the root operation of this rewrite.
Public Member Functions inherited from mlir::pdll::ast::Stmt
 Node (TypeID typeID, SMRange loc)
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 RewriteStmtcreate (Context &ctx, SMRange loc, Expr *rootOp, CompoundStmt *rewriteBody)
Static Public Member Functions inherited from mlir::pdll::ast::Node::NodeBase< RewriteStmt, OpRewriteStmt >
static bool classof (const Node *node)
 Provide type casting support.
Static Public Member Functions inherited from mlir::pdll::ast::OpRewriteStmt
static bool classof (const Node *node)
 Provide type casting support.
Static Public Member Functions inherited from mlir::pdll::ast::Stmt
static bool classof (const Node *node)
 Provide type casting support.

Additional Inherited Members

Public Types inherited from mlir::pdll::ast::Node::NodeBase< RewriteStmt, OpRewriteStmt >
using Base
Protected Member Functions inherited from mlir::pdll::ast::Node::NodeBase< RewriteStmt, OpRewriteStmt >
 NodeBase (SMRange loc, Args &&...args)
Protected Member Functions inherited from mlir::pdll::ast::OpRewriteStmt
 OpRewriteStmt (TypeID typeID, SMRange loc, Expr *rootOp)
Protected Member Functions inherited from mlir::pdll::ast::Node
 Node (TypeID typeID, SMRange loc)
Protected Attributes inherited from mlir::pdll::ast::OpRewriteStmt
ExprrootOp
 The root operation being rewritten.

Detailed Description

This statement represents an operation rewrite that contains a block of nested rewrite commands.

This allows for building more complex operation rewrites that span across multiple statements, which may be unconnected.

Definition at line 302 of file Nodes.h.

Member Function Documentation

◆ create()

RewriteStmt * RewriteStmt::create ( Context & ctx,
SMRange loc,
Expr * rootOp,
CompoundStmt * rewriteBody )
static

◆ getRewriteBody()

CompoundStmt * mlir::pdll::ast::RewriteStmt::getRewriteBody ( ) const
inline

Return the compound rewrite body.

Definition at line 308 of file Nodes.h.


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