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

StmtVisitor. More...

#include <stmt_functor.h>

Inheritance diagram for tvm::tirx::StmtVisitor:
Collaboration diagram for tvm::tirx::StmtVisitor:

Protected Member Functions

virtual void VisitExpr (const Expr &e)
 Visitor to Exprs, can be overriden to do recursive changes to Exprs.
 
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

StmtVisitor.

Member Function Documentation

◆ VisitBufferDef()

virtual void tvm::tirx::StmtVisitor::VisitBufferDef ( const BufferVar buffer,
bool  alloc_data 
)
protectedvirtual

Visit buffer at definition site (AllocBuffer, DeclBuffer, SBlock alloc_buffers). Visits buffer shape, strides, elem_offset via VisitExpr.

Parameters
bufferThe buffer being defined.
alloc_dataIf true, the buffer's data pointer is a new allocation (AllocBuffer); if false, data references an existing variable (DeclBuffer).

◆ VisitBufferUse()

virtual void tvm::tirx::StmtVisitor::VisitBufferUse ( const BufferVar buffer)
protectedvirtual

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.

◆ VisitExpr()

virtual void tvm::tirx::StmtVisitor::VisitExpr ( const Expr e)
inlineprotectedvirtual

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 in tvm::tirx::StmtExprVisitor.

◆ VisitStmt_() [1/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const AllocBufferNode op)
overrideprotected

◆ VisitStmt_() [2/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const AssertStmtNode op)
overrideprotected

◆ VisitStmt_() [3/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const AttrStmtNode op)
overrideprotected

◆ VisitStmt_() [4/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const BindNode op)
overrideprotected

◆ VisitStmt_() [5/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const BreakNode op)
overrideprotected

◆ VisitStmt_() [6/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const BufferStoreNode op)
overrideprotected

◆ VisitStmt_() [7/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const ContinueNode op)
overrideprotected

◆ VisitStmt_() [8/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const DeclBufferNode op)
overrideprotected

◆ VisitStmt_() [9/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const EvaluateNode op)
overrideprotected

◆ VisitStmt_() [10/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const ForNode op)
overrideprotected

◆ VisitStmt_() [11/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const IfThenElseNode op)
overrideprotected

◆ VisitStmt_() [12/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const ReturnNode op)
overrideprotected

◆ VisitStmt_() [13/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const SBlockNode op)
overrideprotected

◆ VisitStmt_() [14/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const SBlockRealizeNode op)
overrideprotected

◆ VisitStmt_() [15/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const ScopeIdDefStmtNode op)
overrideprotected

◆ VisitStmt_() [16/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const SeqStmtNode op)
overrideprotected

◆ VisitStmt_() [17/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const tirx::TilePrimitiveCallNode op)
overrideprotected

◆ VisitStmt_() [18/18]

void tvm::tirx::StmtVisitor::VisitStmt_ ( const WhileNode op)
overrideprotected

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