|
tvm
|
Extend native TIRX traversal with schedulable block semantics. More...
#include <stmt_functor.h>
Public Member Functions | |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const SBlockNode *op) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const SBlockRealizeNode *op) |
Public Member Functions inherited from tvm::tirx::StmtExprVisitor | |
| 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. | |
Static Public Member Functions | |
| static ffi::Optional< VisitInterrupt > | VisitBlock (tirx::StmtExprVisitor *visitor, const SBlockNode *op) |
| static ffi::Optional< VisitInterrupt > | VisitBlockRealize (tirx::StmtExprVisitor *visitor, const SBlockRealizeNode *op) |
Protected Member Functions | |
| StmtExprVisitor (const VTable *vtable) | |
Protected Member Functions inherited from tvm::tirx::StmtExprVisitor | |
| 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::tirx::StmtExprVisitor | |
| 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. | |
Extend native TIRX traversal with schedulable block semantics.
Block iterator binders and policy annotations are not expression uses. Tensor definitions precede their regions; ordinary statements reuse TIRX hooks. Structural traversal remains available independently with its full field walk. Generic TIRX visitors traverse these nodes structurally, including whole iterators and annotations. Both paths visit allocation and match-tensor definitions before region uses. Producer placement annotations are expression uses. Only this S-TIR subclass supplies native block hooks; the core TIRX table does not register dialect nodes.
|
inlineexplicitprotected |
|
staticprotected |
|
virtual |
|
virtual |
|
static |
|
static |