|
Stmt | tvm::tir::IRTransform (Stmt stmt, const runtime::PackedFunc &preorder, const runtime::PackedFunc &postorder, Optional< Array< String >> only_enable=NullOpt) |
| recursively visit the ir nodes in post DFS order, and transform it More...
|
|
void | tvm::tir::PostOrderVisit (const ObjectRef &node, std::function< void(const ObjectRef &)> fvisit) |
| Recursively visit the ir in post DFS order node, apply fvisit Each node is guaranteed to be visited only once. More...
|
|
Stmt | tvm::tir::Substitute (Stmt stmt, std::function< Optional< PrimExpr >(const Var &var)> vmap) |
| Substitute the var specified by vmap. More...
|
|
PrimExpr | tvm::tir::Substitute (PrimExpr expr, std::function< Optional< PrimExpr >(const Var &var)> vmap) |
| Substitute the var specified by vmap. More...
|
|
template<typename T > |
Array< T > | tvm::tir::Substitute (const Array< T > &arr, std::function< Optional< PrimExpr >(const Var &var)> vmap) |
| Substitute the var specified by vmap. More...
|
|
Range | tvm::tir::Substitute (const Range &range, std::function< Optional< PrimExpr >(const Var &var)> vmap) |
| Substitute the vars specified by vmap. More...
|
|
template<typename Obj > |
auto | tvm::tir::Substitute (Obj &&obj, const Map< Var, PrimExpr > &vmap) |
| Substitute the vars specified by vmap. More...
|
|
template<typename Obj , typename Expr , typename = std::enable_if_t<std::is_base_of_v<PrimExpr, Expr>>> |
auto | tvm::tir::Substitute (Obj &&obj, const Map< Var, Expr > &vmap) |
| Substitute the vars specified by vmap. More...
|
|
template<typename Obj , typename Expr , typename = std::enable_if_t<std::is_base_of_v<PrimExpr, Expr>>> |
auto | tvm::tir::Substitute (Obj &&obj, const std::unordered_map< const VarNode *, Expr > &vmap) |
| Substitute the vars specified by vmap. More...
|
|
template<typename Obj , typename Expr , typename Hasher , typename EqualityChecker , typename = std::enable_if_t<std::is_base_of_v<PrimExpr, Expr>>> |
auto | tvm::tir::Substitute (Obj &&obj, const std::unordered_map< Var, Expr, Hasher, EqualityChecker > &vmap) |
| Substitute the vars specified by vmap. More...
|
|
template<typename Obj , typename Expr , typename = std::enable_if_t<std::is_base_of_v<PrimExpr, Expr>>> |
auto | tvm::tir::Substitute (Obj &&obj, const std::unordered_map< IterVar, Expr > &iter_vmap) |
| Substitute the vars specified by vmap. More...
|
|
Stmt | tvm::tir::SubstituteWithDataTypeLegalization (Stmt stmt, std::function< Optional< PrimExpr >(const Var &)> vmap) |
| Substitute the var specified by vmap and legalize data types after substitution. More...
|
|
PrimExpr | tvm::tir::SubstituteWithDataTypeLegalization (PrimExpr expr, std::function< Optional< PrimExpr >(const Var &)> vmap) |
| Substitute the var specified by vmap and legalize data types after substitution. More...
|
|
void | tvm::tir::PreOrderVisit (const ObjectRef &stmt_or_expr, const std::function< bool(const ObjectRef &)> &fvisit) |
| Recursively visit the IR in pre DFS order node, apply fvisit. If fvisit returns false, it won't visit the children of the node. More...
|
|
PrimFunc | tvm::tir::RenewDefs (const PrimFunc &func) |
| Renew the definition nodes for a TIR, including Var, Buffer and IterVar. This pass works as a simple DeepCopy to duplicate a function with different Vars and Buffers but the same behavior. More...
|
|
template<typename Node , typename = std::enable_if_t<std::is_base_of_v<StmtNode, Node>>> |
bool | tvm::tir::ContainsNode (const Stmt &stmt) |
| Check if the statement contains the specified node type. More...
|
|
Functors for tir stmts utility functions to call common functors.