tvm
Loading...
Searching...
No Matches
Protected Member Functions | List of all members
tvm::tirx::StmtExprVisitor Class Reference

Visitor that recursively visit stmts and exprs on them. More...

#include <stmt_functor.h>

Inheritance diagram for tvm::tirx::StmtExprVisitor:
Collaboration diagram for tvm::tirx::StmtExprVisitor:

Protected Member Functions

void VisitExpr (const Expr &e) override
 Visitor to Exprs, can be overriden to do recursive changes to Exprs.
 
void VisitExpr_ (const TensorLoadNode *op) override
 
void VisitExpr_ (const BufferRegionNode *op) override
 
void VisitExpr_ (const VarNode *op) override
 
void VisitExpr_ (const TensorLoadNode *op) override
 
void VisitExpr_ (const OpaqueExprNode *op) override
 
void VisitExpr_ (const BufferRegionNode *op) override
 
void VisitExpr_ (const TupleNode *op) override
 
void VisitExpr_ (const TupleGetItemNode *op) override
 
void VisitExpr_ (const prim::LetNode *op) override
 
void VisitExpr_ (const CallNode *op) override
 
void VisitExpr_ (const prim::AddNode *op) override
 
void VisitExpr_ (const prim::SubNode *op) override
 
void VisitExpr_ (const prim::MulNode *op) override
 
void VisitExpr_ (const prim::DivNode *op) override
 
void VisitExpr_ (const prim::ModNode *op) override
 
void VisitExpr_ (const prim::FloorDivNode *op) override
 
void VisitExpr_ (const prim::FloorModNode *op) override
 
void VisitExpr_ (const prim::MinNode *op) override
 
void VisitExpr_ (const prim::MaxNode *op) override
 
void VisitExpr_ (const prim::EQNode *op) override
 
void VisitExpr_ (const prim::NENode *op) override
 
void VisitExpr_ (const prim::LTNode *op) override
 
void VisitExpr_ (const prim::LENode *op) override
 
void VisitExpr_ (const prim::GTNode *op) override
 
void VisitExpr_ (const prim::GENode *op) override
 
void VisitExpr_ (const prim::AndNode *op) override
 
void VisitExpr_ (const prim::OrNode *op) override
 
void VisitExpr_ (const prim::CastNode *op) override
 
void VisitExpr_ (const prim::NotNode *op) override
 
void VisitExpr_ (const prim::SelectNode *op) override
 
void VisitExpr_ (const prim::RampNode *op) override
 
void VisitExpr_ (const prim::BroadcastNode *op) override
 
void VisitExpr_ (const prim::ShuffleNode *op) override
 
void VisitExpr_ (const IntImmNode *op) override
 
void VisitExpr_ (const FloatImmNode *op) override
 
void VisitExpr_ (const prim::StringImmNode *op) override
 
- Protected Member Functions inherited from tvm::tirx::ExprVisitor
void VisitExpr_ (const VarNode *op) override
 
void VisitExpr_ (const TensorLoadNode *op) override
 
void VisitExpr_ (const OpaqueExprNode *op) override
 
void VisitExpr_ (const BufferRegionNode *op) override
 
void VisitExpr_ (const TupleNode *op) override
 
void VisitExpr_ (const TupleGetItemNode *op) override
 
void VisitExpr_ (const prim::LetNode *op) override
 
void VisitExpr_ (const CallNode *op) override
 
void VisitExpr_ (const prim::AddNode *op) override
 
void VisitExpr_ (const prim::SubNode *op) override
 
void VisitExpr_ (const prim::MulNode *op) override
 
void VisitExpr_ (const prim::DivNode *op) override
 
void VisitExpr_ (const prim::ModNode *op) override
 
void VisitExpr_ (const prim::FloorDivNode *op) override
 
void VisitExpr_ (const prim::FloorModNode *op) override
 
void VisitExpr_ (const prim::MinNode *op) override
 
void VisitExpr_ (const prim::MaxNode *op) override
 
void VisitExpr_ (const prim::EQNode *op) override
 
void VisitExpr_ (const prim::NENode *op) override
 
void VisitExpr_ (const prim::LTNode *op) override
 
void VisitExpr_ (const prim::LENode *op) override
 
void VisitExpr_ (const prim::GTNode *op) override
 
void VisitExpr_ (const prim::GENode *op) override
 
void VisitExpr_ (const prim::AndNode *op) override
 
void VisitExpr_ (const prim::OrNode *op) override
 
void VisitExpr_ (const prim::CastNode *op) override
 
void VisitExpr_ (const prim::NotNode *op) override
 
void VisitExpr_ (const prim::SelectNode *op) override
 
void VisitExpr_ (const prim::RampNode *op) override
 
void VisitExpr_ (const prim::BroadcastNode *op) override
 
void VisitExpr_ (const prim::ShuffleNode *op) override
 
void VisitExpr_ (const IntImmNode *op) override
 
void VisitExpr_ (const FloatImmNode *op) override
 
void VisitExpr_ (const prim::StringImmNode *op) override
 
- Protected Member Functions inherited from tvm::tirx::StmtVisitor
virtual void VisitBufferDef (const BufferVar &buffer, bool alloc_data)
 Visit buffer at definition site (AllocBuffer, DeclBuffer, SBlock alloc_buffers). Visits buffer shape, strides, elem_offset via VisitExpr.
 
virtual void VisitBufferUse (const BufferVar &buffer)
 Visit buffer at use site (BufferStore, BufferLoad, SBlock reads/writes). By default, this is a no-op, as buffer fields (shape, strides, elem_offset) are visited at their definition site.
 
void VisitStmt_ (const BindNode *op) override
 
void VisitStmt_ (const AttrStmtNode *op) override
 
void VisitStmt_ (const IfThenElseNode *op) override
 
void VisitStmt_ (const ForNode *op) override
 
void VisitStmt_ (const WhileNode *op) override
 
void VisitStmt_ (const ReturnNode *op) override
 
void VisitStmt_ (const BreakNode *op) override
 
void VisitStmt_ (const ContinueNode *op) override
 
void VisitStmt_ (const AllocBufferNode *op) override
 
void VisitStmt_ (const DeclBufferNode *op) override
 
void VisitStmt_ (const BufferStoreNode *op) override
 
void VisitStmt_ (const AssertStmtNode *op) override
 
void VisitStmt_ (const SeqStmtNode *op) override
 
void VisitStmt_ (const EvaluateNode *op) override
 
void VisitStmt_ (const SBlockNode *op) override
 
void VisitStmt_ (const SBlockRealizeNode *op) override
 
void VisitStmt_ (const ScopeIdDefStmtNode *op) override
 
void VisitStmt_ (const tirx::TilePrimitiveCallNode *op) override
 

Detailed Description

Visitor that recursively visit stmts and exprs on them.

Member Function Documentation

◆ VisitExpr()

void tvm::tirx::StmtExprVisitor::VisitExpr ( const Expr e)
inlineoverrideprotectedvirtual

Visitor to Exprs, can be overriden to do recursive changes to Exprs.

Note
A common pattern is to call ExprVisitor here, or have a class sub-class both StmtVisitor and ExprVisitor and redirect Visit to ExprMutator::VisitExpr(Expr)

Reimplemented from tvm::tirx::StmtVisitor.

◆ VisitExpr_() [1/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const BufferRegionNode op)
overrideprotected

◆ VisitExpr_() [2/36]

void tvm::tirx::StmtExprVisitor::VisitExpr_ ( const BufferRegionNode op)
overrideprotected

◆ VisitExpr_() [3/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const CallNode op)
overrideprotected

◆ VisitExpr_() [4/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const FloatImmNode op)
overrideprotected

◆ VisitExpr_() [5/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const IntImmNode op)
overrideprotected

◆ VisitExpr_() [6/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const OpaqueExprNode op)
overrideprotected

◆ VisitExpr_() [7/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::AddNode op)
overrideprotected

◆ VisitExpr_() [8/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::AndNode op)
overrideprotected

◆ VisitExpr_() [9/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::BroadcastNode op)
overrideprotected

◆ VisitExpr_() [10/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::CastNode op)
overrideprotected

◆ VisitExpr_() [11/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::DivNode op)
overrideprotected

◆ VisitExpr_() [12/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::EQNode op)
overrideprotected

◆ VisitExpr_() [13/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::FloorDivNode op)
overrideprotected

◆ VisitExpr_() [14/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::FloorModNode op)
overrideprotected

◆ VisitExpr_() [15/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::GENode op)
overrideprotected

◆ VisitExpr_() [16/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::GTNode op)
overrideprotected

◆ VisitExpr_() [17/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::LENode op)
overrideprotected

◆ VisitExpr_() [18/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::LetNode op)
overrideprotected

◆ VisitExpr_() [19/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::LTNode op)
overrideprotected

◆ VisitExpr_() [20/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::MaxNode op)
overrideprotected

◆ VisitExpr_() [21/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::MinNode op)
overrideprotected

◆ VisitExpr_() [22/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::ModNode op)
overrideprotected

◆ VisitExpr_() [23/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::MulNode op)
overrideprotected

◆ VisitExpr_() [24/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::NENode op)
overrideprotected

◆ VisitExpr_() [25/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::NotNode op)
overrideprotected

◆ VisitExpr_() [26/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::OrNode op)
overrideprotected

◆ VisitExpr_() [27/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::RampNode op)
overrideprotected

◆ VisitExpr_() [28/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::SelectNode op)
overrideprotected

◆ VisitExpr_() [29/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::ShuffleNode op)
overrideprotected

◆ VisitExpr_() [30/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::StringImmNode op)
overrideprotected

◆ VisitExpr_() [31/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const prim::SubNode op)
overrideprotected

◆ VisitExpr_() [32/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const TensorLoadNode op)
overrideprotected

◆ VisitExpr_() [33/36]

void tvm::tirx::StmtExprVisitor::VisitExpr_ ( const TensorLoadNode op)
overrideprotected

◆ VisitExpr_() [34/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const TupleGetItemNode op)
overrideprotected

◆ VisitExpr_() [35/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const TupleNode op)
overrideprotected

◆ VisitExpr_() [36/36]

void tvm::tirx::ExprVisitor::VisitExpr_ ( const VarNode op)
overrideprotected

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