Class StmtExprVisitorWithConstraintContext#
Defined in File stmt_functor_with_constraint_context.h
Inheritance Relationships#
Base Type#
public tvm::tirx::ObjectVisitorWithConstraintContext(Class ObjectVisitorWithConstraintContext)
Class Documentation#
-
class StmtExprVisitorWithConstraintContext : public tvm::tirx::ObjectVisitorWithConstraintContext#
Native virtual node hooks using one constraint-aware structural visitor. Allocate with ffi::make_object<Derived>(). Override Visit_ for a known node or Visit for general dispatch. Defaults share matching native expression bodies and delegate scope-sensitive nodes to structural constraint hooks. A hook owns its descent; calling the qualified parent hook runs it once with the same context. Unknown types use structural fallback, which can reach specialized descendants.
Public Functions
-
inline StmtExprVisitorWithConstraintContext()#
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const LambdaExprObj *node)#
Default constraint-aware descent; override to customize LambdaExprObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const OpaqueExprObj *node)#
Default constraint-aware descent; override to customize OpaqueExprObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const TupleObj *node)#
Default constraint-aware descent; override to customize TupleObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const TupleGetItemObj *node)#
Default constraint-aware descent; override to customize TupleGetItemObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const TensorLoadObj *node)#
Default constraint-aware descent; override to customize TensorLoadObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const TensorRegionObj *node)#
Default constraint-aware descent; override to customize TensorRegionObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const VarObj *node)#
Default constraint-aware descent; override to customize VarObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const GlobalVarObj *node)#
Default constraint-aware descent; override to customize GlobalVarObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const CallObj *node)#
Default constraint-aware descent; override to customize CallObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const GenericConstObj *node)#
Default constraint-aware descent; override to customize GenericConstObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const DataTypeImmObj *node)#
Default constraint-aware descent; override to customize DataTypeImmObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const IntImmObj *node)#
Default constraint-aware descent; override to customize IntImmObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const FloatImmObj *node)#
Default constraint-aware descent; override to customize FloatImmObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const OpObj *node)#
Default constraint-aware descent; override to customize OpObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const StringImmObj *node)#
Default constraint-aware descent; override to customize StringImmObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::CastObj *node)#
Default constraint-aware descent; override to customize prim::CastObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::AddObj *node)#
Default constraint-aware descent; override to customize prim::AddObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::LShiftObj *node)#
Default constraint-aware descent; override to customize prim::LShiftObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::RShiftObj *node)#
Default constraint-aware descent; override to customize prim::RShiftObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::BitwiseAndObj *node)#
Default constraint-aware descent; override to customize prim::BitwiseAndObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::BitwiseOrObj *node)#
Default constraint-aware descent; override to customize prim::BitwiseOrObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::BitwiseXorObj *node)#
Default constraint-aware descent; override to customize prim::BitwiseXorObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::BitwiseNotObj *node)#
Default constraint-aware descent; override to customize prim::BitwiseNotObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::SubObj *node)#
Default constraint-aware descent; override to customize prim::SubObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::MulObj *node)#
Default constraint-aware descent; override to customize prim::MulObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::DivObj *node)#
Default constraint-aware descent; override to customize prim::DivObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::ModObj *node)#
Default constraint-aware descent; override to customize prim::ModObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::FloorDivObj *node)#
Default constraint-aware descent; override to customize prim::FloorDivObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::FloorModObj *node)#
Default constraint-aware descent; override to customize prim::FloorModObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::MinObj *node)#
Default constraint-aware descent; override to customize prim::MinObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::MaxObj *node)#
Default constraint-aware descent; override to customize prim::MaxObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::EQObj *node)#
Default constraint-aware descent; override to customize prim::EQObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::NEObj *node)#
Default constraint-aware descent; override to customize prim::NEObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::LTObj *node)#
Default constraint-aware descent; override to customize prim::LTObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::LEObj *node)#
Default constraint-aware descent; override to customize prim::LEObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::GTObj *node)#
Default constraint-aware descent; override to customize prim::GTObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::GEObj *node)#
Default constraint-aware descent; override to customize prim::GEObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::AndObj *node)#
Default constraint-aware descent; override to customize prim::AndObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::OrObj *node)#
Default constraint-aware descent; override to customize prim::OrObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::NotObj *node)#
Default constraint-aware descent; override to customize prim::NotObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::SelectObj *node)#
Default constraint-aware descent; override to customize prim::SelectObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::LetObj *node)#
Default constraint-aware descent; override to customize prim::LetObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::RampObj *node)#
Default constraint-aware descent; override to customize prim::RampObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::BroadcastObj *node)#
Default constraint-aware descent; override to customize prim::BroadcastObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const prim::ShuffleObj *node)#
Default constraint-aware descent; override to customize prim::ShuffleObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const BindObj *node)#
Default constraint-aware descent; override to customize BindObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const RegionStmtObj *node)#
Default constraint-aware descent; override to customize RegionStmtObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const IfObj *node)#
Default constraint-aware descent; override to customize IfObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const ForObj *node)#
Default constraint-aware descent; override to customize ForObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const WhileObj *node)#
Default constraint-aware descent; override to customize WhileObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const ReturnObj *node)#
Default constraint-aware descent; override to customize ReturnObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const BreakObj *node)#
Default constraint-aware descent; override to customize BreakObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const ContinueObj *node)#
Default constraint-aware descent; override to customize ContinueObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const TensorStoreObj *node)#
Default constraint-aware descent; override to customize TensorStoreObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const AssertStmtObj *node)#
Default constraint-aware descent; override to customize AssertStmtObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const SeqStmtObj *node)#
Default constraint-aware descent; override to customize SeqStmtObj.
-
virtual ffi::Optional<ffi::VisitInterrupt> Visit_(const EvaluateObj *node)#
Default constraint-aware descent; override to customize EvaluateObj.
Protected Functions
-
inline explicit StmtExprVisitorWithConstraintContext(const VTable *table)#
Construct with a finalized table extended by a native subclass.
Protected Static Functions
-
static void InitVTable(VTable *table)#
-
inline StmtExprVisitorWithConstraintContext()#