|
tvm
|
Native visitor for TIRx statements and their expression operands. More...
#include <stmt_functor.h>
Public Member Functions | |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const BindNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const RegionStmtNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const IfNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const ForNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const WhileNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const ReturnNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const BreakNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const ContinueNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const TensorStoreNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const AssertStmtNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const SeqStmtNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const EvaluateNode *op) |
| ffi::Optional< VisitInterrupt > | Visit_ (const VarNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const TensorLoadNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const OpaqueExprNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const TupleNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const TupleGetItemNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const CallNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const prim::LetNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const prim::RampNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const prim::BroadcastNode *op) override |
| ffi::Optional< VisitInterrupt > | Visit_ (const prim::ShuffleNode *op) override |
Public Member Functions inherited from tvm::ExprVisitor | |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const TensorRegionNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const GlobalVarNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const GenericConstNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const DataTypeImmNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const IntImmNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const FloatImmNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const OpNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const StringImmNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::CastNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::AddNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::LShiftNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::RShiftNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::BitwiseAndNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::BitwiseOrNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::BitwiseXorNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::BitwiseNotNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::SubNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::MulNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::DivNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::ModNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::FloorDivNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::FloorModNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::MinNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::MaxNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::EQNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::NENode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::LTNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::LENode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::GTNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::GENode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::AndNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::OrNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::NotNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::SelectNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit (ffi::AnyView value) |
| Construct a visitor with the core expression hooks. | |
Public Member Functions inherited from tvm::ObjectVisitor | |
| ObjectVisitor () | |
| Construct a visitor using structural fallback for every value. | |
| ObjectVisitor (const ObjectVisitor &other)=delete | |
| ObjectVisitor & | operator= (const ObjectVisitor &other)=delete |
| Expected< ffi::Optional< VisitInterrupt > > | VisitExpected (ffi::AnyView value) noexcept |
| Adapt the virtual throwing entrypoint to the structural ABI. | |
Protected Member Functions | |
| StmtExprVisitor (const VTable *vtable) | |
Protected Member Functions inherited from tvm::ExprVisitor | |
| ExprVisitor (const VTable *vtable) | |
| Construct a visitor with an extended native dispatch table. | |
Protected Member Functions inherited from tvm::ObjectVisitor | |
| ObjectVisitor (const VTable *vtable) | |
| Construct a visitor with a finalized native dispatch table. | |
Static Protected Member Functions | |
| static void | InitVTable (VTable *vtable) |
Static Protected Member Functions inherited from tvm::ExprVisitor | |
| static void | InitVTable (VTable *vtable) |
| Register core expression hooks in a fresh mutable table. | |
Static Protected Member Functions inherited from tvm::ObjectVisitor | |
| static void | InitVTable (VTable *vtable) |
| Initialize the base registrations in a fresh mutable table. | |
| template<typename Self , typename Node > | |
| static void | SetDispatch (VTable *vtable) |
| Register an exact node type in a fresh table initialized by its parent. Derived node types require separate registrations. | |
Additional Inherited Members | |
Protected Types inherited from tvm::ObjectVisitor | |
| using | VTable = ObjectFunctor< ffi::Optional< VisitInterrupt >(const ffi::Object *, ObjectVisitor *)> |
| Exact native dispatch table with owning interrupt results. | |
Native visitor for TIRx statements and their expression operands.
Inherits core expression dispatch and preserves TIRx traversal order and tensor definition/use boundaries. Allocate visitors with ffi::make_object; hooks return the first interrupt or throw on failure. To preserve thrown ffi::Error subclasses, keep child traversal native: Visit(array) crosses structural callbacks that may erase the C++ subtype.
Native hooks match exact types. Unregistered OpaqueExprNode subclasses use structural traversal; leaf types register non-descending structural hooks.
|
inlineexplicitprotected |
|
staticprotected |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::s_tir::StmtExprVisitorWithAnalyzer, tvm::tirx::StmtExprVisitorWithAnalyzer, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::s_tir::StmtExprVisitorWithAnalyzer, tvm::tirx::StmtExprVisitorWithAnalyzer, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
overridevirtual |
Reimplemented from tvm::ExprVisitor.
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitorWithAnalyzer.