You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2026/05/29 15:04:33 UTC

(tvm-site) branch asf-site updated: deploying docs (apache/tvm@878903f574ba1e948618e78fc0b90e246af5e3be)

This is an automated email from the ASF dual-hosted git repository.

tqchen pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/tvm-site.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new d26b2535835 deploying docs (apache/tvm@878903f574ba1e948618e78fc0b90e246af5e3be)
d26b2535835 is described below

commit d26b2535835725fc8a77cc9f5de8e5bdc51a4d38
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Fri May 29 15:04:24 2026 +0000

    deploying docs (apache/tvm@878903f574ba1e948618e78fc0b90e246af5e3be)
---
 .../import_model.zip                               |  Bin 35138 -> 35138 bytes
 .../dlight_gpu_scheduling.zip                      |  Bin 26311 -> 26311 bytes
 .../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip |  Bin 23790 -> 23790 bytes
 .../tir_transformation.zip                         |  Bin 15923 -> 15923 bytes
 .../meta_schedule.zip                              |  Bin 24239 -> 24239 bytes
 .../mix_python_and_tvm_with_pymodule.zip           |  Bin 39023 -> 39023 bytes
 .../relax_creation.zip                             |  Bin 22503 -> 22503 bytes
 .../relax_transformation.zip                       |  Bin 11480 -> 11480 bytes
 .../optimize_llm.zip                               |  Bin 54007 -> 54007 bytes
 .../bring_your_own_codegen.zip                     |  Bin 18423 -> 18423 bytes
 .../e2e_opt_model.zip                              |  Bin 14501 -> 14501 bytes
 .../quick_start.zip                                |  Bin 16252 -> 16252 bytes
 .../export_and_load_executable.zip                 |  Bin 31408 -> 31408 bytes
 .../tir_creation.zip                               |  Bin 24545 -> 24545 bytes
 .../cross_compilation_and_rpc.zip                  |  Bin 62975 -> 62975 bytes
 .../customize_opt.zip                              |  Bin 20544 -> 20544 bytes
 .../relax/tutorials/sg_execution_times.rst.txt     |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.rst.txt |   12 +-
 .../tensor_ir/tutorials/tir_creation.rst.txt       |   20 +-
 .../tensor_ir/tutorials/tir_transformation.rst.txt |    6 +-
 .../get_started/tutorials/ir_module.rst.txt        |    8 +-
 .../get_started/tutorials/quick_start.rst.txt      |    4 +-
 .../tutorials/sg_execution_times.rst.txt           |    6 +-
 .../tutorials/cross_compilation_and_rpc.rst.txt    |    6 +-
 .../how_to/tutorials/customize_opt.rst.txt         |    4 +-
 .../how_to/tutorials/e2e_opt_model.rst.txt         |    2 +-
 .../how_to/tutorials/sg_execution_times.rst.txt    |   20 +-
 docs/_sources/sg_execution_times.rst.txt           |   38 +-
 docs/commit_hash                                   |    2 +-
 .../relax/tutorials/sg_execution_times.html        |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.html    |   12 +-
 .../tensor_ir/tutorials/tir_creation.html          |   20 +-
 .../tensor_ir/tutorials/tir_transformation.html    |    6 +-
 docs/get_started/tutorials/ir_module.html          |    8 +-
 docs/get_started/tutorials/quick_start.html        |    4 +-
 docs/get_started/tutorials/sg_execution_times.html |    6 +-
 .../tutorials/cross_compilation_and_rpc.html       |    6 +-
 docs/how_to/tutorials/customize_opt.html           |    4 +-
 docs/how_to/tutorials/e2e_opt_model.html           |    4 +-
 docs/how_to/tutorials/sg_execution_times.html      |   20 +-
 docs/reference/api/doxygen/analyzer_8h.html        |    2 +-
 docs/reference/api/doxygen/analyzer_8h_source.html |    4 +-
 docs/reference/api/doxygen/annotated.html          |  154 +-
 .../reference/api/doxygen/arg__info_8h_source.html |    2 +-
 docs/reference/api/doxygen/bnn_8h_source.html      |    4 +-
 docs/reference/api/doxygen/buffer_8h_source.html   |    2 +-
 docs/reference/api/doxygen/classes.html            |    6 +-
 .../api/doxygen/classtvm_1_1BaseExpr.html          |    2 +-
 .../classtvm_1_1BaseExpr__inherit__graph.svg       | 1797 +++++----
 .../api/doxygen/classtvm_1_1Bool-members.html      |   94 -
 docs/reference/api/doxygen/classtvm_1_1Bool.html   |  267 --
 .../api/doxygen/classtvm_1_1Bool__coll__graph.svg  |  116 -
 .../doxygen/classtvm_1_1Bool__inherit__graph.svg   |  116 -
 docs/reference/api/doxygen/classtvm_1_1IntImm.html |    2 +-
 .../doxygen/classtvm_1_1IntImm__inherit__graph.svg |  141 +-
 .../api/doxygen/classtvm_1_1Integer-members.html   |  102 -
 .../reference/api/doxygen/classtvm_1_1Integer.html |  538 ---
 .../doxygen/classtvm_1_1Integer__coll__graph.svg   |  123 -
 .../classtvm_1_1Integer__inherit__graph.svg        |  123 -
 .../api/doxygen/classtvm_1_1PrimExpr.html          |    2 +-
 .../classtvm_1_1PrimExpr__inherit__graph.svg       | 1157 +++---
 .../classtvm_1_1arith_1_1IntSetAnalyzer.html       |    4 +-
 .../doxygen/classtvm_1_1arith_1_1IntSetNode.html   |    4 +-
 ...lax_1_1distributed_1_1ShardingNode-members.html |    2 +-
 ...vm_1_1relax_1_1distributed_1_1ShardingNode.html |   14 +-
 ...1_1distributed_1_1ShardingNode__coll__graph.svg |  185 +-
 ..._1_1meta__schedule_1_1ScheduleRule-members.html |    2 +-
 ..._1s__tir_1_1meta__schedule_1_1ScheduleRule.html |   12 +-
 .../doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html  |    2 +-
 .../doxygen/classtvm_1_1tirx_1_1SBlockNode.html    |    2 +-
 .../api/doxygen/data__layout_8h_source.html        |    2 +-
 .../api/doxygen/dataflow__pattern_8h_source.html   |    2 +-
 docs/reference/api/doxygen/dense_8h_source.html    |    4 +-
 .../api/doxygen/detail_2broadcast_8h_source.html   |    6 +-
 .../api/doxygen/device__api_8h_source.html         |    2 +-
 .../distributed_2struct__info_8h_source.html       |    7 +-
 docs/reference/api/doxygen/elemwise_8h_source.html |    2 +-
 docs/reference/api/doxygen/extern_8h_source.html   |    2 +-
 docs/reference/api/doxygen/functions_b.html        |    3 +-
 docs/reference/api/doxygen/functions_c.html        |   14 +-
 docs/reference/api/doxygen/functions_func_b.html   |    3 +-
 docs/reference/api/doxygen/functions_func_c.html   |    4 +-
 docs/reference/api/doxygen/functions_func_g.html   |    4 +-
 docs/reference/api/doxygen/functions_func_i.html   |   10 +-
 docs/reference/api/doxygen/functions_func_m.html   |    2 +-
 docs/reference/api/doxygen/functions_func_o.html   |   19 +-
 docs/reference/api/doxygen/functions_func_t.html   |    3 +-
 docs/reference/api/doxygen/functions_g.html        |    4 +-
 docs/reference/api/doxygen/functions_i.html        |   10 +-
 docs/reference/api/doxygen/functions_m.html        |    2 +-
 docs/reference/api/doxygen/functions_n.html        |    2 +-
 docs/reference/api/doxygen/functions_o.html        |   17 +-
 docs/reference/api/doxygen/functions_s.html        |    4 +-
 docs/reference/api/doxygen/functions_t.html        |   11 +-
 docs/reference/api/doxygen/functions_v.html        |    2 +-
 docs/reference/api/doxygen/functions_vars_s.html   |    2 +-
 docs/reference/api/doxygen/group__norm_8h.html     |    4 +-
 .../api/doxygen/group__norm_8h_source.html         |   26 +-
 docs/reference/api/doxygen/hierarchy.html          |   18 +-
 .../api/doxygen/index__map_8h_source.html          |    2 +-
 docs/reference/api/doxygen/inherit_graph_1.svg     | 4122 ++++++++++----------
 docs/reference/api/doxygen/inherit_graph_18.svg    |  118 +-
 docs/reference/api/doxygen/inherit_graph_19.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_54.svg    |    8 +-
 docs/reference/api/doxygen/inherit_graph_97.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_99.svg    |   24 +-
 docs/reference/api/doxygen/inherits.html           |    2 +-
 docs/reference/api/doxygen/instance__norm_8h.html  |    6 +-
 .../api/doxygen/instance__norm_8h_source.html      |   20 +-
 docs/reference/api/doxygen/int__set_8h.html        |    2 +-
 docs/reference/api/doxygen/int__set_8h_source.html |    2 +-
 .../api/doxygen/int__solver_8h_source.html         |    2 +-
 docs/reference/api/doxygen/ir_2expr_8h.html        |   34 -
 docs/reference/api/doxygen/ir_2expr_8h_source.html |  326 +-
 docs/reference/api/doxygen/layer__norm_8h.html     |    6 +-
 .../api/doxygen/layer__norm_8h_source.html         |   20 +-
 docs/reference/api/doxygen/layout_8h_source.html   |    2 +-
 .../doxygen/local__response__norm_8h_source.html   |    2 +-
 .../api/doxygen/memory__manager_8h_source.html     |    2 +-
 docs/reference/api/doxygen/namespacemembers.html   |   10 +-
 docs/reference/api/doxygen/namespacemembers_b.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_c.html |    8 +-
 docs/reference/api/doxygen/namespacemembers_d.html |    2 +-
 .../api/doxygen/namespacemembers_func.html         |   10 +-
 .../api/doxygen/namespacemembers_func_b.html       |    2 +-
 .../api/doxygen/namespacemembers_func_c.html       |    8 +-
 .../api/doxygen/namespacemembers_func_d.html       |    2 +-
 .../api/doxygen/namespacemembers_func_g.html       |    4 +-
 .../api/doxygen/namespacemembers_func_i.html       |    2 +-
 .../api/doxygen/namespacemembers_func_l.html       |    2 +-
 .../api/doxygen/namespacemembers_func_m.html       |    4 +-
 .../api/doxygen/namespacemembers_func_o.html       |   40 +-
 .../api/doxygen/namespacemembers_func_p.html       |    2 +-
 .../api/doxygen/namespacemembers_func_r.html       |    2 +-
 .../api/doxygen/namespacemembers_func_s.html       |   14 +-
 .../api/doxygen/namespacemembers_func_t.html       |    4 +-
 docs/reference/api/doxygen/namespacemembers_g.html |    4 +-
 docs/reference/api/doxygen/namespacemembers_i.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_l.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_m.html |    4 +-
 docs/reference/api/doxygen/namespacemembers_o.html |   40 +-
 docs/reference/api/doxygen/namespacemembers_p.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_r.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_s.html |   14 +-
 docs/reference/api/doxygen/namespacemembers_t.html |    4 +-
 docs/reference/api/doxygen/namespacemembers_u.html |    6 -
 .../api/doxygen/namespacemembers_vars.html         |    6 -
 docs/reference/api/doxygen/namespaces.html         |  154 +-
 docs/reference/api/doxygen/namespacetvm.html       |  362 +-
 .../api/doxygen/namespacetvm_1_1arith.html         |    4 +-
 .../api/doxygen/namespacetvm_1_1attr.html          |    4 +-
 .../reference/api/doxygen/namespacetvm_1_1ffi.html |   58 -
 .../api/doxygen/namespacetvm_1_1tirx.html          |   24 +-
 .../api/doxygen/namespacetvm_1_1tirx_1_1attr.html  |   10 +-
 .../doxygen/namespacetvm_1_1tirx_1_1builtin.html   |    2 +-
 .../api/doxygen/namespacetvm_1_1topi.html          |  282 +-
 .../api/doxygen/namespacetvm_1_1topi_1_1nn.html    |   48 +-
 .../api/doxygen/nested__msg_8h_source.html         |    2 +-
 .../reference/api/doxygen/operation_8h_source.html |    4 +-
 docs/reference/api/doxygen/pooling_8h_source.html  |   30 +-
 .../api/doxygen/ravel__unravel_8h_source.html      |    2 +-
 docs/reference/api/doxygen/reduction_8h.html       |   66 +-
 .../reference/api/doxygen/reduction_8h_source.html |   72 +-
 ...relax_2distributed_2global__info_8h_source.html |    4 +-
 docs/reference/api/doxygen/reorg_8h_source.html    |    2 +-
 docs/reference/api/doxygen/rms__norm_8h.html       |    6 +-
 .../reference/api/doxygen/rms__norm_8h_source.html |   16 +-
 .../doxygen/runtime_2disco_2builtin_8h_source.html |    2 +-
 .../api/doxygen/runtime_2tensor_8h_source.html     |    2 +-
 .../api/doxygen/schedule__rule_8h_source.html      |    7 +-
 .../api/doxygen/scope__stack_8h_source.html        |    2 +-
 docs/reference/api/doxygen/search/all_10.js        |  178 +-
 docs/reference/api/doxygen/search/all_11.js        |  515 ++-
 docs/reference/api/doxygen/search/all_12.js        |   14 +-
 docs/reference/api/doxygen/search/all_13.js        |  348 +-
 docs/reference/api/doxygen/search/all_14.js        |  809 ++--
 docs/reference/api/doxygen/search/all_15.js        |  652 ++--
 docs/reference/api/doxygen/search/all_16.js        |  140 +-
 docs/reference/api/doxygen/search/all_17.js        |  220 +-
 docs/reference/api/doxygen/search/all_18.js        |  142 +-
 docs/reference/api/doxygen/search/all_19.js        |    2 +-
 docs/reference/api/doxygen/search/all_1a.js        |   84 +-
 docs/reference/api/doxygen/search/all_2.js         |   54 +-
 docs/reference/api/doxygen/search/all_3.js         |  357 +-
 docs/reference/api/doxygen/search/all_4.js         |  528 +--
 docs/reference/api/doxygen/search/all_5.js         |  440 +--
 docs/reference/api/doxygen/search/all_6.js         |  316 +-
 docs/reference/api/doxygen/search/all_7.js         |  702 ++--
 docs/reference/api/doxygen/search/all_8.js         |   37 +-
 docs/reference/api/doxygen/search/all_a.js         |  530 ++-
 docs/reference/api/doxygen/search/all_b.js         |    8 +-
 docs/reference/api/doxygen/search/all_c.js         |  574 +--
 docs/reference/api/doxygen/search/all_d.js         |  232 +-
 docs/reference/api/doxygen/search/all_e.js         |  318 +-
 docs/reference/api/doxygen/search/all_f.js         |  199 +-
 docs/reference/api/doxygen/search/classes_0.js     |  126 +-
 docs/reference/api/doxygen/search/classes_1.js     |  103 +-
 docs/reference/api/doxygen/search/classes_10.js    |  274 +-
 docs/reference/api/doxygen/search/classes_11.js    |  166 +-
 docs/reference/api/doxygen/search/classes_12.js    |    4 +-
 docs/reference/api/doxygen/search/classes_13.js    |   40 +-
 docs/reference/api/doxygen/search/classes_14.js    |   32 +-
 docs/reference/api/doxygen/search/classes_2.js     |  114 +-
 docs/reference/api/doxygen/search/classes_3.js     |  128 +-
 docs/reference/api/doxygen/search/classes_4.js     |   92 +-
 docs/reference/api/doxygen/search/classes_5.js     |   66 +-
 docs/reference/api/doxygen/search/classes_6.js     |   34 +-
 docs/reference/api/doxygen/search/classes_7.js     |    6 +-
 docs/reference/api/doxygen/search/classes_8.js     |  121 +-
 docs/reference/api/doxygen/search/classes_9.js     |   48 +-
 docs/reference/api/doxygen/search/classes_a.js     |   58 +-
 docs/reference/api/doxygen/search/classes_b.js     |   30 +-
 docs/reference/api/doxygen/search/classes_c.js     |   40 +-
 docs/reference/api/doxygen/search/classes_d.js     |  146 +-
 docs/reference/api/doxygen/search/classes_e.js     |    2 +-
 docs/reference/api/doxygen/search/classes_f.js     |   54 +-
 docs/reference/api/doxygen/search/defines_0.js     |    6 +-
 docs/reference/api/doxygen/search/defines_1.js     |    2 +-
 docs/reference/api/doxygen/search/defines_2.js     |    4 +-
 docs/reference/api/doxygen/search/defines_3.js     |    2 +-
 docs/reference/api/doxygen/search/defines_4.js     |    4 +-
 docs/reference/api/doxygen/search/defines_5.js     |   10 +-
 docs/reference/api/doxygen/search/defines_6.js     |    4 +-
 docs/reference/api/doxygen/search/defines_7.js     |    4 +-
 docs/reference/api/doxygen/search/defines_8.js     |  108 +-
 docs/reference/api/doxygen/search/defines_9.js     |    2 +-
 docs/reference/api/doxygen/search/enums_0.js       |    4 +-
 docs/reference/api/doxygen/search/enums_1.js       |    6 +-
 docs/reference/api/doxygen/search/enums_2.js       |    6 +-
 docs/reference/api/doxygen/search/enums_3.js       |   10 +-
 docs/reference/api/doxygen/search/enums_4.js       |    6 +-
 docs/reference/api/doxygen/search/enums_5.js       |    4 +-
 docs/reference/api/doxygen/search/enums_6.js       |    4 +-
 docs/reference/api/doxygen/search/enums_7.js       |    2 +-
 docs/reference/api/doxygen/search/enums_8.js       |    2 +-
 docs/reference/api/doxygen/search/enums_9.js       |    6 +-
 docs/reference/api/doxygen/search/enums_a.js       |    4 +-
 docs/reference/api/doxygen/search/enums_b.js       |    6 +-
 docs/reference/api/doxygen/search/enums_c.js       |    2 +-
 docs/reference/api/doxygen/search/enums_d.js       |   12 +-
 docs/reference/api/doxygen/search/enums_e.js       |    8 +-
 docs/reference/api/doxygen/search/enums_f.js       |    2 +-
 docs/reference/api/doxygen/search/enumvalues_0.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_1.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_2.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_3.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_4.js  |  424 +-
 docs/reference/api/doxygen/search/enumvalues_5.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_6.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_7.js  |    2 +-
 docs/reference/api/doxygen/search/enumvalues_8.js  |    2 +-
 docs/reference/api/doxygen/search/files_0.js       |   16 +-
 docs/reference/api/doxygen/search/files_1.js       |   24 +-
 docs/reference/api/doxygen/search/files_10.js      |   38 +-
 docs/reference/api/doxygen/search/files_11.js      |    2 +-
 docs/reference/api/doxygen/search/files_12.js      |    8 +-
 docs/reference/api/doxygen/search/files_13.js      |    4 +-
 docs/reference/api/doxygen/search/files_2.js       |   26 +-
 docs/reference/api/doxygen/search/files_3.js       |   28 +-
 docs/reference/api/doxygen/search/files_4.js       |   22 +-
 docs/reference/api/doxygen/search/files_5.js       |   10 +-
 docs/reference/api/doxygen/search/files_6.js       |    6 +-
 docs/reference/api/doxygen/search/files_7.js       |   26 +-
 docs/reference/api/doxygen/search/files_8.js       |    8 +-
 docs/reference/api/doxygen/search/files_9.js       |   14 +-
 docs/reference/api/doxygen/search/files_a.js       |   10 +-
 docs/reference/api/doxygen/search/files_b.js       |    6 +-
 docs/reference/api/doxygen/search/files_c.js       |   14 +-
 docs/reference/api/doxygen/search/files_d.js       |    2 +-
 docs/reference/api/doxygen/search/files_e.js       |   12 +-
 docs/reference/api/doxygen/search/files_f.js       |   42 +-
 docs/reference/api/doxygen/search/functions_0.js   |  232 +-
 docs/reference/api/doxygen/search/functions_1.js   |  186 +-
 docs/reference/api/doxygen/search/functions_10.js  |    8 +-
 docs/reference/api/doxygen/search/functions_11.js  |  214 +-
 docs/reference/api/doxygen/search/functions_12.js  |  396 +-
 docs/reference/api/doxygen/search/functions_13.js  |  272 +-
 docs/reference/api/doxygen/search/functions_14.js  |  122 +-
 docs/reference/api/doxygen/search/functions_15.js  |  130 +-
 docs/reference/api/doxygen/search/functions_16.js  |   94 +-
 docs/reference/api/doxygen/search/functions_17.js  |    2 +-
 docs/reference/api/doxygen/search/functions_18.js  |   84 +-
 docs/reference/api/doxygen/search/functions_2.js   |  336 +-
 docs/reference/api/doxygen/search/functions_3.js   |  214 +-
 docs/reference/api/doxygen/search/functions_4.js   |  154 +-
 docs/reference/api/doxygen/search/functions_5.js   |  422 +-
 docs/reference/api/doxygen/search/functions_6.js   |  231 +-
 docs/reference/api/doxygen/search/functions_7.js   |   54 +-
 docs/reference/api/doxygen/search/functions_8.js   |  390 +-
 docs/reference/api/doxygen/search/functions_9.js   |    8 +-
 docs/reference/api/doxygen/search/functions_a.js   |    6 +-
 docs/reference/api/doxygen/search/functions_b.js   |  148 +-
 docs/reference/api/doxygen/search/functions_c.js   |  157 +-
 docs/reference/api/doxygen/search/functions_d.js   |  144 +-
 docs/reference/api/doxygen/search/functions_e.js   |  103 +-
 docs/reference/api/doxygen/search/functions_f.js   |  302 +-
 docs/reference/api/doxygen/search/namespaces_0.js  |   66 +-
 docs/reference/api/doxygen/search/related_0.js     |    2 +-
 docs/reference/api/doxygen/search/related_1.js     |   10 +-
 docs/reference/api/doxygen/search/related_2.js     |    2 +-
 docs/reference/api/doxygen/search/related_3.js     |    6 +-
 docs/reference/api/doxygen/search/related_4.js     |    8 +-
 docs/reference/api/doxygen/search/related_5.js     |    2 +-
 docs/reference/api/doxygen/search/related_6.js     |    6 +-
 docs/reference/api/doxygen/search/related_7.js     |    8 +-
 docs/reference/api/doxygen/search/related_8.js     |    2 +-
 docs/reference/api/doxygen/search/related_9.js     |    6 +-
 docs/reference/api/doxygen/search/related_a.js     |   14 +-
 docs/reference/api/doxygen/search/related_b.js     |    2 +-
 docs/reference/api/doxygen/search/related_c.js     |    8 +-
 docs/reference/api/doxygen/search/related_d.js     |    8 +-
 docs/reference/api/doxygen/search/typedefs_0.js    |    2 +-
 docs/reference/api/doxygen/search/typedefs_1.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_2.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_3.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_4.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_5.js    |   12 +-
 docs/reference/api/doxygen/search/typedefs_6.js    |  122 +-
 docs/reference/api/doxygen/search/typedefs_7.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_8.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_9.js    |    2 +-
 docs/reference/api/doxygen/search/typedefs_a.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_b.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_c.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_d.js    |   28 +-
 docs/reference/api/doxygen/search/variables_0.js   |   14 +-
 docs/reference/api/doxygen/search/variables_1.js   |   84 +-
 docs/reference/api/doxygen/search/variables_10.js  |    2 +-
 docs/reference/api/doxygen/search/variables_11.js  |   78 +-
 docs/reference/api/doxygen/search/variables_12.js  |  152 +-
 docs/reference/api/doxygen/search/variables_13.js  |   78 +-
 docs/reference/api/doxygen/search/variables_14.js  |   14 +-
 docs/reference/api/doxygen/search/variables_15.js  |   48 +-
 docs/reference/api/doxygen/search/variables_16.js  |   18 +-
 docs/reference/api/doxygen/search/variables_2.js   |   64 +-
 docs/reference/api/doxygen/search/variables_3.js   |   72 +-
 docs/reference/api/doxygen/search/variables_4.js   |  104 +-
 docs/reference/api/doxygen/search/variables_5.js   |   62 +-
 docs/reference/api/doxygen/search/variables_6.js   |  110 +-
 docs/reference/api/doxygen/search/variables_7.js   |   14 +-
 docs/reference/api/doxygen/search/variables_8.js   |    8 +-
 docs/reference/api/doxygen/search/variables_9.js   |   86 +-
 docs/reference/api/doxygen/search/variables_a.js   |  152 +-
 docs/reference/api/doxygen/search/variables_b.js   |   38 +-
 docs/reference/api/doxygen/search/variables_c.js   |   92 +-
 docs/reference/api/doxygen/search/variables_d.js   |   28 +-
 docs/reference/api/doxygen/search/variables_e.js   |   40 +-
 docs/reference/api/doxygen/search/variables_f.js   |   80 +-
 docs/reference/api/doxygen/softmax_8h_source.html  |    7 +-
 .../api/doxygen/stmt__functor_8h_source.html       |    2 +-
 .../api/doxygen/strided__slice_8h_source.html      |  147 +-
 .../api/doxygen/struct__info_8h_source.html        |    2 +-
 ...1_1ffi_1_1TypeTraits_3_01Bool_01_4-members.html |   82 -
 ...ructtvm_1_1ffi_1_1TypeTraits_3_01Bool_01_4.html |  131 -
 ...fi_1_1TypeTraits_3_01Bool_01_4__coll__graph.svg |   47 -
 ...1_1TypeTraits_3_01Bool_01_4__inherit__graph.svg |   47 -
 ...ffi_1_1TypeTraits_3_01Integer_01_4-members.html |   82 -
 ...ttvm_1_1ffi_1_1TypeTraits_3_01Integer_01_4.html |  131 -
 ...1_1TypeTraits_3_01Integer_01_4__coll__graph.svg |   47 -
 ...TypeTraits_3_01Integer_01_4__inherit__graph.svg |   47 -
 .../api/doxygen/te_2tensor_8h_source.html          |    2 +-
 docs/reference/api/doxygen/timer_8h_source.html    |    2 +-
 docs/reference/api/doxygen/tirx_2analysis_8h.html  |   12 +-
 .../api/doxygen/tirx_2analysis_8h_source.html      |   70 +-
 .../tirx_2script_2builder_2ir_8h_source.html       |    4 +-
 docs/reference/api/doxygen/topi_2nn_8h.html        |   12 +-
 docs/reference/api/doxygen/topi_2nn_8h_source.html |  361 +-
 docs/reference/api/doxygen/topi_2transform_8h.html |   48 +-
 .../api/doxygen/topi_2transform_8h_source.html     | 3274 ++++++++--------
 docs/reference/api/doxygen/topi_2utils_8h.html     |    6 +-
 .../api/doxygen/topi_2utils_8h_source.html         |    8 +-
 docs/reference/api/doxygen/var_8h_source.html      |    2 +-
 .../api/typedoc/classes/ArtifactCache.html         |   14 +-
 .../classes/ArtifactCrossOriginStorageCache.html   |   12 +-
 .../typedoc/classes/ArtifactIndexedDBCache.html    |   12 +-
 .../api/typedoc/classes/ArtifactOPFSCache.html     |   12 +-
 docs/reference/api/typedoc/classes/CacheState.html |   10 +-
 docs/reference/api/typedoc/classes/DLDataType.html |   10 +-
 docs/reference/api/typedoc/classes/DLDevice.html   |   10 +-
 docs/reference/api/typedoc/classes/Instance.html   |  108 +-
 docs/reference/api/typedoc/classes/LRUCache.html   |   14 +-
 .../classes/LinearCongruentialGenerator.html       |   10 +-
 docs/reference/api/typedoc/classes/Module.html     |   16 +-
 docs/reference/api/typedoc/classes/RPCServer.html  |    4 +-
 docs/reference/api/typedoc/classes/Scalar.html     |    8 +-
 docs/reference/api/typedoc/classes/TVMArray.html   |   16 +-
 docs/reference/api/typedoc/classes/TVMObject.html  |   12 +-
 docs/reference/api/typedoc/classes/Tensor.html     |   34 +-
 .../api/typedoc/classes/VirtualMachine.html        |   10 +-
 .../classes/_internal_.AsyncifyHandler.html        |   14 +-
 .../classes/_internal_.CachedCallStack.html        |   24 +-
 .../classes/_internal_.CanvasRenderManager.html    |    6 +-
 .../classes/_internal_.CrossOriginStorage.html     |    4 +-
 .../typedoc/classes/_internal_.Environment.html    |   12 +-
 .../api/typedoc/classes/_internal_.FFILibrary.html |    6 +-
 .../api/typedoc/classes/_internal_.Memory.html     |   22 +-
 .../api/typedoc/classes/_internal_.OPFSStore.html  |    4 +-
 .../typedoc/classes/_internal_.PackedFuncCell.html |   12 +-
 .../typedoc/classes/_internal_.RuntimeContext.html |    8 +-
 .../typedoc/classes/_internal_.WebGPUContext.html  |   26 +-
 .../enums/_internal_.AsyncifyStateKind.html        |    4 +-
 .../typedoc/enums/_internal_.RPCServerState.html   |    4 +-
 docs/reference/api/typedoc/functions/assert.html   |    2 +-
 .../api/typedoc/functions/createArtifactCache.html |    2 +-
 .../api/typedoc/functions/createPolyfillWASI.html  |    2 +-
 .../api/typedoc/functions/deleteTensorCache.html   |    4 +-
 .../api/typedoc/functions/detectGPUDevice.html     |    2 +-
 .../api/typedoc/functions/hasTensorInCache.html    |    4 +-
 .../api/typedoc/functions/instantiate.html         |    2 +-
 docs/reference/api/typedoc/functions/wasmPath.html |    2 +-
 .../typedoc/interfaces/ArtifactCacheTemplate.html  |   10 +-
 .../api/typedoc/interfaces/Disposable.html         |    4 +-
 .../interfaces/FetchTensorCacheOptions.html        |    4 +-
 .../typedoc/interfaces/GPUDeviceDetectOutput.html  |    4 +-
 .../api/typedoc/interfaces/InitProgressReport.html |    4 +-
 .../api/typedoc/interfaces/LibraryProvider.html    |    6 +-
 .../interfaces/TensorCacheAccessOptions.html       |    4 +-
 .../_internal_.CrossOriginHashDescriptor.html      |    4 +-
 .../_internal_.CrossOriginStorageAPI.html          |    4 +-
 .../_internal_.CrossOriginStorageHandle.html       |    4 +-
 ...CrossOriginStorageRequestFileHandleOptions.html |    4 +-
 .../_internal_.CrossOriginStorageWritable.html     |    4 +-
 .../interfaces/_internal_.FunctionInfo.html        |    4 +-
 .../interfaces/_internal_.OPFSDirectoryHandle.html |    4 +-
 .../interfaces/_internal_.OPFSFileHandle.html      |    4 +-
 .../interfaces/_internal_.OPFSStorageManager.html  |    4 +-
 .../interfaces/_internal_.OPFSStoreMetadata.html   |    4 +-
 .../_internal_.OPFSWritableFileStream.html         |    4 +-
 .../interfaces/_internal_.TensorCacheEntry.html    |    4 +-
 .../interfaces/_internal_.TensorShardEntry.html    |    4 +-
 .../api/typedoc/types/ArtifactCacheType.html       |    2 +-
 .../api/typedoc/types/InitProgressCallback.html    |    2 +-
 docs/reference/api/typedoc/types/PackedFunc.html   |    2 +-
 .../typedoc/types/_internal_.AsyncPackedFunc.html  |    2 +-
 .../types/_internal_.FObjectConstructor.html       |    2 +-
 .../types/_internal_.FTVMFFIWasmSafeCallType.html  |    2 +-
 .../types/_internal_.FTVMWasmAllocSpace.html       |    2 +-
 .../types/_internal_.FTVMWasmFreeSpace.html        |    2 +-
 .../api/typedoc/types/_internal_.Pointer.html      |    2 +-
 .../api/typedoc/types/_internal_.RequestLike.html  |    2 +-
 .../typedoc/types/_internal_.TVMObjectBase.html    |    2 +-
 docs/searchindex.js                                |    2 +-
 docs/sg_execution_times.html                       |   42 +-
 443 files changed, 14980 insertions(+), 18020 deletions(-)

diff --git a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip
index cb3340ed5a6..0d5e7b01bb7 100644
Binary files a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip and b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip differ
diff --git a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip
index 152e7f1026b..e96583180d0 100644
Binary files a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip and b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip differ
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 8eaaa8c10f9..42547e701a8 100644
Binary files a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip and b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip differ
diff --git a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip
index 43a18b03e33..c2d00de3567 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip
index c087c1080a5..45d2d325600 100644
Binary files a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip and b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip differ
diff --git a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip
index ed7dbf3430f..867463f6245 100644
Binary files a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip and b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index ae1b35b41ba..4ae43e380c1 100644
Binary files a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip and b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip differ
diff --git a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip
index 09290df9534..441443e5a86 100644
Binary files a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip and b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip differ
diff --git a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip
index 87f049c6576..65714effa2c 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip
index b6cdece3288..77976948156 100644
Binary files a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip and b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index 210529b0cca..90b97f3a90c 100644
Binary files a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip and b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip differ
diff --git a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip
index e871222ae42..f11eab751a8 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip
index 13994448346..fb65f7dd04c 100644
Binary files a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip and b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index 35942aadd8d..a77625786e7 100644
Binary files a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip and b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip differ
diff --git a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip
index a07828a0317..b31f2d47efc 100644
Binary files a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip and b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip differ
diff --git a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip
index 79dc2b27246..56a2ad8d44d 100644
Binary files a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip and b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip differ
diff --git a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
index 15612eb7daf..74074ad82a0 100644
--- a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.206** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.274** total execution time for 2 files **from deep_dive/relax/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
-     - 00:00.151
+     - 00:00.205
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
-     - 00:00.054
+     - 00:00.069
      - 0.0
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
index 83820f06ccd..cd827240b98 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.684** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.881** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
 
 .. container::
 
@@ -32,14 +32,14 @@ Computation times
    * - Example
      - Time
      - Mem (MB)
-   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
-     - 00:00.290
-     - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
-     - 00:00.272
+     - 00:00.370
+     - 0.0
+   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
+     - 00:00.355
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``dlight_gpu_scheduling.py``)
-     - 00:00.115
+     - 00:00.149
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``meta_schedule.py``)
      - 00:00.007
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
index b61ea559d3f..b21fd38dda7 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
@@ -321,17 +321,17 @@ Now let's check the runtime dynamic shape inference:
 
  .. code-block:: none
 
-    [[0.87605053 1.4223425  0.8555239  0.30574816]
-     [1.2950574  1.1620668  1.0739512  0.5585139 ]
-     [0.87484926 0.97842544 0.70074207 0.44445872]
-     [0.7871598  0.79570484 0.5154304  0.47800004]]
-    [[34.71377  32.066566 30.385695 ... 31.594973 33.47251  35.31694 ]
-     [33.22434  30.640093 29.49065  ... 29.305048 29.104242 31.91746 ]
-     [36.652023 31.124804 29.54882  ... 30.844723 33.967163 33.85006 ]
+    [[0.7397603  0.84289795 0.9048339  0.6521329 ]
+     [1.350149   1.2390505  1.0537556  1.4551989 ]
+     [1.3534027  1.352263   0.95352805 1.3735648 ]
+     [1.5440183  1.3125088  0.9787983  1.7860618 ]]
+    [[32.16232  33.180965 31.07923  ... 31.06969  29.174202 33.321423]
+     [27.426733 27.968555 25.970064 ... 24.30446  25.91544  28.109522]
+     [31.22875  32.428307 30.243193 ... 30.239061 28.645208 33.52949 ]
      ...
-     [32.72303  30.089033 30.613388 ... 28.888977 32.083237 31.174505]
-     [36.815998 30.792524 30.251741 ... 32.879444 33.519146 35.034744]
-     [32.010845 29.89582  26.281696 ... 29.116394 28.73699  31.073889]]
+     [33.4798   34.17281  31.749516 ... 30.407784 32.447285 34.827957]
+     [34.69952  35.436428 32.866135 ... 31.815287 33.066933 36.128185]
+     [31.155693 31.400623 30.821003 ... 28.264433 29.794798 32.643036]]
 
 
 
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
index f56d98422f1..9b003959e73 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
@@ -120,7 +120,7 @@ original implementation.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       2.5430       2.5430       2.5430       2.5430       0.0000                  
+       2.7579       2.7579       2.7579       2.7579       0.0000                  
 
 
 
@@ -294,7 +294,7 @@ action involves reordering these two loops.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.8620       0.8620       0.8620       0.8620       0.0000                  
+       0.8621       0.8621       0.8621       0.8621       0.0000                  
 
 
 
@@ -424,7 +424,7 @@ from the reduction update via the **decompose_reduction** primitive.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.3504       0.3504       0.3504       0.3504       0.0000                  
+       0.3397       0.3397       0.3397       0.3397       0.0000                  
 
 
 
diff --git a/docs/_sources/get_started/tutorials/ir_module.rst.txt b/docs/_sources/get_started/tutorials/ir_module.rst.txt
index 373ad260075..0fe77d819c8 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst.txt
+++ b/docs/_sources/get_started/tutorials/ir_module.rst.txt
@@ -696,8 +696,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
 
  .. code-block:: none
 
-    [[-0.02640051 -0.20923653 -0.15432188  0.16567993  0.03962397  0.15501335
-      -0.196042    0.12372848  0.10559898 -0.04188694]]
+    [[-0.1460061  -0.13306132  0.14906624  0.00871299  0.25944084  0.05276416
+       0.02317481  0.18551514 -0.05422728  0.0849845 ]]
 
 
 
@@ -763,8 +763,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
 
  .. code-block:: none
 
-    [[-0.02640065 -0.20923647 -0.15432188  0.16567993  0.03962396  0.15501332
-      -0.19604199  0.12372851  0.10559905 -0.04188696]]
+    [[-0.14600612 -0.13306141  0.14906627  0.00871294  0.25944075  0.05276415
+       0.02317481  0.18551512 -0.05422728  0.0849845 ]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst.txt b/docs/_sources/get_started/tutorials/quick_start.rst.txt
index a32f2004b08..a4deeb7246d 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst.txt
+++ b/docs/_sources/get_started/tutorials/quick_start.rst.txt
@@ -224,8 +224,8 @@ different devices.
 
  .. code-block:: none
 
-    [[24792.55  24424.479 24992.705 23845.793 25643.871 25898.896 24195.896
-      24509.043 26006.482 24929.809]]
+    [[24704.334 25585.912 24097.611 23855.104 26401.877 26983.24  25119.998
+      25823.37  25268.986 23532.023]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
index 7ab469c92fc..eddb7202a1c 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:06.662** total execution time for 2 files **from get_started/tutorials**:
+**00:08.146** total execution time for 2 files **from get_started/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
-     - 00:06.510
+     - 00:07.962
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
-     - 00:00.151
+     - 00:00.183
      - 0.0
diff --git a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
index 4689c3a526d..3e046ef28e3 100644
--- a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
@@ -267,7 +267,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    9e-08 secs/op
+    1.13e-07 secs/op
 
 
 
@@ -857,8 +857,8 @@ This workflow is applicable to various deployment scenarios:
     Converted PyTorch model to Relax:
       - Number of parameters: 4
     Using local target for demonstration
-    Exported library to: /tmp/tmppjg0ywte/model_deployed.so
-    Saved parameters to: /tmp/tmppjg0ywte/model_params.npz
+    Exported library to: /tmp/tmpo8and3oc/model_deployed.so
+    Saved parameters to: /tmp/tmpo8and3oc/model_params.npz
 
     RPC workflow (works for any remote device):
     ==================================================
diff --git a/docs/_sources/how_to/tutorials/customize_opt.rst.txt b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
index 1a8302d0985..62dea1c1ecb 100644
--- a/docs/_sources/how_to/tutorials/customize_opt.rst.txt
+++ b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
@@ -426,8 +426,8 @@ We can build and deploy the optimized model to the TVM runtime.
 
  .. code-block:: none
 
-    [[24373.285 24638.955 25102.766 26528.525 25739.695 25403.031 26658.447
-      24632.36  24329.238 25324.207]]
+    [[26198.455 26175.5   24992.52  24285.572 26568.922 26492.033 24006.06
+      24769.215 25870.852 26179.355]]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
index 19aa23d06c3..64864c4d97d 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
@@ -54,7 +54,7 @@ PyTorch.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-       0%|          | 0.00/44.7M [00:00<?, ?B/s]      71%|███████▏  | 31.9M/44.7M [00:00<00:00, 334MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 360MB/s]
+       0%|          | 0.00/44.7M [00:00<?, ?B/s]      68%|██████▊   | 30.5M/44.7M [00:00<00:00, 319MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 344MB/s]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
index 28c8baaf280..ea8523a2710 100644
--- a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:15.485** total execution time for 8 files **from how_to/tutorials**:
+**00:18.852** total execution time for 8 files **from how_to/tutorials**:
 
 .. container::
 
@@ -33,25 +33,25 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
-     - 00:10.254
+     - 00:12.974
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``import_model.py``)
-     - 00:03.334
+     - 00:03.701
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
-     - 00:00.715
-     - 0.0
-   * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-     - 00:00.580
+     - 00:00.835
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
-     - 00:00.553
+     - 00:00.714
+     - 0.0
+   * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
+     - 00:00.574
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``bring_your_own_codegen.py``)
-     - 00:00.042
+     - 00:00.046
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_mix_python_and_tvm_with_pymodule.py` (``mix_python_and_tvm_with_pymodule.py``)
-     - 00:00.004
+     - 00:00.005
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_export_and_load_executable.py` (``export_and_load_executable.py``)
      - 00:00.002
diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt
index f6fec75c1d9..68f58d55420 100644
--- a/docs/_sources/sg_execution_times.rst.txt
+++ b/docs/_sources/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:23.037** total execution time for 16 files **from all galleries**:
+**00:28.153** total execution time for 16 files **from all galleries**:
 
 .. container::
 
@@ -33,49 +33,49 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
-     - 00:10.254
+     - 00:12.974
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
-     - 00:06.510
+     - 00:07.962
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``../how_to/tutorials/import_model.py``)
-     - 00:03.334
+     - 00:03.701
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
-     - 00:00.715
-     - 0.0
-   * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
-     - 00:00.580
+     - 00:00.835
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
-     - 00:00.553
+     - 00:00.714
      - 0.0
-   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
-     - 00:00.290
+   * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
+     - 00:00.574
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
-     - 00:00.272
+     - 00:00.370
      - 0.0
-   * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
-     - 00:00.151
+   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
+     - 00:00.355
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
-     - 00:00.151
+     - 00:00.205
+     - 0.0
+   * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
+     - 00:00.183
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``../deep_dive/tensor_ir/tutorials/dlight_gpu_scheduling.py``)
-     - 00:00.115
+     - 00:00.149
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
-     - 00:00.054
+     - 00:00.069
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``../how_to/tutorials/bring_your_own_codegen.py``)
-     - 00:00.042
+     - 00:00.046
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``../deep_dive/tensor_ir/tutorials/meta_schedule.py``)
      - 00:00.007
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_mix_python_and_tvm_with_pymodule.py` (``../how_to/tutorials/mix_python_and_tvm_with_pymodule.py``)
-     - 00:00.004
+     - 00:00.005
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_export_and_load_executable.py` (``../how_to/tutorials/export_and_load_executable.py``)
      - 00:00.002
diff --git a/docs/commit_hash b/docs/commit_hash
index ba304e5a746..74ca7852213 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-e89570fa8321ebf9951e6d8f512eda764216b256
+878903f574ba1e948618e78fc0b90e246af5e3be
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index 7bc19e7095b..6fd18178ee6 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-relax-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.206</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.274</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,11 +319,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="relax_creation.html#sphx-glr-deep-dive-relax-tutorials-relax-creation-py"><span class="std std-ref">Relax Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_creation.py</span></code>)</p></td>
-<td><p>00:00.151</p></td>
+<td><p>00:00.205</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="relax_transformation.html#sphx-glr-deep-dive-relax-tutorials-relax-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_transformation.py</span></code>)</p></td>
-<td><p>00:00.054</p></td>
+<td><p>00:00.069</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
index fbdd9b08ddd..067837e1321 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-tensor-ir-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.684</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.881</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -318,16 +318,16 @@ $(document).ready( function () {
 </tr>
 </thead>
 <tbody>
-<tr class="row-even"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
-<td><p>00:00.290</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
+<td><p>00:00.370</p></td>
 <td><p>0.0</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
-<td><p>00:00.272</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
+<td><p>00:00.355</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="dlight_gpu_scheduling.html#sphx-glr-deep-dive-tensor-ir-tutorials-dlight-gpu-scheduling-py"><span class="std std-ref">DLight: Rule-Based GPU Scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">dlight_gpu_scheduling.py</span></code>)</p></td>
-<td><p>00:00.115</p></td>
+<td><p>00:00.149</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="meta_schedule.html#sphx-glr-deep-dive-tensor-ir-tutorials-meta-schedule-py"><span class="std std-ref">MetaSchedule: Search-Based Auto-Tuning</span></a> (<code class="docutils literal notranslate"><span class="pre">meta_schedule.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index f9eb346930a..bed2d42a2b6 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -495,17 +495,17 @@ be used to ascertain the shape and data type of a TensorIR.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">evaluate_dynamic_shape</span><span class="p">(</span><span class="n">dyn_shape_lib</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <span class="n">n</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <a href="../../../reference/api/python/tirx/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-gl [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.87605053 1.4223425  0.8555239  0.30574816]
- [1.2950574  1.1620668  1.0739512  0.5585139 ]
- [0.87484926 0.97842544 0.70074207 0.44445872]
- [0.7871598  0.79570484 0.5154304  0.47800004]]
-[[34.71377  32.066566 30.385695 ... 31.594973 33.47251  35.31694 ]
- [33.22434  30.640093 29.49065  ... 29.305048 29.104242 31.91746 ]
- [36.652023 31.124804 29.54882  ... 30.844723 33.967163 33.85006 ]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.7397603  0.84289795 0.9048339  0.6521329 ]
+ [1.350149   1.2390505  1.0537556  1.4551989 ]
+ [1.3534027  1.352263   0.95352805 1.3735648 ]
+ [1.5440183  1.3125088  0.9787983  1.7860618 ]]
+[[32.16232  33.180965 31.07923  ... 31.06969  29.174202 33.321423]
+ [27.426733 27.968555 25.970064 ... 24.30446  25.91544  28.109522]
+ [31.22875  32.428307 30.243193 ... 30.239061 28.645208 33.52949 ]
  ...
- [32.72303  30.089033 30.613388 ... 28.888977 32.083237 31.174505]
- [36.815998 30.792524 30.251741 ... 32.879444 33.519146 35.034744]
- [32.010845 29.89582  26.281696 ... 29.116394 28.73699  31.073889]]
+ [33.4798   34.17281  31.749516 ... 30.407784 32.447285 34.827957]
+ [34.69952  35.436428 32.866135 ... 31.815287 33.066933 36.128185]
+ [31.155693 31.400623 30.821003 ... 28.264433 29.794798 32.643036]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
index 6b444601771..9d9831c0dc5 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -374,7 +374,7 @@ original implementation.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   2.5430       2.5430       2.5430       2.5430       0.0000
+   2.7579       2.7579       2.7579       2.7579       0.0000
 </pre></div>
 </div>
 <section id="initialization-schedule">
@@ -472,7 +472,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.8620       0.8620       0.8620       0.8620       0.0000
+   0.8621       0.8621       0.8621       0.8621       0.0000
 </pre></div>
 </div>
 </section>
@@ -568,7 +568,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.3504       0.3504       0.3504       0.3504       0.0000
+   0.3397       0.3397       0.3397       0.3397       0.0000
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index c9fb6276723..0e01338633f 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -819,8 +819,8 @@ backends.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.02640051 -0.20923653 -0.15432188  0.16567993  0.03962397  0.15501335
-  -0.196042    0.12372848  0.10559898 -0.04188694]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.1460061  -0.13306132  0.14906624  0.00871299  0.25944084  0.05276416
+   0.02317481  0.18551514 -0.05422728  0.0849845 ]]
 </pre></div>
 </div>
 </section>
@@ -854,8 +854,8 @@ the details of <code class="docutils literal notranslate"><span class="pre">DLig
 <span class="k">assert</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">,</span> <span class="n">gpu_out</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-3</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.02640065 -0.20923647 -0.15432188  0.16567993  0.03962396  0.15501332
-  -0.19604199  0.12372851  0.10559905 -0.04188696]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.14600612 -0.13306141  0.14906627  0.00871294  0.25944075  0.05276415
+   0.02317481  0.18551512 -0.05422728  0.0849845 ]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index e431957e04c..b941566645c 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -460,8 +460,8 @@ different devices.</p>
 <span class="nb">print</span><span class="p">(</span><a href="../../reference/api/python/runtime/vm.html#tvm.runtime.vm.VirtualMachine" title="tvm.runtime.vm.VirtualMachine" class="sphx-glr-backref-module-tvm-runtime-vm sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">vm</span></a><span class="p">[</span><span class="s2">&quot;forward&quot;</span><span class="p">](</span><span class="n">tvm_data</span><span class="p">,</span> <span class="o">*</span><a href="http [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24792.55  24424.479 24992.705 23845.793 25643.871 25898.896 24195.896
-  24509.043 26006.482 24929.809]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24704.334 25585.912 24097.611 23855.104 26401.877 26983.24  25119.998
+  25823.37  25268.986 23532.023]]
 </pre></div>
 </div>
 <p>Our goal is to bring machine learning to the application with any language of interest,
diff --git a/docs/get_started/tutorials/sg_execution_times.html b/docs/get_started/tutorials/sg_execution_times.html
index 99e79b32383..75dcf652aba 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:06.662</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:08.146</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,11 +319,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:06.510</p></td>
+<td><p>00:07.962</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="quick_start.html#sphx-glr-get-started-tutorials-quick-start-py"><span class="std std-ref">Quick Start</span></a> (<code class="docutils literal notranslate"><span class="pre">quick_start.py</span></code>)</p></td>
-<td><p>00:00.151</p></td>
+<td><p>00:00.183</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tutorials/cross_compilation_and_rpc.html b/docs/how_to/tutorials/cross_compilation_and_rpc.html
index 23f1006ee78..816cbec8780 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -474,7 +474,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
 <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9e-08 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.13e-07 secs/op
 </pre></div>
 </div>
 <dl>
@@ -990,8 +990,8 @@ for ONNX models. Simply replace <code class="docutils literal notranslate"><span
 Converted PyTorch model to Relax:
   - Number of parameters: 4
 Using local target for demonstration
-Exported library to: /tmp/tmppjg0ywte/model_deployed.so
-Saved parameters to: /tmp/tmppjg0ywte/model_params.npz
+Exported library to: /tmp/tmpo8and3oc/model_deployed.so
+Saved parameters to: /tmp/tmpo8and3oc/model_params.npz
 
 RPC workflow (works for any remote device):
 ==================================================
diff --git a/docs/how_to/tutorials/customize_opt.html b/docs/how_to/tutorials/customize_opt.html
index d4c011f2533..f74d27ada91 100644
--- a/docs/how_to/tutorials/customize_opt.html
+++ b/docs/how_to/tutorials/customize_opt.html
@@ -621,8 +621,8 @@ pushing the performance to the limit. The current optimization may not be the be
 <span class="nb">print</span><span class="p">(</span><span class="n">gpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24373.285 24638.955 25102.766 26528.525 25739.695 25403.031 26658.447
-  24632.36  24329.238 25324.207]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[26198.455 26175.5   24992.52  24285.572 26568.922 26492.033 24006.06
+  24769.215 25870.852 26179.355]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/e2e_opt_model.html b/docs/how_to/tutorials/e2e_opt_model.html
index b570a8c47a2..9543abf7e6a 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -332,8 +332,8 @@ PyTorch.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/resnet18-f37072fd.pth&quot; to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
 
   0%|          | 0.00/44.7M [00:00&lt;?, ?B/s]
- 71%|███████▏  | 31.9M/44.7M [00:00&lt;00:00, 334MB/s]
-100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 360MB/s]
+ 68%|██████▊   | 30.5M/44.7M [00:00&lt;00:00, 319MB/s]
+100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 344MB/s]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/sg_execution_times.html b/docs/how_to/tutorials/sg_execution_times.html
index 3213fa6e445..02f9c41cfdc 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
             
   <section id="computation-times">
 <span id="sphx-glr-how-to-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:15.485</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>00:18.852</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,31 +319,31 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="optimize_llm.html#sphx-glr-how-to-tutorials-optimize-llm-py"><span class="std std-ref">Optimize Large Language Model</span></a> (<code class="docutils literal notranslate"><span class="pre">optimize_llm.py</span></code>)</p></td>
-<td><p>00:10.254</p></td>
+<td><p>00:12.974</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="import_model.html#sphx-glr-how-to-tutorials-import-model-py"><span class="std std-ref">Importing Models from ML Frameworks</span></a> (<code class="docutils literal notranslate"><span class="pre">import_model.py</span></code>)</p></td>
-<td><p>00:03.334</p></td>
+<td><p>00:03.701</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="customize_opt.html#sphx-glr-how-to-tutorials-customize-opt-py"><span class="std std-ref">Customize Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">customize_opt.py</span></code>)</p></td>
-<td><p>00:00.715</p></td>
+<td><p>00:00.835</p></td>
 <td><p>0.0</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-how-to-tutorials-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
-<td><p>00:00.580</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="e2e_opt_model.html#sphx-glr-how-to-tutorials-e2e-opt-model-py"><span class="std std-ref">End-to-End Optimize Model</span></a> (<code class="docutils literal notranslate"><span class="pre">e2e_opt_model.py</span></code>)</p></td>
+<td><p>00:00.714</p></td>
 <td><p>0.0</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="e2e_opt_model.html#sphx-glr-how-to-tutorials-e2e-opt-model-py"><span class="std std-ref">End-to-End Optimize Model</span></a> (<code class="docutils literal notranslate"><span class="pre">e2e_opt_model.py</span></code>)</p></td>
-<td><p>00:00.553</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-how-to-tutorials-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
+<td><p>00:00.574</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_codegen.html#sphx-glr-how-to-tutorials-bring-your-own-codegen-py"><span class="std std-ref">Bring Your Own Codegen: NPU Backend Example</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_codegen.py</span></code>)</p></td>
-<td><p>00:00.042</p></td>
+<td><p>00:00.046</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="mix_python_and_tvm_with_pymodule.html#sphx-glr-how-to-tutorials-mix-python-and-tvm-with-pymodule-py"><span class="std std-ref">Mix Python/PyTorch with TVM Using BasePyModule</span></a> (<code class="docutils literal notranslate"><span class="pre">mix_python_and_tvm_with_pymodule.py</span></code>)</p></td>
-<td><p>00:00.004</p></td>
+<td><p>00:00.005</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="export_and_load_executable.html#sphx-glr-how-to-tutorials-export-and-load-executable-py"><span class="std std-ref">Export and Load Relax Executables</span></a> (<code class="docutils literal notranslate"><span class="pre">export_and_load_executable.py</span></code>)</p></td>
diff --git a/docs/reference/api/doxygen/analyzer_8h.html b/docs/reference/api/doxygen/analyzer_8h.html
index bc109e981ae..c0ddd0248de 100644
--- a/docs/reference/api/doxygen/analyzer_8h.html
+++ b/docs/reference/api/doxygen/analyzer_8h.html
@@ -133,7 +133,7 @@ Classes</h2></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constraint context.  <a href="classtvm_1_1arith_1_1ConstraintContext.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">tvm::arith::IntSetAnalyzer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set analyzer.  <a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Integer set analyzer.  <a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#details">More...</a><br /></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> that contains bunch of sub-analyzers.  <a href="classtvm_1_1arith_1_1Analyzer.html#details">More...</a><br /></td></tr>
diff --git a/docs/reference/api/doxygen/analyzer_8h_source.html b/docs/reference/api/doxygen/analyzer_8h_source.html
index 55f7ab7a512..445481512c4 100644
--- a/docs/reference/api/doxygen/analyzer_8h_source.html
+++ b/docs/reference/api/doxygen/analyzer_8h_source.html
@@ -447,7 +447,7 @@ $(function() {
 <div class="line"><a name="l00791"></a><span class="lineno">  791</span>&#160;}  <span class="comment">// namespace tvm</span></div>
 <div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// TVM_ARITH_ANALYZER_H_</span></div>
 <div class="ttc" id="aclasstvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Reference to PrimExprNode.</div><div class="ttdef"><b>Definition:</b> expr.h:123</div></div>
-<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:687</div></div>
+<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:585</div></div>
 <div class="ttc" id="aclasstvm_1_1With_html"><div class="ttname"><a href="classtvm_1_1With.html">tvm::With</a></div><div class="ttdoc">RAII wrapper function to enter and exit a context object similar to python's with syntax.</div><div class="ttdef"><b>Definition:</b> with_context.h:59</div></div>
 <div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></div><div class="ttdoc">Analyzer that contains bunch of sub-analyzers.</div><div class="ttdef"><b>Definition:</b> analyzer.h:635</div></div>
 <div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a0c3f8b7ad1804e4dc8d4ca451ddc35b9"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a0c3f8b7ad1804e4dc8d4ca451ddc35b9">tvm::arith::Analyzer::Bind</a></div><div class="ttdeci">void Bind(const ffi::Map&lt; Var, Range &gt; &amp;variables, bool allow_override=false)</div><div class="ttdoc">Bind all the vars in the Map.</div></div>
@@ -554,7 +554,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1arith_html_ae300654bf1788008de90f1e77fbaa7fe"><div class="ttname"><a href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe">tvm::arith::operator&amp;</a></div><div class="ttdeci">constexpr CompareResult operator&amp;(CompareResult lhs, CompareResult rhs)</div><div class="ttdef"><b>Definition:</b> analyzer.h:463</div></div>
 <div class="ttc" id="anamespacetvm_1_1te_html_ae0c71f84710b436cbe0b32289d0838f4"><div class="ttname"><a href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">tvm::te::var</a></div><div class="ttdeci">Var var(std::string name_hint, DataType t=DataType::Int(32))</div><div class="ttdoc">Construct a new Var expression.</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_ae97ec08fd3edb5b1a83e46171c4a7939"><div class="ttname"><a href="namespacetvm_1_1tirx.html#ae97ec08fd3edb5b1a83e46171c4a7939">tvm::tirx::maximum</a></div><div class="ttdeci">const Op &amp; maximum()</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="anamespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values</div></div>
 <div class="ttc" id="anamespacetvm_html_a3b37fa55ea93d6868751a2441996b072"><div class="ttname"><a href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">tvm::min_value</a></div><div class="ttdeci">PrimExpr min_value(const DataType &amp;dtype, Span span=Span())</div></div>
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index df682832d5c..1d48b97950f 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -79,9 +79,9 @@ $(function() {
 <tr id="row_0_0_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html" target="_self">CanonicalSimplifier</a></td><td class="desc">Canonical-form based simplifier </td></tr>
 <tr id="row_0_0_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html" target="_self">TransitiveComparisonAnalyzer</a></td><td class="desc">Using previously specified knowns, compare the expressions provided </td></tr>
 <tr id="row_0_0_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html" target="_self">ConstraintContext</a></td><td class="desc">Constraint context </td></tr>
-<tr id="row_0_0_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">IntSetAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set analyzer </td></tr>
+<tr id="row_0_0_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">IntSetAnalyzer</a></td><td class="desc">Integer set analyzer </td></tr>
 <tr id="row_0_0_11_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" target="_self">Analyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> that contains bunch of sub-analyzers </td></tr>
-<tr id="row_0_0_12_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" target="_self">IntSetNode</a></td><td class="desc">Base class of all <a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set containers. represent a set of integers in one dimension </td></tr>
+<tr id="row_0_0_12_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" target="_self">IntSetNode</a></td><td class="desc">Base class of all Integer set containers. represent a set of integers in one dimension </td></tr>
 <tr id="row_0_0_13_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSet.html" target="_self">IntSet</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" title="Base class of all Integer set containers. represent a set of integers in one dimension.">IntSetNode</a> </td></tr>
 <tr id="row_0_0_14_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_self">IntGroupBoundsNode</a></td><td class="desc">Represent integer grouped bounds which are classified into lower bounds (inclusive), upper bounds (inclusive) and equalities. It also contains coefficient as a multiplier for the bounds, i.e., [...]
 <tr id="row_0_0_15_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html" target="_self">IntGroupBounds</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">IntGroupBoundsNod [...]
@@ -102,12 +102,10 @@ $(function() {
 <tr id="row_0_1_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1ffi.html" target="_self">ffi</a></td><td class="desc"></td></tr>
 <tr id="row_0_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html" target="_self">TypeTraits&lt; PrimExpr &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_0_1_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html" target="_self">TypeTraits&lt; IntImm &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Integer_01_4.html" target="_self">TypeTraits&lt; Integer &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html" target="_self">TypeTraits&lt; FloatImm &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Bool_01_4.html" target="_self">TypeTraits&lt; Bool &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01relax_1_1NestedMsg_3_01T_01_4_01_4.html" target="_self">TypeTraits&lt; relax::NestedMsg&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01runtime_1_1DataType_01_4.html" target="_self">TypeTraits&lt; runtime::DataType &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_1_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1tirx_1_1StringImm_01_4.html" target="_self">TypeTraits&lt; tvm::tirx::StringImm &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html" target="_self">TypeTraits&lt; FloatImm &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01relax_1_1NestedMsg_3_01T_01_4_01_4.html" target="_self">TypeTraits&lt; relax::NestedMsg&lt; T &gt; &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01runtime_1_1DataType_01_4.html" target="_self">TypeTraits&lt; runtime::DataType &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_1_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1tirx_1_1StringImm_01_4.html" target="_self">TypeTraits&lt; tvm::tirx::StringImm &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_0_2_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_2_" class="arrow" onclick="toggleFolder('0_2_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1instrument.html" target="_self">instrument</a></td><td class="desc"></td></tr>
 <tr id="row_0_2_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_self">PassInstrumentNode</a></td><td class="desc"><a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.html" title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">Pass [...]
 <tr id="row_0_2_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html" target="_self">PassInstrument</a></td><td class="desc">Managed reference class for <a class="el" href="classtvm_1_1instrument_1_1PassInstrumentNode.html" title="PassInstrumentNode forms an instrument implementation. It provides API for users to regist [...]
@@ -864,78 +862,76 @@ $(function() {
 <tr id="row_0_41_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IntImm.html" target="_self">IntImm</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1IntImmNode.html" title="Constant integer literals in the program.">IntImmNode</a> </td></tr>
 <tr id="row_0_42_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FloatImmNode.html" target="_self">FloatImmNode</a></td><td class="desc">Constant floating point literals in the program </td></tr>
 <tr id="row_0_43_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FloatImm.html" target="_self">FloatImm</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1FloatImmNode.html" title="Constant floating point literals in the program.">FloatImmNode</a> </td></tr>
-<tr id="row_0_44_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Bool.html" target="_self">Bool</a></td><td class="desc">Boolean constant </td></tr>
-<tr id="row_0_45_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Integer.html" target="_self">Integer</a></td><td class="desc">Container of constant int that adds more constructors </td></tr>
-<tr id="row_0_46_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1RangeNode.html" target="_self">RangeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> over one dimension </td></tr>
-<tr id="row_0_47_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Range.html" target="_self">Range</a></td><td class="desc"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> container <br  />
+<tr id="row_0_44_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1RangeNode.html" target="_self">RangeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> over one dimension </td></tr>
+<tr id="row_0_45_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Range.html" target="_self">Range</a></td><td class="desc"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> container <br  />
  </td></tr>
-<tr id="row_0_48_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseFuncNode.html" target="_self">BaseFuncNode</a></td><td class="desc">Base node of all functions </td></tr>
-<tr id="row_0_49_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseFunc.html" target="_self">BaseFunc</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseFuncNode.html" title="Base node of all functions.">BaseFuncNode</a> </td></tr>
-<tr id="row_0_50_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalInfoNode.html" target="_self">GlobalInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1GlobalInfo.html" title="Managed reference to GlobalInfoNode.">GlobalInfo</a> are globally static object that are referred by the IR itself. Base node for all global info that can  [...]
-<tr id="row_0_51_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalInfo.html" target="_self">GlobalInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1GlobalInfoNode.html" title="GlobalInfo are globally static object that are referred by the IR itself. Base node for all global in...">GlobalInfoNode</a> </td></tr>
-<tr id="row_0_52_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VDeviceNode.html" target="_self">VDeviceNode</a></td><td class="desc">A global info subclass for virtual devices </td></tr>
-<tr id="row_0_53_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VDevice.html" target="_self">VDevice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1VDeviceNode.html" title="A global info subclass for virtual devices.">VDeviceNode</a> </td></tr>
-<tr id="row_0_54_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DummyGlobalInfoNode.html" target="_self">DummyGlobalInfoNode</a></td><td class="desc">A dummy global info sub-class for testing purpose </td></tr>
-<tr id="row_0_55_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DummyGlobalInfo.html" target="_self">DummyGlobalInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1DummyGlobalInfoNode.html" title="A dummy global info sub-class for testing purpose.">DummyGlobalInfoNode</a> </td></tr>
-<tr id="row_0_56_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalVarSupplyNode.html" target="_self">GlobalVarSupplyNode</a></td><td class="desc"><a class="el" href="classtvm_1_1GlobalVarSupply.html" title="Managed reference class to GlobalVarSupplyNode.">GlobalVarSupply</a> can be used to generate unique GlobalVars </td></tr>
-<tr id="row_0_57_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalVarSupply.html" target="_self">GlobalVarSupply</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1GlobalVarSupplyNode.html" title="GlobalVarSupply can be used to generate unique GlobalVars.">GlobalVarSupplyNode</a> </td></tr>
-<tr id="row_0_58_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IRModuleNode.html" target="_self">IRModuleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1IRModule.html" title="Managed reference class to IRModuleNode.">IRModule</a> that holds functions and type definitions </td></tr>
-<tr id="row_0_59_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IRModule.html" target="_self">IRModule</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1IRModuleNode.html" title="IRModule that holds functions and type definitions.">IRModuleNode</a> </td></tr>
-<tr id="row_0_60_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NameSupplyNode.html" target="_self">NameSupplyNode</a></td><td class="desc"><a class="el" href="classtvm_1_1NameSupply.html" title="Managed reference class to NameSupplyNode.">NameSupply</a> can be used to generate unique names </td></tr>
-<tr id="row_0_61_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NameSupply.html" target="_self">NameSupply</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1NameSupplyNode.html" title="NameSupply can be used to generate unique names.">NameSupplyNode</a> </td></tr>
-<tr id="row_0_62_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NodeFunctor.html" target="_self">NodeFunctor</a></td><td class="desc">A dynamically dispatched functor on the type of the first argument </td></tr>
-<tr id="row_0_63_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01ffi_1_1ObjectRef_01_6n_00_01Args_8_8_8_08_4.html" target="_self">NodeFunctor&lt; R(const ffi::ObjectRef &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_64_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpAttrMap.html" target="_self">OpAttrMap</a></td><td class="desc">Ffi::Map&lt;Op,ValueType&gt; used to store meta-information about <a class="el" href="classtvm_1_1Op.html" title="Managed reference class to OpNode.">Op</a> </td></tr>
-<tr id="row_0_65_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ArgumentInfoNode.html" target="_self">ArgumentInfoNode</a></td><td class="desc">Information about an input field of an <a class="el" href="classtvm_1_1Op.html" title="Managed reference class to OpNode.">Op</a> (name, type, description) </td></tr>
-<tr id="row_0_66_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ArgumentInfo.html" target="_self">ArgumentInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1ArgumentInfoNode.html" title="Information about an input field of an Op (name, type, description).">ArgumentInfoNode</a> </td></tr>
-<tr id="row_0_67_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpNode.html" target="_self">OpNode</a></td><td class="desc">Primitive Op(builtin intrinsics) </td></tr>
-<tr id="row_0_68_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Op.html" target="_self">Op</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1OpNode.html" title="Primitive Op(builtin intrinsics)">OpNode</a> </td></tr>
-<tr id="row_0_69_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpRegEntry.html" target="_self">OpRegEntry</a></td><td class="desc">Helper structure to register operators </td></tr>
-<tr id="row_0_70_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ScopeStack.html" target="_self">ScopeStack</a></td><td class="desc">A scope stack for maintaining hierarchical state during IR visiting </td></tr>
-<tr id="row_0_71_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceNameNode.html" target="_self">SourceNameNode</a></td><td class="desc">The name of a source fragment </td></tr>
-<tr id="row_0_72_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceName.html" target="_self">SourceName</a></td><td class="desc">The source name of a file span </td></tr>
-<tr id="row_0_73_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SpanNode.html" target="_self">SpanNode</a></td><td class="desc">Stores locations in frontend source that generated a node </td></tr>
-<tr id="row_0_74_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Span.html" target="_self">Span</a></td><td class="desc"></td></tr>
-<tr id="row_0_75_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SequentialSpanNode.html" target="_self">SequentialSpanNode</a></td><td class="desc">Store a list of spans for an expr generated from mulitple source exprs </td></tr>
-<tr id="row_0_76_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SequentialSpan.html" target="_self">SequentialSpan</a></td><td class="desc">Reference class of <a class="el" href="classtvm_1_1SequentialSpanNode.html" title="Store a list of spans for an expr generated from mulitple source exprs.">SequentialSpanNode</a> </td></tr>
-<tr id="row_0_77_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceNode.html" target="_self">SourceNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Source.html" target="_self">Source</a></td><td class="desc"></td></tr>
-<tr id="row_0_79_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceMapObj.html" target="_self">SourceMapObj</a></td><td class="desc">Stores locations in frontend source that generated a node </td></tr>
-<tr id="row_0_80_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceMap.html" target="_self">SourceMap</a></td><td class="desc"></td></tr>
-<tr id="row_0_81_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeNode.html" target="_self">TypeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode.">Type</a> is the base type of all types </td></tr>
-<tr id="row_0_82_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Type.html" target="_self">Type</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1TypeNode.html" title="Type is the base type of all types.">TypeNode</a> </td></tr>
-<tr id="row_0_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimTypeNode.html" target="_self">PrimTypeNode</a></td><td class="desc">Primitive data types used in the low-level IR </td></tr>
-<tr id="row_0_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimType.html" target="_self">PrimType</a></td><td class="desc"></td></tr>
-<tr id="row_0_85_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PointerTypeNode.html" target="_self">PointerTypeNode</a></td><td class="desc">Low-level raw pointer type </td></tr>
-<tr id="row_0_86_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PointerType.html" target="_self">PointerType</a></td><td class="desc"></td></tr>
-<tr id="row_0_87_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TupleTypeNode.html" target="_self">TupleTypeNode</a></td><td class="desc">The type of tuple values </td></tr>
-<tr id="row_0_88_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TupleType.html" target="_self">TupleType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1TupleTypeNode.html" title="The type of tuple values.">TupleTypeNode</a> </td></tr>
-<tr id="row_0_89_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FuncTypeNode.html" target="_self">FuncTypeNode</a></td><td class="desc">Function type </td></tr>
-<tr id="row_0_90_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FuncType.html" target="_self">FuncType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1FuncTypeNode.html" title="Function type.">FuncTypeNode</a> </td></tr>
-<tr id="row_0_91_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TensorMapTypeNode.html" target="_self">TensorMapTypeNode</a></td><td class="desc">The type of tensor map </td></tr>
-<tr id="row_0_92_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TensorMapType.html" target="_self">TensorMapType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1TensorMapTypeNode.html" title="The type of tensor map.">TensorMapTypeNode</a> </td></tr>
-<tr id="row_0_93_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeFunctor.html" target="_self">TypeFunctor</a></td><td class="desc"></td></tr>
-<tr id="row_0_94_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html" target="_self">TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
-<tr id="row_0_95_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeVisitor.html" target="_self">TypeVisitor</a></td><td class="desc">A type visitor that recursively visit types </td></tr>
-<tr id="row_0_96_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeMutator.html" target="_self">TypeMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1TypeMutator.html" title="TypeMutator that mutates expressions.">TypeMutator</a> that mutates expressions </td></tr>
-<tr id="row_0_97_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1With.html" target="_self">With</a></td><td class="desc">RAII wrapper function to enter and exit a context object similar to python's with syntax </td></tr>
-<tr id="row_0_98_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1WithGroup.html" target="_self">WithGroup</a></td><td class="desc">A group of RAII contexts managed together </td></tr>
-<tr id="row_0_99_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrRegistry.html" target="_self">AttrRegistry</a></td><td class="desc"></td></tr>
-<tr id="row_0_100_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrinterConfigNode.html" target="_self">PrinterConfigNode</a></td><td class="desc"></td></tr>
-<tr id="row_0_101_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrinterConfig.html" target="_self">PrinterConfig</a></td><td class="desc"></td></tr>
-<tr id="row_0_102_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TVMScriptPrinter.html" target="_self">TVMScriptPrinter</a></td><td class="desc">Dispatch vtable used by per-dialect printers to register their object-type printing functions. Internal, but exposed here because TVM_REGISTER_SCRIPT_AS_REPR refers to it </td></tr>
-<tr id="row_0_103_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetTagNode.html" target="_self">TargetTagNode</a></td><td class="desc">A target tag </td></tr>
-<tr id="row_0_104_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetTag.html" target="_self">TargetTag</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1TargetTagNode.html" title="A target tag.">TargetTagNode</a> </td></tr>
-<tr id="row_0_105_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetTagRegEntry.html" target="_self">TargetTagRegEntry</a></td><td class="desc"></td></tr>
-<tr id="row_0_106_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetNode.html" target="_self">TargetNode</a></td><td class="desc">Compilation target </td></tr>
-<tr id="row_0_107_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Target.html" target="_self">Target</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1TargetNode.html" title="Compilation target.">TargetNode</a> </td></tr>
-<tr id="row_0_108_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKindAttrMap.html" target="_self">TargetKindAttrMap</a></td><td class="desc">Ffi::Map&lt;TargetKind, ValueType&gt; used to store meta-information about <a class="el" href="classtvm_1_1TargetKind.html" title="Managed reference class to TargetKindNode.">TargetKind</a> </td></tr>
-<tr id="row_0_109_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKindNode.html" target="_self">TargetKindNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Target.html" title="Managed reference class to TargetNode.">Target</a> kind, specifies the kind of the target </td></tr>
-<tr id="row_0_110_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKind.html" target="_self">TargetKind</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1TargetKindNode.html" title="Target kind, specifies the kind of the target.">TargetKindNode</a> </td></tr>
-<tr id="row_0_111_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKindRegEntry.html" target="_self">TargetKindRegEntry</a></td><td class="desc">Helper structure to register <a class="el" href="classtvm_1_1TargetKind.html" title="Managed reference class to TargetKindNode.">TargetKind</a> </td></tr>
-<tr id="row_0_112_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceNode.html" target="_self">VirtualDeviceNode</a></td><td class="desc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtual) device and memory scope level, and how to compile code to compute that data. Used by the <code>Plan [...]
-<tr id="row_0_113_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDevice.html" target="_self">VirtualDevice</a></td><td class="desc">Managed reference class to <code><a class="el" href="classtvm_1_1VirtualDeviceNode.html" title="Describes at compile time the constraints on where data is to be stored at runtime down to the (virtu...">VirtualDev [...]
-<tr id="row_0_114_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceCache.html" target="_self">VirtualDeviceCache</a></td><td class="desc">A cache of <code>VirtualDevices</code>. This can be used: </td></tr>
+<tr id="row_0_46_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseFuncNode.html" target="_self">BaseFuncNode</a></td><td class="desc">Base node of all functions </td></tr>
+<tr id="row_0_47_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseFunc.html" target="_self">BaseFunc</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseFuncNode.html" title="Base node of all functions.">BaseFuncNode</a> </td></tr>
+<tr id="row_0_48_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalInfoNode.html" target="_self">GlobalInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1GlobalInfo.html" title="Managed reference to GlobalInfoNode.">GlobalInfo</a> are globally static object that are referred by the IR itself. Base node for all global info that can  [...]
+<tr id="row_0_49_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalInfo.html" target="_self">GlobalInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1GlobalInfoNode.html" title="GlobalInfo are globally static object that are referred by the IR itself. Base node for all global in...">GlobalInfoNode</a> </td></tr>
+<tr id="row_0_50_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VDeviceNode.html" target="_self">VDeviceNode</a></td><td class="desc">A global info subclass for virtual devices </td></tr>
+<tr id="row_0_51_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VDevice.html" target="_self">VDevice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1VDeviceNode.html" title="A global info subclass for virtual devices.">VDeviceNode</a> </td></tr>
+<tr id="row_0_52_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DummyGlobalInfoNode.html" target="_self">DummyGlobalInfoNode</a></td><td class="desc">A dummy global info sub-class for testing purpose </td></tr>
+<tr id="row_0_53_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1DummyGlobalInfo.html" target="_self">DummyGlobalInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1DummyGlobalInfoNode.html" title="A dummy global info sub-class for testing purpose.">DummyGlobalInfoNode</a> </td></tr>
+<tr id="row_0_54_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalVarSupplyNode.html" target="_self">GlobalVarSupplyNode</a></td><td class="desc"><a class="el" href="classtvm_1_1GlobalVarSupply.html" title="Managed reference class to GlobalVarSupplyNode.">GlobalVarSupply</a> can be used to generate unique GlobalVars </td></tr>
+<tr id="row_0_55_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalVarSupply.html" target="_self">GlobalVarSupply</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1GlobalVarSupplyNode.html" title="GlobalVarSupply can be used to generate unique GlobalVars.">GlobalVarSupplyNode</a> </td></tr>
+<tr id="row_0_56_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IRModuleNode.html" target="_self">IRModuleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1IRModule.html" title="Managed reference class to IRModuleNode.">IRModule</a> that holds functions and type definitions </td></tr>
+<tr id="row_0_57_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IRModule.html" target="_self">IRModule</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1IRModuleNode.html" title="IRModule that holds functions and type definitions.">IRModuleNode</a> </td></tr>
+<tr id="row_0_58_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NameSupplyNode.html" target="_self">NameSupplyNode</a></td><td class="desc"><a class="el" href="classtvm_1_1NameSupply.html" title="Managed reference class to NameSupplyNode.">NameSupply</a> can be used to generate unique names </td></tr>
+<tr id="row_0_59_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NameSupply.html" target="_self">NameSupply</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1NameSupplyNode.html" title="NameSupply can be used to generate unique names.">NameSupplyNode</a> </td></tr>
+<tr id="row_0_60_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NodeFunctor.html" target="_self">NodeFunctor</a></td><td class="desc">A dynamically dispatched functor on the type of the first argument </td></tr>
+<tr id="row_0_61_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1NodeFunctor_3_01R_07const_01ffi_1_1ObjectRef_01_6n_00_01Args_8_8_8_08_4.html" target="_self">NodeFunctor&lt; R(const ffi::ObjectRef &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_62_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpAttrMap.html" target="_self">OpAttrMap</a></td><td class="desc">Ffi::Map&lt;Op,ValueType&gt; used to store meta-information about <a class="el" href="classtvm_1_1Op.html" title="Managed reference class to OpNode.">Op</a> </td></tr>
+<tr id="row_0_63_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ArgumentInfoNode.html" target="_self">ArgumentInfoNode</a></td><td class="desc">Information about an input field of an <a class="el" href="classtvm_1_1Op.html" title="Managed reference class to OpNode.">Op</a> (name, type, description) </td></tr>
+<tr id="row_0_64_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ArgumentInfo.html" target="_self">ArgumentInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1ArgumentInfoNode.html" title="Information about an input field of an Op (name, type, description).">ArgumentInfoNode</a> </td></tr>
+<tr id="row_0_65_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpNode.html" target="_self">OpNode</a></td><td class="desc">Primitive Op(builtin intrinsics) </td></tr>
+<tr id="row_0_66_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Op.html" target="_self">Op</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1OpNode.html" title="Primitive Op(builtin intrinsics)">OpNode</a> </td></tr>
+<tr id="row_0_67_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpRegEntry.html" target="_self">OpRegEntry</a></td><td class="desc">Helper structure to register operators </td></tr>
+<tr id="row_0_68_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ScopeStack.html" target="_self">ScopeStack</a></td><td class="desc">A scope stack for maintaining hierarchical state during IR visiting </td></tr>
+<tr id="row_0_69_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceNameNode.html" target="_self">SourceNameNode</a></td><td class="desc">The name of a source fragment </td></tr>
+<tr id="row_0_70_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceName.html" target="_self">SourceName</a></td><td class="desc">The source name of a file span </td></tr>
+<tr id="row_0_71_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SpanNode.html" target="_self">SpanNode</a></td><td class="desc">Stores locations in frontend source that generated a node </td></tr>
+<tr id="row_0_72_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Span.html" target="_self">Span</a></td><td class="desc"></td></tr>
+<tr id="row_0_73_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SequentialSpanNode.html" target="_self">SequentialSpanNode</a></td><td class="desc">Store a list of spans for an expr generated from mulitple source exprs </td></tr>
+<tr id="row_0_74_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SequentialSpan.html" target="_self">SequentialSpan</a></td><td class="desc">Reference class of <a class="el" href="classtvm_1_1SequentialSpanNode.html" title="Store a list of spans for an expr generated from mulitple source exprs.">SequentialSpanNode</a> </td></tr>
+<tr id="row_0_75_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceNode.html" target="_self">SourceNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_76_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Source.html" target="_self">Source</a></td><td class="desc"></td></tr>
+<tr id="row_0_77_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceMapObj.html" target="_self">SourceMapObj</a></td><td class="desc">Stores locations in frontend source that generated a node </td></tr>
+<tr id="row_0_78_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1SourceMap.html" target="_self">SourceMap</a></td><td class="desc"></td></tr>
+<tr id="row_0_79_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeNode.html" target="_self">TypeNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Type.html" title="Managed reference to TypeNode.">Type</a> is the base type of all types </td></tr>
+<tr id="row_0_80_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Type.html" target="_self">Type</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1TypeNode.html" title="Type is the base type of all types.">TypeNode</a> </td></tr>
+<tr id="row_0_81_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimTypeNode.html" target="_self">PrimTypeNode</a></td><td class="desc">Primitive data types used in the low-level IR </td></tr>
+<tr id="row_0_82_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimType.html" target="_self">PrimType</a></td><td class="desc"></td></tr>
+<tr id="row_0_83_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PointerTypeNode.html" target="_self">PointerTypeNode</a></td><td class="desc">Low-level raw pointer type </td></tr>
+<tr id="row_0_84_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PointerType.html" target="_self">PointerType</a></td><td class="desc"></td></tr>
+<tr id="row_0_85_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TupleTypeNode.html" target="_self">TupleTypeNode</a></td><td class="desc">The type of tuple values </td></tr>
+<tr id="row_0_86_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TupleType.html" target="_self">TupleType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1TupleTypeNode.html" title="The type of tuple values.">TupleTypeNode</a> </td></tr>
+<tr id="row_0_87_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FuncTypeNode.html" target="_self">FuncTypeNode</a></td><td class="desc">Function type </td></tr>
+<tr id="row_0_88_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FuncType.html" target="_self">FuncType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1FuncTypeNode.html" title="Function type.">FuncTypeNode</a> </td></tr>
+<tr id="row_0_89_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TensorMapTypeNode.html" target="_self">TensorMapTypeNode</a></td><td class="desc">The type of tensor map </td></tr>
+<tr id="row_0_90_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TensorMapType.html" target="_self">TensorMapType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1TensorMapTypeNode.html" title="The type of tensor map.">TensorMapTypeNode</a> </td></tr>
+<tr id="row_0_91_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeFunctor.html" target="_self">TypeFunctor</a></td><td class="desc"></td></tr>
+<tr id="row_0_92_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html" target="_self">TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a></td><td class="desc"></td></tr>
+<tr id="row_0_93_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeVisitor.html" target="_self">TypeVisitor</a></td><td class="desc">A type visitor that recursively visit types </td></tr>
+<tr id="row_0_94_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TypeMutator.html" target="_self">TypeMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1TypeMutator.html" title="TypeMutator that mutates expressions.">TypeMutator</a> that mutates expressions </td></tr>
+<tr id="row_0_95_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1With.html" target="_self">With</a></td><td class="desc">RAII wrapper function to enter and exit a context object similar to python's with syntax </td></tr>
+<tr id="row_0_96_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1WithGroup.html" target="_self">WithGroup</a></td><td class="desc">A group of RAII contexts managed together </td></tr>
+<tr id="row_0_97_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1AttrRegistry.html" target="_self">AttrRegistry</a></td><td class="desc"></td></tr>
+<tr id="row_0_98_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrinterConfigNode.html" target="_self">PrinterConfigNode</a></td><td class="desc"></td></tr>
+<tr id="row_0_99_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrinterConfig.html" target="_self">PrinterConfig</a></td><td class="desc"></td></tr>
+<tr id="row_0_100_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TVMScriptPrinter.html" target="_self">TVMScriptPrinter</a></td><td class="desc">Dispatch vtable used by per-dialect printers to register their object-type printing functions. Internal, but exposed here because TVM_REGISTER_SCRIPT_AS_REPR refers to it </td></tr>
+<tr id="row_0_101_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetTagNode.html" target="_self">TargetTagNode</a></td><td class="desc">A target tag </td></tr>
+<tr id="row_0_102_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetTag.html" target="_self">TargetTag</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1TargetTagNode.html" title="A target tag.">TargetTagNode</a> </td></tr>
+<tr id="row_0_103_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetTagRegEntry.html" target="_self">TargetTagRegEntry</a></td><td class="desc"></td></tr>
+<tr id="row_0_104_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetNode.html" target="_self">TargetNode</a></td><td class="desc">Compilation target </td></tr>
+<tr id="row_0_105_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Target.html" target="_self">Target</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1TargetNode.html" title="Compilation target.">TargetNode</a> </td></tr>
+<tr id="row_0_106_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKindAttrMap.html" target="_self">TargetKindAttrMap</a></td><td class="desc">Ffi::Map&lt;TargetKind, ValueType&gt; used to store meta-information about <a class="el" href="classtvm_1_1TargetKind.html" title="Managed reference class to TargetKindNode.">TargetKind</a> </td></tr>
+<tr id="row_0_107_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKindNode.html" target="_self">TargetKindNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Target.html" title="Managed reference class to TargetNode.">Target</a> kind, specifies the kind of the target </td></tr>
+<tr id="row_0_108_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKind.html" target="_self">TargetKind</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1TargetKindNode.html" title="Target kind, specifies the kind of the target.">TargetKindNode</a> </td></tr>
+<tr id="row_0_109_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1TargetKindRegEntry.html" target="_self">TargetKindRegEntry</a></td><td class="desc">Helper structure to register <a class="el" href="classtvm_1_1TargetKind.html" title="Managed reference class to TargetKindNode.">TargetKind</a> </td></tr>
+<tr id="row_0_110_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceNode.html" target="_self">VirtualDeviceNode</a></td><td class="desc">Describes at compile time the constraints on where data is to be stored at runtime down to the (virtual) device and memory scope level, and how to compile code to compute that data. Used by the <code>Plan [...]
+<tr id="row_0_111_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDevice.html" target="_self">VirtualDevice</a></td><td class="desc">Managed reference class to <code><a class="el" href="classtvm_1_1VirtualDeviceNode.html" title="Describes at compile time the constraints on where data is to be stored at runtime down to the (virtu...">VirtualDev [...]
+<tr id="row_0_112_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1VirtualDeviceCache.html" target="_self">VirtualDeviceCache</a></td><td class="desc">A cache of <code>VirtualDevices</code>. This can be used: </td></tr>
 <tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classGlobalVar.html" target="_self">GlobalVar</a></td><td class="desc"></td></tr>
 <tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structTVMParallelGroupEnv.html" target="_self">TVMParallelGroupEnv</a></td><td class="desc">Environment for TVM parallel task </td></tr>
 </table>
diff --git a/docs/reference/api/doxygen/arg__info_8h_source.html b/docs/reference/api/doxygen/arg__info_8h_source.html
index 561ff9194c8..b9bb5351841 100644
--- a/docs/reference/api/doxygen/arg__info_8h_source.html
+++ b/docs/reference/api/doxygen/arg__info_8h_source.html
@@ -176,7 +176,7 @@ $(function() {
 <div class="ttc" id="adata__type_8h_html"><div class="ttname"><a href="data__type_8h.html">data_type.h</a></div></div>
 <div class="ttc" id="amodule_8h_html"><div class="ttname"><a href="module_8h.html">module.h</a></div><div class="ttdoc">IRModule that holds the functions and type definitions.</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_aaa95d3ad68932ab206efbe0a326db6a2"><div class="ttname"><a href="namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2">tvm::topi::mod</a></div><div class="ttdeci">tvm::PrimExpr mod(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)</div><div class="ttdef"><b>Definition:</b> broadcast.h:308</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="atirx_2function_8h_html"><div class="ttname"><a href="tirx_2function_8h.html">function.h</a></div><div class="ttdoc">TIR Function.</div></div>
 </div><!-- fragment --></div><!-- contents -->
diff --git a/docs/reference/api/doxygen/bnn_8h_source.html b/docs/reference/api/doxygen/bnn_8h_source.html
index 16b540df3a5..94d853b8381 100644
--- a/docs/reference/api/doxygen/bnn_8h_source.html
+++ b/docs/reference/api/doxygen/bnn_8h_source.html
@@ -173,7 +173,7 @@ $(function() {
 <div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// TVM_TOPI_NN_BNN_H_</span></div>
 <div class="ttc" id="aanalyzer_8h_html"><div class="ttname"><a href="analyzer_8h.html">analyzer.h</a></div><div class="ttdoc">Algebra expression simplifications.</div></div>
 <div class="ttc" id="aclasstvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Reference to PrimExprNode.</div><div class="ttdef"><b>Definition:</b> expr.h:123</div></div>
-<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:687</div></div>
+<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:585</div></div>
 <div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></div><div class="ttdoc">Analyzer that contains bunch of sub-analyzers.</div><div class="ttdef"><b>Definition:</b> analyzer.h:635</div></div>
 <div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a9b440f852f12ad0a4d8ed5ed97054425"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a9b440f852f12ad0a4d8ed5ed97054425">tvm::arith::Analyzer::Simplify</a></div><div class="ttdeci">PrimExpr Simplify(const PrimExpr &amp;expr, int steps=2)</div><div class="ttdoc">Simplify expr.</div></div>
 <div class="ttc" id="aclasstvm_1_1runtime_1_1DataType_html_aef2fa30c095f37b20a301665bed80826"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html#aef2fa30c095f37b20a301665bed80826">tvm::runtime::DataType::UInt</a></div><div class="ttdeci">static DataType UInt(int bits, int lanes=1, bool is_scalable=false)</div><div class="ttdoc">Construct an uint type.</div><div class="ttdef"><b>Definition:</b> data_type.h:284</div></div>
@@ -187,7 +187,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1topi_1_1nn_html_a08aaeadaa767fa996d2f2e0a7d12c7cd"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#a08aaeadaa767fa996d2f2e0a7d12c7cd">tvm::topi::nn::binary_dense</a></div><div class="ttdeci">tvm::te::Tensor binary_dense(const tvm::te::Tensor &amp;data, const tvm::te::Tensor &amp;weight)</div><div class="ttdoc">Binary matrix multiplication using xor and bit-count.</div><div class="ttdef"><b>Definition:</b> bnn.h:101</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_1_1nn_html_abaa4e2bba6a3d3db3eaca614fdf5bbea"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#abaa4e2bba6a3d3db3eaca614fdf5bbea">tvm::topi::nn::binarize_pack</a></div><div class="ttdeci">tvm::te::Tensor binarize_pack(const tvm::te::Tensor &amp;data, int axis, std::string name=&quot;PackedInput&quot;, std::string tag=&quot;binarize_pack&quot;)</div><div class="ttdoc">Binarization and bit-packing along a certain axis.</div><div class= [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_a0250c4095f19ae8a22ed85bc4ce5a40d"><div class="ttname"><a href="namespacetvm_1_1topi.html#a0250c4095f19ae8a22ed85bc4ce5a40d">tvm::topi::kElementWise</a></div><div class="ttdeci">constexpr auto kElementWise</div><div class="ttdef"><b>Definition:</b> tags.h:32</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_adae7dcb7e951109ba72192202d182994"><div class="ttname"><a href="namespacetvm_1_1topi.html#adae7dcb7e951109ba72192202d182994">tvm::topi::matmul</a></div><div class="ttdeci">tvm::te::Tensor matmul(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, bool trans_a=false, bool trans_b=false, std::string name=&quot;T_matmul&quot;, std::string tag=kMatMul)</div><div class="ttdoc">Creates an operation that calculates a matrix multiplication  [...]
+<div class="ttc" id="anamespacetvm_1_1topi_html_adae7dcb7e951109ba72192202d182994"><div class="ttname"><a href="namespacetvm_1_1topi.html#adae7dcb7e951109ba72192202d182994">tvm::topi::matmul</a></div><div class="ttdeci">tvm::te::Tensor matmul(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, bool trans_a=false, bool trans_b=false, std::string name=&quot;T_matmul&quot;, std::string tag=kMatMul)</div><div class="ttdoc">Creates an operation that calculates a matrix multiplication  [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_af580cd1bea6e862f41c7fad4c4c7eea3"><div class="ttname"><a href="namespacetvm_1_1topi.html#af580cd1bea6e862f41c7fad4c4c7eea3">tvm::topi::sign</a></div><div class="ttdeci">Tensor sign(const Tensor &amp;x, std::string name=&quot;T_sign&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Returns the sign of the tensor.</div><div class="ttdef"><b>Definition:</b> elemwise.h:208</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="anamespacetvm_html_a4bfb789a86d95f6241b50fd26f269c28"><div class="ttname"><a href="namespacetvm.html#a4bfb789a86d95f6241b50fd26f269c28">tvm::cast</a></div><div class="ttdeci">PrimExpr cast(const DataType &amp;t, PrimExpr value, Span span=Span())</div><div class="ttdoc">cast value to type.</div></div>
diff --git a/docs/reference/api/doxygen/buffer_8h_source.html b/docs/reference/api/doxygen/buffer_8h_source.html
index a6d5caa41f2..f680d61c6df 100644
--- a/docs/reference/api/doxygen/buffer_8h_source.html
+++ b/docs/reference/api/doxygen/buffer_8h_source.html
@@ -311,7 +311,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1tirx_html_aa8895d5d8f59beb94751c7b90a1c8d6ea9590135358f9015270cbe11136205a9c"><div class="ttname"><a href="namespacetvm_1_1tirx.html#aa8895d5d8f59beb94751c7b90a1c8d6ea9590135358f9015270cbe11136205a9c">tvm::tirx::kDefault</a></div><div class="ttdeci">@ kDefault</div><div class="ttdef"><b>Definition:</b> buffer.h:56</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_aa8895d5d8f59beb94751c7b90a1c8d6eab40582f0d7e48c5c66af0143b2eaca3d"><div class="ttname"><a href="namespacetvm_1_1tirx.html#aa8895d5d8f59beb94751c7b90a1c8d6eab40582f0d7e48c5c66af0143b2eaca3d">tvm::tirx::kAutoBroadcast</a></div><div class="ttdeci">@ kAutoBroadcast</div><div class="ttdef"><b>Definition:</b> buffer.h:58</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_ae4ab0ac88bc3251f32771f05f2daf7fb"><div class="ttname"><a href="namespacetvm_1_1tirx.html#ae4ab0ac88bc3251f32771f05f2daf7fb">tvm::tirx::decl_buffer</a></div><div class="ttdeci">Buffer decl_buffer(ffi::Array&lt; PrimExpr &gt; shape, DataType dtype=DataType::Float(32), ffi::String name=&quot;buffer&quot;, ffi::String storage_scope=&quot;&quot;, ffi::Optional&lt; ffi::Array&lt; IntImm &gt;&gt; axis_separators=std::nullopt, Span span=Span())</d [...]
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="avar_8h_html"><div class="ttname"><a href="var_8h.html">var.h</a></div><div class="ttdoc">Variables in the TIR.</div></div>
 </div><!-- fragment --></div><!-- contents -->
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index 0f710c5b4af..6bda6b99839 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -72,7 +72,7 @@ $(function() {
 <dd><a class="el" href="structtvm_1_1tirx_1_1ActiveSet.html">ActiveSet</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html">AdaptivePool1DAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html">AdaptivePool2DAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" hr [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_B">B</a></dt>
-<dd><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.h [...]
+<dd><a class="el" href="classtvm_1_1te_1_1BaseComputeOpNode.html">BaseComputeOpNode</a> (<a class="el" href="namespacetvm_1_1te.html">tvm::te</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1BaseFunc.html">BaseFunc</a> (<a class="el" href="namespacetvm.h [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_C">C</a></dt>
 <dd><a class="el" href="classtvm_1_1tirx_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1CallDoc.html">CallDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer [...]
@@ -93,7 +93,7 @@ $(function() {
 <dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">HintFrame</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html">tvm::script::ir_builder::tirx</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">HintFrameNode</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html">tvm::script::ir_builder::tirx</a>)</dd><dd><a class="el" href="structtvm_1_1relax_1_1HintOnDeviceAttr [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_I">I</a></dt>
-<dd><a class="el" href="classtvm_1_1relax_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDoc.html">IdDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDocNode.html">IdDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class=" [...]
+<dd><a class="el" href="classtvm_1_1relax_1_1Id.html">Id</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDoc.html">IdDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1IdDocNode.html">IdDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class=" [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_L">L</a></dt>
 <dd><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDoc.html">LambdaDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> (<a class="el [...]
@@ -120,7 +120,7 @@ $(function() {
 <dd><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraint.html">SameShapeConstraint</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1SameShapeConstraintNode.html">SameShapeConstraintNode</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1tirx_1_1SBijectiveLayout.html">SBijectiveLayout</a> (<a class="el" href="namespacetvm_1_1tirx.html">tvm::tirx</a>)</dd>< [...]
 <dl class="classindex odd">
 <dt class="alphachar"><a name="letter_T">T</a></dt>
-<dd><a class="el" href="structtvm_1_1relax_1_1TakeAttrs.html">TakeAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1Target.html">Target</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1TargetKind.html">TargetKind</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1TargetKindAttrMap.html">TargetKindAttrMap</a> (<a class="el" href="namespacet [...]
+<dd><a class="el" href="structtvm_1_1relax_1_1TakeAttrs.html">TakeAttrs</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1Target.html">Target</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1TargetKind.html">TargetKind</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1TargetKindAttrMap.html">TargetKindAttrMap</a> (<a class="el" href="namespacet [...]
 <dl class="classindex even">
 <dt class="alphachar"><a name="letter_U">U</a></dt>
 <dd><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePattern.html">UnorderedTuplePattern</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd><dd><a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html">UnorderedTuplePatternNode</a> (<a class="el" href="namespacetvm_1_1relax.html">tvm::relax</a>)</dd></dl>
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseExpr.html b/docs/reference/api/doxygen/classtvm_1_1BaseExpr.html
index 4a6c7b76b15..430881ca653 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseExpr.html
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseExpr.html
@@ -80,7 +80,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::BaseExpr:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseExpr__inherit__graph.svg" width="9958" height="1155"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseExpr__inherit__graph.svg" width="9958" height="1082"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseExpr__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1BaseExpr__inherit__graph.svg
index f7a8bc0d10a..24e4dbaa0a3 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseExpr__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseExpr__inherit__graph.svg
@@ -4,22 +4,22 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::BaseExpr Pages: 1 -->
-<svg width="7468pt" height="866pt"
- viewBox="0.00 0.00 7468.00 866.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 862)">
+<svg width="7468pt" height="811pt"
+ viewBox="0.00 0.00 7468.00 811.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 807)">
 <title>tvm::BaseExpr</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-862 7464,-862 7464,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-807 7464,-807 7464,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="#bfbfbf" stroke="black" points="4582,-695.5 4582,-763.5 4741,-763.5 4741,-695.5 4582,-695.5"/>
-<text text-anchor="middle" x="4661.5" y="-751.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="4582,-744.5 4741,-744.5 "/>
-<text text-anchor="middle" x="4661.5" y="-732.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4582,-725.5 4741,-725.5 "/>
-<text text-anchor="start" x="4590" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4590" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<polygon fill="#bfbfbf" stroke="black" points="4582,-640.5 4582,-708.5 4741,-708.5 4741,-640.5 4582,-640.5"/>
+<text text-anchor="middle" x="4661.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
+<polyline fill="none" stroke="black" points="4582,-689.5 4741,-689.5 "/>
+<text text-anchor="middle" x="4661.5" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4582,-670.5 4741,-670.5 "/>
+<text text-anchor="start" x="4590" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4590" y="-647.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
@@ -27,1370 +27,1317 @@
 <g id="node3" class="node">
 <title>Node3</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="2921,-546.5 2921,-658.5 3080,-658.5 3080,-546.5 2921,-546.5"/>
-<text text-anchor="middle" x="3000.5" y="-646.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="2921,-639.5 3080,-639.5 "/>
-<text text-anchor="middle" x="3000.5" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2921,-620.5 3080,-620.5 "/>
-<text text-anchor="start" x="2929" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="2929" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="2929" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="2929" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2929" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2929" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
+<polygon fill="white" stroke="black" points="2921,-491.5 2921,-603.5 3080,-603.5 3080,-491.5 2921,-491.5"/>
+<text text-anchor="middle" x="3000.5" y="-591.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
+<polyline fill="none" stroke="black" points="2921,-584.5 3080,-584.5 "/>
+<text text-anchor="middle" x="3000.5" y="-572.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2921,-565.5 3080,-565.5 "/>
+<text text-anchor="start" x="2929" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
+<text text-anchor="start" x="2929" y="-542.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
+<text text-anchor="start" x="2929" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
+<text text-anchor="start" x="2929" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2929" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2929" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node1&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M4571.82,-721.75C4279.63,-699.76 3357.96,-630.4 3080.38,-609.51"/>
-<polygon fill="none" stroke="midnightblue" points="4571.71,-725.25 4581.95,-722.51 4572.24,-718.27 4571.71,-725.25"/>
+<path fill="none" stroke="midnightblue" d="M4571.82,-666.75C4279.63,-644.76 3357.96,-575.4 3080.38,-554.51"/>
+<polygon fill="none" stroke="midnightblue" points="4571.71,-670.25 4581.95,-667.51 4572.24,-663.27 4571.71,-670.25"/>
 </g>
-<!-- Node42 -->
-<g id="node42" class="node">
-<title>Node42</title>
-<g id="a_node42"><a xlink:href="classtvm_1_1RelaxExpr.html" target="_top" xlink:title="Managed reference to RelaxExprNode.">
-<polygon fill="white" stroke="black" points="6504,-568.5 6504,-636.5 6663,-636.5 6663,-568.5 6504,-568.5"/>
-<text text-anchor="middle" x="6583.5" y="-624.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RelaxExpr</text>
-<polyline fill="none" stroke="black" points="6504,-617.5 6663,-617.5 "/>
-<text text-anchor="middle" x="6583.5" y="-605.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6504,-598.5 6663,-598.5 "/>
-<text text-anchor="start" x="6512" y="-586.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6512" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<!-- Node40 -->
+<g id="node40" class="node">
+<title>Node40</title>
+<g id="a_node40"><a xlink:href="classtvm_1_1RelaxExpr.html" target="_top" xlink:title="Managed reference to RelaxExprNode.">
+<polygon fill="white" stroke="black" points="6504,-513.5 6504,-581.5 6663,-581.5 6663,-513.5 6504,-513.5"/>
+<text text-anchor="middle" x="6583.5" y="-569.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RelaxExpr</text>
+<polyline fill="none" stroke="black" points="6504,-562.5 6663,-562.5 "/>
+<text text-anchor="middle" x="6583.5" y="-550.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6504,-543.5 6663,-543.5 "/>
+<text text-anchor="start" x="6512" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6512" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node42 -->
-<g id="edge41" class="edge">
-<title>Node1&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M4751.37,-722.65C5077.47,-701.45 6195.35,-628.74 6504,-608.67"/>
-<polygon fill="none" stroke="midnightblue" points="4750.78,-719.19 4741.03,-723.33 4751.24,-726.17 4750.78,-719.19"/>
+<!-- Node1&#45;&gt;Node40 -->
+<g id="edge39" class="edge">
+<title>Node1&#45;&gt;Node40</title>
+<path fill="none" stroke="midnightblue" d="M4751.37,-667.65C5077.47,-646.45 6195.35,-573.74 6504,-553.67"/>
+<polygon fill="none" stroke="midnightblue" points="4750.78,-664.19 4741.03,-668.33 4751.24,-671.17 4750.78,-664.19"/>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4621.5,-800.5 4621.5,-857.5 4701.5,-857.5 4701.5,-800.5 4621.5,-800.5"/>
-<text text-anchor="middle" x="4661.5" y="-845.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="4621.5,-838.5 4701.5,-838.5 "/>
-<text text-anchor="middle" x="4661.5" y="-826.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="4621.5,-819.5 4701.5,-819.5 "/>
-<text text-anchor="middle" x="4661.5" y="-807.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="4621.5,-745.5 4621.5,-802.5 4701.5,-802.5 4701.5,-745.5 4621.5,-745.5"/>
+<text text-anchor="middle" x="4661.5" y="-790.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="4621.5,-783.5 4701.5,-783.5 "/>
+<text text-anchor="middle" x="4661.5" y="-771.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="4621.5,-764.5 4701.5,-764.5 "/>
+<text text-anchor="middle" x="4661.5" y="-752.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M4661.5,-790.06C4661.5,-781.39 4661.5,-772.24 4661.5,-763.79"/>
-<polygon fill="none" stroke="midnightblue" points="4658,-790.32 4661.5,-800.32 4665,-790.32 4658,-790.32"/>
+<path fill="none" stroke="midnightblue" d="M4661.5,-735.06C4661.5,-726.39 4661.5,-717.24 4661.5,-708.79"/>
+<polygon fill="none" stroke="midnightblue" points="4658,-735.32 4661.5,-745.32 4665,-735.32 4658,-735.32"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
 <title>Node4</title>
 <g id="a_node4"><a xlink:href="classtvm_1_1FloatImm.html" target="_top" xlink:title="Managed reference class to FloatImmNode.">
-<polygon fill="white" stroke="black" points="0,-386.5 0,-487.5 159,-487.5 159,-386.5 0,-386.5"/>
-<text text-anchor="middle" x="79.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FloatImm</text>
-<polyline fill="none" stroke="black" points="0,-468.5 159,-468.5 "/>
-<text text-anchor="middle" x="79.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-449.5 159,-449.5 "/>
-<text text-anchor="start" x="8" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloatImm()</text>
-<text text-anchor="start" x="8" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="8" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="8" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<polygon fill="white" stroke="black" points="0,-331.5 0,-432.5 159,-432.5 159,-331.5 0,-331.5"/>
+<text text-anchor="middle" x="79.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FloatImm</text>
+<polyline fill="none" stroke="black" points="0,-413.5 159,-413.5 "/>
+<text text-anchor="middle" x="79.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-394.5 159,-394.5 "/>
+<text text-anchor="start" x="8" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloatImm()</text>
+<text text-anchor="start" x="8" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="8" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="8" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node4 -->
 <g id="edge3" class="edge">
 <title>Node3&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M2910.6,-600.22C2442.33,-593.34 298.77,-559.26 167.5,-510 153.82,-504.87 140.7,-496.69 128.95,-487.65"/>
-<polygon fill="none" stroke="midnightblue" points="2910.64,-603.72 2920.69,-600.37 2910.75,-596.72 2910.64,-603.72"/>
+<path fill="none" stroke="midnightblue" d="M2910.6,-545.22C2442.33,-538.34 298.77,-504.26 167.5,-455 153.82,-449.87 140.7,-441.69 128.95,-432.65"/>
+<polygon fill="none" stroke="midnightblue" points="2910.64,-548.72 2920.69,-545.37 2910.75,-541.72 2910.64,-548.72"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node">
 <title>Node5</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="177,-386.5 177,-487.5 336,-487.5 336,-386.5 177,-386.5"/>
-<text text-anchor="middle" x="256.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="177,-468.5 336,-468.5 "/>
-<text text-anchor="middle" x="256.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="177,-449.5 336,-449.5 "/>
-<text text-anchor="start" x="185" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="185" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="185" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="185" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="185" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<polygon fill="white" stroke="black" points="177,-331.5 177,-432.5 336,-432.5 336,-331.5 177,-331.5"/>
+<text text-anchor="middle" x="256.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
+<polyline fill="none" stroke="black" points="177,-413.5 336,-413.5 "/>
+<text text-anchor="middle" x="256.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="177,-394.5 336,-394.5 "/>
+<text text-anchor="start" x="185" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
+<text text-anchor="start" x="185" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="185" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="185" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="185" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node5 -->
 <g id="edge4" class="edge">
 <title>Node3&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2910.94,-601.81C2475.3,-602.84 588.7,-601.94 344.5,-510 330.83,-504.85 317.71,-496.67 305.96,-487.63"/>
-<polygon fill="none" stroke="midnightblue" points="2910.97,-605.31 2920.96,-601.78 2910.95,-598.31 2910.97,-605.31"/>
+<path fill="none" stroke="midnightblue" d="M2910.94,-546.81C2475.3,-547.84 588.7,-546.94 344.5,-455 330.83,-449.85 317.71,-441.67 305.96,-432.63"/>
+<polygon fill="none" stroke="midnightblue" points="2910.97,-550.31 2920.96,-546.78 2910.95,-543.31 2910.97,-550.31"/>
 </g>
-<!-- Node8 -->
-<g id="node8" class="node">
-<title>Node8</title>
-<g id="a_node8"><a xlink:href="classtvm_1_1arith_1_1IterMapExpr.html" target="_top" xlink:title="Managed reference to IterMapExprNode.">
-<polygon fill="white" stroke="black" points="354,-403 354,-471 513,-471 513,-403 354,-403"/>
-<text text-anchor="middle" x="433.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapExpr</text>
-<polyline fill="none" stroke="black" points="354,-452 513,-452 "/>
-<text text-anchor="middle" x="433.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="354,-433 513,-433 "/>
-<text text-anchor="start" x="362" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="362" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<!-- Node6 -->
+<g id="node6" class="node">
+<title>Node6</title>
+<g id="a_node6"><a xlink:href="classtvm_1_1arith_1_1IterMapExpr.html" target="_top" xlink:title="Managed reference to IterMapExprNode.">
+<polygon fill="white" stroke="black" points="354,-348 354,-416 513,-416 513,-348 354,-348"/>
+<text text-anchor="middle" x="433.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapExpr</text>
+<polyline fill="none" stroke="black" points="354,-397 513,-397 "/>
+<text text-anchor="middle" x="433.5" y="-385" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="354,-378 513,-378 "/>
+<text text-anchor="start" x="362" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="362" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
-<!-- Node3&#45;&gt;Node8 -->
-<g id="edge7" class="edge">
-<title>Node3&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2910.52,-601.57C2492.18,-601.42 748.17,-595.66 521.5,-510 499.71,-501.77 479.31,-485.83 463.65,-471.03"/>
-<polygon fill="none" stroke="midnightblue" points="2910.74,-605.07 2920.74,-601.57 2910.74,-598.07 2910.74,-605.07"/>
+<!-- Node3&#45;&gt;Node6 -->
+<g id="edge5" class="edge">
+<title>Node3&#45;&gt;Node6</title>
+<path fill="none" stroke="midnightblue" d="M2910.52,-546.57C2492.18,-546.42 748.17,-540.66 521.5,-455 499.71,-446.77 479.31,-430.83 463.65,-416.03"/>
+<polygon fill="none" stroke="midnightblue" points="2910.74,-550.07 2920.74,-546.57 2910.74,-543.07 2910.74,-550.07"/>
+</g>
+<!-- Node9 -->
+<g id="node9" class="node">
+<title>Node9</title>
+<g id="a_node9"><a xlink:href="classtvm_1_1tirx_1_1Add.html" target="_top" xlink:title="Managed reference to AddNode.">
+<polygon fill="white" stroke="black" points="531,-331.5 531,-432.5 690,-432.5 690,-331.5 531,-331.5"/>
+<text text-anchor="middle" x="610.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Add</text>
+<polyline fill="none" stroke="black" points="531,-413.5 690,-413.5 "/>
+<text text-anchor="middle" x="610.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="531,-394.5 690,-394.5 "/>
+<text text-anchor="start" x="539" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
+<text text-anchor="start" x="539" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="539" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="539" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="539" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node9 -->
+<g id="edge8" class="edge">
+<title>Node3&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M2910.78,-546.29C2511.64,-544.91 907.8,-534.43 698.5,-455 684.84,-449.82 671.73,-441.61 659.98,-432.57"/>
+<polygon fill="none" stroke="midnightblue" points="2910.81,-549.79 2920.83,-546.33 2910.84,-542.79 2910.81,-549.79"/>
+</g>
+<!-- Node10 -->
+<g id="node10" class="node">
+<title>Node10</title>
+<g id="a_node10"><a xlink:href="classtvm_1_1tirx_1_1And.html" target="_top" xlink:title="Managed reference to AndNode.">
+<polygon fill="white" stroke="black" points="708,-331.5 708,-432.5 867,-432.5 867,-331.5 708,-331.5"/>
+<text text-anchor="middle" x="787.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::And</text>
+<polyline fill="none" stroke="black" points="708,-413.5 867,-413.5 "/>
+<text text-anchor="middle" x="787.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="708,-394.5 867,-394.5 "/>
+<text text-anchor="start" x="716" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ And()</text>
+<text text-anchor="start" x="716" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="716" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="716" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="716" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</a>
+</g>
+</g>
+<!-- Node3&#45;&gt;Node10 -->
+<g id="edge9" class="edge">
+<title>Node3&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M2910.89,-545.97C2531.41,-543.28 1067.45,-528.21 875.5,-455 861.85,-449.79 848.74,-441.58 837,-432.54"/>
+<polygon fill="none" stroke="midnightblue" points="2910.97,-549.47 2921,-546.04 2911.02,-542.47 2910.97,-549.47"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node">
 <title>Node11</title>
-<g id="a_node11"><a xlink:href="classtvm_1_1tirx_1_1Add.html" target="_top" xlink:title="Managed reference to AddNode.">
-<polygon fill="white" stroke="black" points="531,-386.5 531,-487.5 690,-487.5 690,-386.5 531,-386.5"/>
-<text text-anchor="middle" x="610.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Add</text>
-<polyline fill="none" stroke="black" points="531,-468.5 690,-468.5 "/>
-<text text-anchor="middle" x="610.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="531,-449.5 690,-449.5 "/>
-<text text-anchor="start" x="539" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="539" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="539" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="539" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="539" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node11"><a xlink:href="classtvm_1_1tirx_1_1Broadcast.html" target="_top" xlink:title="Managed reference to BroadcastNode.">
+<polygon fill="white" stroke="black" points="885,-331.5 885,-432.5 1044,-432.5 1044,-331.5 885,-331.5"/>
+<text text-anchor="middle" x="964.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Broadcast</text>
+<polyline fill="none" stroke="black" points="885,-413.5 1044,-413.5 "/>
+<text text-anchor="middle" x="964.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="885,-394.5 1044,-394.5 "/>
+<text text-anchor="start" x="893" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Broadcast()</text>
+<text text-anchor="start" x="893" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="893" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="893" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="893" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node11 -->
 <g id="edge10" class="edge">
 <title>Node3&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2910.78,-601.29C2511.64,-599.91 907.8,-589.43 698.5,-510 684.84,-504.82 671.73,-496.61 659.98,-487.57"/>
-<polygon fill="none" stroke="midnightblue" points="2910.81,-604.79 2920.83,-601.33 2910.84,-597.79 2910.81,-604.79"/>
+<path fill="none" stroke="midnightblue" d="M2910.71,-545.59C2551.27,-541.5 1227.1,-521.98 1052.5,-455 1039.05,-449.84 1026.11,-441.77 1014.49,-432.86"/>
+<polygon fill="none" stroke="midnightblue" points="2910.77,-549.09 2920.81,-545.7 2910.85,-542.09 2910.77,-549.09"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node">
 <title>Node12</title>
-<g id="a_node12"><a xlink:href="classtvm_1_1tirx_1_1And.html" target="_top" xlink:title="Managed reference to AndNode.">
-<polygon fill="white" stroke="black" points="708,-386.5 708,-487.5 867,-487.5 867,-386.5 708,-386.5"/>
-<text text-anchor="middle" x="787.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::And</text>
-<polyline fill="none" stroke="black" points="708,-468.5 867,-468.5 "/>
-<text text-anchor="middle" x="787.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="708,-449.5 867,-449.5 "/>
-<text text-anchor="start" x="716" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ And()</text>
-<text text-anchor="start" x="716" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="716" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="716" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="716" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node12"><a xlink:href="classtvm_1_1tirx_1_1BufferLoad.html" target="_top" xlink:title="Managed reference to BufferLoadNode.">
+<polygon fill="white" stroke="black" points="1062,-331.5 1062,-432.5 1221,-432.5 1221,-331.5 1062,-331.5"/>
+<text text-anchor="middle" x="1141.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferLoad</text>
+<polyline fill="none" stroke="black" points="1062,-413.5 1221,-413.5 "/>
+<text text-anchor="middle" x="1141.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1062,-394.5 1221,-394.5 "/>
+<text text-anchor="start" x="1070" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BufferLoad()</text>
+<text text-anchor="start" x="1070" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1070" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1070" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1070" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node12 -->
 <g id="edge11" class="edge">
 <title>Node3&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2910.89,-600.97C2531.41,-598.28 1067.45,-583.21 875.5,-510 861.85,-504.79 848.74,-496.58 837,-487.54"/>
-<polygon fill="none" stroke="midnightblue" points="2910.97,-604.47 2921,-601.04 2911.02,-597.47 2910.97,-604.47"/>
+<path fill="none" stroke="midnightblue" d="M2910.55,-545.13C2572.15,-539.54 1386.81,-515.78 1229.5,-455 1216.06,-449.81 1203.13,-441.72 1191.51,-432.81"/>
+<polygon fill="none" stroke="midnightblue" points="2910.74,-548.64 2920.79,-545.3 2910.85,-541.64 2910.74,-548.64"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node">
 <title>Node13</title>
-<g id="a_node13"><a xlink:href="classtvm_1_1tirx_1_1Broadcast.html" target="_top" xlink:title="Managed reference to BroadcastNode.">
-<polygon fill="white" stroke="black" points="885,-386.5 885,-487.5 1044,-487.5 1044,-386.5 885,-386.5"/>
-<text text-anchor="middle" x="964.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Broadcast</text>
-<polyline fill="none" stroke="black" points="885,-468.5 1044,-468.5 "/>
-<text text-anchor="middle" x="964.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="885,-449.5 1044,-449.5 "/>
-<text text-anchor="start" x="893" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Broadcast()</text>
-<text text-anchor="start" x="893" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="893" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="893" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="893" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node13"><a xlink:href="classtvm_1_1tirx_1_1Call.html" target="_top" xlink:title="Managed reference to CallNode.">
+<polygon fill="white" stroke="black" points="1239,-326 1239,-438 1398,-438 1398,-326 1239,-326"/>
+<text text-anchor="middle" x="1318.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Call</text>
+<polyline fill="none" stroke="black" points="1239,-419 1398,-419 "/>
+<text text-anchor="middle" x="1318.5" y="-407" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1239,-400 1398,-400 "/>
+<text text-anchor="start" x="1247" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
+<text text-anchor="start" x="1247" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
+<text text-anchor="start" x="1247" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1247" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1247" y="-344" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1247" y="-333" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node13 -->
 <g id="edge12" class="edge">
 <title>Node3&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2910.71,-600.59C2551.27,-596.5 1227.1,-576.98 1052.5,-510 1039.05,-504.84 1026.11,-496.77 1014.49,-487.86"/>
-<polygon fill="none" stroke="midnightblue" points="2910.77,-604.09 2920.81,-600.7 2910.85,-597.09 2910.77,-604.09"/>
+<path fill="none" stroke="midnightblue" d="M2910.89,-544.59C2595.29,-537.4 1546.67,-509.61 1406.5,-455 1395.83,-450.84 1385.48,-444.87 1375.85,-438.13"/>
+<polygon fill="none" stroke="midnightblue" points="2910.84,-548.08 2920.91,-544.81 2911,-541.09 2910.84,-548.08"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node">
 <title>Node14</title>
-<g id="a_node14"><a xlink:href="classtvm_1_1tirx_1_1BufferLoad.html" target="_top" xlink:title="Managed reference to BufferLoadNode.">
-<polygon fill="white" stroke="black" points="1062,-386.5 1062,-487.5 1221,-487.5 1221,-386.5 1062,-386.5"/>
-<text text-anchor="middle" x="1141.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferLoad</text>
-<polyline fill="none" stroke="black" points="1062,-468.5 1221,-468.5 "/>
-<text text-anchor="middle" x="1141.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1062,-449.5 1221,-449.5 "/>
-<text text-anchor="start" x="1070" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BufferLoad()</text>
-<text text-anchor="start" x="1070" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1070" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1070" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1070" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node14"><a xlink:href="classtvm_1_1tirx_1_1Cast.html" target="_top" xlink:title="Managed reference to CastNode.">
+<polygon fill="white" stroke="black" points="1416,-331.5 1416,-432.5 1575,-432.5 1575,-331.5 1416,-331.5"/>
+<text text-anchor="middle" x="1495.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Cast</text>
+<polyline fill="none" stroke="black" points="1416,-413.5 1575,-413.5 "/>
+<text text-anchor="middle" x="1495.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1416,-394.5 1575,-394.5 "/>
+<text text-anchor="start" x="1424" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Cast()</text>
+<text text-anchor="start" x="1424" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1424" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1424" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1424" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node14 -->
 <g id="edge13" class="edge">
 <title>Node3&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2910.55,-600.13C2572.15,-594.54 1386.81,-570.78 1229.5,-510 1216.06,-504.81 1203.13,-496.72 1191.51,-487.81"/>
-<polygon fill="none" stroke="midnightblue" points="2910.74,-603.64 2920.79,-600.3 2910.85,-596.64 2910.74,-603.64"/>
+<path fill="none" stroke="midnightblue" d="M2910.38,-543.88C2617.84,-534.93 1706.48,-503.42 1583.5,-455 1570.09,-449.72 1557.17,-441.6 1545.56,-432.68"/>
+<polygon fill="none" stroke="midnightblue" points="2910.42,-547.38 2920.52,-544.19 2910.64,-540.38 2910.42,-547.38"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node">
 <title>Node15</title>
-<g id="a_node15"><a xlink:href="classtvm_1_1tirx_1_1Call.html" target="_top" xlink:title="Managed reference to CallNode.">
-<polygon fill="white" stroke="black" points="1239,-381 1239,-493 1398,-493 1398,-381 1239,-381"/>
-<text text-anchor="middle" x="1318.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Call</text>
-<polyline fill="none" stroke="black" points="1239,-474 1398,-474 "/>
-<text text-anchor="middle" x="1318.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1239,-455 1398,-455 "/>
-<text text-anchor="start" x="1247" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
-<text text-anchor="start" x="1247" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
-<text text-anchor="start" x="1247" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1247" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1247" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1247" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node15"><a xlink:href="classtvm_1_1tirx_1_1Div.html" target="_top" xlink:title="Managed reference to DivNode.">
+<polygon fill="white" stroke="black" points="1593,-331.5 1593,-432.5 1752,-432.5 1752,-331.5 1593,-331.5"/>
+<text text-anchor="middle" x="1672.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Div</text>
+<polyline fill="none" stroke="black" points="1593,-413.5 1752,-413.5 "/>
+<text text-anchor="middle" x="1672.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1593,-394.5 1752,-394.5 "/>
+<text text-anchor="start" x="1601" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Div()</text>
+<text text-anchor="start" x="1601" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1601" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1601" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1601" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node15 -->
 <g id="edge14" class="edge">
 <title>Node3&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2910.89,-599.59C2595.29,-592.4 1546.67,-564.61 1406.5,-510 1395.83,-505.84 1385.48,-499.87 1375.85,-493.13"/>
-<polygon fill="none" stroke="midnightblue" points="2910.84,-603.08 2920.91,-599.81 2911,-596.09 2910.84,-603.08"/>
+<path fill="none" stroke="midnightblue" d="M2910.69,-546.83C2662.13,-546.67 1969.74,-538.5 1760.5,-455 1747.12,-449.66 1734.21,-441.51 1722.6,-432.59"/>
+<polygon fill="none" stroke="midnightblue" points="2910.76,-550.33 2920.77,-546.84 2910.77,-543.33 2910.76,-550.33"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node">
 <title>Node16</title>
-<g id="a_node16"><a xlink:href="classtvm_1_1tirx_1_1Cast.html" target="_top" xlink:title="Managed reference to CastNode.">
-<polygon fill="white" stroke="black" points="1416,-386.5 1416,-487.5 1575,-487.5 1575,-386.5 1416,-386.5"/>
-<text text-anchor="middle" x="1495.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Cast</text>
-<polyline fill="none" stroke="black" points="1416,-468.5 1575,-468.5 "/>
-<text text-anchor="middle" x="1495.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1416,-449.5 1575,-449.5 "/>
-<text text-anchor="start" x="1424" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Cast()</text>
-<text text-anchor="start" x="1424" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1424" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1424" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1424" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node16"><a xlink:href="classtvm_1_1tirx_1_1EQ.html" target="_top" xlink:title="Managed reference to EQNode.">
+<polygon fill="white" stroke="black" points="1770,-331.5 1770,-432.5 1929,-432.5 1929,-331.5 1770,-331.5"/>
+<text text-anchor="middle" x="1849.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::EQ</text>
+<polyline fill="none" stroke="black" points="1770,-413.5 1929,-413.5 "/>
+<text text-anchor="middle" x="1849.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1770,-394.5 1929,-394.5 "/>
+<text text-anchor="start" x="1778" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EQ()</text>
+<text text-anchor="start" x="1778" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1778" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1778" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1778" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node16 -->
 <g id="edge15" class="edge">
 <title>Node3&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2910.38,-598.88C2617.84,-589.93 1706.48,-558.42 1583.5,-510 1570.09,-504.72 1557.17,-496.6 1545.56,-487.68"/>
-<polygon fill="none" stroke="midnightblue" points="2910.42,-602.38 2920.52,-599.19 2910.64,-595.38 2910.42,-602.38"/>
+<path fill="none" stroke="midnightblue" d="M2910.8,-545.55C2687.71,-542.1 2113.17,-526.35 1937.5,-455 1924.33,-449.65 1911.61,-441.62 1900.12,-432.83"/>
+<polygon fill="none" stroke="midnightblue" points="2910.79,-549.05 2920.84,-545.7 2910.89,-542.05 2910.79,-549.05"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node">
 <title>Node17</title>
-<g id="a_node17"><a xlink:href="classtvm_1_1tirx_1_1Div.html" target="_top" xlink:title="Managed reference to DivNode.">
-<polygon fill="white" stroke="black" points="1593,-386.5 1593,-487.5 1752,-487.5 1752,-386.5 1593,-386.5"/>
-<text text-anchor="middle" x="1672.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Div</text>
-<polyline fill="none" stroke="black" points="1593,-468.5 1752,-468.5 "/>
-<text text-anchor="middle" x="1672.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1593,-449.5 1752,-449.5 "/>
-<text text-anchor="start" x="1601" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Div()</text>
-<text text-anchor="start" x="1601" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1601" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1601" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1601" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node17"><a xlink:href="classtvm_1_1tirx_1_1FloorDiv.html" target="_top" xlink:title="Managed reference to FloorDivNode.">
+<polygon fill="white" stroke="black" points="1947,-331.5 1947,-432.5 2106,-432.5 2106,-331.5 1947,-331.5"/>
+<text text-anchor="middle" x="2026.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorDiv</text>
+<polyline fill="none" stroke="black" points="1947,-413.5 2106,-413.5 "/>
+<text text-anchor="middle" x="2026.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1947,-394.5 2106,-394.5 "/>
+<text text-anchor="start" x="1955" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorDiv()</text>
+<text text-anchor="start" x="1955" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1955" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1955" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1955" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node17 -->
 <g id="edge16" class="edge">
 <title>Node3&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2910.69,-601.83C2662.13,-601.67 1969.74,-593.5 1760.5,-510 1747.12,-504.66 1734.21,-496.51 1722.6,-487.59"/>
-<polygon fill="none" stroke="midnightblue" points="2910.76,-605.33 2920.77,-601.84 2910.77,-598.33 2910.76,-605.33"/>
+<path fill="none" stroke="midnightblue" d="M2910.69,-543.75C2715.12,-536.71 2256.86,-514.24 2114.5,-455 2101.38,-449.54 2088.68,-441.46 2077.2,-432.66"/>
+<polygon fill="none" stroke="midnightblue" points="2910.81,-547.26 2920.93,-544.11 2911.06,-540.26 2910.81,-547.26"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node">
 <title>Node18</title>
-<g id="a_node18"><a xlink:href="classtvm_1_1tirx_1_1EQ.html" target="_top" xlink:title="Managed reference to EQNode.">
-<polygon fill="white" stroke="black" points="1770,-386.5 1770,-487.5 1929,-487.5 1929,-386.5 1770,-386.5"/>
-<text text-anchor="middle" x="1849.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::EQ</text>
-<polyline fill="none" stroke="black" points="1770,-468.5 1929,-468.5 "/>
-<text text-anchor="middle" x="1849.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1770,-449.5 1929,-449.5 "/>
-<text text-anchor="start" x="1778" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EQ()</text>
-<text text-anchor="start" x="1778" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1778" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1778" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1778" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node18"><a xlink:href="classtvm_1_1tirx_1_1FloorMod.html" target="_top" xlink:title="Managed reference to FloorModNode.">
+<polygon fill="white" stroke="black" points="2124,-331.5 2124,-432.5 2283,-432.5 2283,-331.5 2124,-331.5"/>
+<text text-anchor="middle" x="2203.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorMod</text>
+<polyline fill="none" stroke="black" points="2124,-413.5 2283,-413.5 "/>
+<text text-anchor="middle" x="2203.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2124,-394.5 2283,-394.5 "/>
+<text text-anchor="start" x="2132" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorMod()</text>
+<text text-anchor="start" x="2132" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2132" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2132" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2132" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node18 -->
 <g id="edge17" class="edge">
 <title>Node3&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2910.8,-600.55C2687.71,-597.1 2113.17,-581.35 1937.5,-510 1924.33,-504.65 1911.61,-496.62 1900.12,-487.83"/>
-<polygon fill="none" stroke="midnightblue" points="2910.79,-604.05 2920.84,-600.7 2910.89,-597.05 2910.79,-604.05"/>
+<path fill="none" stroke="midnightblue" d="M2910.81,-541.09C2745.83,-530.12 2401.04,-502.22 2291.5,-455 2278.63,-449.45 2266.13,-441.44 2254.78,-432.76"/>
+<polygon fill="none" stroke="midnightblue" points="2910.73,-544.59 2920.94,-541.75 2911.19,-537.6 2910.73,-544.59"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node">
 <title>Node19</title>
-<g id="a_node19"><a xlink:href="classtvm_1_1tirx_1_1FloorDiv.html" target="_top" xlink:title="Managed reference to FloorDivNode.">
-<polygon fill="white" stroke="black" points="1947,-386.5 1947,-487.5 2106,-487.5 2106,-386.5 1947,-386.5"/>
-<text text-anchor="middle" x="2026.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorDiv</text>
-<polyline fill="none" stroke="black" points="1947,-468.5 2106,-468.5 "/>
-<text text-anchor="middle" x="2026.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1947,-449.5 2106,-449.5 "/>
-<text text-anchor="start" x="1955" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorDiv()</text>
-<text text-anchor="start" x="1955" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1955" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1955" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1955" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node19"><a xlink:href="classtvm_1_1tirx_1_1GE.html" target="_top" xlink:title="Managed reference to GENode.">
+<polygon fill="white" stroke="black" points="2301,-331.5 2301,-432.5 2460,-432.5 2460,-331.5 2301,-331.5"/>
+<text text-anchor="middle" x="2380.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GE</text>
+<polyline fill="none" stroke="black" points="2301,-413.5 2460,-413.5 "/>
+<text text-anchor="middle" x="2380.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2301,-394.5 2460,-394.5 "/>
+<text text-anchor="start" x="2309" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GE()</text>
+<text text-anchor="start" x="2309" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2309" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2309" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2309" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node19 -->
 <g id="edge18" class="edge">
 <title>Node3&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2910.69,-598.75C2715.12,-591.71 2256.86,-569.24 2114.5,-510 2101.38,-504.54 2088.68,-496.46 2077.2,-487.66"/>
-<polygon fill="none" stroke="midnightblue" points="2910.81,-602.26 2920.93,-599.11 2911.06,-595.26 2910.81,-602.26"/>
+<path fill="none" stroke="midnightblue" d="M2910.62,-544.89C2801.43,-539.87 2613.81,-521.3 2468.5,-455 2455.93,-449.26 2443.65,-441.28 2432.45,-432.71"/>
+<polygon fill="none" stroke="midnightblue" points="2910.48,-548.38 2920.62,-545.32 2910.78,-541.39 2910.48,-548.38"/>
 </g>
 <!-- Node20 -->
 <g id="node20" class="node">
 <title>Node20</title>
-<g id="a_node20"><a xlink:href="classtvm_1_1tirx_1_1FloorMod.html" target="_top" xlink:title="Managed reference to FloorModNode.">
-<polygon fill="white" stroke="black" points="2124,-386.5 2124,-487.5 2283,-487.5 2283,-386.5 2124,-386.5"/>
-<text text-anchor="middle" x="2203.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorMod</text>
-<polyline fill="none" stroke="black" points="2124,-468.5 2283,-468.5 "/>
-<text text-anchor="middle" x="2203.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2124,-449.5 2283,-449.5 "/>
-<text text-anchor="start" x="2132" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorMod()</text>
-<text text-anchor="start" x="2132" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2132" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2132" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2132" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node20"><a xlink:href="classtvm_1_1tirx_1_1GT.html" target="_top" xlink:title="Managed reference to GTNode.">
+<polygon fill="white" stroke="black" points="2478,-331.5 2478,-432.5 2637,-432.5 2637,-331.5 2478,-331.5"/>
+<text text-anchor="middle" x="2557.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GT</text>
+<polyline fill="none" stroke="black" points="2478,-413.5 2637,-413.5 "/>
+<text text-anchor="middle" x="2557.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2478,-394.5 2637,-394.5 "/>
+<text text-anchor="start" x="2486" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GT()</text>
+<text text-anchor="start" x="2486" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2486" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2486" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2486" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node20 -->
 <g id="edge19" class="edge">
 <title>Node3&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M2910.81,-596.09C2745.83,-585.12 2401.04,-557.22 2291.5,-510 2278.63,-504.45 2266.13,-496.44 2254.78,-487.76"/>
-<polygon fill="none" stroke="midnightblue" points="2910.73,-599.59 2920.94,-596.75 2911.19,-592.6 2910.73,-599.59"/>
+<path fill="none" stroke="midnightblue" d="M2910.61,-534.37C2836.46,-521.83 2730.09,-497.86 2645.5,-455 2633.53,-448.93 2621.7,-441.01 2610.8,-432.64"/>
+<polygon fill="none" stroke="midnightblue" points="2910.42,-537.89 2920.86,-536.07 2911.56,-530.98 2910.42,-537.89"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node">
 <title>Node21</title>
-<g id="a_node21"><a xlink:href="classtvm_1_1tirx_1_1GE.html" target="_top" xlink:title="Managed reference to GENode.">
-<polygon fill="white" stroke="black" points="2301,-386.5 2301,-487.5 2460,-487.5 2460,-386.5 2301,-386.5"/>
-<text text-anchor="middle" x="2380.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GE</text>
-<polyline fill="none" stroke="black" points="2301,-468.5 2460,-468.5 "/>
-<text text-anchor="middle" x="2380.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2301,-449.5 2460,-449.5 "/>
-<text text-anchor="start" x="2309" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GE()</text>
-<text text-anchor="start" x="2309" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2309" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2309" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2309" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node21"><a xlink:href="classtvm_1_1tirx_1_1LE.html" target="_top" xlink:title="Managed reference to LENode.">
+<polygon fill="white" stroke="black" points="2655,-331.5 2655,-432.5 2814,-432.5 2814,-331.5 2655,-331.5"/>
+<text text-anchor="middle" x="2734.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LE</text>
+<polyline fill="none" stroke="black" points="2655,-413.5 2814,-413.5 "/>
+<text text-anchor="middle" x="2734.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2655,-394.5 2814,-394.5 "/>
+<text text-anchor="start" x="2663" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LE()</text>
+<text text-anchor="start" x="2663" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2663" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2663" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2663" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node21 -->
 <g id="edge20" class="edge">
 <title>Node3&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M2910.62,-599.89C2801.43,-594.87 2613.81,-576.3 2468.5,-510 2455.93,-504.26 2443.65,-496.28 2432.45,-487.71"/>
-<polygon fill="none" stroke="midnightblue" points="2910.48,-603.38 2920.62,-600.32 2910.78,-596.39 2910.48,-603.38"/>
+<path fill="none" stroke="midnightblue" d="M2911.98,-505.62C2882.75,-490.91 2850.55,-473.39 2822.5,-455 2812.26,-448.29 2801.83,-440.61 2791.88,-432.82"/>
+<polygon fill="none" stroke="midnightblue" points="2910.44,-508.76 2920.95,-510.09 2913.56,-502.5 2910.44,-508.76"/>
 </g>
 <!-- Node22 -->
 <g id="node22" class="node">
 <title>Node22</title>
-<g id="a_node22"><a xlink:href="classtvm_1_1tirx_1_1GT.html" target="_top" xlink:title="Managed reference to GTNode.">
-<polygon fill="white" stroke="black" points="2478,-386.5 2478,-487.5 2637,-487.5 2637,-386.5 2478,-386.5"/>
-<text text-anchor="middle" x="2557.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GT</text>
-<polyline fill="none" stroke="black" points="2478,-468.5 2637,-468.5 "/>
-<text text-anchor="middle" x="2557.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2478,-449.5 2637,-449.5 "/>
-<text text-anchor="start" x="2486" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GT()</text>
-<text text-anchor="start" x="2486" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2486" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2486" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2486" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node22"><a xlink:href="classtvm_1_1tirx_1_1LT.html" target="_top" xlink:title="Managed reference to LTNode.">
+<polygon fill="white" stroke="black" points="2832,-331.5 2832,-432.5 2991,-432.5 2991,-331.5 2832,-331.5"/>
+<text text-anchor="middle" x="2911.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LT</text>
+<polyline fill="none" stroke="black" points="2832,-413.5 2991,-413.5 "/>
+<text text-anchor="middle" x="2911.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2832,-394.5 2991,-394.5 "/>
+<text text-anchor="start" x="2840" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LT()</text>
+<text text-anchor="start" x="2840" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2840" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2840" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2840" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node22 -->
 <g id="edge21" class="edge">
 <title>Node3&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2910.61,-589.37C2836.46,-576.83 2730.09,-552.86 2645.5,-510 2633.53,-503.93 2621.7,-496.01 2610.8,-487.64"/>
-<polygon fill="none" stroke="midnightblue" points="2910.42,-592.89 2920.86,-591.07 2911.56,-585.98 2910.42,-592.89"/>
+<path fill="none" stroke="midnightblue" d="M2965.45,-482.11C2956.47,-465.62 2946.96,-448.14 2938.46,-432.53"/>
+<polygon fill="none" stroke="midnightblue" points="2962.51,-484.04 2970.37,-491.15 2968.66,-480.69 2962.51,-484.04"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node">
 <title>Node23</title>
-<g id="a_node23"><a xlink:href="classtvm_1_1tirx_1_1LE.html" target="_top" xlink:title="Managed reference to LENode.">
-<polygon fill="white" stroke="black" points="2655,-386.5 2655,-487.5 2814,-487.5 2814,-386.5 2655,-386.5"/>
-<text text-anchor="middle" x="2734.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LE</text>
-<polyline fill="none" stroke="black" points="2655,-468.5 2814,-468.5 "/>
-<text text-anchor="middle" x="2734.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2655,-449.5 2814,-449.5 "/>
-<text text-anchor="start" x="2663" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LE()</text>
-<text text-anchor="start" x="2663" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2663" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2663" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2663" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node23"><a xlink:href="classtvm_1_1tirx_1_1Let.html" target="_top" xlink:title="Managed reference to LetNode.">
+<polygon fill="white" stroke="black" points="3009,-331.5 3009,-432.5 3168,-432.5 3168,-331.5 3009,-331.5"/>
+<text text-anchor="middle" x="3088.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Let</text>
+<polyline fill="none" stroke="black" points="3009,-413.5 3168,-413.5 "/>
+<text text-anchor="middle" x="3088.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3009,-394.5 3168,-394.5 "/>
+<text text-anchor="start" x="3017" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Let()</text>
+<text text-anchor="start" x="3017" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3017" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3017" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3017" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node23 -->
 <g id="edge22" class="edge">
 <title>Node3&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2911.98,-560.62C2882.75,-545.91 2850.55,-528.39 2822.5,-510 2812.26,-503.29 2801.83,-495.61 2791.88,-487.82"/>
-<polygon fill="none" stroke="midnightblue" points="2910.44,-563.76 2920.95,-565.09 2913.56,-557.5 2910.44,-563.76"/>
+<path fill="none" stroke="midnightblue" d="M3035.16,-482.11C3044.03,-465.62 3053.44,-448.14 3061.84,-432.53"/>
+<polygon fill="none" stroke="midnightblue" points="3031.95,-480.68 3030.29,-491.15 3038.11,-484 3031.95,-480.68"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node">
 <title>Node24</title>
-<g id="a_node24"><a xlink:href="classtvm_1_1tirx_1_1LT.html" target="_top" xlink:title="Managed reference to LTNode.">
-<polygon fill="white" stroke="black" points="2832,-386.5 2832,-487.5 2991,-487.5 2991,-386.5 2832,-386.5"/>
-<text text-anchor="middle" x="2911.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LT</text>
-<polyline fill="none" stroke="black" points="2832,-468.5 2991,-468.5 "/>
-<text text-anchor="middle" x="2911.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2832,-449.5 2991,-449.5 "/>
-<text text-anchor="start" x="2840" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LT()</text>
-<text text-anchor="start" x="2840" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2840" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2840" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2840" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node24"><a xlink:href="classtvm_1_1tirx_1_1Max.html" target="_top" xlink:title="Managed reference to MaxNode.">
+<polygon fill="white" stroke="black" points="3186,-331.5 3186,-432.5 3345,-432.5 3345,-331.5 3186,-331.5"/>
+<text text-anchor="middle" x="3265.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Max</text>
+<polyline fill="none" stroke="black" points="3186,-413.5 3345,-413.5 "/>
+<text text-anchor="middle" x="3265.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3186,-394.5 3345,-394.5 "/>
+<text text-anchor="start" x="3194" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Max()</text>
+<text text-anchor="start" x="3194" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3194" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3194" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3194" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node24 -->
 <g id="edge23" class="edge">
 <title>Node3&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2965.45,-537.11C2956.47,-520.62 2946.96,-503.14 2938.46,-487.53"/>
-<polygon fill="none" stroke="midnightblue" points="2962.51,-539.04 2970.37,-546.15 2968.66,-535.69 2962.51,-539.04"/>
+<path fill="none" stroke="midnightblue" d="M3089.53,-504.6C3118,-490.05 3149.2,-472.88 3176.5,-455 3186.81,-448.25 3197.34,-440.54 3207.39,-432.75"/>
+<polygon fill="none" stroke="midnightblue" points="3087.73,-501.59 3080.39,-509.23 3090.89,-507.83 3087.73,-501.59"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node">
 <title>Node25</title>
-<g id="a_node25"><a xlink:href="classtvm_1_1tirx_1_1Let.html" target="_top" xlink:title="Managed reference to LetNode.">
-<polygon fill="white" stroke="black" points="3009,-386.5 3009,-487.5 3168,-487.5 3168,-386.5 3009,-386.5"/>
-<text text-anchor="middle" x="3088.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Let</text>
-<polyline fill="none" stroke="black" points="3009,-468.5 3168,-468.5 "/>
-<text text-anchor="middle" x="3088.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3009,-449.5 3168,-449.5 "/>
-<text text-anchor="start" x="3017" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Let()</text>
-<text text-anchor="start" x="3017" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3017" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3017" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3017" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node25"><a xlink:href="classtvm_1_1tirx_1_1Min.html" target="_top" xlink:title="Managed reference to MinNode.">
+<polygon fill="white" stroke="black" points="3363,-331.5 3363,-432.5 3522,-432.5 3522,-331.5 3363,-331.5"/>
+<text text-anchor="middle" x="3442.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Min</text>
+<polyline fill="none" stroke="black" points="3363,-413.5 3522,-413.5 "/>
+<text text-anchor="middle" x="3442.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3363,-394.5 3522,-394.5 "/>
+<text text-anchor="start" x="3371" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Min()</text>
+<text text-anchor="start" x="3371" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3371" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3371" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3371" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node25 -->
 <g id="edge24" class="edge">
 <title>Node3&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M3035.16,-537.11C3044.03,-520.62 3053.44,-503.14 3061.84,-487.53"/>
-<polygon fill="none" stroke="midnightblue" points="3031.95,-535.68 3030.29,-546.15 3038.11,-539 3031.95,-535.68"/>
+<path fill="none" stroke="midnightblue" d="M3090.53,-534.04C3164.19,-521.34 3269.54,-497.32 3353.5,-455 3365.57,-448.92 3377.5,-440.98 3388.53,-432.62"/>
+<polygon fill="none" stroke="midnightblue" points="3089.63,-530.64 3080.35,-535.76 3090.79,-537.54 3089.63,-530.64"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
 <title>Node26</title>
-<g id="a_node26"><a xlink:href="classtvm_1_1tirx_1_1Max.html" target="_top" xlink:title="Managed reference to MaxNode.">
-<polygon fill="white" stroke="black" points="3186,-386.5 3186,-487.5 3345,-487.5 3345,-386.5 3186,-386.5"/>
-<text text-anchor="middle" x="3265.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Max</text>
-<polyline fill="none" stroke="black" points="3186,-468.5 3345,-468.5 "/>
-<text text-anchor="middle" x="3265.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3186,-449.5 3345,-449.5 "/>
-<text text-anchor="start" x="3194" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Max()</text>
-<text text-anchor="start" x="3194" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3194" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3194" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3194" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node26"><a xlink:href="classtvm_1_1tirx_1_1Mod.html" target="_top" xlink:title="Managed reference to ModNode.">
+<polygon fill="white" stroke="black" points="3540,-331.5 3540,-432.5 3699,-432.5 3699,-331.5 3540,-331.5"/>
+<text text-anchor="middle" x="3619.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mod</text>
+<polyline fill="none" stroke="black" points="3540,-413.5 3699,-413.5 "/>
+<text text-anchor="middle" x="3619.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3540,-394.5 3699,-394.5 "/>
+<text text-anchor="start" x="3548" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mod()</text>
+<text text-anchor="start" x="3548" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3548" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3548" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3548" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node26 -->
 <g id="edge25" class="edge">
 <title>Node3&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M3089.53,-559.6C3118,-545.05 3149.2,-527.88 3176.5,-510 3186.81,-503.25 3197.34,-495.54 3207.39,-487.75"/>
-<polygon fill="none" stroke="midnightblue" points="3087.73,-556.59 3080.39,-564.23 3090.89,-562.83 3087.73,-556.59"/>
+<path fill="none" stroke="midnightblue" d="M3090.31,-544.67C3199.08,-539.44 3385.7,-520.63 3530.5,-455 3543.17,-449.26 3555.57,-441.27 3566.89,-432.7"/>
+<polygon fill="none" stroke="midnightblue" points="3089.86,-541.19 3080.03,-545.14 3090.18,-548.18 3089.86,-541.19"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node">
 <title>Node27</title>
-<g id="a_node27"><a xlink:href="classtvm_1_1tirx_1_1Min.html" target="_top" xlink:title="Managed reference to MinNode.">
-<polygon fill="white" stroke="black" points="3363,-386.5 3363,-487.5 3522,-487.5 3522,-386.5 3363,-386.5"/>
-<text text-anchor="middle" x="3442.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Min</text>
-<polyline fill="none" stroke="black" points="3363,-468.5 3522,-468.5 "/>
-<text text-anchor="middle" x="3442.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3363,-449.5 3522,-449.5 "/>
-<text text-anchor="start" x="3371" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Min()</text>
-<text text-anchor="start" x="3371" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3371" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3371" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3371" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node27"><a xlink:href="classtvm_1_1tirx_1_1Mul.html" target="_top" xlink:title="Managed reference to MulNode.">
+<polygon fill="white" stroke="black" points="3717,-331.5 3717,-432.5 3876,-432.5 3876,-331.5 3717,-331.5"/>
+<text text-anchor="middle" x="3796.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mul</text>
+<polyline fill="none" stroke="black" points="3717,-413.5 3876,-413.5 "/>
+<text text-anchor="middle" x="3796.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3717,-394.5 3876,-394.5 "/>
+<text text-anchor="start" x="3725" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mul()</text>
+<text text-anchor="start" x="3725" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3725" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3725" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3725" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node27 -->
 <g id="edge26" class="edge">
 <title>Node3&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M3090.53,-589.04C3164.19,-576.34 3269.54,-552.32 3353.5,-510 3365.57,-503.92 3377.5,-495.98 3388.53,-487.62"/>
-<polygon fill="none" stroke="midnightblue" points="3089.63,-585.64 3080.35,-590.76 3090.79,-592.54 3089.63,-585.64"/>
+<path fill="none" stroke="midnightblue" d="M3090.22,-540.99C3254.83,-529.88 3598.21,-501.78 3707.5,-455 3720.47,-449.45 3733.1,-441.44 3744.56,-432.76"/>
+<polygon fill="none" stroke="midnightblue" points="3089.87,-537.5 3080.12,-541.66 3090.33,-544.49 3089.87,-537.5"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node">
 <title>Node28</title>
-<g id="a_node28"><a xlink:href="classtvm_1_1tirx_1_1Mod.html" target="_top" xlink:title="Managed reference to ModNode.">
-<polygon fill="white" stroke="black" points="3540,-386.5 3540,-487.5 3699,-487.5 3699,-386.5 3540,-386.5"/>
-<text text-anchor="middle" x="3619.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mod</text>
-<polyline fill="none" stroke="black" points="3540,-468.5 3699,-468.5 "/>
-<text text-anchor="middle" x="3619.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3540,-449.5 3699,-449.5 "/>
-<text text-anchor="start" x="3548" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mod()</text>
-<text text-anchor="start" x="3548" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3548" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3548" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3548" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node28"><a xlink:href="classtvm_1_1tirx_1_1NE.html" target="_top" xlink:title="Managed reference to NENode.">
+<polygon fill="white" stroke="black" points="3894,-331.5 3894,-432.5 4053,-432.5 4053,-331.5 3894,-331.5"/>
+<text text-anchor="middle" x="3973.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::NE</text>
+<polyline fill="none" stroke="black" points="3894,-413.5 4053,-413.5 "/>
+<text text-anchor="middle" x="3973.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3894,-394.5 4053,-394.5 "/>
+<text text-anchor="start" x="3902" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NE()</text>
+<text text-anchor="start" x="3902" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3902" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3902" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3902" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node28 -->
 <g id="edge27" class="edge">
 <title>Node3&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M3090.31,-599.67C3199.08,-594.44 3385.7,-575.63 3530.5,-510 3543.17,-504.26 3555.57,-496.27 3566.89,-487.7"/>
-<polygon fill="none" stroke="midnightblue" points="3089.86,-596.19 3080.03,-600.14 3090.18,-603.18 3089.86,-596.19"/>
+<path fill="none" stroke="midnightblue" d="M3090.45,-543.66C3285.73,-536.46 3742.38,-513.69 3884.5,-455 3897.73,-449.54 3910.55,-441.45 3922.16,-432.65"/>
+<polygon fill="none" stroke="midnightblue" points="3090.08,-540.17 3080.22,-544.03 3090.34,-547.17 3090.08,-540.17"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node">
 <title>Node29</title>
-<g id="a_node29"><a xlink:href="classtvm_1_1tirx_1_1Mul.html" target="_top" xlink:title="Managed reference to MulNode.">
-<polygon fill="white" stroke="black" points="3717,-386.5 3717,-487.5 3876,-487.5 3876,-386.5 3717,-386.5"/>
-<text text-anchor="middle" x="3796.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mul</text>
-<polyline fill="none" stroke="black" points="3717,-468.5 3876,-468.5 "/>
-<text text-anchor="middle" x="3796.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3717,-449.5 3876,-449.5 "/>
-<text text-anchor="start" x="3725" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mul()</text>
-<text text-anchor="start" x="3725" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3725" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3725" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3725" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node29"><a xlink:href="classtvm_1_1tirx_1_1Not.html" target="_top" xlink:title="Managed reference to NotNode.">
+<polygon fill="white" stroke="black" points="4071,-331.5 4071,-432.5 4230,-432.5 4230,-331.5 4071,-331.5"/>
+<text text-anchor="middle" x="4150.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Not</text>
+<polyline fill="none" stroke="black" points="4071,-413.5 4230,-413.5 "/>
+<text text-anchor="middle" x="4150.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4071,-394.5 4230,-394.5 "/>
+<text text-anchor="start" x="4079" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Not()</text>
+<text text-anchor="start" x="4079" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4079" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4079" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4079" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node29 -->
 <g id="edge28" class="edge">
 <title>Node3&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M3090.22,-595.99C3254.83,-584.88 3598.21,-556.78 3707.5,-510 3720.47,-504.45 3733.1,-496.44 3744.56,-487.76"/>
-<polygon fill="none" stroke="midnightblue" points="3089.87,-592.5 3080.12,-596.66 3090.33,-599.49 3089.87,-592.5"/>
+<path fill="none" stroke="midnightblue" d="M3090.41,-545.47C3313.31,-541.84 3886.07,-525.7 4061.5,-455 4074.77,-449.65 4087.62,-441.62 4099.23,-432.83"/>
+<polygon fill="none" stroke="midnightblue" points="3090.32,-541.97 3080.38,-545.62 3090.43,-548.97 3090.32,-541.97"/>
 </g>
 <!-- Node30 -->
 <g id="node30" class="node">
 <title>Node30</title>
-<g id="a_node30"><a xlink:href="classtvm_1_1tirx_1_1NE.html" target="_top" xlink:title="Managed reference to NENode.">
-<polygon fill="white" stroke="black" points="3894,-386.5 3894,-487.5 4053,-487.5 4053,-386.5 3894,-386.5"/>
-<text text-anchor="middle" x="3973.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::NE</text>
-<polyline fill="none" stroke="black" points="3894,-468.5 4053,-468.5 "/>
-<text text-anchor="middle" x="3973.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3894,-449.5 4053,-449.5 "/>
-<text text-anchor="start" x="3902" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NE()</text>
-<text text-anchor="start" x="3902" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3902" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3902" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3902" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node30"><a xlink:href="classtvm_1_1tirx_1_1Or.html" target="_top" xlink:title="Managed reference to OrNode.">
+<polygon fill="white" stroke="black" points="4248,-331.5 4248,-432.5 4407,-432.5 4407,-331.5 4248,-331.5"/>
+<text text-anchor="middle" x="4327.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Or</text>
+<polyline fill="none" stroke="black" points="4248,-413.5 4407,-413.5 "/>
+<text text-anchor="middle" x="4327.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4248,-394.5 4407,-394.5 "/>
+<text text-anchor="start" x="4256" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Or()</text>
+<text text-anchor="start" x="4256" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4256" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4256" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4256" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node30 -->
 <g id="edge29" class="edge">
 <title>Node3&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M3090.45,-598.66C3285.73,-591.46 3742.38,-568.69 3884.5,-510 3897.73,-504.54 3910.55,-496.45 3922.16,-487.65"/>
-<polygon fill="none" stroke="midnightblue" points="3090.08,-595.17 3080.22,-599.03 3090.34,-602.17 3090.08,-595.17"/>
+<path fill="none" stroke="midnightblue" d="M3090.14,-546.76C3338.24,-546.41 4029.37,-537.8 4238.5,-455 4251.99,-449.66 4265.02,-441.51 4276.76,-432.59"/>
+<polygon fill="none" stroke="midnightblue" points="3090.08,-543.26 3080.09,-546.77 3090.09,-550.26 3090.08,-543.26"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node">
 <title>Node31</title>
-<g id="a_node31"><a xlink:href="classtvm_1_1tirx_1_1Not.html" target="_top" xlink:title="Managed reference to NotNode.">
-<polygon fill="white" stroke="black" points="4071,-386.5 4071,-487.5 4230,-487.5 4230,-386.5 4071,-386.5"/>
-<text text-anchor="middle" x="4150.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Not</text>
-<polyline fill="none" stroke="black" points="4071,-468.5 4230,-468.5 "/>
-<text text-anchor="middle" x="4150.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4071,-449.5 4230,-449.5 "/>
-<text text-anchor="start" x="4079" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Not()</text>
-<text text-anchor="start" x="4079" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4079" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4079" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4079" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node31"><a xlink:href="classtvm_1_1tirx_1_1ProducerLoad.html" target="_top" xlink:title="Managed reference to ProducerLoadNode.">
+<polygon fill="white" stroke="black" points="4425,-331.5 4425,-432.5 4584,-432.5 4584,-331.5 4425,-331.5"/>
+<text text-anchor="middle" x="4504.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ProducerLoad</text>
+<polyline fill="none" stroke="black" points="4425,-413.5 4584,-413.5 "/>
+<text text-anchor="middle" x="4504.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4425,-394.5 4584,-394.5 "/>
+<text text-anchor="start" x="4433" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProducerLoad()</text>
+<text text-anchor="start" x="4433" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4433" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4433" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4433" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node31 -->
 <g id="edge30" class="edge">
 <title>Node3&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M3090.41,-600.47C3313.31,-596.84 3886.07,-580.7 4061.5,-510 4074.77,-504.65 4087.62,-496.62 4099.23,-487.83"/>
-<polygon fill="none" stroke="midnightblue" points="3090.32,-596.97 3080.38,-600.62 3090.43,-603.97 3090.32,-596.97"/>
+<path fill="none" stroke="midnightblue" d="M3090.48,-543.85C3382.58,-534.8 4292.56,-503.02 4415.5,-455 4429.01,-449.72 4442.06,-441.6 4453.8,-432.68"/>
+<polygon fill="none" stroke="midnightblue" points="3090.24,-540.35 3080.35,-544.16 3090.46,-547.35 3090.24,-540.35"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node">
 <title>Node32</title>
-<g id="a_node32"><a xlink:href="classtvm_1_1tirx_1_1Or.html" target="_top" xlink:title="Managed reference to OrNode.">
-<polygon fill="white" stroke="black" points="4248,-386.5 4248,-487.5 4407,-487.5 4407,-386.5 4248,-386.5"/>
-<text text-anchor="middle" x="4327.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Or</text>
-<polyline fill="none" stroke="black" points="4248,-468.5 4407,-468.5 "/>
-<text text-anchor="middle" x="4327.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4248,-449.5 4407,-449.5 "/>
-<text text-anchor="start" x="4256" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Or()</text>
-<text text-anchor="start" x="4256" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4256" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4256" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4256" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node32"><a xlink:href="classtvm_1_1tirx_1_1Ramp.html" target="_top" xlink:title="Managed reference to RampNode.">
+<polygon fill="white" stroke="black" points="4602,-331.5 4602,-432.5 4761,-432.5 4761,-331.5 4602,-331.5"/>
+<text text-anchor="middle" x="4681.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Ramp</text>
+<polyline fill="none" stroke="black" points="4602,-413.5 4761,-413.5 "/>
+<text text-anchor="middle" x="4681.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4602,-394.5 4761,-394.5 "/>
+<text text-anchor="start" x="4610" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Ramp()</text>
+<text text-anchor="start" x="4610" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4610" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4610" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4610" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node32 -->
 <g id="edge31" class="edge">
 <title>Node3&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M3090.14,-601.76C3338.24,-601.41 4029.37,-592.8 4238.5,-510 4251.99,-504.66 4265.02,-496.51 4276.76,-487.59"/>
-<polygon fill="none" stroke="midnightblue" points="3090.08,-598.26 3080.09,-601.77 3090.09,-605.26 3090.08,-598.26"/>
+<path fill="none" stroke="midnightblue" d="M3090.25,-544.55C3405.75,-537.25 4452.4,-509.15 4592.5,-455 4606.03,-449.77 4619.08,-441.67 4630.83,-432.76"/>
+<polygon fill="none" stroke="midnightblue" points="3090.15,-541.05 3080.24,-544.78 3090.31,-548.05 3090.15,-541.05"/>
 </g>
 <!-- Node33 -->
 <g id="node33" class="node">
 <title>Node33</title>
-<g id="a_node33"><a xlink:href="classtvm_1_1tirx_1_1ProducerLoad.html" target="_top" xlink:title="Managed reference to ProducerLoadNode.">
-<polygon fill="white" stroke="black" points="4425,-386.5 4425,-487.5 4584,-487.5 4584,-386.5 4425,-386.5"/>
-<text text-anchor="middle" x="4504.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ProducerLoad</text>
-<polyline fill="none" stroke="black" points="4425,-468.5 4584,-468.5 "/>
-<text text-anchor="middle" x="4504.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4425,-449.5 4584,-449.5 "/>
-<text text-anchor="start" x="4433" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProducerLoad()</text>
-<text text-anchor="start" x="4433" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4433" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4433" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4433" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node33"><a xlink:href="classtvm_1_1tirx_1_1Reduce.html" target="_top" xlink:title="Managed reference to ReduceNode.">
+<polygon fill="white" stroke="black" points="4779,-331.5 4779,-432.5 4938,-432.5 4938,-331.5 4779,-331.5"/>
+<text text-anchor="middle" x="4858.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Reduce</text>
+<polyline fill="none" stroke="black" points="4779,-413.5 4938,-413.5 "/>
+<text text-anchor="middle" x="4858.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4779,-394.5 4938,-394.5 "/>
+<text text-anchor="start" x="4787" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reduce()</text>
+<text text-anchor="start" x="4787" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4787" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4787" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4787" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node33 -->
 <g id="edge32" class="edge">
 <title>Node3&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3090.48,-598.85C3382.58,-589.8 4292.56,-558.02 4415.5,-510 4429.01,-504.72 4442.06,-496.6 4453.8,-487.68"/>
-<polygon fill="none" stroke="midnightblue" points="3090.24,-595.35 3080.35,-599.16 3090.46,-602.35 3090.24,-595.35"/>
+<path fill="none" stroke="midnightblue" d="M3090.34,-545.1C3428.32,-539.4 4612.2,-515.28 4769.5,-455 4783.05,-449.81 4796.11,-441.72 4807.85,-432.82"/>
+<polygon fill="none" stroke="midnightblue" points="3090.05,-541.61 3080.11,-545.27 3090.17,-548.61 3090.05,-541.61"/>
 </g>
 <!-- Node34 -->
 <g id="node34" class="node">
 <title>Node34</title>
-<g id="a_node34"><a xlink:href="classtvm_1_1tirx_1_1Ramp.html" target="_top" xlink:title="Managed reference to RampNode.">
-<polygon fill="white" stroke="black" points="4602,-386.5 4602,-487.5 4761,-487.5 4761,-386.5 4602,-386.5"/>
-<text text-anchor="middle" x="4681.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Ramp</text>
-<polyline fill="none" stroke="black" points="4602,-468.5 4761,-468.5 "/>
-<text text-anchor="middle" x="4681.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4602,-449.5 4761,-449.5 "/>
-<text text-anchor="start" x="4610" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Ramp()</text>
-<text text-anchor="start" x="4610" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4610" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4610" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4610" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node34"><a xlink:href="classtvm_1_1tirx_1_1Select.html" target="_top" xlink:title="Managed reference to SelectNode.">
+<polygon fill="white" stroke="black" points="4956,-331.5 4956,-432.5 5115,-432.5 5115,-331.5 4956,-331.5"/>
+<text text-anchor="middle" x="5035.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Select</text>
+<polyline fill="none" stroke="black" points="4956,-413.5 5115,-413.5 "/>
+<text text-anchor="middle" x="5035.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4956,-394.5 5115,-394.5 "/>
+<text text-anchor="start" x="4964" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Select()</text>
+<text text-anchor="start" x="4964" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4964" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4964" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4964" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node34 -->
 <g id="edge33" class="edge">
 <title>Node3&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M3090.25,-599.55C3405.75,-592.25 4452.4,-564.15 4592.5,-510 4606.03,-504.77 4619.08,-496.67 4630.83,-487.76"/>
-<polygon fill="none" stroke="midnightblue" points="3090.15,-596.05 3080.24,-599.78 3090.31,-603.05 3090.15,-596.05"/>
+<path fill="none" stroke="midnightblue" d="M3090.18,-545.56C3449.21,-541.35 4771.9,-521.44 4946.5,-455 4960.06,-449.84 4973.12,-441.77 4984.87,-432.87"/>
+<polygon fill="none" stroke="midnightblue" points="3090.06,-542.06 3080.1,-545.68 3090.14,-549.06 3090.06,-542.06"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
 <title>Node35</title>
-<g id="a_node35"><a xlink:href="classtvm_1_1tirx_1_1Reduce.html" target="_top" xlink:title="Managed reference to ReduceNode.">
-<polygon fill="white" stroke="black" points="4779,-386.5 4779,-487.5 4938,-487.5 4938,-386.5 4779,-386.5"/>
-<text text-anchor="middle" x="4858.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Reduce</text>
-<polyline fill="none" stroke="black" points="4779,-468.5 4938,-468.5 "/>
-<text text-anchor="middle" x="4858.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4779,-449.5 4938,-449.5 "/>
-<text text-anchor="start" x="4787" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reduce()</text>
-<text text-anchor="start" x="4787" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4787" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4787" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4787" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node35"><a xlink:href="classtvm_1_1tirx_1_1Shuffle.html" target="_top" xlink:title="Managed reference to ShuffleNode.">
+<polygon fill="white" stroke="black" points="5133,-320.5 5133,-443.5 5292,-443.5 5292,-320.5 5133,-320.5"/>
+<text text-anchor="middle" x="5212.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Shuffle</text>
+<polyline fill="none" stroke="black" points="5133,-424.5 5292,-424.5 "/>
+<text text-anchor="middle" x="5212.5" y="-412.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5133,-405.5 5292,-405.5 "/>
+<text text-anchor="start" x="5141" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Shuffle()</text>
+<text text-anchor="start" x="5141" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5141" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5141" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5141" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<text text-anchor="start" x="5141" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Concat()</text>
+<text text-anchor="start" x="5141" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractElement()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node35 -->
 <g id="edge34" class="edge">
 <title>Node3&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M3090.34,-600.1C3428.32,-594.4 4612.2,-570.28 4769.5,-510 4783.05,-504.81 4796.11,-496.72 4807.85,-487.82"/>
-<polygon fill="none" stroke="midnightblue" points="3090.05,-596.61 3080.11,-600.27 3090.17,-603.61 3090.05,-596.61"/>
+<path fill="none" stroke="midnightblue" d="M3090.33,-545.94C3469.91,-543.12 4931.59,-527.6 5123.5,-455 5131.31,-452.05 5138.95,-448.12 5146.27,-443.63"/>
+<polygon fill="none" stroke="midnightblue" points="3090.2,-542.44 3080.22,-546.01 3090.25,-549.44 3090.2,-542.44"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node">
 <title>Node36</title>
-<g id="a_node36"><a xlink:href="classtvm_1_1tirx_1_1Select.html" target="_top" xlink:title="Managed reference to SelectNode.">
-<polygon fill="white" stroke="black" points="4956,-386.5 4956,-487.5 5115,-487.5 5115,-386.5 4956,-386.5"/>
-<text text-anchor="middle" x="5035.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Select</text>
-<polyline fill="none" stroke="black" points="4956,-468.5 5115,-468.5 "/>
-<text text-anchor="middle" x="5035.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4956,-449.5 5115,-449.5 "/>
-<text text-anchor="start" x="4964" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Select()</text>
-<text text-anchor="start" x="4964" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4964" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4964" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4964" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node36"><a xlink:href="classtvm_1_1tirx_1_1StringImm.html" target="_top" xlink:title="Managed reference to StringImmNode.">
+<polygon fill="white" stroke="black" points="5310,-331.5 5310,-432.5 5469,-432.5 5469,-331.5 5310,-331.5"/>
+<text text-anchor="middle" x="5389.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StringImm</text>
+<polyline fill="none" stroke="black" points="5310,-413.5 5469,-413.5 "/>
+<text text-anchor="middle" x="5389.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5310,-394.5 5469,-394.5 "/>
+<text text-anchor="start" x="5318" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringImm()</text>
+<text text-anchor="start" x="5318" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5318" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5318" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5318" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node36 -->
 <g id="edge35" class="edge">
 <title>Node3&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M3090.18,-600.56C3449.21,-596.35 4771.9,-576.44 4946.5,-510 4960.06,-504.84 4973.12,-496.77 4984.87,-487.87"/>
-<polygon fill="none" stroke="midnightblue" points="3090.06,-597.06 3080.1,-600.68 3090.14,-604.06 3090.06,-597.06"/>
+<path fill="none" stroke="midnightblue" d="M3090.13,-546.26C3488.88,-544.75 5091.17,-533.79 5300.5,-455 5314.26,-449.82 5327.51,-441.62 5339.38,-432.57"/>
+<polygon fill="none" stroke="midnightblue" points="3090.08,-542.76 3080.09,-546.3 3090.11,-549.76 3090.08,-542.76"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
 <title>Node37</title>
-<g id="a_node37"><a xlink:href="classtvm_1_1tirx_1_1Shuffle.html" target="_top" xlink:title="Managed reference to ShuffleNode.">
-<polygon fill="white" stroke="black" points="5133,-375.5 5133,-498.5 5292,-498.5 5292,-375.5 5133,-375.5"/>
-<text text-anchor="middle" x="5212.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Shuffle</text>
-<polyline fill="none" stroke="black" points="5133,-479.5 5292,-479.5 "/>
-<text text-anchor="middle" x="5212.5" y="-467.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5133,-460.5 5292,-460.5 "/>
-<text text-anchor="start" x="5141" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Shuffle()</text>
-<text text-anchor="start" x="5141" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5141" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5141" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5141" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-<text text-anchor="start" x="5141" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Concat()</text>
-<text text-anchor="start" x="5141" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractElement()</text>
+<g id="a_node37"><a xlink:href="classtvm_1_1tirx_1_1Sub.html" target="_top" xlink:title="Managed reference to SubNode.">
+<polygon fill="white" stroke="black" points="5487,-331.5 5487,-432.5 5646,-432.5 5646,-331.5 5487,-331.5"/>
+<text text-anchor="middle" x="5566.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Sub</text>
+<polyline fill="none" stroke="black" points="5487,-413.5 5646,-413.5 "/>
+<text text-anchor="middle" x="5566.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5487,-394.5 5646,-394.5 "/>
+<text text-anchor="start" x="5495" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Sub()</text>
+<text text-anchor="start" x="5495" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5495" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5495" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5495" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node37 -->
 <g id="edge36" class="edge">
 <title>Node3&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M3090.33,-600.94C3469.91,-598.12 4931.59,-582.6 5123.5,-510 5131.31,-507.05 5138.95,-503.12 5146.27,-498.63"/>
-<polygon fill="none" stroke="midnightblue" points="3090.2,-597.44 3080.22,-601.01 3090.25,-604.44 3090.2,-597.44"/>
+<path fill="none" stroke="midnightblue" d="M3090.4,-546.54C3508.35,-546.26 5250.78,-539.97 5477.5,-455 5491.27,-449.84 5504.52,-441.65 5516.39,-432.6"/>
+<polygon fill="none" stroke="midnightblue" points="3090.18,-543.04 3080.18,-546.54 3090.19,-550.04 3090.18,-543.04"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node">
 <title>Node38</title>
-<g id="a_node38"><a xlink:href="classtvm_1_1tirx_1_1StringImm.html" target="_top" xlink:title="Managed reference to StringImmNode.">
-<polygon fill="white" stroke="black" points="5310,-386.5 5310,-487.5 5469,-487.5 5469,-386.5 5310,-386.5"/>
-<text text-anchor="middle" x="5389.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StringImm</text>
-<polyline fill="none" stroke="black" points="5310,-468.5 5469,-468.5 "/>
-<text text-anchor="middle" x="5389.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5310,-449.5 5469,-449.5 "/>
-<text text-anchor="start" x="5318" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringImm()</text>
-<text text-anchor="start" x="5318" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5318" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5318" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5318" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node38"><a xlink:href="classtvm_1_1tirx_1_1Var.html" target="_top" xlink:title="a named variable in TIR">
+<polygon fill="white" stroke="black" points="5664.5,-309.5 5664.5,-454.5 5782.5,-454.5 5782.5,-309.5 5664.5,-309.5"/>
+<text text-anchor="middle" x="5723.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Var</text>
+<polyline fill="none" stroke="black" points="5664.5,-435.5 5782.5,-435.5 "/>
+<text text-anchor="middle" x="5723.5" y="-423.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5664.5,-416.5 5782.5,-416.5 "/>
+<text text-anchor="start" x="5672.5" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_name()</text>
+<text text-anchor="start" x="5672.5" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_suffix()</text>
+<text text-anchor="start" x="5672.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_dtype()</text>
+<text text-anchor="start" x="5672.5" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="5672.5" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node38 -->
 <g id="edge37" class="edge">
 <title>Node3&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M3090.13,-601.26C3488.88,-599.75 5091.17,-588.79 5300.5,-510 5314.26,-504.82 5327.51,-496.62 5339.38,-487.57"/>
-<polygon fill="none" stroke="midnightblue" points="3090.08,-597.76 3080.09,-601.3 3090.11,-604.76 3090.08,-597.76"/>
-</g>
-<!-- Node39 -->
-<g id="node39" class="node">
-<title>Node39</title>
-<g id="a_node39"><a xlink:href="classtvm_1_1tirx_1_1Sub.html" target="_top" xlink:title="Managed reference to SubNode.">
-<polygon fill="white" stroke="black" points="5487,-386.5 5487,-487.5 5646,-487.5 5646,-386.5 5487,-386.5"/>
-<text text-anchor="middle" x="5566.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Sub</text>
-<polyline fill="none" stroke="black" points="5487,-468.5 5646,-468.5 "/>
-<text text-anchor="middle" x="5566.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5487,-449.5 5646,-449.5 "/>
-<text text-anchor="start" x="5495" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Sub()</text>
-<text text-anchor="start" x="5495" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5495" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5495" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5495" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node3&#45;&gt;Node39 -->
-<g id="edge38" class="edge">
-<title>Node3&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M3090.4,-601.54C3508.35,-601.26 5250.78,-594.97 5477.5,-510 5491.27,-504.84 5504.52,-496.65 5516.39,-487.6"/>
-<polygon fill="none" stroke="midnightblue" points="3090.18,-598.04 3080.18,-601.54 3090.19,-605.04 3090.18,-598.04"/>
-</g>
-<!-- Node40 -->
-<g id="node40" class="node">
-<title>Node40</title>
-<g id="a_node40"><a xlink:href="classtvm_1_1tirx_1_1Var.html" target="_top" xlink:title="a named variable in TIR">
-<polygon fill="white" stroke="black" points="5664.5,-364.5 5664.5,-509.5 5782.5,-509.5 5782.5,-364.5 5664.5,-364.5"/>
-<text text-anchor="middle" x="5723.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Var</text>
-<polyline fill="none" stroke="black" points="5664.5,-490.5 5782.5,-490.5 "/>
-<text text-anchor="middle" x="5723.5" y="-478.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5664.5,-471.5 5782.5,-471.5 "/>
-<text text-anchor="start" x="5672.5" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_name()</text>
-<text text-anchor="start" x="5672.5" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_suffix()</text>
-<text text-anchor="start" x="5672.5" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_dtype()</text>
-<text text-anchor="start" x="5672.5" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="5672.5" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
-</a>
-</g>
-</g>
-<!-- Node3&#45;&gt;Node40 -->
-<g id="edge39" class="edge">
-<title>Node3&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M3090.25,-600.3C3540.35,-594.05 5535.07,-563.42 5654.5,-510 5657.82,-508.52 5661.06,-506.79 5664.21,-504.87"/>
-<polygon fill="none" stroke="midnightblue" points="3090.17,-596.8 3080.22,-600.44 3090.27,-603.8 3090.17,-596.8"/>
-</g>
-<!-- Node6 -->
-<g id="node6" class="node">
-<title>Node6</title>
-<g id="a_node6"><a xlink:href="classtvm_1_1Bool.html" target="_top" xlink:title="Boolean constant.">
-<polygon fill="white" stroke="black" points="19.5,-188 19.5,-289 199.5,-289 199.5,-188 19.5,-188"/>
-<text text-anchor="middle" x="109.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Bool</text>
-<polyline fill="none" stroke="black" points="19.5,-270 199.5,-270 "/>
-<text text-anchor="middle" x="109.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="19.5,-251 199.5,-251 "/>
-<text text-anchor="start" x="27.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bool()</text>
-<text text-anchor="start" x="27.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!()</text>
-<text text-anchor="start" x="27.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator bool()</text>
-<text text-anchor="start" x="27.5" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="27.5" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node6 -->
-<g id="edge5" class="edge">
-<title>Node5&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M213.26,-378.2C192.09,-349.9 166.86,-316.18 146.58,-289.07"/>
-<polygon fill="none" stroke="midnightblue" points="210.61,-380.5 219.41,-386.41 216.22,-376.31 210.61,-380.5"/>
+<path fill="none" stroke="midnightblue" d="M3090.25,-545.3C3540.35,-539.05 5535.07,-508.42 5654.5,-455 5657.82,-453.52 5661.06,-451.79 5664.21,-449.87"/>
+<polygon fill="none" stroke="midnightblue" points="3090.17,-541.8 3080.22,-545.44 3090.27,-548.8 3090.17,-541.8"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node">
 <title>Node7</title>
-<g id="a_node7"><a xlink:href="classtvm_1_1Integer.html" target="_top" xlink:title="Container of constant int that adds more constructors.">
-<polygon fill="white" stroke="black" points="218,-149.5 218,-327.5 311,-327.5 311,-149.5 218,-149.5"/>
-<text text-anchor="middle" x="264.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Integer</text>
-<polyline fill="none" stroke="black" points="218,-308.5 311,-308.5 "/>
-<text text-anchor="middle" x="264.5" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="218,-289.5 311,-289.5 "/>
-<text text-anchor="start" x="226" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="226" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="226" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="226" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="226" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="226" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="226" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="226" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntValue()</text>
-<text text-anchor="start" x="226" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="226" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-<text text-anchor="start" x="226" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="226" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
+<g id="a_node7"><a xlink:href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_top" xlink:title="Managed reference to IterSplitExprNode.">
+<polygon fill="white" stroke="black" points="265,-149.5 265,-272.5 424,-272.5 424,-149.5 265,-149.5"/>
+<text text-anchor="middle" x="344.5" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSplitExpr</text>
+<polyline fill="none" stroke="black" points="265,-253.5 424,-253.5 "/>
+<text text-anchor="middle" x="344.5" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="265,-234.5 424,-234.5 "/>
+<text text-anchor="start" x="273" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
+<text text-anchor="start" x="273" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
+<text text-anchor="start" x="273" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
+<text text-anchor="start" x="273" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="273" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="273" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="273" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node5&#45;&gt;Node7 -->
+<!-- Node6&#45;&gt;Node7 -->
 <g id="edge6" class="edge">
-<title>Node5&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M258.94,-376.09C259.56,-360.82 260.24,-344.07 260.91,-327.7"/>
-<polygon fill="none" stroke="midnightblue" points="255.43,-376.28 258.52,-386.41 262.42,-376.57 255.43,-376.28"/>
+<title>Node6&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M411.25,-338.76C400.74,-318.78 387.98,-294.57 376.46,-272.68"/>
+<polygon fill="none" stroke="midnightblue" points="408.16,-340.39 415.92,-347.61 414.35,-337.13 408.16,-340.39"/>
 </g>
-<!-- Node9 -->
-<g id="node9" class="node">
-<title>Node9</title>
-<g id="a_node9"><a xlink:href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_top" xlink:title="Managed reference to IterSplitExprNode.">
-<polygon fill="white" stroke="black" points="338,-177 338,-300 497,-300 497,-177 338,-177"/>
-<text text-anchor="middle" x="417.5" y="-288" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSplitExpr</text>
-<polyline fill="none" stroke="black" points="338,-281 497,-281 "/>
-<text text-anchor="middle" x="417.5" y="-269" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="338,-262 497,-262 "/>
-<text text-anchor="start" x="346" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
-<text text-anchor="start" x="346" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
-<text text-anchor="start" x="346" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
-<text text-anchor="start" x="346" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="346" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="346" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="346" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<!-- Node8 -->
+<g id="node8" class="node">
+<title>Node8</title>
+<g id="a_node8"><a xlink:href="classtvm_1_1arith_1_1IterSumExpr.html" target="_top" xlink:title="Managed reference to IterSumExprNode.">
+<polygon fill="white" stroke="black" points="442,-160.5 442,-261.5 601,-261.5 601,-160.5 442,-160.5"/>
+<text text-anchor="middle" x="521.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSumExpr</text>
+<polyline fill="none" stroke="black" points="442,-242.5 601,-242.5 "/>
+<text text-anchor="middle" x="521.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="442,-223.5 601,-223.5 "/>
+<text text-anchor="start" x="450" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSumExpr()</text>
+<text text-anchor="start" x="450" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="450" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="450" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="450" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node8&#45;&gt;Node9 -->
-<g id="edge8" class="edge">
-<title>Node8&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M429.97,-392.68C427.76,-365.48 424.87,-330.02 422.43,-300.06"/>
-<polygon fill="none" stroke="midnightblue" points="426.49,-392.98 430.79,-402.67 433.46,-392.42 426.49,-392.98"/>
+<!-- Node6&#45;&gt;Node8 -->
+<g id="edge7" class="edge">
+<title>Node6&#45;&gt;Node8</title>
+<path fill="none" stroke="midnightblue" d="M455.56,-338.63C467.73,-315.26 482.91,-286.1 495.64,-261.66"/>
+<polygon fill="none" stroke="midnightblue" points="452.4,-337.12 450.89,-347.61 458.61,-340.36 452.4,-337.12"/>
 </g>
-<!-- Node10 -->
-<g id="node10" class="node">
-<title>Node10</title>
-<g id="a_node10"><a xlink:href="classtvm_1_1arith_1_1IterSumExpr.html" target="_top" xlink:title="Managed reference to IterSumExprNode.">
-<polygon fill="white" stroke="black" points="515,-188 515,-289 674,-289 674,-188 515,-188"/>
-<text text-anchor="middle" x="594.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSumExpr</text>
-<polyline fill="none" stroke="black" points="515,-270 674,-270 "/>
-<text text-anchor="middle" x="594.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="515,-251 674,-251 "/>
-<text text-anchor="start" x="523" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSumExpr()</text>
-<text text-anchor="start" x="523" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="523" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="523" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="523" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<!-- Node39 -->
+<g id="node39" class="node">
+<title>Node39</title>
+<g id="a_node39"><a xlink:href="classtvm_1_1tirx_1_1SizeVar.html" target="_top" xlink:title="a named variable represents a tensor index size">
+<polygon fill="white" stroke="black" points="5589,-155 5589,-267 5690,-267 5690,-155 5589,-155"/>
+<text text-anchor="middle" x="5639.5" y="-255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SizeVar</text>
+<polyline fill="none" stroke="black" points="5589,-248 5690,-248 "/>
+<text text-anchor="middle" x="5639.5" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5589,-229 5690,-229 "/>
+<text text-anchor="start" x="5597" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5597" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5597" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5597" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5597" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="5597" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
 </a>
 </g>
 </g>
-<!-- Node8&#45;&gt;Node10 -->
-<g id="edge9" class="edge">
-<title>Node8&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M467.33,-394.71C492.52,-363.97 527.02,-321.85 553.74,-289.25"/>
-<polygon fill="none" stroke="midnightblue" points="464.44,-392.71 460.81,-402.67 469.86,-397.15 464.44,-392.71"/>
+<!-- Node38&#45;&gt;Node39 -->
+<g id="edge38" class="edge">
+<title>Node38&#45;&gt;Node39</title>
+<path fill="none" stroke="midnightblue" d="M5683.41,-300.34C5677.82,-289.09 5672.18,-277.75 5666.89,-267.12"/>
+<polygon fill="none" stroke="midnightblue" points="5680.29,-301.93 5687.88,-309.33 5686.56,-298.82 5680.29,-301.93"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
 <title>Node41</title>
-<g id="a_node41"><a xlink:href="classtvm_1_1tirx_1_1SizeVar.html" target="_top" xlink:title="a named variable represents a tensor index size">
-<polygon fill="white" stroke="black" points="5589,-182.5 5589,-294.5 5690,-294.5 5690,-182.5 5589,-182.5"/>
-<text text-anchor="middle" x="5639.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SizeVar</text>
-<polyline fill="none" stroke="black" points="5589,-275.5 5690,-275.5 "/>
-<text text-anchor="middle" x="5639.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5589,-256.5 5690,-256.5 "/>
-<text text-anchor="start" x="5597" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5597" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5597" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5597" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5597" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="5597" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
+<g id="a_node41"><a xlink:href="classtvm_1_1BaseFunc.html" target="_top" xlink:title="Managed reference to BaseFuncNode.">
+<polygon fill="white" stroke="black" points="5885,-348 5885,-416 6044,-416 6044,-348 5885,-348"/>
+<text text-anchor="middle" x="5964.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseFunc</text>
+<polyline fill="none" stroke="black" points="5885,-397 6044,-397 "/>
+<text text-anchor="middle" x="5964.5" y="-385" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5885,-378 6044,-378 "/>
+<text text-anchor="start" x="5893" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5893" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node41 -->
 <g id="edge40" class="edge">
 <title>Node40&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M5688.87,-355C5680.21,-334.73 5671.12,-313.46 5663.13,-294.77"/>
-<polygon fill="none" stroke="midnightblue" points="5685.67,-356.41 5692.82,-364.22 5692.11,-353.65 5685.67,-356.41"/>
+<path fill="none" stroke="midnightblue" d="M6493.46,-544.84C6384.43,-539.77 6197.39,-521.13 6052.5,-455 6032.03,-445.66 6012.34,-430.36 5996.79,-416.26"/>
+<polygon fill="none" stroke="midnightblue" points="6493.62,-548.35 6503.77,-545.29 6493.93,-541.36 6493.62,-548.35"/>
 </g>
-<!-- Node43 -->
-<g id="node43" class="node">
-<title>Node43</title>
-<g id="a_node43"><a xlink:href="classtvm_1_1BaseFunc.html" target="_top" xlink:title="Managed reference to BaseFuncNode.">
-<polygon fill="white" stroke="black" points="5885,-403 5885,-471 6044,-471 6044,-403 5885,-403"/>
-<text text-anchor="middle" x="5964.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseFunc</text>
-<polyline fill="none" stroke="black" points="5885,-452 6044,-452 "/>
-<text text-anchor="middle" x="5964.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5885,-433 6044,-433 "/>
-<text text-anchor="start" x="5893" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5893" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<!-- Node45 -->
+<g id="node45" class="node">
+<title>Node45</title>
+<g id="a_node45"><a xlink:href="classtvm_1_1GlobalVar.html" target="_top" xlink:title="Managed reference to GlobalVarNode.">
+<polygon fill="white" stroke="black" points="6062,-331.5 6062,-432.5 6221,-432.5 6221,-331.5 6062,-331.5"/>
+<text text-anchor="middle" x="6141.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVar</text>
+<polyline fill="none" stroke="black" points="6062,-413.5 6221,-413.5 "/>
+<text text-anchor="middle" x="6141.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6062,-394.5 6221,-394.5 "/>
+<text text-anchor="start" x="6070" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalVar()</text>
+<text text-anchor="start" x="6070" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6070" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6070" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6070" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node43 -->
-<g id="edge42" class="edge">
-<title>Node42&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M6493.46,-599.84C6384.43,-594.77 6197.39,-576.13 6052.5,-510 6032.03,-500.66 6012.34,-485.36 5996.79,-471.26"/>
-<polygon fill="none" stroke="midnightblue" points="6493.62,-603.35 6503.77,-600.29 6493.93,-596.36 6493.62,-603.35"/>
+<!-- Node40&#45;&gt;Node45 -->
+<g id="edge44" class="edge">
+<title>Node40&#45;&gt;Node45</title>
+<path fill="none" stroke="midnightblue" d="M6493.51,-534.27C6419.59,-521.68 6313.72,-497.71 6229.5,-455 6217.53,-448.93 6205.71,-441 6194.8,-432.64"/>
+<polygon fill="none" stroke="midnightblue" points="6493.28,-537.78 6503.72,-535.97 6494.44,-530.87 6493.28,-537.78"/>
+</g>
+<!-- Node46 -->
+<g id="node46" class="node">
+<title>Node46</title>
+<g id="a_node46"><a xlink:href="classtvm_1_1Op.html" target="_top" xlink:title="Managed reference class to OpNode.">
+<polygon fill="white" stroke="black" points="6239,-331.5 6239,-432.5 6398,-432.5 6398,-331.5 6239,-331.5"/>
+<text text-anchor="middle" x="6318.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Op</text>
+<polyline fill="none" stroke="black" points="6239,-413.5 6398,-413.5 "/>
+<text text-anchor="middle" x="6318.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6239,-394.5 6398,-394.5 "/>
+<text text-anchor="start" x="6247" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6247" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6247" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttrMap()</text>
+<text text-anchor="start" x="6247" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasAttrMap()</text>
+<text text-anchor="start" x="6247" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get()</text>
+</a>
+</g>
+</g>
+<!-- Node40&#45;&gt;Node46 -->
+<g id="edge45" class="edge">
+<title>Node40&#45;&gt;Node46</title>
+<path fill="none" stroke="midnightblue" d="M6502.39,-509.02C6471.56,-493.64 6436.63,-474.8 6406.5,-455 6396.27,-448.28 6385.84,-440.59 6375.89,-432.8"/>
+<polygon fill="none" stroke="midnightblue" points="6500.87,-512.18 6511.39,-513.48 6503.98,-505.91 6500.87,-512.18"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node">
 <title>Node47</title>
-<g id="a_node47"><a xlink:href="classtvm_1_1GlobalVar.html" target="_top" xlink:title="Managed reference to GlobalVarNode.">
-<polygon fill="white" stroke="black" points="6062,-386.5 6062,-487.5 6221,-487.5 6221,-386.5 6062,-386.5"/>
-<text text-anchor="middle" x="6141.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVar</text>
-<polyline fill="none" stroke="black" points="6062,-468.5 6221,-468.5 "/>
-<text text-anchor="middle" x="6141.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6062,-449.5 6221,-449.5 "/>
-<text text-anchor="start" x="6070" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalVar()</text>
-<text text-anchor="start" x="6070" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6070" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6070" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6070" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node47"><a xlink:href="classtvm_1_1relax_1_1Call.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6416,-331.5 6416,-432.5 6575,-432.5 6575,-331.5 6416,-331.5"/>
+<text text-anchor="middle" x="6495.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Call</text>
+<polyline fill="none" stroke="black" points="6416,-413.5 6575,-413.5 "/>
+<text text-anchor="middle" x="6495.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6416,-394.5 6575,-394.5 "/>
+<text text-anchor="start" x="6424" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
+<text text-anchor="start" x="6424" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6424" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6424" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6424" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node47 -->
+<!-- Node40&#45;&gt;Node47 -->
 <g id="edge46" class="edge">
-<title>Node42&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M6493.51,-589.27C6419.59,-576.68 6313.72,-552.71 6229.5,-510 6217.53,-503.93 6205.71,-496 6194.8,-487.64"/>
-<polygon fill="none" stroke="midnightblue" points="6493.28,-592.78 6503.72,-590.97 6494.44,-585.87 6493.28,-592.78"/>
+<title>Node40&#45;&gt;Node47</title>
+<path fill="none" stroke="midnightblue" d="M6560.83,-504.38C6549.07,-482.52 6534.62,-455.68 6522.31,-432.8"/>
+<polygon fill="none" stroke="midnightblue" points="6557.87,-506.27 6565.69,-513.41 6564.03,-502.95 6557.87,-506.27"/>
 </g>
 <!-- Node48 -->
 <g id="node48" class="node">
 <title>Node48</title>
-<g id="a_node48"><a xlink:href="classtvm_1_1Op.html" target="_top" xlink:title="Managed reference class to OpNode.">
-<polygon fill="white" stroke="black" points="6239,-386.5 6239,-487.5 6398,-487.5 6398,-386.5 6239,-386.5"/>
-<text text-anchor="middle" x="6318.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Op</text>
-<polyline fill="none" stroke="black" points="6239,-468.5 6398,-468.5 "/>
-<text text-anchor="middle" x="6318.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6239,-449.5 6398,-449.5 "/>
-<text text-anchor="start" x="6247" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6247" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6247" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttrMap()</text>
-<text text-anchor="start" x="6247" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasAttrMap()</text>
-<text text-anchor="start" x="6247" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get()</text>
+<g id="a_node48"><a xlink:href="classtvm_1_1relax_1_1If.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6593,-331.5 6593,-432.5 6752,-432.5 6752,-331.5 6593,-331.5"/>
+<text text-anchor="middle" x="6672.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::If</text>
+<polyline fill="none" stroke="black" points="6593,-413.5 6752,-413.5 "/>
+<text text-anchor="middle" x="6672.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6593,-394.5 6752,-394.5 "/>
+<text text-anchor="start" x="6601" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ If()</text>
+<text text-anchor="start" x="6601" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6601" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6601" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6601" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node48 -->
+<!-- Node40&#45;&gt;Node48 -->
 <g id="edge47" class="edge">
-<title>Node42&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M6502.39,-564.02C6471.56,-548.64 6436.63,-529.8 6406.5,-510 6396.27,-503.28 6385.84,-495.59 6375.89,-487.8"/>
-<polygon fill="none" stroke="midnightblue" points="6500.87,-567.18 6511.39,-568.48 6503.98,-560.91 6500.87,-567.18"/>
+<title>Node40&#45;&gt;Node48</title>
+<path fill="none" stroke="midnightblue" d="M6606.43,-504.38C6618.33,-482.52 6632.94,-455.68 6645.39,-432.8"/>
+<polygon fill="none" stroke="midnightblue" points="6603.22,-502.96 6601.51,-513.41 6609.37,-506.3 6603.22,-502.96"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node">
 <title>Node49</title>
-<g id="a_node49"><a xlink:href="classtvm_1_1relax_1_1Call.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6416,-386.5 6416,-487.5 6575,-487.5 6575,-386.5 6416,-386.5"/>
-<text text-anchor="middle" x="6495.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Call</text>
-<polyline fill="none" stroke="black" points="6416,-468.5 6575,-468.5 "/>
-<text text-anchor="middle" x="6495.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6416,-449.5 6575,-449.5 "/>
-<text text-anchor="start" x="6424" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
-<text text-anchor="start" x="6424" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6424" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6424" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6424" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node49"><a xlink:href="classtvm_1_1relax_1_1LeafExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
+<polygon fill="white" stroke="black" points="6770,-348 6770,-416 6929,-416 6929,-348 6770,-348"/>
+<text text-anchor="middle" x="6849.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeafExpr</text>
+<polyline fill="none" stroke="black" points="6770,-397 6929,-397 "/>
+<text text-anchor="middle" x="6849.5" y="-385" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6770,-378 6929,-378 "/>
+<text text-anchor="start" x="6778" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6778" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node49 -->
+<!-- Node40&#45;&gt;Node49 -->
 <g id="edge48" class="edge">
-<title>Node42&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M6560.83,-559.38C6549.07,-537.52 6534.62,-510.68 6522.31,-487.8"/>
-<polygon fill="none" stroke="midnightblue" points="6557.87,-561.27 6565.69,-568.41 6564.03,-557.95 6557.87,-561.27"/>
+<title>Node40&#45;&gt;Node49</title>
+<path fill="none" stroke="midnightblue" d="M6664.56,-508.94C6695.38,-493.54 6730.32,-474.72 6760.5,-455 6778.14,-443.48 6796.43,-429.15 6811.81,-416.32"/>
+<polygon fill="none" stroke="midnightblue" points="6662.96,-505.82 6655.56,-513.39 6666.07,-512.09 6662.96,-505.82"/>
 </g>
-<!-- Node50 -->
-<g id="node50" class="node">
-<title>Node50</title>
-<g id="a_node50"><a xlink:href="classtvm_1_1relax_1_1If.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6593,-386.5 6593,-487.5 6752,-487.5 6752,-386.5 6593,-386.5"/>
-<text text-anchor="middle" x="6672.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::If</text>
-<polyline fill="none" stroke="black" points="6593,-468.5 6752,-468.5 "/>
-<text text-anchor="middle" x="6672.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6593,-449.5 6752,-449.5 "/>
-<text text-anchor="start" x="6601" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ If()</text>
-<text text-anchor="start" x="6601" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6601" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6601" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6601" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<!-- Node57 -->
+<g id="node57" class="node">
+<title>Node57</title>
+<g id="a_node57"><a xlink:href="classtvm_1_1relax_1_1SeqExpr.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6947,-326 6947,-438 7106,-438 7106,-326 6947,-326"/>
+<text text-anchor="middle" x="7026.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SeqExpr</text>
+<polyline fill="none" stroke="black" points="6947,-419 7106,-419 "/>
+<text text-anchor="middle" x="7026.5" y="-407" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6947,-400 7106,-400 "/>
+<text text-anchor="start" x="6955" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">+ SeqExpr()</text>
+<text text-anchor="start" x="6955" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00">+ SeqExpr()</text>
+<text text-anchor="start" x="6955" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6955" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6955" y="-344" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6955" y="-333" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node50 -->
-<g id="edge49" class="edge">
-<title>Node42&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M6606.43,-559.38C6618.33,-537.52 6632.94,-510.68 6645.39,-487.8"/>
-<polygon fill="none" stroke="midnightblue" points="6603.22,-557.96 6601.51,-568.41 6609.37,-561.3 6603.22,-557.96"/>
+<!-- Node40&#45;&gt;Node57 -->
+<g id="edge56" class="edge">
+<title>Node40&#45;&gt;Node57</title>
+<path fill="none" stroke="midnightblue" d="M6673.39,-534.37C6747.54,-521.83 6853.91,-497.86 6938.5,-455 6947.83,-450.27 6957.07,-444.41 6965.86,-438.1"/>
+<polygon fill="none" stroke="midnightblue" points="6672.44,-530.98 6663.14,-536.07 6673.58,-537.89 6672.44,-530.98"/>
 </g>
-<!-- Node51 -->
-<g id="node51" class="node">
-<title>Node51</title>
-<g id="a_node51"><a xlink:href="classtvm_1_1relax_1_1LeafExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="6770,-403 6770,-471 6929,-471 6929,-403 6770,-403"/>
-<text text-anchor="middle" x="6849.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeafExpr</text>
-<polyline fill="none" stroke="black" points="6770,-452 6929,-452 "/>
-<text text-anchor="middle" x="6849.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6770,-433 6929,-433 "/>
-<text text-anchor="start" x="6778" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6778" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<!-- Node58 -->
+<g id="node58" class="node">
+<title>Node58</title>
+<g id="a_node58"><a xlink:href="classtvm_1_1relax_1_1Tuple.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7124,-326 7124,-438 7283,-438 7283,-326 7124,-326"/>
+<text text-anchor="middle" x="7203.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Tuple</text>
+<polyline fill="none" stroke="black" points="7124,-419 7283,-419 "/>
+<text text-anchor="middle" x="7203.5" y="-407" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7124,-400 7283,-400 "/>
+<text text-anchor="start" x="7132" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">+ Tuple()</text>
+<text text-anchor="start" x="7132" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00">+ Tuple()</text>
+<text text-anchor="start" x="7132" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="7132" y="-355" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="7132" y="-344" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="7132" y="-333" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node51 -->
-<g id="edge50" class="edge">
-<title>Node42&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M6664.56,-563.94C6695.38,-548.54 6730.32,-529.72 6760.5,-510 6778.14,-498.48 6796.43,-484.15 6811.81,-471.32"/>
-<polygon fill="none" stroke="midnightblue" points="6662.96,-560.82 6655.56,-568.39 6666.07,-567.09 6662.96,-560.82"/>
+<!-- Node40&#45;&gt;Node58 -->
+<g id="edge57" class="edge">
+<title>Node40&#45;&gt;Node58</title>
+<path fill="none" stroke="midnightblue" d="M6673.38,-544.89C6782.57,-539.87 6970.19,-521.3 7115.5,-455 7125.38,-450.49 7135.07,-444.6 7144.21,-438.12"/>
+<polygon fill="none" stroke="midnightblue" points="6673.22,-541.39 6663.38,-545.32 6673.52,-548.38 6673.22,-541.39"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
 <title>Node59</title>
-<g id="a_node59"><a xlink:href="classtvm_1_1relax_1_1SeqExpr.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6947,-381 6947,-493 7106,-493 7106,-381 6947,-381"/>
-<text text-anchor="middle" x="7026.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SeqExpr</text>
-<polyline fill="none" stroke="black" points="6947,-474 7106,-474 "/>
-<text text-anchor="middle" x="7026.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6947,-455 7106,-455 "/>
-<text text-anchor="start" x="6955" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00">+ SeqExpr()</text>
-<text text-anchor="start" x="6955" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">+ SeqExpr()</text>
-<text text-anchor="start" x="6955" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6955" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6955" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6955" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node59"><a xlink:href="classtvm_1_1relax_1_1TupleGetItem.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7301,-331.5 7301,-432.5 7460,-432.5 7460,-331.5 7301,-331.5"/>
+<text text-anchor="middle" x="7380.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TupleGetItem</text>
+<polyline fill="none" stroke="black" points="7301,-413.5 7460,-413.5 "/>
+<text text-anchor="middle" x="7380.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7301,-394.5 7460,-394.5 "/>
+<text text-anchor="start" x="7309" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TupleGetItem()</text>
+<text text-anchor="start" x="7309" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="7309" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="7309" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="7309" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node59 -->
+<!-- Node40&#45;&gt;Node59 -->
 <g id="edge58" class="edge">
-<title>Node42&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M6673.39,-589.37C6747.54,-576.83 6853.91,-552.86 6938.5,-510 6947.83,-505.27 6957.07,-499.41 6965.86,-493.1"/>
-<polygon fill="none" stroke="midnightblue" points="6672.44,-585.98 6663.14,-591.07 6673.58,-592.89 6672.44,-585.98"/>
-</g>
-<!-- Node60 -->
-<g id="node60" class="node">
-<title>Node60</title>
-<g id="a_node60"><a xlink:href="classtvm_1_1relax_1_1Tuple.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7124,-381 7124,-493 7283,-493 7283,-381 7124,-381"/>
-<text text-anchor="middle" x="7203.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Tuple</text>
-<polyline fill="none" stroke="black" points="7124,-474 7283,-474 "/>
-<text text-anchor="middle" x="7203.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7124,-455 7283,-455 "/>
-<text text-anchor="start" x="7132" y="-443" font-family="Helvetica,sans-Serif" font-size="10.00">+ Tuple()</text>
-<text text-anchor="start" x="7132" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">+ Tuple()</text>
-<text text-anchor="start" x="7132" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="7132" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="7132" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="7132" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<title>Node40&#45;&gt;Node59</title>
+<path fill="none" stroke="midnightblue" d="M6673.19,-541.09C6838.17,-530.12 7182.96,-502.22 7292.5,-455 7305.37,-449.45 7317.87,-441.44 7329.22,-432.76"/>
+<polygon fill="none" stroke="midnightblue" points="6672.81,-537.6 6663.06,-541.75 6673.27,-544.59 6672.81,-537.6"/>
+</g>
+<!-- Node42 -->
+<g id="node42" class="node">
+<title>Node42</title>
+<g id="a_node42"><a xlink:href="classtvm_1_1relax_1_1ExternFunc.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="5708,-155 5708,-267 5867,-267 5867,-155 5708,-155"/>
+<text text-anchor="middle" x="5787.5" y="-255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExternFunc</text>
+<polyline fill="none" stroke="black" points="5708,-248 5867,-248 "/>
+<text text-anchor="middle" x="5787.5" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5708,-229 5867,-229 "/>
+<text text-anchor="start" x="5716" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExternFunc()</text>
+<text text-anchor="start" x="5716" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExternFunc()</text>
+<text text-anchor="start" x="5716" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5716" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5716" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5716" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node60 -->
-<g id="edge59" class="edge">
-<title>Node42&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M6673.38,-599.89C6782.57,-594.87 6970.19,-576.3 7115.5,-510 7125.38,-505.49 7135.07,-499.6 7144.21,-493.12"/>
-<polygon fill="none" stroke="midnightblue" points="6673.22,-596.39 6663.38,-600.32 6673.52,-603.38 6673.22,-596.39"/>
-</g>
-<!-- Node61 -->
-<g id="node61" class="node">
-<title>Node61</title>
-<g id="a_node61"><a xlink:href="classtvm_1_1relax_1_1TupleGetItem.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7301,-386.5 7301,-487.5 7460,-487.5 7460,-386.5 7301,-386.5"/>
-<text text-anchor="middle" x="7380.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TupleGetItem</text>
-<polyline fill="none" stroke="black" points="7301,-468.5 7460,-468.5 "/>
-<text text-anchor="middle" x="7380.5" y="-456.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7301,-449.5 7460,-449.5 "/>
-<text text-anchor="start" x="7309" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TupleGetItem()</text>
-<text text-anchor="start" x="7309" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="7309" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="7309" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="7309" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<!-- Node41&#45;&gt;Node42 -->
+<g id="edge41" class="edge">
+<title>Node41&#45;&gt;Node42</title>
+<path fill="none" stroke="midnightblue" d="M5922.28,-340.69C5899.27,-318.72 5870.46,-291.21 5845.39,-267.27"/>
+<polygon fill="none" stroke="midnightblue" points="5919.88,-343.24 5929.53,-347.61 5924.71,-338.17 5919.88,-343.24"/>
+</g>
+<!-- Node43 -->
+<g id="node43" class="node">
+<title>Node43</title>
+<g id="a_node43"><a xlink:href="classtvm_1_1relax_1_1Function.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="5885,-155 5885,-267 6044,-267 6044,-155 5885,-155"/>
+<text text-anchor="middle" x="5964.5" y="-255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Function</text>
+<polyline fill="none" stroke="black" points="5885,-248 6044,-248 "/>
+<text text-anchor="middle" x="5964.5" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5885,-229 6044,-229 "/>
+<text text-anchor="start" x="5893" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ Function()</text>
+<text text-anchor="start" x="5893" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5893" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5893" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5893" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<text text-anchor="start" x="5893" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateEmpty()</text>
 </a>
 </g>
 </g>
-<!-- Node42&#45;&gt;Node61 -->
-<g id="edge60" class="edge">
-<title>Node42&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M6673.19,-596.09C6838.17,-585.12 7182.96,-557.22 7292.5,-510 7305.37,-504.45 7317.87,-496.44 7329.22,-487.76"/>
-<polygon fill="none" stroke="midnightblue" points="6672.81,-592.6 6663.06,-596.75 6673.27,-599.59 6672.81,-592.6"/>
+<!-- Node41&#45;&gt;Node43 -->
+<g id="edge42" class="edge">
+<title>Node41&#45;&gt;Node43</title>
+<path fill="none" stroke="midnightblue" d="M5964.5,-337.51C5964.5,-316.11 5964.5,-290.07 5964.5,-267.27"/>
+<polygon fill="none" stroke="midnightblue" points="5961,-337.61 5964.5,-347.61 5968,-337.61 5961,-337.61"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node">
 <title>Node44</title>
-<g id="a_node44"><a xlink:href="classtvm_1_1relax_1_1ExternFunc.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5708,-182.5 5708,-294.5 5867,-294.5 5867,-182.5 5708,-182.5"/>
-<text text-anchor="middle" x="5787.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExternFunc</text>
-<polyline fill="none" stroke="black" points="5708,-275.5 5867,-275.5 "/>
-<text text-anchor="middle" x="5787.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5708,-256.5 5867,-256.5 "/>
-<text text-anchor="start" x="5716" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExternFunc()</text>
-<text text-anchor="start" x="5716" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExternFunc()</text>
-<text text-anchor="start" x="5716" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5716" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5716" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5716" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node44"><a xlink:href="classtvm_1_1tirx_1_1PrimFunc.html" target="_top" xlink:title="Managed reference to PrimFuncNode.">
+<polygon fill="white" stroke="black" points="6062,-160.5 6062,-261.5 6221,-261.5 6221,-160.5 6062,-160.5"/>
+<text text-anchor="middle" x="6141.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::PrimFunc</text>
+<polyline fill="none" stroke="black" points="6062,-242.5 6221,-242.5 "/>
+<text text-anchor="middle" x="6141.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6062,-223.5 6221,-223.5 "/>
+<text text-anchor="start" x="6070" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimFunc()</text>
+<text text-anchor="start" x="6070" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6070" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6070" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6070" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node43&#45;&gt;Node44 -->
+<!-- Node41&#45;&gt;Node44 -->
 <g id="edge43" class="edge">
-<title>Node43&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M5927.67,-395.12C5901.43,-365.98 5865.86,-326.49 5837.12,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="5925.18,-397.58 5934.47,-402.67 5930.38,-392.89 5925.18,-397.58"/>
+<title>Node41&#45;&gt;Node44</title>
+<path fill="none" stroke="midnightblue" d="M6006.94,-340.48C6031.73,-316.81 6063.21,-286.75 6089.49,-261.66"/>
+<polygon fill="none" stroke="midnightblue" points="6004.29,-338.17 5999.47,-347.61 6009.12,-343.24 6004.29,-338.17"/>
 </g>
-<!-- Node45 -->
-<g id="node45" class="node">
-<title>Node45</title>
-<g id="a_node45"><a xlink:href="classtvm_1_1relax_1_1Function.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5885,-182.5 5885,-294.5 6044,-294.5 6044,-182.5 5885,-182.5"/>
-<text text-anchor="middle" x="5964.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Function</text>
-<polyline fill="none" stroke="black" points="5885,-275.5 6044,-275.5 "/>
-<text text-anchor="middle" x="5964.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5885,-256.5 6044,-256.5 "/>
-<text text-anchor="start" x="5893" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Function()</text>
-<text text-anchor="start" x="5893" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5893" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5893" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5893" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-<text text-anchor="start" x="5893" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CreateEmpty()</text>
+<!-- Node50 -->
+<g id="node50" class="node">
+<title>Node50</title>
+<g id="a_node50"><a xlink:href="classtvm_1_1relax_1_1Constant.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6327,-160.5 6327,-261.5 6486,-261.5 6486,-160.5 6327,-160.5"/>
+<text text-anchor="middle" x="6406.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Constant</text>
+<polyline fill="none" stroke="black" points="6327,-242.5 6486,-242.5 "/>
+<text text-anchor="middle" x="6406.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6327,-223.5 6486,-223.5 "/>
+<text text-anchor="start" x="6335" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Constant()</text>
+<text text-anchor="start" x="6335" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6335" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6335" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6335" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node43&#45;&gt;Node45 -->
-<g id="edge44" class="edge">
-<title>Node43&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M5964.5,-392.49C5964.5,-363.64 5964.5,-325.54 5964.5,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="5961,-392.67 5964.5,-402.67 5968,-392.67 5961,-392.67"/>
+<!-- Node49&#45;&gt;Node50 -->
+<g id="edge49" class="edge">
+<title>Node49&#45;&gt;Node50</title>
+<path fill="none" stroke="midnightblue" d="M6809.65,-341.03C6795.28,-328.83 6778.21,-316.64 6760.5,-309 6650.96,-261.73 6605.71,-316.18 6494.5,-273 6486.53,-269.91 6478.58,-265.95 6470.9,-261.55"/>
+<polygon fill="none" stroke="midnightblue" points="6807.52,-343.81 6817.34,-347.78 6812.13,-338.55 6807.52,-343.81"/>
 </g>
-<!-- Node46 -->
-<g id="node46" class="node">
-<title>Node46</title>
-<g id="a_node46"><a xlink:href="classtvm_1_1tirx_1_1PrimFunc.html" target="_top" xlink:title="Managed reference to PrimFuncNode.">
-<polygon fill="white" stroke="black" points="6062,-188 6062,-289 6221,-289 6221,-188 6062,-188"/>
-<text text-anchor="middle" x="6141.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::PrimFunc</text>
-<polyline fill="none" stroke="black" points="6062,-270 6221,-270 "/>
-<text text-anchor="middle" x="6141.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6062,-251 6221,-251 "/>
-<text text-anchor="start" x="6070" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimFunc()</text>
-<text text-anchor="start" x="6070" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6070" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6070" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6070" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<!-- Node51 -->
+<g id="node51" class="node">
+<title>Node51</title>
+<g id="a_node51"><a xlink:href="classtvm_1_1relax_1_1DataTypeImm.html" target="_top" xlink:title="Managed reference to DataTypeImm.">
+<polygon fill="white" stroke="black" points="6504,-160.5 6504,-261.5 6663,-261.5 6663,-160.5 6504,-160.5"/>
+<text text-anchor="middle" x="6583.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataTypeImm</text>
+<polyline fill="none" stroke="black" points="6504,-242.5 6663,-242.5 "/>
+<text text-anchor="middle" x="6583.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6504,-223.5 6663,-223.5 "/>
+<text text-anchor="start" x="6512" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DataTypeImm()</text>
+<text text-anchor="start" x="6512" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6512" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6512" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6512" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node43&#45;&gt;Node46 -->
-<g id="edge45" class="edge">
-<title>Node43&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M6001.34,-395.1C6029.06,-364.33 6067.19,-321.99 6096.69,-289.25"/>
-<polygon fill="none" stroke="midnightblue" points="5998.62,-392.89 5994.53,-402.67 6003.82,-397.58 5998.62,-392.89"/>
+<!-- Node49&#45;&gt;Node51 -->
+<g id="edge50" class="edge">
+<title>Node49&#45;&gt;Node51</title>
+<path fill="none" stroke="midnightblue" d="M6805.69,-341.35C6791.85,-330 6776.09,-318.22 6760.5,-309 6724.13,-287.48 6709.69,-293.06 6672.5,-273 6666.07,-269.53 6659.53,-265.71 6653.07,-261.71"/>
+<polygon fill="none" stroke="midnightblue" points="6803.69,-344.23 6813.61,-347.95 6808.18,-338.86 6803.69,-344.23"/>
 </g>
 <!-- Node52 -->
 <g id="node52" class="node">
 <title>Node52</title>
-<g id="a_node52"><a xlink:href="classtvm_1_1relax_1_1Constant.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6327,-188 6327,-289 6486,-289 6486,-188 6327,-188"/>
-<text text-anchor="middle" x="6406.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Constant</text>
-<polyline fill="none" stroke="black" points="6327,-270 6486,-270 "/>
-<text text-anchor="middle" x="6406.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6327,-251 6486,-251 "/>
-<text text-anchor="start" x="6335" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ Constant()</text>
-<text text-anchor="start" x="6335" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6335" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6335" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6335" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node52"><a xlink:href="classtvm_1_1relax_1_1PrimValue.html" target="_top" xlink:title="Managed reference to PrimValueNode.">
+<polygon fill="white" stroke="black" points="6681,-155 6681,-267 6840,-267 6840,-155 6681,-155"/>
+<text text-anchor="middle" x="6760.5" y="-255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PrimValue</text>
+<polyline fill="none" stroke="black" points="6681,-248 6840,-248 "/>
+<text text-anchor="middle" x="6760.5" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6681,-229 6840,-229 "/>
+<text text-anchor="start" x="6689" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimValue()</text>
+<text text-anchor="start" x="6689" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6689" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6689" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6689" y="-173" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<text text-anchor="start" x="6689" y="-162" font-family="Helvetica,sans-Serif" font-size="10.00">+ Int64()</text>
 </a>
 </g>
 </g>
-<!-- Node51&#45;&gt;Node52 -->
+<!-- Node49&#45;&gt;Node52 -->
 <g id="edge51" class="edge">
-<title>Node51&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M6809.65,-396.03C6795.28,-383.83 6778.21,-371.64 6760.5,-364 6650.96,-316.73 6601.33,-381.11 6494.5,-328 6475.87,-318.74 6458.84,-303.98 6444.83,-289.15"/>
-<polygon fill="none" stroke="midnightblue" points="6807.52,-398.81 6817.34,-402.78 6812.13,-393.55 6807.52,-398.81"/>
+<title>Node49&#45;&gt;Node52</title>
+<path fill="none" stroke="midnightblue" d="M6827.21,-338.67C6815.83,-317.06 6801.83,-290.49 6789.61,-267.27"/>
+<polygon fill="none" stroke="midnightblue" points="6824.16,-340.39 6831.92,-347.61 6830.35,-337.13 6824.16,-340.39"/>
 </g>
 <!-- Node53 -->
 <g id="node53" class="node">
 <title>Node53</title>
-<g id="a_node53"><a xlink:href="classtvm_1_1relax_1_1DataTypeImm.html" target="_top" xlink:title="Managed reference to DataTypeImm.">
-<polygon fill="white" stroke="black" points="6504,-188 6504,-289 6663,-289 6663,-188 6504,-188"/>
-<text text-anchor="middle" x="6583.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataTypeImm</text>
-<polyline fill="none" stroke="black" points="6504,-270 6663,-270 "/>
-<text text-anchor="middle" x="6583.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6504,-251 6663,-251 "/>
-<text text-anchor="start" x="6512" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ DataTypeImm()</text>
-<text text-anchor="start" x="6512" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6512" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6512" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6512" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node53"><a xlink:href="classtvm_1_1relax_1_1ShapeExpr.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="6858,-160.5 6858,-261.5 7017,-261.5 7017,-160.5 6858,-160.5"/>
+<text text-anchor="middle" x="6937.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ShapeExpr</text>
+<polyline fill="none" stroke="black" points="6858,-242.5 7017,-242.5 "/>
+<text text-anchor="middle" x="6937.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6858,-223.5 7017,-223.5 "/>
+<text text-anchor="start" x="6866" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ShapeExpr()</text>
+<text text-anchor="start" x="6866" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6866" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="6866" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="6866" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node51&#45;&gt;Node53 -->
+<!-- Node49&#45;&gt;Node53 -->
 <g id="edge52" class="edge">
-<title>Node51&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M6805.69,-396.35C6791.85,-385 6776.09,-373.22 6760.5,-364 6724.13,-342.48 6707.72,-351.35 6672.5,-328 6656.15,-317.16 6640.3,-303.01 6626.62,-289.21"/>
-<polygon fill="none" stroke="midnightblue" points="6803.69,-399.23 6813.61,-402.95 6808.18,-393.86 6803.69,-399.23"/>
+<title>Node49&#45;&gt;Node53</title>
+<path fill="none" stroke="midnightblue" d="M6871.56,-338.63C6883.73,-315.26 6898.91,-286.1 6911.64,-261.66"/>
+<polygon fill="none" stroke="midnightblue" points="6868.4,-337.12 6866.89,-347.61 6874.61,-340.36 6868.4,-337.12"/>
 </g>
 <!-- Node54 -->
 <g id="node54" class="node">
 <title>Node54</title>
-<g id="a_node54"><a xlink:href="classtvm_1_1relax_1_1PrimValue.html" target="_top" xlink:title="Managed reference to PrimValueNode.">
-<polygon fill="white" stroke="black" points="6681,-182.5 6681,-294.5 6840,-294.5 6840,-182.5 6681,-182.5"/>
-<text text-anchor="middle" x="6760.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PrimValue</text>
-<polyline fill="none" stroke="black" points="6681,-275.5 6840,-275.5 "/>
-<text text-anchor="middle" x="6760.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6681,-256.5 6840,-256.5 "/>
-<text text-anchor="start" x="6689" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimValue()</text>
-<text text-anchor="start" x="6689" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6689" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6689" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6689" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-<text text-anchor="start" x="6689" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Int64()</text>
+<g id="a_node54"><a xlink:href="classtvm_1_1relax_1_1StringImm.html" target="_top" xlink:title="Managed reference to StringImm.">
+<polygon fill="white" stroke="black" points="7035,-160.5 7035,-261.5 7194,-261.5 7194,-160.5 7035,-160.5"/>
+<text text-anchor="middle" x="7114.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StringImm</text>
+<polyline fill="none" stroke="black" points="7035,-242.5 7194,-242.5 "/>
+<text text-anchor="middle" x="7114.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7035,-223.5 7194,-223.5 "/>
+<text text-anchor="start" x="7043" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringImm()</text>
+<text text-anchor="start" x="7043" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="7043" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="7043" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="7043" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node51&#45;&gt;Node54 -->
+<!-- Node49&#45;&gt;Node54 -->
 <g id="edge53" class="edge">
-<title>Node51&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M6830.13,-393.24C6817.03,-364.31 6799.59,-325.81 6785.45,-294.58"/>
-<polygon fill="none" stroke="midnightblue" points="6827.09,-395 6834.4,-402.67 6833.46,-392.11 6827.09,-395"/>
+<title>Node49&#45;&gt;Node54</title>
+<path fill="none" stroke="midnightblue" d="M6893.31,-341.35C6907.15,-330 6922.91,-318.22 6938.5,-309 6974.87,-287.48 6989.36,-293.16 7026.5,-273 7032.87,-269.54 7039.34,-265.72 7045.74,-261.73"/>
+<polygon fill="none" stroke="midnightblue" points="6890.82,-338.86 6885.39,-347.95 6895.31,-344.23 6890.82,-338.86"/>
 </g>
 <!-- Node55 -->
 <g id="node55" class="node">
 <title>Node55</title>
-<g id="a_node55"><a xlink:href="classtvm_1_1relax_1_1ShapeExpr.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6858,-188 6858,-289 7017,-289 7017,-188 6858,-188"/>
-<text text-anchor="middle" x="6937.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ShapeExpr</text>
-<polyline fill="none" stroke="black" points="6858,-270 7017,-270 "/>
-<text text-anchor="middle" x="6937.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6858,-251 7017,-251 "/>
-<text text-anchor="start" x="6866" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ ShapeExpr()</text>
-<text text-anchor="start" x="6866" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="6866" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="6866" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="6866" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node55"><a xlink:href="classtvm_1_1relax_1_1Var.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="7212,-160.5 7212,-261.5 7371,-261.5 7371,-160.5 7212,-160.5"/>
+<text text-anchor="middle" x="7291.5" y="-249.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Var</text>
+<polyline fill="none" stroke="black" points="7212,-242.5 7371,-242.5 "/>
+<text text-anchor="middle" x="7291.5" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7212,-223.5 7371,-223.5 "/>
+<text text-anchor="start" x="7220" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="7220" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="7220" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="7220" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="7220" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyOnWrite()</text>
 </a>
 </g>
 </g>
-<!-- Node51&#45;&gt;Node55 -->
+<!-- Node49&#45;&gt;Node55 -->
 <g id="edge54" class="edge">
-<title>Node51&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M6868.52,-393.53C6882.24,-362.89 6900.81,-321.44 6915.22,-289.25"/>
-<polygon fill="none" stroke="midnightblue" points="6865.32,-392.11 6864.43,-402.67 6871.71,-394.97 6865.32,-392.11"/>
+<title>Node49&#45;&gt;Node55</title>
+<path fill="none" stroke="midnightblue" d="M6889.35,-341.03C6903.73,-328.84 6920.8,-316.64 6938.5,-309 7047.62,-261.88 7092.71,-316.05 7203.5,-273 7211.47,-269.9 7219.42,-265.95 7227.09,-261.55"/>
+<polygon fill="none" stroke="midnightblue" points="6886.87,-338.56 6881.66,-347.78 6891.49,-343.82 6886.87,-338.56"/>
 </g>
 <!-- Node56 -->
 <g id="node56" class="node">
 <title>Node56</title>
-<g id="a_node56"><a xlink:href="classtvm_1_1relax_1_1StringImm.html" target="_top" xlink:title="Managed reference to StringImm.">
-<polygon fill="white" stroke="black" points="7035,-188 7035,-289 7194,-289 7194,-188 7035,-188"/>
-<text text-anchor="middle" x="7114.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StringImm</text>
-<polyline fill="none" stroke="black" points="7035,-270 7194,-270 "/>
-<text text-anchor="middle" x="7114.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7035,-251 7194,-251 "/>
-<text text-anchor="start" x="7043" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringImm()</text>
-<text text-anchor="start" x="7043" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="7043" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="7043" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="7043" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node51&#45;&gt;Node56 -->
-<g id="edge55" class="edge">
-<title>Node51&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M6893.31,-396.35C6907.15,-385 6922.91,-373.22 6938.5,-364 6974.87,-342.48 6991.35,-351.45 7026.5,-328 7042.72,-317.18 7058.42,-303.03 7071.95,-289.23"/>
-<polygon fill="none" stroke="midnightblue" points="6890.82,-393.86 6885.39,-402.95 6895.31,-399.23 6890.82,-393.86"/>
-</g>
-<!-- Node57 -->
-<g id="node57" class="node">
-<title>Node57</title>
-<g id="a_node57"><a xlink:href="classtvm_1_1relax_1_1Var.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7212,-188 7212,-289 7371,-289 7371,-188 7212,-188"/>
-<text text-anchor="middle" x="7291.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Var</text>
-<polyline fill="none" stroke="black" points="7212,-270 7371,-270 "/>
-<text text-anchor="middle" x="7291.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7212,-251 7371,-251 "/>
-<text text-anchor="start" x="7220" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="7220" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="7220" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="7220" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="7220" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ CopyOnWrite()</text>
-</a>
-</g>
-</g>
-<!-- Node51&#45;&gt;Node57 -->
-<g id="edge56" class="edge">
-<title>Node51&#45;&gt;Node57</title>
-<path fill="none" stroke="midnightblue" d="M6889.35,-396.03C6903.73,-383.84 6920.8,-371.64 6938.5,-364 7047.62,-316.88 7097.08,-380.94 7203.5,-328 7222.12,-318.74 7239.15,-303.97 7253.17,-289.14"/>
-<polygon fill="none" stroke="midnightblue" points="6886.87,-393.56 6881.66,-402.78 6891.49,-398.82 6886.87,-393.56"/>
-</g>
-<!-- Node58 -->
-<g id="node58" class="node">
-<title>Node58</title>
-<g id="a_node58"><a xlink:href="classtvm_1_1relax_1_1DataflowVar.html" target="_top" xlink:title=" ">
+<g id="a_node56"><a xlink:href="classtvm_1_1relax_1_1DataflowVar.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="7212,-0.5 7212,-112.5 7371,-112.5 7371,-0.5 7212,-0.5"/>
 <text text-anchor="middle" x="7291.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowVar</text>
 <polyline fill="none" stroke="black" points="7212,-93.5 7371,-93.5 "/>
@@ -1405,11 +1352,11 @@
 </a>
 </g>
 </g>
-<!-- Node57&#45;&gt;Node58 -->
-<g id="edge57" class="edge">
-<title>Node57&#45;&gt;Node58</title>
-<path fill="none" stroke="midnightblue" d="M7291.5,-177.76C7291.5,-156.77 7291.5,-133.3 7291.5,-112.7"/>
-<polygon fill="none" stroke="midnightblue" points="7288,-177.84 7291.5,-187.84 7295,-177.84 7288,-177.84"/>
+<!-- Node55&#45;&gt;Node56 -->
+<g id="edge55" class="edge">
+<title>Node55&#45;&gt;Node56</title>
+<path fill="none" stroke="midnightblue" d="M7291.5,-150.24C7291.5,-137.83 7291.5,-124.8 7291.5,-112.57"/>
+<polygon fill="none" stroke="midnightblue" points="7288,-150.49 7291.5,-160.49 7295,-150.49 7288,-150.49"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Bool-members.html b/docs/reference/api/doxygen/classtvm_1_1Bool-members.html
deleted file mode 100644
index 35eda4650be..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Bool-members.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="classtvm_1_1Bool.html">Bool</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::Bool Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1Bool.html">tvm::Bool</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Bool.html#a35cd372573945f0dbb410fe54194c12e">Bool</a>(bool value, Span span=Span())</td><td class="entry"><a class="el" href="classtvm_1_1Bool.html">tvm::Bool</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">ConvertFallbackValue</a>(ffi::String value)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a18a8a0fef87b74b18fc254f49465cc56">dtype</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">IntImm</a>(DataType dtype, int64_t value, Span span=Span())</td><td class="entry"><a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Bool.html#a01580c15a0d6db0ae60dfaa39f2aa044">operator bool</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1Bool.html">tvm::Bool</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Bool.html#a00a5153c31270c6ec308a516cd46f7fb">operator!</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1Bool.html">tvm::Bool</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a7f0ca30e951608a0b36a77a66d4d19e0">PrimExpr</a>(int32_t value)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a756d3f8b17b019560946524951ae6118">PrimExpr</a>(float value)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1IntImm.html#a6d02ff59f45d533f2e30ecdb8a72b952">TVM_DEFINE_OBJECT_REF_COW_METHOD</a>(IntImmNode)</td><td class="entry"><a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Bool.html#a01b794772c1664083627dd667ef8b093">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(Bool, IntImm, IntImmNode)</td><td class="entry"><a class="el" href="classtvm_1_1Bool.html">tvm::Bool</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1IntImm.html#a82418303f77f4d430d889fe404c409ee">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(IntImm, PrimExpr, IntImmNode)</td><td class="entry"><a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a6e18faf2cb52d2dc17355cbf9c02c796">tvm::PrimExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(PrimExpr, BaseExpr, PrimExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1BaseExpr.html#a5628ea013423670d5e68cdd026102833">tvm::BaseExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(BaseExpr, ffi::ObjectRef, BaseExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1BaseExpr.html">tvm::BaseExpr</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Bool.html b/docs/reference/api/doxygen/classtvm_1_1Bool.html
deleted file mode 100644
index 0a13e6b0ebe..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Bool.html
+++ /dev/null
@@ -1,267 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::Bool Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="classtvm_1_1Bool.html">Bool</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="classtvm_1_1Bool-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::Bool Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Boolean constant.  
- <a href="classtvm_1_1Bool.html#details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="ir_2expr_8h_source.html">expr.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::Bool:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1Bool__inherit__graph.svg" width="251" height="795"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::Bool:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1Bool__coll__graph.svg" width="251" height="795"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a35cd372573945f0dbb410fe54194c12e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Bool.html#a35cd372573945f0dbb410fe54194c12e">Bool</a> (bool value, <a class="el" href="classtvm_1_1Span.html">Span</a> span=<a class="el" href="classtvm_1_1Span.html">Span</a>())</td></tr>
-<tr class="separator:a35cd372573945f0dbb410fe54194c12e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a00a5153c31270c6ec308a516cd46f7fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Bool.html#a00a5153c31270c6ec308a516cd46f7fb">operator!</a> () const</td></tr>
-<tr class="separator:a00a5153c31270c6ec308a516cd46f7fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01580c15a0d6db0ae60dfaa39f2aa044"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Bool.html#a01580c15a0d6db0ae60dfaa39f2aa044">operator bool</a> () const</td></tr>
-<tr class="separator:a01580c15a0d6db0ae60dfaa39f2aa044"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a01b794772c1664083627dd667ef8b093"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Bool.html#a01b794772c1664083627dd667ef8b093">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a> (<a class="el" href="classtvm_1_1Bool.html">Bool</a>, <a class="el" href="classtvm_1_1IntImm.html">IntImm</a>, <a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a>)</td></tr>
-<tr class="separator:a01b794772c1664083627dd667ef8b093"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1IntImm"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1IntImm')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td></tr>
-<tr class="memitem:ad37f61019092f5201cf9e0500b75afe2 inherit pub_methods_classtvm_1_1IntImm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">IntImm</a> (<a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a> <a class="el" href="classtvm_1_1PrimExpr.html#a18a8a0fef87b74b18fc254f49465cc56">dtype</a>, int64_t value, <a class="el [...]
-<tr class="memdesc:ad37f61019092f5201cf9e0500b75afe2 inherit pub_methods_classtvm_1_1IntImm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">More...</a><br /></td></tr>
-<tr class="separator:ad37f61019092f5201cf9e0500b75afe2 inherit pub_methods_classtvm_1_1IntImm"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82418303f77f4d430d889fe404c409ee inherit pub_methods_classtvm_1_1IntImm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1IntImm.html#a82418303f77f4d430d889fe404c409ee">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1IntImm.html">IntImm</a>, <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>, <a class="el" href="classtvm_1_1IntImmNode.html">In [...]
-<tr class="separator:a82418303f77f4d430d889fe404c409ee inherit pub_methods_classtvm_1_1IntImm"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d02ff59f45d533f2e30ecdb8a72b952 inherit pub_methods_classtvm_1_1IntImm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1IntImm.html#a6d02ff59f45d533f2e30ecdb8a72b952">TVM_DEFINE_OBJECT_REF_COW_METHOD</a> (<a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a>)</td></tr>
-<tr class="separator:a6d02ff59f45d533f2e30ecdb8a72b952 inherit pub_methods_classtvm_1_1IntImm"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1PrimExpr"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1PrimExpr')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td></tr>
-<tr class="memitem:a7f0ca30e951608a0b36a77a66d4d19e0 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a7f0ca30e951608a0b36a77a66d4d19e0">PrimExpr</a> (int32_t value)</td></tr>
-<tr class="memdesc:a7f0ca30e951608a0b36a77a66d4d19e0 inherit pub_methods_classtvm_1_1PrimExpr"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct from integer.  <a href="classtvm_1_1PrimExpr.html#a7f0ca30e951608a0b36a77a66d4d19e0">More...</a><br /></td></tr>
-<tr class="separator:a7f0ca30e951608a0b36a77a66d4d19e0 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a756d3f8b17b019560946524951ae6118 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a756d3f8b17b019560946524951ae6118">PrimExpr</a> (float value)</td></tr>
-<tr class="memdesc:a756d3f8b17b019560946524951ae6118 inherit pub_methods_classtvm_1_1PrimExpr"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct from float.  <a href="classtvm_1_1PrimExpr.html#a756d3f8b17b019560946524951ae6118">More...</a><br /></td></tr>
-<tr class="separator:a756d3f8b17b019560946524951ae6118 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18a8a0fef87b74b18fc254f49465cc56 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a18a8a0fef87b74b18fc254f49465cc56">dtype</a> () const</td></tr>
-<tr class="separator:a18a8a0fef87b74b18fc254f49465cc56 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e18faf2cb52d2dc17355cbf9c02c796 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a6e18faf2cb52d2dc17355cbf9c02c796">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>, <a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a>, <a class="el" href="classtvm_1_1PrimExprNod [...]
-<tr class="separator:a6e18faf2cb52d2dc17355cbf9c02c796 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1BaseExpr"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1BaseExpr')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1BaseExpr.html">tvm::BaseExpr</a></td></tr>
-<tr class="memitem:a5628ea013423670d5e68cdd026102833 inherit pub_methods_classtvm_1_1BaseExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1BaseExpr.html#a5628ea013423670d5e68cdd026102833">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a>, ffi::ObjectRef, <a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a>)</td></tr>
-<tr class="separator:a5628ea013423670d5e68cdd026102833 inherit pub_methods_classtvm_1_1BaseExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
-Additional Inherited Members</h2></td></tr>
-<tr class="inherit_header pub_static_methods_classtvm_1_1PrimExpr"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classtvm_1_1PrimExpr')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td></tr>
-<tr class="memitem:a8839598722144f363e11e377ebd6f5ad inherit pub_static_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">ConvertFallbackValue</a> (ffi::String value)</td></tr>
-<tr class="memdesc:a8839598722144f363e11e377ebd6f5ad inherit pub_static_methods_classtvm_1_1PrimExpr"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct from string to form a StringImm.  <a href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">More...</a><br /></td></tr>
-<tr class="separator:a8839598722144f363e11e377ebd6f5ad inherit pub_static_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Boolean constant. </p>
-<p>This reference type is useful to add additional compile-time type checks and helper functions for <a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> equal comparisons. </p>
-</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a35cd372573945f0dbb410fe54194c12e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a35cd372573945f0dbb410fe54194c12e">&#9670;&nbsp;</a></span>Bool()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Bool::Bool </td>
-          <td>(</td>
-          <td class="paramtype">bool&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1Span.html">Span</a>&#160;</td>
-          <td class="paramname"><em>span</em> = <code><a class="el" href="classtvm_1_1Span.html">Span</a>()</code>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a01580c15a0d6db0ae60dfaa39f2aa044"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a01580c15a0d6db0ae60dfaa39f2aa044">&#9670;&nbsp;</a></span>operator bool()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Bool::operator bool </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a id="a00a5153c31270c6ec308a516cd46f7fb"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a00a5153c31270c6ec308a516cd46f7fb">&#9670;&nbsp;</a></span>operator!()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Bool.html">Bool</a> tvm::Bool::operator! </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a id="a01b794772c1664083627dd667ef8b093"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a01b794772c1664083627dd667ef8b093">&#9670;&nbsp;</a></span>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Bool::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1Bool.html">Bool</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a>&#160;</td>
-          <td class="paramname">, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a>&#160;</td>
-          <td class="paramname">&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/ir/<a class="el" href="ir_2expr_8h_source.html">expr.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Bool__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1Bool__coll__graph.svg
deleted file mode 100644
index f059e84a748..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Bool__coll__graph.svg
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::Bool Pages: 1 -->
-<svg width="188pt" height="596pt"
- viewBox="0.00 0.00 188.00 596.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 592)">
-<title>tvm::Bool</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-592 184,-592 184,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Boolean constant.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-101.5 180,-101.5 180,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="90" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Bool</text>
-<polyline fill="none" stroke="black" points="0,-82.5 180,-82.5 "/>
-<text text-anchor="middle" x="90" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-63.5 180,-63.5 "/>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bool()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator bool()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="10.5,-138.5 10.5,-239.5 169.5,-239.5 169.5,-138.5 10.5,-138.5"/>
-<text text-anchor="middle" x="90" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="10.5,-220.5 169.5,-220.5 "/>
-<text text-anchor="middle" x="90" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10.5,-201.5 169.5,-201.5 "/>
-<text text-anchor="start" x="18.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="18.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="18.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="18.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="18.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M90,-128C90,-119.27 90,-110.36 90,-101.86"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-128.13 90,-138.13 93.5,-128.13 86.5,-128.13"/>
-</g>
-<!-- Node3 -->
-<g id="node3" class="node">
-<title>Node3</title>
-<g id="a_node3"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="10.5,-276.5 10.5,-388.5 169.5,-388.5 169.5,-276.5 10.5,-276.5"/>
-<text text-anchor="middle" x="90" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="10.5,-369.5 169.5,-369.5 "/>
-<text text-anchor="middle" x="90" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10.5,-350.5 169.5,-350.5 "/>
-<text text-anchor="start" x="18.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="18.5" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="18.5" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="18.5" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="18.5" y="-294.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="18.5" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
-</a>
-</g>
-</g>
-<!-- Node3&#45;&gt;Node2 -->
-<g id="edge2" class="edge">
-<title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M90,-266.34C90,-257.38 90,-248.29 90,-239.66"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-266.39 90,-276.39 93.5,-266.39 86.5,-266.39"/>
-</g>
-<!-- Node4 -->
-<g id="node4" class="node">
-<title>Node4</title>
-<g id="a_node4"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="10.5,-425.5 10.5,-493.5 169.5,-493.5 169.5,-425.5 10.5,-425.5"/>
-<text text-anchor="middle" x="90" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="10.5,-474.5 169.5,-474.5 "/>
-<text text-anchor="middle" x="90" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10.5,-455.5 169.5,-455.5 "/>
-<text text-anchor="start" x="18.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="18.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node4&#45;&gt;Node3 -->
-<g id="edge3" class="edge">
-<title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M90,-415.18C90,-406.6 90,-397.49 90,-388.59"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-415.33 90,-425.33 93.5,-415.33 86.5,-415.33"/>
-</g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="50,-530.5 50,-587.5 130,-587.5 130,-530.5 50,-530.5"/>
-<text text-anchor="middle" x="90" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="50,-568.5 130,-568.5 "/>
-<text text-anchor="middle" x="90" y="-556.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="50,-549.5 130,-549.5 "/>
-<text text-anchor="middle" x="90" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node4 -->
-<g id="edge4" class="edge">
-<title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M90,-520.06C90,-511.39 90,-502.24 90,-493.79"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-520.32 90,-530.32 93.5,-520.32 86.5,-520.32"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Bool__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1Bool__inherit__graph.svg
deleted file mode 100644
index f059e84a748..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Bool__inherit__graph.svg
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::Bool Pages: 1 -->
-<svg width="188pt" height="596pt"
- viewBox="0.00 0.00 188.00 596.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 592)">
-<title>tvm::Bool</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-592 184,-592 184,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Boolean constant.">
-<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-101.5 180,-101.5 180,-0.5 0,-0.5"/>
-<text text-anchor="middle" x="90" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Bool</text>
-<polyline fill="none" stroke="black" points="0,-82.5 180,-82.5 "/>
-<text text-anchor="middle" x="90" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-63.5 180,-63.5 "/>
-<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bool()</text>
-<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!()</text>
-<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator bool()</text>
-<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="10.5,-138.5 10.5,-239.5 169.5,-239.5 169.5,-138.5 10.5,-138.5"/>
-<text text-anchor="middle" x="90" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="10.5,-220.5 169.5,-220.5 "/>
-<text text-anchor="middle" x="90" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10.5,-201.5 169.5,-201.5 "/>
-<text text-anchor="start" x="18.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="18.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="18.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="18.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="18.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M90,-128C90,-119.27 90,-110.36 90,-101.86"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-128.13 90,-138.13 93.5,-128.13 86.5,-128.13"/>
-</g>
-<!-- Node3 -->
-<g id="node3" class="node">
-<title>Node3</title>
-<g id="a_node3"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="10.5,-276.5 10.5,-388.5 169.5,-388.5 169.5,-276.5 10.5,-276.5"/>
-<text text-anchor="middle" x="90" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="10.5,-369.5 169.5,-369.5 "/>
-<text text-anchor="middle" x="90" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10.5,-350.5 169.5,-350.5 "/>
-<text text-anchor="start" x="18.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="18.5" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="18.5" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="18.5" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="18.5" y="-294.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="18.5" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
-</a>
-</g>
-</g>
-<!-- Node3&#45;&gt;Node2 -->
-<g id="edge2" class="edge">
-<title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M90,-266.34C90,-257.38 90,-248.29 90,-239.66"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-266.39 90,-276.39 93.5,-266.39 86.5,-266.39"/>
-</g>
-<!-- Node4 -->
-<g id="node4" class="node">
-<title>Node4</title>
-<g id="a_node4"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="10.5,-425.5 10.5,-493.5 169.5,-493.5 169.5,-425.5 10.5,-425.5"/>
-<text text-anchor="middle" x="90" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="10.5,-474.5 169.5,-474.5 "/>
-<text text-anchor="middle" x="90" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10.5,-455.5 169.5,-455.5 "/>
-<text text-anchor="start" x="18.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="18.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node4&#45;&gt;Node3 -->
-<g id="edge3" class="edge">
-<title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M90,-415.18C90,-406.6 90,-397.49 90,-388.59"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-415.33 90,-425.33 93.5,-415.33 86.5,-415.33"/>
-</g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="50,-530.5 50,-587.5 130,-587.5 130,-530.5 50,-530.5"/>
-<text text-anchor="middle" x="90" y="-575.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="50,-568.5 130,-568.5 "/>
-<text text-anchor="middle" x="90" y="-556.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="50,-549.5 130,-549.5 "/>
-<text text-anchor="middle" x="90" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node4 -->
-<g id="edge4" class="edge">
-<title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M90,-520.06C90,-511.39 90,-502.24 90,-493.79"/>
-<polygon fill="none" stroke="midnightblue" points="86.5,-520.32 90,-530.32 93.5,-520.32 86.5,-520.32"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1IntImm.html b/docs/reference/api/doxygen/classtvm_1_1IntImm.html
index 1b80f172996..d817d1268f5 100644
--- a/docs/reference/api/doxygen/classtvm_1_1IntImm.html
+++ b/docs/reference/api/doxygen/classtvm_1_1IntImm.html
@@ -80,7 +80,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::IntImm:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1IntImm__inherit__graph.svg" width="400" height="898"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1IntImm__inherit__graph.svg" width="223" height="611"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
diff --git a/docs/reference/api/doxygen/classtvm_1_1IntImm__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1IntImm__inherit__graph.svg
index a815eb40079..1b67017f139 100644
--- a/docs/reference/api/doxygen/classtvm_1_1IntImm__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1IntImm__inherit__graph.svg
@@ -4,143 +4,90 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::IntImm Pages: 1 -->
-<svg width="300pt" height="673pt"
- viewBox="0.00 0.00 299.50 673.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 669)">
+<svg width="167pt" height="458pt"
+ viewBox="0.00 0.00 167.00 458.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 454)">
 <title>tvm::IntImm</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-669 295.5,-669 295.5,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-454 163,-454 163,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="#bfbfbf" stroke="black" points="87.5,-215.5 87.5,-316.5 246.5,-316.5 246.5,-215.5 87.5,-215.5"/>
-<text text-anchor="middle" x="167" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="87.5,-297.5 246.5,-297.5 "/>
-<text text-anchor="middle" x="167" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="87.5,-278.5 246.5,-278.5 "/>
-<text text-anchor="start" x="95.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="95.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="95.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="95.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="95.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-101.5 159,-101.5 159,-0.5 0,-0.5"/>
+<text text-anchor="middle" x="79.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
+<polyline fill="none" stroke="black" points="0,-82.5 159,-82.5 "/>
+<text text-anchor="middle" x="79.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-63.5 159,-63.5 "/>
+<text text-anchor="start" x="8" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
+<text text-anchor="start" x="8" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:href="classtvm_1_1Bool.html" target="_top" xlink:title="Boolean constant.">
-<polygon fill="white" stroke="black" points="0,-39 0,-140 180,-140 180,-39 0,-39"/>
-<text text-anchor="middle" x="90" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Bool</text>
-<polyline fill="none" stroke="black" points="0,-121 180,-121 "/>
-<text text-anchor="middle" x="90" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-102 180,-102 "/>
-<text text-anchor="start" x="8" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bool()</text>
-<text text-anchor="start" x="8" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!()</text>
-<text text-anchor="start" x="8" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator bool()</text>
-<text text-anchor="start" x="8" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node1&#45;&gt;Node5 -->
-<g id="edge4" class="edge">
-<title>Node1&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M141.03,-206.14C131.57,-184.71 120.98,-160.71 111.91,-140.16"/>
-<polygon fill="none" stroke="midnightblue" points="137.9,-207.73 145.14,-215.46 144.31,-204.9 137.9,-207.73"/>
-</g>
-<!-- Node6 -->
-<g id="node6" class="node">
-<title>Node6</title>
-<g id="a_node6"><a xlink:href="classtvm_1_1Integer.html" target="_top" xlink:title="Container of constant int that adds more constructors.">
-<polygon fill="white" stroke="black" points="198.5,-0.5 198.5,-178.5 291.5,-178.5 291.5,-0.5 198.5,-0.5"/>
-<text text-anchor="middle" x="245" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Integer</text>
-<polyline fill="none" stroke="black" points="198.5,-159.5 291.5,-159.5 "/>
-<text text-anchor="middle" x="245" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="198.5,-140.5 291.5,-140.5 "/>
-<text text-anchor="start" x="206.5" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="206.5" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="206.5" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="206.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="206.5" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="206.5" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="206.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="206.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntValue()</text>
-<text text-anchor="start" x="206.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="206.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-<text text-anchor="start" x="206.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="206.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-</a>
-</g>
-</g>
-<!-- Node1&#45;&gt;Node6 -->
-<g id="edge5" class="edge">
-<title>Node1&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M193.33,-206.1C197.26,-197.3 201.39,-188.06 205.53,-178.81"/>
-<polygon fill="none" stroke="midnightblue" points="190.03,-204.9 189.14,-215.46 196.42,-207.76 190.03,-204.9"/>
-</g>
 <!-- Node2 -->
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="87.5,-353.5 87.5,-465.5 246.5,-465.5 246.5,-353.5 87.5,-353.5"/>
-<text text-anchor="middle" x="167" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="87.5,-446.5 246.5,-446.5 "/>
-<text text-anchor="middle" x="167" y="-434.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="87.5,-427.5 246.5,-427.5 "/>
-<text text-anchor="start" x="95.5" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="95.5" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="95.5" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="95.5" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="95.5" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="95.5" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
+<polygon fill="white" stroke="black" points="0,-138.5 0,-250.5 159,-250.5 159,-138.5 0,-138.5"/>
+<text text-anchor="middle" x="79.5" y="-238.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
+<polyline fill="none" stroke="black" points="0,-231.5 159,-231.5 "/>
+<text text-anchor="middle" x="79.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-212.5 159,-212.5 "/>
+<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
+<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
+<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
+<text text-anchor="start" x="8" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="8" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="8" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M167,-343.34C167,-334.38 167,-325.29 167,-316.66"/>
-<polygon fill="none" stroke="midnightblue" points="163.5,-343.39 167,-353.39 170.5,-343.39 163.5,-343.39"/>
+<path fill="none" stroke="midnightblue" d="M79.5,-128.34C79.5,-119.38 79.5,-110.29 79.5,-101.66"/>
+<polygon fill="none" stroke="midnightblue" points="76,-128.39 79.5,-138.39 83,-128.39 76,-128.39"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
 <title>Node3</title>
 <g id="a_node3"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="87.5,-502.5 87.5,-570.5 246.5,-570.5 246.5,-502.5 87.5,-502.5"/>
-<text text-anchor="middle" x="167" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="87.5,-551.5 246.5,-551.5 "/>
-<text text-anchor="middle" x="167" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="87.5,-532.5 246.5,-532.5 "/>
-<text text-anchor="start" x="95.5" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="95.5" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<polygon fill="white" stroke="black" points="0,-287.5 0,-355.5 159,-355.5 159,-287.5 0,-287.5"/>
+<text text-anchor="middle" x="79.5" y="-343.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
+<polyline fill="none" stroke="black" points="0,-336.5 159,-336.5 "/>
+<text text-anchor="middle" x="79.5" y="-324.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-317.5 159,-317.5 "/>
+<text text-anchor="start" x="8" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="8" y="-294.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node2 -->
 <g id="edge2" class="edge">
 <title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M167,-492.18C167,-483.6 167,-474.49 167,-465.59"/>
-<polygon fill="none" stroke="midnightblue" points="163.5,-492.33 167,-502.33 170.5,-492.33 163.5,-492.33"/>
+<path fill="none" stroke="midnightblue" d="M79.5,-277.18C79.5,-268.6 79.5,-259.49 79.5,-250.59"/>
+<polygon fill="none" stroke="midnightblue" points="76,-277.33 79.5,-287.33 83,-277.33 76,-277.33"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
 <title>Node4</title>
 <g id="a_node4"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="127,-607.5 127,-664.5 207,-664.5 207,-607.5 127,-607.5"/>
-<text text-anchor="middle" x="167" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="127,-645.5 207,-645.5 "/>
-<text text-anchor="middle" x="167" y="-633.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="127,-626.5 207,-626.5 "/>
-<text text-anchor="middle" x="167" y="-614.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="39.5,-392.5 39.5,-449.5 119.5,-449.5 119.5,-392.5 39.5,-392.5"/>
+<text text-anchor="middle" x="79.5" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="39.5,-430.5 119.5,-430.5 "/>
+<text text-anchor="middle" x="79.5" y="-418.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="39.5,-411.5 119.5,-411.5 "/>
+<text text-anchor="middle" x="79.5" y="-399.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node3 -->
 <g id="edge3" class="edge">
 <title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M167,-597.06C167,-588.39 167,-579.24 167,-570.79"/>
-<polygon fill="none" stroke="midnightblue" points="163.5,-597.32 167,-607.32 170.5,-597.32 163.5,-597.32"/>
+<path fill="none" stroke="midnightblue" d="M79.5,-382.06C79.5,-373.39 79.5,-364.24 79.5,-355.79"/>
+<polygon fill="none" stroke="midnightblue" points="76,-382.32 79.5,-392.32 83,-382.32 76,-382.32"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Integer-members.html b/docs/reference/api/doxygen/classtvm_1_1Integer-members.html
deleted file mode 100644
index 29e1bf84f7e..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Integer-members.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: Member List</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="classtvm_1_1Integer.html">Integer</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="headertitle">
-<div class="title">tvm::Integer Member List</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>This is the complete list of members for <a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a>, including all inherited members.</p>
-<table class="directory">
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">ConvertFallbackValue</a>(ffi::String value)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a18a8a0fef87b74b18fc254f49465cc56">dtype</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a2d3969d98441b5b2ee5d8a986a56c410">Integer</a>()</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a88596831065c5939cb26d50b2becfde7">Integer</a>(ffi::ObjectPtr&lt; IntImmNode &gt; node)</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a718423c0cb36aa4f1deac80f82a78215">Integer</a>(ffi::UnsafeInit tag)</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Integer.html#afc4e496d3fdfd643d04e9d75c0977021">Integer</a>(int value, Span span=Span())</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a962f080ada680921fbfff0846553ec33">Integer</a>(IntImm other)</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a4bdb4edd6acf99ecfca13bf34da04fae">Integer</a>(Enum value)</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">IntImm</a>(DataType dtype, int64_t value, Span span=Span())</td><td class="entry"><a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Integer.html#abae4eff906166502c2a982e8a121d81d">IntValue</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a49869e0f187d66dcd00568d3e953fc04">operator!=</a>(int other) const</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a1e099442e256b242fe8e2e2a49c1dc33">operator!=</a>(Enum other) const</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Integer.html#ad538a2ae6f636b3ce38fb4162b1c2549">operator=</a>(const IntImm &amp;other)</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1Integer.html#a5b9ad6d47c7c6df5a066d58f6ba65f8e">operator==</a>(int other) const</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Integer.html#ad2291d037ff36f5371f6381478b3eeaf">operator==</a>(Enum other) const</td><td class="entry"><a class="el" href="classtvm_1_1Integer.html">tvm::Integer</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a7f0ca30e951608a0b36a77a66d4d19e0">PrimExpr</a>(int32_t value)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a756d3f8b17b019560946524951ae6118">PrimExpr</a>(float value)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1IntImm.html#a6d02ff59f45d533f2e30ecdb8a72b952">TVM_DEFINE_OBJECT_REF_COW_METHOD</a>(IntImmNode)</td><td class="entry"><a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1IntImm.html#a82418303f77f4d430d889fe404c409ee">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(IntImm, PrimExpr, IntImmNode)</td><td class="entry"><a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td><td class="entry"></td></tr>
-  <tr><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html#a6e18faf2cb52d2dc17355cbf9c02c796">tvm::PrimExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(PrimExpr, BaseExpr, PrimExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1BaseExpr.html#a5628ea013423670d5e68cdd026102833">tvm::BaseExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(BaseExpr, ffi::ObjectRef, BaseExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1BaseExpr.html">tvm::BaseExpr</a></td><td class="entry"></td></tr>
-</table></div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Integer.html b/docs/reference/api/doxygen/classtvm_1_1Integer.html
deleted file mode 100644
index 669cd0eb24d..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Integer.html
+++ /dev/null
@@ -1,538 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
-<meta http-equiv="X-UA-Compatible" content="IE=9"/>
-<meta name="generator" content="Doxygen 1.9.1"/>
-<meta name="viewport" content="width=device-width, initial-scale=1"/>
-<title>tvm: tvm::Integer Class Reference</title>
-<link href="tabs.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="jquery.js"></script>
-<script type="text/javascript" src="dynsections.js"></script>
-<link href="search/search.css" rel="stylesheet" type="text/css"/>
-<script type="text/javascript" src="search/searchdata.js"></script>
-<script type="text/javascript" src="search/search.js"></script>
-<link href="doxygen.css" rel="stylesheet" type="text/css" />
-</head>
-<body>
-<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
-<div id="titlearea">
-<table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
-  <td id="projectalign" style="padding-left: 0.5em;">
-   <div id="projectname">tvm
-   </div>
-  </td>
- </tr>
- </tbody>
-</table>
-</div>
-<!-- end header part -->
-<!-- Generated by Doxygen 1.9.1 -->
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
-/* @license-end */
-</script>
-<script type="text/javascript" src="menudata.js"></script>
-<script type="text/javascript" src="menu.js"></script>
-<script type="text/javascript">
-/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
-$(function() {
-  initMenu('',true,false,'search.php','Search');
-  $(document).ready(function() { init_search(); });
-});
-/* @license-end */</script>
-<div id="main-nav"></div>
-<!-- window showing the filter options -->
-<div id="MSearchSelectWindow"
-     onmouseover="return searchBox.OnSearchSelectShow()"
-     onmouseout="return searchBox.OnSearchSelectHide()"
-     onkeydown="return searchBox.OnSearchSelectKey(event)">
-</div>
-
-<!-- iframe showing the search results (closed by default) -->
-<div id="MSearchResultsWindow">
-<iframe src="javascript:void(0)" frameborder="0" 
-        name="MSearchResults" id="MSearchResults">
-</iframe>
-</div>
-
-<div id="nav-path" class="navpath">
-  <ul>
-<li class="navelem"><a class="el" href="namespacetvm.html">tvm</a></li><li class="navelem"><a class="el" href="classtvm_1_1Integer.html">Integer</a></li>  </ul>
-</div>
-</div><!-- top -->
-<div class="header">
-  <div class="summary">
-<a href="#pub-methods">Public Member Functions</a> &#124;
-<a href="classtvm_1_1Integer-members.html">List of all members</a>  </div>
-  <div class="headertitle">
-<div class="title">tvm::Integer Class Reference</div>  </div>
-</div><!--header-->
-<div class="contents">
-
-<p>Container of constant int that adds more constructors.  
- <a href="classtvm_1_1Integer.html#details">More...</a></p>
-
-<p><code>#include &lt;<a class="el" href="ir_2expr_8h_source.html">expr.h</a>&gt;</code></p>
-<div class="dynheader">
-Inheritance diagram for tvm::Integer:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1Integer__inherit__graph.svg" width="223" height="898"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<div class="dynheader">
-Collaboration diagram for tvm::Integer:</div>
-<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1Integer__coll__graph.svg" width="223" height="898"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
-</div>
-</div>
-<table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
-Public Member Functions</h2></td></tr>
-<tr class="memitem:a2d3969d98441b5b2ee5d8a986a56c410"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a2d3969d98441b5b2ee5d8a986a56c410">Integer</a> ()</td></tr>
-<tr class="separator:a2d3969d98441b5b2ee5d8a986a56c410"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a88596831065c5939cb26d50b2becfde7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a88596831065c5939cb26d50b2becfde7">Integer</a> (ffi::ObjectPtr&lt; <a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> &gt; node)</td></tr>
-<tr class="memdesc:a88596831065c5939cb26d50b2becfde7"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from node.  <a href="classtvm_1_1Integer.html#a88596831065c5939cb26d50b2becfde7">More...</a><br /></td></tr>
-<tr class="separator:a88596831065c5939cb26d50b2becfde7"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a718423c0cb36aa4f1deac80f82a78215"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a718423c0cb36aa4f1deac80f82a78215">Integer</a> (ffi::UnsafeInit tag)</td></tr>
-<tr class="memdesc:a718423c0cb36aa4f1deac80f82a78215"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor with UnsafeInit  <a href="classtvm_1_1Integer.html#a718423c0cb36aa4f1deac80f82a78215">More...</a><br /></td></tr>
-<tr class="separator:a718423c0cb36aa4f1deac80f82a78215"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:afc4e496d3fdfd643d04e9d75c0977021"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#afc4e496d3fdfd643d04e9d75c0977021">Integer</a> (int value, <a class="el" href="classtvm_1_1Span.html">Span</a> span=<a class="el" href="classtvm_1_1Span.html">Span</a>())</td></tr>
-<tr class="memdesc:afc4e496d3fdfd643d04e9d75c0977021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct integer from int value.  <a href="classtvm_1_1Integer.html#afc4e496d3fdfd643d04e9d75c0977021">More...</a><br /></td></tr>
-<tr class="separator:afc4e496d3fdfd643d04e9d75c0977021"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a962f080ada680921fbfff0846553ec33"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a962f080ada680921fbfff0846553ec33">Integer</a> (<a class="el" href="classtvm_1_1IntImm.html">IntImm</a> other)</td></tr>
-<tr class="memdesc:a962f080ada680921fbfff0846553ec33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct integer from int imm.  <a href="classtvm_1_1Integer.html#a962f080ada680921fbfff0846553ec33">More...</a><br /></td></tr>
-<tr class="separator:a962f080ada680921fbfff0846553ec33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a4bdb4edd6acf99ecfca13bf34da04fae"><td class="memTemplParams" colspan="2">template&lt;typename Enum , typename  = typename std::enable_if&lt;std::is_enum&lt;Enum&gt;::value&gt;::type&gt; </td></tr>
-<tr class="memitem:a4bdb4edd6acf99ecfca13bf34da04fae"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a4bdb4edd6acf99ecfca13bf34da04fae">Integer</a> (Enum value)</td></tr>
-<tr class="memdesc:a4bdb4edd6acf99ecfca13bf34da04fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor from enum.  <a href="classtvm_1_1Integer.html#a4bdb4edd6acf99ecfca13bf34da04fae">More...</a><br /></td></tr>
-<tr class="separator:a4bdb4edd6acf99ecfca13bf34da04fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad538a2ae6f636b3ce38fb4162b1c2549"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#ad538a2ae6f636b3ce38fb4162b1c2549">operator=</a> (const <a class="el" href="classtvm_1_1IntImm.html">IntImm</a> &amp;other)</td></tr>
-<tr class="memdesc:ad538a2ae6f636b3ce38fb4162b1c2549"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign an expression to integer.  <a href="classtvm_1_1Integer.html#ad538a2ae6f636b3ce38fb4162b1c2549">More...</a><br /></td></tr>
-<tr class="separator:ad538a2ae6f636b3ce38fb4162b1c2549"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:abae4eff906166502c2a982e8a121d81d"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#abae4eff906166502c2a982e8a121d81d">IntValue</a> () const</td></tr>
-<tr class="memdesc:abae4eff906166502c2a982e8a121d81d"><td class="mdescLeft">&#160;</td><td class="mdescRight">convert to int64_t  <a href="classtvm_1_1Integer.html#abae4eff906166502c2a982e8a121d81d">More...</a><br /></td></tr>
-<tr class="separator:abae4eff906166502c2a982e8a121d81d"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a5b9ad6d47c7c6df5a066d58f6ba65f8e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a5b9ad6d47c7c6df5a066d58f6ba65f8e">operator==</a> (int other) const</td></tr>
-<tr class="separator:a5b9ad6d47c7c6df5a066d58f6ba65f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a49869e0f187d66dcd00568d3e953fc04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a49869e0f187d66dcd00568d3e953fc04">operator!=</a> (int other) const</td></tr>
-<tr class="separator:a49869e0f187d66dcd00568d3e953fc04"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ad2291d037ff36f5371f6381478b3eeaf"><td class="memTemplParams" colspan="2">template&lt;typename Enum , typename  = typename std::enable_if&lt;std::is_enum&lt;Enum&gt;::value&gt;::type&gt; </td></tr>
-<tr class="memitem:ad2291d037ff36f5371f6381478b3eeaf"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#ad2291d037ff36f5371f6381478b3eeaf">operator==</a> (Enum other) const</td></tr>
-<tr class="separator:ad2291d037ff36f5371f6381478b3eeaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a1e099442e256b242fe8e2e2a49c1dc33"><td class="memTemplParams" colspan="2">template&lt;typename Enum , typename  = typename std::enable_if&lt;std::is_enum&lt;Enum&gt;::value&gt;::type&gt; </td></tr>
-<tr class="memitem:a1e099442e256b242fe8e2e2a49c1dc33"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Bool.html">Bool</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classtvm_1_1Integer.html#a1e099442e256b242fe8e2e2a49c1dc33">operator!=</a> (Enum other) const</td></tr>
-<tr class="separator:a1e099442e256b242fe8e2e2a49c1dc33"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1IntImm"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1IntImm')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1IntImm.html">tvm::IntImm</a></td></tr>
-<tr class="memitem:ad37f61019092f5201cf9e0500b75afe2 inherit pub_methods_classtvm_1_1IntImm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">IntImm</a> (<a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a> <a class="el" href="classtvm_1_1PrimExpr.html#a18a8a0fef87b74b18fc254f49465cc56">dtype</a>, int64_t value, <a class="el [...]
-<tr class="memdesc:ad37f61019092f5201cf9e0500b75afe2 inherit pub_methods_classtvm_1_1IntImm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">More...</a><br /></td></tr>
-<tr class="separator:ad37f61019092f5201cf9e0500b75afe2 inherit pub_methods_classtvm_1_1IntImm"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a82418303f77f4d430d889fe404c409ee inherit pub_methods_classtvm_1_1IntImm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1IntImm.html#a82418303f77f4d430d889fe404c409ee">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1IntImm.html">IntImm</a>, <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>, <a class="el" href="classtvm_1_1IntImmNode.html">In [...]
-<tr class="separator:a82418303f77f4d430d889fe404c409ee inherit pub_methods_classtvm_1_1IntImm"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6d02ff59f45d533f2e30ecdb8a72b952 inherit pub_methods_classtvm_1_1IntImm"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1IntImm.html#a6d02ff59f45d533f2e30ecdb8a72b952">TVM_DEFINE_OBJECT_REF_COW_METHOD</a> (<a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a>)</td></tr>
-<tr class="separator:a6d02ff59f45d533f2e30ecdb8a72b952 inherit pub_methods_classtvm_1_1IntImm"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1PrimExpr"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1PrimExpr')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td></tr>
-<tr class="memitem:a7f0ca30e951608a0b36a77a66d4d19e0 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a7f0ca30e951608a0b36a77a66d4d19e0">PrimExpr</a> (int32_t value)</td></tr>
-<tr class="memdesc:a7f0ca30e951608a0b36a77a66d4d19e0 inherit pub_methods_classtvm_1_1PrimExpr"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct from integer.  <a href="classtvm_1_1PrimExpr.html#a7f0ca30e951608a0b36a77a66d4d19e0">More...</a><br /></td></tr>
-<tr class="separator:a7f0ca30e951608a0b36a77a66d4d19e0 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a756d3f8b17b019560946524951ae6118 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a756d3f8b17b019560946524951ae6118">PrimExpr</a> (float value)</td></tr>
-<tr class="memdesc:a756d3f8b17b019560946524951ae6118 inherit pub_methods_classtvm_1_1PrimExpr"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct from float.  <a href="classtvm_1_1PrimExpr.html#a756d3f8b17b019560946524951ae6118">More...</a><br /></td></tr>
-<tr class="separator:a756d3f8b17b019560946524951ae6118 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a18a8a0fef87b74b18fc254f49465cc56 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">DataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a18a8a0fef87b74b18fc254f49465cc56">dtype</a> () const</td></tr>
-<tr class="separator:a18a8a0fef87b74b18fc254f49465cc56 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a6e18faf2cb52d2dc17355cbf9c02c796 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a6e18faf2cb52d2dc17355cbf9c02c796">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>, <a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a>, <a class="el" href="classtvm_1_1PrimExprNod [...]
-<tr class="separator:a6e18faf2cb52d2dc17355cbf9c02c796 inherit pub_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="inherit_header pub_methods_classtvm_1_1BaseExpr"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1BaseExpr')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtvm_1_1BaseExpr.html">tvm::BaseExpr</a></td></tr>
-<tr class="memitem:a5628ea013423670d5e68cdd026102833 inherit pub_methods_classtvm_1_1BaseExpr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1BaseExpr.html#a5628ea013423670d5e68cdd026102833">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1BaseExpr.html">BaseExpr</a>, ffi::ObjectRef, <a class="el" href="classtvm_1_1BaseExprNode.html">BaseExprNode</a>)</td></tr>
-<tr class="separator:a5628ea013423670d5e68cdd026102833 inherit pub_methods_classtvm_1_1BaseExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
-Additional Inherited Members</h2></td></tr>
-<tr class="inherit_header pub_static_methods_classtvm_1_1PrimExpr"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classtvm_1_1PrimExpr')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></td></tr>
-<tr class="memitem:a8839598722144f363e11e377ebd6f5ad inherit pub_static_methods_classtvm_1_1PrimExpr"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">ConvertFallbackValue</a> (ffi::String value)</td></tr>
-<tr class="memdesc:a8839598722144f363e11e377ebd6f5ad inherit pub_static_methods_classtvm_1_1PrimExpr"><td class="mdescLeft">&#160;</td><td class="mdescRight">construct from string to form a StringImm.  <a href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">More...</a><br /></td></tr>
-<tr class="separator:a8839598722144f363e11e377ebd6f5ad inherit pub_static_methods_classtvm_1_1PrimExpr"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table>
-<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Container of constant int that adds more constructors. </p>
-<p>This is used to store and automate type check attributes that must be constant integer.</p>
-<dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvm_1_1IntImm.html" title="Managed reference class to IntImmNode.">IntImm</a> </dd></dl>
-</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
-<a id="a2d3969d98441b5b2ee5d8a986a56c410"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a2d3969d98441b5b2ee5d8a986a56c410">&#9670;&nbsp;</a></span>Integer() <span class="overload">[1/6]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Integer::Integer </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a id="a88596831065c5939cb26d50b2becfde7"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a88596831065c5939cb26d50b2becfde7">&#9670;&nbsp;</a></span>Integer() <span class="overload">[2/6]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Integer::Integer </td>
-          <td>(</td>
-          <td class="paramtype">ffi::ObjectPtr&lt; <a class="el" href="classtvm_1_1IntImmNode.html">IntImmNode</a> &gt;&#160;</td>
-          <td class="paramname"><em>node</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>constructor from node. </p>
-
-</div>
-</div>
-<a id="a718423c0cb36aa4f1deac80f82a78215"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a718423c0cb36aa4f1deac80f82a78215">&#9670;&nbsp;</a></span>Integer() <span class="overload">[3/6]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Integer::Integer </td>
-          <td>(</td>
-          <td class="paramtype">ffi::UnsafeInit&#160;</td>
-          <td class="paramname"><em>tag</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>constructor with UnsafeInit </p>
-
-</div>
-</div>
-<a id="afc4e496d3fdfd643d04e9d75c0977021"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#afc4e496d3fdfd643d04e9d75c0977021">&#9670;&nbsp;</a></span>Integer() <span class="overload">[4/6]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Integer::Integer </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1Span.html">Span</a>&#160;</td>
-          <td class="paramname"><em>span</em> = <code><a class="el" href="classtvm_1_1Span.html">Span</a>()</code>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Construct integer from int value. </p>
-
-</div>
-</div>
-<a id="a962f080ada680921fbfff0846553ec33"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a962f080ada680921fbfff0846553ec33">&#9670;&nbsp;</a></span>Integer() <span class="overload">[5/6]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Integer::Integer </td>
-          <td>(</td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1IntImm.html">IntImm</a>&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Construct integer from int imm. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">other</td><td>The other value. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="a4bdb4edd6acf99ecfca13bf34da04fae"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4bdb4edd6acf99ecfca13bf34da04fae">&#9670;&nbsp;</a></span>Integer() <span class="overload">[6/6]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename Enum , typename  = typename std::enable_if&lt;std::is_enum&lt;Enum&gt;::value&gt;::type&gt; </div>
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">tvm::Integer::Integer </td>
-          <td>(</td>
-          <td class="paramtype">Enum&#160;</td>
-          <td class="paramname"><em>value</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Constructor from enum. </p>
-<dl class="tparams"><dt>Template Parameters</dt><dd>
-  <table class="tparams">
-    <tr><td class="paramname">Enum</td><td>The enum type. </td></tr>
-  </table>
-  </dd>
-</dl>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">value</td><td>The enum value. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<h2 class="groupheader">Member Function Documentation</h2>
-<a id="abae4eff906166502c2a982e8a121d81d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#abae4eff906166502c2a982e8a121d81d">&#9670;&nbsp;</a></span>IntValue()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname">int64_t tvm::Integer::IntValue </td>
-          <td>(</td>
-          <td class="paramname"></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>convert to int64_t </p>
-
-</div>
-</div>
-<a id="a1e099442e256b242fe8e2e2a49c1dc33"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a1e099442e256b242fe8e2e2a49c1dc33">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename Enum , typename  = typename std::enable_if&lt;std::is_enum&lt;Enum&gt;::value&gt;::type&gt; </div>
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Bool.html">Bool</a> tvm::Integer::operator!= </td>
-          <td>(</td>
-          <td class="paramtype">Enum&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a id="a49869e0f187d66dcd00568d3e953fc04"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a49869e0f187d66dcd00568d3e953fc04">&#9670;&nbsp;</a></span>operator!=() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Bool.html">Bool</a> tvm::Integer::operator!= </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a id="ad538a2ae6f636b3ce38fb4162b1c2549"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad538a2ae6f636b3ce38fb4162b1c2549">&#9670;&nbsp;</a></span>operator=()</h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Integer.html">Integer</a>&amp; tvm::Integer::operator= </td>
-          <td>(</td>
-          <td class="paramtype">const <a class="el" href="classtvm_1_1IntImm.html">IntImm</a> &amp;&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td></td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-<p>Assign an expression to integer. </p>
-<dl class="params"><dt>Parameters</dt><dd>
-  <table class="params">
-    <tr><td class="paramname">other</td><td>another expression. </td></tr>
-  </table>
-  </dd>
-</dl>
-
-</div>
-</div>
-<a id="ad2291d037ff36f5371f6381478b3eeaf"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ad2291d037ff36f5371f6381478b3eeaf">&#9670;&nbsp;</a></span>operator==() <span class="overload">[1/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<div class="memtemplate">
-template&lt;typename Enum , typename  = typename std::enable_if&lt;std::is_enum&lt;Enum&gt;::value&gt;::type&gt; </div>
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Bool.html">Bool</a> tvm::Integer::operator== </td>
-          <td>(</td>
-          <td class="paramtype">Enum&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<a id="a5b9ad6d47c7c6df5a066d58f6ba65f8e"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a5b9ad6d47c7c6df5a066d58f6ba65f8e">&#9670;&nbsp;</a></span>operator==() <span class="overload">[2/2]</span></h2>
-
-<div class="memitem">
-<div class="memproto">
-<table class="mlabels">
-  <tr>
-  <td class="mlabels-left">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Bool.html">Bool</a> tvm::Integer::operator== </td>
-          <td>(</td>
-          <td class="paramtype">int&#160;</td>
-          <td class="paramname"><em>other</em></td><td>)</td>
-          <td> const</td>
-        </tr>
-      </table>
-  </td>
-  <td class="mlabels-right">
-<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
-  </tr>
-</table>
-</div><div class="memdoc">
-
-</div>
-</div>
-<hr/>The documentation for this class was generated from the following file:<ul>
-<li>include/tvm/ir/<a class="el" href="ir_2expr_8h_source.html">expr.h</a></li>
-</ul>
-</div><!-- contents -->
-<!-- start footer part -->
-<hr class="footer"/><address class="footer"><small>
-Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
-</small></address>
-</body>
-</html>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Integer__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1Integer__coll__graph.svg
deleted file mode 100644
index d92c934abfb..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Integer__coll__graph.svg
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::Integer Pages: 1 -->
-<svg width="167pt" height="673pt"
- viewBox="0.00 0.00 167.00 673.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 669)">
-<title>tvm::Integer</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-669 163,-669 163,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Container of constant int that adds more constructors.">
-<polygon fill="#bfbfbf" stroke="black" points="33,-0.5 33,-178.5 126,-178.5 126,-0.5 33,-0.5"/>
-<text text-anchor="middle" x="79.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Integer</text>
-<polyline fill="none" stroke="black" points="33,-159.5 126,-159.5 "/>
-<text text-anchor="middle" x="79.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="33,-140.5 126,-140.5 "/>
-<text text-anchor="start" x="41" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="41" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntValue()</text>
-<text text-anchor="start" x="41" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="41" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-<text text-anchor="start" x="41" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="41" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="0,-215.5 0,-316.5 159,-316.5 159,-215.5 0,-215.5"/>
-<text text-anchor="middle" x="79.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="0,-297.5 159,-297.5 "/>
-<text text-anchor="middle" x="79.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-278.5 159,-278.5 "/>
-<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-205.26C79.5,-196.71 79.5,-187.77 79.5,-178.81"/>
-<polygon fill="none" stroke="midnightblue" points="76,-205.46 79.5,-215.46 83,-205.46 76,-205.46"/>
-</g>
-<!-- Node3 -->
-<g id="node3" class="node">
-<title>Node3</title>
-<g id="a_node3"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="0,-353.5 0,-465.5 159,-465.5 159,-353.5 0,-353.5"/>
-<text text-anchor="middle" x="79.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="0,-446.5 159,-446.5 "/>
-<text text-anchor="middle" x="79.5" y="-434.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-427.5 159,-427.5 "/>
-<text text-anchor="start" x="8" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="8" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="8" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="8" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="8" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
-</a>
-</g>
-</g>
-<!-- Node3&#45;&gt;Node2 -->
-<g id="edge2" class="edge">
-<title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-343.34C79.5,-334.38 79.5,-325.29 79.5,-316.66"/>
-<polygon fill="none" stroke="midnightblue" points="76,-343.39 79.5,-353.39 83,-343.39 76,-343.39"/>
-</g>
-<!-- Node4 -->
-<g id="node4" class="node">
-<title>Node4</title>
-<g id="a_node4"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="0,-502.5 0,-570.5 159,-570.5 159,-502.5 0,-502.5"/>
-<text text-anchor="middle" x="79.5" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="0,-551.5 159,-551.5 "/>
-<text text-anchor="middle" x="79.5" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-532.5 159,-532.5 "/>
-<text text-anchor="start" x="8" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node4&#45;&gt;Node3 -->
-<g id="edge3" class="edge">
-<title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-492.18C79.5,-483.6 79.5,-474.49 79.5,-465.59"/>
-<polygon fill="none" stroke="midnightblue" points="76,-492.33 79.5,-502.33 83,-492.33 76,-492.33"/>
-</g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="39.5,-607.5 39.5,-664.5 119.5,-664.5 119.5,-607.5 39.5,-607.5"/>
-<text text-anchor="middle" x="79.5" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="39.5,-645.5 119.5,-645.5 "/>
-<text text-anchor="middle" x="79.5" y="-633.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="39.5,-626.5 119.5,-626.5 "/>
-<text text-anchor="middle" x="79.5" y="-614.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node4 -->
-<g id="edge4" class="edge">
-<title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-597.06C79.5,-588.39 79.5,-579.24 79.5,-570.79"/>
-<polygon fill="none" stroke="midnightblue" points="76,-597.32 79.5,-607.32 83,-597.32 76,-597.32"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Integer__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1Integer__inherit__graph.svg
deleted file mode 100644
index d92c934abfb..00000000000
--- a/docs/reference/api/doxygen/classtvm_1_1Integer__inherit__graph.svg
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
- "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<!-- Generated by graphviz version 2.43.0 (0)
- -->
-<!-- Title: tvm::Integer Pages: 1 -->
-<svg width="167pt" height="673pt"
- viewBox="0.00 0.00 167.00 673.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 669)">
-<title>tvm::Integer</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-669 163,-669 163,4 -4,4"/>
-<!-- Node1 -->
-<g id="node1" class="node">
-<title>Node1</title>
-<g id="a_node1"><a xlink:title="Container of constant int that adds more constructors.">
-<polygon fill="#bfbfbf" stroke="black" points="33,-0.5 33,-178.5 126,-178.5 126,-0.5 33,-0.5"/>
-<text text-anchor="middle" x="79.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Integer</text>
-<polyline fill="none" stroke="black" points="33,-159.5 126,-159.5 "/>
-<text text-anchor="middle" x="79.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="33,-140.5 126,-140.5 "/>
-<text text-anchor="start" x="41" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="41" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="41" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntValue()</text>
-<text text-anchor="start" x="41" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="41" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-<text text-anchor="start" x="41" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="41" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-</a>
-</g>
-</g>
-<!-- Node2 -->
-<g id="node2" class="node">
-<title>Node2</title>
-<g id="a_node2"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="0,-215.5 0,-316.5 159,-316.5 159,-215.5 0,-215.5"/>
-<text text-anchor="middle" x="79.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="0,-297.5 159,-297.5 "/>
-<text text-anchor="middle" x="79.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-278.5 159,-278.5 "/>
-<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node2&#45;&gt;Node1 -->
-<g id="edge1" class="edge">
-<title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-205.26C79.5,-196.71 79.5,-187.77 79.5,-178.81"/>
-<polygon fill="none" stroke="midnightblue" points="76,-205.46 79.5,-215.46 83,-205.46 76,-205.46"/>
-</g>
-<!-- Node3 -->
-<g id="node3" class="node">
-<title>Node3</title>
-<g id="a_node3"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="0,-353.5 0,-465.5 159,-465.5 159,-353.5 0,-353.5"/>
-<text text-anchor="middle" x="79.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="0,-446.5 159,-446.5 "/>
-<text text-anchor="middle" x="79.5" y="-434.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-427.5 159,-427.5 "/>
-<text text-anchor="start" x="8" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="8" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="8" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="8" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="8" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
-</a>
-</g>
-</g>
-<!-- Node3&#45;&gt;Node2 -->
-<g id="edge2" class="edge">
-<title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-343.34C79.5,-334.38 79.5,-325.29 79.5,-316.66"/>
-<polygon fill="none" stroke="midnightblue" points="76,-343.39 79.5,-353.39 83,-343.39 76,-343.39"/>
-</g>
-<!-- Node4 -->
-<g id="node4" class="node">
-<title>Node4</title>
-<g id="a_node4"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="0,-502.5 0,-570.5 159,-570.5 159,-502.5 0,-502.5"/>
-<text text-anchor="middle" x="79.5" y="-558.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="0,-551.5 159,-551.5 "/>
-<text text-anchor="middle" x="79.5" y="-539.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-532.5 159,-532.5 "/>
-<text text-anchor="start" x="8" y="-520.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node4&#45;&gt;Node3 -->
-<g id="edge3" class="edge">
-<title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-492.18C79.5,-483.6 79.5,-474.49 79.5,-465.59"/>
-<polygon fill="none" stroke="midnightblue" points="76,-492.33 79.5,-502.33 83,-492.33 76,-492.33"/>
-</g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="39.5,-607.5 39.5,-664.5 119.5,-664.5 119.5,-607.5 39.5,-607.5"/>
-<text text-anchor="middle" x="79.5" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="39.5,-645.5 119.5,-645.5 "/>
-<text text-anchor="middle" x="79.5" y="-633.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="39.5,-626.5 119.5,-626.5 "/>
-<text text-anchor="middle" x="79.5" y="-614.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node4 -->
-<g id="edge4" class="edge">
-<title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M79.5,-597.06C79.5,-588.39 79.5,-579.24 79.5,-570.79"/>
-<polygon fill="none" stroke="midnightblue" points="76,-597.32 79.5,-607.32 83,-597.32 76,-597.32"/>
-</g>
-</g>
-</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1PrimExpr.html b/docs/reference/api/doxygen/classtvm_1_1PrimExpr.html
index 4cb7347f160..06921039398 100644
--- a/docs/reference/api/doxygen/classtvm_1_1PrimExpr.html
+++ b/docs/reference/api/doxygen/classtvm_1_1PrimExpr.html
@@ -81,7 +81,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::PrimExpr:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1PrimExpr__inherit__graph.svg" width="7722" height="956"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1PrimExpr__inherit__graph.svg" width="7722" height="883"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <div class="dynheader">
diff --git a/docs/reference/api/doxygen/classtvm_1_1PrimExpr__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1PrimExpr__inherit__graph.svg
index a9ebaed33f8..013c274b850 100644
--- a/docs/reference/api/doxygen/classtvm_1_1PrimExpr__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1PrimExpr__inherit__graph.svg
@@ -4,26 +4,26 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::PrimExpr Pages: 1 -->
-<svg width="5791pt" height="717pt"
- viewBox="0.00 0.00 5790.50 717.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 713)">
+<svg width="5791pt" height="662pt"
+ viewBox="0.00 0.00 5790.50 662.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 658)">
 <title>tvm::PrimExpr</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-713 5786.5,-713 5786.5,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-658 5786.5,-658 5786.5,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Reference to PrimExprNode.">
-<polygon fill="#bfbfbf" stroke="black" points="2832,-397.5 2832,-509.5 2991,-509.5 2991,-397.5 2832,-397.5"/>
-<text text-anchor="middle" x="2911.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="2832,-490.5 2991,-490.5 "/>
-<text text-anchor="middle" x="2911.5" y="-478.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2832,-471.5 2991,-471.5 "/>
-<text text-anchor="start" x="2840" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="2840" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="2840" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="2840" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2840" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2840" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
+<polygon fill="#bfbfbf" stroke="black" points="2832,-342.5 2832,-454.5 2991,-454.5 2991,-342.5 2832,-342.5"/>
+<text text-anchor="middle" x="2911.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
+<polyline fill="none" stroke="black" points="2832,-435.5 2991,-435.5 "/>
+<text text-anchor="middle" x="2911.5" y="-423.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2832,-416.5 2991,-416.5 "/>
+<text text-anchor="start" x="2840" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
+<text text-anchor="start" x="2840" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
+<text text-anchor="start" x="2840" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
+<text text-anchor="start" x="2840" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2840" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2840" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
 </a>
 </g>
 </g>
@@ -31,928 +31,875 @@
 <g id="node4" class="node">
 <title>Node4</title>
 <g id="a_node4"><a xlink:href="classtvm_1_1FloatImm.html" target="_top" xlink:title="Managed reference class to FloatImmNode.">
-<polygon fill="white" stroke="black" points="0,-237.5 0,-338.5 159,-338.5 159,-237.5 0,-237.5"/>
-<text text-anchor="middle" x="79.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FloatImm</text>
-<polyline fill="none" stroke="black" points="0,-319.5 159,-319.5 "/>
-<text text-anchor="middle" x="79.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="0,-300.5 159,-300.5 "/>
-<text text-anchor="start" x="8" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloatImm()</text>
-<text text-anchor="start" x="8" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="8" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="8" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="8" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<polygon fill="white" stroke="black" points="0,-182.5 0,-283.5 159,-283.5 159,-182.5 0,-182.5"/>
+<text text-anchor="middle" x="79.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FloatImm</text>
+<polyline fill="none" stroke="black" points="0,-264.5 159,-264.5 "/>
+<text text-anchor="middle" x="79.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="0,-245.5 159,-245.5 "/>
+<text text-anchor="start" x="8" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloatImm()</text>
+<text text-anchor="start" x="8" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="8" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node4 -->
 <g id="edge3" class="edge">
 <title>Node1&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M2821.55,-452.91C2376.4,-454.51 420.32,-456.03 167.5,-361 153.83,-355.86 140.7,-347.68 128.96,-338.64"/>
-<polygon fill="none" stroke="midnightblue" points="2821.8,-456.41 2831.79,-452.88 2821.77,-449.41 2821.8,-456.41"/>
+<path fill="none" stroke="midnightblue" d="M2821.55,-397.91C2376.4,-399.51 420.32,-401.03 167.5,-306 153.83,-300.86 140.7,-292.68 128.96,-283.64"/>
+<polygon fill="none" stroke="midnightblue" points="2821.8,-401.41 2831.79,-397.88 2821.77,-394.41 2821.8,-401.41"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node">
 <title>Node5</title>
 <g id="a_node5"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="177,-237.5 177,-338.5 336,-338.5 336,-237.5 177,-237.5"/>
-<text text-anchor="middle" x="256.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="177,-319.5 336,-319.5 "/>
-<text text-anchor="middle" x="256.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="177,-300.5 336,-300.5 "/>
-<text text-anchor="start" x="185" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="185" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="185" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="185" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="185" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<polygon fill="white" stroke="black" points="177,-182.5 177,-283.5 336,-283.5 336,-182.5 177,-182.5"/>
+<text text-anchor="middle" x="256.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
+<polyline fill="none" stroke="black" points="177,-264.5 336,-264.5 "/>
+<text text-anchor="middle" x="256.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="177,-245.5 336,-245.5 "/>
+<text text-anchor="start" x="185" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
+<text text-anchor="start" x="185" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="185" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="185" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="185" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node5 -->
 <g id="edge4" class="edge">
 <title>Node1&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2821.84,-452.69C2395.01,-453.14 579.9,-449.79 344.5,-361 330.83,-355.84 317.71,-347.65 305.97,-338.61"/>
-<polygon fill="none" stroke="midnightblue" points="2821.97,-456.19 2831.96,-452.68 2821.96,-449.19 2821.97,-456.19"/>
+<path fill="none" stroke="midnightblue" d="M2821.84,-397.69C2395.01,-398.14 579.9,-394.79 344.5,-306 330.83,-300.84 317.71,-292.65 305.97,-283.61"/>
+<polygon fill="none" stroke="midnightblue" points="2821.97,-401.19 2831.96,-397.68 2821.96,-394.19 2821.97,-401.19"/>
 </g>
-<!-- Node8 -->
-<g id="node8" class="node">
-<title>Node8</title>
-<g id="a_node8"><a xlink:href="classtvm_1_1arith_1_1IterMapExpr.html" target="_top" xlink:title="Managed reference to IterMapExprNode.">
-<polygon fill="white" stroke="black" points="354,-254 354,-322 513,-322 513,-254 354,-254"/>
-<text text-anchor="middle" x="433.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapExpr</text>
-<polyline fill="none" stroke="black" points="354,-303 513,-303 "/>
-<text text-anchor="middle" x="433.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="354,-284 513,-284 "/>
-<text text-anchor="start" x="362" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="362" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<!-- Node6 -->
+<g id="node6" class="node">
+<title>Node6</title>
+<g id="a_node6"><a xlink:href="classtvm_1_1arith_1_1IterMapExpr.html" target="_top" xlink:title="Managed reference to IterMapExprNode.">
+<polygon fill="white" stroke="black" points="354,-199 354,-267 513,-267 513,-199 354,-199"/>
+<text text-anchor="middle" x="433.5" y="-255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapExpr</text>
+<polyline fill="none" stroke="black" points="354,-248 513,-248 "/>
+<text text-anchor="middle" x="433.5" y="-236" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="354,-229 513,-229 "/>
+<text text-anchor="start" x="362" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="362" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
-<!-- Node1&#45;&gt;Node8 -->
-<g id="edge7" class="edge">
-<title>Node1&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2821.42,-452.43C2412.27,-451.67 739.39,-443.51 521.5,-361 499.72,-352.75 479.32,-336.81 463.66,-322.02"/>
-<polygon fill="none" stroke="midnightblue" points="2821.71,-455.93 2831.72,-452.45 2821.72,-448.93 2821.71,-455.93"/>
+<!-- Node1&#45;&gt;Node6 -->
+<g id="edge5" class="edge">
+<title>Node1&#45;&gt;Node6</title>
+<path fill="none" stroke="midnightblue" d="M2821.42,-397.43C2412.27,-396.67 739.39,-388.51 521.5,-306 499.72,-297.75 479.32,-281.81 463.66,-267.02"/>
+<polygon fill="none" stroke="midnightblue" points="2821.71,-400.93 2831.72,-397.45 2821.72,-393.93 2821.71,-400.93"/>
+</g>
+<!-- Node9 -->
+<g id="node9" class="node">
+<title>Node9</title>
+<g id="a_node9"><a xlink:href="classtvm_1_1tirx_1_1Add.html" target="_top" xlink:title="Managed reference to AddNode.">
+<polygon fill="white" stroke="black" points="531,-182.5 531,-283.5 690,-283.5 690,-182.5 531,-182.5"/>
+<text text-anchor="middle" x="610.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Add</text>
+<polyline fill="none" stroke="black" points="531,-264.5 690,-264.5 "/>
+<text text-anchor="middle" x="610.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="531,-245.5 690,-245.5 "/>
+<text text-anchor="start" x="539" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
+<text text-anchor="start" x="539" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="539" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="539" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="539" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node9 -->
+<g id="edge8" class="edge">
+<title>Node1&#45;&gt;Node9</title>
+<path fill="none" stroke="midnightblue" d="M2821.74,-397.14C2432.25,-395.11 899.05,-382.3 698.5,-306 684.85,-300.81 671.73,-292.6 659.99,-283.55"/>
+<polygon fill="none" stroke="midnightblue" points="2821.81,-400.64 2831.83,-397.19 2821.85,-393.64 2821.81,-400.64"/>
+</g>
+<!-- Node10 -->
+<g id="node10" class="node">
+<title>Node10</title>
+<g id="a_node10"><a xlink:href="classtvm_1_1tirx_1_1And.html" target="_top" xlink:title="Managed reference to AndNode.">
+<polygon fill="white" stroke="black" points="708,-182.5 708,-283.5 867,-283.5 867,-182.5 708,-182.5"/>
+<text text-anchor="middle" x="787.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::And</text>
+<polyline fill="none" stroke="black" points="708,-264.5 867,-264.5 "/>
+<text text-anchor="middle" x="787.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="708,-245.5 867,-245.5 "/>
+<text text-anchor="start" x="716" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ And()</text>
+<text text-anchor="start" x="716" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="716" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="716" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="716" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</a>
+</g>
+</g>
+<!-- Node1&#45;&gt;Node10 -->
+<g id="edge9" class="edge">
+<title>Node1&#45;&gt;Node10</title>
+<path fill="none" stroke="midnightblue" d="M2821.69,-396.79C2452,-393.4 1058.7,-376.07 875.5,-306 861.86,-300.78 848.75,-292.56 837,-283.52"/>
+<polygon fill="none" stroke="midnightblue" points="2821.77,-400.29 2831.8,-396.88 2821.84,-393.29 2821.77,-400.29"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node">
 <title>Node11</title>
-<g id="a_node11"><a xlink:href="classtvm_1_1tirx_1_1Add.html" target="_top" xlink:title="Managed reference to AddNode.">
-<polygon fill="white" stroke="black" points="531,-237.5 531,-338.5 690,-338.5 690,-237.5 531,-237.5"/>
-<text text-anchor="middle" x="610.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Add</text>
-<polyline fill="none" stroke="black" points="531,-319.5 690,-319.5 "/>
-<text text-anchor="middle" x="610.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="531,-300.5 690,-300.5 "/>
-<text text-anchor="start" x="539" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="539" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="539" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="539" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="539" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node11"><a xlink:href="classtvm_1_1tirx_1_1Broadcast.html" target="_top" xlink:title="Managed reference to BroadcastNode.">
+<polygon fill="white" stroke="black" points="885,-182.5 885,-283.5 1044,-283.5 1044,-182.5 885,-182.5"/>
+<text text-anchor="middle" x="964.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Broadcast</text>
+<polyline fill="none" stroke="black" points="885,-264.5 1044,-264.5 "/>
+<text text-anchor="middle" x="964.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="885,-245.5 1044,-245.5 "/>
+<text text-anchor="start" x="893" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Broadcast()</text>
+<text text-anchor="start" x="893" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="893" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="893" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="893" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node11 -->
 <g id="edge10" class="edge">
 <title>Node1&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2821.74,-452.14C2432.25,-450.11 899.05,-437.3 698.5,-361 684.85,-355.81 671.73,-347.6 659.99,-338.55"/>
-<polygon fill="none" stroke="midnightblue" points="2821.81,-455.64 2831.83,-452.19 2821.85,-448.64 2821.81,-455.64"/>
+<path fill="none" stroke="midnightblue" d="M2821.77,-396.37C2472.97,-391.55 1218.42,-369.87 1052.5,-306 1039.05,-300.82 1026.12,-292.74 1014.5,-283.84"/>
+<polygon fill="none" stroke="midnightblue" points="2821.78,-399.87 2831.82,-396.51 2821.87,-392.87 2821.78,-399.87"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node">
 <title>Node12</title>
-<g id="a_node12"><a xlink:href="classtvm_1_1tirx_1_1And.html" target="_top" xlink:title="Managed reference to AndNode.">
-<polygon fill="white" stroke="black" points="708,-237.5 708,-338.5 867,-338.5 867,-237.5 708,-237.5"/>
-<text text-anchor="middle" x="787.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::And</text>
-<polyline fill="none" stroke="black" points="708,-319.5 867,-319.5 "/>
-<text text-anchor="middle" x="787.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="708,-300.5 867,-300.5 "/>
-<text text-anchor="start" x="716" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ And()</text>
-<text text-anchor="start" x="716" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="716" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="716" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="716" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node12"><a xlink:href="classtvm_1_1tirx_1_1BufferLoad.html" target="_top" xlink:title="Managed reference to BufferLoadNode.">
+<polygon fill="white" stroke="black" points="1062,-182.5 1062,-283.5 1221,-283.5 1221,-182.5 1062,-182.5"/>
+<text text-anchor="middle" x="1141.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferLoad</text>
+<polyline fill="none" stroke="black" points="1062,-264.5 1221,-264.5 "/>
+<text text-anchor="middle" x="1141.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1062,-245.5 1221,-245.5 "/>
+<text text-anchor="start" x="1070" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BufferLoad()</text>
+<text text-anchor="start" x="1070" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1070" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1070" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1070" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node12 -->
 <g id="edge11" class="edge">
 <title>Node1&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2821.69,-451.79C2452,-448.4 1058.7,-431.07 875.5,-361 861.86,-355.78 848.75,-347.56 837,-338.52"/>
-<polygon fill="none" stroke="midnightblue" points="2821.77,-455.29 2831.8,-451.88 2821.84,-448.29 2821.77,-455.29"/>
+<path fill="none" stroke="midnightblue" d="M2821.46,-395.87C2494.04,-389.48 1378.14,-363.66 1229.5,-306 1216.07,-300.79 1203.14,-292.69 1191.52,-283.79"/>
+<polygon fill="none" stroke="midnightblue" points="2821.77,-399.37 2831.84,-396.07 2821.91,-392.37 2821.77,-399.37"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node">
 <title>Node13</title>
-<g id="a_node13"><a xlink:href="classtvm_1_1tirx_1_1Broadcast.html" target="_top" xlink:title="Managed reference to BroadcastNode.">
-<polygon fill="white" stroke="black" points="885,-237.5 885,-338.5 1044,-338.5 1044,-237.5 885,-237.5"/>
-<text text-anchor="middle" x="964.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Broadcast</text>
-<polyline fill="none" stroke="black" points="885,-319.5 1044,-319.5 "/>
-<text text-anchor="middle" x="964.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="885,-300.5 1044,-300.5 "/>
-<text text-anchor="start" x="893" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Broadcast()</text>
-<text text-anchor="start" x="893" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="893" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="893" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="893" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node13"><a xlink:href="classtvm_1_1tirx_1_1Call.html" target="_top" xlink:title="Managed reference to CallNode.">
+<polygon fill="white" stroke="black" points="1239,-177 1239,-289 1398,-289 1398,-177 1239,-177"/>
+<text text-anchor="middle" x="1318.5" y="-277" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Call</text>
+<polyline fill="none" stroke="black" points="1239,-270 1398,-270 "/>
+<text text-anchor="middle" x="1318.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1239,-251 1398,-251 "/>
+<text text-anchor="start" x="1247" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
+<text text-anchor="start" x="1247" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
+<text text-anchor="start" x="1247" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1247" y="-206" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1247" y="-195" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1247" y="-184" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node13 -->
 <g id="edge12" class="edge">
 <title>Node1&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2821.77,-451.37C2472.97,-446.55 1218.42,-424.87 1052.5,-361 1039.05,-355.82 1026.12,-347.74 1014.5,-338.84"/>
-<polygon fill="none" stroke="midnightblue" points="2821.78,-454.87 2831.82,-451.51 2821.87,-447.87 2821.78,-454.87"/>
+<path fill="none" stroke="midnightblue" d="M2821.81,-395.26C2517.8,-387.21 1538.04,-357.51 1406.5,-306 1395.84,-301.83 1385.49,-295.85 1375.86,-289.1"/>
+<polygon fill="none" stroke="midnightblue" points="2821.81,-398.76 2831.9,-395.52 2822,-391.76 2821.81,-398.76"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node">
 <title>Node14</title>
-<g id="a_node14"><a xlink:href="classtvm_1_1tirx_1_1BufferLoad.html" target="_top" xlink:title="Managed reference to BufferLoadNode.">
-<polygon fill="white" stroke="black" points="1062,-237.5 1062,-338.5 1221,-338.5 1221,-237.5 1062,-237.5"/>
-<text text-anchor="middle" x="1141.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferLoad</text>
-<polyline fill="none" stroke="black" points="1062,-319.5 1221,-319.5 "/>
-<text text-anchor="middle" x="1141.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1062,-300.5 1221,-300.5 "/>
-<text text-anchor="start" x="1070" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BufferLoad()</text>
-<text text-anchor="start" x="1070" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1070" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1070" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1070" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node14"><a xlink:href="classtvm_1_1tirx_1_1Cast.html" target="_top" xlink:title="Managed reference to CastNode.">
+<polygon fill="white" stroke="black" points="1416,-182.5 1416,-283.5 1575,-283.5 1575,-182.5 1416,-182.5"/>
+<text text-anchor="middle" x="1495.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Cast</text>
+<polyline fill="none" stroke="black" points="1416,-264.5 1575,-264.5 "/>
+<text text-anchor="middle" x="1495.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1416,-245.5 1575,-245.5 "/>
+<text text-anchor="start" x="1424" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Cast()</text>
+<text text-anchor="start" x="1424" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1424" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1424" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1424" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node14 -->
 <g id="edge13" class="edge">
 <title>Node1&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2821.46,-450.87C2494.04,-444.48 1378.14,-418.66 1229.5,-361 1216.07,-355.79 1203.14,-347.69 1191.52,-338.79"/>
-<polygon fill="none" stroke="midnightblue" points="2821.77,-454.37 2831.84,-451.07 2821.91,-447.37 2821.77,-454.37"/>
+<path fill="none" stroke="midnightblue" d="M2821.83,-394.48C2542.2,-384.61 1697.97,-351.36 1583.5,-306 1570.1,-300.69 1557.19,-292.56 1545.58,-283.64"/>
+<polygon fill="none" stroke="midnightblue" points="2821.82,-397.98 2831.93,-394.83 2822.06,-390.98 2821.82,-397.98"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node">
 <title>Node15</title>
-<g id="a_node15"><a xlink:href="classtvm_1_1tirx_1_1Call.html" target="_top" xlink:title="Managed reference to CallNode.">
-<polygon fill="white" stroke="black" points="1239,-232 1239,-344 1398,-344 1398,-232 1239,-232"/>
-<text text-anchor="middle" x="1318.5" y="-332" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Call</text>
-<polyline fill="none" stroke="black" points="1239,-325 1398,-325 "/>
-<text text-anchor="middle" x="1318.5" y="-313" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1239,-306 1398,-306 "/>
-<text text-anchor="start" x="1247" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
-<text text-anchor="start" x="1247" y="-283" font-family="Helvetica,sans-Serif" font-size="10.00">+ Call()</text>
-<text text-anchor="start" x="1247" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1247" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1247" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1247" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node15"><a xlink:href="classtvm_1_1tirx_1_1Div.html" target="_top" xlink:title="Managed reference to DivNode.">
+<polygon fill="white" stroke="black" points="1593,-182.5 1593,-283.5 1752,-283.5 1752,-182.5 1593,-182.5"/>
+<text text-anchor="middle" x="1672.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Div</text>
+<polyline fill="none" stroke="black" points="1593,-264.5 1752,-264.5 "/>
+<text text-anchor="middle" x="1672.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1593,-245.5 1752,-245.5 "/>
+<text text-anchor="start" x="1601" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Div()</text>
+<text text-anchor="start" x="1601" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1601" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1601" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1601" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node15 -->
 <g id="edge14" class="edge">
 <title>Node1&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2821.81,-450.26C2517.8,-442.21 1538.04,-412.51 1406.5,-361 1395.84,-356.83 1385.49,-350.85 1375.86,-344.1"/>
-<polygon fill="none" stroke="midnightblue" points="2821.81,-453.76 2831.9,-450.52 2822,-446.76 2821.81,-453.76"/>
+<path fill="none" stroke="midnightblue" d="M2821.61,-397.23C2585.51,-395.45 1952.79,-383.37 1760.5,-306 1747.13,-300.62 1734.23,-292.46 1722.62,-283.53"/>
+<polygon fill="none" stroke="midnightblue" points="2821.85,-400.73 2831.87,-397.31 2821.9,-393.74 2821.85,-400.73"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node">
 <title>Node16</title>
-<g id="a_node16"><a xlink:href="classtvm_1_1tirx_1_1Cast.html" target="_top" xlink:title="Managed reference to CastNode.">
-<polygon fill="white" stroke="black" points="1416,-237.5 1416,-338.5 1575,-338.5 1575,-237.5 1416,-237.5"/>
-<text text-anchor="middle" x="1495.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Cast</text>
-<polyline fill="none" stroke="black" points="1416,-319.5 1575,-319.5 "/>
-<text text-anchor="middle" x="1495.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1416,-300.5 1575,-300.5 "/>
-<text text-anchor="start" x="1424" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Cast()</text>
-<text text-anchor="start" x="1424" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1424" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1424" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1424" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node16"><a xlink:href="classtvm_1_1tirx_1_1EQ.html" target="_top" xlink:title="Managed reference to EQNode.">
+<polygon fill="white" stroke="black" points="1770,-182.5 1770,-283.5 1929,-283.5 1929,-182.5 1770,-182.5"/>
+<text text-anchor="middle" x="1849.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::EQ</text>
+<polyline fill="none" stroke="black" points="1770,-264.5 1929,-264.5 "/>
+<text text-anchor="middle" x="1849.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1770,-245.5 1929,-245.5 "/>
+<text text-anchor="start" x="1778" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EQ()</text>
+<text text-anchor="start" x="1778" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1778" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1778" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1778" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node16 -->
 <g id="edge15" class="edge">
 <title>Node1&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2821.83,-449.48C2542.2,-439.61 1697.97,-406.36 1583.5,-361 1570.1,-355.69 1557.19,-347.56 1545.58,-338.64"/>
-<polygon fill="none" stroke="midnightblue" points="2821.82,-452.98 2831.93,-449.83 2822.06,-445.98 2821.82,-452.98"/>
+<path fill="none" stroke="midnightblue" d="M2821.92,-395.73C2612.46,-390.52 2096.42,-371.27 1937.5,-306 1924.35,-300.6 1911.64,-292.54 1900.16,-283.75"/>
+<polygon fill="none" stroke="midnightblue" points="2821.88,-399.23 2831.96,-395.97 2822.05,-392.23 2821.88,-399.23"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node">
 <title>Node17</title>
-<g id="a_node17"><a xlink:href="classtvm_1_1tirx_1_1Div.html" target="_top" xlink:title="Managed reference to DivNode.">
-<polygon fill="white" stroke="black" points="1593,-237.5 1593,-338.5 1752,-338.5 1752,-237.5 1593,-237.5"/>
-<text text-anchor="middle" x="1672.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Div</text>
-<polyline fill="none" stroke="black" points="1593,-319.5 1752,-319.5 "/>
-<text text-anchor="middle" x="1672.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1593,-300.5 1752,-300.5 "/>
-<text text-anchor="start" x="1601" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Div()</text>
-<text text-anchor="start" x="1601" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1601" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1601" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1601" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node17"><a xlink:href="classtvm_1_1tirx_1_1FloorDiv.html" target="_top" xlink:title="Managed reference to FloorDivNode.">
+<polygon fill="white" stroke="black" points="1947,-182.5 1947,-283.5 2106,-283.5 2106,-182.5 1947,-182.5"/>
+<text text-anchor="middle" x="2026.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorDiv</text>
+<polyline fill="none" stroke="black" points="1947,-264.5 2106,-264.5 "/>
+<text text-anchor="middle" x="2026.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1947,-245.5 2106,-245.5 "/>
+<text text-anchor="start" x="1955" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorDiv()</text>
+<text text-anchor="start" x="1955" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="1955" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="1955" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="1955" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node17 -->
 <g id="edge16" class="edge">
 <title>Node1&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2821.61,-452.23C2585.51,-450.45 1952.79,-438.37 1760.5,-361 1747.13,-355.62 1734.23,-347.46 1722.62,-338.53"/>
-<polygon fill="none" stroke="midnightblue" points="2821.85,-455.73 2831.87,-452.31 2821.9,-448.74 2821.85,-455.73"/>
+<path fill="none" stroke="midnightblue" d="M2821.86,-393.56C2641.3,-384.59 2240.32,-359.2 2114.5,-306 2101.41,-300.47 2088.72,-292.35 2077.24,-283.54"/>
+<polygon fill="none" stroke="midnightblue" points="2821.7,-397.06 2831.86,-394.05 2822.04,-390.06 2821.7,-397.06"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node">
 <title>Node18</title>
-<g id="a_node18"><a xlink:href="classtvm_1_1tirx_1_1EQ.html" target="_top" xlink:title="Managed reference to EQNode.">
-<polygon fill="white" stroke="black" points="1770,-237.5 1770,-338.5 1929,-338.5 1929,-237.5 1770,-237.5"/>
-<text text-anchor="middle" x="1849.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::EQ</text>
-<polyline fill="none" stroke="black" points="1770,-319.5 1929,-319.5 "/>
-<text text-anchor="middle" x="1849.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1770,-300.5 1929,-300.5 "/>
-<text text-anchor="start" x="1778" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EQ()</text>
-<text text-anchor="start" x="1778" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1778" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1778" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1778" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node18"><a xlink:href="classtvm_1_1tirx_1_1FloorMod.html" target="_top" xlink:title="Managed reference to FloorModNode.">
+<polygon fill="white" stroke="black" points="2124,-182.5 2124,-283.5 2283,-283.5 2283,-182.5 2124,-182.5"/>
+<text text-anchor="middle" x="2203.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorMod</text>
+<polyline fill="none" stroke="black" points="2124,-264.5 2283,-264.5 "/>
+<text text-anchor="middle" x="2203.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2124,-245.5 2283,-245.5 "/>
+<text text-anchor="start" x="2132" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorMod()</text>
+<text text-anchor="start" x="2132" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2132" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2132" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2132" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node18 -->
 <g id="edge17" class="edge">
 <title>Node1&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2821.92,-450.73C2612.46,-445.52 2096.42,-426.27 1937.5,-361 1924.35,-355.6 1911.64,-347.54 1900.16,-338.75"/>
-<polygon fill="none" stroke="midnightblue" points="2821.88,-454.23 2831.96,-450.97 2822.05,-447.23 2821.88,-454.23"/>
+<path fill="none" stroke="midnightblue" d="M2821.99,-390.2C2673.85,-377.13 2384.77,-347.22 2291.5,-306 2278.68,-300.33 2266.2,-292.27 2254.86,-283.58"/>
+<polygon fill="none" stroke="midnightblue" points="2821.71,-393.69 2831.97,-391.07 2822.32,-386.71 2821.71,-393.69"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node">
 <title>Node19</title>
-<g id="a_node19"><a xlink:href="classtvm_1_1tirx_1_1FloorDiv.html" target="_top" xlink:title="Managed reference to FloorDivNode.">
-<polygon fill="white" stroke="black" points="1947,-237.5 1947,-338.5 2106,-338.5 2106,-237.5 1947,-237.5"/>
-<text text-anchor="middle" x="2026.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorDiv</text>
-<polyline fill="none" stroke="black" points="1947,-319.5 2106,-319.5 "/>
-<text text-anchor="middle" x="2026.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1947,-300.5 2106,-300.5 "/>
-<text text-anchor="start" x="1955" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorDiv()</text>
-<text text-anchor="start" x="1955" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="1955" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="1955" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="1955" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node19"><a xlink:href="classtvm_1_1tirx_1_1GE.html" target="_top" xlink:title="Managed reference to GENode.">
+<polygon fill="white" stroke="black" points="2301,-182.5 2301,-283.5 2460,-283.5 2460,-182.5 2301,-182.5"/>
+<text text-anchor="middle" x="2380.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GE</text>
+<polyline fill="none" stroke="black" points="2301,-264.5 2460,-264.5 "/>
+<text text-anchor="middle" x="2380.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2301,-245.5 2460,-245.5 "/>
+<text text-anchor="start" x="2309" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GE()</text>
+<text text-anchor="start" x="2309" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2309" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2309" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2309" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node19 -->
 <g id="edge18" class="edge">
 <title>Node1&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2821.86,-448.56C2641.3,-439.59 2240.32,-414.2 2114.5,-361 2101.41,-355.47 2088.72,-347.35 2077.24,-338.54"/>
-<polygon fill="none" stroke="midnightblue" points="2821.7,-452.06 2831.86,-449.05 2822.04,-445.06 2821.7,-452.06"/>
+<path fill="none" stroke="midnightblue" d="M2821.69,-391.6C2729.24,-382.68 2582.96,-360.54 2468.5,-306 2456.2,-300.14 2444.14,-292.21 2433.08,-283.75"/>
+<polygon fill="none" stroke="midnightblue" points="2821.57,-395.1 2831.85,-392.54 2822.22,-388.13 2821.57,-395.1"/>
 </g>
 <!-- Node20 -->
 <g id="node20" class="node">
 <title>Node20</title>
-<g id="a_node20"><a xlink:href="classtvm_1_1tirx_1_1FloorMod.html" target="_top" xlink:title="Managed reference to FloorModNode.">
-<polygon fill="white" stroke="black" points="2124,-237.5 2124,-338.5 2283,-338.5 2283,-237.5 2124,-237.5"/>
-<text text-anchor="middle" x="2203.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::FloorMod</text>
-<polyline fill="none" stroke="black" points="2124,-319.5 2283,-319.5 "/>
-<text text-anchor="middle" x="2203.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2124,-300.5 2283,-300.5 "/>
-<text text-anchor="start" x="2132" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ FloorMod()</text>
-<text text-anchor="start" x="2132" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2132" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2132" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2132" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node20"><a xlink:href="classtvm_1_1tirx_1_1GT.html" target="_top" xlink:title="Managed reference to GTNode.">
+<polygon fill="white" stroke="black" points="2478,-182.5 2478,-283.5 2637,-283.5 2637,-182.5 2478,-182.5"/>
+<text text-anchor="middle" x="2557.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GT</text>
+<polyline fill="none" stroke="black" points="2478,-264.5 2637,-264.5 "/>
+<text text-anchor="middle" x="2557.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2478,-245.5 2637,-245.5 "/>
+<text text-anchor="start" x="2486" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GT()</text>
+<text text-anchor="start" x="2486" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2486" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2486" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2486" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node20 -->
 <g id="edge19" class="edge">
 <title>Node1&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M2821.99,-445.2C2673.85,-432.13 2384.77,-402.22 2291.5,-361 2278.68,-355.33 2266.2,-347.27 2254.86,-338.58"/>
-<polygon fill="none" stroke="midnightblue" points="2821.71,-448.69 2831.97,-446.07 2822.32,-441.71 2821.71,-448.69"/>
+<path fill="none" stroke="midnightblue" d="M2822.1,-375.34C2768.84,-360.08 2701.02,-336.95 2645.5,-306 2634.12,-299.66 2622.76,-291.8 2612.16,-283.63"/>
+<polygon fill="none" stroke="midnightblue" points="2821.3,-378.75 2831.87,-378.1 2823.2,-372.01 2821.3,-378.75"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node">
 <title>Node21</title>
-<g id="a_node21"><a xlink:href="classtvm_1_1tirx_1_1GE.html" target="_top" xlink:title="Managed reference to GENode.">
-<polygon fill="white" stroke="black" points="2301,-237.5 2301,-338.5 2460,-338.5 2460,-237.5 2301,-237.5"/>
-<text text-anchor="middle" x="2380.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GE</text>
-<polyline fill="none" stroke="black" points="2301,-319.5 2460,-319.5 "/>
-<text text-anchor="middle" x="2380.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2301,-300.5 2460,-300.5 "/>
-<text text-anchor="start" x="2309" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GE()</text>
-<text text-anchor="start" x="2309" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2309" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2309" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2309" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node21"><a xlink:href="classtvm_1_1tirx_1_1LE.html" target="_top" xlink:title="Managed reference to LENode.">
+<polygon fill="white" stroke="black" points="2655,-182.5 2655,-283.5 2814,-283.5 2814,-182.5 2655,-182.5"/>
+<text text-anchor="middle" x="2734.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LE</text>
+<polyline fill="none" stroke="black" points="2655,-264.5 2814,-264.5 "/>
+<text text-anchor="middle" x="2734.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2655,-245.5 2814,-245.5 "/>
+<text text-anchor="start" x="2663" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LE()</text>
+<text text-anchor="start" x="2663" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2663" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2663" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2663" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node21 -->
 <g id="edge20" class="edge">
 <title>Node1&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M2821.69,-446.6C2729.24,-437.68 2582.96,-415.54 2468.5,-361 2456.2,-355.14 2444.14,-347.21 2433.08,-338.75"/>
-<polygon fill="none" stroke="midnightblue" points="2821.57,-450.1 2831.85,-447.54 2822.22,-443.13 2821.57,-450.1"/>
+<path fill="none" stroke="midnightblue" d="M2843.77,-334.93C2825.34,-317.92 2805.65,-299.72 2788.12,-283.53"/>
+<polygon fill="none" stroke="midnightblue" points="2841.86,-337.93 2851.58,-342.15 2846.61,-332.79 2841.86,-337.93"/>
 </g>
 <!-- Node22 -->
 <g id="node22" class="node">
 <title>Node22</title>
-<g id="a_node22"><a xlink:href="classtvm_1_1tirx_1_1GT.html" target="_top" xlink:title="Managed reference to GTNode.">
-<polygon fill="white" stroke="black" points="2478,-237.5 2478,-338.5 2637,-338.5 2637,-237.5 2478,-237.5"/>
-<text text-anchor="middle" x="2557.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::GT</text>
-<polyline fill="none" stroke="black" points="2478,-319.5 2637,-319.5 "/>
-<text text-anchor="middle" x="2557.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2478,-300.5 2637,-300.5 "/>
-<text text-anchor="start" x="2486" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GT()</text>
-<text text-anchor="start" x="2486" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2486" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2486" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2486" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node22"><a xlink:href="classtvm_1_1tirx_1_1LT.html" target="_top" xlink:title="Managed reference to LTNode.">
+<polygon fill="white" stroke="black" points="2832,-182.5 2832,-283.5 2991,-283.5 2991,-182.5 2832,-182.5"/>
+<text text-anchor="middle" x="2911.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LT</text>
+<polyline fill="none" stroke="black" points="2832,-264.5 2991,-264.5 "/>
+<text text-anchor="middle" x="2911.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2832,-245.5 2991,-245.5 "/>
+<text text-anchor="start" x="2840" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LT()</text>
+<text text-anchor="start" x="2840" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2840" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="2840" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="2840" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node22 -->
 <g id="edge21" class="edge">
 <title>Node1&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2822.1,-430.34C2768.84,-415.08 2701.02,-391.95 2645.5,-361 2634.12,-354.66 2622.76,-346.8 2612.16,-338.63"/>
-<polygon fill="none" stroke="midnightblue" points="2821.3,-433.75 2831.87,-433.1 2823.2,-427.01 2821.3,-433.75"/>
+<path fill="none" stroke="midnightblue" d="M2911.5,-331.73C2911.5,-315.65 2911.5,-298.71 2911.5,-283.53"/>
+<polygon fill="none" stroke="midnightblue" points="2908,-332.15 2911.5,-342.15 2915,-332.15 2908,-332.15"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node">
 <title>Node23</title>
-<g id="a_node23"><a xlink:href="classtvm_1_1tirx_1_1LE.html" target="_top" xlink:title="Managed reference to LENode.">
-<polygon fill="white" stroke="black" points="2655,-237.5 2655,-338.5 2814,-338.5 2814,-237.5 2655,-237.5"/>
-<text text-anchor="middle" x="2734.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LE</text>
-<polyline fill="none" stroke="black" points="2655,-319.5 2814,-319.5 "/>
-<text text-anchor="middle" x="2734.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2655,-300.5 2814,-300.5 "/>
-<text text-anchor="start" x="2663" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LE()</text>
-<text text-anchor="start" x="2663" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2663" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2663" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2663" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node23"><a xlink:href="classtvm_1_1tirx_1_1Let.html" target="_top" xlink:title="Managed reference to LetNode.">
+<polygon fill="white" stroke="black" points="3009,-182.5 3009,-283.5 3168,-283.5 3168,-182.5 3009,-182.5"/>
+<text text-anchor="middle" x="3088.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Let</text>
+<polyline fill="none" stroke="black" points="3009,-264.5 3168,-264.5 "/>
+<text text-anchor="middle" x="3088.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3009,-245.5 3168,-245.5 "/>
+<text text-anchor="start" x="3017" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Let()</text>
+<text text-anchor="start" x="3017" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3017" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3017" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3017" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node23 -->
 <g id="edge22" class="edge">
 <title>Node1&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2843.77,-389.93C2825.34,-372.92 2805.65,-354.72 2788.12,-338.53"/>
-<polygon fill="none" stroke="midnightblue" points="2841.86,-392.93 2851.58,-397.15 2846.61,-387.79 2841.86,-392.93"/>
+<path fill="none" stroke="midnightblue" d="M2979.23,-334.93C2997.66,-317.92 3017.35,-299.72 3034.88,-283.53"/>
+<polygon fill="none" stroke="midnightblue" points="2976.39,-332.79 2971.42,-342.15 2981.14,-337.93 2976.39,-332.79"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node">
 <title>Node24</title>
-<g id="a_node24"><a xlink:href="classtvm_1_1tirx_1_1LT.html" target="_top" xlink:title="Managed reference to LTNode.">
-<polygon fill="white" stroke="black" points="2832,-237.5 2832,-338.5 2991,-338.5 2991,-237.5 2832,-237.5"/>
-<text text-anchor="middle" x="2911.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LT</text>
-<polyline fill="none" stroke="black" points="2832,-319.5 2991,-319.5 "/>
-<text text-anchor="middle" x="2911.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2832,-300.5 2991,-300.5 "/>
-<text text-anchor="start" x="2840" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LT()</text>
-<text text-anchor="start" x="2840" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2840" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="2840" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="2840" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node24"><a xlink:href="classtvm_1_1tirx_1_1Max.html" target="_top" xlink:title="Managed reference to MaxNode.">
+<polygon fill="white" stroke="black" points="3186,-182.5 3186,-283.5 3345,-283.5 3345,-182.5 3186,-182.5"/>
+<text text-anchor="middle" x="3265.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Max</text>
+<polyline fill="none" stroke="black" points="3186,-264.5 3345,-264.5 "/>
+<text text-anchor="middle" x="3265.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3186,-245.5 3345,-245.5 "/>
+<text text-anchor="start" x="3194" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Max()</text>
+<text text-anchor="start" x="3194" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3194" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3194" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3194" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node24 -->
 <g id="edge23" class="edge">
 <title>Node1&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2911.5,-386.73C2911.5,-370.65 2911.5,-353.71 2911.5,-338.53"/>
-<polygon fill="none" stroke="midnightblue" points="2908,-387.15 2911.5,-397.15 2915,-387.15 2908,-387.15"/>
+<path fill="none" stroke="midnightblue" d="M3000.79,-375.09C3053.78,-359.77 3121.2,-336.67 3176.5,-306 3187.97,-299.64 3199.44,-291.77 3210.15,-283.6"/>
+<polygon fill="none" stroke="midnightblue" points="2999.72,-371.76 2991.06,-377.86 3001.64,-378.49 2999.72,-371.76"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node">
 <title>Node25</title>
-<g id="a_node25"><a xlink:href="classtvm_1_1tirx_1_1Let.html" target="_top" xlink:title="Managed reference to LetNode.">
-<polygon fill="white" stroke="black" points="3009,-237.5 3009,-338.5 3168,-338.5 3168,-237.5 3009,-237.5"/>
-<text text-anchor="middle" x="3088.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Let</text>
-<polyline fill="none" stroke="black" points="3009,-319.5 3168,-319.5 "/>
-<text text-anchor="middle" x="3088.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3009,-300.5 3168,-300.5 "/>
-<text text-anchor="start" x="3017" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Let()</text>
-<text text-anchor="start" x="3017" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3017" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3017" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3017" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node25"><a xlink:href="classtvm_1_1tirx_1_1Min.html" target="_top" xlink:title="Managed reference to MinNode.">
+<polygon fill="white" stroke="black" points="3363,-182.5 3363,-283.5 3522,-283.5 3522,-182.5 3363,-182.5"/>
+<text text-anchor="middle" x="3442.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Min</text>
+<polyline fill="none" stroke="black" points="3363,-264.5 3522,-264.5 "/>
+<text text-anchor="middle" x="3442.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3363,-245.5 3522,-245.5 "/>
+<text text-anchor="start" x="3371" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Min()</text>
+<text text-anchor="start" x="3371" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3371" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3371" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3371" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node25 -->
 <g id="edge24" class="edge">
 <title>Node1&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2979.23,-389.93C2997.66,-372.92 3017.35,-354.72 3034.88,-338.53"/>
-<polygon fill="none" stroke="midnightblue" points="2976.39,-387.79 2971.42,-397.15 2981.14,-392.93 2976.39,-387.79"/>
+<path fill="none" stroke="midnightblue" d="M3001.46,-391.39C3093.67,-382.31 3239.32,-360.05 3353.5,-306 3365.89,-300.13 3378.07,-292.2 3389.25,-283.73"/>
+<polygon fill="none" stroke="midnightblue" points="3000.95,-387.92 2991.32,-392.35 3001.61,-394.89 3000.95,-387.92"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
 <title>Node26</title>
-<g id="a_node26"><a xlink:href="classtvm_1_1tirx_1_1Max.html" target="_top" xlink:title="Managed reference to MaxNode.">
-<polygon fill="white" stroke="black" points="3186,-237.5 3186,-338.5 3345,-338.5 3345,-237.5 3186,-237.5"/>
-<text text-anchor="middle" x="3265.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Max</text>
-<polyline fill="none" stroke="black" points="3186,-319.5 3345,-319.5 "/>
-<text text-anchor="middle" x="3265.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3186,-300.5 3345,-300.5 "/>
-<text text-anchor="start" x="3194" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Max()</text>
-<text text-anchor="start" x="3194" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3194" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3194" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3194" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node26"><a xlink:href="classtvm_1_1tirx_1_1Mod.html" target="_top" xlink:title="Managed reference to ModNode.">
+<polygon fill="white" stroke="black" points="3540,-182.5 3540,-283.5 3699,-283.5 3699,-182.5 3540,-182.5"/>
+<text text-anchor="middle" x="3619.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mod</text>
+<polyline fill="none" stroke="black" points="3540,-264.5 3699,-264.5 "/>
+<text text-anchor="middle" x="3619.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3540,-245.5 3699,-245.5 "/>
+<text text-anchor="start" x="3548" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mod()</text>
+<text text-anchor="start" x="3548" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3548" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3548" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3548" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node26 -->
 <g id="edge25" class="edge">
 <title>Node1&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M3000.79,-430.09C3053.78,-414.77 3121.2,-391.67 3176.5,-361 3187.97,-354.64 3199.44,-346.77 3210.15,-338.6"/>
-<polygon fill="none" stroke="midnightblue" points="2999.72,-426.76 2991.06,-432.86 3001.64,-433.49 2999.72,-426.76"/>
+<path fill="none" stroke="midnightblue" d="M3001.13,-390.1C3149.08,-376.93 3437.33,-346.88 3530.5,-306 3543.42,-300.33 3556.02,-292.27 3567.48,-283.57"/>
+<polygon fill="none" stroke="midnightblue" points="3000.81,-386.62 2991.16,-390.99 3001.43,-393.59 3000.81,-386.62"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node">
 <title>Node27</title>
-<g id="a_node27"><a xlink:href="classtvm_1_1tirx_1_1Min.html" target="_top" xlink:title="Managed reference to MinNode.">
-<polygon fill="white" stroke="black" points="3363,-237.5 3363,-338.5 3522,-338.5 3522,-237.5 3363,-237.5"/>
-<text text-anchor="middle" x="3442.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Min</text>
-<polyline fill="none" stroke="black" points="3363,-319.5 3522,-319.5 "/>
-<text text-anchor="middle" x="3442.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3363,-300.5 3522,-300.5 "/>
-<text text-anchor="start" x="3371" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Min()</text>
-<text text-anchor="start" x="3371" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3371" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3371" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3371" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node27"><a xlink:href="classtvm_1_1tirx_1_1Mul.html" target="_top" xlink:title="Managed reference to MulNode.">
+<polygon fill="white" stroke="black" points="3717,-182.5 3717,-283.5 3876,-283.5 3876,-182.5 3717,-182.5"/>
+<text text-anchor="middle" x="3796.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mul</text>
+<polyline fill="none" stroke="black" points="3717,-264.5 3876,-264.5 "/>
+<text text-anchor="middle" x="3796.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3717,-245.5 3876,-245.5 "/>
+<text text-anchor="start" x="3725" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mul()</text>
+<text text-anchor="start" x="3725" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3725" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3725" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3725" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node27 -->
 <g id="edge26" class="edge">
 <title>Node1&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M3001.46,-446.39C3093.67,-437.31 3239.32,-415.05 3353.5,-361 3365.89,-355.13 3378.07,-347.2 3389.25,-338.73"/>
-<polygon fill="none" stroke="midnightblue" points="3000.95,-442.92 2991.32,-447.35 3001.61,-449.89 3000.95,-442.92"/>
+<path fill="none" stroke="midnightblue" d="M3001.28,-393.48C3181.7,-384.38 3581.75,-358.77 3707.5,-306 3720.69,-300.46 3733.51,-292.35 3745.11,-283.54"/>
+<polygon fill="none" stroke="midnightblue" points="3000.83,-390 2991.02,-393.99 3001.18,-396.99 3000.83,-390"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node">
 <title>Node28</title>
-<g id="a_node28"><a xlink:href="classtvm_1_1tirx_1_1Mod.html" target="_top" xlink:title="Managed reference to ModNode.">
-<polygon fill="white" stroke="black" points="3540,-237.5 3540,-338.5 3699,-338.5 3699,-237.5 3540,-237.5"/>
-<text text-anchor="middle" x="3619.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mod</text>
-<polyline fill="none" stroke="black" points="3540,-319.5 3699,-319.5 "/>
-<text text-anchor="middle" x="3619.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3540,-300.5 3699,-300.5 "/>
-<text text-anchor="start" x="3548" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mod()</text>
-<text text-anchor="start" x="3548" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3548" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3548" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3548" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node28"><a xlink:href="classtvm_1_1tirx_1_1NE.html" target="_top" xlink:title="Managed reference to NENode.">
+<polygon fill="white" stroke="black" points="3894,-182.5 3894,-283.5 4053,-283.5 4053,-182.5 3894,-182.5"/>
+<text text-anchor="middle" x="3973.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::NE</text>
+<polyline fill="none" stroke="black" points="3894,-264.5 4053,-264.5 "/>
+<text text-anchor="middle" x="3973.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3894,-245.5 4053,-245.5 "/>
+<text text-anchor="start" x="3902" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NE()</text>
+<text text-anchor="start" x="3902" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="3902" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="3902" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="3902" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node28 -->
 <g id="edge27" class="edge">
 <title>Node1&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M3001.13,-445.1C3149.08,-431.93 3437.33,-401.88 3530.5,-361 3543.42,-355.33 3556.02,-347.27 3567.48,-338.57"/>
-<polygon fill="none" stroke="midnightblue" points="3000.81,-441.62 2991.16,-445.99 3001.43,-448.59 3000.81,-441.62"/>
+<path fill="none" stroke="midnightblue" d="M3001.08,-395.73C3210.54,-390.52 3726.58,-371.27 3885.5,-306 3898.65,-300.6 3911.36,-292.54 3922.84,-283.75"/>
+<polygon fill="none" stroke="midnightblue" points="3000.95,-392.23 2991.04,-395.97 3001.12,-399.23 3000.95,-392.23"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node">
 <title>Node29</title>
-<g id="a_node29"><a xlink:href="classtvm_1_1tirx_1_1Mul.html" target="_top" xlink:title="Managed reference to MulNode.">
-<polygon fill="white" stroke="black" points="3717,-237.5 3717,-338.5 3876,-338.5 3876,-237.5 3717,-237.5"/>
-<text text-anchor="middle" x="3796.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Mul</text>
-<polyline fill="none" stroke="black" points="3717,-319.5 3876,-319.5 "/>
-<text text-anchor="middle" x="3796.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3717,-300.5 3876,-300.5 "/>
-<text text-anchor="start" x="3725" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Mul()</text>
-<text text-anchor="start" x="3725" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3725" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3725" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3725" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node29"><a xlink:href="classtvm_1_1tirx_1_1Not.html" target="_top" xlink:title="Managed reference to NotNode.">
+<polygon fill="white" stroke="black" points="4071,-182.5 4071,-283.5 4230,-283.5 4230,-182.5 4071,-182.5"/>
+<text text-anchor="middle" x="4150.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Not</text>
+<polyline fill="none" stroke="black" points="4071,-264.5 4230,-264.5 "/>
+<text text-anchor="middle" x="4150.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4071,-245.5 4230,-245.5 "/>
+<text text-anchor="start" x="4079" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Not()</text>
+<text text-anchor="start" x="4079" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4079" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4079" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4079" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node29 -->
 <g id="edge28" class="edge">
 <title>Node1&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M3001.28,-448.48C3181.7,-439.38 3581.75,-413.77 3707.5,-361 3720.69,-355.46 3733.51,-347.35 3745.11,-338.54"/>
-<polygon fill="none" stroke="midnightblue" points="3000.83,-445 2991.02,-448.99 3001.18,-451.99 3000.83,-445"/>
+<path fill="none" stroke="midnightblue" d="M3001.39,-397.23C3237.49,-395.45 3870.21,-383.37 4062.5,-306 4075.87,-300.62 4088.77,-292.46 4100.38,-283.53"/>
+<polygon fill="none" stroke="midnightblue" points="3001.1,-393.74 2991.13,-397.31 3001.15,-400.73 3001.1,-393.74"/>
 </g>
 <!-- Node30 -->
 <g id="node30" class="node">
 <title>Node30</title>
-<g id="a_node30"><a xlink:href="classtvm_1_1tirx_1_1NE.html" target="_top" xlink:title="Managed reference to NENode.">
-<polygon fill="white" stroke="black" points="3894,-237.5 3894,-338.5 4053,-338.5 4053,-237.5 3894,-237.5"/>
-<text text-anchor="middle" x="3973.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::NE</text>
-<polyline fill="none" stroke="black" points="3894,-319.5 4053,-319.5 "/>
-<text text-anchor="middle" x="3973.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3894,-300.5 4053,-300.5 "/>
-<text text-anchor="start" x="3902" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NE()</text>
-<text text-anchor="start" x="3902" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="3902" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="3902" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="3902" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node30"><a xlink:href="classtvm_1_1tirx_1_1Or.html" target="_top" xlink:title="Managed reference to OrNode.">
+<polygon fill="white" stroke="black" points="4248,-182.5 4248,-283.5 4407,-283.5 4407,-182.5 4248,-182.5"/>
+<text text-anchor="middle" x="4327.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Or</text>
+<polyline fill="none" stroke="black" points="4248,-264.5 4407,-264.5 "/>
+<text text-anchor="middle" x="4327.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4248,-245.5 4407,-245.5 "/>
+<text text-anchor="start" x="4256" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Or()</text>
+<text text-anchor="start" x="4256" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4256" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4256" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4256" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node30 -->
 <g id="edge29" class="edge">
 <title>Node1&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M3001.08,-450.73C3210.54,-445.52 3726.58,-426.27 3885.5,-361 3898.65,-355.6 3911.36,-347.54 3922.84,-338.75"/>
-<polygon fill="none" stroke="midnightblue" points="3000.95,-447.23 2991.04,-450.97 3001.12,-454.23 3000.95,-447.23"/>
+<path fill="none" stroke="midnightblue" d="M3001.17,-394.48C3280.8,-384.61 4125.03,-351.36 4239.5,-306 4252.9,-300.69 4265.81,-292.56 4277.42,-283.64"/>
+<polygon fill="none" stroke="midnightblue" points="3000.94,-390.98 2991.07,-394.83 3001.18,-397.98 3000.94,-390.98"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node">
 <title>Node31</title>
-<g id="a_node31"><a xlink:href="classtvm_1_1tirx_1_1Not.html" target="_top" xlink:title="Managed reference to NotNode.">
-<polygon fill="white" stroke="black" points="4071,-237.5 4071,-338.5 4230,-338.5 4230,-237.5 4071,-237.5"/>
-<text text-anchor="middle" x="4150.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Not</text>
-<polyline fill="none" stroke="black" points="4071,-319.5 4230,-319.5 "/>
-<text text-anchor="middle" x="4150.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4071,-300.5 4230,-300.5 "/>
-<text text-anchor="start" x="4079" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Not()</text>
-<text text-anchor="start" x="4079" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4079" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4079" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4079" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node31"><a xlink:href="classtvm_1_1tirx_1_1ProducerLoad.html" target="_top" xlink:title="Managed reference to ProducerLoadNode.">
+<polygon fill="white" stroke="black" points="4425,-182.5 4425,-283.5 4584,-283.5 4584,-182.5 4425,-182.5"/>
+<text text-anchor="middle" x="4504.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ProducerLoad</text>
+<polyline fill="none" stroke="black" points="4425,-264.5 4584,-264.5 "/>
+<text text-anchor="middle" x="4504.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4425,-245.5 4584,-245.5 "/>
+<text text-anchor="start" x="4433" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProducerLoad()</text>
+<text text-anchor="start" x="4433" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4433" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4433" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4433" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node31 -->
 <g id="edge30" class="edge">
 <title>Node1&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M3001.39,-452.23C3237.49,-450.45 3870.21,-438.37 4062.5,-361 4075.87,-355.62 4088.77,-347.46 4100.38,-338.53"/>
-<polygon fill="none" stroke="midnightblue" points="3001.1,-448.74 2991.13,-452.31 3001.15,-455.73 3001.1,-448.74"/>
+<path fill="none" stroke="midnightblue" d="M3001.19,-395.26C3305.2,-387.21 4284.96,-357.51 4416.5,-306 4429.92,-300.75 4442.84,-292.63 4454.46,-283.72"/>
+<polygon fill="none" stroke="midnightblue" points="3001,-391.76 2991.1,-395.52 3001.19,-398.76 3001,-391.76"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node">
 <title>Node32</title>
-<g id="a_node32"><a xlink:href="classtvm_1_1tirx_1_1Or.html" target="_top" xlink:title="Managed reference to OrNode.">
-<polygon fill="white" stroke="black" points="4248,-237.5 4248,-338.5 4407,-338.5 4407,-237.5 4248,-237.5"/>
-<text text-anchor="middle" x="4327.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Or</text>
-<polyline fill="none" stroke="black" points="4248,-319.5 4407,-319.5 "/>
-<text text-anchor="middle" x="4327.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4248,-300.5 4407,-300.5 "/>
-<text text-anchor="start" x="4256" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Or()</text>
-<text text-anchor="start" x="4256" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4256" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4256" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4256" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node32"><a xlink:href="classtvm_1_1tirx_1_1Ramp.html" target="_top" xlink:title="Managed reference to RampNode.">
+<polygon fill="white" stroke="black" points="4602,-182.5 4602,-283.5 4761,-283.5 4761,-182.5 4602,-182.5"/>
+<text text-anchor="middle" x="4681.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Ramp</text>
+<polyline fill="none" stroke="black" points="4602,-264.5 4761,-264.5 "/>
+<text text-anchor="middle" x="4681.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4602,-245.5 4761,-245.5 "/>
+<text text-anchor="start" x="4610" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Ramp()</text>
+<text text-anchor="start" x="4610" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4610" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4610" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4610" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node32 -->
 <g id="edge31" class="edge">
 <title>Node1&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M3001.17,-449.48C3280.8,-439.61 4125.03,-406.36 4239.5,-361 4252.9,-355.69 4265.81,-347.56 4277.42,-338.64"/>
-<polygon fill="none" stroke="midnightblue" points="3000.94,-445.98 2991.07,-449.83 3001.18,-452.98 3000.94,-445.98"/>
+<path fill="none" stroke="midnightblue" d="M3001.54,-395.87C3328.96,-389.48 4444.86,-363.66 4593.5,-306 4606.93,-300.79 4619.86,-292.69 4631.48,-283.79"/>
+<polygon fill="none" stroke="midnightblue" points="3001.09,-392.37 2991.16,-396.07 3001.23,-399.37 3001.09,-392.37"/>
 </g>
 <!-- Node33 -->
 <g id="node33" class="node">
 <title>Node33</title>
-<g id="a_node33"><a xlink:href="classtvm_1_1tirx_1_1ProducerLoad.html" target="_top" xlink:title="Managed reference to ProducerLoadNode.">
-<polygon fill="white" stroke="black" points="4425,-237.5 4425,-338.5 4584,-338.5 4584,-237.5 4425,-237.5"/>
-<text text-anchor="middle" x="4504.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ProducerLoad</text>
-<polyline fill="none" stroke="black" points="4425,-319.5 4584,-319.5 "/>
-<text text-anchor="middle" x="4504.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4425,-300.5 4584,-300.5 "/>
-<text text-anchor="start" x="4433" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ProducerLoad()</text>
-<text text-anchor="start" x="4433" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4433" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4433" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4433" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node33"><a xlink:href="classtvm_1_1tirx_1_1Reduce.html" target="_top" xlink:title="Managed reference to ReduceNode.">
+<polygon fill="white" stroke="black" points="4779,-182.5 4779,-283.5 4938,-283.5 4938,-182.5 4779,-182.5"/>
+<text text-anchor="middle" x="4858.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Reduce</text>
+<polyline fill="none" stroke="black" points="4779,-264.5 4938,-264.5 "/>
+<text text-anchor="middle" x="4858.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4779,-245.5 4938,-245.5 "/>
+<text text-anchor="start" x="4787" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reduce()</text>
+<text text-anchor="start" x="4787" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4787" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4787" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4787" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node33 -->
 <g id="edge32" class="edge">
 <title>Node1&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3001.19,-450.26C3305.2,-442.21 4284.96,-412.51 4416.5,-361 4429.92,-355.75 4442.84,-347.63 4454.46,-338.72"/>
-<polygon fill="none" stroke="midnightblue" points="3001,-446.76 2991.1,-450.52 3001.19,-453.76 3001,-446.76"/>
+<path fill="none" stroke="midnightblue" d="M3001.23,-396.37C3350.03,-391.55 4604.58,-369.87 4770.5,-306 4783.95,-300.82 4796.88,-292.74 4808.5,-283.84"/>
+<polygon fill="none" stroke="midnightblue" points="3001.13,-392.87 2991.18,-396.51 3001.22,-399.87 3001.13,-392.87"/>
 </g>
 <!-- Node34 -->
 <g id="node34" class="node">
 <title>Node34</title>
-<g id="a_node34"><a xlink:href="classtvm_1_1tirx_1_1Ramp.html" target="_top" xlink:title="Managed reference to RampNode.">
-<polygon fill="white" stroke="black" points="4602,-237.5 4602,-338.5 4761,-338.5 4761,-237.5 4602,-237.5"/>
-<text text-anchor="middle" x="4681.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Ramp</text>
-<polyline fill="none" stroke="black" points="4602,-319.5 4761,-319.5 "/>
-<text text-anchor="middle" x="4681.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4602,-300.5 4761,-300.5 "/>
-<text text-anchor="start" x="4610" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Ramp()</text>
-<text text-anchor="start" x="4610" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4610" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4610" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4610" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node34"><a xlink:href="classtvm_1_1tirx_1_1Select.html" target="_top" xlink:title="Managed reference to SelectNode.">
+<polygon fill="white" stroke="black" points="4956,-182.5 4956,-283.5 5115,-283.5 5115,-182.5 4956,-182.5"/>
+<text text-anchor="middle" x="5035.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Select</text>
+<polyline fill="none" stroke="black" points="4956,-264.5 5115,-264.5 "/>
+<text text-anchor="middle" x="5035.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4956,-245.5 5115,-245.5 "/>
+<text text-anchor="start" x="4964" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Select()</text>
+<text text-anchor="start" x="4964" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="4964" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="4964" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="4964" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node34 -->
 <g id="edge33" class="edge">
 <title>Node1&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M3001.54,-450.87C3328.96,-444.48 4444.86,-418.66 4593.5,-361 4606.93,-355.79 4619.86,-347.69 4631.48,-338.79"/>
-<polygon fill="none" stroke="midnightblue" points="3001.09,-447.37 2991.16,-451.07 3001.23,-454.37 3001.09,-447.37"/>
+<path fill="none" stroke="midnightblue" d="M3001.31,-396.79C3371,-393.4 4764.3,-376.07 4947.5,-306 4961.14,-300.78 4974.25,-292.56 4986,-283.52"/>
+<polygon fill="none" stroke="midnightblue" points="3001.16,-393.29 2991.2,-396.88 3001.23,-400.29 3001.16,-393.29"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
 <title>Node35</title>
-<g id="a_node35"><a xlink:href="classtvm_1_1tirx_1_1Reduce.html" target="_top" xlink:title="Managed reference to ReduceNode.">
-<polygon fill="white" stroke="black" points="4779,-237.5 4779,-338.5 4938,-338.5 4938,-237.5 4779,-237.5"/>
-<text text-anchor="middle" x="4858.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Reduce</text>
-<polyline fill="none" stroke="black" points="4779,-319.5 4938,-319.5 "/>
-<text text-anchor="middle" x="4858.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4779,-300.5 4938,-300.5 "/>
-<text text-anchor="start" x="4787" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Reduce()</text>
-<text text-anchor="start" x="4787" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4787" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4787" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4787" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node35"><a xlink:href="classtvm_1_1tirx_1_1Shuffle.html" target="_top" xlink:title="Managed reference to ShuffleNode.">
+<polygon fill="white" stroke="black" points="5133,-171.5 5133,-294.5 5292,-294.5 5292,-171.5 5133,-171.5"/>
+<text text-anchor="middle" x="5212.5" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Shuffle</text>
+<polyline fill="none" stroke="black" points="5133,-275.5 5292,-275.5 "/>
+<text text-anchor="middle" x="5212.5" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5133,-256.5 5292,-256.5 "/>
+<text text-anchor="start" x="5141" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Shuffle()</text>
+<text text-anchor="start" x="5141" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5141" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5141" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5141" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<text text-anchor="start" x="5141" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Concat()</text>
+<text text-anchor="start" x="5141" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractElement()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node35 -->
 <g id="edge34" class="edge">
 <title>Node1&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M3001.23,-451.37C3350.03,-446.55 4604.58,-424.87 4770.5,-361 4783.95,-355.82 4796.88,-347.74 4808.5,-338.84"/>
-<polygon fill="none" stroke="midnightblue" points="3001.13,-447.87 2991.18,-451.51 3001.22,-454.87 3001.13,-447.87"/>
+<path fill="none" stroke="midnightblue" d="M3001.26,-397.14C3390.75,-395.11 4923.95,-382.3 5124.5,-306 5132.25,-303.05 5139.82,-299.13 5147.07,-294.64"/>
+<polygon fill="none" stroke="midnightblue" points="3001.15,-393.64 2991.17,-397.19 3001.19,-400.64 3001.15,-393.64"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node">
 <title>Node36</title>
-<g id="a_node36"><a xlink:href="classtvm_1_1tirx_1_1Select.html" target="_top" xlink:title="Managed reference to SelectNode.">
-<polygon fill="white" stroke="black" points="4956,-237.5 4956,-338.5 5115,-338.5 5115,-237.5 4956,-237.5"/>
-<text text-anchor="middle" x="5035.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Select</text>
-<polyline fill="none" stroke="black" points="4956,-319.5 5115,-319.5 "/>
-<text text-anchor="middle" x="5035.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4956,-300.5 5115,-300.5 "/>
-<text text-anchor="start" x="4964" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Select()</text>
-<text text-anchor="start" x="4964" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="4964" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="4964" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="4964" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node36"><a xlink:href="classtvm_1_1tirx_1_1StringImm.html" target="_top" xlink:title="Managed reference to StringImmNode.">
+<polygon fill="white" stroke="black" points="5310,-182.5 5310,-283.5 5469,-283.5 5469,-182.5 5310,-182.5"/>
+<text text-anchor="middle" x="5389.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StringImm</text>
+<polyline fill="none" stroke="black" points="5310,-264.5 5469,-264.5 "/>
+<text text-anchor="middle" x="5389.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5310,-245.5 5469,-245.5 "/>
+<text text-anchor="start" x="5318" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringImm()</text>
+<text text-anchor="start" x="5318" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5318" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5318" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5318" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node36 -->
 <g id="edge35" class="edge">
 <title>Node1&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M3001.31,-451.79C3371,-448.4 4764.3,-431.07 4947.5,-361 4961.14,-355.78 4974.25,-347.56 4986,-338.52"/>
-<polygon fill="none" stroke="midnightblue" points="3001.16,-448.29 2991.2,-451.88 3001.23,-455.29 3001.16,-448.29"/>
+<path fill="none" stroke="midnightblue" d="M3001.58,-397.43C3410.73,-396.67 5083.61,-388.51 5301.5,-306 5315.16,-300.83 5328.28,-292.63 5340.02,-283.59"/>
+<polygon fill="none" stroke="midnightblue" points="3001.28,-393.93 2991.28,-397.45 3001.29,-400.93 3001.28,-393.93"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
 <title>Node37</title>
-<g id="a_node37"><a xlink:href="classtvm_1_1tirx_1_1Shuffle.html" target="_top" xlink:title="Managed reference to ShuffleNode.">
-<polygon fill="white" stroke="black" points="5133,-226.5 5133,-349.5 5292,-349.5 5292,-226.5 5133,-226.5"/>
-<text text-anchor="middle" x="5212.5" y="-337.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Shuffle</text>
-<polyline fill="none" stroke="black" points="5133,-330.5 5292,-330.5 "/>
-<text text-anchor="middle" x="5212.5" y="-318.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5133,-311.5 5292,-311.5 "/>
-<text text-anchor="start" x="5141" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Shuffle()</text>
-<text text-anchor="start" x="5141" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5141" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5141" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5141" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-<text text-anchor="start" x="5141" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Concat()</text>
-<text text-anchor="start" x="5141" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractElement()</text>
+<g id="a_node37"><a xlink:href="classtvm_1_1tirx_1_1Sub.html" target="_top" xlink:title="Managed reference to SubNode.">
+<polygon fill="white" stroke="black" points="5487,-182.5 5487,-283.5 5646,-283.5 5646,-182.5 5487,-182.5"/>
+<text text-anchor="middle" x="5566.5" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Sub</text>
+<polyline fill="none" stroke="black" points="5487,-264.5 5646,-264.5 "/>
+<text text-anchor="middle" x="5566.5" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5487,-245.5 5646,-245.5 "/>
+<text text-anchor="start" x="5495" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Sub()</text>
+<text text-anchor="start" x="5495" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5495" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="5495" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="5495" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node37 -->
 <g id="edge36" class="edge">
 <title>Node1&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M3001.26,-452.14C3390.75,-450.11 4923.95,-437.3 5124.5,-361 5132.25,-358.05 5139.82,-354.13 5147.07,-349.64"/>
-<polygon fill="none" stroke="midnightblue" points="3001.15,-448.64 2991.17,-452.19 3001.19,-455.64 3001.15,-448.64"/>
+<path fill="none" stroke="midnightblue" d="M3001.16,-397.69C3427.99,-398.14 5243.1,-394.79 5478.5,-306 5492.17,-300.84 5505.29,-292.65 5517.03,-283.61"/>
+<polygon fill="none" stroke="midnightblue" points="3001.04,-394.19 2991.04,-397.68 3001.03,-401.19 3001.04,-394.19"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node">
 <title>Node38</title>
-<g id="a_node38"><a xlink:href="classtvm_1_1tirx_1_1StringImm.html" target="_top" xlink:title="Managed reference to StringImmNode.">
-<polygon fill="white" stroke="black" points="5310,-237.5 5310,-338.5 5469,-338.5 5469,-237.5 5310,-237.5"/>
-<text text-anchor="middle" x="5389.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StringImm</text>
-<polyline fill="none" stroke="black" points="5310,-319.5 5469,-319.5 "/>
-<text text-anchor="middle" x="5389.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5310,-300.5 5469,-300.5 "/>
-<text text-anchor="start" x="5318" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ StringImm()</text>
-<text text-anchor="start" x="5318" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5318" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5318" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5318" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<g id="a_node38"><a xlink:href="classtvm_1_1tirx_1_1Var.html" target="_top" xlink:title="a named variable in TIR">
+<polygon fill="white" stroke="black" points="5664.5,-160.5 5664.5,-305.5 5782.5,-305.5 5782.5,-160.5 5664.5,-160.5"/>
+<text text-anchor="middle" x="5723.5" y="-293.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Var</text>
+<polyline fill="none" stroke="black" points="5664.5,-286.5 5782.5,-286.5 "/>
+<text text-anchor="middle" x="5723.5" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5664.5,-267.5 5782.5,-267.5 "/>
+<text text-anchor="start" x="5672.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
+<text text-anchor="start" x="5672.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_name()</text>
+<text text-anchor="start" x="5672.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_suffix()</text>
+<text text-anchor="start" x="5672.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_dtype()</text>
+<text text-anchor="start" x="5672.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="5672.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node38 -->
 <g id="edge37" class="edge">
 <title>Node1&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M3001.58,-452.43C3410.73,-451.67 5083.61,-443.51 5301.5,-361 5315.16,-355.83 5328.28,-347.63 5340.02,-338.59"/>
-<polygon fill="none" stroke="midnightblue" points="3001.28,-448.93 2991.28,-452.45 3001.29,-455.93 3001.28,-448.93"/>
-</g>
-<!-- Node39 -->
-<g id="node39" class="node">
-<title>Node39</title>
-<g id="a_node39"><a xlink:href="classtvm_1_1tirx_1_1Sub.html" target="_top" xlink:title="Managed reference to SubNode.">
-<polygon fill="white" stroke="black" points="5487,-237.5 5487,-338.5 5646,-338.5 5646,-237.5 5487,-237.5"/>
-<text text-anchor="middle" x="5566.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Sub</text>
-<polyline fill="none" stroke="black" points="5487,-319.5 5646,-319.5 "/>
-<text text-anchor="middle" x="5566.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5487,-300.5 5646,-300.5 "/>
-<text text-anchor="start" x="5495" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Sub()</text>
-<text text-anchor="start" x="5495" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5495" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="5495" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="5495" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node1&#45;&gt;Node39 -->
-<g id="edge38" class="edge">
-<title>Node1&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M3001.16,-452.69C3427.99,-453.14 5243.1,-449.79 5478.5,-361 5492.17,-355.84 5505.29,-347.65 5517.03,-338.61"/>
-<polygon fill="none" stroke="midnightblue" points="3001.04,-449.19 2991.04,-452.68 3001.03,-456.19 3001.04,-449.19"/>
-</g>
-<!-- Node40 -->
-<g id="node40" class="node">
-<title>Node40</title>
-<g id="a_node40"><a xlink:href="classtvm_1_1tirx_1_1Var.html" target="_top" xlink:title="a named variable in TIR">
-<polygon fill="white" stroke="black" points="5664.5,-215.5 5664.5,-360.5 5782.5,-360.5 5782.5,-215.5 5664.5,-215.5"/>
-<text text-anchor="middle" x="5723.5" y="-348.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::Var</text>
-<polyline fill="none" stroke="black" points="5664.5,-341.5 5782.5,-341.5 "/>
-<text text-anchor="middle" x="5723.5" y="-329.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5664.5,-322.5 5782.5,-322.5 "/>
-<text text-anchor="start" x="5672.5" y="-310.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-299.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Var()</text>
-<text text-anchor="start" x="5672.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_name()</text>
-<text text-anchor="start" x="5672.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_suffix()</text>
-<text text-anchor="start" x="5672.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ copy_with_dtype()</text>
-<text text-anchor="start" x="5672.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="5672.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
-</a>
-</g>
-</g>
-<!-- Node1&#45;&gt;Node40 -->
-<g id="edge39" class="edge">
-<title>Node1&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M3001.27,-451.42C3460.67,-445.67 5531.93,-416.73 5655.5,-361 5658.48,-359.66 5661.39,-358.12 5664.23,-356.42"/>
-<polygon fill="none" stroke="midnightblue" points="3001,-447.93 2991.04,-451.55 3001.09,-454.93 3001,-447.93"/>
+<path fill="none" stroke="midnightblue" d="M3001.27,-396.42C3460.67,-390.67 5531.93,-361.73 5655.5,-306 5658.48,-304.66 5661.39,-303.12 5664.23,-301.42"/>
+<polygon fill="none" stroke="midnightblue" points="3001,-392.93 2991.04,-396.55 3001.09,-399.93 3001,-392.93"/>
 </g>
 <!-- Node2 -->
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="2832,-546.5 2832,-614.5 2991,-614.5 2991,-546.5 2832,-546.5"/>
-<text text-anchor="middle" x="2911.5" y="-602.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="2832,-595.5 2991,-595.5 "/>
-<text text-anchor="middle" x="2911.5" y="-583.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2832,-576.5 2991,-576.5 "/>
-<text text-anchor="start" x="2840" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="2840" y="-553.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<polygon fill="white" stroke="black" points="2832,-491.5 2832,-559.5 2991,-559.5 2991,-491.5 2832,-491.5"/>
+<text text-anchor="middle" x="2911.5" y="-547.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
+<polyline fill="none" stroke="black" points="2832,-540.5 2991,-540.5 "/>
+<text text-anchor="middle" x="2911.5" y="-528.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2832,-521.5 2991,-521.5 "/>
+<text text-anchor="start" x="2840" y="-509.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="2840" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M2911.5,-536.18C2911.5,-527.6 2911.5,-518.49 2911.5,-509.59"/>
-<polygon fill="none" stroke="midnightblue" points="2908,-536.33 2911.5,-546.33 2915,-536.33 2908,-536.33"/>
+<path fill="none" stroke="midnightblue" d="M2911.5,-481.18C2911.5,-472.6 2911.5,-463.49 2911.5,-454.59"/>
+<polygon fill="none" stroke="midnightblue" points="2908,-481.33 2911.5,-491.33 2915,-481.33 2908,-481.33"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
 <title>Node3</title>
 <g id="a_node3"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2871.5,-651.5 2871.5,-708.5 2951.5,-708.5 2951.5,-651.5 2871.5,-651.5"/>
-<text text-anchor="middle" x="2911.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="2871.5,-689.5 2951.5,-689.5 "/>
-<text text-anchor="middle" x="2911.5" y="-677.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="2871.5,-670.5 2951.5,-670.5 "/>
-<text text-anchor="middle" x="2911.5" y="-658.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="2871.5,-596.5 2871.5,-653.5 2951.5,-653.5 2951.5,-596.5 2871.5,-596.5"/>
+<text text-anchor="middle" x="2911.5" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<polyline fill="none" stroke="#bfbfbf" points="2871.5,-634.5 2951.5,-634.5 "/>
+<text text-anchor="middle" x="2911.5" y="-622.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="2871.5,-615.5 2951.5,-615.5 "/>
+<text text-anchor="middle" x="2911.5" y="-603.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node2 -->
 <g id="edge2" class="edge">
 <title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M2911.5,-641.06C2911.5,-632.39 2911.5,-623.24 2911.5,-614.79"/>
-<polygon fill="none" stroke="midnightblue" points="2908,-641.32 2911.5,-651.32 2915,-641.32 2908,-641.32"/>
-</g>
-<!-- Node6 -->
-<g id="node6" class="node">
-<title>Node6</title>
-<g id="a_node6"><a xlink:href="classtvm_1_1Bool.html" target="_top" xlink:title="Boolean constant.">
-<polygon fill="white" stroke="black" points="20.5,-39 20.5,-140 200.5,-140 200.5,-39 20.5,-39"/>
-<text text-anchor="middle" x="110.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Bool</text>
-<polyline fill="none" stroke="black" points="20.5,-121 200.5,-121 "/>
-<text text-anchor="middle" x="110.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="20.5,-102 200.5,-102 "/>
-<text text-anchor="start" x="28.5" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ Bool()</text>
-<text text-anchor="start" x="28.5" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!()</text>
-<text text-anchor="start" x="28.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator bool()</text>
-<text text-anchor="start" x="28.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="28.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node6 -->
-<g id="edge5" class="edge">
-<title>Node5&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M213.56,-229.2C192.53,-200.9 167.47,-167.18 147.33,-140.07"/>
-<polygon fill="none" stroke="midnightblue" points="210.88,-231.48 219.66,-237.41 216.5,-227.3 210.88,-231.48"/>
+<path fill="none" stroke="midnightblue" d="M2911.5,-586.06C2911.5,-577.39 2911.5,-568.24 2911.5,-559.79"/>
+<polygon fill="none" stroke="midnightblue" points="2908,-586.32 2911.5,-596.32 2915,-586.32 2908,-586.32"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node">
 <title>Node7</title>
-<g id="a_node7"><a xlink:href="classtvm_1_1Integer.html" target="_top" xlink:title="Container of constant int that adds more constructors.">
-<polygon fill="white" stroke="black" points="219,-0.5 219,-178.5 312,-178.5 312,-0.5 219,-0.5"/>
-<text text-anchor="middle" x="265.5" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Integer</text>
-<polyline fill="none" stroke="black" points="219,-159.5 312,-159.5 "/>
-<text text-anchor="middle" x="265.5" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="219,-140.5 312,-140.5 "/>
-<text text-anchor="start" x="227" y="-128.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="227" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="227" y="-106.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="227" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="227" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="227" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="227" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="227" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntValue()</text>
-<text text-anchor="start" x="227" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="227" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-<text text-anchor="start" x="227" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="227" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node7 -->
+<g id="a_node7"><a xlink:href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_top" xlink:title="Managed reference to IterSplitExprNode.">
+<polygon fill="white" stroke="black" points="266,-0.5 266,-123.5 425,-123.5 425,-0.5 266,-0.5"/>
+<text text-anchor="middle" x="345.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSplitExpr</text>
+<polyline fill="none" stroke="black" points="266,-104.5 425,-104.5 "/>
+<text text-anchor="middle" x="345.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="266,-85.5 425,-85.5 "/>
+<text text-anchor="start" x="274" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
+<text text-anchor="start" x="274" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
+<text text-anchor="start" x="274" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
+<text text-anchor="start" x="274" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="274" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="274" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="274" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+</a>
+</g>
+</g>
+<!-- Node6&#45;&gt;Node7 -->
 <g id="edge6" class="edge">
-<title>Node5&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M259.24,-227.09C259.94,-211.82 260.71,-195.07 261.46,-178.7"/>
-<polygon fill="none" stroke="midnightblue" points="255.73,-227.27 258.77,-237.41 262.73,-227.59 255.73,-227.27"/>
+<title>Node6&#45;&gt;Node7</title>
+<path fill="none" stroke="midnightblue" d="M411.36,-189.49C400.99,-169.57 388.44,-145.47 377.1,-123.68"/>
+<polygon fill="none" stroke="midnightblue" points="408.39,-191.36 416.11,-198.61 414.6,-188.12 408.39,-191.36"/>
 </g>
-<!-- Node9 -->
-<g id="node9" class="node">
-<title>Node9</title>
-<g id="a_node9"><a xlink:href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_top" xlink:title="Managed reference to IterSplitExprNode.">
-<polygon fill="white" stroke="black" points="346,-28 346,-151 505,-151 505,-28 346,-28"/>
-<text text-anchor="middle" x="425.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSplitExpr</text>
-<polyline fill="none" stroke="black" points="346,-132 505,-132 "/>
-<text text-anchor="middle" x="425.5" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="346,-113 505,-113 "/>
-<text text-anchor="start" x="354" y="-101" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
-<text text-anchor="start" x="354" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
-<text text-anchor="start" x="354" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSplitExpr()</text>
-<text text-anchor="start" x="354" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="354" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="354" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="354" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node8&#45;&gt;Node9 -->
-<g id="edge8" class="edge">
-<title>Node8&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M431.72,-243.32C430.62,-216.17 429.18,-180.88 427.97,-151.06"/>
-<polygon fill="none" stroke="midnightblue" points="428.24,-243.82 432.14,-253.67 435.23,-243.53 428.24,-243.82"/>
-</g>
-<!-- Node10 -->
-<g id="node10" class="node">
-<title>Node10</title>
-<g id="a_node10"><a xlink:href="classtvm_1_1arith_1_1IterSumExpr.html" target="_top" xlink:title="Managed reference to IterSumExprNode.">
-<polygon fill="white" stroke="black" points="523,-39 523,-140 682,-140 682,-39 523,-39"/>
-<text text-anchor="middle" x="602.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSumExpr</text>
-<polyline fill="none" stroke="black" points="523,-121 682,-121 "/>
-<text text-anchor="middle" x="602.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="523,-102 682,-102 "/>
-<text text-anchor="start" x="531" y="-90" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSumExpr()</text>
-<text text-anchor="start" x="531" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="531" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="531" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="531" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
+<!-- Node8 -->
+<g id="node8" class="node">
+<title>Node8</title>
+<g id="a_node8"><a xlink:href="classtvm_1_1arith_1_1IterSumExpr.html" target="_top" xlink:title="Managed reference to IterSumExprNode.">
+<polygon fill="white" stroke="black" points="443,-11.5 443,-112.5 602,-112.5 602,-11.5 443,-11.5"/>
+<text text-anchor="middle" x="522.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterSumExpr</text>
+<polyline fill="none" stroke="black" points="443,-93.5 602,-93.5 "/>
+<text text-anchor="middle" x="522.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="443,-74.5 602,-74.5 "/>
+<text text-anchor="start" x="451" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IterSumExpr()</text>
+<text text-anchor="start" x="451" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="451" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<text text-anchor="start" x="451" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
+<text text-anchor="start" x="451" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
 </a>
 </g>
 </g>
-<!-- Node8&#45;&gt;Node10 -->
-<g id="edge9" class="edge">
-<title>Node8&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M469.01,-245.71C495.45,-214.97 531.67,-172.85 559.71,-140.25"/>
-<polygon fill="none" stroke="midnightblue" points="466.04,-243.8 462.17,-253.67 471.34,-248.37 466.04,-243.8"/>
-</g>
-<!-- Node41 -->
-<g id="node41" class="node">
-<title>Node41</title>
-<g id="a_node41"><a xlink:href="classtvm_1_1tirx_1_1SizeVar.html" target="_top" xlink:title="a named variable represents a tensor index size">
-<polygon fill="white" stroke="black" points="5673,-33.5 5673,-145.5 5774,-145.5 5774,-33.5 5673,-33.5"/>
-<text text-anchor="middle" x="5723.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SizeVar</text>
-<polyline fill="none" stroke="black" points="5673,-126.5 5774,-126.5 "/>
-<text text-anchor="middle" x="5723.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5673,-107.5 5774,-107.5 "/>
-<text text-anchor="start" x="5681" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5681" y="-84.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5681" y="-73.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5681" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
-<text text-anchor="start" x="5681" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
-<text text-anchor="start" x="5681" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
-</a>
-</g>
-</g>
-<!-- Node40&#45;&gt;Node41 -->
-<g id="edge40" class="edge">
-<title>Node40&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M5723.5,-205.18C5723.5,-185.16 5723.5,-164.21 5723.5,-145.77"/>
-<polygon fill="none" stroke="midnightblue" points="5720,-205.22 5723.5,-215.22 5727,-205.22 5720,-205.22"/>
+<!-- Node6&#45;&gt;Node8 -->
+<g id="edge7" class="edge">
+<title>Node6&#45;&gt;Node8</title>
+<path fill="none" stroke="midnightblue" d="M455.81,-189.63C468.12,-166.26 483.48,-137.1 496.35,-112.66"/>
+<polygon fill="none" stroke="midnightblue" points="452.65,-188.13 451.08,-198.61 458.84,-191.39 452.65,-188.13"/>
+</g>
+<!-- Node39 -->
+<g id="node39" class="node">
+<title>Node39</title>
+<g id="a_node39"><a xlink:href="classtvm_1_1tirx_1_1SizeVar.html" target="_top" xlink:title="a named variable represents a tensor index size">
+<polygon fill="white" stroke="black" points="5673,-6 5673,-118 5774,-118 5774,-6 5673,-6"/>
+<text text-anchor="middle" x="5723.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SizeVar</text>
+<polyline fill="none" stroke="black" points="5673,-99 5774,-99 "/>
+<text text-anchor="middle" x="5723.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5673,-80 5774,-80 "/>
+<text text-anchor="start" x="5681" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5681" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5681" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5681" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ SizeVar()</text>
+<text text-anchor="start" x="5681" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator&#45;&gt;()</text>
+<text text-anchor="start" x="5681" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ get()</text>
+</a>
+</g>
+</g>
+<!-- Node38&#45;&gt;Node39 -->
+<g id="edge38" class="edge">
+<title>Node38&#45;&gt;Node39</title>
+<path fill="none" stroke="midnightblue" d="M5723.5,-150C5723.5,-139.19 5723.5,-128.33 5723.5,-118.12"/>
+<polygon fill="none" stroke="midnightblue" points="5720,-150.33 5723.5,-160.33 5727,-150.33 5720,-150.33"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetAnalyzer.html b/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetAnalyzer.html
index f57379d5c5f..ae0fceedee2 100644
--- a/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetAnalyzer.html
+++ b/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetAnalyzer.html
@@ -74,7 +74,7 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 
-<p><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set analyzer.  
+<p>Integer set analyzer.  
  <a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#details">More...</a></p>
 
 <p><code>#include &lt;<a class="el" href="analyzer_8h_source.html">analyzer.h</a>&gt;</code></p>
@@ -108,7 +108,7 @@ Friends</h2></td></tr>
 <tr class="separator:a88d594816df596eed10643082b0d0805"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set analyzer. </p>
+<div class="textblock"><p>Integer set analyzer. </p>
 </div><h2 class="groupheader">Member Function Documentation</h2>
 <a id="ab0ded402c93fc89cba57015b6f3f4d8d"></a>
 <h2 class="memtitle"><span class="permalink"><a href="#ab0ded402c93fc89cba57015b6f3f4d8d">&#9670;&nbsp;</a></span>Bind()</h2>
diff --git a/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetNode.html b/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetNode.html
index 09e1f9c09f0..9ae9f0478f8 100644
--- a/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1arith_1_1IntSetNode.html
@@ -73,7 +73,7 @@ $(function() {
 </div><!--header-->
 <div class="contents">
 
-<p>Base class of all <a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set containers. represent a set of integers in one dimension.  
+<p>Base class of all Integer set containers. represent a set of integers in one dimension.  
  <a href="classtvm_1_1arith_1_1IntSetNode.html#details">More...</a></p>
 
 <p><code>#include &lt;<a class="el" href="int__set_8h_source.html">int_set.h</a>&gt;</code></p>
@@ -96,7 +96,7 @@ Public Member Functions</h2></td></tr>
 <tr class="separator:a51d92f0c7ad562c0041888cc8ef62c3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
-<div class="textblock"><p>Base class of all <a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set containers. represent a set of integers in one dimension. </p>
+<div class="textblock"><p>Base class of all Integer set containers. represent a set of integers in one dimension. </p>
 <dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvm_1_1arith_1_1IntSet.html" title="Managed reference to IntSetNode.">IntSet</a> </dd></dl>
 </div><h2 class="groupheader">Member Function Documentation</h2>
 <a id="a51d92f0c7ad562c0041888cc8ef62c3a"></a>
diff --git a/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode-members.html b/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode-members.html
index 7506b4976c3..04214111f83 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode-members.html
@@ -76,7 +76,7 @@ $(function() {
   <tr><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#af83aa0a22ae116db8ee89fe769f297f8">axis</a></td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html">tvm::relax::distributed::PlacementSpecNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#a10142ff77dbc08a2a46c5adb51701aa2">kind</a></td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html">tvm::relax::distributed::PlacementSpecNode</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a945cee90be1d6c9c56865b15bfd2ba08">RegisterReflection</a>()</td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">tvm::relax::distributed::ShardingNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">sharding_dim</a></td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">tvm::relax::distributed::ShardingNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">sharding_dim</a></td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">tvm::relax::distributed::ShardingNode</a></td><td class="entry"></td></tr>
   <tr><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#a506cceb93d841946b9e6ff7abc68df82">TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;relax.distributed.PlacementSpec&quot;, PlacementSpecNode, ffi::Object)</td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html">tvm::relax::distributed::PlacementSpecNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#afdbab056954d3f051641edd9e03740cf">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;relax.distributed.Sharding&quot;, ShardingNode, PlacementSpecNode)</td><td class="entry"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">tvm::relax::distributed::ShardingNode</a></td><td class="entry"></td></tr>
 </table></div><!-- contents -->
diff --git a/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode.html b/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode.html
index 38674888539..9b1c29ef760 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode.html
@@ -85,7 +85,7 @@ Inheritance diagram for tvm::relax::distributed::ShardingNode:</div>
 <div class="dynheader">
 Collaboration diagram for tvm::relax::distributed::ShardingNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1relax_1_1distributed_1_1ShardingNode__coll__graph.svg" width="420" height="1087"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1relax_1_1distributed_1_1ShardingNode__coll__graph.svg" width="227" height="456"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 <table class="memberdecls">
@@ -107,9 +107,9 @@ Static Public Member Functions</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
 Public Attributes</h2></td></tr>
-<tr class="memitem:aee4143f712805a00079c4f5b91872174"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Integer.html">Integer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">sharding_dim</a></td></tr>
-<tr class="memdesc:aee4143f712805a00079c4f5b91872174"><td class="mdescLeft">&#160;</td><td class="mdescRight">The dimension of tensor we shard.  <a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">More...</a><br /></td></tr>
-<tr class="separator:aee4143f712805a00079c4f5b91872174"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2e730ccee13a3c16c1e488ba44cc0b47"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">sharding_dim</a></td></tr>
+<tr class="memdesc:a2e730ccee13a3c16c1e488ba44cc0b47"><td class="mdescLeft">&#160;</td><td class="mdescRight">The dimension of tensor we shard.  <a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">More...</a><br /></td></tr>
+<tr class="separator:a2e730ccee13a3c16c1e488ba44cc0b47"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_attribs_classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html">tvm::relax::distributed::PlacementSpecNode</a></td></tr>
 <tr class="memitem:af83aa0a22ae116db8ee89fe769f297f8 inherit pub_attribs_classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#af83aa0a22ae116db8ee89fe769f297f8">axis</a></td></tr>
 <tr class="memdesc:af83aa0a22ae116db8ee89fe769f297f8 inherit pub_attribs_classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classtvm_1_1relax_1_1If.html">If</a> the kind is sharding, this value represents the tensor dimension to shard. otherwise, axis is -1.  <a href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#af83aa0a22ae116db8ee89fe769f297f8">More...</a><br /></td></tr>
@@ -185,14 +185,14 @@ Additional Inherited Members</h2></td></tr>
 </div>
 </div>
 <h2 class="groupheader">Member Data Documentation</h2>
-<a id="aee4143f712805a00079c4f5b91872174"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aee4143f712805a00079c4f5b91872174">&#9670;&nbsp;</a></span>sharding_dim</h2>
+<a id="a2e730ccee13a3c16c1e488ba44cc0b47"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2e730ccee13a3c16c1e488ba44cc0b47">&#9670;&nbsp;</a></span>sharding_dim</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Integer.html">Integer</a> tvm::relax::distributed::ShardingNode::sharding_dim</td>
+          <td class="memname">int64_t tvm::relax::distributed::ShardingNode::sharding_dim</td>
         </tr>
       </table>
 </div><div class="memdoc">
diff --git a/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode__coll__graph.svg
index d85279b4d18..ef90ae0aab1 100644
--- a/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1relax_1_1distributed_1_1ShardingNode__coll__graph.svg
@@ -4,24 +4,24 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::relax::distributed::ShardingNode Pages: 1 -->
-<svg width="315pt" height="815pt"
- viewBox="0.00 0.00 314.50 815.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 811)">
+<svg width="170pt" height="342pt"
+ viewBox="0.00 0.00 170.00 342.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 338)">
 <title>tvm::relax::distributed::ShardingNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-811 310.5,-811 310.5,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-338 166,-338 166,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title=" ">
-<polygon fill="#bfbfbf" stroke="black" points="72,-0.5 72,-90.5 234,-90.5 234,-0.5 72,-0.5"/>
-<text text-anchor="start" x="80" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="153" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ShardingNode</text>
-<polyline fill="none" stroke="black" points="72,-60.5 234,-60.5 "/>
-<text text-anchor="middle" x="153" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="72,-41.5 234,-41.5 "/>
-<text text-anchor="start" x="80" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="80" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="80" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
+<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-90.5 162,-90.5 162,-0.5 0,-0.5"/>
+<text text-anchor="start" x="8" y="-78.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="81" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ShardingNode</text>
+<polyline fill="none" stroke="black" points="0,-60.5 162,-60.5 "/>
+<text text-anchor="start" x="8" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ sharding_dim</text>
+<polyline fill="none" stroke="black" points="0,-41.5 162,-41.5 "/>
+<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="8" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
 </a>
 </g>
 </g>
@@ -29,161 +29,44 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html" target="_top" xlink:title="Describes how data is distributed in one dimension of the device mesh.">
-<polygon fill="white" stroke="black" points="0,-171.5 0,-283.5 162,-283.5 162,-171.5 0,-171.5"/>
-<text text-anchor="start" x="8" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="81" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpecNode</text>
-<polyline fill="none" stroke="black" points="0,-253.5 162,-253.5 "/>
-<text text-anchor="start" x="8" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="8" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kind</text>
-<text text-anchor="start" x="8" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_s_eq_hash_kind</text>
-<polyline fill="none" stroke="black" points="0,-212.5 162,-212.5 "/>
-<text text-anchor="start" x="8" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="8" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="8" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
+<polygon fill="white" stroke="black" points="0,-127.5 0,-239.5 162,-239.5 162,-127.5 0,-127.5"/>
+<text text-anchor="start" x="8" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="81" y="-216.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpecNode</text>
+<polyline fill="none" stroke="black" points="0,-209.5 162,-209.5 "/>
+<text text-anchor="start" x="8" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="8" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kind</text>
+<text text-anchor="start" x="8" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_s_eq_hash_kind</text>
+<polyline fill="none" stroke="black" points="0,-168.5 162,-168.5 "/>
+<text text-anchor="start" x="8" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="8" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="8" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RegisterReflection()</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node1 -->
 <g id="edge1" class="edge">
 <title>Node2&#45;&gt;Node1</title>
-<path fill="none" stroke="midnightblue" d="M107.01,-161.47C116.42,-137.95 126.81,-111.97 135.33,-90.66"/>
-<polygon fill="none" stroke="midnightblue" points="103.65,-160.44 103.19,-171.03 110.15,-163.04 103.65,-160.44"/>
+<path fill="none" stroke="midnightblue" d="M81,-117.08C81,-108.07 81,-99.01 81,-90.51"/>
+<polygon fill="none" stroke="midnightblue" points="77.5,-117.18 81,-127.18 84.5,-117.18 77.5,-117.18"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
 <title>Node3</title>
 <g id="a_node3"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="49,-376.5 49,-433.5 113,-433.5 113,-376.5 49,-376.5"/>
-<text text-anchor="middle" x="81" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<polyline fill="none" stroke="#bfbfbf" points="49,-414.5 113,-414.5 "/>
-<text text-anchor="middle" x="81" y="-402.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="49,-395.5 113,-395.5 "/>
-<text text-anchor="middle" x="81" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="#bfbfbf" points="49,-276.5 49,-333.5 113,-333.5 113,-276.5 49,-276.5"/>
+<text text-anchor="middle" x="81" y="-321.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
+<polyline fill="none" stroke="#bfbfbf" points="49,-314.5 113,-314.5 "/>
+<text text-anchor="middle" x="81" y="-302.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="#bfbfbf" points="49,-295.5 113,-295.5 "/>
+<text text-anchor="middle" x="81" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node2 -->
 <g id="edge2" class="edge">
 <title>Node3&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M81,-366.06C81,-342.03 81,-310.56 81,-283.79"/>
-<polygon fill="none" stroke="midnightblue" points="77.5,-366.19 81,-376.19 84.5,-366.19 77.5,-366.19"/>
-</g>
-<!-- Node4 -->
-<g id="node4" class="node">
-<title>Node4</title>
-<g id="a_node4"><a xlink:href="classtvm_1_1Integer.html" target="_top" xlink:title="Container of constant int that adds more constructors.">
-<polygon fill="white" stroke="black" points="180.5,-138.5 180.5,-316.5 273.5,-316.5 273.5,-138.5 180.5,-138.5"/>
-<text text-anchor="middle" x="227" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Integer</text>
-<polyline fill="none" stroke="black" points="180.5,-297.5 273.5,-297.5 "/>
-<text text-anchor="middle" x="227" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="180.5,-278.5 273.5,-278.5 "/>
-<text text-anchor="start" x="188.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="188.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="188.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="188.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="188.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="188.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Integer()</text>
-<text text-anchor="start" x="188.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="188.5" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntValue()</text>
-<text text-anchor="start" x="188.5" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="188.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-<text text-anchor="start" x="188.5" y="-156.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator==()</text>
-<text text-anchor="start" x="188.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator!=()</text>
-</a>
-</g>
-</g>
-<!-- Node4&#45;&gt;Node1 -->
-<g id="edge3" class="edge">
-<title>Node4&#45;&gt;Node1</title>
-<path fill="none" stroke="#404040" d="M190.76,-138.35C185.65,-125.92 180.52,-113.45 175.77,-101.87"/>
-<polygon fill="none" stroke="#404040" points="175.71,-101.74 169.73,-97.71 171.15,-90.64 177.13,-94.67 175.71,-101.74"/>
-<text text-anchor="middle" x="220" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00"> +sharding_dim</text>
-</g>
-<!-- Node5 -->
-<g id="node5" class="node">
-<title>Node5</title>
-<g id="a_node5"><a xlink:href="classtvm_1_1IntImm.html" target="_top" xlink:title="Managed reference class to IntImmNode.">
-<polygon fill="white" stroke="black" points="147.5,-354.5 147.5,-455.5 306.5,-455.5 306.5,-354.5 147.5,-354.5"/>
-<text text-anchor="middle" x="227" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImm</text>
-<polyline fill="none" stroke="black" points="147.5,-436.5 306.5,-436.5 "/>
-<text text-anchor="middle" x="227" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="147.5,-417.5 306.5,-417.5 "/>
-<text text-anchor="start" x="155.5" y="-405.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IntImm()</text>
-<text text-anchor="start" x="155.5" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="155.5" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="155.5" y="-372.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DEFINE_OBJECT_REF</text>
-<text text-anchor="start" x="155.5" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">_COW_METHOD()</text>
-</a>
-</g>
-</g>
-<!-- Node5&#45;&gt;Node4 -->
-<g id="edge4" class="edge">
-<title>Node5&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M227,-344.02C227,-335.18 227,-325.92 227,-316.65"/>
-<polygon fill="none" stroke="midnightblue" points="223.5,-344.18 227,-354.18 230.5,-344.18 223.5,-344.18"/>
-</g>
-<!-- Node6 -->
-<g id="node6" class="node">
-<title>Node6</title>
-<g id="a_node6"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Reference to PrimExprNode.">
-<polygon fill="white" stroke="black" points="147.5,-493.5 147.5,-605.5 306.5,-605.5 306.5,-493.5 147.5,-493.5"/>
-<text text-anchor="middle" x="227" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<polyline fill="none" stroke="black" points="147.5,-586.5 306.5,-586.5 "/>
-<text text-anchor="middle" x="227" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="147.5,-567.5 306.5,-567.5 "/>
-<text text-anchor="start" x="155.5" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="155.5" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrimExpr()</text>
-<text text-anchor="start" x="155.5" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype()</text>
-<text text-anchor="start" x="155.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="155.5" y="-511.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="155.5" y="-500.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertFallbackValue()</text>
-</a>
-</g>
-</g>
-<!-- Node6&#45;&gt;Node5 -->
-<g id="edge5" class="edge">
-<title>Node6&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M227,-483.13C227,-473.96 227,-464.65 227,-455.83"/>
-<polygon fill="none" stroke="midnightblue" points="223.5,-483.41 227,-493.41 230.5,-483.41 223.5,-483.41"/>
-</g>
-<!-- Node7 -->
-<g id="node7" class="node">
-<title>Node7</title>
-<g id="a_node7"><a xlink:href="classtvm_1_1BaseExpr.html" target="_top" xlink:title="Managed reference to BaseExprNode.">
-<polygon fill="white" stroke="black" points="147.5,-643.5 147.5,-711.5 306.5,-711.5 306.5,-643.5 147.5,-643.5"/>
-<text text-anchor="middle" x="227" y="-699.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExpr</text>
-<polyline fill="none" stroke="black" points="147.5,-692.5 306.5,-692.5 "/>
-<text text-anchor="middle" x="227" y="-680.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="147.5,-673.5 306.5,-673.5 "/>
-<text text-anchor="start" x="155.5" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="155.5" y="-650.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-</a>
-</g>
-</g>
-<!-- Node7&#45;&gt;Node6 -->
-<g id="edge6" class="edge">
-<title>Node7&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M227,-633.31C227,-624.45 227,-615.01 227,-605.79"/>
-<polygon fill="none" stroke="midnightblue" points="223.5,-633.39 227,-643.39 230.5,-633.4 223.5,-633.39"/>
-</g>
-<!-- Node8 -->
-<g id="node8" class="node">
-<title>Node8</title>
-<g id="a_node8"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="187,-749.5 187,-806.5 267,-806.5 267,-749.5 187,-749.5"/>
-<text text-anchor="middle" x="227" y="-794.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<polyline fill="none" stroke="#bfbfbf" points="187,-787.5 267,-787.5 "/>
-<text text-anchor="middle" x="227" y="-775.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="#bfbfbf" points="187,-768.5 267,-768.5 "/>
-<text text-anchor="middle" x="227" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-</a>
-</g>
-</g>
-<!-- Node8&#45;&gt;Node7 -->
-<g id="edge7" class="edge">
-<title>Node8&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M227,-739.01C227,-729.96 227,-720.38 227,-711.58"/>
-<polygon fill="none" stroke="midnightblue" points="223.5,-739.3 227,-749.3 230.5,-739.3 223.5,-739.3"/>
+<path fill="none" stroke="midnightblue" d="M81,-266.11C81,-257.75 81,-248.73 81,-239.83"/>
+<polygon fill="none" stroke="midnightblue" points="77.5,-266.28 81,-276.28 84.5,-266.28 77.5,-266.28"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule-members.html b/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule-members.html
index a6de26f1211..8073a0ac685 100644
--- a/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule-members.html
@@ -92,7 +92,7 @@ $(function() {
   <tr><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#aacb5aa899615f1d5c0a244cabd6abfc4">IsApplyCustomRule</a>(const ScheduleRule &amp;rule)</td><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">tvm::s_tir::meta_schedule::ScheduleRule</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a8ecf5e0db552599ce19b93d76b2a7301">MultiLevelTiling</a>(ffi::String structure, ffi::Optional&lt; ffi::Array&lt; ffi::String &gt;&gt; tile_binds, ffi::Optional&lt; int64_t &gt; max_innermost_factor, ffi::Optional&lt; ffi::Array&lt; int64_t &gt;&gt; vector_load_lens, ffi::Optional&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; reuse_read, ffi::Optional&lt; ffi::Map&lt; ffi::S [...]
   <tr><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a0277f131e24f5aa8204383b0acf4cd47">MultiLevelTilingTensorCore</a>(ffi::Array&lt; ffi::Map&lt; ffi::String, ffi::String &gt;&gt; intrin_groups, ffi::String structure, ffi::Optional&lt; ffi::Array&lt; ffi::String &gt;&gt; tile_binds, ffi::Optional&lt; int64_t &gt; max_innermost_factor, ffi::Optional&lt; ffi::Array&lt; int64_t &gt;&gt; vector_load_lens, ffi::Optional&lt; ffi::Map&lt; ffi::S [...]
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#af5b8fdc3eb791008b72f8fc6a2f4c553">MultiLevelTilingWideVector</a>(ffi::String structure, Integer vector_length_in_bits, ffi::Optional&lt; int64_t &gt; max_innermost_factor, ffi::Optional&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; reuse_read, ffi::Optional&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; reuse_write)</td><td class="entry"><a class="el" href="classtvm_1_1s [...]
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#ad66ac6399a485947bf7819691a518a00">MultiLevelTilingWideVector</a>(ffi::String structure, int64_t vector_length_in_bits, ffi::Optional&lt; int64_t &gt; max_innermost_factor, ffi::Optional&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; reuse_read, ffi::Optional&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; reuse_write)</td><td class="entry"><a class="el" href="classtvm_1_1s [...]
   <tr><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a07961d1b85894837881c960c96891bcc">MultiLevelTilingWithIntrin</a>(ffi::String intrin_name, ffi::String structure, ffi::Optional&lt; ffi::Array&lt; ffi::String &gt;&gt; tile_binds, ffi::Optional&lt; int64_t &gt; max_innermost_factor, ffi::Optional&lt; ffi::Array&lt; int64_t &gt;&gt; vector_load_lens, ffi::Optional&lt; ffi::Map&lt; ffi::String, ffi::Any &gt;&gt; reuse_read, ffi::Optional&l [...]
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a0c14857bafb9e8ab4da268e618544f21">ParallelizeVectorizeUnroll</a>(int max_jobs_per_core, int max_vectorize_extent, ffi::Array&lt; int64_t &gt; unroll_max_steps, bool unroll_explicit)</td><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">tvm::s_tir::meta_schedule::ScheduleRule</a></td><td class="entry"><span class="mlabel">static [...]
   <tr><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#abfee95059c5fbcca95c22ea5690f1dc8">PyScheduleRule</a>(FInitializeWithTuneContext f_initialize_with_tune_context, FApply f_apply, FClone f_clone, FAsString f_as_string)</td><td class="entry"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">tvm::s_tir::meta_schedule::ScheduleRule</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html b/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html
index eeb70a4281d..db5413fc0e0 100644
--- a/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html
+++ b/docs/reference/api/doxygen/classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html
@@ -135,9 +135,9 @@ Static Public Member Functions</h2></td></tr>
 <tr class="memitem:a0277f131e24f5aa8204383b0acf4cd47"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">ScheduleRule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a0277f131e24f5aa8204383b0acf4cd47">MultiLevelTilingTensorCore</a> (ffi::Array&lt; ffi::Map&lt; ffi::String, ffi::String &gt;&gt; intrin_groups, ffi::String [...]
 <tr class="memdesc:a0277f131e24f5aa8204383b0acf4cd47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extension of MultiLevelTiling for auto-tensorization with multiple groups of candidate tensor core intrinsics.  <a href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a0277f131e24f5aa8204383b0acf4cd47">More...</a><br /></td></tr>
 <tr class="separator:a0277f131e24f5aa8204383b0acf4cd47"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:af5b8fdc3eb791008b72f8fc6a2f4c553"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">ScheduleRule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#af5b8fdc3eb791008b72f8fc6a2f4c553">MultiLevelTilingWideVector</a> (ffi::String structure, <a class="el" href="classtvm_1_1Integer.html">Integer</a> vector_ [...]
-<tr class="memdesc:af5b8fdc3eb791008b72f8fc6a2f4c553"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extension of MultiLevelTiling for backends with wide vectors. The loop over the innermost spatial axis of the output buffer is always vectorized with the maximum vector length.  <a href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#af5b8fdc3eb791008b72f8fc6a2f4c553">More...</a><br /></td></tr>
-<tr class="separator:af5b8fdc3eb791008b72f8fc6a2f4c553"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad66ac6399a485947bf7819691a518a00"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">ScheduleRule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#ad66ac6399a485947bf7819691a518a00">MultiLevelTilingWideVector</a> (ffi::String structure, int64_t vector_length_in_bits, ffi::Optional&lt; int64_t &gt; max [...]
+<tr class="memdesc:ad66ac6399a485947bf7819691a518a00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extension of MultiLevelTiling for backends with wide vectors. The loop over the innermost spatial axis of the output buffer is always vectorized with the maximum vector length.  <a href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#ad66ac6399a485947bf7819691a518a00">More...</a><br /></td></tr>
+<tr class="separator:ad66ac6399a485947bf7819691a518a00"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a9710e15c8dffffb4dc0748e4e488bbf4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html">ScheduleRule</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a9710e15c8dffffb4dc0748e4e488bbf4">AddRFactor</a> (int max_jobs_per_core, ffi::Optional&lt; int64_t &gt; max_innermost_factor)</td></tr>
 <tr class="memdesc:a9710e15c8dffffb4dc0748e4e488bbf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a rule: add-rfactor to some blocks if needed.  <a href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a9710e15c8dffffb4dc0748e4e488bbf4">More...</a><br /></td></tr>
 <tr class="separator:a9710e15c8dffffb4dc0748e4e488bbf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -937,8 +937,8 @@ Static Public Member Functions</h2></td></tr>
 
 </div>
 </div>
-<a id="af5b8fdc3eb791008b72f8fc6a2f4c553"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#af5b8fdc3eb791008b72f8fc6a2f4c553">&#9670;&nbsp;</a></span>MultiLevelTilingWideVector()</h2>
+<a id="ad66ac6399a485947bf7819691a518a00"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ad66ac6399a485947bf7819691a518a00">&#9670;&nbsp;</a></span>MultiLevelTilingWideVector()</h2>
 
 <div class="memitem">
 <div class="memproto">
@@ -955,7 +955,7 @@ Static Public Member Functions</h2></td></tr>
         <tr>
           <td class="paramkey"></td>
           <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1Integer.html">Integer</a>&#160;</td>
+          <td class="paramtype">int64_t&#160;</td>
           <td class="paramname"><em>vector_length_in_bits</em>, </td>
         </tr>
         <tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html
index c8c82914629..704704cb59d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html
@@ -311,7 +311,7 @@ Additional Inherited Members</h2></td></tr>
 <div class="line">    # <a class="code" href="classtvm_1_1tirx_1_1PrimFuncNode.html#abd46f1e8fda63cd7d4c082a922cdac23">body</a></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1PrimFuncNode_html_abd46f1e8fda63cd7d4c082a922cdac23"><div class="ttname"><a href="classtvm_1_1tirx_1_1PrimFuncNode.html#abd46f1e8fda63cd7d4c082a922cdac23">tvm::tirx::PrimFuncNode::body</a></div><div class="ttdeci">tirx::Stmt body</div><div class="ttdoc">The body of the function.</div><div class="ttdef"><b>Definition:</b> function.h:102</div></div>
 <div class="ttc" id="anamespacetvm_1_1te_html_ae0c71f84710b436cbe0b32289d0838f4"><div class="ttname"><a href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">tvm::te::var</a></div><div class="ttdeci">Var var(std::string name_hint, DataType t=DataType::Int(32))</div><div class="ttdoc">Construct a new Var expression.</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 </div><!-- fragment --><p>buffer_map is a sugar to express:</p><ul>
 <li>Parameter unpacking: e.g. I can load a.shape[0] to get value of m</li>
 <li>Constraint checking: a.shape[0] must equal b.shape[0] because they both corresponds to m.</li>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1SBlockNode.html b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1SBlockNode.html
index 926bd0450fd..acb98cfb933 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1SBlockNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1SBlockNode.html
@@ -169,7 +169,7 @@ Additional Inherited Members</h2></td></tr>
 <div class="line">    with T.init():</div>
 <div class="line">        <span class="comment">// init body</span></div>
 <div class="line">    <span class="comment">// body</span></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 </div><!-- fragment --> </dd></dl>
 </div><h2 class="groupheader">Member Function Documentation</h2>
 <a id="a51da4a92af3b88c1c66712f018cecf92"></a>
diff --git a/docs/reference/api/doxygen/data__layout_8h_source.html b/docs/reference/api/doxygen/data__layout_8h_source.html
index 7060809a719..62777327235 100644
--- a/docs/reference/api/doxygen/data__layout_8h_source.html
+++ b/docs/reference/api/doxygen/data__layout_8h_source.html
@@ -399,7 +399,7 @@ $(function() {
 <div class="ttc" id="aclasstvm_1_1tirx_1_1VarNode_html_a04ee898e4a4174921cdb67e2ea9100e0"><div class="ttname"><a href="classtvm_1_1tirx_1_1VarNode.html#a04ee898e4a4174921cdb67e2ea9100e0">tvm::tirx::VarNode::name_hint</a></div><div class="ttdeci">ffi::String name_hint</div><div class="ttdoc">The hint to the variable name.</div><div class="ttdef"><b>Definition:</b> var.h:54</div></div>
 <div class="ttc" id="anamespacetvm_1_1te_html_ae0c71f84710b436cbe0b32289d0838f4"><div class="ttname"><a href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">tvm::te::var</a></div><div class="ttdeci">Var var(std::string name_hint, DataType t=DataType::Int(32))</div><div class="ttdoc">Construct a new Var expression.</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_1_1builtin_html_a3604c2db98ee7441029256bf7d9a46b8"><div class="ttname"><a href="namespacetvm_1_1tirx_1_1builtin.html#a3604c2db98ee7441029256bf7d9a46b8">tvm::tirx::builtin::undef</a></div><div class="ttdeci">const Op &amp; undef()</div><div class="ttdoc">Returns an initialized but arbitrary value.</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="atirx_2expr_8h_html"><div class="ttname"><a href="tirx_2expr_8h.html">expr.h</a></div><div class="ttdoc">TIR expressions.</div></div>
 <div class="ttc" id="atirx_2op_8h_html"><div class="ttname"><a href="tirx_2op_8h.html">op.h</a></div><div class="ttdoc">Common operators defined for Expr.</div></div>
diff --git a/docs/reference/api/doxygen/dataflow__pattern_8h_source.html b/docs/reference/api/doxygen/dataflow__pattern_8h_source.html
index b73b857a67e..5defc004a08 100644
--- a/docs/reference/api/doxygen/dataflow__pattern_8h_source.html
+++ b/docs/reference/api/doxygen/dataflow__pattern_8h_source.html
@@ -938,7 +938,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1relax_html_aefdb4fdc17642caa5813a62a86cb3efa"><div class="ttname"><a href="namespacetvm_1_1relax.html#aefdb4fdc17642caa5813a62a86cb3efa">tvm::relax::IsExpr</a></div><div class="ttdeci">ExprPattern IsExpr(const Expr &amp;expr)</div><div class="ttdoc">Syntatic Sugar for creating a ExprPattern.</div></div>
 <div class="ttc" id="anamespacetvm_1_1relax_html_af2174df5a7b6bfc1e747068c11bcdb3c"><div class="ttname"><a href="namespacetvm_1_1relax.html#af2174df5a7b6bfc1e747068c11bcdb3c">tvm::relax::operator&gt;&gt;</a></div><div class="ttdeci">PatternSeq operator&gt;&gt;(const PatternSeq &amp;lhs, const PatternSeq &amp;rhs)</div><div class="ttdoc">Syntax sugar of OnlyUsedBy(lhs, rhs, -1).</div></div>
 <div class="ttc" id="anamespacetvm_1_1relax_html_af6cb1e75374b6a5d61f9464ffcedd5ee"><div class="ttname"><a href="namespacetvm_1_1relax.html#af6cb1e75374b6a5d61f9464ffcedd5ee">tvm::relax::IsTupleGetItem</a></div><div class="ttdeci">TupleGetItemPattern IsTupleGetItem(const DFPattern tuple, int index=-1)</div><div class="ttdoc">Syntatic Sugar for creating a TupleGetItemPattern.</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="arelax_2expr_8h_html"><div class="ttname"><a href="relax_2expr_8h.html">expr.h</a></div></div>
 <div class="ttc" id="arelax_2type_8h_html"><div class="ttname"><a href="relax_2type_8h.html">type.h</a></div><div class="ttdoc">Relax Types.</div></div>
diff --git a/docs/reference/api/doxygen/dense_8h_source.html b/docs/reference/api/doxygen/dense_8h_source.html
index 5763d8a7d53..686addd04ac 100644
--- a/docs/reference/api/doxygen/dense_8h_source.html
+++ b/docs/reference/api/doxygen/dense_8h_source.html
@@ -136,7 +136,7 @@ $(function() {
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;}  <span class="comment">// namespace topi</span></div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;}  <span class="comment">// namespace tvm</span></div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// TVM_TOPI_NN_DENSE_H_</span></div>
-<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:687</div></div>
+<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:585</div></div>
 <div class="ttc" id="aclasstvm_1_1runtime_1_1DataType_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1DataType.html">tvm::runtime::DataType</a></div><div class="ttdoc">Runtime primitive data type.</div><div class="ttdef"><b>Definition:</b> data_type.h:45</div></div>
 <div class="ttc" id="aclasstvm_1_1te_1_1Tensor_html"><div class="ttname"><a href="classtvm_1_1te_1_1Tensor.html">tvm::te::Tensor</a></div><div class="ttdoc">Tensor structure representing a possible input, or intermediate computation result.</div><div class="ttdef"><b>Definition:</b> tensor.h:100</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1Var_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1Var.html">tvm::tirx::Var</a></div><div class="ttdoc">a named variable in TIR</div><div class="ttdef"><b>Definition:</b> var.h:77</div></div>
@@ -145,7 +145,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1te_html_ad98d13fdbc71aede147f419e218fc680"><div class="ttname"><a href="namespacetvm_1_1te.html#ad98d13fdbc71aede147f419e218fc680">tvm::te::compute</a></div><div class="ttdeci">Tensor compute(ffi::Array&lt; PrimExpr &gt; shape, FCompute fcompute, std::string name=&quot;tensor&quot;, std::string tag=&quot;&quot;, ffi::Map&lt; ffi::String, ffi::Any &gt; attrs={})</div><div class="ttdoc">Construct a new tensor by computing over shape, using the computat [...]
 <div class="ttc" id="anamespacetvm_1_1topi_1_1nn_html_a34e1a8305acf89ef2f745c8d99bf8e89"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#a34e1a8305acf89ef2f745c8d99bf8e89">tvm::topi::nn::dense</a></div><div class="ttdeci">tvm::te::Tensor dense(const tvm::te::Tensor &amp;data, const tvm::te::Tensor &amp;weight, const tvm::te::Tensor &amp;bias, const DataType &amp;out_dtype)</div><div class="ttdoc">Creates an operation that calculates data * weight^T + bias.</div><div class="t [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_a13aaf23f0ab77f1ed4a7d4b7816bf210"><div class="ttname"><a href="namespacetvm_1_1topi.html#a13aaf23f0ab77f1ed4a7d4b7816bf210">tvm::topi::kBroadcast</a></div><div class="ttdeci">constexpr auto kBroadcast</div><div class="ttdef"><b>Definition:</b> tags.h:36</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_adae7dcb7e951109ba72192202d182994"><div class="ttname"><a href="namespacetvm_1_1topi.html#adae7dcb7e951109ba72192202d182994">tvm::topi::matmul</a></div><div class="ttdeci">tvm::te::Tensor matmul(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, bool trans_a=false, bool trans_b=false, std::string name=&quot;T_matmul&quot;, std::string tag=kMatMul)</div><div class="ttdoc">Creates an operation that calculates a matrix multiplication  [...]
+<div class="ttc" id="anamespacetvm_1_1topi_html_adae7dcb7e951109ba72192202d182994"><div class="ttname"><a href="namespacetvm_1_1topi.html#adae7dcb7e951109ba72192202d182994">tvm::topi::matmul</a></div><div class="ttdeci">tvm::te::Tensor matmul(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, bool trans_a=false, bool trans_b=false, std::string name=&quot;T_matmul&quot;, std::string tag=kMatMul)</div><div class="ttdoc">Creates an operation that calculates a matrix multiplication  [...]
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="anamespacetvm_html_a4bfb789a86d95f6241b50fd26f269c28"><div class="ttname"><a href="namespacetvm.html#a4bfb789a86d95f6241b50fd26f269c28">tvm::cast</a></div><div class="ttdeci">PrimExpr cast(const DataType &amp;t, PrimExpr value, Span span=Span())</div><div class="ttdoc">cast value to type.</div></div>
 <div class="ttc" id="anamespacetvm_html_aafe1271ad5d4be97298fc49679d61599"><div class="ttname"><a href="namespacetvm.html#aafe1271ad5d4be97298fc49679d61599">tvm::sum</a></div><div class="ttdeci">PrimExpr sum(PrimExpr source, ffi::Array&lt; tirx::IterVar &gt; axis, ffi::Array&lt; PrimExpr &gt; init={}, Span span=Span())</div><div class="ttdoc">sum of source expression over axis</div></div>
diff --git a/docs/reference/api/doxygen/detail_2broadcast_8h_source.html b/docs/reference/api/doxygen/detail_2broadcast_8h_source.html
index d976d9aa186..b9fedeb18fd 100644
--- a/docs/reference/api/doxygen/detail_2broadcast_8h_source.html
+++ b/docs/reference/api/doxygen/detail_2broadcast_8h_source.html
@@ -147,7 +147,7 @@ $(function() {
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;      bh.vars1.push_front(bh.all_vars[0]);</div>
 <div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!static_size1 &amp;&amp; !static_size2) {</div>
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;      bh.common_shape.push_front(</div>
-<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          cast_if_needed(common_type, <a class="code" href="namespacetvm_1_1topi.html#a3958ce403be88887da236f753b066fd9">max</a>(shape1[s1_size - i], shape2[s2_size - i])));</div>
+<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;          cast_if_needed(common_type, <a class="code" href="namespacetvm_1_1topi.html#adbe94d8b5a1538983699b3d664e95c39">max</a>(shape1[s1_size - i], shape2[s2_size - i])));</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;      bh.vars1.push_front(bh.all_vars[0]);</div>
 <div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;      bh.vars2.push_front(bh.all_vars[0]);</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!static_size1) {</div>
@@ -229,9 +229,9 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1te_html_ad98d13fdbc71aede147f419e218fc680"><div class="ttname"><a href="namespacetvm_1_1te.html#ad98d13fdbc71aede147f419e218fc680">tvm::te::compute</a></div><div class="ttdeci">Tensor compute(ffi::Array&lt; PrimExpr &gt; shape, FCompute fcompute, std::string name=&quot;tensor&quot;, std::string tag=&quot;&quot;, ffi::Map&lt; ffi::String, ffi::Any &gt; attrs={})</div><div class="ttdoc">Construct a new tensor by computing over shape, using the computat [...]
 <div class="ttc" id="anamespacetvm_1_1tirx_html_a73f079723f7ba66d502edd1315e9dfe5"><div class="ttname"><a href="namespacetvm_1_1tirx.html#a73f079723f7ba66d502edd1315e9dfe5">tvm::tirx::make_zero</a></div><div class="ttdeci">PrimExpr make_zero(DataType t, Span span=Span())</div><div class="ttdoc">Make a const zero expr.</div><div class="ttdef"><b>Definition:</b> op.h:1031</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_ad0f033546039a1ba9e35fcebe3b0c71a"><div class="ttname"><a href="namespacetvm_1_1tirx.html#ad0f033546039a1ba9e35fcebe3b0c71a">tvm::tirx::IntImmNode</a></div><div class="ttdeci">tvm::IntImmNode IntImmNode</div><div class="ttdef"><b>Definition:</b> expr.h:50</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_a3958ce403be88887da236f753b066fd9"><div class="ttname"><a href="namespacetvm_1_1topi.html#a3958ce403be88887da236f753b066fd9">tvm::topi::max</a></div><div class="ttdeci">Tensor max(const Tensor &amp;data, const ffi::Optional&lt; ffi::Array&lt; Integer &gt;&gt; &amp;axis, bool keepdims=false, bool atleast1d=false)</div><div class="ttdoc">Creates an operation that finds the maximum of elements over a given axis.</div><div class="ttdef"><b>Defi [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_a7da4c96db87c1459a2b097b87afd811f"><div class="ttname"><a href="namespacetvm_1_1topi.html#a7da4c96db87c1459a2b097b87afd811f">tvm::topi::cast</a></div><div class="ttdeci">Tensor cast(const Tensor &amp;x, DataType type, std::string name=&quot;T_cast&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Cast each element of x to the given type. If expr is scalar and type is a corresponding vector type,...</div><div class="ttdef"><b>Defi [...]
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_adbe94d8b5a1538983699b3d664e95c39"><div class="ttname"><a href="namespacetvm_1_1topi.html#adbe94d8b5a1538983699b3d664e95c39">tvm::topi::max</a></div><div class="ttdeci">Tensor max(const Tensor &amp;data, const ffi::Optional&lt; ffi::Array&lt; int64_t &gt;&gt; &amp;axis, bool keepdims=false, bool atleast1d=false)</div><div class="ttdoc">Creates an operation that finds the maximum of elements over a given axis.</div><div class="ttdef"><b>Defi [...]
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="anamespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values</div></div>
 <div class="ttc" id="anamespacetvm_html_a41918af1a1dc386388639a9d3ad06c5d"><div class="ttname"><a href="namespacetvm.html#a41918af1a1dc386388639a9d3ad06c5d">tvm::DataType</a></div><div class="ttdeci">runtime::DataType DataType</div><div class="ttdef"><b>Definition:</b> data_type.h:457</div></div>
diff --git a/docs/reference/api/doxygen/device__api_8h_source.html b/docs/reference/api/doxygen/device__api_8h_source.html
index 38dba4ae217..125a1340af7 100644
--- a/docs/reference/api/doxygen/device__api_8h_source.html
+++ b/docs/reference/api/doxygen/device__api_8h_source.html
@@ -331,7 +331,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1runtime_html_ac8a77303649fb143634796b3dc50a286"><div class="ttname"><a href="namespacetvm_1_1runtime.html#ac8a77303649fb143634796b3dc50a286">tvm::runtime::kAllocAlignment</a></div><div class="ttdeci">constexpr int kAllocAlignment</div><div class="ttdoc">Number of bytes each allocation must align to.</div><div class="ttdef"><b>Definition:</b> device_api.h:112</div></div>
 <div class="ttc" id="anamespacetvm_1_1runtime_html_af32398517b6b915361c5716f8e32c16f"><div class="ttname"><a href="namespacetvm_1_1runtime.html#af32398517b6b915361c5716f8e32c16f">tvm::runtime::RemoveRPCSessionMask</a></div><div class="ttdeci">Device RemoveRPCSessionMask(Device dev)</div><div class="ttdoc">Remove the RPC session mask from a Device. RPC clients typically do this when encoding a Device for t...</div><div class="ttdef"><b>Definition:</b> device_api.h:381</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_1_1attr_html_ab0893abc92b86636ebba58931aa63819"><div class="ttname"><a href="namespacetvm_1_1tirx_1_1attr.html#ab0893abc92b86636ebba58931aa63819">tvm::tirx::attr::device_type</a></div><div class="ttdeci">constexpr const char * device_type</div><div class="ttdoc">The device type.</div><div class="ttdef"><b>Definition:</b> stmt.h:1010</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="anamespacetvm_html_a7c2095aed90b2129ba631b90103313a2"><div class="ttname"><a href="namespacetvm.html#a7c2095aed90b2129ba631b90103313a2">tvm::Device</a></div><div class="ttdeci">DLDevice Device</div><div class="ttdef"><b>Definition:</b> device_api.h:43</div></div>
 <div class="ttc" id="aruntime_2base_8h_html"><div class="ttname"><a href="runtime_2base_8h.html">base.h</a></div></div>
diff --git a/docs/reference/api/doxygen/distributed_2struct__info_8h_source.html b/docs/reference/api/doxygen/distributed_2struct__info_8h_source.html
index 253283109c5..10ed0bc7bb6 100644
--- a/docs/reference/api/doxygen/distributed_2struct__info_8h_source.html
+++ b/docs/reference/api/doxygen/distributed_2struct__info_8h_source.html
@@ -127,11 +127,11 @@ $(function() {
 <div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
 <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">   71</a></span>&#160;<span class="keyword">class </span><a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">ShardingNode</a> : <span class="keyword">public</span> <a class="code" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html">PlacementSpecNode</a> {</div>
 <div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160; <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">   74</a></span>&#160;  <a class="code" href="classtvm_1_1Integer.html">Integer</a> <a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">sharding_dim</a>;</div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">   74</a></span>&#160;  int64_t <a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">sharding_dim</a>;</div>
 <div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160; </div>
 <div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a945cee90be1d6c9c56865b15bfd2ba08">   76</a></span>&#160;  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a945cee90be1d6c9c56865b15bfd2ba08">RegisterReflection</a>() {</div>
 <div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    refl::ObjectDef&lt;ShardingNode&gt;().def_ro(<span class="stringliteral">&quot;sharding_dim&quot;</span>, &amp;<a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">ShardingNode::sharding_dim</a>);</div>
+<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    refl::ObjectDef&lt;ShardingNode&gt;().def_ro(<span class="stringliteral">&quot;sharding_dim&quot;</span>, &amp;<a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">ShardingNode::sharding_dim</a>);</div>
 <div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;  }</div>
 <div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
 <div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#afdbab056954d3f051641edd9e03740cf">   81</a></span>&#160;  <a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#afdbab056954d3f051641edd9e03740cf">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;relax.distributed.Sharding&quot;</span>, <a class="code" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.ht [...]
@@ -189,7 +189,6 @@ $(function() {
 <div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;}  <span class="comment">// namespace tvm</span></div>
 <div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160; </div>
 <div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">// TVM_RELAX_DISTRIBUTED_STRUCT_INFO_H_</span></div>
-<div class="ttc" id="aclasstvm_1_1Integer_html"><div class="ttname"><a href="classtvm_1_1Integer.html">tvm::Integer</a></div><div class="ttdoc">Container of constant int that adds more constructors.</div><div class="ttdef"><b>Definition:</b> expr.h:598</div></div>
 <div class="ttc" id="aclasstvm_1_1Span_html"><div class="ttname"><a href="classtvm_1_1Span.html">tvm::Span</a></div><div class="ttdef"><b>Definition:</b> source_map.h:111</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1StructInfoNode_html"><div class="ttname"><a href="classtvm_1_1relax_1_1StructInfoNode.html">tvm::relax::StructInfoNode</a></div><div class="ttdoc">Base type of all structure information.</div><div class="ttdef"><b>Definition:</b> expr.h:108</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1StructInfo_html"><div class="ttname"><a href="classtvm_1_1relax_1_1StructInfo.html">tvm::relax::StructInfo</a></div><div class="ttdoc">Managed reference to StructInfoNode.</div><div class="ttdef"><b>Definition:</b> expr.h:132</div></div>
@@ -225,8 +224,8 @@ $(function() {
 <div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1Placement_html_a26d71bd89d7a3ed475c8d0d9c48b3e39"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1Placement.html#a26d71bd89d7a3ed475c8d0d9c48b3e39">tvm::relax::distributed::Placement::FromText</a></div><div class="ttdeci">static Placement FromText(ffi::String text_repr)</div><div class="ttdoc">replica dim is printed as &quot;R&quot; and sharding dim is printed as &quot;S[i]&quot;.]</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1Placement_html_a4d129958cebee88cd07421e1ed41c9f8"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1Placement.html#a4d129958cebee88cd07421e1ed41c9f8">tvm::relax::distributed::Placement::Placement</a></div><div class="ttdeci">Placement(ffi::Array&lt; PlacementSpec &gt; dim_specs)</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1ShardingNode_html"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html">tvm::relax::distributed::ShardingNode</a></div><div class="ttdef"><b>Definition:</b> struct_info.h:71</div></div>
+<div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1ShardingNode_html_a2e730ccee13a3c16c1e488ba44cc0b47"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">tvm::relax::distributed::ShardingNode::sharding_dim</a></div><div class="ttdeci">int64_t sharding_dim</div><div class="ttdoc">The dimension of tensor we shard.</div><div class="ttdef"><b>Definition:</b> struct_info.h:74</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1ShardingNode_html_a945cee90be1d6c9c56865b15bfd2ba08"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a945cee90be1d6c9c56865b15bfd2ba08">tvm::relax::distributed::ShardingNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition:</b> struct_info.h:76</div></div>
-<div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1ShardingNode_html_aee4143f712805a00079c4f5b91872174"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">tvm::relax::distributed::ShardingNode::sharding_dim</a></div><div class="ttdeci">Integer sharding_dim</div><div class="ttdoc">The dimension of tensor we shard.</div><div class="ttdef"><b>Definition:</b> struct_info.h:74</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1distributed_1_1ShardingNode_html_afdbab056954d3f051641edd9e03740cf"><div class="ttname"><a href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#afdbab056954d3f051641edd9e03740cf">tvm::relax::distributed::ShardingNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;relax.distributed.Sharding&quot;, ShardingNode, PlacementSpecNode)</div></div>
 <div class="ttc" id="anamespacetvm_1_1relax_1_1distributed_html_ace74b0da0d9500ab6811d67b1b98ca78"><div class="ttname"><a href="namespacetvm_1_1relax_1_1distributed.html#ace74b0da0d9500ab6811d67b1b98ca78">tvm::relax::distributed::PlacementSpecKind</a></div><div class="ttdeci">PlacementSpecKind</div><div class="ttdef"><b>Definition:</b> struct_info.h:34</div></div>
 <div class="ttc" id="anamespacetvm_1_1relax_1_1distributed_html_ace74b0da0d9500ab6811d67b1b98ca78a59d915d372d476f7389fe95256c8d889"><div class="ttname"><a href="namespacetvm_1_1relax_1_1distributed.html#ace74b0da0d9500ab6811d67b1b98ca78a59d915d372d476f7389fe95256c8d889">tvm::relax::distributed::PlacementSpecKind::kSharding</a></div><div class="ttdeci">@ kSharding</div></div>
diff --git a/docs/reference/api/doxygen/elemwise_8h_source.html b/docs/reference/api/doxygen/elemwise_8h_source.html
index 445e9e403dc..7a52b2534da 100644
--- a/docs/reference/api/doxygen/elemwise_8h_source.html
+++ b/docs/reference/api/doxygen/elemwise_8h_source.html
@@ -430,7 +430,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1topi_html_aec68ce461f0a1965c27912b9ddb90aa2"><div class="ttname"><a href="namespacetvm_1_1topi.html#aec68ce461f0a1965c27912b9ddb90aa2">tvm::topi::full_like</a></div><div class="ttdeci">Tensor full_like(const Tensor &amp;x, const PrimExpr fill_value, std::string name=&quot;T_full_like&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Creates an operation that construct a tensor with same shape as input tensor, then fill a tensor with...</di [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_aed0d20f9ea6893d02d1bb282a1d991e2"><div class="ttname"><a href="namespacetvm_1_1topi.html#aed0d20f9ea6893d02d1bb282a1d991e2">tvm::topi::erf</a></div><div class="ttdeci">Tensor erf(const Tensor &amp;x, std::string name=&quot;T_&quot; &quot;erf&quot;, std::string tag=kElementWise)</div><div class="ttdef"><b>Definition:</b> elemwise.h:51</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_aeed8d820017900935cc70877f7e327c2"><div class="ttname"><a href="namespacetvm_1_1topi.html#aeed8d820017900935cc70877f7e327c2">tvm::topi::fast_exp</a></div><div class="ttdeci">Tensor fast_exp(const Tensor &amp;x, std::string name=&quot;T_fast_exp&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Fast exponential function implementation.</div><div class="ttdef"><b>Definition:</b> elemwise.h:438</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_af580cd1bea6e862f41c7fad4c4c7eea3"><div class="ttname"><a href="namespacetvm_1_1topi.html#af580cd1bea6e862f41c7fad4c4c7eea3">tvm::topi::sign</a></div><div class="ttdeci">Tensor sign(const Tensor &amp;x, std::string name=&quot;T_sign&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Returns the sign of the tensor.</div><div class="ttdef"><b>Definition:</b> elemwise.h:208</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_af6b3e60333fce92bcf0930e45683a8f6"><div class="ttname"><a href="namespacetvm_1_1topi.html#af6b3e60333fce92bcf0930e45683a8f6">tvm::topi::negative</a></div><div class="ttdeci">Tensor negative(const Tensor &amp;x, std::string name=&quot;T_negative&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Creates an operation that returns the negation of a given tensor.</div><div class="ttdef"><b>Definition:</b> elemwise.h:166</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_af9694f5470ba2cabc19866be3b00fe8d"><div class="ttname"><a href="namespacetvm_1_1topi.html#af9694f5470ba2cabc19866be3b00fe8d">tvm::topi::sinh</a></div><div class="ttdeci">Tensor sinh(const Tensor &amp;x, std::string name=&quot;T_&quot; &quot;sinh&quot;, std::string tag=kElementWise)</div><div class="ttdef"><b>Definition:</b> elemwise.h:66</div></div>
diff --git a/docs/reference/api/doxygen/extern_8h_source.html b/docs/reference/api/doxygen/extern_8h_source.html
index dfb5b3dd96c..1d36a3fd861 100644
--- a/docs/reference/api/doxygen/extern_8h_source.html
+++ b/docs/reference/api/doxygen/extern_8h_source.html
@@ -175,7 +175,7 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1tirx_1_1builtin_html_ae19150b814ff63ecb22c043348a0de19"><div class="ttname"><a href="namespacetvm_1_1tirx_1_1builtin.html#ae19150b814ff63ecb22c043348a0de19">tvm::tirx::builtin::tvm_stack_make_shape</a></div><div class="ttdeci">const Op &amp; tvm_stack_make_shape()</div><div class="ttdoc">Allocate a shape tuple on stack, return the handle.</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_a48cee62fe6d9261257f2da8840670639"><div class="ttname"><a href="namespacetvm_1_1tirx.html#a48cee62fe6d9261257f2da8840670639">tvm::tirx::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type.</div><div class="ttdef"><b>Definition:</b> op.h:1017</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_ae4ab0ac88bc3251f32771f05f2daf7fb"><div class="ttname"><a href="namespacetvm_1_1tirx.html#ae4ab0ac88bc3251f32771f05f2daf7fb">tvm::tirx::decl_buffer</a></div><div class="ttdeci">Buffer decl_buffer(ffi::Array&lt; PrimExpr &gt; shape, DataType dtype=DataType::Float(32), ffi::String name=&quot;buffer&quot;, ffi::String storage_scope=&quot;&quot;, ffi::Optional&lt; ffi::Array&lt; IntImm &gt;&gt; axis_separators=std::nullopt, Span span=Span())</d [...]
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="aoperation_8h_html"><div class="ttname"><a href="operation_8h.html">operation.h</a></div><div class="ttdoc">Operation node can generate one or multiple Tensors.</div></div>
 <div class="ttc" id="atirx_2builtin_8h_html"><div class="ttname"><a href="tirx_2builtin_8h.html">builtin.h</a></div><div class="ttdoc">TIR builtin intrinsics.</div></div>
diff --git a/docs/reference/api/doxygen/functions_b.html b/docs/reference/api/doxygen/functions_b.html
index 1795480c0c0..fbcccdf85fb 100644
--- a/docs/reference/api/doxygen/functions_b.html
+++ b/docs/reference/api/doxygen/functions_b.html
@@ -185,8 +185,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tirx_1_1WhileNode.html#add56c9e8f3d3de9eed39805b183e85ef">tvm::tirx::WhileNode</a>
 </li>
 <li>Bool()
-: <a class="el" href="classtvm_1_1Bool.html#a35cd372573945f0dbb410fe54194c12e">tvm::Bool</a>
-, <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a847b0dfac51f051678f4df417b2b54ab">tvm::runtime::DataType</a>
+: <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a847b0dfac51f051678f4df417b2b54ab">tvm::runtime::DataType</a>
 </li>
 <li>Boolean()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDoc.html#a37e0ce5dbc9eb79a10ad3f7103d551a4">tvm::script::printer::LiteralDoc</a>
diff --git a/docs/reference/api/doxygen/functions_c.html b/docs/reference/api/doxygen/functions_c.html
index 5dd90fc3c5d..c8d5bf9b427 100644
--- a/docs/reference/api/doxygen/functions_c.html
+++ b/docs/reference/api/doxygen/functions_c.html
@@ -79,7 +79,7 @@ $(function() {
 <li>Call()
 : <a class="el" href="classtvm_1_1relax_1_1Call.html#a0d9522c3f2811725dbf27febf898c6b8">tvm::relax::Call</a>
 , <a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a70b9e9c1632058a9bfbaecb00a2926c2">tvm::runtime::vm::Instruction</a>
-, <a class="el" href="classtvm_1_1script_1_1printer_1_1ExprDocNode.html#a84661ae5560b5daf2084443fb8c93e1d">tvm::script::printer::ExprDocNode</a>
+, <a class="el" href="classtvm_1_1script_1_1printer_1_1ExprDocNode.html#aa549f8ca6ea825468d483f13fbc67c5f">tvm::script::printer::ExprDocNode</a>
 , <a class="el" href="classtvm_1_1tirx_1_1Call.html#a8c8d4df1be1375e6235cb0372f0d29e7">tvm::tirx::Call</a>
 </li>
 <li>callbacks
@@ -96,7 +96,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1script_1_1printer_1_1OpCallDocNode.html#adbcf4a3aabbe1d82f73fc2d5f6154f6b">tvm::script::printer::OpCallDocNode</a>
 </li>
 <li>CallPacked()
-: <a class="el" href="classtvm_1_1runtime_1_1SessionObj.html#af5afdb77fe43ac0591c872648ee820d4">tvm::runtime::SessionObj</a>
+: <a class="el" href="classtvm_1_1runtime_1_1SessionObj.html#a3e5a412f242d3e466f9b359852fcc0fa">tvm::runtime::SessionObj</a>
 </li>
 <li>CallPattern()
 : <a class="el" href="classtvm_1_1relax_1_1CallPattern.html#ac023536d9162e5dad42e100b8aa829b9">tvm::relax::CallPattern</a>
@@ -365,11 +365,9 @@ $(function() {
 : <a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html#ac0323caf936e8dc48bcffb6e04a825e8">tvm::relax::ExecBuilderNode</a>
 </li>
 <li>ConvertFallbackValue()
-: <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Bool_01_4.html#ac73448dfdc2021e2e3caa59fe22208f2">tvm::ffi::TypeTraits&lt; Bool &gt;</a>
-, <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html#a2d1f8eb0eaebb896586a4f6914ef1596">tvm::ffi::TypeTraits&lt; FloatImm &gt;</a>
-, <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Integer_01_4.html#a321b3f421359fc7c96cda6c6f30a63ec">tvm::ffi::TypeTraits&lt; Integer &gt;</a>
+: <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html#a2d1f8eb0eaebb896586a4f6914ef1596">tvm::ffi::TypeTraits&lt; FloatImm &gt;</a>
 , <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html#a79540606dfb1f4a4387f561f2404d567">tvm::ffi::TypeTraits&lt; IntImm &gt;</a>
-, <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html#a04a74799009842c47134af601ba06308">tvm::ffi::TypeTraits&lt; PrimExpr &gt;</a>
+, <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html#a017725c5506f79736a76f0e63c3da750">tvm::ffi::TypeTraits&lt; PrimExpr &gt;</a>
 , <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1tirx_1_1StringImm_01_4.html#ab9db51a21bfa9716d3eedc6b88eacf9d">tvm::ffi::TypeTraits&lt; tvm::tirx::StringImm &gt;</a>
 , <a class="el" href="classtvm_1_1PrimExpr.html#a8839598722144f363e11e377ebd6f5ad">tvm::PrimExpr</a>
 </li>
@@ -396,14 +394,14 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#a2f8bed30e62ddd50f02989cbd8a03824">tvm::runtime::DeviceAPI</a>
 </li>
 <li>CopyFrom()
-: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#a6ae739044fd444403bf0a013c5bcd71e">tvm::runtime::Tensor</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#a4d04ea6025670c4853c4b20ce25edfee">tvm::runtime::Tensor</a>
 </li>
 <li>CopyFromAnyViewAfterCheck()
 : <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01relax_1_1NestedMsg_3_01T_01_4_01_4.html#a43468af7a50be0e8cbf2a0c5e4dae793">tvm::ffi::TypeTraits&lt; relax::NestedMsg&lt; T &gt; &gt;</a>
 , <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01runtime_1_1DataType_01_4.html#a4e98a2267c412aa09df7db0f82a1a68a">tvm::ffi::TypeTraits&lt; runtime::DataType &gt;</a>
 </li>
 <li>CopyFromBytes()
-: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#afef33dc37b04ef8cc93f9dcd739ca64b">tvm::runtime::Tensor</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#ab906e1a006435e988b0e3262bf605da9">tvm::runtime::Tensor</a>
 </li>
 <li>CopyFromTo()
 : <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#aa215b42c46dd617a25f8240aa5dbb1b5">tvm::runtime::Tensor</a>
diff --git a/docs/reference/api/doxygen/functions_func_b.html b/docs/reference/api/doxygen/functions_func_b.html
index c0762cdc081..37807b338d3 100644
--- a/docs/reference/api/doxygen/functions_func_b.html
+++ b/docs/reference/api/doxygen/functions_func_b.html
@@ -115,8 +115,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a1c674d0d8c096864759fc8f4e47b180d">tvm::s_tir::ScheduleNode</a>
 </li>
 <li>Bool()
-: <a class="el" href="classtvm_1_1Bool.html#a35cd372573945f0dbb410fe54194c12e">tvm::Bool</a>
-, <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a847b0dfac51f051678f4df417b2b54ab">tvm::runtime::DataType</a>
+: <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a847b0dfac51f051678f4df417b2b54ab">tvm::runtime::DataType</a>
 </li>
 <li>Boolean()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1LiteralDoc.html#a37e0ce5dbc9eb79a10ad3f7103d551a4">tvm::script::printer::LiteralDoc</a>
diff --git a/docs/reference/api/doxygen/functions_func_c.html b/docs/reference/api/doxygen/functions_func_c.html
index f4ae29f0872..1b9856719d8 100644
--- a/docs/reference/api/doxygen/functions_func_c.html
+++ b/docs/reference/api/doxygen/functions_func_c.html
@@ -244,9 +244,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html#ac0323caf936e8dc48bcffb6e04a825e8">tvm::relax::ExecBuilderNode</a>
 </li>
 <li>ConvertFallbackValue()
-: <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Bool_01_4.html#ac73448dfdc2021e2e3caa59fe22208f2">tvm::ffi::TypeTraits&lt; Bool &gt;</a>
-, <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html#a2d1f8eb0eaebb896586a4f6914ef1596">tvm::ffi::TypeTraits&lt; FloatImm &gt;</a>
-, <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Integer_01_4.html#a321b3f421359fc7c96cda6c6f30a63ec">tvm::ffi::TypeTraits&lt; Integer &gt;</a>
+: <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html#a2d1f8eb0eaebb896586a4f6914ef1596">tvm::ffi::TypeTraits&lt; FloatImm &gt;</a>
 , <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html#a79540606dfb1f4a4387f561f2404d567">tvm::ffi::TypeTraits&lt; IntImm &gt;</a>
 , <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html#a04a74799009842c47134af601ba06308">tvm::ffi::TypeTraits&lt; PrimExpr &gt;</a>
 , <a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1tirx_1_1StringImm_01_4.html#ab9db51a21bfa9716d3eedc6b88eacf9d">tvm::ffi::TypeTraits&lt; tvm::tirx::StringImm &gt;</a>
diff --git a/docs/reference/api/doxygen/functions_func_g.html b/docs/reference/api/doxygen/functions_func_g.html
index e46f9335a6d..38a20d2e7fc 100644
--- a/docs/reference/api/doxygen/functions_func_g.html
+++ b/docs/reference/api/doxygen/functions_func_g.html
@@ -94,7 +94,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html#a999c9c506f5019a424ed360ea2aa2ec1">tvm::runtime::ThreadLocalDiscoWorker</a>
 , <a class="el" href="classtvm_1_1s__tir_1_1InstructionKind.html#a7c41f80d94a4cbbfc6823048f5f71abb">tvm::s_tir::InstructionKind</a>
 , <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ProfilerNode.html#a990281a0a3d2b83fbbd4919189e22fda">tvm::s_tir::meta_schedule::ProfilerNode</a>
-, <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a9bfa004e3d543d3ca16ed818624ac789">tvm::s_tir::ScheduleNode</a>
+, <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#abf82babe866a0014516d861c843b7b20">tvm::s_tir::ScheduleNode</a>
 , <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">tvm::script::ir_builder::IRBuilderNode</a>
 , <a class="el" href="classtvm_1_1SourceName.html#a44973bf3009230d58348f4877ec45cba">tvm::SourceName</a>
 , <a class="el" href="classtvm_1_1TargetKind.html#afd5a207d10c4123cf0a6b267de05fad2">tvm::TargetKind</a>
@@ -110,7 +110,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tirx_1_1SizeVar.html#a190d36c4ccf8f063dfca62bbc1b88d76">tvm::tirx::SizeVar</a>
 </li>
 <li>Get()
-: <a class="el" href="classtvm_1_1tirx_1_1SLayoutAxis.html#acb860a83436f0808377b84bd67a1b8ce">tvm::tirx::SLayoutAxis</a>
+: <a class="el" href="classtvm_1_1tirx_1_1SLayoutAxis.html#afc00df2a3fb3363f3958ee3d3f9aef5d">tvm::tirx::SLayoutAxis</a>
 , <a class="el" href="classtvm_1_1tirx_1_1TensorIntrin.html#a71bec3759a0b60fa217ff087db0cfb0c">tvm::tirx::TensorIntrin</a>
 </li>
 <li>get()
diff --git a/docs/reference/api/doxygen/functions_func_i.html b/docs/reference/api/doxygen/functions_func_i.html
index 9c87d95ffe0..c9a4bfe10c4 100644
--- a/docs/reference/api/doxygen/functions_func_i.html
+++ b/docs/reference/api/doxygen/functions_func_i.html
@@ -171,9 +171,6 @@ $(function() {
 <li>IntConstraintsTransform()
 : <a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html#ae7d7105b088a78315e35c7c2e8e7dfa7">tvm::arith::IntConstraintsTransform</a>
 </li>
-<li>Integer()
-: <a class="el" href="classtvm_1_1Integer.html#a2d3969d98441b5b2ee5d8a986a56c410">tvm::Integer</a>
-</li>
 <li>Intersect()
 : <a class="el" href="structtvm_1_1tirx_1_1AxisRange.html#a3f8505ca10d31dfea39717ec671147b2">tvm::tirx::AxisRange</a>
 </li>
@@ -186,9 +183,6 @@ $(function() {
 <li>IntImm()
 : <a class="el" href="classtvm_1_1IntImm.html#ad37f61019092f5201cf9e0500b75afe2">tvm::IntImm</a>
 </li>
-<li>IntValue()
-: <a class="el" href="classtvm_1_1Integer.html#abae4eff906166502c2a982e8a121d81d">tvm::Integer</a>
-</li>
 <li>Inverse()
 : <a class="el" href="classtvm_1_1tirx_1_1IndexMap.html#a7e855a23d8d9957a5ee5a360c0ae98ba">tvm::tirx::IndexMap</a>
 </li>
@@ -199,13 +193,13 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">tvm::script::ir_builder::IRBuilder</a>
 </li>
 <li>IRBuilderFrame()
-: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a4ab7fb335968d6947f88b7b934c56354">tvm::script::ir_builder::IRBuilderFrame</a>
+: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a19c27854e60bac1bfd7e7719adf9710e">tvm::script::ir_builder::IRBuilderFrame</a>
 </li>
 <li>IRDocsifier()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifier.html#a60a26de78df55aa69eece257efb188f7">tvm::script::printer::IRDocsifier</a>
 </li>
 <li>IRModule()
-: <a class="el" href="classtvm_1_1IRModule.html#aa5b953b721399f77c5c3050d08232ab2">tvm::IRModule</a>
+: <a class="el" href="classtvm_1_1IRModule.html#aff08d9163f1bf84455f84ef2c51c2cee">tvm::IRModule</a>
 </li>
 <li>IRModuleFrame()
 : <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1ir_1_1IRModuleFrame.html#ab4e87ced5396fb097b4c49a636c86bde">tvm::script::ir_builder::ir::IRModuleFrame</a>
diff --git a/docs/reference/api/doxygen/functions_func_m.html b/docs/reference/api/doxygen/functions_func_m.html
index 268fadf0a62..9014bce2bc1 100644
--- a/docs/reference/api/doxygen/functions_func_m.html
+++ b/docs/reference/api/doxygen/functions_func_m.html
@@ -156,7 +156,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a0277f131e24f5aa8204383b0acf4cd47">tvm::s_tir::meta_schedule::ScheduleRule</a>
 </li>
 <li>MultiLevelTilingWideVector()
-: <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#af5b8fdc3eb791008b72f8fc6a2f4c553">tvm::s_tir::meta_schedule::ScheduleRule</a>
+: <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#ad66ac6399a485947bf7819691a518a00">tvm::s_tir::meta_schedule::ScheduleRule</a>
 </li>
 <li>MultiLevelTilingWithIntrin()
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a07961d1b85894837881c960c96891bcc">tvm::s_tir::meta_schedule::ScheduleRule</a>
diff --git a/docs/reference/api/doxygen/functions_func_o.html b/docs/reference/api/doxygen/functions_func_o.html
index b9be82b862e..9c759451807 100644
--- a/docs/reference/api/doxygen/functions_func_o.html
+++ b/docs/reference/api/doxygen/functions_func_o.html
@@ -94,9 +94,6 @@ $(function() {
 <li>OperationDoc()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDoc.html#a4cb1202058caaf27c3ed6f2951af28e3">tvm::script::printer::OperationDoc</a>
 </li>
-<li>operator bool()
-: <a class="el" href="classtvm_1_1Bool.html#a01580c15a0d6db0ae60dfaa39f2aa044">tvm::Bool</a>
-</li>
 <li>operator Diagnostic()
 : <a class="el" href="classtvm_1_1DiagnosticBuilder.html#a0998ae1d0fd97aec790294f10984ca31">tvm::DiagnosticBuilder</a>
 </li>
@@ -110,12 +107,8 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab4d687e16bdccebe425e327fc3f2f4ba">tvm::te::Tensor::Slice</a>
 , <a class="el" href="classtvm_1_1tirx_1_1IterVar.html#af43e201d382259b57fe5328c2d573de0">tvm::tirx::IterVar</a>
 </li>
-<li>operator!()
-: <a class="el" href="classtvm_1_1Bool.html#a00a5153c31270c6ec308a516cd46f7fb">tvm::Bool</a>
-</li>
 <li>operator!=()
-: <a class="el" href="classtvm_1_1Integer.html#a49869e0f187d66dcd00568d3e953fc04">tvm::Integer</a>
-, <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#ae2848ef30c8566feec482c045bd27673">tvm::relax::NestedMsg&lt; T &gt;</a>
+: <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#ae2848ef30c8566feec482c045bd27673">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a6d6ab7decc5088571f58fd7ab48006ac">tvm::runtime::DataType</a>
 , <a class="el" href="classtvm_1_1te_1_1Tensor.html#a9b3e114d34dda7e093663a9a9548140f">tvm::te::Tensor</a>
 </li>
@@ -193,19 +186,17 @@ $(function() {
 <li>operator=()
 : <a class="el" href="classtvm_1_1arith_1_1Analyzer.html#a9dccc7d98b8b9465390e10436d3a9178">tvm::arith::Analyzer</a>
 , <a class="el" href="classtvm_1_1DictAttrs.html#ad29ae264d251833bcbed124dac649611">tvm::DictAttrs</a>
-, <a class="el" href="classtvm_1_1Integer.html#ad538a2ae6f636b3ce38fb4162b1c2549">tvm::Integer</a>
-, <a class="el" href="classtvm_1_1relax_1_1Binding.html#a68b6bdbf12f84308d5b8962ebec1033b">tvm::relax::Binding</a>
-, <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a46c69e0cd645bc622a9c5dbb12b8e77e">tvm::relax::NestedMsg&lt; T &gt;</a>
+, <a class="el" href="classtvm_1_1relax_1_1Binding.html#a41fe7fc6d4c3e0e8d238483a03f2ad2a">tvm::relax::Binding</a>
+, <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a682c082ae802d10b1882d20cdd84e1e4">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a3453c3a99d0bb6fcebf5a3629c8d37bb">tvm::runtime::DataType</a>
 , <a class="el" href="classtvm_1_1support_1_1NVTXScopedRange.html#a40636ab243b6312627066b8586a54565">tvm::support::NVTXScopedRange</a>
 , <a class="el" href="classtvm_1_1TensorMapType.html#a1bddb9823742566f53c0a76f6f3acef7">tvm::TensorMapType</a>
 , <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#aab332907b9f98876f441f6403b801187">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
-, <a class="el" href="classtvm_1_1With.html#a58eb9398800f9889de022ddbb348921f">tvm::With&lt; ContextType &gt;</a>
+, <a class="el" href="classtvm_1_1With.html#a09cd315fd01e433ff9e5cf648d9bb948">tvm::With&lt; ContextType &gt;</a>
 , <a class="el" href="classtvm_1_1WithGroup.html#ae944dc9aa6abb140cfd7727f5ed78f12">tvm::WithGroup&lt; ContextType &gt;</a>
 </li>
 <li>operator==()
-: <a class="el" href="classtvm_1_1Integer.html#a5b9ad6d47c7c6df5a066d58f6ba65f8e">tvm::Integer</a>
-, <a class="el" href="structtvm_1_1relax_1_1distributed_1_1Axis.html#ac5e307aff75059a749801a925a0a6522">tvm::relax::distributed::Axis</a>
+: <a class="el" href="structtvm_1_1relax_1_1distributed_1_1Axis.html#ac5e307aff75059a749801a925a0a6522">tvm::relax::distributed::Axis</a>
 , <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a7ff83c8d829af5173621b5ee4083035d">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="structtvm_1_1relax_1_1PairCons.html#aa6cbcacb9599e8119f89f814fb5b1b8f">tvm::relax::PairCons</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a806810d87352f5c2bac1ad4e8d086a01">tvm::runtime::DataType</a>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index 1b0bb84277b..10e1b07c469 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -703,8 +703,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1DRefObj.html#a18ed3c1a2f001484e33295fd0b7476aa">tvm::runtime::DRefObj</a>
 </li>
 <li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE()
-: <a class="el" href="classtvm_1_1Bool.html#a01b794772c1664083627dd667ef8b093">tvm::Bool</a>
-, <a class="el" href="classtvm_1_1Diagnostic.html#a82290a156139d02a4a711491b511e8dc">tvm::Diagnostic</a>
+: <a class="el" href="classtvm_1_1Diagnostic.html#a82290a156139d02a4a711491b511e8dc">tvm::Diagnostic</a>
 , <a class="el" href="classtvm_1_1DiagnosticContext.html#a730c63e2c0b79968a8be1564c2123e8a">tvm::DiagnosticContext</a>
 , <a class="el" href="classtvm_1_1DiagnosticRenderer.html#a541d4a68d758b5e54f96f584f78a6425">tvm::DiagnosticRenderer</a>
 , <a class="el" href="classtvm_1_1GlobalVarSupply.html#a36d5c5b7e568bff2985dd8fc0790b203">tvm::GlobalVarSupply</a>
diff --git a/docs/reference/api/doxygen/functions_g.html b/docs/reference/api/doxygen/functions_g.html
index b071d2b9c2e..3285c4e0db2 100644
--- a/docs/reference/api/doxygen/functions_g.html
+++ b/docs/reference/api/doxygen/functions_g.html
@@ -94,7 +94,7 @@ $(function() {
 , <a class="el" href="structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html#a999c9c506f5019a424ed360ea2aa2ec1">tvm::runtime::ThreadLocalDiscoWorker</a>
 , <a class="el" href="classtvm_1_1s__tir_1_1InstructionKind.html#a7c41f80d94a4cbbfc6823048f5f71abb">tvm::s_tir::InstructionKind</a>
 , <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ProfilerNode.html#a990281a0a3d2b83fbbd4919189e22fda">tvm::s_tir::meta_schedule::ProfilerNode</a>
-, <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a9bfa004e3d543d3ca16ed818624ac789">tvm::s_tir::ScheduleNode</a>
+, <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#abf82babe866a0014516d861c843b7b20">tvm::s_tir::ScheduleNode</a>
 , <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">tvm::script::ir_builder::IRBuilderNode</a>
 , <a class="el" href="classtvm_1_1SourceName.html#a44973bf3009230d58348f4877ec45cba">tvm::SourceName</a>
 , <a class="el" href="classtvm_1_1TargetKind.html#afd5a207d10c4123cf0a6b267de05fad2">tvm::TargetKind</a>
@@ -115,7 +115,7 @@ $(function() {
 </li>
 <li>get()
 : <a class="el" href="classtvm_1_1tirx_1_1Var.html#afa14cb42999f93337038bb25ad247a38">tvm::tirx::Var</a>
-, <a class="el" href="classtvm_1_1With.html#a54ab86b1e1f78e9304d8b89c97eb07af">tvm::With&lt; ContextType &gt;</a>
+, <a class="el" href="classtvm_1_1With.html#acc09c3d117aa5500f8579e18866209f8">tvm::With&lt; ContextType &gt;</a>
 </li>
 <li>get_lanes_or_vscale_factor()
 : <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a0e7a2a8061a945809d84aef0bbda975a">tvm::runtime::DataType</a>
diff --git a/docs/reference/api/doxygen/functions_i.html b/docs/reference/api/doxygen/functions_i.html
index 48c996513f3..5cff6d89532 100644
--- a/docs/reference/api/doxygen/functions_i.html
+++ b/docs/reference/api/doxygen/functions_i.html
@@ -145,7 +145,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tirx_1_1IndexMapNode.html#a5a248dc1754f4ab7542649d239f5385c">tvm::tirx::IndexMapNode</a>
 </li>
 <li>IndexOf()
-: <a class="el" href="classtvm_1_1tirx_1_1SLayout.html#a3ac84dcb3b8efb863461a9a4772ca4bf">tvm::tirx::SLayout</a>
+: <a class="el" href="classtvm_1_1tirx_1_1SLayout.html#a0b8b58402c140e48bad57a9828913a55">tvm::tirx::SLayout</a>
 </li>
 <li>IndexWithNegativeIndices()
 : <a class="el" href="classtvm_1_1te_1_1Tensor.html#a473c010f36297e4091bc476a1a88cd51">tvm::te::Tensor</a>
@@ -273,9 +273,6 @@ $(function() {
 <li>IntConstraintsTransform()
 : <a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html#ae7d7105b088a78315e35c7c2e8e7dfa7">tvm::arith::IntConstraintsTransform</a>
 </li>
-<li>Integer()
-: <a class="el" href="classtvm_1_1Integer.html#a962f080ada680921fbfff0846553ec33">tvm::Integer</a>
-</li>
 <li>inter
 : <a class="el" href="classtvm_1_1tirx_1_1DispatchContextNode.html#a777d0881ca04c957e934b67243f55377">tvm::tirx::DispatchContextNode</a>
 , <a class="el" href="structtvm_1_1tirx_1_1ExecSplit.html#a5a8518b2b8835870ac0e46ab635c682b">tvm::tirx::ExecSplit</a>
@@ -299,9 +296,6 @@ $(function() {
 : <a class="el" href="classtvm_1_1tirx_1_1DispatchContextNode.html#aa76b05f7bc7fe23564e9bc79b7fbbd05">tvm::tirx::DispatchContextNode</a>
 , <a class="el" href="structtvm_1_1tirx_1_1ExecSplit.html#a9eaada94eb8dfc1c0e87ba65b766ed1b">tvm::tirx::ExecSplit</a>
 </li>
-<li>IntValue()
-: <a class="el" href="classtvm_1_1Integer.html#abae4eff906166502c2a982e8a121d81d">tvm::Integer</a>
-</li>
 <li>invalid_to_bottom
 : <a class="el" href="structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html#adfdec18ca328f0da07f04136d2df8f5c">tvm::relax::NonMaximumSuppressionAttrs</a>
 </li>
@@ -327,7 +321,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">tvm::script::ir_builder::IRBuilder</a>
 </li>
 <li>IRBuilderFrame()
-: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a4ab7fb335968d6947f88b7b934c56354">tvm::script::ir_builder::IRBuilderFrame</a>
+: <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a19c27854e60bac1bfd7e7719adf9710e">tvm::script::ir_builder::IRBuilderFrame</a>
 </li>
 <li>IRDocsifier()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifier.html#a60a26de78df55aa69eece257efb188f7">tvm::script::printer::IRDocsifier</a>
diff --git a/docs/reference/api/doxygen/functions_m.html b/docs/reference/api/doxygen/functions_m.html
index ae52abe5e42..71e9e7abe1e 100644
--- a/docs/reference/api/doxygen/functions_m.html
+++ b/docs/reference/api/doxygen/functions_m.html
@@ -246,7 +246,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a0277f131e24f5aa8204383b0acf4cd47">tvm::s_tir::meta_schedule::ScheduleRule</a>
 </li>
 <li>MultiLevelTilingWideVector()
-: <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#af5b8fdc3eb791008b72f8fc6a2f4c553">tvm::s_tir::meta_schedule::ScheduleRule</a>
+: <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#ad66ac6399a485947bf7819691a518a00">tvm::s_tir::meta_schedule::ScheduleRule</a>
 </li>
 <li>MultiLevelTilingWithIntrin()
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html#a07961d1b85894837881c960c96891bcc">tvm::s_tir::meta_schedule::ScheduleRule</a>
diff --git a/docs/reference/api/doxygen/functions_n.html b/docs/reference/api/doxygen/functions_n.html
index ed0afc4206a..0fe224395fb 100644
--- a/docs/reference/api/doxygen/functions_n.html
+++ b/docs/reference/api/doxygen/functions_n.html
@@ -119,7 +119,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1NameSupply.html#a602330d065892f4bb2f520f9fec85bae">tvm::NameSupply</a>
 </li>
 <li>NameSupplyNode()
-: <a class="el" href="classtvm_1_1NameSupplyNode.html#aba5bb3284648f9f8740eb76500499a12">tvm::NameSupplyNode</a>
+: <a class="el" href="classtvm_1_1NameSupplyNode.html#a34ec45a82ec4625e85276751cbcd7214">tvm::NameSupplyNode</a>
 </li>
 <li>nbytes
 : <a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html#a9df185ddc0f1a9553c13451bd5459805">tvm::runtime::vm::TensorCacheMetadata::FileRecord</a>
diff --git a/docs/reference/api/doxygen/functions_o.html b/docs/reference/api/doxygen/functions_o.html
index ae025bd23db..46e1709e2a5 100644
--- a/docs/reference/api/doxygen/functions_o.html
+++ b/docs/reference/api/doxygen/functions_o.html
@@ -121,14 +121,11 @@ $(function() {
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDocNode.html#a2d6086cff6613d467c7606a1a71c7e63">tvm::script::printer::OperationDocNode</a>
 </li>
 <li>Operation()
-: <a class="el" href="classtvm_1_1te_1_1Operation.html#a913f10b472f50814c9b54b0dba1e015b">tvm::te::Operation</a>
+: <a class="el" href="classtvm_1_1te_1_1Operation.html#a7bc69f793cb5cbc99bf20fed8617d487">tvm::te::Operation</a>
 </li>
 <li>OperationDoc()
 : <a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDoc.html#a4cb1202058caaf27c3ed6f2951af28e3">tvm::script::printer::OperationDoc</a>
 </li>
-<li>operator bool()
-: <a class="el" href="classtvm_1_1Bool.html#a01580c15a0d6db0ae60dfaa39f2aa044">tvm::Bool</a>
-</li>
 <li>operator Diagnostic()
 : <a class="el" href="classtvm_1_1DiagnosticBuilder.html#a0998ae1d0fd97aec790294f10984ca31">tvm::DiagnosticBuilder</a>
 </li>
@@ -142,12 +139,8 @@ $(function() {
 : <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab4d687e16bdccebe425e327fc3f2f4ba">tvm::te::Tensor::Slice</a>
 , <a class="el" href="classtvm_1_1tirx_1_1IterVar.html#af43e201d382259b57fe5328c2d573de0">tvm::tirx::IterVar</a>
 </li>
-<li>operator!()
-: <a class="el" href="classtvm_1_1Bool.html#a00a5153c31270c6ec308a516cd46f7fb">tvm::Bool</a>
-</li>
 <li>operator!=()
-: <a class="el" href="classtvm_1_1Integer.html#a49869e0f187d66dcd00568d3e953fc04">tvm::Integer</a>
-, <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#ae2848ef30c8566feec482c045bd27673">tvm::relax::NestedMsg&lt; T &gt;</a>
+: <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#ae2848ef30c8566feec482c045bd27673">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a6d6ab7decc5088571f58fd7ab48006ac">tvm::runtime::DataType</a>
 , <a class="el" href="classtvm_1_1te_1_1Tensor.html#a9b3e114d34dda7e093663a9a9548140f">tvm::te::Tensor</a>
 </li>
@@ -183,7 +176,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tirx_1_1StmtFunctor_3_01R_07const_01Stmt_01_6n_00_01Args_8_8_8_01args_08_4.html#a35fcfc479856d66f107f25bba40b3a74">tvm::tirx::StmtFunctor&lt; R(const Stmt &amp;n, Args... args)&gt;</a>
 , <a class="el" href="classtvm_1_1tirx_1_1StmtMutator.html#a13ab241779b65fb1f55970ddac2cfb0a">tvm::tirx::StmtMutator</a>
 , <a class="el" href="classtvm_1_1transform_1_1Pass.html#af079c38d004ae68e13b628e435d05155">tvm::transform::Pass</a>
-, <a class="el" href="classtvm_1_1transform_1_1PassNode.html#aabc84eaa330431731fb78dbfe599c40e">tvm::transform::PassNode</a>
+, <a class="el" href="classtvm_1_1transform_1_1PassNode.html#a26ca942683b0476e0d9f72b126b1776f">tvm::transform::PassNode</a>
 , <a class="el" href="classtvm_1_1transform_1_1SequentialNode.html#a554bc243c2f608a1b6b63555b2fa3340">tvm::transform::SequentialNode</a>
 , <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#ac68694f5b98e92eabc7f247d29ec5a06">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a>
 , <a class="el" href="classtvm_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#a6a5a88b9910c4d8d169d3059a70cc22c">tvm::TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;</a>
@@ -228,7 +221,6 @@ $(function() {
 <li>operator=()
 : <a class="el" href="classtvm_1_1arith_1_1Analyzer.html#a9dccc7d98b8b9465390e10436d3a9178">tvm::arith::Analyzer</a>
 , <a class="el" href="classtvm_1_1DictAttrs.html#ad29ae264d251833bcbed124dac649611">tvm::DictAttrs</a>
-, <a class="el" href="classtvm_1_1Integer.html#ad538a2ae6f636b3ce38fb4162b1c2549">tvm::Integer</a>
 , <a class="el" href="classtvm_1_1relax_1_1Binding.html#a68b6bdbf12f84308d5b8962ebec1033b">tvm::relax::Binding</a>
 , <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a46c69e0cd645bc622a9c5dbb12b8e77e">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a3453c3a99d0bb6fcebf5a3629c8d37bb">tvm::runtime::DataType</a>
@@ -239,8 +231,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1WithGroup.html#a5b9b7f5f0cc436a8126c1d20fbf88e8a">tvm::WithGroup&lt; ContextType &gt;</a>
 </li>
 <li>operator==()
-: <a class="el" href="classtvm_1_1Integer.html#a5b9ad6d47c7c6df5a066d58f6ba65f8e">tvm::Integer</a>
-, <a class="el" href="structtvm_1_1relax_1_1distributed_1_1Axis.html#ac5e307aff75059a749801a925a0a6522">tvm::relax::distributed::Axis</a>
+: <a class="el" href="structtvm_1_1relax_1_1distributed_1_1Axis.html#ac5e307aff75059a749801a925a0a6522">tvm::relax::distributed::Axis</a>
 , <a class="el" href="classtvm_1_1relax_1_1NestedMsg.html#a7ff83c8d829af5173621b5ee4083035d">tvm::relax::NestedMsg&lt; T &gt;</a>
 , <a class="el" href="structtvm_1_1relax_1_1PairCons.html#aa6cbcacb9599e8119f89f814fb5b1b8f">tvm::relax::PairCons</a>
 , <a class="el" href="classtvm_1_1runtime_1_1DataType.html#a806810d87352f5c2bac1ad4e8d086a01">tvm::runtime::DataType</a>
diff --git a/docs/reference/api/doxygen/functions_s.html b/docs/reference/api/doxygen/functions_s.html
index 24100c7a1e3..d1b76bd62a8 100644
--- a/docs/reference/api/doxygen/functions_s.html
+++ b/docs/reference/api/doxygen/functions_s.html
@@ -397,7 +397,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpec.html#ab015927f5000147be0b33589bad52b69">tvm::relax::distributed::PlacementSpec</a>
 </li>
 <li>sharding_dim
-: <a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">tvm::relax::distributed::ShardingNode</a>
+: <a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">tvm::relax::distributed::ShardingNode</a>
 </li>
 <li>shared_state
 : <a class="el" href="classtvm_1_1tirx_1_1DispatchContextNode.html#a22bc09047e9dda15e44882b350676a1c">tvm::tirx::DispatchContextNode</a>
@@ -462,7 +462,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tirx_1_1SizeVar.html#a18a105ca58b10c3bccda62125634abbc">tvm::tirx::SizeVar</a>
 </li>
 <li>SLayout()
-: <a class="el" href="classtvm_1_1tirx_1_1SLayout.html#a7644f83479b37d999300b65e475dcc85">tvm::tirx::SLayout</a>
+: <a class="el" href="classtvm_1_1tirx_1_1SLayout.html#a33961a815fbf438e38c526c3b0de2dc3">tvm::tirx::SLayout</a>
 </li>
 <li>Slice()
 : <a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab314819e8bcca6421e9a4f33e48578c3">tvm::te::Tensor::Slice</a>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index 875ee4b1384..b5ff5e4ebce 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -139,7 +139,7 @@ $(function() {
 : <a class="el" href="structtvm_1_1relax_1_1distributed_1_1Axis.html#af05e0215bba34ea04ed67a5bedf9f8d0">tvm::relax::distributed::Axis</a>
 </li>
 <li>Tensor()
-: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#a13828a9652f856b2e654c143cd29eee6">tvm::runtime::Tensor</a>
+: <a class="el" href="classtvm_1_1runtime_1_1Tensor.html#a8085ce0b6b5ac75d2c599e0a8e50fa92">tvm::runtime::Tensor</a>
 , <a class="el" href="classtvm_1_1te_1_1Tensor.html#a27b4276ab6a34d81f93ec4a1098873bc">tvm::te::Tensor</a>
 </li>
 <li>tensor_sinfo
@@ -158,10 +158,10 @@ $(function() {
 : <a class="el" href="classtvm_1_1tirx_1_1TensorIntrin.html#a68f17ac226b44c1124952b88c9eb5873">tvm::tirx::TensorIntrin</a>
 </li>
 <li>Tensorize()
-: <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#abae17c106839bb20f74190e2ba4745f3">tvm::s_tir::ScheduleNode</a>
+: <a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#ae3808006fe45a7b619f6639359c4ab54">tvm::s_tir::ScheduleNode</a>
 </li>
 <li>TensorMapType()
-: <a class="el" href="classtvm_1_1TensorMapType.html#a159b7cac49553b777e9ece0dd1218b71">tvm::TensorMapType</a>
+: <a class="el" href="classtvm_1_1TensorMapType.html#ac53f89797340d233d4fbd98b7aac6883">tvm::TensorMapType</a>
 </li>
 <li>TensorStructInfo()
 : <a class="el" href="classtvm_1_1relax_1_1TensorStructInfo.html#a688c9bc680651490a187569499f75c51">tvm::relax::TensorStructInfo</a>
@@ -336,7 +336,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecord.html#a949675c555b5880580082b0dc856c5c0">tvm::s_tir::meta_schedule::TuningRecord</a>
 </li>
 <li>Tuple()
-: <a class="el" href="classtvm_1_1relax_1_1Tuple.html#a0934a4851c4180480d0240c4c10098ba">tvm::relax::Tuple</a>
+: <a class="el" href="classtvm_1_1relax_1_1Tuple.html#acf7c954944d0cf0f3ce555a88207cfdd">tvm::relax::Tuple</a>
 </li>
 <li>tuple
 : <a class="el" href="classtvm_1_1relax_1_1TupleGetItemNode.html#adbcebfaec8bf19152dd8cbb31952b667">tvm::relax::TupleGetItemNode</a>
@@ -850,8 +850,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1runtime_1_1DRefObj.html#a18ed3c1a2f001484e33295fd0b7476aa">tvm::runtime::DRefObj</a>
 </li>
 <li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE()
-: <a class="el" href="classtvm_1_1Bool.html#a01b794772c1664083627dd667ef8b093">tvm::Bool</a>
-, <a class="el" href="classtvm_1_1Diagnostic.html#a82290a156139d02a4a711491b511e8dc">tvm::Diagnostic</a>
+: <a class="el" href="classtvm_1_1Diagnostic.html#a82290a156139d02a4a711491b511e8dc">tvm::Diagnostic</a>
 , <a class="el" href="classtvm_1_1DiagnosticContext.html#a730c63e2c0b79968a8be1564c2123e8a">tvm::DiagnosticContext</a>
 , <a class="el" href="classtvm_1_1DiagnosticRenderer.html#a541d4a68d758b5e54f96f584f78a6425">tvm::DiagnosticRenderer</a>
 , <a class="el" href="classtvm_1_1GlobalVarSupply.html#a36d5c5b7e568bff2985dd8fc0790b203">tvm::GlobalVarSupply</a>
diff --git a/docs/reference/api/doxygen/functions_v.html b/docs/reference/api/doxygen/functions_v.html
index d12d3e6a420..165cb3ebb89 100644
--- a/docs/reference/api/doxygen/functions_v.html
+++ b/docs/reference/api/doxygen/functions_v.html
@@ -119,7 +119,7 @@ $(function() {
 , <a class="el" href="classtvm_1_1tirx_1_1LetNode.html#acb79532c1ca67a7b6f64a8d6270b5354">tvm::tirx::LetNode</a>
 </li>
 <li>Var()
-: <a class="el" href="classtvm_1_1tirx_1_1Var.html#a71a5f2ce6ae62ef67bc5a171d68c2de4">tvm::tirx::Var</a>
+: <a class="el" href="classtvm_1_1tirx_1_1Var.html#ac54ff2fdbfdeb0add67235890e9f8ea8">tvm::tirx::Var</a>
 </li>
 <li>var_name
 : <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">tvm::script::ir_builder::relax::IfFrameNode</a>
diff --git a/docs/reference/api/doxygen/functions_vars_s.html b/docs/reference/api/doxygen/functions_vars_s.html
index 4211432960e..7aaa8df2067 100644
--- a/docs/reference/api/doxygen/functions_vars_s.html
+++ b/docs/reference/api/doxygen/functions_vars_s.html
@@ -144,7 +144,7 @@ $(function() {
 : <a class="el" href="classtvm_1_1tirx_1_1TileLayoutNode.html#a47766d6581a03265f905fdbe012fa369">tvm::tirx::TileLayoutNode</a>
 </li>
 <li>sharding_dim
-: <a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#aee4143f712805a00079c4f5b91872174">tvm::relax::distributed::ShardingNode</a>
+: <a class="el" href="classtvm_1_1relax_1_1distributed_1_1ShardingNode.html#a2e730ccee13a3c16c1e488ba44cc0b47">tvm::relax::distributed::ShardingNode</a>
 </li>
 <li>shared_state
 : <a class="el" href="classtvm_1_1tirx_1_1DispatchContextNode.html#a22bc09047e9dda15e44882b350676a1c">tvm::tirx::DispatchContextNode</a>
diff --git a/docs/reference/api/doxygen/group__norm_8h.html b/docs/reference/api/doxygen/group__norm_8h.html
index b55b48aa618..8b8c3af6692 100644
--- a/docs/reference/api/doxygen/group__norm_8h.html
+++ b/docs/reference/api/doxygen/group__norm_8h.html
@@ -100,8 +100,8 @@ Namespaces</h2></td></tr>
 </table><table class="memberdecls">
 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
 Functions</h2></td></tr>
-<tr class="memitem:abfb6f3dd83f0cc2f88dab087d98a4c9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">tvm::topi::nn::group_norm</a> (const <a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> &amp;data, const <a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> &amp;gamm [...]
-<tr class="separator:abfb6f3dd83f0cc2f88dab087d98a4c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a66e479b372c12cb920451789d664cd04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">tvm::topi::nn::group_norm</a> (const <a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> &amp;data, const <a class="el" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> &amp;gamm [...]
+<tr class="separator:a66e479b372c12cb920451789d664cd04"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
 <div class="textblock"><p>group normalization op constructions </p>
diff --git a/docs/reference/api/doxygen/group__norm_8h_source.html b/docs/reference/api/doxygen/group__norm_8h_source.html
index 5d5772e036f..9fe5ccf41fb 100644
--- a/docs/reference/api/doxygen/group__norm_8h_source.html
+++ b/docs/reference/api/doxygen/group__norm_8h_source.html
@@ -103,8 +103,8 @@ $(function() {
 <div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160; </div>
 <div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="keyword">using namespace </span><a class="code" href="namespacetvm_1_1te.html">tvm::te</a>;</div>
 <div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">   39</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1te_1_1Tensor.html">Tensor</a>&amp; data, <span c [...]
-<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                         <span class="keywordtype">int</span> num_groups, <span class="keywordtype">int</span> channel_axis, <span class="keyword">const</span> ffi::Array&lt;Integer&gt;&amp; axes,</div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">   39</a></span>&#160;<span class="keyword">inline</span> <a class="code" href="classtvm_1_1te_1_1Tensor.html">Tensor</a> <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1te_1_1Tensor.html">Tensor</a>&amp; data, <span c [...]
+<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;                         <span class="keywordtype">int</span> num_groups, <span class="keywordtype">int</span> channel_axis, <span class="keyword">const</span> ffi::Array&lt;int64_t&gt;&amp; axes,</div>
 <div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;                         <span class="keywordtype">double</span> epsilon, std::string name = <span class="stringliteral">&quot;T_group_norm&quot;</span>,</div>
 <div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;                         std::string tag = <a class="code" href="namespacetvm_1_1topi.html#a29e22aa45900dad3b6f9f705bb1dc688">kInjective</a>) {</div>
 <div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;  <span class="keyword">const</span> <span class="keyword">auto</span>&amp; data_type = data-&gt;dtype;</div>
@@ -117,7 +117,7 @@ $(function() {
 <div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;  <span class="keywordtype">bool</span> is_float16 = data_type == <a class="code" href="classtvm_1_1runtime_1_1DataType.html#a237a714a6a16e14aa01fa4ac52426551">DataType::Float</a>(16);</div>
 <div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;  <span class="comment">// reshape data C -&gt; G, C/G</span></div>
 <div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  <span class="keywordtype">int</span> ndim = data-&gt;shape.size();</div>
-<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  channel_axis = <a class="code" href="namespacetvm_1_1topi.html#a0f35817be97236f9fae00b8eff7f9427">GetRealAxis</a>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(ndim), ffi::Array&lt;Integer&gt;({channel_axis}))[0];</div>
+<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;  channel_axis = <a class="code" href="namespacetvm_1_1topi.html#ac8837f0efcfd076e297077843ccdfcb5">GetRealAxis</a>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(ndim), ffi::Array&lt;int64_t&gt;({channel_axis}))[0];</div>
 <div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160; </div>
 <div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;  <span class="keyword">auto</span> <a class="code" href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">shape</a> = data-&gt;shape;</div>
 <div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;  <span class="keyword">auto</span> group_size = <a class="code" href="namespacetvm.html#af347f10e3572adb2d74ba4a53777db2b">floordiv</a>(<a class="code" href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">shape</a>[channel_axis], num_groups);</div>
@@ -149,7 +149,7 @@ $(function() {
 <div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;  <span class="comment">// get the new axes to normalize after reshape</span></div>
 <div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;  std::vector&lt;int&gt; new_axes{channel_axis + 1};</div>
 <div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;  <span class="keywordflow">for</span> (<span class="keyword">auto</span> axis : axes) {</div>
-<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">int</span> new_axis = <a class="code" href="namespacetvm_1_1topi.html#a0f35817be97236f9fae00b8eff7f9427">GetRealAxis</a>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(ndim), ffi::Array&lt;Integer&gt;({axis}))[0];</div>
+<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordtype">int</span> new_axis = <a class="code" href="namespacetvm_1_1topi.html#ac8837f0efcfd076e297077843ccdfcb5">GetRealAxis</a>(<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span><span class="keyword">&gt;</span>(ndim), ffi::Array&lt;int64_t&gt;({axis}))[0];</div>
 <div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <span class="keywordflow">if</span> (new_axis &lt; channel_axis) {</div>
 <div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;      new_axes.push_back(new_axis);</div>
 <div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (new_axis &gt; channel_axis) {</div>
@@ -209,18 +209,18 @@ $(function() {
 <div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    gamma_indices = {indices[channel_axis], indices[channel_axis + 1]};</div>
 <div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    <span class="keyword">auto</span> mean = temp_x(non_reduce_indices) / reduce_extent;</div>
 <div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keyword">auto</span> <a class="code" href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">var</a> = temp_x2(non_reduce_indices) / reduce_extent - mean * mean;</div>
-<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a> =</div>
+<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a> =</div>
 <div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;        (data_reshaped(indices) - mean) * <a class="code" href="namespacetvm.html#a5196b8d7b5d5453e624ab22d0fefb652">tvm::rsqrt</a>(<a class="code" href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">var</a> + <a class="code" href="namespacetvm_1_1tirx.html#a48cee62fe6d9261257f2da8840670639">make_const</a>(data-&gt;dtype, epsilon));</div>
 <div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">if</span> (is_float16) {</div>
-<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a> = <a class="code" href="classtvm_1_1tirx_1_1Cast.html">Cast</a>(<a class="code" href="classtvm_1_1runtime_1_1DataType.html#a237a714a6a16e14aa01fa4ac52426551">DataType::Float</a>(16), <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a>);</div>
+<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;      <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a> = <a class="code" href="classtvm_1_1tirx_1_1Cast.html">Cast</a>(<a class="code" href="classtvm_1_1runtime_1_1DataType.html#a237a714a6a16e14aa01fa4ac52426551">DataType::Float</a>(16), <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a>);</div>
 <div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    }</div>
 <div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    <span class="keywordflow">if</span> (gamma.defined()) {</div>
-<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a> = <a class="code" href="namespacetvm_1_1topi.html#a5a5d59f85892da838847bced0990cb38">topi::multiply</a>(<a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a>, gamma_reshaped(gamma_indices));</div>
+<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;      <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a> = <a class="code" href="namespacetvm_1_1topi.html#a5a5d59f85892da838847bced0990cb38">topi::multiply</a>(<a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a>, gamma_reshaped(gamma_indices));</div>
 <div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    }</div>
 <div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordflow">if</span> (beta.defined()) {</div>
-<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a> = <a class="code" href="namespacetvm_1_1topi.html#aa7d7e1d5966e6de6b29c902458a421e8">topi::add</a>(<a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a>, beta_reshaped(gamma_indices));</div>
+<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a> = <a class="code" href="namespacetvm_1_1topi.html#aa7d7e1d5966e6de6b29c902458a421e8">topi::add</a>(<a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a>, beta_reshaped(gamma_indices));</div>
 <div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    }</div>
-<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">group_norm</a>;</div>
+<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">group_norm</a>;</div>
 <div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;  };</div>
 <div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;  <span class="keyword">auto</span> group_norm_out = <a class="code" href="namespacetvm_1_1te.html#ad98d13fdbc71aede147f419e218fc680">tvm::te::compute</a>(data_reshaped-&gt;shape, group_norm_func, name, tag);</div>
 <div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;  <span class="keyword">auto</span> group_norm_out_reshaped = <a class="code" href="namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527">reshape</a>(group_norm_out, <a class="code" href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">shape</a>);</div>
@@ -240,9 +240,8 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1te_html_ad98d13fdbc71aede147f419e218fc680"><div class="ttname"><a href="namespacetvm_1_1te.html#ad98d13fdbc71aede147f419e218fc680">tvm::te::compute</a></div><div class="ttdeci">Tensor compute(ffi::Array&lt; PrimExpr &gt; shape, FCompute fcompute, std::string name=&quot;tensor&quot;, std::string tag=&quot;&quot;, ffi::Map&lt; ffi::String, ffi::Any &gt; attrs={})</div><div class="ttdoc">Construct a new tensor by computing over shape, using the computat [...]
 <div class="ttc" id="anamespacetvm_1_1te_html_ae0c71f84710b436cbe0b32289d0838f4"><div class="ttname"><a href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">tvm::te::var</a></div><div class="ttdeci">Var var(std::string name_hint, DataType t=DataType::Int(32))</div><div class="ttdoc">Construct a new Var expression.</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_a48cee62fe6d9261257f2da8840670639"><div class="ttname"><a href="namespacetvm_1_1tirx.html#a48cee62fe6d9261257f2da8840670639">tvm::tirx::make_const</a></div><div class="ttdeci">PrimExpr make_const(DataType t, ValueType value, Span span=Span())</div><div class="ttdoc">Make a const value with certain data type.</div><div class="ttdef"><b>Definition:</b> op.h:1017</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_1_1nn_html_abfb6f3dd83f0cc2f88dab087d98a4c9d"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#abfb6f3dd83f0cc2f88dab087d98a4c9d">tvm::topi::nn::group_norm</a></div><div class="ttdeci">Tensor group_norm(const Tensor &amp;data, const Tensor &amp;gamma, const Tensor &amp;beta, int num_groups, int channel_axis, const ffi::Array&lt; Integer &gt; &amp;axes, double epsilon, std::string name=&quot;T_group_norm&quot;, std::string tag=kInject [...]
-<div class="ttc" id="anamespacetvm_1_1topi_html_a0abdbb387ab49291c72687fa741e1527"><div class="ttname"><a href="namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527">tvm::topi::reshape</a></div><div class="ttdeci">Tensor reshape(const Tensor &amp;x, ffi::Array&lt; PrimExpr &gt; newshape, std::string name=&quot;T_reshape&quot;, std::string tag=kInjective)</div><div class="ttdoc">Reshape a tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:330</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_a0f35817be97236f9fae00b8eff7f9427"><div class="ttname"><a href="namespacetvm_1_1topi.html#a0f35817be97236f9fae00b8eff7f9427">tvm::topi::GetRealAxis</a></div><div class="ttdeci">std::vector&lt; int &gt; GetRealAxis(int ndim, const ffi::Optional&lt; ffi::Array&lt; Integer &gt;&gt; &amp;axis)</div><div class="ttdoc">Convert a reduction axis which could be empty or have negative elements into a real axis with valid d...</div><div class="ttdef"> [...]
+<div class="ttc" id="anamespacetvm_1_1topi_1_1nn_html_a66e479b372c12cb920451789d664cd04"><div class="ttname"><a href="namespacetvm_1_1topi_1_1nn.html#a66e479b372c12cb920451789d664cd04">tvm::topi::nn::group_norm</a></div><div class="ttdeci">Tensor group_norm(const Tensor &amp;data, const Tensor &amp;gamma, const Tensor &amp;beta, int num_groups, int channel_axis, const ffi::Array&lt; int64_t &gt; &amp;axes, double epsilon, std::string name=&quot;T_group_norm&quot;, std::string tag=kInject [...]
+<div class="ttc" id="anamespacetvm_1_1topi_html_a0abdbb387ab49291c72687fa741e1527"><div class="ttname"><a href="namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527">tvm::topi::reshape</a></div><div class="ttdeci">Tensor reshape(const Tensor &amp;x, ffi::Array&lt; PrimExpr &gt; newshape, std::string name=&quot;T_reshape&quot;, std::string tag=kInjective)</div><div class="ttdoc">Reshape a tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:329</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_a12a94f9c1103f5e05fb9819e7176bf4c"><div class="ttname"><a href="namespacetvm_1_1topi.html#a12a94f9c1103f5e05fb9819e7176bf4c">tvm::topi::MakeTupleSumReducer</a></div><div class="ttdeci">FCommReduce MakeTupleSumReducer()</div><div class="ttdoc">Create communitive reducer summing over tuples.</div><div class="ttdef"><b>Definition:</b> reduction.h:591</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_a1f96f0f6051679e871111c39561f603b"><div class="ttname"><a href="namespacetvm_1_1topi.html#a1f96f0f6051679e871111c39561f603b">tvm::topi::MakeReduceTargetShape</a></div><div class="ttdeci">ffi::Array&lt; PrimExpr &gt; MakeReduceTargetShape(const std::vector&lt; int &gt; &amp;real_axis, const Tensor &amp;data, bool keepdims, bool atleast1d)</div><div class="ttdoc">Calculate the target shape for a reduce op.</div><div class="ttdef"><b>Definitio [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_a29e22aa45900dad3b6f9f705bb1dc688"><div class="ttname"><a href="namespacetvm_1_1topi.html#a29e22aa45900dad3b6f9f705bb1dc688">tvm::topi::kInjective</a></div><div class="ttdeci">constexpr auto kInjective</div><div class="ttdef"><b>Definition:</b> tags.h:33</div></div>
@@ -251,7 +250,8 @@ $(function() {
 <div class="ttc" id="anamespacetvm_1_1topi_html_a7b1acf424786ee187f0f19a725b85d8c"><div class="ttname"><a href="namespacetvm_1_1topi.html#a7b1acf424786ee187f0f19a725b85d8c">tvm::topi::kCommReduce</a></div><div class="ttdeci">constexpr auto kCommReduce</div><div class="ttdef"><b>Definition:</b> tags.h:34</div></div>
 <div class="ttc" id="anamespacetvm_1_1topi_html_a7da4c96db87c1459a2b097b87afd811f"><div class="ttname"><a href="namespacetvm_1_1topi.html#a7da4c96db87c1459a2b097b87afd811f">tvm::topi::cast</a></div><div class="ttdeci">Tensor cast(const Tensor &amp;x, DataType type, std::string name=&quot;T_cast&quot;, std::string tag=kElementWise)</div><div class="ttdoc">Cast each element of x to the given type. If expr is scalar and type is a corresponding vector type,...</div><div class="ttdef"><b>Defi [...]
 <div class="ttc" id="anamespacetvm_1_1topi_html_aa7d7e1d5966e6de6b29c902458a421e8"><div class="ttname"><a href="namespacetvm_1_1topi.html#aa7d7e1d5966e6de6b29c902458a421e8">tvm::topi::add</a></div><div class="ttdeci">tvm::PrimExpr add(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)</div><div class="ttdef"><b>Definition:</b> broadcast.h:199</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_ac8837f0efcfd076e297077843ccdfcb5"><div class="ttname"><a href="namespacetvm_1_1topi.html#ac8837f0efcfd076e297077843ccdfcb5">tvm::topi::GetRealAxis</a></div><div class="ttdeci">std::vector&lt; int &gt; GetRealAxis(int ndim, const ffi::Optional&lt; ffi::Array&lt; int64_t &gt;&gt; &amp;axis)</div><div class="ttdoc">Convert a reduction axis which could be empty or have negative elements into a real axis with valid d...</div><div class="ttdef"> [...]
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="anamespacetvm_html_a5196b8d7b5d5453e624ab22d0fefb652"><div class="ttname"><a href="namespacetvm.html#a5196b8d7b5d5453e624ab22d0fefb652">tvm::rsqrt</a></div><div class="ttdeci">PrimExpr rsqrt(PrimExpr x, Span span=Span())</div><div class="ttdef"><b>Definition:</b> op.h:767</div></div>
 <div class="ttc" id="anamespacetvm_html_af347f10e3572adb2d74ba4a53777db2b"><div class="ttname"><a href="namespacetvm.html#af347f10e3572adb2d74ba4a53777db2b">tvm::floordiv</a></div><div class="ttdeci">PrimExpr floordiv(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">compute floor(a / b)</div></div>
diff --git a/docs/reference/api/doxygen/hierarchy.html b/docs/reference/api/doxygen/hierarchy.html
index 3defebaa0dd..b80f872a62b 100644
--- a/docs/reference/api/doxygen/hierarchy.html
+++ b/docs/reference/api/doxygen/hierarchy.html
@@ -132,7 +132,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_48_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classGlobalVar.html" target="_self">GlobalVar</a></td><td class="desc"></td></tr>
 <tr id="row_49_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html" target="_self">tvm::runtime::vm::Instruction</a></td><td class="desc">A single virtual machine instruction </td></tr>
 <tr id="row_50_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1InstructionKindRegEntry.html" target="_self">tvm::s_tir::InstructionKindRegEntry</a></td><td class="desc">An entry in the registry of <a class="el" href="classtvm_1_1s__tir_1_1InstructionKind.html" title="Managed reference to InstructionKindNode.">InstructionKind</a> </td></tr>
-<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">tvm::arith::IntSetAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set analyzer </td></tr>
+<tr id="row_51_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">tvm::arith::IntSetAnalyzer</a></td><td class="desc">Integer set analyzer </td></tr>
 <tr id="row_52_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html" target="_self">tvm::script::printer::IRDocsifierFunctor&lt; R, Args &gt;</a></td><td class="desc">Dynamic dispatch functor based on AccessPath </td></tr>
 <tr id="row_53_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1LinearCongruentialEngine.html" target="_self">tvm::s_tir::LinearCongruentialEngine</a></td><td class="desc">This linear congruential engine is a drop-in replacement for std::minstd_rand. It strictly corresponds to std::minstd_rand and is designed to be platform-independent </td></tr>
 <tr id="row_54_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1s__tir_1_1MemCpyDetails.html" target="_self">tvm::s_tir::MemCpyDetails</a></td><td class="desc">Helper struct for return value of IdentifyMemCpy </td></tr>
@@ -354,7 +354,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_63_23_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_self">tvm::arith::IntConstraintsNode</a></td><td class="desc">Represent integer constrains including (integer) variables, their ranges and the relations between them (either equations or inequalities) </td></tr>
 <tr id="row_63_24_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_self">tvm::arith::IntConstraintsTransformNode</a></td><td class="desc">We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a &gt;=  [...]
 <tr id="row_63_25_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_self">tvm::arith::IntGroupBoundsNode</a></td><td class="desc">Represent integer grouped bounds which are classified into lower bounds (inclusive), upper bounds (inclusive) and equalities. It also contains coefficient as a multipli [...]
-<tr id="row_63_26_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" target="_self">tvm::arith::IntSetNode</a></td><td class="desc">Base class of all <a class="el" href="classtvm_1_1Integer.html" title="Container of constant int that adds more constructors.">Integer</a> set containers. represent a set of integers i [...]
+<tr id="row_63_26_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" target="_self">tvm::arith::IntSetNode</a></td><td class="desc">Base class of all Integer set containers. represent a set of integers in one dimension </td></tr>
 <tr id="row_63_27_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_self">tvm::arith::IterMapResultNode</a></td><td class="desc">Result of DetectIterMap </td></tr>
 <tr id="row_63_28_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html" target="_self">tvm::arith::IterMarkNode</a></td><td class="desc">Mark the source as an iterator in [0, extent) </td></tr>
 <tr id="row_63_29_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html" target="_self">tvm::arith::ModularSetNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> of a linear integer function. Use to do specify the possible index values </td></tr>
@@ -577,9 +577,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_64_2_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_64_2_" class="arrow" onclick="toggleFolder('64_2_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1BaseExpr.html" target="_self">tvm::BaseExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
 <tr id="row_64_2_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_64_2_0_" class="arrow" onclick="toggleFolder('64_2_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1PrimExpr.html" target="_self">tvm::PrimExpr</a></td><td class="desc">Reference to <a class="el" href="classtvm_1_1PrimExprNode.html" title="Base node of all primitive expressions.">PrimExprNode</a> </ [...]
 <tr id="row_64_2_0_0_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1FloatImm.html" target="_self">tvm::FloatImm</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1FloatImmNode.html" title="Constant floating point literals in the program.">FloatImmNode</a> </td></tr>
-<tr id="row_64_2_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_64_2_0_1_" class="arrow" onclick="toggleFolder('64_2_0_1_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IntImm.html" target="_self">tvm::IntImm</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1IntImmNode.html" title="Constant integer literals in the program.">Int [...]
-<tr id="row_64_2_0_1_0_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Bool.html" target="_self">tvm::Bool</a></td><td class="desc">Boolean constant </td></tr>
-<tr id="row_64_2_0_1_1_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1Integer.html" target="_self">tvm::Integer</a></td><td class="desc">Container of constant int that adds more constructors </td></tr>
+<tr id="row_64_2_0_1_" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1IntImm.html" target="_self">tvm::IntImm</a></td><td class="desc">Managed reference class to <a class="el" href="classtvm_1_1IntImmNode.html" title="Constant integer literals in the program.">IntImmNode</a> </td></tr>
 <tr id="row_64_2_0_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_64_2_0_2_" class="arrow" onclick="toggleFolder('64_2_0_2_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html" target="_self">tvm::arith::IterMapExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html" title="Base class o [...]
 <tr id="row_64_2_0_2_0_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_self">tvm::arith::IterSplitExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html" title="Split of an iterator.">IterSplitExprNode</a> </td></tr>
 <tr id="row_64_2_0_2_1_" style="display:none;"><td class="entry"><span style="width:80px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html" target="_self">tvm::arith::IterSumExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html" title="Fuse multiple iterators by summing them with scaling.">IterSumExprNode</a> </td></tr>
@@ -880,12 +878,10 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
 <tr id="row_64_116_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassContext.html" target="_self">tvm::transform::PassContext</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassContext.html" title="PassContext that is used to configure the pass behavior.">PassContext</a> that is used to configure the pass behavio [...]
 <tr id="row_64_117_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassInfo.html" target="_self">tvm::transform::PassInfo</a></td><td class="desc">Managed reference class for <a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html" title="Meta data that will be used to help optimization and analysis.">PassInfoNode</a> </td></tr>
 <tr id="row_65_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_65_" class="arrow" onclick="toggleFolder('65_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><b>ObjectRefWithFallbackTraitsBase</b></td><td class="desc"></td></tr>
-<tr id="row_65_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Bool_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; Bool &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_65_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; FloatImm &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_65_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; IntImm &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_65_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01Integer_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; Integer &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_65_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; PrimExpr &gt;</a></td><td class="desc"></td></tr>
-<tr id="row_65_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1tirx_1_1StringImm_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; tvm::tirx::StringImm &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_65_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; FloatImm &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_65_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; IntImm &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_65_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; PrimExpr &gt;</a></td><td class="desc"></td></tr>
+<tr id="row_65_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1tirx_1_1StringImm_01_4.html" target="_self">tvm::ffi::TypeTraits&lt; tvm::tirx::StringImm &gt;</a></td><td class="desc"></td></tr>
 <tr id="row_66_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1OpRegEntry.html" target="_self">tvm::OpRegEntry</a></td><td class="desc">Helper structure to register operators </td></tr>
 <tr id="row_67_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html" target="_self">tvm::ir::ConfigSchema::OptionEntry</a></td><td class="desc">Schema entry for one declared option </td></tr>
 <tr id="row_68_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1PairCons.html" target="_self">tvm::relax::PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -&gt; consumer) in graph-level matching </td></tr>
diff --git a/docs/reference/api/doxygen/index__map_8h_source.html b/docs/reference/api/doxygen/index__map_8h_source.html
index e996bb56d06..de056e08187 100644
--- a/docs/reference/api/doxygen/index__map_8h_source.html
+++ b/docs/reference/api/doxygen/index__map_8h_source.html
@@ -201,7 +201,7 @@ $(function() {
 <div class="ttc" id="air_2expr_8h_html"><div class="ttname"><a href="ir_2expr_8h.html">expr.h</a></div><div class="ttdoc">Base expr nodes in TVM.</div></div>
 <div class="ttc" id="anamespacetvm_1_1te_html_ae0c71f84710b436cbe0b32289d0838f4"><div class="ttname"><a href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">tvm::te::var</a></div><div class="ttdeci">Var var(std::string name_hint, DataType t=DataType::Int(32))</div><div class="ttdoc">Construct a new Var expression.</div></div>
 <div class="ttc" id="anamespacetvm_1_1tirx_html_a224d1ad51fc897e0cd9b21276aeecc4a"><div class="ttname"><a href="namespacetvm_1_1tirx.html#a224d1ad51fc897e0cd9b21276aeecc4a">tvm::tirx::Substitute</a></div><div class="ttdeci">IndexMap Substitute(const IndexMap &amp;index_map, std::function&lt; ffi::Optional&lt; PrimExpr &gt;(const Var &amp;var)&gt; f_subst)</div><div class="ttdoc">Substitute variables in an index map.</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1981</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &amp;src, DataType dtype, const std::string name=&quot;T_shape&quot;, const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
 <div class="ttc" id="aruntime_2tensor_8h_html"><div class="ttname"><a href="runtime_2tensor_8h.html">tensor.h</a></div><div class="ttdoc">A device-independent managed Tensor abstraction.</div></div>
 <div class="ttc" id="avar_8h_html"><div class="ttname"><a href="var_8h.html">var.h</a></div><div class="ttdoc">Variables in the TIR.</div></div>
diff --git a/docs/reference/api/doxygen/inherit_graph_1.svg b/docs/reference/api/doxygen/inherit_graph_1.svg
index a6da140397b..e0b2ec330f0 100644
--- a/docs/reference/api/doxygen/inherit_graph_1.svg
+++ b/docs/reference/api/doxygen/inherit_graph_1.svg
@@ -63,1766 +63,1766 @@
 <path fill="none" stroke="midnightblue" d="M40.97,-2744.66C40.76,-2959.62 41.01,-4867.11 116,-4957 126.75,-4969.89 144.01,-4975.29 160.36,-4977.22"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.47,-2744.54 40.98,-2734.53 37.47,-2744.53 44.47,-2744.54"/>
 </g>
-<!-- Node557 -->
-<g id="node65" class="node">
-<title>Node557</title>
-<g id="a_node65"><a xlink:href="classtvm_1_1Diagnostic.html" target="_top" xlink:title=" ">
+<!-- Node555 -->
+<g id="node63" class="node">
+<title>Node555</title>
+<g id="a_node63"><a xlink:href="classtvm_1_1Diagnostic.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="157.5,-4928.5 157.5,-4947.5 251.5,-4947.5 251.5,-4928.5 157.5,-4928.5"/>
 <text text-anchor="middle" x="204.5" y="-4935.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Diagnostic</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node557 -->
-<g id="edge64" class="edge">
-<title>Node493&#45;&gt;Node557</title>
+<!-- Node493&#45;&gt;Node555 -->
+<g id="edge62" class="edge">
+<title>Node493&#45;&gt;Node555</title>
 <path fill="none" stroke="midnightblue" d="M40.98,-2744.97C40.91,-2959.44 42.33,-4830.75 116,-4919 126.06,-4931.05 141.8,-4936.55 157.18,-4938.79"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.48,-2744.84 40.99,-2734.84 37.48,-2744.84 44.48,-2744.84"/>
 </g>
-<!-- Node558 -->
-<g id="node66" class="node">
-<title>Node558</title>
-<g id="a_node66"><a xlink:href="classtvm_1_1DiagnosticContext.html" target="_top" xlink:title=" ">
+<!-- Node556 -->
+<g id="node64" class="node">
+<title>Node556</title>
+<g id="a_node64"><a xlink:href="classtvm_1_1DiagnosticContext.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="138.5,-4890.5 138.5,-4909.5 270.5,-4909.5 270.5,-4890.5 138.5,-4890.5"/>
 <text text-anchor="middle" x="204.5" y="-4897.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticContext</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node558 -->
-<g id="edge65" class="edge">
-<title>Node493&#45;&gt;Node558</title>
+<!-- Node493&#45;&gt;Node556 -->
+<g id="edge63" class="edge">
+<title>Node493&#45;&gt;Node556</title>
 <path fill="none" stroke="midnightblue" d="M41,-2744.94C41.05,-2957.21 43.61,-4794.34 116,-4881 121.88,-4888.04 129.7,-4892.84 138.25,-4896.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.5,-2744.67 41,-2734.67 37.5,-2744.67 44.5,-2744.67"/>
 </g>
-<!-- Node559 -->
-<g id="node67" class="node">
-<title>Node559</title>
-<g id="a_node67"><a xlink:href="classtvm_1_1DiagnosticRenderer.html" target="_top" xlink:title=" ">
+<!-- Node557 -->
+<g id="node65" class="node">
+<title>Node557</title>
+<g id="a_node65"><a xlink:href="classtvm_1_1DiagnosticRenderer.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="135.5,-4852.5 135.5,-4871.5 273.5,-4871.5 273.5,-4852.5 135.5,-4852.5"/>
 <text text-anchor="middle" x="204.5" y="-4859.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticRenderer</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node559 -->
-<g id="edge66" class="edge">
-<title>Node493&#45;&gt;Node559</title>
+<!-- Node493&#45;&gt;Node557 -->
+<g id="edge64" class="edge">
+<title>Node493&#45;&gt;Node557</title>
 <path fill="none" stroke="midnightblue" d="M41.01,-2745.23C41.2,-2956.79 44.93,-4757.97 116,-4843 121.18,-4849.2 127.87,-4853.67 135.24,-4856.85"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.51,-2744.96 41,-2734.96 37.51,-2744.96 44.51,-2744.96"/>
 </g>
-<!-- Node560 -->
-<g id="node68" class="node">
-<title>Node560</title>
-<g id="a_node68"><a xlink:href="classtvm_1_1EnvFunc.html" target="_top" xlink:title="Managed reference to EnvFuncNode.">
+<!-- Node558 -->
+<g id="node66" class="node">
+<title>Node558</title>
+<g id="a_node66"><a xlink:href="classtvm_1_1EnvFunc.html" target="_top" xlink:title="Managed reference to EnvFuncNode.">
 <polygon fill="white" stroke="black" points="163,-4814.5 163,-4833.5 246,-4833.5 246,-4814.5 163,-4814.5"/>
 <text text-anchor="middle" x="204.5" y="-4821.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFunc</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node560 -->
-<g id="edge67" class="edge">
-<title>Node493&#45;&gt;Node560</title>
+<!-- Node493&#45;&gt;Node558 -->
+<g id="edge65" class="edge">
+<title>Node493&#45;&gt;Node558</title>
 <path fill="none" stroke="midnightblue" d="M41.02,-2744.87C41.35,-2952.63 46.18,-4721.52 116,-4805 127.27,-4818.47 145.64,-4823.76 162.64,-4825.45"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.52,-2744.78 41.01,-2734.78 37.52,-2744.79 44.52,-2744.78"/>
 </g>
-<!-- Node561 -->
-<g id="node69" class="node">
-<title>Node561</title>
-<g id="a_node69"><a xlink:href="classtvm_1_1GlobalInfo.html" target="_top" xlink:title="Managed reference to GlobalInfoNode.">
+<!-- Node559 -->
+<g id="node67" class="node">
+<title>Node559</title>
+<g id="a_node67"><a xlink:href="classtvm_1_1GlobalInfo.html" target="_top" xlink:title="Managed reference to GlobalInfoNode.">
 <polygon fill="white" stroke="black" points="158.5,-4776.5 158.5,-4795.5 250.5,-4795.5 250.5,-4776.5 158.5,-4776.5"/>
 <text text-anchor="middle" x="204.5" y="-4783.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfo</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node561 -->
-<g id="edge68" class="edge">
-<title>Node493&#45;&gt;Node561</title>
+<!-- Node493&#45;&gt;Node559 -->
+<g id="edge66" class="edge">
+<title>Node493&#45;&gt;Node559</title>
 <path fill="none" stroke="midnightblue" d="M41.04,-2744.81C41.5,-2950.21 47.46,-4685.1 116,-4767 126.28,-4779.28 142.45,-4784.75 158.11,-4786.91"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.54,-2744.6 41.02,-2734.6 37.54,-2744.61 44.54,-2744.6"/>
 </g>
-<!-- Node565 -->
-<g id="node73" class="node">
-<title>Node565</title>
-<g id="a_node73"><a xlink:href="classtvm_1_1GlobalVarSupply.html" target="_top" xlink:title="Managed reference class to GlobalVarSupplyNode.">
+<!-- Node563 -->
+<g id="node71" class="node">
+<title>Node563</title>
+<g id="a_node71"><a xlink:href="classtvm_1_1GlobalVarSupply.html" target="_top" xlink:title="Managed reference class to GlobalVarSupplyNode.">
 <polygon fill="white" stroke="black" points="143.5,-4738.5 143.5,-4757.5 265.5,-4757.5 265.5,-4738.5 143.5,-4738.5"/>
 <text text-anchor="middle" x="204.5" y="-4745.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarSupply</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node565 -->
-<g id="edge72" class="edge">
-<title>Node493&#45;&gt;Node565</title>
+<!-- Node493&#45;&gt;Node563 -->
+<g id="edge70" class="edge">
+<title>Node493&#45;&gt;Node563</title>
 <path fill="none" stroke="midnightblue" d="M41.05,-2745.06C41.66,-2949.48 48.78,-4648.73 116,-4729 122.99,-4737.34 132.69,-4742.54 143.11,-4745.7"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.55,-2744.86 41.02,-2734.87 37.55,-2744.88 44.55,-2744.86"/>
 </g>
-<!-- Node566 -->
-<g id="node74" class="node">
-<title>Node566</title>
-<g id="a_node74"><a xlink:href="classtvm_1_1IRModule.html" target="_top" xlink:title="Managed reference class to IRModuleNode.">
+<!-- Node564 -->
+<g id="node72" class="node">
+<title>Node564</title>
+<g id="a_node72"><a xlink:href="classtvm_1_1IRModule.html" target="_top" xlink:title="Managed reference class to IRModuleNode.">
 <polygon fill="white" stroke="black" points="160.5,-4700.5 160.5,-4719.5 248.5,-4719.5 248.5,-4700.5 160.5,-4700.5"/>
 <text text-anchor="middle" x="204.5" y="-4707.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModule</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node566 -->
-<g id="edge73" class="edge">
-<title>Node493&#45;&gt;Node566</title>
+<!-- Node493&#45;&gt;Node564 -->
+<g id="edge71" class="edge">
+<title>Node493&#45;&gt;Node564</title>
 <path fill="none" stroke="midnightblue" d="M41.07,-2744.98C41.82,-2946.89 50.05,-4612.31 116,-4691 126.78,-4703.87 144.04,-4709.26 160.39,-4711.19"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.57,-2744.67 41.03,-2734.68 37.57,-2744.7 44.57,-2744.67"/>
 </g>
-<!-- Node567 -->
-<g id="node75" class="node">
-<title>Node567</title>
-<g id="a_node75"><a xlink:href="classtvm_1_1NameSupply.html" target="_top" xlink:title="Managed reference class to NameSupplyNode.">
+<!-- Node565 -->
+<g id="node73" class="node">
+<title>Node565</title>
+<g id="a_node73"><a xlink:href="classtvm_1_1NameSupply.html" target="_top" xlink:title="Managed reference class to NameSupplyNode.">
 <polygon fill="white" stroke="black" points="152.5,-4662.5 152.5,-4681.5 256.5,-4681.5 256.5,-4662.5 152.5,-4662.5"/>
 <text text-anchor="middle" x="204.5" y="-4669.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::NameSupply</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node567 -->
-<g id="edge74" class="edge">
-<title>Node493&#45;&gt;Node567</title>
+<!-- Node493&#45;&gt;Node565 -->
+<g id="edge72" class="edge">
+<title>Node493&#45;&gt;Node565</title>
 <path fill="none" stroke="midnightblue" d="M41.08,-2745.21C41.99,-2945.93 51.36,-4575.94 116,-4653 124.99,-4663.72 138.47,-4669.25 152.18,-4671.92"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.58,-2744.92 41.04,-2734.94 37.58,-2744.95 44.58,-2744.92"/>
 </g>
-<!-- Node568 -->
-<g id="node76" class="node">
-<title>Node568</title>
-<g id="a_node76"><a xlink:href="classtvm_1_1PrimExprConvertible.html" target="_top" xlink:title="Managed reference to PrimExprConvertibleNode.">
+<!-- Node566 -->
+<g id="node74" class="node">
+<title>Node566</title>
+<g id="a_node74"><a xlink:href="classtvm_1_1PrimExprConvertible.html" target="_top" xlink:title="Managed reference to PrimExprConvertibleNode.">
 <polygon fill="white" stroke="black" points="133,-4624.5 133,-4643.5 276,-4643.5 276,-4624.5 133,-4624.5"/>
 <text text-anchor="middle" x="204.5" y="-4631.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprConvertible</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node568 -->
-<g id="edge75" class="edge">
-<title>Node493&#45;&gt;Node568</title>
+<!-- Node493&#45;&gt;Node566 -->
+<g id="edge73" class="edge">
+<title>Node493&#45;&gt;Node566</title>
 <path fill="none" stroke="midnightblue" d="M41.1,-2744.81C42.15,-2941.58 52.61,-4539.48 116,-4615 120.6,-4620.48 126.37,-4624.6 132.74,-4627.68"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.6,-2744.72 41.05,-2734.74 37.6,-2744.76 44.6,-2744.72"/>
 </g>
-<!-- Node573 -->
-<g id="node81" class="node">
-<title>Node573</title>
-<g id="a_node81"><a xlink:href="classtvm_1_1PrinterConfig.html" target="_top" xlink:title=" ">
+<!-- Node571 -->
+<g id="node79" class="node">
+<title>Node571</title>
+<g id="a_node79"><a xlink:href="classtvm_1_1PrinterConfig.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="152,-4586.5 152,-4605.5 257,-4605.5 257,-4586.5 152,-4586.5"/>
 <text text-anchor="middle" x="204.5" y="-4593.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrinterConfig</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node573 -->
-<g id="edge80" class="edge">
-<title>Node493&#45;&gt;Node573</title>
+<!-- Node493&#45;&gt;Node571 -->
+<g id="edge78" class="edge">
+<title>Node493&#45;&gt;Node571</title>
 <path fill="none" stroke="midnightblue" d="M41.11,-2744.7C42.31,-2938.79 53.88,-4503.06 116,-4577 124.9,-4587.59 138.19,-4593.12 151.73,-4595.82"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.61,-2744.53 41.05,-2734.55 37.61,-2744.57 44.61,-2744.53"/>
 </g>
-<!-- Node574 -->
-<g id="node82" class="node">
-<title>Node574</title>
-<g id="a_node82"><a xlink:href="classtvm_1_1Range.html" target="_top" xlink:title="Range container">
+<!-- Node572 -->
+<g id="node80" class="node">
+<title>Node572</title>
+<g id="a_node80"><a xlink:href="classtvm_1_1Range.html" target="_top" xlink:title="Range container">
 <polygon fill="white" stroke="black" points="168,-4548.5 168,-4567.5 241,-4567.5 241,-4548.5 168,-4548.5"/>
 <text text-anchor="middle" x="204.5" y="-4555.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Range</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node574 -->
-<g id="edge81" class="edge">
-<title>Node493&#45;&gt;Node574</title>
+<!-- Node493&#45;&gt;Node572 -->
+<g id="edge79" class="edge">
+<title>Node493&#45;&gt;Node572</title>
 <path fill="none" stroke="midnightblue" d="M41.13,-2744.88C42.49,-2937.53 55.18,-4466.67 116,-4539 128.41,-4553.75 149.32,-4558.67 167.59,-4559.82"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.63,-2744.75 41.06,-2734.77 37.63,-2744.8 44.63,-2744.75"/>
 </g>
-<!-- Node575 -->
-<g id="node83" class="node">
-<title>Node575</title>
-<g id="a_node83"><a xlink:href="classtvm_1_1Source.html" target="_top" xlink:title=" ">
+<!-- Node573 -->
+<g id="node81" class="node">
+<title>Node573</title>
+<g id="a_node81"><a xlink:href="classtvm_1_1Source.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="167,-4510.5 167,-4529.5 242,-4529.5 242,-4510.5 167,-4510.5"/>
 <text text-anchor="middle" x="204.5" y="-4517.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Source</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node575 -->
-<g id="edge82" class="edge">
-<title>Node493&#45;&gt;Node575</title>
+<!-- Node493&#45;&gt;Node573 -->
+<g id="edge80" class="edge">
+<title>Node493&#45;&gt;Node573</title>
 <path fill="none" stroke="midnightblue" d="M41.15,-2744.75C42.66,-2934.57 56.45,-4430.24 116,-4501 128.21,-4515.51 148.66,-4520.51 166.71,-4521.76"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.65,-2744.54 41.07,-2734.57 37.65,-2744.6 44.65,-2744.54"/>
 </g>
-<!-- Node576 -->
-<g id="node84" class="node">
-<title>Node576</title>
-<g id="a_node84"><a xlink:href="classtvm_1_1SourceMap.html" target="_top" xlink:title=" ">
+<!-- Node574 -->
+<g id="node82" class="node">
+<title>Node574</title>
+<g id="a_node82"><a xlink:href="classtvm_1_1SourceMap.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="156.5,-4472.5 156.5,-4491.5 252.5,-4491.5 252.5,-4472.5 156.5,-4472.5"/>
 <text text-anchor="middle" x="204.5" y="-4479.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMap</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node576 -->
-<g id="edge83" class="edge">
-<title>Node493&#45;&gt;Node576</title>
+<!-- Node493&#45;&gt;Node574 -->
+<g id="edge81" class="edge">
+<title>Node493&#45;&gt;Node574</title>
 <path fill="none" stroke="midnightblue" d="M41.17,-2744.9C42.85,-2933.08 57.75,-4393.85 116,-4463 125.91,-4474.77 141.25,-4480.28 156.32,-4482.61"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.67,-2744.75 41.08,-2734.78 37.67,-2744.81 44.67,-2744.75"/>
 </g>
-<!-- Node577 -->
-<g id="node85" class="node">
-<title>Node577</title>
-<g id="a_node85"><a xlink:href="classtvm_1_1SourceName.html" target="_top" xlink:title="The source name of a file span.">
+<!-- Node575 -->
+<g id="node83" class="node">
+<title>Node575</title>
+<g id="a_node83"><a xlink:href="classtvm_1_1SourceName.html" target="_top" xlink:title="The source name of a file span.">
 <polygon fill="white" stroke="black" points="152.5,-4434.5 152.5,-4453.5 256.5,-4453.5 256.5,-4434.5 152.5,-4434.5"/>
 <text text-anchor="middle" x="204.5" y="-4441.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceName</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node577 -->
-<g id="edge84" class="edge">
-<title>Node493&#45;&gt;Node577</title>
+<!-- Node493&#45;&gt;Node575 -->
+<g id="edge82" class="edge">
+<title>Node493&#45;&gt;Node575</title>
 <path fill="none" stroke="midnightblue" d="M41.19,-2744.74C43.02,-2929.96 59.02,-4357.42 116,-4425 125.02,-4435.7 138.51,-4441.22 152.22,-4443.89"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.69,-2744.53 41.09,-2734.57 37.69,-2744.6 44.69,-2744.53"/>
 </g>
-<!-- Node578 -->
-<g id="node86" class="node">
-<title>Node578</title>
-<g id="a_node86"><a xlink:href="classtvm_1_1Span.html" target="_top" xlink:title=" ">
+<!-- Node576 -->
+<g id="node84" class="node">
+<title>Node576</title>
+<g id="a_node84"><a xlink:href="classtvm_1_1Span.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="171.5,-4396.5 171.5,-4415.5 237.5,-4415.5 237.5,-4396.5 171.5,-4396.5"/>
 <text text-anchor="middle" x="204.5" y="-4403.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node578 -->
-<g id="edge85" class="edge">
-<title>Node493&#45;&gt;Node578</title>
+<!-- Node493&#45;&gt;Node576 -->
+<g id="edge83" class="edge">
+<title>Node493&#45;&gt;Node576</title>
 <path fill="none" stroke="midnightblue" d="M41.21,-2744.86C43.22,-2928.23 60.31,-4321.03 116,-4387 129.24,-4402.68 152.09,-4407.24 171.12,-4407.98"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.71,-2744.72 41.1,-2734.76 37.71,-2744.79 44.71,-2744.72"/>
 </g>
-<!-- Node580 -->
-<g id="node88" class="node">
-<title>Node580</title>
-<g id="a_node88"><a xlink:href="classtvm_1_1Target.html" target="_top" xlink:title="Managed reference class to TargetNode.">
+<!-- Node578 -->
+<g id="node86" class="node">
+<title>Node578</title>
+<g id="a_node86"><a xlink:href="classtvm_1_1Target.html" target="_top" xlink:title="Managed reference class to TargetNode.">
 <polygon fill="white" stroke="black" points="168.5,-4358.5 168.5,-4377.5 240.5,-4377.5 240.5,-4358.5 168.5,-4358.5"/>
 <text text-anchor="middle" x="204.5" y="-4365.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Target</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node580 -->
-<g id="edge87" class="edge">
-<title>Node493&#45;&gt;Node580</title>
+<!-- Node493&#45;&gt;Node578 -->
+<g id="edge85" class="edge">
+<title>Node493&#45;&gt;Node578</title>
 <path fill="none" stroke="midnightblue" d="M41.23,-2744.68C43.4,-2924.94 61.58,-4284.59 116,-4349 128.54,-4363.84 149.7,-4368.72 168.06,-4369.83"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.73,-2744.49 41.11,-2734.53 37.73,-2744.57 44.73,-2744.49"/>
 </g>
-<!-- Node581 -->
-<g id="node89" class="node">
-<title>Node581</title>
-<g id="a_node89"><a xlink:href="classtvm_1_1TargetKind.html" target="_top" xlink:title="Managed reference class to TargetKindNode.">
+<!-- Node579 -->
+<g id="node87" class="node">
+<title>Node579</title>
+<g id="a_node87"><a xlink:href="classtvm_1_1TargetKind.html" target="_top" xlink:title="Managed reference class to TargetKindNode.">
 <polygon fill="white" stroke="black" points="157.5,-4320.5 157.5,-4339.5 251.5,-4339.5 251.5,-4320.5 157.5,-4320.5"/>
 <text text-anchor="middle" x="204.5" y="-4327.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKind</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node581 -->
-<g id="edge88" class="edge">
-<title>Node493&#45;&gt;Node581</title>
+<!-- Node493&#45;&gt;Node579 -->
+<g id="edge86" class="edge">
+<title>Node493&#45;&gt;Node579</title>
 <path fill="none" stroke="midnightblue" d="M41.25,-2744.76C43.61,-2922.99 62.87,-4248.19 116,-4311 126.14,-4322.99 141.9,-4328.47 157.26,-4330.72"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.75,-2744.66 41.12,-2734.7 37.75,-2744.75 44.75,-2744.66"/>
 </g>
-<!-- Node582 -->
-<g id="node90" class="node">
-<title>Node582</title>
-<g id="a_node90"><a xlink:href="classtvm_1_1TargetTag.html" target="_top" xlink:title="Managed reference class to TargetTagNode.">
+<!-- Node580 -->
+<g id="node88" class="node">
+<title>Node580</title>
+<g id="a_node88"><a xlink:href="classtvm_1_1TargetTag.html" target="_top" xlink:title="Managed reference class to TargetTagNode.">
 <polygon fill="white" stroke="black" points="160,-4282.5 160,-4301.5 249,-4301.5 249,-4282.5 160,-4282.5"/>
 <text text-anchor="middle" x="204.5" y="-4289.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetTag</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node582 -->
-<g id="edge89" class="edge">
-<title>Node493&#45;&gt;Node582</title>
+<!-- Node493&#45;&gt;Node580 -->
+<g id="edge87" class="edge">
+<title>Node493&#45;&gt;Node580</title>
 <path fill="none" stroke="midnightblue" d="M41.28,-2745.09C43.83,-2922.18 64.18,-4211.81 116,-4273 126.65,-4285.57 143.48,-4290.99 159.55,-4293.03"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.78,-2744.81 41.13,-2734.86 37.78,-2744.91 44.78,-2744.81"/>
 </g>
-<!-- Node583 -->
-<g id="node91" class="node">
-<title>Node583</title>
-<g id="a_node91"><a xlink:href="classtvm_1_1Type.html" target="_top" xlink:title="Managed reference to TypeNode.">
+<!-- Node581 -->
+<g id="node89" class="node">
+<title>Node581</title>
+<g id="a_node89"><a xlink:href="classtvm_1_1Type.html" target="_top" xlink:title="Managed reference to TypeNode.">
 <polygon fill="white" stroke="black" points="172,-4244.5 172,-4263.5 237,-4263.5 237,-4244.5 172,-4244.5"/>
 <text text-anchor="middle" x="204.5" y="-4251.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Type</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node583 -->
-<g id="edge90" class="edge">
-<title>Node493&#45;&gt;Node583</title>
+<!-- Node493&#45;&gt;Node581 -->
+<g id="edge88" class="edge">
+<title>Node493&#45;&gt;Node581</title>
 <path fill="none" stroke="midnightblue" d="M41.3,-2744.86C44.02,-2918.6 65.44,-4175.37 116,-4235 129.37,-4250.77 152.47,-4255.28 171.57,-4255.98"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.8,-2744.57 41.14,-2734.62 37.8,-2744.68 44.8,-2744.57"/>
 </g>
-<!-- Node593 -->
-<g id="node101" class="node">
-<title>Node593</title>
-<g id="a_node101"><a xlink:href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html" target="_top" xlink:title="A typed version of EnvFunc. It is backed by a GlobalFuncNode internally.">
+<!-- Node591 -->
+<g id="node99" class="node">
+<title>Node591</title>
+<g id="a_node99"><a xlink:href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html" target="_top" xlink:title="A typed version of EnvFunc. It is backed by a GlobalFuncNode internally.">
 <polygon fill="white" stroke="black" points="145,-4195 145,-4225 264,-4225 264,-4195 145,-4195"/>
 <text text-anchor="start" x="153" y="-4213" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypedEnvFunc&lt;</text>
 <text text-anchor="middle" x="204.5" y="-4202" font-family="Helvetica,sans-Serif" font-size="10.00"> R(Args...)&gt;</text>
 </a>
 </g>
 </g>
+<!-- Node493&#45;&gt;Node591 -->
+<g id="edge98" class="edge">
+<title>Node493&#45;&gt;Node591</title>
+<path fill="none" stroke="midnightblue" d="M41.36,-2744.7C44.56,-2914.47 68.99,-4125.9 116,-4185 123.28,-4194.15 133.66,-4200.1 144.74,-4203.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.86,-2744.6 41.18,-2734.67 37.86,-2744.73 44.86,-2744.6"/>
+</g>
+<!-- Node592 -->
+<g id="node100" class="node">
+<title>Node592</title>
+<g id="a_node100"><a xlink:href="classtvm_1_1VirtualDevice.html" target="_top" xlink:title="Managed reference class to VirtualDeviceNode.">
+<polygon fill="white" stroke="black" points="150.5,-4156.5 150.5,-4175.5 258.5,-4175.5 258.5,-4156.5 150.5,-4156.5"/>
+<text text-anchor="middle" x="204.5" y="-4163.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VirtualDevice</text>
+</a>
+</g>
+</g>
+<!-- Node493&#45;&gt;Node592 -->
+<g id="edge99" class="edge">
+<title>Node493&#45;&gt;Node592</title>
+<path fill="none" stroke="midnightblue" d="M41.37,-2745.22C44.57,-2914.53 68.44,-4091.08 116,-4147 124.66,-4157.18 137.38,-4162.67 150.45,-4165.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.86,-2744.74 41.18,-2734.8 37.86,-2744.87 44.86,-2744.74"/>
+</g>
+<!-- Node593 -->
+<g id="node101" class="node">
+<title>Node593</title>
+<g id="a_node101"><a xlink:href="classtvm_1_1arith_1_1ConstIntBound.html" target="_top" xlink:title="reference class to ConstIntBoundNode">
+<polygon fill="white" stroke="black" points="133.5,-4118.5 133.5,-4137.5 275.5,-4137.5 275.5,-4118.5 133.5,-4118.5"/>
+<text text-anchor="middle" x="204.5" y="-4125.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ConstIntBound</text>
+</a>
+</g>
+</g>
 <!-- Node493&#45;&gt;Node593 -->
 <g id="edge100" class="edge">
 <title>Node493&#45;&gt;Node593</title>
-<path fill="none" stroke="midnightblue" d="M41.36,-2744.7C44.56,-2914.47 68.99,-4125.9 116,-4185 123.28,-4194.15 133.66,-4200.1 144.74,-4203.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.86,-2744.6 41.18,-2734.67 37.86,-2744.73 44.86,-2744.6"/>
+<path fill="none" stroke="midnightblue" d="M41.39,-2744.68C44.74,-2909.47 69.67,-4054.61 116,-4109 120.74,-4114.56 126.69,-4118.72 133.24,-4121.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.89,-2744.47 41.19,-2734.54 37.89,-2744.61 44.89,-2744.47"/>
 </g>
 <!-- Node594 -->
 <g id="node102" class="node">
 <title>Node594</title>
-<g id="a_node102"><a xlink:href="classtvm_1_1VirtualDevice.html" target="_top" xlink:title="Managed reference class to VirtualDeviceNode.">
-<polygon fill="white" stroke="black" points="150.5,-4156.5 150.5,-4175.5 258.5,-4175.5 258.5,-4156.5 150.5,-4156.5"/>
-<text text-anchor="middle" x="204.5" y="-4163.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VirtualDevice</text>
+<g id="a_node102"><a xlink:href="classtvm_1_1arith_1_1IntConstraints.html" target="_top" xlink:title="Managed reference to IntConstraintsNode.">
+<polygon fill="white" stroke="black" points="135,-4080.5 135,-4099.5 274,-4099.5 274,-4080.5 135,-4080.5"/>
+<text text-anchor="middle" x="204.5" y="-4087.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node594 -->
 <g id="edge101" class="edge">
 <title>Node493&#45;&gt;Node594</title>
-<path fill="none" stroke="midnightblue" d="M41.37,-2745.22C44.57,-2914.53 68.44,-4091.08 116,-4147 124.66,-4157.18 137.38,-4162.67 150.45,-4165.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.86,-2744.74 41.18,-2734.8 37.86,-2744.87 44.86,-2744.74"/>
+<path fill="none" stroke="midnightblue" d="M41.42,-2744.64C44.97,-2906.7 70.94,-4018.18 116,-4071 121.15,-4077.03 127.71,-4081.41 134.93,-4084.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.92,-2744.56 41.2,-2734.64 37.92,-2744.72 44.92,-2744.56"/>
 </g>
 <!-- Node595 -->
 <g id="node103" class="node">
 <title>Node595</title>
-<g id="a_node103"><a xlink:href="classtvm_1_1arith_1_1ConstIntBound.html" target="_top" xlink:title="reference class to ConstIntBoundNode">
-<polygon fill="white" stroke="black" points="133.5,-4118.5 133.5,-4137.5 275.5,-4137.5 275.5,-4118.5 133.5,-4118.5"/>
-<text text-anchor="middle" x="204.5" y="-4125.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ConstIntBound</text>
+<g id="a_node103"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransform.html" target="_top" xlink:title="Managed reference to IntConstraintsTransformNode.">
+<polygon fill="white" stroke="black" points="135,-4031 135,-4061 274,-4061 274,-4031 135,-4031"/>
+<text text-anchor="start" x="143" y="-4049" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
+<text text-anchor="middle" x="204.5" y="-4038" font-family="Helvetica,sans-Serif" font-size="10.00">Transform</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node595 -->
 <g id="edge102" class="edge">
 <title>Node493&#45;&gt;Node595</title>
-<path fill="none" stroke="midnightblue" d="M41.39,-2744.68C44.74,-2909.47 69.67,-4054.61 116,-4109 120.74,-4114.56 126.69,-4118.72 133.24,-4121.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.89,-2744.47 41.19,-2734.54 37.89,-2744.61 44.89,-2744.47"/>
+<path fill="none" stroke="midnightblue" d="M40.79,-2744.91C39.29,-2900.42 32.77,-3917.05 116,-4021 121.04,-4027.29 127.54,-4032.07 134.72,-4035.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.29,-2744.58 40.89,-2734.54 37.29,-2744.51 44.29,-2744.58"/>
 </g>
 <!-- Node596 -->
 <g id="node104" class="node">
 <title>Node596</title>
-<g id="a_node104"><a xlink:href="classtvm_1_1arith_1_1IntConstraints.html" target="_top" xlink:title="Managed reference to IntConstraintsNode.">
-<polygon fill="white" stroke="black" points="135,-4080.5 135,-4099.5 274,-4099.5 274,-4080.5 135,-4080.5"/>
-<text text-anchor="middle" x="204.5" y="-4087.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
+<g id="a_node104"><a xlink:href="classtvm_1_1arith_1_1IntGroupBounds.html" target="_top" xlink:title="Managed reference to IntGroupBoundsNode.">
+<polygon fill="white" stroke="black" points="130,-3992.5 130,-4011.5 279,-4011.5 279,-3992.5 130,-3992.5"/>
+<text text-anchor="middle" x="204.5" y="-3999.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntGroupBounds</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node596 -->
 <g id="edge103" class="edge">
 <title>Node493&#45;&gt;Node596</title>
-<path fill="none" stroke="midnightblue" d="M41.42,-2744.64C44.97,-2906.7 70.94,-4018.18 116,-4071 121.15,-4077.03 127.71,-4081.41 134.93,-4084.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.92,-2744.56 41.2,-2734.64 37.92,-2744.72 44.92,-2744.56"/>
+<path fill="none" stroke="midnightblue" d="M41.5,-2744.77C45.56,-2901.17 73.91,-3933.86 116,-3983 119.94,-3987.6 124.72,-3991.25 129.97,-3994.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45,-2744.61 41.24,-2734.71 38,-2744.79 45,-2744.61"/>
 </g>
 <!-- Node597 -->
 <g id="node105" class="node">
 <title>Node597</title>
-<g id="a_node105"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransform.html" target="_top" xlink:title="Managed reference to IntConstraintsTransformNode.">
-<polygon fill="white" stroke="black" points="135,-4031 135,-4061 274,-4061 274,-4031 135,-4031"/>
-<text text-anchor="start" x="143" y="-4049" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
-<text text-anchor="middle" x="204.5" y="-4038" font-family="Helvetica,sans-Serif" font-size="10.00">Transform</text>
+<g id="a_node105"><a xlink:href="classtvm_1_1arith_1_1IntSet.html" target="_top" xlink:title="Managed reference to IntSetNode.">
+<polygon fill="white" stroke="black" points="155,-3954.5 155,-3973.5 254,-3973.5 254,-3954.5 155,-3954.5"/>
+<text text-anchor="middle" x="204.5" y="-3961.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntSet</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node597 -->
 <g id="edge104" class="edge">
 <title>Node493&#45;&gt;Node597</title>
-<path fill="none" stroke="midnightblue" d="M40.79,-2744.91C39.29,-2900.42 32.77,-3917.05 116,-4021 121.04,-4027.29 127.54,-4032.07 134.72,-4035.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.29,-2744.58 40.89,-2734.54 37.29,-2744.51 44.29,-2744.58"/>
+<path fill="none" stroke="midnightblue" d="M40.81,-2744.71C39.52,-2894.5 34.52,-3850.04 116,-3945 125.62,-3956.21 140.15,-3961.71 154.62,-3964.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.31,-2744.7 40.9,-2734.67 37.31,-2744.64 44.31,-2744.7"/>
 </g>
 <!-- Node598 -->
 <g id="node106" class="node">
 <title>Node598</title>
-<g id="a_node106"><a xlink:href="classtvm_1_1arith_1_1IntGroupBounds.html" target="_top" xlink:title="Managed reference to IntGroupBoundsNode.">
-<polygon fill="white" stroke="black" points="130,-3992.5 130,-4011.5 279,-4011.5 279,-3992.5 130,-3992.5"/>
-<text text-anchor="middle" x="204.5" y="-3999.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntGroupBounds</text>
+<g id="a_node106"><a xlink:href="classtvm_1_1arith_1_1IterMapResult.html" target="_top" xlink:title="Managed reference to IterMapResultNode.">
+<polygon fill="white" stroke="black" points="135,-3916.5 135,-3935.5 274,-3935.5 274,-3916.5 135,-3916.5"/>
+<text text-anchor="middle" x="204.5" y="-3923.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapResult</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node598 -->
 <g id="edge105" class="edge">
 <title>Node493&#45;&gt;Node598</title>
-<path fill="none" stroke="midnightblue" d="M41.5,-2744.77C45.56,-2901.17 73.91,-3933.86 116,-3983 119.94,-3987.6 124.72,-3991.25 129.97,-3994.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45,-2744.61 41.24,-2734.71 38,-2744.79 45,-2744.61"/>
+<path fill="none" stroke="midnightblue" d="M40.85,-2744.99C39.89,-2893 37.12,-3815.26 116,-3907 121.17,-3913.01 127.75,-3917.38 134.98,-3920.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.35,-2744.73 40.92,-2734.7 37.35,-2744.68 44.35,-2744.73"/>
 </g>
 <!-- Node599 -->
 <g id="node107" class="node">
 <title>Node599</title>
-<g id="a_node107"><a xlink:href="classtvm_1_1arith_1_1IntSet.html" target="_top" xlink:title="Managed reference to IntSetNode.">
-<polygon fill="white" stroke="black" points="155,-3954.5 155,-3973.5 254,-3973.5 254,-3954.5 155,-3954.5"/>
-<text text-anchor="middle" x="204.5" y="-3961.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntSet</text>
+<g id="a_node107"><a xlink:href="classtvm_1_1arith_1_1IterMark.html" target="_top" xlink:title="Managed reference to IterMarkExprNode.">
+<polygon fill="white" stroke="black" points="148.5,-3878.5 148.5,-3897.5 260.5,-3897.5 260.5,-3878.5 148.5,-3878.5"/>
+<text text-anchor="middle" x="204.5" y="-3885.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMark</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node599 -->
 <g id="edge106" class="edge">
 <title>Node493&#45;&gt;Node599</title>
-<path fill="none" stroke="midnightblue" d="M40.81,-2744.71C39.52,-2894.5 34.52,-3850.04 116,-3945 125.62,-3956.21 140.15,-3961.71 154.62,-3964.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.31,-2744.7 40.9,-2734.67 37.31,-2744.64 44.31,-2744.7"/>
+<path fill="none" stroke="midnightblue" d="M40.89,-2744.8C40.28,-2889.45 39.63,-3780.36 116,-3869 124.22,-3878.54 136,-3883.94 148.26,-3886.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.39,-2744.74 40.94,-2734.72 37.39,-2744.7 44.39,-2744.74"/>
 </g>
 <!-- Node600 -->
 <g id="node108" class="node">
 <title>Node600</title>
-<g id="a_node108"><a xlink:href="classtvm_1_1arith_1_1IterMapResult.html" target="_top" xlink:title="Managed reference to IterMapResultNode.">
-<polygon fill="white" stroke="black" points="135,-3916.5 135,-3935.5 274,-3935.5 274,-3916.5 135,-3916.5"/>
-<text text-anchor="middle" x="204.5" y="-3923.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapResult</text>
+<g id="a_node108"><a xlink:href="classtvm_1_1arith_1_1ModularSet.html" target="_top" xlink:title="reference of ModularSetNode">
+<polygon fill="white" stroke="black" points="141.5,-3840.5 141.5,-3859.5 267.5,-3859.5 267.5,-3840.5 141.5,-3840.5"/>
+<text text-anchor="middle" x="204.5" y="-3847.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ModularSet</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node600 -->
 <g id="edge107" class="edge">
 <title>Node493&#45;&gt;Node600</title>
-<path fill="none" stroke="midnightblue" d="M40.85,-2744.99C39.89,-2893 37.12,-3815.26 116,-3907 121.17,-3913.01 127.75,-3917.38 134.98,-3920.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.35,-2744.73 40.92,-2734.7 37.35,-2744.68 44.35,-2744.73"/>
+<path fill="none" stroke="midnightblue" d="M40.94,-2745.01C40.68,-2887.51 42.21,-3745.55 116,-3831 122.6,-3838.65 131.5,-3843.64 141.09,-3846.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.44,-2744.73 40.96,-2734.72 37.44,-2744.71 44.44,-2744.73"/>
 </g>
 <!-- Node601 -->
 <g id="node109" class="node">
 <title>Node601</title>
-<g id="a_node109"><a xlink:href="classtvm_1_1arith_1_1IterMark.html" target="_top" xlink:title="Managed reference to IterMarkExprNode.">
-<polygon fill="white" stroke="black" points="148.5,-3878.5 148.5,-3897.5 260.5,-3897.5 260.5,-3878.5 148.5,-3878.5"/>
-<text text-anchor="middle" x="204.5" y="-3885.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMark</text>
+<g id="a_node109"><a xlink:href="classtvm_1_1instrument_1_1PassInstrument.html" target="_top" xlink:title="Managed reference class for PassInstrumentNode.">
+<polygon fill="white" stroke="black" points="116.5,-3802.5 116.5,-3821.5 292.5,-3821.5 292.5,-3802.5 116.5,-3802.5"/>
+<text text-anchor="middle" x="204.5" y="-3809.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrument</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node601 -->
 <g id="edge108" class="edge">
 <title>Node493&#45;&gt;Node601</title>
-<path fill="none" stroke="midnightblue" d="M40.89,-2744.8C40.28,-2889.45 39.63,-3780.36 116,-3869 124.22,-3878.54 136,-3883.94 148.26,-3886.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.39,-2744.74 40.94,-2734.72 37.39,-2744.7 44.39,-2744.74"/>
+<path fill="none" stroke="midnightblue" d="M40.99,-2744.75C41.09,-2883.65 44.71,-3710.65 116,-3793 119.26,-3796.76 123.06,-3799.88 127.24,-3802.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.49,-2744.7 40.99,-2734.7 37.49,-2744.7 44.49,-2744.7"/>
 </g>
 <!-- Node602 -->
 <g id="node110" class="node">
 <title>Node602</title>
-<g id="a_node110"><a xlink:href="classtvm_1_1arith_1_1ModularSet.html" target="_top" xlink:title="reference of ModularSetNode">
-<polygon fill="white" stroke="black" points="141.5,-3840.5 141.5,-3859.5 267.5,-3859.5 267.5,-3840.5 141.5,-3840.5"/>
-<text text-anchor="middle" x="204.5" y="-3847.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ModularSet</text>
+<g id="a_node110"><a xlink:href="classtvm_1_1relax_1_1Binding.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="149.5,-3764.5 149.5,-3783.5 259.5,-3783.5 259.5,-3764.5 149.5,-3764.5"/>
+<text text-anchor="middle" x="204.5" y="-3771.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Binding</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node602 -->
 <g id="edge109" class="edge">
 <title>Node493&#45;&gt;Node602</title>
-<path fill="none" stroke="midnightblue" d="M40.94,-2745.01C40.68,-2887.51 42.21,-3745.55 116,-3831 122.6,-3838.65 131.5,-3843.64 141.09,-3846.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.44,-2744.73 40.96,-2734.72 37.44,-2744.71 44.44,-2744.73"/>
-</g>
-<!-- Node603 -->
-<g id="node111" class="node">
-<title>Node603</title>
-<g id="a_node111"><a xlink:href="classtvm_1_1instrument_1_1PassInstrument.html" target="_top" xlink:title="Managed reference class for PassInstrumentNode.">
-<polygon fill="white" stroke="black" points="116.5,-3802.5 116.5,-3821.5 292.5,-3821.5 292.5,-3802.5 116.5,-3802.5"/>
-<text text-anchor="middle" x="204.5" y="-3809.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrument</text>
-</a>
-</g>
-</g>
-<!-- Node493&#45;&gt;Node603 -->
-<g id="edge110" class="edge">
-<title>Node493&#45;&gt;Node603</title>
-<path fill="none" stroke="midnightblue" d="M40.99,-2744.75C41.09,-2883.65 44.71,-3710.65 116,-3793 119.26,-3796.76 123.06,-3799.88 127.24,-3802.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.49,-2744.7 40.99,-2734.7 37.49,-2744.7 44.49,-2744.7"/>
-</g>
-<!-- Node604 -->
-<g id="node112" class="node">
-<title>Node604</title>
-<g id="a_node112"><a xlink:href="classtvm_1_1relax_1_1Binding.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="149.5,-3764.5 149.5,-3783.5 259.5,-3783.5 259.5,-3764.5 149.5,-3764.5"/>
-<text text-anchor="middle" x="204.5" y="-3771.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Binding</text>
-</a>
-</g>
-</g>
-<!-- Node493&#45;&gt;Node604 -->
-<g id="edge111" class="edge">
-<title>Node493&#45;&gt;Node604</title>
 <path fill="none" stroke="midnightblue" d="M41.04,-2744.88C41.52,-2881.27 47.27,-3675.81 116,-3755 124.46,-3764.74 136.63,-3770.17 149.22,-3773.05"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.54,-2744.65 41.01,-2734.66 37.54,-2744.67 44.54,-2744.65"/>
 </g>
-<!-- Node607 -->
-<g id="node115" class="node">
-<title>Node607</title>
-<g id="a_node115"><a xlink:href="classtvm_1_1relax_1_1BindingBlock.html" target="_top" xlink:title=" ">
+<!-- Node605 -->
+<g id="node113" class="node">
+<title>Node605</title>
+<g id="a_node113"><a xlink:href="classtvm_1_1relax_1_1BindingBlock.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="136,-3726.5 136,-3745.5 273,-3745.5 273,-3726.5 136,-3726.5"/>
 <text text-anchor="middle" x="204.5" y="-3733.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlock</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node607 -->
-<g id="edge114" class="edge">
-<title>Node493&#45;&gt;Node607</title>
+<!-- Node493&#45;&gt;Node605 -->
+<g id="edge112" class="edge">
+<title>Node493&#45;&gt;Node605</title>
 <path fill="none" stroke="midnightblue" d="M41.1,-2744.96C41.97,-2878.64 49.82,-3640.97 116,-3717 121.41,-3723.21 128.33,-3727.67 135.9,-3730.83"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.6,-2744.59 41.04,-2734.61 37.6,-2744.63 44.6,-2744.59"/>
 </g>
-<!-- Node609 -->
-<g id="node117" class="node">
-<title>Node609</title>
-<g id="a_node117"><a xlink:href="classtvm_1_1relax_1_1BlockBuilder.html" target="_top" xlink:title=" ">
+<!-- Node607 -->
+<g id="node115" class="node">
+<title>Node607</title>
+<g id="a_node115"><a xlink:href="classtvm_1_1relax_1_1BlockBuilder.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="137.5,-3688.5 137.5,-3707.5 271.5,-3707.5 271.5,-3688.5 137.5,-3688.5"/>
 <text text-anchor="middle" x="204.5" y="-3695.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilder</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node609 -->
-<g id="edge116" class="edge">
-<title>Node493&#45;&gt;Node609</title>
+<!-- Node493&#45;&gt;Node607 -->
+<g id="edge114" class="edge">
+<title>Node493&#45;&gt;Node607</title>
 <path fill="none" stroke="midnightblue" d="M41.16,-2744.6C42.42,-2874.3 52.3,-3606.03 116,-3679 121.73,-3685.56 129.13,-3690.16 137.21,-3693.34"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.66,-2744.5 41.07,-2734.54 37.66,-2744.57 44.66,-2744.5"/>
 </g>
-<!-- Node610 -->
-<g id="node118" class="node">
-<title>Node610</title>
-<g id="a_node118"><a xlink:href="classtvm_1_1relax_1_1DFConstraint.html" target="_top" xlink:title=" ">
+<!-- Node608 -->
+<g id="node116" class="node">
+<title>Node608</title>
+<g id="a_node116"><a xlink:href="classtvm_1_1relax_1_1DFConstraint.html" target="_top" xlink:title=" ">
 <polygon fill="white" stroke="black" points="136,-3650.5 136,-3669.5 273,-3669.5 273,-3650.5 136,-3650.5"/>
 <text text-anchor="middle" x="204.5" y="-3657.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraint</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node610 -->
-<g id="edge117" class="edge">
-<title>Node493&#45;&gt;Node610</title>
+<!-- Node493&#45;&gt;Node608 -->
+<g id="edge115" class="edge">
+<title>Node493&#45;&gt;Node608</title>
 <path fill="none" stroke="midnightblue" d="M41.24,-2744.99C42.92,-2872.69 54.89,-3571.24 116,-3641 121.43,-3647.2 128.36,-3651.64 135.94,-3654.8"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="44.73,-2744.69 41.11,-2734.73 37.73,-2744.78 44.73,-2744.69"/>
 </g>
-<!-- Node612 -->
-<g id="node120" class="node">
-<title>Node612</title>
-<g id="a_node120"><a xlink:href="classtvm_1_1relax_1_1DFPattern.html" target="_top" xlink:title="Managed reference to dataflow patterns.">
+<!-- Node610 -->
+<g id="node118" class="node">
+<title>Node610</title>
+<g id="a_node118"><a xlink:href="classtvm_1_1relax_1_1DFPattern.html" target="_top" xlink:title="Managed reference to dataflow patterns.">
 <polygon fill="white" stroke="black" points="144,-3612.5 144,-3631.5 265,-3631.5 265,-3612.5 144,-3612.5"/>
 <text text-anchor="middle" x="204.5" y="-3619.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPattern</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node612 -->
-<g id="edge119" class="edge">
-<title>Node493&#45;&gt;Node612</title>
-<path fill="none" stroke="midnightblue" d="M41.31,-2744.92C43.42,-2869.32 57.41,-3536.35 116,-3603 123.29,-3611.29 133.26,-3616.44 143.87,-3619.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.8,-2744.56 41.14,-2734.61 37.8,-2744.67 44.8,-2744.56"/>
+<!-- Node493&#45;&gt;Node610 -->
+<g id="edge117" class="edge">
+<title>Node493&#45;&gt;Node610</title>
+<path fill="none" stroke="midnightblue" d="M41.31,-2744.92C43.42,-2869.32 57.41,-3536.35 116,-3603 123.29,-3611.29 133.26,-3616.44 143.87,-3619.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.8,-2744.56 41.14,-2734.61 37.8,-2744.67 44.8,-2744.56"/>
+</g>
+<!-- Node631 -->
+<g id="node139" class="node">
+<title>Node631</title>
+<g id="a_node139"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewrite.html" target="_top" xlink:title="A statement rewriter for relax.DataflowBlock.">
+<polygon fill="white" stroke="black" points="133,-3563 133,-3593 276,-3593 276,-3563 133,-3563"/>
+<text text-anchor="start" x="141" y="-3581" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
+<text text-anchor="middle" x="204.5" y="-3570" font-family="Helvetica,sans-Serif" font-size="10.00">Rewrite</text>
+</a>
+</g>
+</g>
+<!-- Node493&#45;&gt;Node631 -->
+<g id="edge138" class="edge">
+<title>Node493&#45;&gt;Node631</title>
+<path fill="none" stroke="midnightblue" d="M41.47,-2744.84C44.51,-2864.67 62.78,-3488.7 116,-3553 120.63,-3558.6 126.43,-3562.99 132.81,-3566.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.97,-2744.5 41.22,-2734.59 37.97,-2744.67 44.97,-2744.5"/>
+</g>
+<!-- Node632 -->
+<g id="node140" class="node">
+<title>Node632</title>
+<g id="a_node140"><a xlink:href="classtvm_1_1relax_1_1ExecBuilder.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="139.5,-3524.5 139.5,-3543.5 269.5,-3543.5 269.5,-3524.5 139.5,-3524.5"/>
+<text text-anchor="middle" x="204.5" y="-3531.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilder</text>
+</a>
+</g>
+</g>
+<!-- Node493&#45;&gt;Node632 -->
+<g id="edge139" class="edge">
+<title>Node493&#45;&gt;Node632</title>
+<path fill="none" stroke="midnightblue" d="M41.5,-2744.71C44.65,-2861.1 63.23,-3455.54 116,-3515 122.29,-3522.09 130.56,-3526.88 139.49,-3530.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45,-2744.61 41.24,-2734.71 38,-2744.8 45,-2744.61"/>
 </g>
 <!-- Node633 -->
 <g id="node141" class="node">
 <title>Node633</title>
-<g id="a_node141"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewrite.html" target="_top" xlink:title="A statement rewriter for relax.DataflowBlock.">
-<polygon fill="white" stroke="black" points="133,-3563 133,-3593 276,-3593 276,-3563 133,-3563"/>
-<text text-anchor="start" x="141" y="-3581" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
-<text text-anchor="middle" x="204.5" y="-3570" font-family="Helvetica,sans-Serif" font-size="10.00">Rewrite</text>
+<g id="a_node141"><a xlink:href="classtvm_1_1relax_1_1Id.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="163.5,-3486.5 163.5,-3505.5 245.5,-3505.5 245.5,-3486.5 163.5,-3486.5"/>
+<text text-anchor="middle" x="204.5" y="-3493.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Id</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node633 -->
 <g id="edge140" class="edge">
 <title>Node493&#45;&gt;Node633</title>
-<path fill="none" stroke="midnightblue" d="M41.47,-2744.84C44.51,-2864.67 62.78,-3488.7 116,-3553 120.63,-3558.6 126.43,-3562.99 132.81,-3566.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.97,-2744.5 41.22,-2734.59 37.97,-2744.67 44.97,-2744.5"/>
+<path fill="none" stroke="midnightblue" d="M41.6,-2744.79C45.24,-2858.03 65.77,-3420.67 116,-3477 127.79,-3490.23 146.44,-3495.44 163.49,-3497.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.09,-2744.39 41.28,-2734.5 38.1,-2744.61 45.09,-2744.39"/>
 </g>
 <!-- Node634 -->
 <g id="node142" class="node">
 <title>Node634</title>
-<g id="a_node142"><a xlink:href="classtvm_1_1relax_1_1ExecBuilder.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="139.5,-3524.5 139.5,-3543.5 269.5,-3543.5 269.5,-3524.5 139.5,-3524.5"/>
-<text text-anchor="middle" x="204.5" y="-3531.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilder</text>
+<g id="a_node142"><a xlink:href="classtvm_1_1relax_1_1MatchResult.html" target="_top" xlink:title="Managed reference to MatchResultNode.">
+<polygon fill="white" stroke="black" points="137.5,-3448.5 137.5,-3467.5 271.5,-3467.5 271.5,-3448.5 137.5,-3448.5"/>
+<text text-anchor="middle" x="204.5" y="-3455.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResult</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node634 -->
 <g id="edge141" class="edge">
 <title>Node493&#45;&gt;Node634</title>
-<path fill="none" stroke="midnightblue" d="M41.5,-2744.71C44.65,-2861.1 63.23,-3455.54 116,-3515 122.29,-3522.09 130.56,-3526.88 139.49,-3530.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45,-2744.61 41.24,-2734.71 38,-2744.8 45,-2744.61"/>
+<path fill="none" stroke="midnightblue" d="M41.72,-2744.81C45.86,-2854.65 68.29,-3385.77 116,-3439 121.81,-3445.48 129.27,-3450.04 137.37,-3453.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.2,-2744.39 41.34,-2734.53 38.21,-2744.65 45.2,-2744.39"/>
 </g>
 <!-- Node635 -->
 <g id="node143" class="node">
 <title>Node635</title>
-<g id="a_node143"><a xlink:href="classtvm_1_1relax_1_1Id.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="163.5,-3486.5 163.5,-3505.5 245.5,-3505.5 245.5,-3486.5 163.5,-3486.5"/>
-<text text-anchor="middle" x="204.5" y="-3493.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Id</text>
+<g id="a_node143"><a xlink:href="classtvm_1_1relax_1_1PatternContext.html" target="_top" xlink:title="Managed reference to a pattern context.">
+<polygon fill="white" stroke="black" points="131.5,-3410.5 131.5,-3429.5 277.5,-3429.5 277.5,-3410.5 131.5,-3410.5"/>
+<text text-anchor="middle" x="204.5" y="-3417.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContext</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node635 -->
 <g id="edge142" class="edge">
 <title>Node493&#45;&gt;Node635</title>
-<path fill="none" stroke="midnightblue" d="M41.6,-2744.79C45.24,-2858.03 65.77,-3420.67 116,-3477 127.79,-3490.23 146.44,-3495.44 163.49,-3497.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.09,-2744.39 41.28,-2734.5 38.1,-2744.61 45.09,-2744.39"/>
+<path fill="none" stroke="midnightblue" d="M41.84,-2744.76C46.51,-2850.94 70.8,-3350.87 116,-3401 120.37,-3405.85 125.66,-3409.62 131.46,-3412.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.33,-2744.6 41.4,-2734.76 38.34,-2744.9 45.33,-2744.6"/>
 </g>
 <!-- Node636 -->
 <g id="node144" class="node">
 <title>Node636</title>
-<g id="a_node144"><a xlink:href="classtvm_1_1relax_1_1MatchResult.html" target="_top" xlink:title="Managed reference to MatchResultNode.">
-<polygon fill="white" stroke="black" points="137.5,-3448.5 137.5,-3467.5 271.5,-3467.5 271.5,-3448.5 137.5,-3448.5"/>
-<text text-anchor="middle" x="204.5" y="-3455.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResult</text>
+<g id="a_node144"><a xlink:href="classtvm_1_1relax_1_1PatternSeq.html" target="_top" xlink:title="Managed reference to pattern sequences.">
+<polygon fill="white" stroke="black" points="142,-3372.5 142,-3391.5 267,-3391.5 267,-3372.5 142,-3372.5"/>
+<text text-anchor="middle" x="204.5" y="-3379.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeq</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node636 -->
 <g id="edge143" class="edge">
 <title>Node493&#45;&gt;Node636</title>
-<path fill="none" stroke="midnightblue" d="M41.72,-2744.81C45.86,-2854.65 68.29,-3385.77 116,-3439 121.81,-3445.48 129.27,-3450.04 137.37,-3453.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.2,-2744.39 41.34,-2734.53 38.21,-2744.65 45.2,-2744.39"/>
+<path fill="none" stroke="midnightblue" d="M41.98,-2744.91C47.23,-2847.77 73.33,-3315.98 116,-3363 122.9,-3370.6 132.05,-3375.54 141.84,-3378.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.47,-2744.5 41.47,-2734.69 38.47,-2744.85 45.47,-2744.5"/>
 </g>
 <!-- Node637 -->
 <g id="node145" class="node">
 <title>Node637</title>
-<g id="a_node145"><a xlink:href="classtvm_1_1relax_1_1PatternContext.html" target="_top" xlink:title="Managed reference to a pattern context.">
-<polygon fill="white" stroke="black" points="131.5,-3410.5 131.5,-3429.5 277.5,-3429.5 277.5,-3410.5 131.5,-3410.5"/>
-<text text-anchor="middle" x="204.5" y="-3417.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContext</text>
+<g id="a_node145"><a xlink:href="classtvm_1_1relax_1_1StructInfo.html" target="_top" xlink:title="Managed reference to StructInfoNode.">
+<polygon fill="white" stroke="black" points="144.5,-3334.5 144.5,-3353.5 264.5,-3353.5 264.5,-3334.5 144.5,-3334.5"/>
+<text text-anchor="middle" x="204.5" y="-3341.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StructInfo</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node637 -->
 <g id="edge144" class="edge">
 <title>Node493&#45;&gt;Node637</title>
-<path fill="none" stroke="midnightblue" d="M41.84,-2744.76C46.51,-2850.94 70.8,-3350.87 116,-3401 120.37,-3405.85 125.66,-3409.62 131.46,-3412.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.33,-2744.6 41.4,-2734.76 38.34,-2744.9 45.33,-2744.6"/>
+<path fill="none" stroke="midnightblue" d="M42.12,-2744.65C47.92,-2843.23 75.8,-3281.03 116,-3325 123.45,-3333.15 133.49,-3338.23 144.13,-3341.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.61,-2744.36 41.54,-2734.58 38.62,-2744.76 45.61,-2744.36"/>
 </g>
-<!-- Node638 -->
-<g id="node146" class="node">
-<title>Node638</title>
-<g id="a_node146"><a xlink:href="classtvm_1_1relax_1_1PatternSeq.html" target="_top" xlink:title="Managed reference to pattern sequences.">
-<polygon fill="white" stroke="black" points="142,-3372.5 142,-3391.5 267,-3391.5 267,-3372.5 142,-3372.5"/>
-<text text-anchor="middle" x="204.5" y="-3379.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeq</text>
+<!-- Node645 -->
+<g id="node153" class="node">
+<title>Node645</title>
+<g id="a_node153"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1Placement.html" target="_top" xlink:title="Managed reference to a Placement.">
+<polygon fill="white" stroke="black" points="142,-3285 142,-3315 267,-3315 267,-3285 142,-3285"/>
+<text text-anchor="start" x="150" y="-3303" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="204.5" y="-3292" font-family="Helvetica,sans-Serif" font-size="10.00">::Placement</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node638 -->
-<g id="edge145" class="edge">
-<title>Node493&#45;&gt;Node638</title>
-<path fill="none" stroke="midnightblue" d="M41.98,-2744.91C47.23,-2847.77 73.33,-3315.98 116,-3363 122.9,-3370.6 132.05,-3375.54 141.84,-3378.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.47,-2744.5 41.47,-2734.69 38.47,-2744.85 45.47,-2744.5"/>
+<!-- Node493&#45;&gt;Node645 -->
+<g id="edge152" class="edge">
+<title>Node493&#45;&gt;Node645</title>
+<path fill="none" stroke="midnightblue" d="M40.88,-2744.66C40.76,-2833.24 44.71,-3194.59 116,-3276 122.85,-3283.82 131.98,-3289.21 141.77,-3292.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.38,-2744.64 40.92,-2734.63 37.38,-2744.61 44.38,-2744.64"/>
 </g>
-<!-- Node639 -->
-<g id="node147" class="node">
-<title>Node639</title>
-<g id="a_node147"><a xlink:href="classtvm_1_1relax_1_1StructInfo.html" target="_top" xlink:title="Managed reference to StructInfoNode.">
-<polygon fill="white" stroke="black" points="144.5,-3334.5 144.5,-3353.5 264.5,-3353.5 264.5,-3334.5 144.5,-3334.5"/>
-<text text-anchor="middle" x="204.5" y="-3341.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StructInfo</text>
+<!-- Node646 -->
+<g id="node154" class="node">
+<title>Node646</title>
+<g id="a_node154"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpec.html" target="_top" xlink:title="Managed reference to PlacementSpecNode.">
+<polygon fill="white" stroke="black" points="142,-3236 142,-3266 267,-3266 267,-3236 142,-3236"/>
+<text text-anchor="start" x="150" y="-3254" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="204.5" y="-3243" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpec</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node639 -->
-<g id="edge146" class="edge">
-<title>Node493&#45;&gt;Node639</title>
-<path fill="none" stroke="midnightblue" d="M42.12,-2744.65C47.92,-2843.23 75.8,-3281.03 116,-3325 123.45,-3333.15 133.49,-3338.23 144.13,-3341.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.61,-2744.36 41.54,-2734.58 38.62,-2744.76 45.61,-2744.36"/>
+<!-- Node493&#45;&gt;Node646 -->
+<g id="edge153" class="edge">
+<title>Node493&#45;&gt;Node646</title>
+<path fill="none" stroke="midnightblue" d="M41.17,-2744.73C42.31,-2828.5 50.93,-3153.66 116,-3227 122.9,-3234.78 132.06,-3240.14 141.85,-3243.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.67,-2744.53 41.06,-2734.57 37.67,-2744.61 44.67,-2744.53"/>
 </g>
 <!-- Node647 -->
 <g id="node155" class="node">
 <title>Node647</title>
-<g id="a_node155"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1Placement.html" target="_top" xlink:title="Managed reference to a Placement.">
-<polygon fill="white" stroke="black" points="142,-3285 142,-3315 267,-3315 267,-3285 142,-3285"/>
-<text text-anchor="start" x="150" y="-3303" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="204.5" y="-3292" font-family="Helvetica,sans-Serif" font-size="10.00">::Placement</text>
+<g id="a_node155"><a xlink:href="classtvm_1_1relax_1_1transform_1_1FusionPattern.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="144,-3187 144,-3217 265,-3217 265,-3187 144,-3187"/>
+<text text-anchor="start" x="152" y="-3205" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
+<text text-anchor="middle" x="204.5" y="-3194" font-family="Helvetica,sans-Serif" font-size="10.00">::FusionPattern</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node647 -->
 <g id="edge154" class="edge">
 <title>Node493&#45;&gt;Node647</title>
-<path fill="none" stroke="midnightblue" d="M40.88,-2744.66C40.76,-2833.24 44.71,-3194.59 116,-3276 122.85,-3283.82 131.98,-3289.21 141.77,-3292.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.38,-2744.64 40.92,-2734.63 37.38,-2744.61 44.38,-2744.64"/>
+<path fill="none" stroke="midnightblue" d="M41.53,-2744.79C44.02,-2823.43 57.12,-3112.68 116,-3178 123.38,-3186.19 133.27,-3191.7 143.74,-3195.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.02,-2744.66 41.23,-2734.77 38.03,-2744.87 45.02,-2744.66"/>
 </g>
 <!-- Node648 -->
 <g id="node156" class="node">
 <title>Node648</title>
-<g id="a_node156"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpec.html" target="_top" xlink:title="Managed reference to PlacementSpecNode.">
-<polygon fill="white" stroke="black" points="142,-3236 142,-3266 267,-3266 267,-3236 142,-3236"/>
-<text text-anchor="start" x="150" y="-3254" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="204.5" y="-3243" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpec</text>
+<g id="a_node156"><a xlink:href="classtvm_1_1relax_1_1transform_1_1PatternCheckContext.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="142,-3138 142,-3168 267,-3168 267,-3138 142,-3138"/>
+<text text-anchor="start" x="150" y="-3156" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
+<text text-anchor="middle" x="204.5" y="-3145" font-family="Helvetica,sans-Serif" font-size="10.00">::PatternCheckContext</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node648 -->
 <g id="edge155" class="edge">
 <title>Node493&#45;&gt;Node648</title>
-<path fill="none" stroke="midnightblue" d="M41.17,-2744.73C42.31,-2828.5 50.93,-3153.66 116,-3227 122.9,-3234.78 132.06,-3240.14 141.85,-3243.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.67,-2744.53 41.06,-2734.57 37.67,-2744.61 44.67,-2744.53"/>
+<path fill="none" stroke="midnightblue" d="M42,-2744.89C46.06,-2817.99 63.72,-3070.54 116,-3128 122.91,-3135.6 131.95,-3140.95 141.6,-3144.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.49,-2744.55 41.46,-2734.75 38.5,-2744.92 45.49,-2744.55"/>
 </g>
 <!-- Node649 -->
 <g id="node157" class="node">
 <title>Node649</title>
-<g id="a_node157"><a xlink:href="classtvm_1_1relax_1_1transform_1_1FusionPattern.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="144,-3187 144,-3217 265,-3217 265,-3187 144,-3187"/>
-<text text-anchor="start" x="152" y="-3205" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
-<text text-anchor="middle" x="204.5" y="-3194" font-family="Helvetica,sans-Serif" font-size="10.00">::FusionPattern</text>
+<g id="a_node157"><a xlink:href="classtvm_1_1runtime_1_1DRef.html" target="_top" xlink:title="Managed reference to DRefObj.">
+<polygon fill="white" stroke="black" points="149.5,-3099.5 149.5,-3118.5 259.5,-3118.5 259.5,-3099.5 149.5,-3099.5"/>
+<text text-anchor="middle" x="204.5" y="-3106.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::DRef</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node649 -->
 <g id="edge156" class="edge">
 <title>Node493&#45;&gt;Node649</title>
-<path fill="none" stroke="midnightblue" d="M41.53,-2744.79C44.02,-2823.43 57.12,-3112.68 116,-3178 123.38,-3186.19 133.27,-3191.7 143.74,-3195.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.02,-2744.66 41.23,-2734.77 38.03,-2744.87 45.02,-2744.66"/>
+<path fill="none" stroke="midnightblue" d="M42.29,-2744.85C47.17,-2813.63 66.76,-3040.21 116,-3090 124.85,-3098.95 136.86,-3104.14 149.15,-3107.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="45.76,-2744.31 41.59,-2734.57 38.78,-2744.78 45.76,-2744.31"/>
 </g>
 <!-- Node650 -->
 <g id="node158" class="node">
 <title>Node650</title>
-<g id="a_node158"><a xlink:href="classtvm_1_1relax_1_1transform_1_1PatternCheckContext.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="142,-3138 142,-3168 267,-3168 267,-3138 142,-3138"/>
-<text text-anchor="start" x="150" y="-3156" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
-<text text-anchor="middle" x="204.5" y="-3145" font-family="Helvetica,sans-Serif" font-size="10.00">::PatternCheckContext</text>
+<g id="a_node158"><a xlink:href="classtvm_1_1runtime_1_1Session.html" target="_top" xlink:title="Managed reference to SessionObj.">
+<polygon fill="white" stroke="black" points="142.5,-3061.5 142.5,-3080.5 266.5,-3080.5 266.5,-3061.5 142.5,-3061.5"/>
+<text text-anchor="middle" x="204.5" y="-3068.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Session</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node650 -->
 <g id="edge157" class="edge">
 <title>Node493&#45;&gt;Node650</title>
-<path fill="none" stroke="midnightblue" d="M42,-2744.89C46.06,-2817.99 63.72,-3070.54 116,-3128 122.91,-3135.6 131.95,-3140.95 141.6,-3144.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.49,-2744.55 41.46,-2734.75 38.5,-2744.92 45.49,-2744.55"/>
+<path fill="none" stroke="midnightblue" d="M42.8,-2744.83C49.01,-2808.8 71.64,-3008.15 116,-3052 123.19,-3059.1 132.36,-3063.82 142.06,-3066.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="46.25,-2744.15 41.83,-2734.52 39.28,-2744.81 46.25,-2744.15"/>
 </g>
 <!-- Node651 -->
 <g id="node159" class="node">
 <title>Node651</title>
-<g id="a_node159"><a xlink:href="classtvm_1_1runtime_1_1DRef.html" target="_top" xlink:title="Managed reference to DRefObj.">
-<polygon fill="white" stroke="black" points="149.5,-3099.5 149.5,-3118.5 259.5,-3118.5 259.5,-3099.5 149.5,-3099.5"/>
-<text text-anchor="middle" x="204.5" y="-3106.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::DRef</text>
+<g id="a_node159"><a xlink:href="classtvm_1_1runtime_1_1Timer.html" target="_top" xlink:title="Timer for a specific device.">
+<polygon fill="white" stroke="black" points="147,-3023.5 147,-3042.5 262,-3042.5 262,-3023.5 147,-3023.5"/>
+<text text-anchor="middle" x="204.5" y="-3030.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Timer</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node651 -->
 <g id="edge158" class="edge">
 <title>Node493&#45;&gt;Node651</title>
-<path fill="none" stroke="midnightblue" d="M42.29,-2744.85C47.17,-2813.63 66.76,-3040.21 116,-3090 124.85,-3098.95 136.86,-3104.14 149.15,-3107.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="45.76,-2744.31 41.59,-2734.57 38.78,-2744.78 45.76,-2744.31"/>
+<path fill="none" stroke="midnightblue" d="M43.44,-2744.8C51.09,-2803.69 76.49,-2976.04 116,-3014 124.41,-3022.08 135.4,-3027.05 146.74,-3030.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="46.88,-2744.09 42.15,-2734.6 39.93,-2744.97 46.88,-2744.09"/>
 </g>
 <!-- Node652 -->
 <g id="node160" class="node">
 <title>Node652</title>
-<g id="a_node160"><a xlink:href="classtvm_1_1runtime_1_1Session.html" target="_top" xlink:title="Managed reference to SessionObj.">
-<polygon fill="white" stroke="black" points="142.5,-3061.5 142.5,-3080.5 266.5,-3080.5 266.5,-3061.5 142.5,-3061.5"/>
-<text text-anchor="middle" x="204.5" y="-3068.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Session</text>
+<g id="a_node160"><a xlink:href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemory.html" target="_top" xlink:title="Managed reference to CUDAIPCMemoryObj.">
+<polygon fill="white" stroke="black" points="141,-2974 141,-3004 268,-3004 268,-2974 141,-2974"/>
+<text text-anchor="start" x="149" y="-2992" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::cuda</text>
+<text text-anchor="middle" x="204.5" y="-2981" font-family="Helvetica,sans-Serif" font-size="10.00">_ipc::CUDAIPCMemory</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node652 -->
 <g id="edge159" class="edge">
 <title>Node493&#45;&gt;Node652</title>
-<path fill="none" stroke="midnightblue" d="M42.8,-2744.83C49.01,-2808.8 71.64,-3008.15 116,-3052 123.19,-3059.1 132.36,-3063.82 142.06,-3066.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="46.25,-2744.15 41.83,-2734.52 39.28,-2744.81 46.25,-2744.15"/>
+<path fill="none" stroke="midnightblue" d="M41.16,-2745.06C42.64,-2790.9 52.88,-2904.07 116,-2965 122.91,-2971.67 131.5,-2976.53 140.57,-2980.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.65,-2744.85 40.94,-2734.93 37.66,-2745 44.65,-2744.85"/>
 </g>
 <!-- Node653 -->
 <g id="node161" class="node">
 <title>Node653</title>
-<g id="a_node161"><a xlink:href="classtvm_1_1runtime_1_1Timer.html" target="_top" xlink:title="Timer for a specific device.">
-<polygon fill="white" stroke="black" points="147,-3023.5 147,-3042.5 262,-3042.5 262,-3023.5 147,-3023.5"/>
-<text text-anchor="middle" x="204.5" y="-3030.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Timer</text>
+<g id="a_node161"><a xlink:href="classtvm_1_1runtime_1_1memory_1_1Storage.html" target="_top" xlink:title="reference to storage.">
+<polygon fill="white" stroke="black" points="140.5,-2925 140.5,-2955 268.5,-2955 268.5,-2925 140.5,-2925"/>
+<text text-anchor="start" x="148.5" y="-2943" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::memory</text>
+<text text-anchor="middle" x="204.5" y="-2932" font-family="Helvetica,sans-Serif" font-size="10.00">::Storage</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node653 -->
 <g id="edge160" class="edge">
 <title>Node493&#45;&gt;Node653</title>
-<path fill="none" stroke="midnightblue" d="M43.44,-2744.8C51.09,-2803.69 76.49,-2976.04 116,-3014 124.41,-3022.08 135.4,-3027.05 146.74,-3030.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="46.88,-2744.09 42.15,-2734.6 39.93,-2744.97 46.88,-2744.09"/>
+<path fill="none" stroke="midnightblue" d="M43.1,-2744.94C48.25,-2783.56 65.05,-2868.8 116,-2915 122.91,-2921.26 131.27,-2925.96 140.07,-2929.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="46.52,-2744.06 41.85,-2734.55 39.57,-2744.89 46.52,-2744.06"/>
 </g>
 <!-- Node654 -->
 <g id="node162" class="node">
 <title>Node654</title>
-<g id="a_node162"><a xlink:href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemory.html" target="_top" xlink:title="Managed reference to CUDAIPCMemoryObj.">
-<polygon fill="white" stroke="black" points="141,-2974 141,-3004 268,-3004 268,-2974 141,-2974"/>
-<text text-anchor="start" x="149" y="-2992" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::cuda</text>
-<text text-anchor="middle" x="204.5" y="-2981" font-family="Helvetica,sans-Serif" font-size="10.00">_ipc::CUDAIPCMemory</text>
+<g id="a_node162"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMClosure.html" target="_top" xlink:title="reference to closure.">
+<polygon fill="white" stroke="black" points="124,-2886.5 124,-2905.5 285,-2905.5 285,-2886.5 124,-2886.5"/>
+<text text-anchor="middle" x="204.5" y="-2893.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMClosure</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node654 -->
 <g id="edge161" class="edge">
 <title>Node493&#45;&gt;Node654</title>
-<path fill="none" stroke="midnightblue" d="M41.16,-2745.06C42.64,-2790.9 52.88,-2904.07 116,-2965 122.91,-2971.67 131.5,-2976.53 140.57,-2980.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.65,-2744.85 40.94,-2734.93 37.66,-2745 44.65,-2744.85"/>
+<path fill="none" stroke="midnightblue" d="M44.96,-2744.81C52.61,-2777.67 72.64,-2843.13 116,-2877 120.9,-2880.83 126.41,-2883.92 132.21,-2886.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="48.3,-2743.69 42.75,-2734.66 41.46,-2745.18 48.3,-2743.69"/>
 </g>
 <!-- Node655 -->
 <g id="node163" class="node">
 <title>Node655</title>
-<g id="a_node163"><a xlink:href="classtvm_1_1runtime_1_1memory_1_1Storage.html" target="_top" xlink:title="reference to storage.">
-<polygon fill="white" stroke="black" points="140.5,-2925 140.5,-2955 268.5,-2955 268.5,-2925 140.5,-2925"/>
-<text text-anchor="start" x="148.5" y="-2943" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::memory</text>
-<text text-anchor="middle" x="204.5" y="-2932" font-family="Helvetica,sans-Serif" font-size="10.00">::Storage</text>
+<g id="a_node163"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMExtension.html" target="_top" xlink:title="Managed reference to VM extension.">
+<polygon fill="white" stroke="black" points="118.5,-2848.5 118.5,-2867.5 290.5,-2867.5 290.5,-2848.5 118.5,-2848.5"/>
+<text text-anchor="middle" x="204.5" y="-2855.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExtension</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node655 -->
 <g id="edge162" class="edge">
 <title>Node493&#45;&gt;Node655</title>
-<path fill="none" stroke="midnightblue" d="M43.1,-2744.94C48.25,-2783.56 65.05,-2868.8 116,-2915 122.91,-2921.26 131.27,-2925.96 140.07,-2929.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="46.52,-2744.06 41.85,-2734.55 39.57,-2744.89 46.52,-2744.06"/>
+<path fill="none" stroke="midnightblue" d="M48.2,-2744.24C58.89,-2770.04 81.49,-2815.32 116,-2839 121.64,-2842.87 127.93,-2845.97 134.47,-2848.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="51.4,-2742.8 44.46,-2734.79 44.89,-2745.38 51.4,-2742.8"/>
 </g>
 <!-- Node656 -->
 <g id="node164" class="node">
 <title>Node656</title>
-<g id="a_node164"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMClosure.html" target="_top" xlink:title="reference to closure.">
-<polygon fill="white" stroke="black" points="124,-2886.5 124,-2905.5 285,-2905.5 285,-2886.5 124,-2886.5"/>
-<text text-anchor="middle" x="204.5" y="-2893.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMClosure</text>
+<g id="a_node164"><a xlink:href="classtvm_1_1s__tir_1_1Instruction.html" target="_top" xlink:title="Managed reference to InstructionNode.">
+<polygon fill="white" stroke="black" points="144,-2810.5 144,-2829.5 265,-2829.5 265,-2810.5 144,-2810.5"/>
+<text text-anchor="middle" x="204.5" y="-2817.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::Instruction</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node656 -->
 <g id="edge163" class="edge">
 <title>Node493&#45;&gt;Node656</title>
-<path fill="none" stroke="midnightblue" d="M44.96,-2744.81C52.61,-2777.67 72.64,-2843.13 116,-2877 120.9,-2880.83 126.41,-2883.92 132.21,-2886.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="48.3,-2743.69 42.75,-2734.66 41.46,-2745.18 48.3,-2743.69"/>
+<path fill="none" stroke="midnightblue" d="M53.74,-2742.98C67.19,-2760.56 90,-2786.7 116,-2801 124.58,-2805.72 134.24,-2809.27 143.92,-2811.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="56.36,-2740.64 47.6,-2734.68 50.73,-2744.8 56.36,-2740.64"/>
 </g>
 <!-- Node657 -->
 <g id="node165" class="node">
 <title>Node657</title>
-<g id="a_node165"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMExtension.html" target="_top" xlink:title="Managed reference to VM extension.">
-<polygon fill="white" stroke="black" points="118.5,-2848.5 118.5,-2867.5 290.5,-2867.5 290.5,-2848.5 118.5,-2848.5"/>
-<text text-anchor="middle" x="204.5" y="-2855.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExtension</text>
+<g id="a_node165"><a xlink:href="classtvm_1_1s__tir_1_1InstructionKind.html" target="_top" xlink:title="Managed reference to InstructionKindNode.">
+<polygon fill="white" stroke="black" points="133,-2772.5 133,-2791.5 276,-2791.5 276,-2772.5 133,-2772.5"/>
+<text text-anchor="middle" x="204.5" y="-2779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionKind</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node657 -->
 <g id="edge164" class="edge">
 <title>Node493&#45;&gt;Node657</title>
-<path fill="none" stroke="midnightblue" d="M48.2,-2744.24C58.89,-2770.04 81.49,-2815.32 116,-2839 121.64,-2842.87 127.93,-2845.97 134.47,-2848.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="51.4,-2742.8 44.46,-2734.79 44.89,-2745.38 51.4,-2742.8"/>
+<path fill="none" stroke="midnightblue" d="M65.58,-2739.47C79.89,-2747.37 98.51,-2756.79 116,-2763 126.55,-2766.75 138.08,-2769.89 149.22,-2772.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="67.28,-2736.41 56.86,-2734.54 63.84,-2742.5 67.28,-2736.41"/>
 </g>
 <!-- Node658 -->
 <g id="node166" class="node">
 <title>Node658</title>
-<g id="a_node166"><a xlink:href="classtvm_1_1s__tir_1_1Instruction.html" target="_top" xlink:title="Managed reference to InstructionNode.">
-<polygon fill="white" stroke="black" points="144,-2810.5 144,-2829.5 265,-2829.5 265,-2810.5 144,-2810.5"/>
-<text text-anchor="middle" x="204.5" y="-2817.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::Instruction</text>
+<g id="a_node166"><a xlink:href="classtvm_1_1s__tir_1_1LoopRV.html" target="_top" xlink:title="Managed reference to LoopRVNode.">
+<polygon fill="white" stroke="black" points="151.5,-2734.5 151.5,-2753.5 257.5,-2753.5 257.5,-2734.5 151.5,-2734.5"/>
+<text text-anchor="middle" x="204.5" y="-2741.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::LoopRV</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node658 -->
 <g id="edge165" class="edge">
 <title>Node493&#45;&gt;Node658</title>
-<path fill="none" stroke="midnightblue" d="M53.74,-2742.98C67.19,-2760.56 90,-2786.7 116,-2801 124.58,-2805.72 134.24,-2809.27 143.92,-2811.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="56.36,-2740.64 47.6,-2734.68 50.73,-2744.8 56.36,-2740.64"/>
+<path fill="none" stroke="midnightblue" d="M90.42,-2730.78C109.69,-2733.03 131.79,-2735.62 151.32,-2737.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="90.68,-2727.28 80.34,-2729.6 89.86,-2734.24 90.68,-2727.28"/>
 </g>
 <!-- Node659 -->
 <g id="node167" class="node">
 <title>Node659</title>
-<g id="a_node167"><a xlink:href="classtvm_1_1s__tir_1_1InstructionKind.html" target="_top" xlink:title="Managed reference to InstructionKindNode.">
-<polygon fill="white" stroke="black" points="133,-2772.5 133,-2791.5 276,-2791.5 276,-2772.5 133,-2772.5"/>
-<text text-anchor="middle" x="204.5" y="-2779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionKind</text>
+<g id="a_node167"><a xlink:href="classtvm_1_1s__tir_1_1SBlockRV.html" target="_top" xlink:title="Managed reference to SBlockRVNode.">
+<polygon fill="white" stroke="black" points="146.5,-2696.5 146.5,-2715.5 262.5,-2715.5 262.5,-2696.5 146.5,-2696.5"/>
+<text text-anchor="middle" x="204.5" y="-2703.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::SBlockRV</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node659 -->
 <g id="edge166" class="edge">
 <title>Node493&#45;&gt;Node659</title>
-<path fill="none" stroke="midnightblue" d="M65.58,-2739.47C79.89,-2747.37 98.51,-2756.79 116,-2763 126.55,-2766.75 138.08,-2769.89 149.22,-2772.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="67.28,-2736.41 56.86,-2734.54 63.84,-2742.5 67.28,-2736.41"/>
+<path fill="none" stroke="midnightblue" d="M90.43,-2719.22C108.09,-2717.16 128.14,-2714.81 146.4,-2712.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="89.86,-2715.76 80.34,-2720.4 90.68,-2722.72 89.86,-2715.76"/>
 </g>
 <!-- Node660 -->
 <g id="node168" class="node">
 <title>Node660</title>
-<g id="a_node168"><a xlink:href="classtvm_1_1s__tir_1_1LoopRV.html" target="_top" xlink:title="Managed reference to LoopRVNode.">
-<polygon fill="white" stroke="black" points="151.5,-2734.5 151.5,-2753.5 257.5,-2753.5 257.5,-2734.5 151.5,-2734.5"/>
-<text text-anchor="middle" x="204.5" y="-2741.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::LoopRV</text>
+<g id="a_node168"><a xlink:href="classtvm_1_1s__tir_1_1Schedule.html" target="_top" xlink:title="Managed reference to ScheduleNode.">
+<polygon fill="white" stroke="black" points="148,-2658.5 148,-2677.5 261,-2677.5 261,-2658.5 148,-2658.5"/>
+<text text-anchor="middle" x="204.5" y="-2665.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::Schedule</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node660 -->
 <g id="edge167" class="edge">
 <title>Node493&#45;&gt;Node660</title>
-<path fill="none" stroke="midnightblue" d="M90.42,-2730.78C109.69,-2733.03 131.79,-2735.62 151.32,-2737.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="90.68,-2727.28 80.34,-2729.6 89.86,-2734.24 90.68,-2727.28"/>
+<path fill="none" stroke="midnightblue" d="M65.58,-2710.53C79.89,-2702.63 98.51,-2693.21 116,-2687 126.55,-2683.25 138.08,-2680.11 149.22,-2677.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="63.84,-2707.5 56.86,-2715.46 67.28,-2713.59 63.84,-2707.5"/>
 </g>
 <!-- Node661 -->
 <g id="node169" class="node">
 <title>Node661</title>
-<g id="a_node169"><a xlink:href="classtvm_1_1s__tir_1_1SBlockRV.html" target="_top" xlink:title="Managed reference to SBlockRVNode.">
-<polygon fill="white" stroke="black" points="146.5,-2696.5 146.5,-2715.5 262.5,-2715.5 262.5,-2696.5 146.5,-2696.5"/>
-<text text-anchor="middle" x="204.5" y="-2703.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::SBlockRV</text>
+<g id="a_node169"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleState.html" target="_top" xlink:title="Managed reference to ScheduleStateNode.">
+<polygon fill="white" stroke="black" points="135,-2620.5 135,-2639.5 274,-2639.5 274,-2620.5 135,-2620.5"/>
+<text text-anchor="middle" x="204.5" y="-2627.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleState</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node661 -->
 <g id="edge168" class="edge">
 <title>Node493&#45;&gt;Node661</title>
-<path fill="none" stroke="midnightblue" d="M90.43,-2719.22C108.09,-2717.16 128.14,-2714.81 146.4,-2712.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="89.86,-2715.76 80.34,-2720.4 90.68,-2722.72 89.86,-2715.76"/>
+<path fill="none" stroke="midnightblue" d="M53.74,-2707.02C67.19,-2689.44 90,-2663.3 116,-2649 123.08,-2645.1 130.9,-2642.01 138.86,-2639.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="50.73,-2705.2 47.6,-2715.32 56.36,-2709.36 50.73,-2705.2"/>
 </g>
 <!-- Node662 -->
 <g id="node170" class="node">
 <title>Node662</title>
-<g id="a_node170"><a xlink:href="classtvm_1_1s__tir_1_1Schedule.html" target="_top" xlink:title="Managed reference to ScheduleNode.">
-<polygon fill="white" stroke="black" points="148,-2658.5 148,-2677.5 261,-2677.5 261,-2658.5 148,-2658.5"/>
-<text text-anchor="middle" x="204.5" y="-2665.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::Schedule</text>
+<g id="a_node170"><a xlink:href="classtvm_1_1s__tir_1_1Trace.html" target="_top" xlink:title="Managed reference to TraceNode.">
+<polygon fill="white" stroke="black" points="157,-2582.5 157,-2601.5 252,-2601.5 252,-2582.5 157,-2582.5"/>
+<text text-anchor="middle" x="204.5" y="-2589.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::Trace</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node662 -->
 <g id="edge169" class="edge">
 <title>Node493&#45;&gt;Node662</title>
-<path fill="none" stroke="midnightblue" d="M65.58,-2710.53C79.89,-2702.63 98.51,-2693.21 116,-2687 126.55,-2683.25 138.08,-2680.11 149.22,-2677.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="63.84,-2707.5 56.86,-2715.46 67.28,-2713.59 63.84,-2707.5"/>
+<path fill="none" stroke="midnightblue" d="M48.2,-2705.76C58.89,-2679.96 81.49,-2634.68 116,-2611 127.92,-2602.82 142.73,-2598.08 156.75,-2595.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="44.89,-2704.62 44.46,-2715.21 51.4,-2707.2 44.89,-2704.62"/>
 </g>
 <!-- Node663 -->
 <g id="node171" class="node">
 <title>Node663</title>
-<g id="a_node171"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleState.html" target="_top" xlink:title="Managed reference to ScheduleStateNode.">
-<polygon fill="white" stroke="black" points="135,-2620.5 135,-2639.5 274,-2639.5 274,-2620.5 135,-2620.5"/>
-<text text-anchor="middle" x="204.5" y="-2627.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleState</text>
+<g id="a_node171"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfo.html" target="_top" xlink:title="Managed reference to ArgInfoNode.">
+<polygon fill="white" stroke="black" points="133,-2533 133,-2563 276,-2563 276,-2533 133,-2533"/>
+<text text-anchor="start" x="141" y="-2551" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2540" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfo</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node663 -->
 <g id="edge170" class="edge">
 <title>Node493&#45;&gt;Node663</title>
-<path fill="none" stroke="midnightblue" d="M53.74,-2707.02C67.19,-2689.44 90,-2663.3 116,-2649 123.08,-2645.1 130.9,-2642.01 138.86,-2639.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="50.73,-2705.2 47.6,-2715.32 56.36,-2709.36 50.73,-2705.2"/>
-</g>
-<!-- Node664 -->
-<g id="node172" class="node">
-<title>Node664</title>
-<g id="a_node172"><a xlink:href="classtvm_1_1s__tir_1_1Trace.html" target="_top" xlink:title="Managed reference to TraceNode.">
-<polygon fill="white" stroke="black" points="157,-2582.5 157,-2601.5 252,-2601.5 252,-2582.5 157,-2582.5"/>
-<text text-anchor="middle" x="204.5" y="-2589.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::Trace</text>
-</a>
-</g>
-</g>
-<!-- Node493&#45;&gt;Node664 -->
-<g id="edge171" class="edge">
-<title>Node493&#45;&gt;Node664</title>
-<path fill="none" stroke="midnightblue" d="M48.2,-2705.76C58.89,-2679.96 81.49,-2634.68 116,-2611 127.92,-2602.82 142.73,-2598.08 156.75,-2595.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="44.89,-2704.62 44.46,-2715.21 51.4,-2707.2 44.89,-2704.62"/>
+<path fill="none" stroke="midnightblue" d="M45.21,-2705.49C53.21,-2673.08 73.76,-2608.25 116,-2573 121.09,-2568.75 126.87,-2565.22 132.97,-2562.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="41.73,-2704.96 42.88,-2715.5 48.55,-2706.55 41.73,-2704.96"/>
 </g>
 <!-- Node665 -->
 <g id="node173" class="node">
 <title>Node665</title>
-<g id="a_node173"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfo.html" target="_top" xlink:title="Managed reference to ArgInfoNode.">
-<polygon fill="white" stroke="black" points="133,-2533 133,-2563 276,-2563 276,-2533 133,-2533"/>
-<text text-anchor="start" x="141" y="-2551" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2540" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfo</text>
+<g id="a_node173"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Builder.html" target="_top" xlink:title="Managed reference to BuilderNode.">
+<polygon fill="white" stroke="black" points="133,-2484 133,-2514 276,-2514 276,-2484 133,-2484"/>
+<text text-anchor="start" x="141" y="-2502" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2491" font-family="Helvetica,sans-Serif" font-size="10.00">::Builder</text>
+</a>
+</g>
+</g>
+<!-- Node493&#45;&gt;Node665 -->
+<g id="edge172" class="edge">
+<title>Node493&#45;&gt;Node665</title>
+<path fill="none" stroke="midnightblue" d="M42.59,-2705.28C46.89,-2665.14 62.36,-2573.57 116,-2524 120.99,-2519.39 126.77,-2515.62 132.94,-2512.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="39.09,-2705.08 41.63,-2715.37 46.06,-2705.74 39.09,-2705.08"/>
+</g>
+<!-- Node666 -->
+<g id="node174" class="node">
+<title>Node666</title>
+<g id="a_node174"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInput.html" target="_top" xlink:title="Managed reference to BuilderInputNode.">
+<polygon fill="white" stroke="black" points="133,-2435 133,-2465 276,-2465 276,-2435 133,-2435"/>
+<text text-anchor="start" x="141" y="-2453" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2442" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInput</text>
 </a>
 </g>
 </g>
-<!-- Node493&#45;&gt;Node665 -->
-<g id="edge172" class="edge">
-<title>Node493&#45;&gt;Node665</title>
-<path fill="none" stroke="midnightblue" d="M45.21,-2705.49C53.21,-2673.08 73.76,-2608.25 116,-2573 121.09,-2568.75 126.87,-2565.22 132.97,-2562.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="41.73,-2704.96 42.88,-2715.5 48.55,-2706.55 41.73,-2704.96"/>
+<!-- Node493&#45;&gt;Node666 -->
+<g id="edge173" class="edge">
+<title>Node493&#45;&gt;Node666</title>
+<path fill="none" stroke="midnightblue" d="M40.9,-2705.45C41.75,-2658.7 50.6,-2539.55 116,-2475 120.84,-2470.23 126.51,-2466.35 132.62,-2463.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.4,-2705.44 40.82,-2715.46 44.4,-2705.49 37.4,-2705.44"/>
 </g>
 <!-- Node667 -->
 <g id="node175" class="node">
 <title>Node667</title>
-<g id="a_node175"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Builder.html" target="_top" xlink:title="Managed reference to BuilderNode.">
-<polygon fill="white" stroke="black" points="133,-2484 133,-2514 276,-2514 276,-2484 133,-2484"/>
-<text text-anchor="start" x="141" y="-2502" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2491" font-family="Helvetica,sans-Serif" font-size="10.00">::Builder</text>
+<g id="a_node175"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderResult.html" target="_top" xlink:title="Managed reference to BuilderResultNode.">
+<polygon fill="white" stroke="black" points="133,-2386 133,-2416 276,-2416 276,-2386 133,-2386"/>
+<text text-anchor="start" x="141" y="-2404" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2393" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResult</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node667 -->
 <g id="edge174" class="edge">
 <title>Node493&#45;&gt;Node667</title>
-<path fill="none" stroke="midnightblue" d="M42.59,-2705.28C46.89,-2665.14 62.36,-2573.57 116,-2524 120.99,-2519.39 126.77,-2515.62 132.94,-2512.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="39.09,-2705.08 41.63,-2715.37 46.06,-2705.74 39.09,-2705.08"/>
+<path fill="none" stroke="midnightblue" d="M43.35,-2705.42C50.93,-2645.6 76.49,-2466.82 116,-2426 120.83,-2421.01 126.59,-2416.99 132.81,-2413.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="39.87,-2705.08 42.12,-2715.43 46.82,-2705.94 39.87,-2705.08"/>
 </g>
 <!-- Node668 -->
 <g id="node176" class="node">
 <title>Node668</title>
-<g id="a_node176"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInput.html" target="_top" xlink:title="Managed reference to BuilderInputNode.">
-<polygon fill="white" stroke="black" points="133,-2435 133,-2465 276,-2465 276,-2435 133,-2435"/>
-<text text-anchor="start" x="141" y="-2453" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2442" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInput</text>
+<g id="a_node176"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModel.html" target="_top" xlink:title="Managed reference to CostModelNode.">
+<polygon fill="white" stroke="black" points="133,-2337 133,-2367 276,-2367 276,-2337 133,-2337"/>
+<text text-anchor="start" x="141" y="-2355" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2344" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModel</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node668 -->
 <g id="edge175" class="edge">
 <title>Node493&#45;&gt;Node668</title>
-<path fill="none" stroke="midnightblue" d="M40.9,-2705.45C41.75,-2658.7 50.6,-2539.55 116,-2475 120.84,-2470.23 126.51,-2466.35 132.62,-2463.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.4,-2705.44 40.82,-2715.46 44.4,-2705.49 37.4,-2705.44"/>
+<path fill="none" stroke="midnightblue" d="M42.65,-2704.89C48.54,-2638.16 70.58,-2425.52 116,-2377 120.75,-2371.92 126.45,-2367.86 132.64,-2364.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="39.13,-2705.01 41.77,-2715.27 46.11,-2705.6 39.13,-2705.01"/>
 </g>
 <!-- Node669 -->
 <g id="node177" class="node">
 <title>Node669</title>
-<g id="a_node177"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderResult.html" target="_top" xlink:title="Managed reference to BuilderResultNode.">
-<polygon fill="white" stroke="black" points="133,-2386 133,-2416 276,-2416 276,-2386 133,-2386"/>
-<text text-anchor="start" x="141" y="-2404" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2393" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResult</text>
+<g id="a_node177"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Database.html" target="_top" xlink:title="Managed reference to DatabaseNode.">
+<polygon fill="white" stroke="black" points="133,-2288 133,-2318 276,-2318 276,-2288 133,-2288"/>
+<text text-anchor="start" x="141" y="-2306" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2295" font-family="Helvetica,sans-Serif" font-size="10.00">::Database</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node669 -->
 <g id="edge176" class="edge">
 <title>Node493&#45;&gt;Node669</title>
-<path fill="none" stroke="midnightblue" d="M43.35,-2705.42C50.93,-2645.6 76.49,-2466.82 116,-2426 120.83,-2421.01 126.59,-2416.99 132.81,-2413.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="39.87,-2705.08 42.12,-2715.43 46.82,-2705.94 39.87,-2705.08"/>
+<path fill="none" stroke="midnightblue" d="M42.04,-2705.41C46.26,-2633.39 64.39,-2384.56 116,-2328 120.79,-2322.75 126.6,-2318.57 132.93,-2315.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="38.55,-2705.21 41.48,-2715.39 45.54,-2705.6 38.55,-2705.21"/>
 </g>
 <!-- Node670 -->
 <g id="node178" class="node">
 <title>Node670</title>
-<g id="a_node178"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModel.html" target="_top" xlink:title="Managed reference to CostModelNode.">
-<polygon fill="white" stroke="black" points="133,-2337 133,-2367 276,-2367 276,-2337 133,-2337"/>
-<text text-anchor="start" x="141" y="-2355" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2344" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModel</text>
+<g id="a_node178"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTask.html" target="_top" xlink:title="Managed reference to ExtractedTaskNode.">
+<polygon fill="white" stroke="black" points="133,-2239 133,-2269 276,-2269 276,-2239 133,-2239"/>
+<text text-anchor="start" x="141" y="-2257" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2246" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTask</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node670 -->
 <g id="edge177" class="edge">
 <title>Node493&#45;&gt;Node670</title>
-<path fill="none" stroke="midnightblue" d="M42.65,-2704.89C48.54,-2638.16 70.58,-2425.52 116,-2377 120.75,-2371.92 126.45,-2367.86 132.64,-2364.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="39.13,-2705.01 41.77,-2715.27 46.11,-2705.6 39.13,-2705.01"/>
+<path fill="none" stroke="midnightblue" d="M41.61,-2705.05C44.39,-2627 58.38,-2343.44 116,-2279 120.74,-2273.7 126.52,-2269.49 132.82,-2266.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="38.1,-2705.28 41.26,-2715.39 45.1,-2705.51 38.1,-2705.28"/>
 </g>
 <!-- Node671 -->
 <g id="node179" class="node">
 <title>Node671</title>
-<g id="a_node179"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Database.html" target="_top" xlink:title="Managed reference to DatabaseNode.">
-<polygon fill="white" stroke="black" points="133,-2288 133,-2318 276,-2318 276,-2288 133,-2288"/>
-<text text-anchor="start" x="141" y="-2306" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2295" font-family="Helvetica,sans-Serif" font-size="10.00">::Database</text>
+<g id="a_node179"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1FeatureExtractor.html" target="_top" xlink:title="Managed reference to FeatureExtractorNode.">
+<polygon fill="white" stroke="black" points="133,-2190 133,-2220 276,-2220 276,-2190 133,-2190"/>
+<text text-anchor="start" x="141" y="-2208" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2197" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractor</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node671 -->
 <g id="edge178" class="edge">
 <title>Node493&#45;&gt;Node671</title>
-<path fill="none" stroke="midnightblue" d="M42.04,-2705.41C46.26,-2633.39 64.39,-2384.56 116,-2328 120.79,-2322.75 126.6,-2318.57 132.93,-2315.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="38.55,-2705.21 41.48,-2715.39 45.54,-2705.6 38.55,-2705.21"/>
+<path fill="none" stroke="midnightblue" d="M41.24,-2705.02C42.67,-2621.65 52.26,-2302.46 116,-2230 120.7,-2224.66 126.44,-2220.43 132.73,-2217.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.74,-2705.12 41.09,-2715.17 44.74,-2705.22 37.74,-2705.12"/>
 </g>
 <!-- Node672 -->
 <g id="node180" class="node">
 <title>Node672</title>
-<g id="a_node180"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTask.html" target="_top" xlink:title="Managed reference to ExtractedTaskNode.">
-<polygon fill="white" stroke="black" points="133,-2239 133,-2269 276,-2269 276,-2239 133,-2239"/>
-<text text-anchor="start" x="141" y="-2257" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2246" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTask</text>
+<g id="a_node180"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallback.html" target="_top" xlink:title="Managed reference to MeasureCallbackNode.">
+<polygon fill="white" stroke="black" points="133,-2141 133,-2171 276,-2171 276,-2141 133,-2141"/>
+<text text-anchor="start" x="141" y="-2159" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2148" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallback</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node672 -->
 <g id="edge179" class="edge">
 <title>Node493&#45;&gt;Node672</title>
-<path fill="none" stroke="midnightblue" d="M41.61,-2705.05C44.39,-2627 58.38,-2343.44 116,-2279 120.74,-2273.7 126.52,-2269.49 132.82,-2266.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="38.1,-2705.28 41.26,-2715.39 45.1,-2705.51 38.1,-2705.28"/>
+<path fill="none" stroke="midnightblue" d="M40.94,-2705.05C41.1,-2616.69 46.11,-2261.54 116,-2181 120.66,-2175.63 126.38,-2171.38 132.66,-2168.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.44,-2705.08 40.95,-2715.08 44.44,-2705.08 37.44,-2705.08"/>
 </g>
 <!-- Node673 -->
 <g id="node181" class="node">
 <title>Node673</title>
-<g id="a_node181"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1FeatureExtractor.html" target="_top" xlink:title="Managed reference to FeatureExtractorNode.">
-<polygon fill="white" stroke="black" points="133,-2190 133,-2220 276,-2220 276,-2190 133,-2190"/>
-<text text-anchor="start" x="141" y="-2208" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2197" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractor</text>
+<g id="a_node181"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCandidate.html" target="_top" xlink:title="Managed reference to MeasureCandidateNode.">
+<polygon fill="white" stroke="black" points="133,-2092 133,-2122 276,-2122 276,-2092 133,-2092"/>
+<text text-anchor="start" x="141" y="-2110" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2099" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidate</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node673 -->
 <g id="edge180" class="edge">
 <title>Node493&#45;&gt;Node673</title>
-<path fill="none" stroke="midnightblue" d="M41.24,-2705.02C42.67,-2621.65 52.26,-2302.46 116,-2230 120.7,-2224.66 126.44,-2220.43 132.73,-2217.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.74,-2705.12 41.09,-2715.17 44.74,-2705.22 37.74,-2705.12"/>
+<path fill="none" stroke="midnightblue" d="M40.69,-2705.05C39.65,-2611.92 39.94,-2220.64 116,-2132 120.63,-2126.6 126.34,-2122.33 132.6,-2118.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.19,-2705.16 40.82,-2715.11 44.19,-2705.06 37.19,-2705.16"/>
 </g>
 <!-- Node674 -->
 <g id="node182" class="node">
 <title>Node674</title>
-<g id="a_node182"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallback.html" target="_top" xlink:title="Managed reference to MeasureCallbackNode.">
-<polygon fill="white" stroke="black" points="133,-2141 133,-2171 276,-2171 276,-2141 133,-2141"/>
-<text text-anchor="start" x="141" y="-2159" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2148" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallback</text>
+<g id="a_node182"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Mutator.html" target="_top" xlink:title="Managed reference to MutatorNode.">
+<polygon fill="white" stroke="black" points="133,-2043 133,-2073 276,-2073 276,-2043 133,-2043"/>
+<text text-anchor="start" x="141" y="-2061" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2050" font-family="Helvetica,sans-Serif" font-size="10.00">::Mutator</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node674 -->
 <g id="edge181" class="edge">
 <title>Node493&#45;&gt;Node674</title>
-<path fill="none" stroke="midnightblue" d="M40.94,-2705.05C41.1,-2616.69 46.11,-2261.54 116,-2181 120.66,-2175.63 126.38,-2171.38 132.66,-2168.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.44,-2705.08 40.95,-2715.08 44.44,-2705.08 37.44,-2705.08"/>
+<path fill="none" stroke="midnightblue" d="M42.03,-2705.01C47.51,-2601.76 74.63,-2131.68 116,-2083 120.71,-2077.46 126.55,-2073.11 132.96,-2069.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="38.52,-2705.1 41.49,-2715.27 45.51,-2705.47 38.52,-2705.1"/>
 </g>
 <!-- Node675 -->
 <g id="node183" class="node">
 <title>Node675</title>
-<g id="a_node183"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCandidate.html" target="_top" xlink:title="Managed reference to MeasureCandidateNode.">
-<polygon fill="white" stroke="black" points="133,-2092 133,-2122 276,-2122 276,-2092 133,-2092"/>
-<text text-anchor="start" x="141" y="-2110" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2099" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidate</text>
+<g id="a_node183"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html" target="_top" xlink:title="Managed reference to PostprocNode.">
+<polygon fill="white" stroke="black" points="133,-1994 133,-2024 276,-2024 276,-1994 133,-1994"/>
+<text text-anchor="start" x="141" y="-2012" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-2001" font-family="Helvetica,sans-Serif" font-size="10.00">::Postproc</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node675 -->
 <g id="edge182" class="edge">
 <title>Node493&#45;&gt;Node675</title>
-<path fill="none" stroke="midnightblue" d="M40.69,-2705.05C39.65,-2611.92 39.94,-2220.64 116,-2132 120.63,-2126.6 126.34,-2122.33 132.6,-2118.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.19,-2705.16 40.82,-2715.11 44.19,-2705.06 37.19,-2705.16"/>
+<path fill="none" stroke="midnightblue" d="M41.85,-2705.2C46.61,-2597.67 71.5,-2086.8 116,-2034 120.68,-2028.44 126.51,-2024.08 132.92,-2020.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="38.35,-2705.16 41.41,-2715.3 45.34,-2705.47 38.35,-2705.16"/>
 </g>
 <!-- Node676 -->
 <g id="node184" class="node">
 <title>Node676</title>
-<g id="a_node184"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Mutator.html" target="_top" xlink:title="Managed reference to MutatorNode.">
-<polygon fill="white" stroke="black" points="133,-2043 133,-2073 276,-2073 276,-2043 133,-2043"/>
-<text text-anchor="start" x="141" y="-2061" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2050" font-family="Helvetica,sans-Serif" font-size="10.00">::Mutator</text>
+<g id="a_node184"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Profiler.html" target="_top" xlink:title="Managed reference to ProfilerNode.">
+<polygon fill="white" stroke="black" points="133,-1945 133,-1975 276,-1975 276,-1945 133,-1945"/>
+<text text-anchor="start" x="141" y="-1963" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1952" font-family="Helvetica,sans-Serif" font-size="10.00">::Profiler</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node676 -->
 <g id="edge183" class="edge">
 <title>Node493&#45;&gt;Node676</title>
-<path fill="none" stroke="midnightblue" d="M42.03,-2705.01C47.51,-2601.76 74.63,-2131.68 116,-2083 120.71,-2077.46 126.55,-2073.11 132.96,-2069.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="38.52,-2705.1 41.49,-2715.27 45.51,-2705.47 38.52,-2705.1"/>
+<path fill="none" stroke="midnightblue" d="M41.7,-2705.22C45.81,-2593.24 68.38,-2041.91 116,-1985 120.66,-1979.43 126.48,-1975.05 132.88,-1971.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="38.19,-2705.29 41.33,-2715.41 45.19,-2705.55 38.19,-2705.29"/>
 </g>
 <!-- Node677 -->
 <g id="node185" class="node">
 <title>Node677</title>
-<g id="a_node185"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html" target="_top" xlink:title="Managed reference to PostprocNode.">
-<polygon fill="white" stroke="black" points="133,-1994 133,-2024 276,-2024 276,-1994 133,-1994"/>
-<text text-anchor="start" x="141" y="-2012" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-2001" font-family="Helvetica,sans-Serif" font-size="10.00">::Postproc</text>
+<g id="a_node185"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html" target="_top" xlink:title="Managed reference to RunnerNode.">
+<polygon fill="white" stroke="black" points="133,-1896 133,-1926 276,-1926 276,-1896 133,-1896"/>
+<text text-anchor="start" x="141" y="-1914" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1903" font-family="Helvetica,sans-Serif" font-size="10.00">::Runner</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node677 -->
 <g id="edge184" class="edge">
 <title>Node493&#45;&gt;Node677</title>
-<path fill="none" stroke="midnightblue" d="M41.85,-2705.2C46.61,-2597.67 71.5,-2086.8 116,-2034 120.68,-2028.44 126.51,-2024.08 132.92,-2020.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="38.35,-2705.16 41.41,-2715.3 45.34,-2705.47 38.35,-2705.16"/>
+<path fill="none" stroke="midnightblue" d="M41.57,-2705.01C45.08,-2588.21 65.29,-1996.99 116,-1936 120.65,-1930.41 126.45,-1926.02 132.84,-1922.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="38.06,-2705.23 41.27,-2715.33 45.06,-2705.43 38.06,-2705.23"/>
 </g>
 <!-- Node678 -->
 <g id="node186" class="node">
 <title>Node678</title>
-<g id="a_node186"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Profiler.html" target="_top" xlink:title="Managed reference to ProfilerNode.">
-<polygon fill="white" stroke="black" points="133,-1945 133,-1975 276,-1975 276,-1945 133,-1945"/>
-<text text-anchor="start" x="141" y="-1963" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1952" font-family="Helvetica,sans-Serif" font-size="10.00">::Profiler</text>
+<g id="a_node186"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html" target="_top" xlink:title="Managed reference to RunnerFutureNode.">
+<polygon fill="white" stroke="black" points="133,-1847 133,-1877 276,-1877 276,-1847 133,-1847"/>
+<text text-anchor="start" x="141" y="-1865" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1854" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFuture</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node678 -->
 <g id="edge185" class="edge">
 <title>Node493&#45;&gt;Node678</title>
-<path fill="none" stroke="midnightblue" d="M41.7,-2705.22C45.81,-2593.24 68.38,-2041.91 116,-1985 120.66,-1979.43 126.48,-1975.05 132.88,-1971.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="38.19,-2705.29 41.33,-2715.41 45.19,-2705.55 38.19,-2705.29"/>
+<path fill="none" stroke="midnightblue" d="M41.45,-2705.28C44.35,-2584.92 62.12,-1952.16 116,-1887 120.63,-1881.4 126.42,-1877 132.81,-1873.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.95,-2705.21 41.21,-2715.29 44.95,-2705.38 37.95,-2705.21"/>
 </g>
 <!-- Node679 -->
 <g id="node187" class="node">
 <title>Node679</title>
-<g id="a_node187"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html" target="_top" xlink:title="Managed reference to RunnerNode.">
-<polygon fill="white" stroke="black" points="133,-1896 133,-1926 276,-1926 276,-1896 133,-1896"/>
-<text text-anchor="start" x="141" y="-1914" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1903" font-family="Helvetica,sans-Serif" font-size="10.00">::Runner</text>
+<g id="a_node187"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html" target="_top" xlink:title="Managed reference to RunnerInputNode.">
+<polygon fill="white" stroke="black" points="133,-1798 133,-1828 276,-1828 276,-1798 133,-1798"/>
+<text text-anchor="start" x="141" y="-1816" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1805" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInput</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node679 -->
 <g id="edge186" class="edge">
 <title>Node493&#45;&gt;Node679</title>
-<path fill="none" stroke="midnightblue" d="M41.57,-2705.01C45.08,-2588.21 65.29,-1996.99 116,-1936 120.65,-1930.41 126.45,-1926.02 132.84,-1922.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="38.06,-2705.23 41.27,-2715.33 45.06,-2705.43 38.06,-2705.23"/>
+<path fill="none" stroke="midnightblue" d="M41.34,-2705.3C43.69,-2580.91 58.99,-1907.29 116,-1838 120.62,-1832.39 126.4,-1827.99 132.78,-1824.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.85,-2705.25 41.16,-2715.31 44.84,-2705.38 37.85,-2705.25"/>
 </g>
 <!-- Node680 -->
 <g id="node188" class="node">
 <title>Node680</title>
-<g id="a_node188"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html" target="_top" xlink:title="Managed reference to RunnerFutureNode.">
-<polygon fill="white" stroke="black" points="133,-1847 133,-1877 276,-1877 276,-1847 133,-1847"/>
-<text text-anchor="start" x="141" y="-1865" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1854" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFuture</text>
+<g id="a_node188"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html" target="_top" xlink:title="Managed reference to RunnerResultNode.">
+<polygon fill="white" stroke="black" points="133,-1749 133,-1779 276,-1779 276,-1749 133,-1749"/>
+<text text-anchor="start" x="141" y="-1767" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1756" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResult</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node680 -->
 <g id="edge187" class="edge">
 <title>Node493&#45;&gt;Node680</title>
-<path fill="none" stroke="midnightblue" d="M41.45,-2705.28C44.35,-2584.92 62.12,-1952.16 116,-1887 120.63,-1881.4 126.42,-1877 132.81,-1873.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.95,-2705.21 41.21,-2715.29 44.95,-2705.38 37.95,-2705.21"/>
+<path fill="none" stroke="midnightblue" d="M41.26,-2705.03C43.09,-2575.94 55.9,-1862.38 116,-1789 120.6,-1783.38 126.38,-1778.97 132.76,-1775.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.75,-2705.33 41.12,-2715.38 44.75,-2705.42 37.75,-2705.33"/>
 </g>
 <!-- Node681 -->
 <g id="node189" class="node">
 <title>Node681</title>
-<g id="a_node189"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html" target="_top" xlink:title="Managed reference to RunnerInputNode.">
-<polygon fill="white" stroke="black" points="133,-1798 133,-1828 276,-1828 276,-1798 133,-1798"/>
-<text text-anchor="start" x="141" y="-1816" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1805" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInput</text>
+<g id="a_node189"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html" target="_top" xlink:title="Managed reference to ScheduleRuleNode.">
+<polygon fill="white" stroke="black" points="133,-1700 133,-1730 276,-1730 276,-1700 133,-1700"/>
+<text text-anchor="start" x="141" y="-1718" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1707" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRule</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node681 -->
 <g id="edge188" class="edge">
 <title>Node493&#45;&gt;Node681</title>
-<path fill="none" stroke="midnightblue" d="M41.34,-2705.3C43.69,-2580.91 58.99,-1907.29 116,-1838 120.62,-1832.39 126.4,-1827.99 132.78,-1824.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.85,-2705.25 41.16,-2715.31 44.84,-2705.38 37.85,-2705.25"/>
+<path fill="none" stroke="midnightblue" d="M41.17,-2705.23C42.48,-2572.8 52.73,-1817.56 116,-1740 120.59,-1734.37 126.36,-1729.95 132.73,-1726.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.67,-2705.45 41.07,-2715.48 44.67,-2705.52 37.67,-2705.45"/>
 </g>
 <!-- Node682 -->
 <g id="node190" class="node">
 <title>Node682</title>
-<g id="a_node190"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html" target="_top" xlink:title="Managed reference to RunnerResultNode.">
-<polygon fill="white" stroke="black" points="133,-1749 133,-1779 276,-1779 276,-1749 133,-1749"/>
-<text text-anchor="start" x="141" y="-1767" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1756" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResult</text>
+<g id="a_node190"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategy.html" target="_top" xlink:title="Managed reference to SearchStrategyNode.">
+<polygon fill="white" stroke="black" points="133,-1651 133,-1681 276,-1681 276,-1651 133,-1651"/>
+<text text-anchor="start" x="141" y="-1669" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1658" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategy</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node682 -->
 <g id="edge189" class="edge">
 <title>Node493&#45;&gt;Node682</title>
-<path fill="none" stroke="midnightblue" d="M41.26,-2705.03C43.09,-2575.94 55.9,-1862.38 116,-1789 120.6,-1783.38 126.38,-1778.97 132.76,-1775.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.75,-2705.33 41.12,-2715.38 44.75,-2705.42 37.75,-2705.33"/>
+<path fill="none" stroke="midnightblue" d="M41.1,-2705.09C41.93,-2568.5 49.61,-1772.69 116,-1691 120.58,-1685.36 126.35,-1680.94 132.71,-1677.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.59,-2705.31 41.04,-2715.32 44.59,-2705.34 37.59,-2705.31"/>
 </g>
 <!-- Node683 -->
 <g id="node191" class="node">
 <title>Node683</title>
-<g id="a_node191"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRule.html" target="_top" xlink:title="Managed reference to ScheduleRuleNode.">
-<polygon fill="white" stroke="black" points="133,-1700 133,-1730 276,-1730 276,-1700 133,-1700"/>
-<text text-anchor="start" x="141" y="-1718" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1707" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRule</text>
+<g id="a_node191"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGenerator.html" target="_top" xlink:title="Managed reference to SpaceGeneratorNode.">
+<polygon fill="white" stroke="black" points="133,-1602 133,-1632 276,-1632 276,-1602 133,-1602"/>
+<text text-anchor="start" x="141" y="-1620" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1609" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGenerator</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node683 -->
 <g id="edge190" class="edge">
 <title>Node493&#45;&gt;Node683</title>
-<path fill="none" stroke="midnightblue" d="M41.17,-2705.23C42.48,-2572.8 52.73,-1817.56 116,-1740 120.59,-1734.37 126.36,-1729.95 132.73,-1726.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.67,-2705.45 41.07,-2715.48 44.67,-2705.52 37.67,-2705.45"/>
+<path fill="none" stroke="midnightblue" d="M41.03,-2705.02C41.39,-2564.51 46.48,-1727.83 116,-1642 120.57,-1636.35 126.33,-1631.93 132.69,-1628.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.53,-2705.18 41.01,-2715.19 44.53,-2705.2 37.53,-2705.18"/>
 </g>
 <!-- Node684 -->
 <g id="node192" class="node">
 <title>Node684</title>
-<g id="a_node192"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategy.html" target="_top" xlink:title="Managed reference to SearchStrategyNode.">
-<polygon fill="white" stroke="black" points="133,-1651 133,-1681 276,-1681 276,-1651 133,-1651"/>
-<text text-anchor="start" x="141" y="-1669" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1658" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategy</text>
+<g id="a_node192"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecord.html" target="_top" xlink:title="Managed reference to TaskRecordNode.">
+<polygon fill="white" stroke="black" points="133,-1553 133,-1583 276,-1583 276,-1553 133,-1553"/>
+<text text-anchor="start" x="141" y="-1571" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1560" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecord</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node684 -->
 <g id="edge191" class="edge">
 <title>Node493&#45;&gt;Node684</title>
-<path fill="none" stroke="midnightblue" d="M41.1,-2705.09C41.93,-2568.5 49.61,-1772.69 116,-1691 120.58,-1685.36 126.35,-1680.94 132.71,-1677.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="37.59,-2705.31 41.04,-2715.32 44.59,-2705.34 37.59,-2705.31"/>
+<path fill="none" stroke="midnightblue" d="M40.96,-2705.02C40.87,-2560.89 43.33,-1682.98 116,-1593 120.57,-1587.35 126.32,-1582.92 132.68,-1579.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="37.46,-2705.41 40.98,-2715.41 44.46,-2705.4 37.46,-2705.41"/>
 </g>
 <!-- Node685 -->
 <g id="node193" class="node">
 <title>Node685</title>
-<g id="a_node193"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGenerator.html" target="_top" xlink:title="Managed reference to SpaceGeneratorNode.">
-<polygon fill="white" stroke="black" points="133,-1602 133,-1632 276,-1632 276,-1602 133,-1602"/>
-<text text-anchor="start" x="141" y="-1620" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="204.5" y="-1609" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGenerator</text>
+<g id="a_node193"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskScheduler.html" target="_top" xlink:title="Managed reference to TaskSchedulerNode.">
+<polygon fill="white" stroke="black" points="133,-1504 133,-1534 276,-1534 276,-1504 133,-1504"/>
+<text text-anchor="start" x="141" y="-1522" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="204.5" y="-1511" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskScheduler</text>
 </a>
 </g>
 </g>
 <!-- Node493&#45;&gt;Node685 -->
... 33586 lines suppressed ...