|
| virtual UnchangedOr< Stmt > | Mutate_ (const SBlockNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const SBlockRealizeNode *op, InplaceMode inplace_mode) |
| |
| TVM_FFI_INLINE UnchangedOr< Stmt > | Mutate (const Stmt &stmt, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| | Mutate a borrowed statement through the virtual generic entry.
|
| |
| TVM_FFI_INLINE UnchangedOr< SeqStmt > | Mutate (const SeqStmt &stmt, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| | Mutate a scope body without collapsing its sequence container.
|
| |
| TVM_FFI_INLINE UnchangedOr< ffi::Optional< SeqStmt > > | Mutate (const ffi::Optional< SeqStmt > &stmt, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| |
| TVM_FFI_INLINE UnchangedOr< ffi::Optional< Stmt > > | Mutate (const ffi::Optional< Stmt > &stmt, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| | Mutate an optional statement, preserving an absent function body.
|
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const BindNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const RegionStmtNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const IfNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const ForNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const WhileNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const ReturnNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const BreakNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const ContinueNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const TensorStoreNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const AssertStmtNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const SeqStmtNode *op, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Stmt > | Mutate_ (const EvaluateNode *op, InplaceMode inplace_mode) |
| |
| TVM_FFI_INLINE UnchangedOr< PrimExpr > | Mutate (const PrimExpr &expr, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| | Mutate a primitive expression, preserving its expression category.
|
| |
| TVM_FFI_INLINE UnchangedOr< Expr > | Mutate (const Expr &expr, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| | Mutate an expression, preserving its expression category.
|
| |
| virtual UnchangedOr< Expr > | Mutate_ (const OpaqueExprNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const TupleNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const TupleGetItemNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const TensorLoadNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const TensorRegionNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const VarNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const GlobalVarNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const CallNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const GenericConstNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const DataTypeImmNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const IntImmNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const FloatImmNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const OpNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< Expr > | Mutate_ (const StringImmNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::CastNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::AddNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::LShiftNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::RShiftNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::BitwiseAndNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::BitwiseOrNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::BitwiseXorNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::BitwiseNotNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::SubNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::MulNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::DivNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::ModNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::FloorDivNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::FloorModNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::MinNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::MaxNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::EQNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::NENode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::LTNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::LENode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::GTNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::GENode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::AndNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::OrNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::NotNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::SelectNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::LetNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::RampNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::BroadcastNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< PrimExpr > | Mutate_ (const prim::ShuffleNode *node, InplaceMode inplace_mode) |
| |
| virtual UnchangedOr< ffi::Any > | Mutate (ffi::AnyView value, InplaceMode inplace_mode=InplaceMode::kDisallow) |
| | Construct a mutator with the core expression hooks.
|
| |
| | ObjectMutator () |
| | Construct a mutator using structural fallback for every object.
|
| |
| | ObjectMutator (const ObjectMutator &other)=delete |
| |
| ObjectMutator & | operator= (const ObjectMutator &other)=delete |
| |
| Expected< UnchangedOr< ffi::Any > > | MutateExpected (ffi::AnyView value, InplaceMode inplace_mode=InplaceMode::kDisallow) noexcept |
| | Adapt the virtual throwing entrypoint to the structural ABI.
|
| |
| ffi::Any | VarRemapGet (ffi::AnyView var) |
| | Look up a variable replacement, throwing on failure.
|
| |
| void | VarRemapSet (ffi::AnyView var, ffi::AnyView value) |
| | Record a variable replacement, throwing on failure.
|
| |
| TVM_FFI_INLINE Expected< ffi::Any > | VarRemapGetExpected (ffi::AnyView var) noexcept |
| | Look up a replacement in the variable-remap environment.
|
| |
| TVM_FFI_INLINE Expected< void > | VarRemapSetExpected (ffi::AnyView var, ffi::AnyView mapped_value) noexcept |
| | Record a replacement in the variable-remap environment.
|
| |
Extend native TIRX mutation while preserving block iterator binders.
Reuses inherited remapping and ownership checks. Block policy annotations are left intact; producer placement annotations follow tensor remapping. Structural mutation separately provides the full field rewrite. Generic TIRX mutators instead use the full structural rewrite, including iterator definitions and annotations. Both paths establish allocation and match-tensor remaps before visiting region uses and preserve copy-on-write.