tvm
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 PrimExpr &e)
 Visitor to Exprs, can be overriden to do recursive changes to Exprs. More...
 
virtual void VisitBufferDef (const Buffer &buffer, bool alloc_data)
 Visit buffer at definition site (AllocBuffer, DeclBuffer, SBlock alloc_buffers). Visits buffer shape, strides, elem_offset via VisitExpr. More...
 
virtual void VisitBufferUse (const Buffer &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. More...
 
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 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
 

Detailed Description

StmtVisitor.

Member Function Documentation

◆ VisitBufferDef()

virtual void tvm::tirx::StmtVisitor::VisitBufferDef ( const Buffer 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 Buffer 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 PrimExpr 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/13]

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

◆ VisitStmt_() [2/13]

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

◆ VisitStmt_() [3/13]

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

◆ VisitStmt_() [4/13]

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

◆ VisitStmt_() [5/13]

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

◆ VisitStmt_() [6/13]

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

◆ VisitStmt_() [7/13]

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

◆ VisitStmt_() [8/13]

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

◆ VisitStmt_() [9/13]

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

◆ VisitStmt_() [10/13]

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

◆ VisitStmt_() [11/13]

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

◆ VisitStmt_() [12/13]

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

◆ VisitStmt_() [13/13]

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

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