|
| Stmt | tvm::tirx::IRTransform (Stmt stmt, const ffi::Function &preorder, const ffi::Function &postorder, ffi::Optional< ffi::Array< ffi::String >> only_enable=std::nullopt) |
| | recursively visit the ir nodes in post DFS order, and transform it More...
|
| |
| void | tvm::tirx::PostOrderVisit (const ffi::ObjectRef &node, std::function< void(const ffi::ObjectRef &)> fvisit) |
| | Recursively visit a statement or expression in post DFS order, applying fvisit. Each node is guaranteed to be visited only once. More...
|
| |
| Stmt | tvm::tirx::Substitute (Stmt stmt, std::function< ffi::Optional< Expr >(const Var &var)> vmap) |
| | Substitute the var specified by vmap. More...
|
| |
| Expr | tvm::tirx::Substitute (Expr expr, std::function< ffi::Optional< Expr >(const Var &var)> vmap) |
| | Substitute the var specified by vmap. More...
|
| |
| PrimExpr | tvm::tirx::Substitute (PrimExpr expr, std::function< ffi::Optional< Expr >(const Var &var)> vmap) |
| |
| template<typename T > |
| ffi::Array< T > | tvm::tirx::Substitute (const ffi::Array< T > &arr, std::function< ffi::Optional< Expr >(const Var &var)> vmap) |
| | Substitute the var specified by vmap. More...
|
| |
| Range | tvm::tirx::Substitute (const Range &range, std::function< ffi::Optional< Expr >(const Var &var)> vmap) |
| | Substitute the vars specified by vmap. More...
|
| |
| template<typename Obj > |
| auto | tvm::tirx::Substitute (Obj &&obj, const ffi::Map< Var, Expr > &vmap) |
| | Substitute the vars specified by vmap. More...
|
| |
| template<typename Obj , typename Replacement > |
| auto | tvm::tirx::Substitute (Obj &&obj, const ffi::Map< Var, Replacement > &vmap) |
| | Substitute the vars specified by vmap. More...
|
| |
| template<typename Obj , typename Replacement > |
| auto | tvm::tirx::Substitute (Obj &&obj, const std::unordered_map< const VarNode *, Replacement > &vmap) |
| | Substitute the vars specified by vmap. More...
|
| |
| template<typename Obj , typename Replacement , typename Hasher , typename EqualityChecker > |
| auto | tvm::tirx::Substitute (Obj &&obj, const std::unordered_map< Var, Replacement, Hasher, EqualityChecker > &vmap) |
| | Substitute the vars specified by vmap. More...
|
| |
| template<typename Obj , typename Replacement > |
| auto | tvm::tirx::Substitute (Obj &&obj, const std::unordered_map< IterVar, Replacement > &iter_vmap) |
| | Substitute the vars specified by vmap. More...
|
| |
| Stmt | tvm::tirx::SubstituteWithDataTypeLegalization (Stmt stmt, std::function< ffi::Optional< PrimExpr >(const Var &)> vmap) |
| | Substitute the var specified by vmap and legalize data types after substitution. More...
|
| |
| PrimExpr | tvm::tirx::SubstituteWithDataTypeLegalization (PrimExpr expr, std::function< ffi::Optional< PrimExpr >(const Var &)> vmap) |
| | Substitute the var specified by vmap and legalize data types after substitution. More...
|
| |
| void | tvm::tirx::PreOrderVisit (const ffi::ObjectRef &stmt_or_expr, const std::function< bool(const ffi::ObjectRef &)> &fvisit) |
| | Recursively visit a statement or expression in pre DFS order, applying fvisit. If fvisit returns false, it won't visit the children of the node. More...
|
| |
| template<typename Node , typename = std::enable_if_t<std::is_base_of_v<StmtNode, Node>>> |
| bool | tvm::tirx::ContainsNode (const Stmt &stmt) |
| | Check if the statement contains the specified node type. More...
|
| |
Functors for tirx stmts utility functions to call common functors.