|
tvm
|
Structural Expr visitor with native overrides for core expressions. More...
#include <expr_functor.h>
Public Member Functions | |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const OpaqueExprNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const TupleNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const TupleGetItemNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const TensorLoadNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const TensorRegionNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const VarNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const GlobalVarNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const CallNode *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_ (const prim::LetNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::RampNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::BroadcastNode *node) |
| virtual ffi::Optional< VisitInterrupt > | Visit_ (const prim::ShuffleNode *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 | |
| 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) |
| 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. | |
Structural Expr visitor with native overrides for core expressions.
Prefer StructuralVisit or StructuralWalk for common cases; use ExprVisitor for extensive per-kind customization or optimization. Default hooks follow the registered structural child order and skip primitive metadata. Native hooks match exact node types; derived node types use structural fallback unless separately registered in a fresh inherited table with SetDispatch. Existing hooks only require overriding. For an extra MyExprNode derived from ExprNode, initialize an inherited table and register the new virtual hook:
Use tvm::ExprVisitor explicitly when dialect visitors are also in scope.
|
inlineexplicitprotected |
Construct a visitor with an extended native dispatch table.
| vtable | The finalized table, which must outlive this visitor. |
|
staticprotected |
Register core expression hooks in a fresh mutable table.
| vtable | The table to initialize before adding derived registrations. |
|
inlinevirtual |
Construct a visitor with the core expression hooks.
Reimplemented from tvm::ObjectVisitor.
Reimplemented in tvm::tirx::SRefTreeCreator.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.
|
virtual |
Reimplemented in tvm::tirx::StmtExprVisitor, and tvm::tirx::StmtExprVisitorWithAnalyzer.