Class StmtExprVisitor#
Defined in File stmt_functor.h
Inheritance Relationships#
Base Type#
public tvm::ExprVisitor(Class ExprVisitor)
Class Documentation#
-
class StmtExprVisitor : public tvm::ExprVisitor#
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 OpaqueExprObj subclasses use structural traversal; leaf types register non-descending structural hooks.
Public Functions
-
inline StmtExprVisitor()#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const BindObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const RegionStmtObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const IfObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const ForObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const WhileObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const ReturnObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const BreakObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const ContinueObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const TensorStoreObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const AssertStmtObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const SeqStmtObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const EvaluateObj *op)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const VarObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const TensorLoadObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const OpaqueExprObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const TupleObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const TupleGetItemObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const CallObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::LetObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::RampObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::BroadcastObj *op) override#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::ShuffleObj *op) override#
-
inline virtual ffi::Optional<VisitInterrupt> Visit(ffi::AnyView value)#
Visit a borrowed object or inline value, throwing on failure.
Note
A qualified Parent::Visit bypasses this entry override only; recursive child visits still use virtual dispatch.
- Parameters:
value – The borrowed value to visit.
- Returns:
None on completion or an owning interrupt that halts traversal.
-
virtual ffi::Optional<VisitInterrupt> Visit_(const TensorRegionObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const GlobalVarObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const GenericConstObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const DataTypeImmObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const IntImmObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const FloatImmObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const OpObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const StringImmObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::CastObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::AddObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::LShiftObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::RShiftObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::BitwiseAndObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::BitwiseOrObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::BitwiseXorObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::BitwiseNotObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::SubObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::MulObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::DivObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::ModObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::FloorDivObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::FloorModObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::MinObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::MaxObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::EQObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::NEObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::LTObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::LEObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::GTObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::GEObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::AndObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::OrObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::NotObj *node)#
-
virtual ffi::Optional<VisitInterrupt> Visit_(const prim::SelectObj *node)#
Protected Functions
-
inline explicit StmtExprVisitor(const VTable *vtable)#
Protected Static Functions
-
static void InitVTable(VTable *vtable)#
-
inline StmtExprVisitor()#