tvm.tir.stmt_functor
用于 IR 转换的语句 functor 实用工具
- tvm.tir.stmt_functor.ir_transform(stmt, preorder, postorder, only_enable=None)
以后序 DFS 顺序递归访问和转换 ir 节点。
- 参数:
stmt (tvm.tir.Stmt) – 要转换的输入。
preorder (function) – 在递归突变之前调用的函数。如果 preorder 返回 None,则转换将继续进行递归调用。如果 preorder 返回非 None 的 tvm.tir.Stmt/Expr,则转换器将直接返回它,并且不会进行进一步的递归。
postorder (function) – 在递归突变之后调用的函数。
only_enable (Optional[List[str]]) – 我们仅启用的类型列表。
- 返回值:
result – 结果。
- 返回类型:
- tvm.tir.stmt_functor.post_order_visit(stmt, fvisit)
- 以后序 DFS 顺序递归访问 ir 节点,应用 fvisit
保证每个节点只被访问一次。
- 参数:
fvisit (function) – 访问器函数。
- tvm.tir.stmt_functor.pre_order_visit(stmt, fvisit)
- 对 stmt AST 进行递归先序访问,对每个节点应用 fvisit。
如果 fvisit 返回 False,则不会访问该节点的子节点。
- 参数:
fvisit (function of the signature Object -> bool) – 访问器函数。
- tvm.tir.stmt_functor.substitute(node, vmap)
替换 vmap 指定的 var。
- 参数:
- 返回值:
result – 结果。
- 返回类型: