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 2025/09/06 22:34:47 UTC

(tvm-site) branch asf-site updated: deploying docs (apache/tvm@3c36ce2ec63e6809294597c7f7a3bec90790b898)

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 4d614939db deploying docs (apache/tvm@3c36ce2ec63e6809294597c7f7a3bec90790b898)
4d614939db is described below

commit 4d614939db2f59ff259752873a364044bfffb4c7
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Sat Sep 6 22:34:35 2025 +0000

    deploying docs (apache/tvm@3c36ce2ec63e6809294597c7f7a3bec90790b898)
---
 .../0b64717d4cc6027368b96fad40119738/ir_module.py  |    6 +-
 .../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip |  Bin 23868 -> 23904 bytes
 .../cross_compilation_and_rpc.ipynb                |    4 +-
 .../tir_transformation.zip                         |  Bin 15563 -> 15599 bytes
 .../e2e_opt_model.ipynb                            |    2 +-
 .../tir_transformation.py                          |    6 +-
 .../cross_compilation_and_rpc.py                   |    8 +-
 .../customize_opt.py                               |    4 +-
 .../relax_creation.zip                             |  Bin 22392 -> 22392 bytes
 .../tir_creation.py                                |    6 +-
 .../relax_transformation.zip                       |  Bin 11460 -> 11460 bytes
 .../optimize_llm.zip                               |  Bin 54065 -> 54101 bytes
 .../e2e_opt_model.py                               |    4 +-
 .../ir_module.ipynb                                |    4 +-
 .../e2e_opt_model.zip                              |  Bin 11213 -> 11237 bytes
 .../optimize_llm.ipynb                             |    6 +-
 .../quick_start.py                                 |   16 +-
 .../quick_start.zip                                |  Bin 16274 -> 16298 bytes
 .../tir_creation.zip                               |  Bin 24343 -> 24379 bytes
 .../tir_creation.ipynb                             |    2 +-
 .../customize_opt.ipynb                            |    2 +-
 .../tir_transformation.ipynb                       |    2 +-
 .../quick_start.ipynb                              |    4 +-
 .../cross_compilation_and_rpc.zip                  |  Bin 21652 -> 21700 bytes
 .../customize_opt.zip                              |  Bin 19789 -> 19813 bytes
 .../optimize_llm.py                                |    6 +-
 docs/_sources/arch/index.rst.txt                   |    6 +-
 .../relax/tutorials/sg_execution_times.rst.txt     |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.rst.txt |    6 +-
 .../tensor_ir/tutorials/tir_creation.rst.txt       |   26 +-
 .../tensor_ir/tutorials/tir_transformation.rst.txt |   12 +-
 .../get_started/tutorials/ir_module.rst.txt        |   14 +-
 .../get_started/tutorials/quick_start.rst.txt      |   20 +-
 .../tutorials/sg_execution_times.rst.txt           |    6 +-
 .../tutorials/cross_compilation_and_rpc.rst.txt    |   10 +-
 .../how_to/tutorials/customize_opt.rst.txt         |    8 +-
 .../how_to/tutorials/e2e_opt_model.rst.txt         |    6 +-
 .../_sources/how_to/tutorials/optimize_llm.rst.txt |    6 +-
 .../how_to/tutorials/sg_execution_times.rst.txt    |   10 +-
 docs/_sources/reference/api/python/index.rst.txt   |    1 -
 .../reference/api/python/runtime/ndarray.rst.txt   |   21 -
 .../reference/api/python/runtime/runtime.rst.txt   |    1 -
 docs/_sources/sg_execution_times.rst.txt           |   26 +-
 docs/arch/index.html                               |    6 +-
 docs/commit_hash                                   |    2 +-
 docs/deep_dive/relax/tutorials/relax_creation.html |   16 +-
 .../relax/tutorials/relax_transformation.html      |   15 +-
 .../relax/tutorials/sg_execution_times.html        |    6 +-
 .../tensor_ir/tutorials/sg_execution_times.html    |    6 +-
 .../tensor_ir/tutorials/tir_creation.html          |   26 +-
 .../tensor_ir/tutorials/tir_transformation.html    |   12 +-
 docs/genindex.html                                 |   51 +-
 docs/get_started/tutorials/ir_module.html          |   14 +-
 docs/get_started/tutorials/quick_start.html        |   20 +-
 docs/get_started/tutorials/sg_execution_times.html |    6 +-
 .../tutorials/cross_compilation_and_rpc.html       |   10 +-
 docs/how_to/tutorials/customize_opt.html           |    8 +-
 docs/how_to/tutorials/e2e_opt_model.html           |   10 +-
 docs/how_to/tutorials/optimize_llm.html            |    6 +-
 docs/how_to/tutorials/sg_execution_times.html      |   10 +-
 docs/objects.inv                                   |  Bin 19482 -> 19404 bytes
 docs/py-modindex.html                              |    5 -
 docs/reference/api/doxygen/analyzer_8h.html        |    2 +-
 docs/reference/api/doxygen/analyzer_8h__incl.svg   |  392 +-
 docs/reference/api/doxygen/annotated.html          |   14 +-
 docs/reference/api/doxygen/arg__info_8h.html       |    2 +-
 docs/reference/api/doxygen/arg__info_8h__incl.svg  |  946 +--
 docs/reference/api/doxygen/array__utils_8h.html    |    2 +-
 .../api/doxygen/array__utils_8h__incl.svg          |  616 +-
 .../doxygen/attr__registry__map_8h__dep__incl.svg  |    2 +-
 docs/reference/api/doxygen/attrs_8h.html           |    2 +-
 docs/reference/api/doxygen/attrs_8h__dep__incl.svg |    2 +-
 docs/reference/api/doxygen/attrs_8h__incl.svg      |  262 +-
 .../api/doxygen/axis__group__graph_8h.html         |    2 +-
 .../api/doxygen/axis__group__graph_8h__incl.svg    |  534 +-
 docs/reference/api/doxygen/backend_8h.html         |    2 +-
 docs/reference/api/doxygen/backend_8h__incl.svg    | 1450 ++---
 docs/reference/api/doxygen/bias__add_8h.html       |    2 +-
 docs/reference/api/doxygen/bias__add_8h__incl.svg  | 1310 ++---
 .../api/doxygen/binding__rewrite_8h__incl.svg      | 1100 ++--
 .../api/doxygen/block__builder_8h__incl.svg        |  700 +--
 .../api/doxygen/block__dependence__info_8h.html    |    2 +-
 .../doxygen/block__dependence__info_8h__incl.svg   |  744 +--
 docs/reference/api/doxygen/block__scope_8h.html    |    2 +-
 .../api/doxygen/block__scope_8h__incl.svg          |  224 +-
 docs/reference/api/doxygen/bnn_8h.html             |    2 +-
 docs/reference/api/doxygen/bnn_8h__incl.svg        |  992 ++--
 docs/reference/api/doxygen/bound_8h.html           |    2 +-
 docs/reference/api/doxygen/bound_8h__dep__incl.svg |    2 +-
 docs/reference/api/doxygen/bound_8h__incl.svg      |  748 +--
 docs/reference/api/doxygen/broadcast_8h.html       |    2 +-
 docs/reference/api/doxygen/broadcast_8h__incl.svg  | 1164 ++--
 docs/reference/api/doxygen/buffer_8h.html          |    2 +-
 .../reference/api/doxygen/buffer_8h__dep__incl.svg |    2 +-
 docs/reference/api/doxygen/buffer_8h__incl.svg     |  298 +-
 docs/reference/api/doxygen/builder_8h.html         |    4 +-
 docs/reference/api/doxygen/builder_8h__incl.svg    |  366 +-
 docs/reference/api/doxygen/builder_8h_source.html  |   18 +-
 docs/reference/api/doxygen/cast_8h__dep__incl.svg  |    2 +-
 docs/reference/api/doxygen/ccl_8h.html             |    2 +-
 docs/reference/api/doxygen/ccl_8h__incl.svg        | 1156 ++--
 docs/reference/api/doxygen/classes.html            |    8 +-
 ..._1_1meta__schedule_1_1BuilderInput-members.html |    2 +-
 ...classtvm_1_1meta__schedule_1_1BuilderInput.html |   12 +-
 ...meta__schedule_1_1BuilderInputNode-members.html |    2 +-
 ...stvm_1_1meta__schedule_1_1BuilderInputNode.html |   12 +-
 ...classtvm_1_1meta__schedule_1_1DatabaseNode.html |    4 +-
 ...stvm_1_1meta__schedule_1_1FeatureExtractor.html |    4 +-
 ...__schedule_1_1FeatureExtractorNode-members.html |    2 +-
 ..._1_1meta__schedule_1_1FeatureExtractorNode.html |   16 +-
 ...asstvm_1_1meta__schedule_1_1PyDatabaseNode.html |    4 +-
 ...schedule_1_1PyFeatureExtractorNode-members.html |    4 +-
 ..._1meta__schedule_1_1PyFeatureExtractorNode.html |   34 +-
 .../classtvm_1_1relax_1_1Constant-members.html     |    2 +-
 .../api/doxygen/classtvm_1_1relax_1_1Constant.html |   12 +-
 .../classtvm_1_1relax_1_1ConstantNode-members.html |    2 +-
 .../doxygen/classtvm_1_1relax_1_1ConstantNode.html |   12 +-
 ...sstvm_1_1relax_1_1ConstantNode__coll__graph.svg |   20 +-
 .../doxygen/classtvm_1_1runtime_1_1DRefObj.html    |    6 +-
 .../classtvm_1_1runtime_1_1NDArray-members.html    |  103 -
 .../classtvm_1_1runtime_1_1SessionObj-members.html |    4 +-
 .../doxygen/classtvm_1_1runtime_1_1SessionObj.html |   34 +-
 .../classtvm_1_1runtime_1_1Tensor-members.html     |  103 +
 ...ray.html => classtvm_1_1runtime_1_1Tensor.html} |  292 +-
 ...classtvm_1_1runtime_1_1Tensor__coll__graph.svg} |   24 +-
 ...sstvm_1_1runtime_1_1Tensor__inherit__graph.svg} |   24 +-
 ...sstvm_1_1runtime_1_1WorkerZeroData-members.html |    2 +-
 .../classtvm_1_1runtime_1_1WorkerZeroData.html     |   12 +-
 ..._1_1runtime_1_1memory_1_1Allocator-members.html |    2 +-
 ...classtvm_1_1runtime_1_1memory_1_1Allocator.html |   20 +-
 ...1_1runtime_1_1memory_1_1StorageObj-members.html |    4 +-
 ...lasstvm_1_1runtime_1_1memory_1_1StorageObj.html |   28 +-
 ...untime_1_1memory_1_1StorageObj__coll__graph.svg |    4 +-
 ...ime_1_1memory_1_1StorageObj__inherit__graph.svg |    4 +-
 ...r_1_1tir_1_1AllocateConstFrameNode-members.html |    2 +-
 ...__builder_1_1tir_1_1AllocateConstFrameNode.html |   14 +-
 ...1tir_1_1AllocateConstFrameNode__coll__graph.svg |  294 +-
 .../api/doxygen/classtvm_1_1te_1_1Operation.html   |    4 +-
 .../api/doxygen/classtvm_1_1te_1_1Tensor.html      |    4 +-
 .../api/doxygen/classtvm_1_1te_1_1TensorNode.html  |    4 +-
 .../doxygen/classtvm_1_1te_1_1Tensor_1_1Slice.html |    4 +-
 ...asstvm_1_1tir_1_1AllocateConstNode-members.html |    2 +-
 .../classtvm_1_1tir_1_1AllocateConstNode.html      |   16 +-
 .../classtvm_1_1tir_1_1IndexMapNode-members.html   |    6 +-
 .../doxygen/classtvm_1_1tir_1_1IndexMapNode.html   |   40 +-
 ...lasstvm_1_1tir_1_1IndexMapNode__coll__graph.svg |    2 +-
 ...stvm_1_1tir_1_1IndexMapNode__inherit__graph.svg |    2 +-
 docs/reference/api/doxygen/codegen_8h.html         |    2 +-
 docs/reference/api/doxygen/codegen_8h__incl.svg    | 1064 ++--
 docs/reference/api/doxygen/constant__utils_8h.html |    2 +-
 .../api/doxygen/constant__utils_8h__incl.svg       | 1632 +++---
 docs/reference/api/doxygen/cost__model_8h.html     |    2 +-
 .../reference/api/doxygen/cost__model_8h__incl.svg | 1498 ++---
 docs/reference/api/doxygen/create_8h.html          |    2 +-
 docs/reference/api/doxygen/create_8h__incl.svg     |  970 ++--
 docs/reference/api/doxygen/cublas_8h.html          |    2 +-
 docs/reference/api/doxygen/cublas_8h__incl.svg     |  736 +--
 .../api/doxygen/cuda__ipc__memory_8h.html          |    2 +-
 .../api/doxygen/cuda__ipc__memory_8h__incl.svg     |  604 +-
 docs/reference/api/doxygen/data__layout_8h.html    |    2 +-
 .../api/doxygen/data__layout_8h__incl.svg          |  972 ++--
 .../api/doxygen/data__type_8h__dep__incl.svg       |   76 +-
 .../api/doxygen/data__type__rewriter_8h.html       |    2 +-
 .../api/doxygen/data__type__rewriter_8h__incl.svg  |  312 +-
 docs/reference/api/doxygen/database_8h.html        |    2 +-
 docs/reference/api/doxygen/database_8h__incl.svg   | 1300 ++---
 .../api/doxygen/dataflow__matcher_8h.html          |    2 +-
 .../api/doxygen/dataflow__matcher_8h__incl.svg     | 1000 ++--
 .../api/doxygen/dataflow__pattern_8h.html          |    2 +-
 .../api/doxygen/dataflow__pattern_8h__incl.svg     |  824 +--
 .../api/doxygen/dataflow__pattern__functor_8h.html |    2 +-
 .../dataflow__pattern__functor_8h__incl.svg        | 1246 ++--
 docs/reference/api/doxygen/datatype_8h.html        |    2 +-
 docs/reference/api/doxygen/datatype_8h__incl.svg   |  970 ++--
 docs/reference/api/doxygen/dense_8h.html           |    2 +-
 docs/reference/api/doxygen/dense_8h__incl.svg      | 1226 ++--
 .../api/doxygen/detail_2broadcast_8h.html          |    2 +-
 .../api/doxygen/detail_2broadcast_8h__incl.svg     | 1202 ++--
 docs/reference/api/doxygen/device__api_8h.html     |    2 +-
 .../api/doxygen/device__api_8h__dep__incl.svg      | 5992 ++++++++++----------
 docs/reference/api/doxygen/diagnostic_8h.html      |    2 +-
 docs/reference/api/doxygen/diagnostic_8h__incl.svg |  954 ++--
 docs/reference/api/doxygen/dilate_8h.html          |    2 +-
 docs/reference/api/doxygen/dilate_8h__incl.svg     |  908 +--
 ...r_000002_000025.html => dir_000002_000026.html} |    0
 docs/reference/api/doxygen/dir_000003_000025.html  |   74 -
 docs/reference/api/doxygen/dir_000003_000026.html  |    4 +-
 ...r_000003_000026.html => dir_000003_000027.html} |    0
 ...r_000004_000027.html => dir_000004_000021.html} |    2 +-
 ...r_000004_000025.html => dir_000004_000026.html} |    0
 docs/reference/api/doxygen/dir_000005_000007.html  |    2 +-
 docs/reference/api/doxygen/dir_000005_000025.html  |   74 -
 docs/reference/api/doxygen/dir_000005_000026.html  |    4 +-
 ...r_000005_000026.html => dir_000005_000027.html} |    0
 ...r_000009_000027.html => dir_000009_000021.html} |    0
 docs/reference/api/doxygen/dir_000010_000007.html  |    2 +-
 docs/reference/api/doxygen/dir_000010_000025.html  |   74 -
 docs/reference/api/doxygen/dir_000010_000026.html  |    4 +-
 ...r_000010_000026.html => dir_000010_000027.html} |    0
 docs/reference/api/doxygen/dir_000014_000007.html  |    2 +-
 ...r_000027_000002.html => dir_000021_000002.html} |    2 +-
 ...r_000027_000005.html => dir_000021_000005.html} |    2 +-
 ...r_000021_000003.html => dir_000022_000003.html} |    0
 ...r_000021_000014.html => dir_000022_000014.html} |    0
 ...r_000022_000004.html => dir_000023_000004.html} |    0
 ...r_000022_000021.html => dir_000023_000022.html} |    0
 ...r_000023_000005.html => dir_000024_000005.html} |    0
 docs/reference/api/doxygen/dir_000024_000007.html  |   74 -
 ...r_000023_000021.html => dir_000024_000022.html} |    0
 ...r_000024_000003.html => dir_000025_000003.html} |    0
 docs/reference/api/doxygen/dir_000025_000007.html  |    6 +-
 ...r_000024_000014.html => dir_000025_000014.html} |    0
 docs/reference/api/doxygen/dir_000026_000005.html  |   74 -
 docs/reference/api/doxygen/dir_000026_000007.html  |    6 +-
 ...r_000026_000003.html => dir_000027_000003.html} |    0
 docs/reference/api/doxygen/dir_000027_000005.html  |    6 +-
 ...r_000026_000007.html => dir_000027_000007.html} |    0
 ...r_000026_000014.html => dir_000027_000014.html} |    0
 ...r_000026_000025.html => dir_000027_000026.html} |    0
 ...r_000028_000025.html => dir_000028_000026.html} |    0
 ...r_000029_000027.html => dir_000029_000021.html} |    0
 ...r_000030_000027.html => dir_000030_000021.html} |    0
 ...r_000031_000027.html => dir_000031_000021.html} |    0
 ...r_000032_000027.html => dir_000032_000021.html} |    0
 .../dir_006b1f4ac353a18abb55f74cc4796db6_dep.svg   |    4 +-
 .../dir_039190d3b4246b6bdd648b90e06580e6_dep.svg   |   16 +-
 .../dir_194ecda214f05a38134392ac6a69b970_dep.svg   |    6 +-
 .../dir_1f1b12d204a071c9e67e47fcbb552b86_dep.svg   |    6 +-
 .../dir_3a038e7bfa2370c6aee2a5aecd5d3ef1_dep.svg   |    6 +-
 .../dir_404558507ed35459f0d7a6d81d8c508d.html      |    6 +-
 .../dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg   |   24 +-
 .../dir_493326846501d79d0555a263340767eb_dep.svg   |    4 +-
 .../dir_5baffeed82c1190bfdf7a4f918ab5ac6.html      |    2 +-
 .../dir_5da96592f3a7c442b838b075c58254c2_dep.svg   |   20 +-
 .../dir_67fdee7a5e0396034822418fa5baa4b4_dep.svg   |    4 +-
 .../dir_72c2f11201cd7636dc7624de0754daa5_dep.svg   |   20 +-
 .../dir_84875704194fd544d29fe0c7fedd8939_dep.svg   |    6 +-
 .../dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg   |   12 +-
 .../dir_9e615ec4a59e46584bcc4e2226e148a2_dep.svg   |   12 +-
 .../dir_a59a89c7dd2e4e6561fe59bf359ce2f3_dep.svg   |    6 +-
 .../dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg   |   36 +-
 .../dir_d331277d4303e21ded95616eb56c1a9e_dep.svg   |    4 +-
 .../dir_d3953cf7eb33eca56fc6850c0e98447d_dep.svg   |    4 +-
 .../dir_dc867ff9a37cad1764f1670dc7eba6c1_dep.svg   |   14 +-
 .../dir_e4a1a856a30057b9b1543256279fc7a1_dep.svg   |    4 +-
 .../dir_f97d855a3173728370e632aa77170e34.html      |    4 +-
 .../dir_f97d855a3173728370e632aa77170e34_dep.svg   |    4 +-
 .../dir_fb1b1bc11a768ab8cf63a96a73170118_dep.svg   |    2 +-
 docs/reference/api/doxygen/disco__worker_8h.html   |    2 +-
 .../api/doxygen/disco__worker_8h__incl.svg         |  628 +-
 .../api/doxygen/distributed_2struct__info_8h.html  |    2 +-
 .../doxygen/distributed_2struct__info_8h__incl.svg |  920 +--
 .../reference/api/doxygen/distributed_8h__incl.svg |  590 +-
 docs/reference/api/doxygen/doc_8h.html             |    2 +-
 docs/reference/api/doxygen/doc_8h__incl.svg        |  618 +-
 docs/reference/api/doxygen/einsum_8h.html          |    2 +-
 docs/reference/api/doxygen/einsum_8h__incl.svg     | 1640 +++---
 docs/reference/api/doxygen/einsum_8h_source.html   |    4 +-
 docs/reference/api/doxygen/elemwise_8h__incl.svg   |  684 +--
 docs/reference/api/doxygen/elemwise_8h_source.html |   40 +-
 docs/reference/api/doxygen/env__func_8h.html       |    2 +-
 .../api/doxygen/env__func_8h__dep__incl.svg        |    2 +-
 docs/reference/api/doxygen/env__func_8h__incl.svg  |  346 +-
 .../api/doxygen/exec__builder_8h__incl.svg         |  364 +-
 docs/reference/api/doxygen/extern_8h.html          |    2 +-
 docs/reference/api/doxygen/extern_8h__incl.svg     |  904 +--
 docs/reference/api/doxygen/extern_8h_source.html   |    2 +-
 docs/reference/api/doxygen/extracted__task_8h.html |    2 +-
 .../api/doxygen/extracted__task_8h__incl.svg       |  462 +-
 .../api/doxygen/feature__extractor_8h.html         |    4 +-
 .../api/doxygen/feature__extractor_8h__incl.svg    | 1136 ++--
 .../api/doxygen/feature__extractor_8h_source.html  |   26 +-
 docs/reference/api/doxygen/files.html              |   16 +-
 docs/reference/api/doxygen/flatten_8h.html         |    2 +-
 docs/reference/api/doxygen/flatten_8h__incl.svg    | 1666 +++---
 docs/reference/api/doxygen/functions_a.html        |    8 +-
 docs/reference/api/doxygen/functions_b.html        |    4 +-
 docs/reference/api/doxygen/functions_c.html        |   20 +-
 docs/reference/api/doxygen/functions_d.html        |   12 +-
 docs/reference/api/doxygen/functions_e.html        |    8 +-
 docs/reference/api/doxygen/functions_f.html        |   10 +-
 docs/reference/api/doxygen/functions_func.html     |    8 +-
 docs/reference/api/doxygen/functions_func_b.html   |    2 +-
 docs/reference/api/doxygen/functions_func_c.html   |   18 +-
 docs/reference/api/doxygen/functions_func_d.html   |    2 +-
 docs/reference/api/doxygen/functions_func_e.html   |    8 +-
 docs/reference/api/doxygen/functions_func_f.html   |    4 +-
 docs/reference/api/doxygen/functions_func_l.html   |   10 +-
 docs/reference/api/doxygen/functions_func_m.html   |    6 +-
 docs/reference/api/doxygen/functions_func_n.html   |    7 +-
 docs/reference/api/doxygen/functions_func_s.html   |    4 +-
 docs/reference/api/doxygen/functions_func_t.html   |    9 +-
 docs/reference/api/doxygen/functions_h.html        |    2 +-
 docs/reference/api/doxygen/functions_k.html        |    4 +-
 docs/reference/api/doxygen/functions_l.html        |   10 +-
 docs/reference/api/doxygen/functions_m.html        |    6 +-
 docs/reference/api/doxygen/functions_n.html        |   13 +-
 docs/reference/api/doxygen/functions_p.html        |    4 +-
 docs/reference/api/doxygen/functions_r.html        |    4 +-
 docs/reference/api/doxygen/functions_s.html        |    6 +-
 docs/reference/api/doxygen/functions_t.html        |    7 +-
 docs/reference/api/doxygen/functions_type.html     |    4 +-
 docs/reference/api/doxygen/functions_vars_b.html   |    2 +-
 docs/reference/api/doxygen/functions_vars_d.html   |   10 +-
 docs/reference/api/doxygen/functions_vars_f.html   |    4 +-
 docs/reference/api/doxygen/functions_vars_h.html   |    2 +-
 docs/reference/api/doxygen/functions_vars_n.html   |    6 +-
 docs/reference/api/doxygen/functions_vars_p.html   |    4 +-
 docs/reference/api/doxygen/functions_vars_r.html   |    4 +-
 docs/reference/api/doxygen/functions_vars_s.html   |    2 +-
 .../api/doxygen/functor_8h__dep__incl.svg          |    2 +-
 docs/reference/api/doxygen/fuse_8h.html            |    2 +-
 docs/reference/api/doxygen/fuse_8h__incl.svg       |  616 +-
 .../api/doxygen/global__var__supply_8h.html        |    2 +-
 .../api/doxygen/global__var__supply_8h__incl.svg   |  304 +-
 docs/reference/api/doxygen/globals.html            |    4 +-
 docs/reference/api/doxygen/globals_defs.html       |    4 +-
 docs/reference/api/doxygen/group__norm_8h.html     |    2 +-
 .../reference/api/doxygen/group__norm_8h__incl.svg |  990 ++--
 docs/reference/api/doxygen/hierarchy.html          |   84 +-
 docs/reference/api/doxygen/image_8h.html           |    2 +-
 docs/reference/api/doxygen/image_8h__incl.svg      |  970 ++--
 docs/reference/api/doxygen/index_8h.html           |    2 +-
 docs/reference/api/doxygen/index_8h__incl.svg      |  970 ++--
 docs/reference/api/doxygen/index__map_8h.html      |    2 +-
 docs/reference/api/doxygen/index__map_8h__incl.svg |  214 +-
 .../api/doxygen/index__map_8h_source.html          |   12 +-
 docs/reference/api/doxygen/inherit_graph_24.svg    |   48 +-
 docs/reference/api/doxygen/inherit_graph_35.svg    |    8 +-
 docs/reference/api/doxygen/inherit_graph_70.svg    |   32 +-
 docs/reference/api/doxygen/inherit_graph_71.svg    |   14 +-
 docs/reference/api/doxygen/inherit_graph_72.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_73.svg    |   32 +-
 docs/reference/api/doxygen/inherit_graph_78.svg    |   14 +-
 docs/reference/api/doxygen/inherit_graph_79.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_80.svg    |    4 +-
 docs/reference/api/doxygen/inherit_graph_96.svg    |   16 +-
 docs/reference/api/doxygen/inherit_graph_98.svg    |   24 +-
 docs/reference/api/doxygen/inherits.html           |    8 +-
 docs/reference/api/doxygen/instance__norm_8h.html  |    2 +-
 .../api/doxygen/instance__norm_8h__incl.svg        | 1226 ++--
 docs/reference/api/doxygen/instrument_8h.html      |    2 +-
 docs/reference/api/doxygen/instrument_8h__incl.svg |  534 +-
 docs/reference/api/doxygen/int__set_8h.html        |    2 +-
 .../api/doxygen/int__set_8h__dep__incl.svg         |    2 +-
 docs/reference/api/doxygen/int__set_8h__incl.svg   |  588 +-
 docs/reference/api/doxygen/int__solver_8h.html     |    2 +-
 .../reference/api/doxygen/int__solver_8h__incl.svg | 1132 ++--
 docs/reference/api/doxygen/ir_2analysis_8h.html    |    2 +-
 .../api/doxygen/ir_2analysis_8h__incl.svg          |  424 +-
 docs/reference/api/doxygen/ir_2expr_8h.html        |    2 +-
 .../api/doxygen/ir_2expr_8h__dep__incl.svg         |    2 +-
 docs/reference/api/doxygen/ir_2expr_8h__incl.svg   |  572 +-
 docs/reference/api/doxygen/ir_2frame_8h.html       |    2 +-
 docs/reference/api/doxygen/ir_2frame_8h__incl.svg  |  990 ++--
 docs/reference/api/doxygen/ir_2function_8h.html    |    2 +-
 .../api/doxygen/ir_2function_8h__incl.svg          |  702 +--
 .../reference/api/doxygen/ir_2global__info_8h.html |    2 +-
 .../api/doxygen/ir_2global__info_8h__incl.svg      |  742 +--
 docs/reference/api/doxygen/ir_2ir_8h.html          |    2 +-
 docs/reference/api/doxygen/ir_2ir_8h__incl.svg     |  212 +-
 docs/reference/api/doxygen/ir_2module_8h.html      |    4 +-
 docs/reference/api/doxygen/ir_2module_8h__incl.svg |  922 +--
 .../api/doxygen/ir_2module_8h_source.html          |    6 +-
 docs/reference/api/doxygen/ir_2op_8h.html          |    2 +-
 .../reference/api/doxygen/ir_2op_8h__dep__incl.svg |    2 +-
 docs/reference/api/doxygen/ir_2op_8h__incl.svg     |  224 +-
 docs/reference/api/doxygen/ir_2transform_8h.html   |    2 +-
 .../api/doxygen/ir_2transform_8h__incl.svg         |  926 +--
 docs/reference/api/doxygen/ir_2type_8h.html        |    2 +-
 .../api/doxygen/ir_2type_8h__dep__incl.svg         |    2 +-
 docs/reference/api/doxygen/ir_2type_8h__incl.svg   |  456 +-
 docs/reference/api/doxygen/ir__docsifier_8h.html   |    2 +-
 .../api/doxygen/ir__docsifier_8h__incl.svg         | 1100 ++--
 .../api/doxygen/ir__docsifier__functor_8h.html     |    2 +-
 .../doxygen/ir__docsifier__functor_8h__incl.svg    |  168 +-
 .../api/doxygen/iter__affine__map_8h.html          |    2 +-
 .../api/doxygen/iter__affine__map_8h__incl.svg     |  882 +--
 docs/reference/api/doxygen/layer__norm_8h.html     |    2 +-
 .../reference/api/doxygen/layer__norm_8h__incl.svg | 1226 ++--
 docs/reference/api/doxygen/linear__algebra_8h.html |    2 +-
 .../api/doxygen/linear__algebra_8h__incl.svg       |  970 ++--
 .../api/doxygen/local__response__norm_8h.html      |    2 +-
 .../api/doxygen/local__response__norm_8h__incl.svg | 1226 ++--
 docs/reference/api/doxygen/manipulate_8h.html      |    2 +-
 docs/reference/api/doxygen/manipulate_8h__incl.svg |  618 +-
 docs/reference/api/doxygen/mapping_8h.html         |    2 +-
 docs/reference/api/doxygen/mapping_8h__incl.svg    | 1226 ++--
 .../api/doxygen/measure__callback_8h.html          |    2 +-
 .../api/doxygen/measure__callback_8h__incl.svg     | 1460 ++---
 .../api/doxygen/measure__candidate_8h.html         |    2 +-
 .../api/doxygen/measure__candidate_8h__incl.svg    | 1194 ++--
 docs/reference/api/doxygen/memory__manager_8h.html |    4 +-
 .../api/doxygen/memory__manager_8h__incl.svg       |  560 +-
 .../api/doxygen/memory__manager_8h_source.html     |   24 +-
 docs/reference/api/doxygen/mutator_8h.html         |    2 +-
 docs/reference/api/doxygen/mutator_8h__incl.svg    | 1252 ++--
 docs/reference/api/doxygen/name__supply_8h.html    |    2 +-
 .../api/doxygen/name__supply_8h__incl.svg          |  284 +-
 docs/reference/api/doxygen/namespacemembers.html   |    6 +-
 docs/reference/api/doxygen/namespacemembers_b.html |    4 +-
 docs/reference/api/doxygen/namespacemembers_d.html |    6 +-
 .../api/doxygen/namespacemembers_eval.html         |    6 +-
 .../api/doxygen/namespacemembers_func.html         |    6 +-
 .../api/doxygen/namespacemembers_func_b.html       |    4 +-
 .../api/doxygen/namespacemembers_func_d.html       |    6 +-
 .../api/doxygen/namespacemembers_func_g.html       |    2 +-
 .../api/doxygen/namespacemembers_func_n.html       |    3 -
 .../api/doxygen/namespacemembers_func_r.html       |    8 +-
 .../api/doxygen/namespacemembers_func_s.html       |    8 +-
 .../api/doxygen/namespacemembers_func_t.html       |    3 +
 docs/reference/api/doxygen/namespacemembers_g.html |    2 +-
 docs/reference/api/doxygen/namespacemembers_k.html |   10 +-
 docs/reference/api/doxygen/namespacemembers_n.html |    3 -
 docs/reference/api/doxygen/namespacemembers_r.html |    8 +-
 docs/reference/api/doxygen/namespacemembers_s.html |    8 +-
 docs/reference/api/doxygen/namespacemembers_t.html |    3 +
 .../api/doxygen/namespacemembers_vars.html         |    4 +-
 docs/reference/api/doxygen/namespaces.html         |   14 +-
 .../api/doxygen/namespacetvm_1_1attr.html          |    6 +-
 .../api/doxygen/namespacetvm_1_1runtime.html       |  182 +-
 .../namespacetvm_1_1runtime_1_1profiling.html      |   32 +-
 .../api/doxygen/namespacetvm_1_1runtime_1_1vm.html |    4 +-
 ...mespacetvm_1_1script_1_1ir__builder_1_1tir.html |   12 +-
 .../doxygen/namespacetvm_1_1tir_1_1builtin.html    |    4 +-
 .../doxygen/namespacetvm_1_1tir_1_1transform.html  |   26 +-
 .../api/doxygen/namespacetvm_1_1topi.html          |  742 +--
 .../doxygen/ndarray__cache__support_8h__incl.svg   |  522 --
 .../doxygen/ndarray__cache__support_8h_source.html |  172 -
 .../reference/api/doxygen/nested__msg_8h__incl.svg | 1550 ++---
 docs/reference/api/doxygen/node_8h.html            |    2 +-
 docs/reference/api/doxygen/node_8h__dep__incl.svg  |    2 +-
 docs/reference/api/doxygen/node_8h__incl.svg       |  436 +-
 docs/reference/api/doxygen/object_8h.html          |    4 +-
 .../reference/api/doxygen/object_8h__dep__incl.svg | 1096 ++--
 docs/reference/api/doxygen/object_8h_source.html   |    4 +-
 docs/reference/api/doxygen/operation_8h.html       |    4 +-
 docs/reference/api/doxygen/operation_8h__incl.svg  |  606 +-
 .../reference/api/doxygen/operation_8h_source.html |    4 +-
 docs/reference/api/doxygen/pad__utils_8h.html      |    2 +-
 docs/reference/api/doxygen/pad__utils_8h__incl.svg |  722 +--
 docs/reference/api/doxygen/papi_8h.html            |    2 +-
 docs/reference/api/doxygen/papi_8h__incl.svg       |  426 +-
 docs/reference/api/doxygen/pattern_8h.html         |    2 +-
 docs/reference/api/doxygen/pattern_8h__incl.svg    |  612 +-
 docs/reference/api/doxygen/pooling_8h__incl.svg    |  566 +-
 docs/reference/api/doxygen/postproc_8h.html        |    2 +-
 docs/reference/api/doxygen/postproc_8h__incl.svg   | 1378 ++---
 docs/reference/api/doxygen/profiler_8h.html        |    2 +-
 docs/reference/api/doxygen/profiler_8h__incl.svg   |  888 +--
 docs/reference/api/doxygen/profiling_8h.html       |   16 +-
 docs/reference/api/doxygen/profiling_8h__incl.svg  |  414 +-
 .../reference/api/doxygen/profiling_8h_source.html |   16 +-
 docs/reference/api/doxygen/qdq_8h.html             |    2 +-
 docs/reference/api/doxygen/qdq_8h__incl.svg        |  970 ++--
 docs/reference/api/doxygen/ravel__unravel_8h.html  |    2 +-
 .../api/doxygen/ravel__unravel_8h__incl.svg        | 1214 ++--
 docs/reference/api/doxygen/reduction_8h__incl.svg  |  906 +--
 .../reference/api/doxygen/reduction_8h_source.html |   30 +-
 docs/reference/api/doxygen/relax_2analysis_8h.html |    2 +-
 .../api/doxygen/relax_2analysis_8h__incl.svg       | 1618 +++---
 .../reference/api/doxygen/relax_2attrs_2nn_8h.html |    2 +-
 .../api/doxygen/relax_2attrs_2nn_8h__incl.svg      |  968 ++--
 .../reference/api/doxygen/relax_2attrs_2op_8h.html |    2 +-
 .../api/doxygen/relax_2attrs_2op_8h__incl.svg      |  846 +--
 .../relax_2distributed_2global__info_8h.html       |    2 +-
 .../relax_2distributed_2global__info_8h__incl.svg  |  734 +--
 .../doxygen/relax_2distributed_2transform_8h.html  |    2 +-
 .../relax_2distributed_2transform_8h__incl.svg     | 1624 +++---
 docs/reference/api/doxygen/relax_2expr_8h.html     |    2 +-
 .../reference/api/doxygen/relax_2expr_8h__incl.svg |  960 ++--
 .../api/doxygen/relax_2expr_8h_source.html         |   10 +-
 .../api/doxygen/relax_2expr__functor_8h.html       |    2 +-
 .../api/doxygen/relax_2expr__functor_8h__incl.svg  | 1220 ++--
 docs/reference/api/doxygen/relax_2frame_8h.html    |    2 +-
 .../api/doxygen/relax_2frame_8h__incl.svg          |  740 +--
 docs/reference/api/doxygen/relax_2ir_8h__incl.svg  |  674 +--
 .../api/doxygen/relax_2op__attr__types_8h.html     |    4 +-
 .../doxygen/relax_2op__attr__types_8h__incl.svg    | 1286 ++---
 .../doxygen/relax_2op__attr__types_8h_source.html  |    4 +-
 .../reference/api/doxygen/relax_2transform_8h.html |    2 +-
 .../api/doxygen/relax_2transform_8h__incl.svg      | 1442 ++---
 docs/reference/api/doxygen/relax_2type_8h.html     |    2 +-
 .../reference/api/doxygen/relax_2type_8h__incl.svg |  876 +--
 docs/reference/api/doxygen/relax_2utils_8h.html    |    2 +-
 .../api/doxygen/relax_2utils_8h__incl.svg          | 1248 ++--
 docs/reference/api/doxygen/reorg_8h.html           |    2 +-
 docs/reference/api/doxygen/reorg_8h__incl.svg      | 2032 +++----
 .../api/doxygen/replace__global__vars_8h.html      |    2 +-
 .../api/doxygen/replace__global__vars_8h__incl.svg |  932 +--
 .../api/doxygen/repr__printer_8h__dep__incl.svg    |    2 +-
 docs/reference/api/doxygen/rms__norm_8h.html       |    2 +-
 docs/reference/api/doxygen/rms__norm_8h__incl.svg  | 1898 +++----
 docs/reference/api/doxygen/rocblas_8h.html         |    2 +-
 docs/reference/api/doxygen/rocblas_8h__incl.svg    |  736 +--
 docs/reference/api/doxygen/runner_8h.html          |    2 +-
 docs/reference/api/doxygen/runner_8h__incl.svg     |  188 +-
 docs/reference/api/doxygen/runtime_2base_8h.html   |    2 +-
 .../api/doxygen/runtime_2base_8h__dep__incl.svg    | 2016 +++----
 .../api/doxygen/runtime_2disco_2builtin_8h.html    |   70 +-
 .../doxygen/runtime_2disco_2builtin_8h__incl.svg   |  328 +-
 .../doxygen/runtime_2disco_2builtin_8h_source.html |   50 +-
 .../{ndarray_8h.html => runtime_2tensor_8h.html}   |   30 +-
 ..._incl.svg => runtime_2tensor_8h__dep__incl.svg} |   22 +-
 ...y_8h__incl.svg => runtime_2tensor_8h__incl.svg} |   32 +-
 ..._source.html => runtime_2tensor_8h_source.html} |  148 +-
 docs/reference/api/doxygen/sampling_8h.html        |    2 +-
 docs/reference/api/doxygen/sampling_8h__incl.svg   |  970 ++--
 docs/reference/api/doxygen/schedule_8h.html        |    2 +-
 docs/reference/api/doxygen/schedule_8h__incl.svg   |  712 +--
 docs/reference/api/doxygen/schedule__rule_8h.html  |    2 +-
 .../api/doxygen/schedule__rule_8h__incl.svg        | 1120 ++--
 .../api/doxygen/script_2ir__builder_2base_8h.html  |    2 +-
 .../doxygen/script_2ir__builder_2base_8h__incl.svg |  694 +--
 .../api/doxygen/script__printer_8h__dep__incl.svg  |    2 +-
 docs/reference/api/doxygen/search/all_10.js        |  170 +-
 docs/reference/api/doxygen/search/all_11.js        |  392 +-
 docs/reference/api/doxygen/search/all_12.js        |   14 +-
 docs/reference/api/doxygen/search/all_13.js        |  370 +-
 docs/reference/api/doxygen/search/all_14.js        |  679 ++-
 docs/reference/api/doxygen/search/all_15.js        |  689 +--
 docs/reference/api/doxygen/search/all_16.js        |  132 +-
 docs/reference/api/doxygen/search/all_17.js        |  222 +-
 docs/reference/api/doxygen/search/all_18.js        |  108 +-
 docs/reference/api/doxygen/search/all_19.js        |    2 +-
 docs/reference/api/doxygen/search/all_1a.js        |   88 +-
 docs/reference/api/doxygen/search/all_2.js         |   10 +-
 docs/reference/api/doxygen/search/all_3.js         |    8 +-
 docs/reference/api/doxygen/search/all_4.js         |   20 +-
 docs/reference/api/doxygen/search/all_5.js         |   16 +-
 docs/reference/api/doxygen/search/all_6.js         |    4 +-
 docs/reference/api/doxygen/search/all_7.js         |   10 +-
 docs/reference/api/doxygen/search/all_8.js         |    2 +-
 docs/reference/api/doxygen/search/all_9.js         |    2 +-
 docs/reference/api/doxygen/search/all_a.js         |  458 +-
 docs/reference/api/doxygen/search/all_b.js         |    8 +-
 docs/reference/api/doxygen/search/all_c.js         |  532 +-
 docs/reference/api/doxygen/search/all_d.js         |  232 +-
 docs/reference/api/doxygen/search/all_e.js         |  329 +-
 docs/reference/api/doxygen/search/all_f.js         |  142 +-
 docs/reference/api/doxygen/search/classes_0.js     |  260 +-
 docs/reference/api/doxygen/search/classes_1.js     |  128 +-
 docs/reference/api/doxygen/search/classes_10.js    |  206 +-
 docs/reference/api/doxygen/search/classes_11.js    |  161 +-
 docs/reference/api/doxygen/search/classes_12.js    |    4 +-
 docs/reference/api/doxygen/search/classes_13.js    |   42 +-
 docs/reference/api/doxygen/search/classes_14.js    |   30 +-
 docs/reference/api/doxygen/search/classes_2.js     |   96 +-
 docs/reference/api/doxygen/search/classes_3.js     |  132 +-
 docs/reference/api/doxygen/search/classes_4.js     |   76 +-
 docs/reference/api/doxygen/search/classes_5.js     |   66 +-
 docs/reference/api/doxygen/search/classes_6.js     |   32 +-
 docs/reference/api/doxygen/search/classes_7.js     |    6 +-
 docs/reference/api/doxygen/search/classes_8.js     |  126 +-
 docs/reference/api/doxygen/search/classes_9.js     |   58 +-
 docs/reference/api/doxygen/search/classes_a.js     |   74 +-
 docs/reference/api/doxygen/search/classes_b.js     |   30 +-
 docs/reference/api/doxygen/search/classes_c.js     |   34 +-
 docs/reference/api/doxygen/search/classes_d.js     |  140 +-
 docs/reference/api/doxygen/search/classes_e.js     |    2 +-
 docs/reference/api/doxygen/search/classes_f.js     |   60 +-
 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     |  124 +-
 docs/reference/api/doxygen/search/defines_9.js     |    2 +-
 docs/reference/api/doxygen/search/enums_0.js       |    6 +-
 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       |    4 +-
 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       |    8 +-
 docs/reference/api/doxygen/search/enums_e.js       |   10 +-
 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  |  410 +-
 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       |   14 +-
 docs/reference/api/doxygen/search/files_1.js       |   30 +-
 docs/reference/api/doxygen/search/files_10.js      |   33 +-
 docs/reference/api/doxygen/search/files_11.js      |    2 +-
 docs/reference/api/doxygen/search/files_12.js      |    6 +-
 docs/reference/api/doxygen/search/files_13.js      |    4 +-
 docs/reference/api/doxygen/search/files_2.js       |   18 +-
 docs/reference/api/doxygen/search/files_3.js       |   30 +-
 docs/reference/api/doxygen/search/files_4.js       |   18 +-
 docs/reference/api/doxygen/search/files_5.js       |   12 +-
 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       |    6 +-
 docs/reference/api/doxygen/search/files_9.js       |   14 +-
 docs/reference/api/doxygen/search/files_a.js       |   12 +-
 docs/reference/api/doxygen/search/files_b.js       |    8 +-
 docs/reference/api/doxygen/search/files_c.js       |   18 +-
 docs/reference/api/doxygen/search/files_d.js       |    2 +-
 docs/reference/api/doxygen/search/files_e.js       |   20 +-
 docs/reference/api/doxygen/search/files_f.js       |   44 +-
 docs/reference/api/doxygen/search/functions_0.js   |   10 +-
 docs/reference/api/doxygen/search/functions_1.js   |  222 +-
 docs/reference/api/doxygen/search/functions_10.js  |  184 +-
 docs/reference/api/doxygen/search/functions_11.js  |    8 +-
 docs/reference/api/doxygen/search/functions_12.js  |  220 +-
 docs/reference/api/doxygen/search/functions_13.js  |  338 +-
 docs/reference/api/doxygen/search/functions_14.js  |  261 +-
 docs/reference/api/doxygen/search/functions_15.js  |  110 +-
 docs/reference/api/doxygen/search/functions_16.js  |  132 +-
 docs/reference/api/doxygen/search/functions_17.js  |   60 +-
 docs/reference/api/doxygen/search/functions_18.js  |    2 +-
 docs/reference/api/doxygen/search/functions_19.js  |   88 +-
 docs/reference/api/doxygen/search/functions_2.js   |  176 +-
 docs/reference/api/doxygen/search/functions_3.js   |  264 +-
 docs/reference/api/doxygen/search/functions_4.js   |  210 +-
 docs/reference/api/doxygen/search/functions_5.js   |  138 +-
 docs/reference/api/doxygen/search/functions_6.js   |  376 +-
 docs/reference/api/doxygen/search/functions_7.js   |  214 +-
 docs/reference/api/doxygen/search/functions_8.js   |   44 +-
 docs/reference/api/doxygen/search/functions_9.js   |  358 +-
 docs/reference/api/doxygen/search/functions_a.js   |    8 +-
 docs/reference/api/doxygen/search/functions_b.js   |    2 +-
 docs/reference/api/doxygen/search/functions_c.js   |  144 +-
 docs/reference/api/doxygen/search/functions_d.js   |  159 +-
 docs/reference/api/doxygen/search/functions_e.js   |   86 +-
 docs/reference/api/doxygen/search/functions_f.js   |  100 +-
 docs/reference/api/doxygen/search/namespaces_0.js  |    4 +-
 docs/reference/api/doxygen/search/namespaces_1.js  |   66 +-
 docs/reference/api/doxygen/search/related_0.js     |    2 +-
 docs/reference/api/doxygen/search/related_1.js     |    6 +-
 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     |   10 +-
 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     |    4 +-
 docs/reference/api/doxygen/search/related_a.js     |   10 +-
 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    |    6 +-
 docs/reference/api/doxygen/search/typedefs_1.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_2.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_3.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_4.js    |   12 +-
 docs/reference/api/doxygen/search/typedefs_5.js    |  114 +-
 docs/reference/api/doxygen/search/typedefs_6.js    |    8 +-
 docs/reference/api/doxygen/search/typedefs_7.js    |    2 +-
 docs/reference/api/doxygen/search/typedefs_8.js    |    4 +-
 docs/reference/api/doxygen/search/typedefs_9.js    |   12 +-
 docs/reference/api/doxygen/search/typedefs_a.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_b.js    |    6 +-
 docs/reference/api/doxygen/search/typedefs_c.js    |   36 +-
 docs/reference/api/doxygen/search/variables_0.js   |   12 +-
 docs/reference/api/doxygen/search/variables_1.js   |   70 +-
 docs/reference/api/doxygen/search/variables_10.js  |    2 +-
 docs/reference/api/doxygen/search/variables_11.js  |   82 +-
 docs/reference/api/doxygen/search/variables_12.js  |  122 +-
 docs/reference/api/doxygen/search/variables_13.js  |   76 +-
 docs/reference/api/doxygen/search/variables_14.js  |   18 +-
 docs/reference/api/doxygen/search/variables_15.js  |   44 +-
 docs/reference/api/doxygen/search/variables_16.js  |   16 +-
 docs/reference/api/doxygen/search/variables_2.js   |   66 +-
 docs/reference/api/doxygen/search/variables_3.js   |   76 +-
 docs/reference/api/doxygen/search/variables_4.js   |  104 +-
 docs/reference/api/doxygen/search/variables_5.js   |   58 +-
 docs/reference/api/doxygen/search/variables_6.js   |  110 +-
 docs/reference/api/doxygen/search/variables_7.js   |   12 +-
 docs/reference/api/doxygen/search/variables_8.js   |    8 +-
 docs/reference/api/doxygen/search/variables_9.js   |   82 +-
 docs/reference/api/doxygen/search/variables_a.js   |  126 +-
 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   |   36 +-
 docs/reference/api/doxygen/search/variables_f.js   |   72 +-
 docs/reference/api/doxygen/search_8h.html          |    2 +-
 docs/reference/api/doxygen/search_8h__incl.svg     |  970 ++--
 .../reference/api/doxygen/search__strategy_8h.html |    2 +-
 .../api/doxygen/search__strategy_8h__incl.svg      | 1570 ++---
 docs/reference/api/doxygen/serializer_8h.html      |    4 +-
 .../api/doxygen/serializer_8h__dep__incl.svg       |   18 +-
 docs/reference/api/doxygen/serializer_8h__incl.svg |  256 +-
 .../api/doxygen/serializer_8h_source.html          |    4 +-
 docs/reference/api/doxygen/session_8h.html         |    6 +-
 docs/reference/api/doxygen/session_8h__incl.svg    |  616 +-
 docs/reference/api/doxygen/session_8h_source.html  |   22 +-
 docs/reference/api/doxygen/softmax_8h.html         |    2 +-
 docs/reference/api/doxygen/softmax_8h__incl.svg    | 1672 +++---
 docs/reference/api/doxygen/sorting_8h.html         |    2 +-
 docs/reference/api/doxygen/sorting_8h__incl.svg    |  618 +-
 docs/reference/api/doxygen/source__map_8h.html     |    2 +-
 .../api/doxygen/source__map_8h__dep__incl.svg      |    2 +-
 .../reference/api/doxygen/source__map_8h__incl.svg |  530 +-
 .../reference/api/doxygen/space__generator_8h.html |    2 +-
 .../api/doxygen/space__generator_8h__incl.svg      |  906 +--
 docs/reference/api/doxygen/state_8h.html           |    2 +-
 docs/reference/api/doxygen/state_8h__incl.svg      |  894 +--
 docs/reference/api/doxygen/statistical_8h.html     |    2 +-
 .../reference/api/doxygen/statistical_8h__incl.svg |  970 ++--
 docs/reference/api/doxygen/stmt_8h.html            |    2 +-
 docs/reference/api/doxygen/stmt_8h__dep__incl.svg  |    2 +-
 docs/reference/api/doxygen/stmt_8h__incl.svg       |  220 +-
 docs/reference/api/doxygen/stmt_8h_source.html     |    6 +-
 docs/reference/api/doxygen/stmt__functor_8h.html   |    2 +-
 .../api/doxygen/stmt__functor_8h__incl.svg         |  538 +-
 docs/reference/api/doxygen/strided__slice_8h.html  |    2 +-
 .../api/doxygen/strided__slice_8h__incl.svg        | 1340 ++---
 .../api/doxygen/struct__info_8h__incl.svg          |  934 +--
 .../api/doxygen/struct__info__functor_8h.html      |    2 +-
 .../api/doxygen/struct__info__functor_8h__incl.svg | 1120 ++--
 ...time_1_1vm_1_1TensorCacheMetadata-members.html} |   14 +-
 ...m_1_1runtime_1_1vm_1_1TensorCacheMetadata.html} |   78 +-
 ...TensorCacheMetadata_1_1FileRecord-members.html} |   16 +-
 ..._1vm_1_1TensorCacheMetadata_1_1FileRecord.html} |   90 +-
 ...data_1_1FileRecord_1_1ParamRecord-members.html} |   20 +-
 ...acheMetadata_1_1FileRecord_1_1ParamRecord.html} |  104 +-
 ..._1_1FileRecord_1_1ParamRecord__coll__graph.svg} |    6 +-
 ...orCacheMetadata_1_1FileRecord__coll__graph.svg} |    8 +-
 ..._1_1vm_1_1TensorCacheMetadata__coll__graph.svg} |   22 +-
 .../doxygen/structural__equal_8h__dep__incl.svg    |    2 +-
 .../reference/api/doxygen/structural__hash_8h.html |    4 +-
 .../api/doxygen/structural__hash_8h__dep__incl.svg |    2 +-
 .../api/doxygen/structural__hash_8h__incl.svg      |  146 +-
 .../api/doxygen/structural__hash_8h_source.html    |    4 +-
 docs/reference/api/doxygen/tag_8h.html             |    2 +-
 docs/reference/api/doxygen/tag_8h__incl.svg        |  840 +--
 docs/reference/api/doxygen/target_8h.html          |    2 +-
 docs/reference/api/doxygen/target_8h__incl.svg     |  764 +--
 docs/reference/api/doxygen/target__info_8h.html    |    2 +-
 .../api/doxygen/target__info_8h__incl.svg          |  614 +-
 docs/reference/api/doxygen/target__kind_8h.html    |    2 +-
 .../api/doxygen/target__kind_8h__incl.svg          |  194 +-
 docs/reference/api/doxygen/task__scheduler_8h.html |    2 +-
 .../api/doxygen/task__scheduler_8h__incl.svg       | 1558 ++---
 .../doxygen/{tensor_8h.html => te_2tensor_8h.html} |   10 +-
 ..._dep__incl.svg => te_2tensor_8h__dep__incl.svg} |    0
 ...tensor_8h__incl.svg => te_2tensor_8h__incl.svg} |  560 +-
 ...or_8h_source.html => te_2tensor_8h_source.html} |   40 +-
 ...port_8h.html => tensor__cache__support_8h.html} |   24 +-
 .../doxygen/tensor__cache__support_8h__incl.svg    |  522 ++
 .../doxygen/tensor__cache__support_8h_source.html  |  172 +
 docs/reference/api/doxygen/tensor__utils_8h.html   |    2 +-
 .../api/doxygen/tensor__utils_8h__incl.svg         | 1214 ++--
 docs/reference/api/doxygen/thread__bind_8h.html    |    2 +-
 .../api/doxygen/thread__bind_8h__incl.svg          | 1038 ++--
 docs/reference/api/doxygen/tir_2analysis_8h.html   |    2 +-
 .../api/doxygen/tir_2analysis_8h__incl.svg         | 1254 ++--
 docs/reference/api/doxygen/tir_2builtin_8h.html    |    4 +-
 .../api/doxygen/tir_2builtin_8h__dep__incl.svg     |    2 +-
 .../api/doxygen/tir_2builtin_8h__incl.svg          |  894 +--
 .../api/doxygen/tir_2builtin_8h_source.html        |    2 +-
 docs/reference/api/doxygen/tir_2expr_8h.html       |    2 +-
 .../api/doxygen/tir_2expr_8h__dep__incl.svg        |    2 +-
 docs/reference/api/doxygen/tir_2expr_8h__incl.svg  |  258 +-
 .../api/doxygen/tir_2expr__functor_8h.html         |    2 +-
 .../api/doxygen/tir_2expr__functor_8h__incl.svg    |  536 +-
 docs/reference/api/doxygen/tir_2frame_8h__incl.svg |  638 +--
 .../api/doxygen/tir_2frame_8h_source.html          |    8 +-
 docs/reference/api/doxygen/tir_2function_8h.html   |    4 +-
 .../api/doxygen/tir_2function_8h__incl.svg         |  908 +--
 .../api/doxygen/tir_2function_8h_source.html       |    4 +-
 docs/reference/api/doxygen/tir_2ir_8h.html         |    8 +-
 docs/reference/api/doxygen/tir_2ir_8h__incl.svg    |  818 +--
 docs/reference/api/doxygen/tir_2ir_8h_source.html  |    8 +-
 docs/reference/api/doxygen/tir_2op_8h.html         |    2 +-
 .../api/doxygen/tir_2op_8h__dep__incl.svg          |    2 +-
 docs/reference/api/doxygen/tir_2op_8h__incl.svg    |  794 +--
 .../api/doxygen/tir_2op__attr__types_8h.html       |    2 +-
 .../api/doxygen/tir_2op__attr__types_8h__incl.svg  |  232 +-
 docs/reference/api/doxygen/tir_2transform_8h.html  |   12 +-
 .../api/doxygen/tir_2transform_8h__incl.svg        | 1284 ++---
 .../api/doxygen/tir_2transform_8h_source.html      |    8 +-
 docs/reference/api/doxygen/tir_2utils_8h.html      |    2 +-
 docs/reference/api/doxygen/tir_2utils_8h__incl.svg | 1254 ++--
 docs/reference/api/doxygen/tir__pattern_8h.html    |    2 +-
 .../api/doxygen/tir__pattern_8h__incl.svg          |  164 +-
 docs/reference/api/doxygen/topi_2nn_8h.html        |    2 +-
 docs/reference/api/doxygen/topi_2nn_8h__incl.svg   | 1006 ++--
 docs/reference/api/doxygen/topi_2nn_8h_source.html |    6 +-
 docs/reference/api/doxygen/topi_2transform_8h.html |   14 +-
 .../api/doxygen/topi_2transform_8h__incl.svg       | 1672 +++---
 .../api/doxygen/topi_2transform_8h_source.html     |   95 +-
 docs/reference/api/doxygen/topi_2utils_8h.html     |    2 +-
 .../reference/api/doxygen/topi_2utils_8h__incl.svg |  640 +--
 .../api/doxygen/tune__context_8h__incl.svg         |  916 +--
 docs/reference/api/doxygen/type__functor_8h.html   |    2 +-
 .../api/doxygen/type__functor_8h__incl.svg         |  636 +--
 docs/reference/api/doxygen/var_8h.html             |    2 +-
 docs/reference/api/doxygen/var_8h__dep__incl.svg   |    2 +-
 docs/reference/api/doxygen/var_8h__incl.svg        |  526 +-
 docs/reference/api/doxygen/virtual__device_8h.html |    2 +-
 .../api/doxygen/virtual__device_8h__incl.svg       |  788 +--
 docs/reference/api/doxygen/vm_8h.html              |    2 +-
 docs/reference/api/doxygen/vm_8h__incl.svg         |  730 +--
 docs/reference/api/doxygen/winograd_8h.html        |    2 +-
 docs/reference/api/doxygen/winograd_8h__incl.svg   |  720 +--
 docs/reference/api/javadoc/allclasses-index.html   |   16 +-
 docs/reference/api/javadoc/constant-values.html    |   52 +-
 docs/reference/api/javadoc/index-all.html          |   94 +-
 docs/reference/api/javadoc/member-search-index.js  |    2 +-
 .../api/javadoc/org/apache/tvm/Function.html       |   12 +-
 .../api/javadoc/org/apache/tvm/Module.html         |    2 +-
 .../api/javadoc/org/apache/tvm/TVMObject.html      |    2 +-
 .../api/javadoc/org/apache/tvm/TVMType.html        |    2 +-
 .../api/javadoc/org/apache/tvm/TVMValue.html       |   16 +-
 .../api/javadoc/org/apache/tvm/TVMValueBytes.html  |    2 +-
 .../api/javadoc/org/apache/tvm/TVMValueDouble.html |    2 +-
 .../api/javadoc/org/apache/tvm/TVMValueHandle.html |    2 +-
 .../api/javadoc/org/apache/tvm/TVMValueLong.html   |    2 +-
 .../api/javadoc/org/apache/tvm/TVMValueNull.html   |    2 +-
 .../api/javadoc/org/apache/tvm/TVMValueString.html |    2 +-
 .../org/apache/tvm/{NDArray.html => Tensor.html}   |   82 +-
 .../tvm/{NDArrayBase.html => TensorBase.html}      |   40 +-
 .../api/javadoc/org/apache/tvm/TypeIndex.html      |   26 +-
 .../javadoc/org/apache/tvm/class-use/Device.html   |   10 +-
 .../javadoc/org/apache/tvm/class-use/Function.html |    2 +-
 .../javadoc/org/apache/tvm/class-use/TVMType.html  |    8 +-
 .../javadoc/org/apache/tvm/class-use/TVMValue.html |    8 +-
 .../tvm/class-use/{NDArray.html => Tensor.html}    |   30 +-
 .../{NDArrayBase.html => TensorBase.html}          |   40 +-
 .../javadoc/org/apache/tvm/package-summary.html    |    8 +-
 .../api/javadoc/org/apache/tvm/package-tree.html   |    4 +-
 .../api/javadoc/org/apache/tvm/package-use.html    |    8 +-
 docs/reference/api/javadoc/overview-tree.html      |    4 +-
 docs/reference/api/javadoc/type-search-index.js    |    2 +-
 docs/reference/api/python/contrib.html             |    1 -
 docs/reference/api/python/dlight.html              |    1 -
 docs/reference/api/python/driver.html              |    1 -
 docs/reference/api/python/error.html               |    1 -
 docs/reference/api/python/index.html               |    2 -
 docs/reference/api/python/instrument.html          |    1 -
 docs/reference/api/python/ir.html                  |    1 -
 docs/reference/api/python/meta_schedule.html       |    9 +-
 docs/reference/api/python/relax/analysis.html      |    1 -
 docs/reference/api/python/relax/block_builder.html |    1 -
 docs/reference/api/python/relax/frontend.html      |   11 +-
 docs/reference/api/python/relax/op.html            |    3 +-
 docs/reference/api/python/relax/relax.html         |   29 +-
 docs/reference/api/python/relax/transform.html     |    9 +-
 docs/reference/api/python/rpc.html                 |    1 -
 docs/reference/api/python/runtime/disco.html       |   45 +-
 docs/reference/api/python/runtime/ndarray.html     |  517 --
 docs/reference/api/python/runtime/profiling.html   |    1 -
 docs/reference/api/python/runtime/runtime.html     |    5 +-
 docs/reference/api/python/runtime/vm.html          |   15 +-
 docs/reference/api/python/target.html              |    1 -
 docs/reference/api/python/te.html                  |    3 +-
 docs/reference/api/python/tir/analysis.html        |    1 -
 docs/reference/api/python/tir/schedule.html        |    1 -
 docs/reference/api/python/tir/stmt_functor.html    |    1 -
 docs/reference/api/python/tir/tir.html             |   25 +-
 docs/reference/api/python/tir/transform.html       |   15 +-
 docs/reference/api/python/topi.html                |  129 +-
 docs/reference/api/python/transform.html           |    1 -
 docs/reference/api/typedoc/assets/search.js        |    2 +-
 .../api/typedoc/classes/ArtifactCache.html         |   24 +-
 .../typedoc/classes/ArtifactIndexedDBCache.html    |   26 +-
 docs/reference/api/typedoc/classes/DLDataType.html |   26 +-
 docs/reference/api/typedoc/classes/DLDevice.html   |   24 +-
 docs/reference/api/typedoc/classes/Instance.html   |  324 +-
 .../classes/LinearCongruentialGenerator.html       |   26 +-
 docs/reference/api/typedoc/classes/Module.html     |   26 +-
 docs/reference/api/typedoc/classes/RPCServer.html  |   32 +-
 docs/reference/api/typedoc/classes/Scalar.html     |   18 +-
 docs/reference/api/typedoc/classes/TVMArray.html   |   26 +-
 docs/reference/api/typedoc/classes/TVMObject.html  |   24 +-
 .../typedoc/classes/{NDArray.html => Tensor.html}  |  112 +-
 .../api/typedoc/classes/VirtualMachine.html        |   20 +-
 .../classes/_internal_.AsyncifyHandler.html        |   24 +-
 .../classes/_internal_.CachedCallStack.html        |   48 +-
 .../classes/_internal_.CanvasRenderManager.html    |   20 +-
 .../typedoc/classes/_internal_.Environment.html    |   24 +-
 .../api/typedoc/classes/_internal_.FFILibrary.html |   32 +-
 .../api/typedoc/classes/_internal_.Memory.html     |   56 +-
 .../typedoc/classes/_internal_.PackedFuncCell.html |   22 +-
 .../typedoc/classes/_internal_.RuntimeContext.html |  190 +-
 .../typedoc/classes/_internal_.WebGPUContext.html  |   38 +-
 .../enums/_internal_.AsyncifyStateKind.html        |   18 +-
 .../typedoc/enums/_internal_.RPCServerState.html   |   24 +-
 docs/reference/api/typedoc/functions/assert.html   |   12 +-
 .../api/typedoc/functions/createPolyfillWASI.html  |   12 +-
 ...sNDArrayInCache.html => deleteTensorCache.html} |   29 +-
 .../api/typedoc/functions/detectGPUDevice.html     |   12 +-
 ...leteNDArrayCache.html => hasTensorInCache.html} |   29 +-
 .../api/typedoc/functions/instantiate.html         |   12 +-
 docs/reference/api/typedoc/functions/wasmPath.html |   12 +-
 docs/reference/api/typedoc/index.html              |   16 +-
 .../typedoc/interfaces/ArtifactCacheTemplate.html  |   20 +-
 .../api/typedoc/interfaces/Disposable.html         |   14 +-
 .../typedoc/interfaces/GPUDeviceDetectOutput.html  |   18 +-
 .../api/typedoc/interfaces/InitProgressReport.html |   18 +-
 .../api/typedoc/interfaces/LibraryProvider.html    |   16 +-
 .../interfaces/_internal_.FunctionInfo.html        |   18 +-
 ...Entry.html => _internal_.TensorCacheEntry.html} |   44 +-
 ...Entry.html => _internal_.TensorShardEntry.html} |   38 +-
 docs/reference/api/typedoc/modules/_internal_.html |   14 +-
 .../api/typedoc/types/InitProgressCallback.html    |   12 +-
 docs/reference/api/typedoc/types/PackedFunc.html   |   12 +-
 .../typedoc/types/_internal_.AsyncPackedFunc.html  |   12 +-
 .../types/_internal_.FObjectConstructor.html       |   12 +-
 .../types/_internal_.FTVMFFIWasmSafeCallType.html  |   12 +-
 .../types/_internal_.FTVMWasmAllocSpace.html       |   12 +-
 .../types/_internal_.FTVMWasmFreeSpace.html        |   12 +-
 .../api/typedoc/types/_internal_.Pointer.html      |   12 +-
 .../typedoc/types/_internal_.TVMObjectBase.html    |   12 +-
 docs/searchindex.js                                |    2 +-
 docs/sg_execution_times.html                       |   26 +-
 926 files changed, 84369 insertions(+), 85369 deletions(-)

diff --git a/docs/_downloads/0b64717d4cc6027368b96fad40119738/ir_module.py b/docs/_downloads/0b64717d4cc6027368b96fad40119738/ir_module.py
index c53d0ca5ef..8bb8fb77a4 100644
--- a/docs/_downloads/0b64717d4cc6027368b96fad40119738/ir_module.py
+++ b/docs/_downloads/0b64717d4cc6027368b96fad40119738/ir_module.py
@@ -237,7 +237,7 @@ dev = tvm.cpu()
 vm = relax.VirtualMachine(exec, dev)
 
 raw_data = np.random.rand(1, 784).astype("float32")
-data = tvm.nd.array(raw_data, dev)
+data = tvm.runtime.tensor(raw_data, dev)
 cpu_out = vm["main"](data, *params_from_torch["main"]).numpy()
 print(cpu_out)
 
@@ -267,8 +267,8 @@ exec = tvm.compile(gpu_mod, target="cuda")
 dev = tvm.device("cuda", 0)
 vm = relax.VirtualMachine(exec, dev)
 # Need to allocate data and params on GPU device
-data = tvm.nd.array(raw_data, dev)
-gpu_params = [tvm.nd.array(p, dev) for p in params_from_torch["main"]]
+data = tvm.runtime.tensor(raw_data, dev)
+gpu_params = [tvm.runtime.tensor(p, dev) for p in params_from_torch["main"]]
 gpu_out = vm["main"](data, *gpu_params).numpy()
 print(gpu_out)
 
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 41814aa5f4..ee39c62eaa 100644
Binary files a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip and b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip differ
diff --git a/docs/_downloads/148819f3421b8d89b1723c3e15e3f19f/cross_compilation_and_rpc.ipynb b/docs/_downloads/148819f3421b8d89b1723c3e15e3f19f/cross_compilation_and_rpc.ipynb
index f9d3e996ca..9fe69a03d1 100644
--- a/docs/_downloads/148819f3421b8d89b1723c3e15e3f19f/cross_compilation_and_rpc.ipynb
+++ b/docs/_downloads/148819f3421b8d89b1723c3e15e3f19f/cross_compilation_and_rpc.ipynb
@@ -108,7 +108,7 @@
       },
       "outputs": [],
       "source": [
-        "remote.upload(path)\nfunc = remote.load_module(\"lib.tar\")\n\n# create arrays on the remote device\ndev = remote.cpu()\na = tvm.nd.array(np.random.uniform(size=1024).astype(A.dtype), dev)\nb = tvm.nd.array(np.zeros(1024, dtype=A.dtype), dev)\n# the function will run on the remote device\nfunc(a, b)\nnp.testing.assert_equal(b.numpy(), a.numpy() + 1)"
+        "remote.upload(path)\nfunc = remote.load_module(\"lib.tar\")\n\n# create arrays on the remote device\ndev = remote.cpu()\na = tvm.runtime.tensor(np.random.uniform(size=1024).astype(A.dtype), dev)\nb = tvm.runtime.tensor(np.zeros(1024, dtype=A.dtype), dev)\n# the function will run on the remote device\nfunc(a, b)\nnp.testing.assert_equal(b.numpy(), a.numpy() + 1)"
       ]
     },
     {
@@ -144,7 +144,7 @@
       },
       "outputs": [],
       "source": [
-        "def run_opencl():\n    # NOTE: This is the setting for my rk3399 board. You need to modify\n    # them according to your environment.\n    opencl_device_host = \"10.77.1.145\"\n    opencl_device_port = 9090\n    target = tvm.target.Target(\"opencl\", host=\"llvm -mtriple=aarch64-linux-gnu\")\n\n    # create schedule for the above \"add one\" compute declaration\n    mod = tvm.IRModule.from_expr(te.create_prim_func([A, B]))\n    sch = tvm.tir.Schedule(mod)\n    (x,) = sch.get_loo [...]
+        "def run_opencl():\n    # NOTE: This is the setting for my rk3399 board. You need to modify\n    # them according to your environment.\n    opencl_device_host = \"10.77.1.145\"\n    opencl_device_port = 9090\n    target = tvm.target.Target(\"opencl\", host=\"llvm -mtriple=aarch64-linux-gnu\")\n\n    # create schedule for the above \"add one\" compute declaration\n    mod = tvm.IRModule.from_expr(te.create_prim_func([A, B]))\n    sch = tvm.tir.Schedule(mod)\n    (x,) = sch.get_loo [...]
       ]
     },
     {
diff --git a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip
index edffed2f72..8edca74adb 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/317a8cc53139718b9a36a16ba052e44b/e2e_opt_model.ipynb b/docs/_downloads/317a8cc53139718b9a36a16ba052e44b/e2e_opt_model.ipynb
index 249346fd3a..e63b999590 100644
--- a/docs/_downloads/317a8cc53139718b9a36a16ba052e44b/e2e_opt_model.ipynb
+++ b/docs/_downloads/317a8cc53139718b9a36a16ba052e44b/e2e_opt_model.ipynb
@@ -94,7 +94,7 @@
       },
       "outputs": [],
       "source": [
-        "if not IS_IN_CI:\n    ex = tvm.compile(mod, target=\"cuda\")\n    dev = tvm.device(\"cuda\", 0)\n    vm = relax.VirtualMachine(ex, dev)\n    # Need to allocate data and params on GPU device\n    gpu_data = tvm.nd.array(np.random.rand(1, 3, 224, 224).astype(\"float32\"), dev)\n    gpu_params = [tvm.nd.array(p, dev) for p in params[\"main\"]]\n    gpu_out = vm[\"main\"](gpu_data, *gpu_params).numpy()\n\n    print(gpu_out.shape)"
+        "if not IS_IN_CI:\n    ex = tvm.compile(mod, target=\"cuda\")\n    dev = tvm.device(\"cuda\", 0)\n    vm = relax.VirtualMachine(ex, dev)\n    # Need to allocate data and params on GPU device\n    gpu_data = tvm.runtime.tensor(np.random.rand(1, 3, 224, 224).astype(\"float32\"), dev)\n    gpu_params = [tvm.runtime.tensor(p, dev) for p in params[\"main\"]]\n    gpu_out = vm[\"main\"](gpu_data, *gpu_params).numpy()\n\n    print(gpu_out.shape)"
       ]
     }
   ],
diff --git a/docs/_downloads/335201bfd37b29f9d9fd7765217e7ba9/tir_transformation.py b/docs/_downloads/335201bfd37b29f9d9fd7765217e7ba9/tir_transformation.py
index 702b53011b..eb1b2eb020 100644
--- a/docs/_downloads/335201bfd37b29f9d9fd7765217e7ba9/tir_transformation.py
+++ b/docs/_downloads/335201bfd37b29f9d9fd7765217e7ba9/tir_transformation.py
@@ -72,9 +72,9 @@ a_np = np.random.uniform(size=(128, 128)).astype("float32")
 b_np = np.random.uniform(size=(128, 128)).astype("float32")
 c_np = a_np @ b_np
 
-a_nd = tvm.nd.array(a_np)
-b_nd = tvm.nd.array(b_np)
-c_nd = tvm.nd.array(np.zeros((128, 128), dtype="float32"))
+a_nd = tvm.runtime.tensor(a_np)
+b_nd = tvm.runtime.tensor(b_np)
+c_nd = tvm.runtime.tensor(np.zeros((128, 128), dtype="float32"))
 
 
 def evaluate(mod: tvm.IRModule):
diff --git a/docs/_downloads/3cbcc56110528f886a987b8b251e7c88/cross_compilation_and_rpc.py b/docs/_downloads/3cbcc56110528f886a987b8b251e7c88/cross_compilation_and_rpc.py
index a6b7206b3e..b142eaa549 100644
--- a/docs/_downloads/3cbcc56110528f886a987b8b251e7c88/cross_compilation_and_rpc.py
+++ b/docs/_downloads/3cbcc56110528f886a987b8b251e7c88/cross_compilation_and_rpc.py
@@ -182,8 +182,8 @@ func = remote.load_module("lib.tar")
 
 # create arrays on the remote device
 dev = remote.cpu()
-a = tvm.nd.array(np.random.uniform(size=1024).astype(A.dtype), dev)
-b = tvm.nd.array(np.zeros(1024, dtype=A.dtype), dev)
+a = tvm.runtime.tensor(np.random.uniform(size=1024).astype(A.dtype), dev)
+b = tvm.runtime.tensor(np.zeros(1024, dtype=A.dtype), dev)
 # the function will run on the remote device
 func(a, b)
 np.testing.assert_equal(b.numpy(), a.numpy() + 1)
@@ -249,8 +249,8 @@ def run_opencl():
 
     # run
     dev = remote.cl()
-    a = tvm.nd.array(np.random.uniform(size=1024).astype(A.dtype), dev)
-    b = tvm.nd.array(np.zeros(1024, dtype=A.dtype), dev)
+    a = tvm.runtime.tensor(np.random.uniform(size=1024).astype(A.dtype), dev)
+    b = tvm.runtime.tensor(np.zeros(1024, dtype=A.dtype), dev)
     func(a, b)
     np.testing.assert_equal(b.numpy(), a.numpy() + 1)
     print("OpenCL test passed!")
diff --git a/docs/_downloads/42304b518561422fdab8c7d8ee640a55/customize_opt.py b/docs/_downloads/42304b518561422fdab8c7d8ee640a55/customize_opt.py
index d215654019..2e2747d61f 100644
--- a/docs/_downloads/42304b518561422fdab8c7d8ee640a55/customize_opt.py
+++ b/docs/_downloads/42304b518561422fdab8c7d8ee640a55/customize_opt.py
@@ -209,8 +209,8 @@ ex = tvm.compile(mod, target="cuda")
 dev = tvm.device("cuda", 0)
 vm = relax.VirtualMachine(ex, dev)
 # Need to allocate data and params on GPU device
-data = tvm.nd.array(np.random.rand(*input_shape).astype("float32"), dev)
-gpu_params = [tvm.nd.array(np.random.rand(*p.shape).astype(p.dtype), dev) for _, p in params]
+data = tvm.runtime.tensor(np.random.rand(*input_shape).astype("float32"), dev)
+gpu_params = [tvm.runtime.tensor(np.random.rand(*p.shape).astype(p.dtype), dev) for _, p in params]
 gpu_out = vm["forward"](data, *gpu_params).numpy()
 print(gpu_out)
 
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index acbe4a802a..dc2525159f 100644
Binary files a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip and b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip differ
diff --git a/docs/_downloads/69cc67b95e2c6b258f6dc9c7367fe71e/tir_creation.py b/docs/_downloads/69cc67b95e2c6b258f6dc9c7367fe71e/tir_creation.py
index 3d07f6227b..74b4406061 100644
--- a/docs/_downloads/69cc67b95e2c6b258f6dc9c7367fe71e/tir_creation.py
+++ b/docs/_downloads/69cc67b95e2c6b258f6dc9c7367fe71e/tir_creation.py
@@ -204,9 +204,9 @@ class DynamicShapeModule:
 
 
 def evaluate_dynamic_shape(lib: tvm.runtime.Module, m: int, n: int, k: int):
-    A = tvm.nd.array(np.random.uniform(size=(m, k)).astype("float32"))
-    B = tvm.nd.array(np.random.uniform(size=(k, n)).astype("float32"))
-    C = tvm.nd.array(np.zeros((m, n), dtype="float32"))
+    A = tvm.runtime.tensor(np.random.uniform(size=(m, k)).astype("float32"))
+    B = tvm.runtime.tensor(np.random.uniform(size=(k, n)).astype("float32"))
+    C = tvm.runtime.tensor(np.zeros((m, n), dtype="float32"))
     lib(A, B, C)
     return C.numpy()
 
diff --git a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip
index 95f20528f4..3a6fc84270 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 7dbad94ad7..3e27548143 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/a4f940a6740cf66055ca729bf25bfbaa/e2e_opt_model.py b/docs/_downloads/a4f940a6740cf66055ca729bf25bfbaa/e2e_opt_model.py
index 88cc86bfa8..9f89e744a3 100644
--- a/docs/_downloads/a4f940a6740cf66055ca729bf25bfbaa/e2e_opt_model.py
+++ b/docs/_downloads/a4f940a6740cf66055ca729bf25bfbaa/e2e_opt_model.py
@@ -117,8 +117,8 @@ if not IS_IN_CI:
     dev = tvm.device("cuda", 0)
     vm = relax.VirtualMachine(ex, dev)
     # Need to allocate data and params on GPU device
-    gpu_data = tvm.nd.array(np.random.rand(1, 3, 224, 224).astype("float32"), dev)
-    gpu_params = [tvm.nd.array(p, dev) for p in params["main"]]
+    gpu_data = tvm.runtime.tensor(np.random.rand(1, 3, 224, 224).astype("float32"), dev)
+    gpu_params = [tvm.runtime.tensor(p, dev) for p in params["main"]]
     gpu_out = vm["main"](gpu_data, *gpu_params).numpy()
 
     print(gpu_out.shape)
diff --git a/docs/_downloads/a6d7947451d373bc811080cffa18dc7c/ir_module.ipynb b/docs/_downloads/a6d7947451d373bc811080cffa18dc7c/ir_module.ipynb
index 893054d368..30041e4e11 100644
--- a/docs/_downloads/a6d7947451d373bc811080cffa18dc7c/ir_module.ipynb
+++ b/docs/_downloads/a6d7947451d373bc811080cffa18dc7c/ir_module.ipynb
@@ -213,7 +213,7 @@
       },
       "outputs": [],
       "source": [
-        "exec = tvm.compile(mod, target=\"llvm\")\ndev = tvm.cpu()\nvm = relax.VirtualMachine(exec, dev)\n\nraw_data = np.random.rand(1, 784).astype(\"float32\")\ndata = tvm.nd.array(raw_data, dev)\ncpu_out = vm[\"main\"](data, *params_from_torch[\"main\"]).numpy()\nprint(cpu_out)"
+        "exec = tvm.compile(mod, target=\"llvm\")\ndev = tvm.cpu()\nvm = relax.VirtualMachine(exec, dev)\n\nraw_data = np.random.rand(1, 784).astype(\"float32\")\ndata = tvm.runtime.tensor(raw_data, dev)\ncpu_out = vm[\"main\"](data, *params_from_torch[\"main\"]).numpy()\nprint(cpu_out)"
       ]
     },
     {
@@ -249,7 +249,7 @@
       },
       "outputs": [],
       "source": [
-        "exec = tvm.compile(gpu_mod, target=\"cuda\")\ndev = tvm.device(\"cuda\", 0)\nvm = relax.VirtualMachine(exec, dev)\n# Need to allocate data and params on GPU device\ndata = tvm.nd.array(raw_data, dev)\ngpu_params = [tvm.nd.array(p, dev) for p in params_from_torch[\"main\"]]\ngpu_out = vm[\"main\"](data, *gpu_params).numpy()\nprint(gpu_out)\n\n# Check the correctness of the results\nassert np.allclose(cpu_out, gpu_out, atol=1e-3)"
+        "exec = tvm.compile(gpu_mod, target=\"cuda\")\ndev = tvm.device(\"cuda\", 0)\nvm = relax.VirtualMachine(exec, dev)\n# Need to allocate data and params on GPU device\ndata = tvm.runtime.tensor(raw_data, dev)\ngpu_params = [tvm.runtime.tensor(p, dev) for p in params_from_torch[\"main\"]]\ngpu_out = vm[\"main\"](data, *gpu_params).numpy()\nprint(gpu_out)\n\n# Check the correctness of the results\nassert np.allclose(cpu_out, gpu_out, atol=1e-3)"
       ]
     },
     {
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index ba9263d344..f8c6c93dab 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/ab03cb35cd7f92b5425a8974fcab921a/optimize_llm.ipynb b/docs/_downloads/ab03cb35cd7f92b5425a8974fcab921a/optimize_llm.ipynb
index 43e79a2d14..c5d966c898 100644
--- a/docs/_downloads/ab03cb35cd7f92b5425a8974fcab921a/optimize_llm.ipynb
+++ b/docs/_downloads/ab03cb35cd7f92b5425a8974fcab921a/optimize_llm.ipynb
@@ -184,7 +184,7 @@
       },
       "outputs": [],
       "source": [
-        "IS_IN_CI = os.getenv(\"CI\", \"\") == \"true\"\n\nHF_WEIGHT_PATH = None\n# HF_WEIGHT_PATH = Path(\"/path/to/TinyLlama-1.1B-Chat-v1.0/\")\n\nif not IS_IN_CI:\n    import numpy as np\n    import safetensors.torch\n    import torch\n\n    if HF_WEIGHT_PATH is None or not HF_WEIGHT_PATH.exists():\n        raise ValueError(\"Please set the HF_WEIGHT_PATH to the path of the pre-trained weights.\")\n\n    # Torch format weights\n    param_dict = safetensors.torch.load_file(HF_WEIGHT_PA [...]
+        "IS_IN_CI = os.getenv(\"CI\", \"\") == \"true\"\n\nHF_WEIGHT_PATH = None\n# HF_WEIGHT_PATH = Path(\"/path/to/TinyLlama-1.1B-Chat-v1.0/\")\n\nif not IS_IN_CI:\n    import numpy as np\n    import safetensors.torch\n    import torch\n\n    if HF_WEIGHT_PATH is None or not HF_WEIGHT_PATH.exists():\n        raise ValueError(\"Please set the HF_WEIGHT_PATH to the path of the pre-trained weights.\")\n\n    # Torch format weights\n    param_dict = safetensors.torch.load_file(HF_WEIGHT_PA [...]
       ]
     },
     {
@@ -209,7 +209,7 @@
       },
       "outputs": [],
       "source": [
-        "if not IS_IN_CI:\n    from transformers import AutoTokenizer\n\n    tokenizer = AutoTokenizer.from_pretrained(HF_WEIGHT_PATH)\n    messages = [\n        {\"role\": \"user\", \"content\": \"What's your name?\"},\n    ]\n    prompt = tokenizer.apply_chat_template(messages)\n    input_len = len(prompt)\n\n    # Load prompt tokens into TVM ndarray on the target device\n    tokens = tvm.nd.array(np.array(prompt).astype(\"int32\"), device=dev)"
+        "if not IS_IN_CI:\n    from transformers import AutoTokenizer\n\n    tokenizer = AutoTokenizer.from_pretrained(HF_WEIGHT_PATH)\n    messages = [\n        {\"role\": \"user\", \"content\": \"What's your name?\"},\n    ]\n    prompt = tokenizer.apply_chat_template(messages)\n    input_len = len(prompt)\n\n    # Load prompt tokens into TVM ndarray on the target device\n    tokens = tvm.runtime.tensor(np.array(prompt).astype(\"int32\"), device=dev)"
       ]
     },
     {
@@ -317,7 +317,7 @@
       },
       "outputs": [],
       "source": [
-        "if not IS_IN_CI:\n    print(\"The generated token:\")\n\n    while last_token != tokenizer.eos_token_id:\n        tokens = tvm.nd.array(np.array([last_token]).astype(\"int32\"), device=dev)\n        hidden_states = embed(tokens, params)\n        begin_forward_func(kv_cache, ShapeTuple([seq_id]), ShapeTuple([1]))\n        logits, kv_cache = vm[\"decode\"](hidden_states, kv_cache, params)\n\n        end_forward_func(kv_cache)\n        last_token = sample_token(logits)\n        out [...]
+        "if not IS_IN_CI:\n    print(\"The generated token:\")\n\n    while last_token != tokenizer.eos_token_id:\n        tokens = tvm.runtime.tensor(np.array([last_token]).astype(\"int32\"), device=dev)\n        hidden_states = embed(tokens, params)\n        begin_forward_func(kv_cache, ShapeTuple([seq_id]), ShapeTuple([1]))\n        logits, kv_cache = vm[\"decode\"](hidden_states, kv_cache, params)\n\n        end_forward_func(kv_cache)\n        last_token = sample_token(logits)\n      [...]
       ]
     }
   ],
diff --git a/docs/_downloads/baf675793174f2e9b3d5da483e35ef27/quick_start.py b/docs/_downloads/baf675793174f2e9b3d5da483e35ef27/quick_start.py
index 1153108c96..753acbf0a4 100644
--- a/docs/_downloads/baf675793174f2e9b3d5da483e35ef27/quick_start.py
+++ b/docs/_downloads/baf675793174f2e9b3d5da483e35ef27/quick_start.py
@@ -141,9 +141,9 @@ ex = tvm.compile(mod, target)
 device = tvm.cpu()
 vm = relax.VirtualMachine(ex, device)
 data = np.random.rand(1, 784).astype("float32")
-tvm_data = tvm.nd.array(data, device=device)
+tvm_data = tvm.runtime.tensor(data, device=device)
 params = [np.random.rand(*param.shape).astype("float32") for _, param in param_spec]
-params = [tvm.nd.array(param, device=device) for param in params]
+params = [tvm.runtime.tensor(param, device=device) for param in params]
 print(vm["forward"](tvm_data, *params).numpy())
 
 ################################################################################
@@ -158,14 +158,14 @@ print(vm["forward"](tvm_data, *params).numpy())
 #       prefill_logits = vm["prefill"](inputs, weight, kv_cache)
 #       decoded_logits = vm["decode"](inputs, weight, kv_cache)
 #
-# - TVM runtime comes with native data structures, such as NDArray, can also have zero
+# - TVM runtime comes with native data structures, such as Tensor, can also have zero
 #   copy exchange with existing ecosystem (DLPack exchange with PyTorch)
 #
 #   .. code-block:: Python
 #
-#       # Convert PyTorch tensor to TVM NDArray
-#       x_tvm = tvm.nd.from_dlpack(x_torch.to_dlpack())
-#       # Convert TVM NDArray to PyTorch tensor
+#       # Convert PyTorch tensor to TVM Tensor
+#       x_tvm = tvm.runtime.from_dlpack(x_torch.to_dlpack())
+#       # Convert TVM Tensor to PyTorch tensor
 #       x_torch = torch.from_dlpack(x_tvm.to_dlpack())
 #
 # - TVM runtime works in non-python environments, so it works on settings such as mobile
@@ -175,14 +175,14 @@ print(vm["forward"](tvm_data, *params).numpy())
 #       // C++ snippet
 #       runtime::Module vm = ex.GetFunction("load_executable")();
 #       vm.GetFunction("init")(...);
-#       NDArray out = vm.GetFunction("prefill")(data, weight, kv_cache);
+#       Tensor out = vm.GetFunction("prefill")(data, weight, kv_cache);
 #
 #   .. code-block:: Java
 #
 #       // Java snippet
 #       Module vm = ex.getFunction("load_executable").invoke();
 #       vm.getFunction("init").pushArg(...).invoke;
-#       NDArray out = vm.getFunction("prefill").pushArg(data).pushArg(weight).pushArg(kv_cache).invoke();
+#       Tensor out = vm.getFunction("prefill").pushArg(data).pushArg(weight).pushArg(kv_cache).invoke();
 #
 
 ################################################################################
diff --git a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip
index e5df483794..58b1378565 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index fc8b152a71..1da09d3bb0 100644
Binary files a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip and b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip differ
diff --git a/docs/_downloads/c43b2ae5210f95ce8dae6102e9b060fd/tir_creation.ipynb b/docs/_downloads/c43b2ae5210f95ce8dae6102e9b060fd/tir_creation.ipynb
index e369d76e66..3e17fc9cb2 100644
--- a/docs/_downloads/c43b2ae5210f95ce8dae6102e9b060fd/tir_creation.ipynb
+++ b/docs/_downloads/c43b2ae5210f95ce8dae6102e9b060fd/tir_creation.ipynb
@@ -141,7 +141,7 @@
       },
       "outputs": [],
       "source": [
-        "def evaluate_dynamic_shape(lib: tvm.runtime.Module, m: int, n: int, k: int):\n    A = tvm.nd.array(np.random.uniform(size=(m, k)).astype(\"float32\"))\n    B = tvm.nd.array(np.random.uniform(size=(k, n)).astype(\"float32\"))\n    C = tvm.nd.array(np.zeros((m, n), dtype=\"float32\"))\n    lib(A, B, C)\n    return C.numpy()\n\n\n# Compile lib only once\ndyn_shape_lib = tvm.compile(DynamicShapeModule, target=\"llvm\")\n# Able to handle different shapes\nprint(evaluate_dynamic_shape [...]
+        "def evaluate_dynamic_shape(lib: tvm.runtime.Module, m: int, n: int, k: int):\n    A = tvm.runtime.tensor(np.random.uniform(size=(m, k)).astype(\"float32\"))\n    B = tvm.runtime.tensor(np.random.uniform(size=(k, n)).astype(\"float32\"))\n    C = tvm.runtime.tensor(np.zeros((m, n), dtype=\"float32\"))\n    lib(A, B, C)\n    return C.numpy()\n\n\n# Compile lib only once\ndyn_shape_lib = tvm.compile(DynamicShapeModule, target=\"llvm\")\n# Able to handle different shapes\nprint(eval [...]
       ]
     },
     {
diff --git a/docs/_downloads/d64d105c8921b2ab908ef001ab382b45/customize_opt.ipynb b/docs/_downloads/d64d105c8921b2ab908ef001ab382b45/customize_opt.ipynb
index 22c7634656..37bbbb6723 100644
--- a/docs/_downloads/d64d105c8921b2ab908ef001ab382b45/customize_opt.ipynb
+++ b/docs/_downloads/d64d105c8921b2ab908ef001ab382b45/customize_opt.ipynb
@@ -144,7 +144,7 @@
       },
       "outputs": [],
       "source": [
-        "ex = tvm.compile(mod, target=\"cuda\")\ndev = tvm.device(\"cuda\", 0)\nvm = relax.VirtualMachine(ex, dev)\n# Need to allocate data and params on GPU device\ndata = tvm.nd.array(np.random.rand(*input_shape).astype(\"float32\"), dev)\ngpu_params = [tvm.nd.array(np.random.rand(*p.shape).astype(p.dtype), dev) for _, p in params]\ngpu_out = vm[\"forward\"](data, *gpu_params).numpy()\nprint(gpu_out)"
+        "ex = tvm.compile(mod, target=\"cuda\")\ndev = tvm.device(\"cuda\", 0)\nvm = relax.VirtualMachine(ex, dev)\n# Need to allocate data and params on GPU device\ndata = tvm.runtime.tensor(np.random.rand(*input_shape).astype(\"float32\"), dev)\ngpu_params = [tvm.runtime.tensor(np.random.rand(*p.shape).astype(p.dtype), dev) for _, p in params]\ngpu_out = vm[\"forward\"](data, *gpu_params).numpy()\nprint(gpu_out)"
       ]
     },
     {
diff --git a/docs/_downloads/e2a9c4bfdec7a9365ef67c5335b1aaa4/tir_transformation.ipynb b/docs/_downloads/e2a9c4bfdec7a9365ef67c5335b1aaa4/tir_transformation.ipynb
index 946e3fe8e0..e59db4a2bf 100644
--- a/docs/_downloads/e2a9c4bfdec7a9365ef67c5335b1aaa4/tir_transformation.ipynb
+++ b/docs/_downloads/e2a9c4bfdec7a9365ef67c5335b1aaa4/tir_transformation.ipynb
@@ -51,7 +51,7 @@
       },
       "outputs": [],
       "source": [
-        "import numpy as np\n\na_np = np.random.uniform(size=(128, 128)).astype(\"float32\")\nb_np = np.random.uniform(size=(128, 128)).astype(\"float32\")\nc_np = a_np @ b_np\n\na_nd = tvm.nd.array(a_np)\nb_nd = tvm.nd.array(b_np)\nc_nd = tvm.nd.array(np.zeros((128, 128), dtype=\"float32\"))\n\n\ndef evaluate(mod: tvm.IRModule):\n    lib = tvm.tir.build(mod, target=\"llvm\")\n    # check correctness\n    lib(a_nd, b_nd, c_nd)\n    np.testing.assert_allclose(c_nd.numpy(), c_np, rtol=1e-5 [...]
+        "import numpy as np\n\na_np = np.random.uniform(size=(128, 128)).astype(\"float32\")\nb_np = np.random.uniform(size=(128, 128)).astype(\"float32\")\nc_np = a_np @ b_np\n\na_nd = tvm.runtime.tensor(a_np)\nb_nd = tvm.runtime.tensor(b_np)\nc_nd = tvm.runtime.tensor(np.zeros((128, 128), dtype=\"float32\"))\n\n\ndef evaluate(mod: tvm.IRModule):\n    lib = tvm.tir.build(mod, target=\"llvm\")\n    # check correctness\n    lib(a_nd, b_nd, c_nd)\n    np.testing.assert_allclose(c_nd.numpy( [...]
       ]
     },
     {
diff --git a/docs/_downloads/eceb05a9badb601d2def02240aa869e9/quick_start.ipynb b/docs/_downloads/eceb05a9badb601d2def02240aa869e9/quick_start.ipynb
index e7c5959b80..734a20588d 100644
--- a/docs/_downloads/eceb05a9badb601d2def02240aa869e9/quick_start.ipynb
+++ b/docs/_downloads/eceb05a9badb601d2def02240aa869e9/quick_start.ipynb
@@ -101,14 +101,14 @@
       },
       "outputs": [],
       "source": [
-        "import numpy as np\n\ntarget = tvm.target.Target(\"llvm\")\nex = tvm.compile(mod, target)\ndevice = tvm.cpu()\nvm = relax.VirtualMachine(ex, device)\ndata = np.random.rand(1, 784).astype(\"float32\")\ntvm_data = tvm.nd.array(data, device=device)\nparams = [np.random.rand(*param.shape).astype(\"float32\") for _, param in param_spec]\nparams = [tvm.nd.array(param, device=device) for param in params]\nprint(vm[\"forward\"](tvm_data, *params).numpy())"
+        "import numpy as np\n\ntarget = tvm.target.Target(\"llvm\")\nex = tvm.compile(mod, target)\ndevice = tvm.cpu()\nvm = relax.VirtualMachine(ex, device)\ndata = np.random.rand(1, 784).astype(\"float32\")\ntvm_data = tvm.runtime.tensor(data, device=device)\nparams = [np.random.rand(*param.shape).astype(\"float32\") for _, param in param_spec]\nparams = [tvm.runtime.tensor(param, device=device) for param in params]\nprint(vm[\"forward\"](tvm_data, *params).numpy())"
       ]
     },
     {
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "Our goal is to bring machine learning to the application with any language of interest,\nwith the minimum runtime support.\n\n- Each function in IRModule becomes a runnable function in the runtime. For example in LLM\n  cases, we can call ``prefill`` and ``decode`` functions directly.\n\n```Python\nprefill_logits = vm[\"prefill\"](inputs, weight, kv_cache)\ndecoded_logits = vm[\"decode\"](inputs, weight, kv_cache)\n```\n- TVM runtime comes with native data structures, such as ND [...]
+        "Our goal is to bring machine learning to the application with any language of interest,\nwith the minimum runtime support.\n\n- Each function in IRModule becomes a runnable function in the runtime. For example in LLM\n  cases, we can call ``prefill`` and ``decode`` functions directly.\n\n```Python\nprefill_logits = vm[\"prefill\"](inputs, weight, kv_cache)\ndecoded_logits = vm[\"decode\"](inputs, weight, kv_cache)\n```\n- TVM runtime comes with native data structures, such as Te [...]
       ]
     },
     {
diff --git a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip
index 49a847f100..f4fecc3fec 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 81f6b38cdd..e323169986 100644
Binary files a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip and b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip differ
diff --git a/docs/_downloads/fb98884d1e98b239c77e2b86f43d4ac2/optimize_llm.py b/docs/_downloads/fb98884d1e98b239c77e2b86f43d4ac2/optimize_llm.py
index 8cc674920d..0e82b05559 100644
--- a/docs/_downloads/fb98884d1e98b239c77e2b86f43d4ac2/optimize_llm.py
+++ b/docs/_downloads/fb98884d1e98b239c77e2b86f43d4ac2/optimize_llm.py
@@ -489,7 +489,7 @@ if not IS_IN_CI:
 
     # Convert params into ndarray
     params = [
-        tvm.nd.array(param_dict[k].astype("float16"), device=dev) for k in named_params.keys()
+        tvm.runtime.tensor(param_dict[k].astype("float16"), device=dev) for k in named_params.keys()
     ]
 
 
@@ -523,7 +523,7 @@ if not IS_IN_CI:
     input_len = len(prompt)
 
     # Load prompt tokens into TVM ndarray on the target device
-    tokens = tvm.nd.array(np.array(prompt).astype("int32"), device=dev)
+    tokens = tvm.runtime.tensor(np.array(prompt).astype("int32"), device=dev)
 
 ######################################################################
 # Create the KVCache
@@ -609,7 +609,7 @@ if not IS_IN_CI:
     print("The generated token:")
 
     while last_token != tokenizer.eos_token_id:
-        tokens = tvm.nd.array(np.array([last_token]).astype("int32"), device=dev)
+        tokens = tvm.runtime.tensor(np.array([last_token]).astype("int32"), device=dev)
         hidden_states = embed(tokens, params)
         begin_forward_func(kv_cache, ShapeTuple([seq_id]), ShapeTuple([1]))
         logits, kv_cache = vm["decode"](hidden_states, kv_cache, params)
diff --git a/docs/_sources/arch/index.rst.txt b/docs/_sources/arch/index.rst.txt
index 1acd38fb04..4985e91c0b 100644
--- a/docs/_sources/arch/index.rst.txt
+++ b/docs/_sources/arch/index.rst.txt
@@ -133,7 +133,7 @@ The main goal of TVM's runtime is to provide a minimal API for loading and execu
     import tvm
     # Example runtime execution program in python, with type annotated
     mod: tvm.runtime.Module = tvm.runtime.load_module("compiled_artifact.so")
-    arr: tvm.runtime.NDArray = tvm.nd.array([1, 2, 3], device=tvm.cuda(0))
+    arr: tvm.runtime.Tensor = tvm.runtime.tensor([1, 2, 3], device=tvm.cuda(0))
     fun: tvm.runtime.PackedFunc = mod["addone"]
     fun(arr)
     print(arr.numpy())
@@ -142,7 +142,7 @@ The main goal of TVM's runtime is to provide a minimal API for loading and execu
 :py:class:`tvm.runtime.Module` encapsulates the result of compilation. A runtime.Module contains a GetFunction method to obtain PackedFuncs by name.
 
 :py:class:`tvm.runtime.PackedFunc` is a type-erased function interface for both the generated functions. A runtime.PackedFunc can take arguments and return values with the
-following types: POD types(int, float), string, runtime.PackedFunc, runtime.Module, runtime.NDArray, and other sub-classes of runtime.Object.
+following types: POD types(int, float), string, runtime.PackedFunc, runtime.Module, runtime.Tensor, and other sub-classes of runtime.Object.
 
 :py:class:`tvm.runtime.Module` and :py:class:`tvm.runtime.PackedFunc` are powerful mechanisms to modularize the runtime. For example, to get the above `addone` function on CUDA, we can use LLVM to generate the host-side code to compute the launching parameters(e.g. size of the thread groups) and then call into another PackedFunc from a CUDAModule that is backed by the CUDA driver API. The same mechanism can be used for OpenCL kernels.
 
@@ -155,7 +155,7 @@ The above example only deals with a simple `addone` function. The code snippet b
    factory: tvm.runtime.Module = tvm.runtime.load_module("resnet18.so")
    # Create a stateful graph execution module for resnet18 on cuda(0)
    gmod: tvm.runtime.Module = factory["resnet18"](tvm.cuda(0))
-   data: tvm.runtime.NDArray = get_input_data()
+   data: tvm.runtime.Tensor = get_input_data()
    # set input
    gmod["set_input"](0, data)
    # execute the model
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 58cd4d95a1..fe2fb6c4c9 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.198** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.233** 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.121
+     - 00:00.149
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
-     - 00:00.076
+     - 00:00.084
      - 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 d5a07e2952..1b13070464 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.500** total execution time for 2 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.577** total execution time for 2 files **from deep_dive/tensor_ir/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
-     - 00:00.311
+     - 00:00.353
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
-     - 00:00.189
+     - 00:00.224
      - 0.0
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 f5ae3d7e5c..7dd6fc10a6 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
@@ -304,9 +304,9 @@ Now let's check the runtime dynamic shape inference:
 
 
     def evaluate_dynamic_shape(lib: tvm.runtime.Module, m: int, n: int, k: int):
-        A = tvm.nd.array(np.random.uniform(size=(m, k)).astype("float32"))
-        B = tvm.nd.array(np.random.uniform(size=(k, n)).astype("float32"))
-        C = tvm.nd.array(np.zeros((m, n), dtype="float32"))
+        A = tvm.runtime.tensor(np.random.uniform(size=(m, k)).astype("float32"))
+        B = tvm.runtime.tensor(np.random.uniform(size=(k, n)).astype("float32"))
+        C = tvm.runtime.tensor(np.zeros((m, n), dtype="float32"))
         lib(A, B, C)
         return C.numpy()
 
@@ -325,17 +325,17 @@ Now let's check the runtime dynamic shape inference:
 
  .. code-block:: none
 
-    [[0.6620587  0.38527575 0.52669114 0.19007955]
-     [0.8173982  0.9689574  1.67394    0.6241089 ]
-     [1.021216   0.5943705  0.91835314 0.21332136]
-     [0.9446099  1.0006393  1.4926908  0.58931535]]
-    [[28.566439 30.900723 33.940758 ... 30.41476  32.363663 29.522621]
-     [32.07449  34.690025 36.753742 ... 35.435654 36.573193 30.889528]
-     [30.61754  33.364944 34.565792 ... 30.96752  33.205338 29.402096]
+    [[1.1130311  1.1375782  1.7478633  0.75822973]
+     [1.2716627  0.8340998  1.5347583  0.4702139 ]
+     [1.2952837  1.4297214  1.7849457  0.8209437 ]
+     [1.059405   0.8055895  1.2804124  0.5178513 ]]
+    [[33.347946 31.280647 32.08257  ... 34.3747   32.47263  35.449577]
+     [32.38861  31.438011 30.97963  ... 31.581573 29.07629  32.26678 ]
+     [31.838501 31.957277 33.590572 ... 34.392742 34.057476 36.063854]
      ...
-     [28.941334 31.856556 33.07499  ... 31.79661  32.927162 27.932846]
-     [30.2527   35.422256 33.844425 ... 33.00932  35.034756 29.539103]
-     [29.812138 32.856354 33.673973 ... 31.394247 33.607193 30.779392]]
+     [33.35091  32.953514 36.373203 ... 33.398666 33.222862 35.39854 ]
+     [33.709038 31.811907 31.553864 ... 31.654907 31.487556 36.199783]
+     [30.343685 29.00066  29.522648 ... 28.015524 29.906738 31.44452 ]]
 
 
 
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 e1f416772d..432b852a71 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
@@ -96,9 +96,9 @@ original implementation.
     b_np = np.random.uniform(size=(128, 128)).astype("float32")
     c_np = a_np @ b_np
 
-    a_nd = tvm.nd.array(a_np)
-    b_nd = tvm.nd.array(b_np)
-    c_nd = tvm.nd.array(np.zeros((128, 128), dtype="float32"))
+    a_nd = tvm.runtime.tensor(a_np)
+    b_nd = tvm.runtime.tensor(b_np)
+    c_nd = tvm.runtime.tensor(np.zeros((128, 128), dtype="float32"))
 
 
     def evaluate(mod: tvm.IRModule):
@@ -123,7 +123,7 @@ original implementation.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       2.2318       2.2318       2.2318       2.2318       0.0000                  
+       2.3121       2.3121       2.3121       2.3121       0.0000                  
 
 
 
@@ -295,7 +295,7 @@ action involves reordering these two loops.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.8479       0.8479       0.8479       0.8479       0.0000                  
+       0.8682       0.8682       0.8682       0.8682       0.0000                  
 
 
 
@@ -423,7 +423,7 @@ from the reduction update via the **decompose_reduction** primitive.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.3188       0.3188       0.3188       0.3188       0.0000                  
+       0.3316       0.3316       0.3316       0.3316       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 85e9d5e967..92f68af19a 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst.txt
+++ b/docs/_sources/get_started/tutorials/ir_module.rst.txt
@@ -686,7 +686,7 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
     vm = relax.VirtualMachine(exec, dev)
 
     raw_data = np.random.rand(1, 784).astype("float32")
-    data = tvm.nd.array(raw_data, dev)
+    data = tvm.runtime.tensor(raw_data, dev)
     cpu_out = vm["main"](data, *params_from_torch["main"]).numpy()
     print(cpu_out)
 
@@ -698,8 +698,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
 
  .. code-block:: none
 
-    [[ 0.03640829  0.03212999 -0.17184496 -0.04892781 -0.01223419 -0.23245826
-       0.05115547  0.07258759 -0.01767325  0.12657765]]
+    [[-0.14978379 -0.19292057  0.0858646   0.00905413 -0.1950174  -0.21044648
+       0.1846346  -0.10540345  0.06520307  0.00750431]]
 
 
 
@@ -749,8 +749,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
     dev = tvm.device("cuda", 0)
     vm = relax.VirtualMachine(exec, dev)
     # Need to allocate data and params on GPU device
-    data = tvm.nd.array(raw_data, dev)
-    gpu_params = [tvm.nd.array(p, dev) for p in params_from_torch["main"]]
+    data = tvm.runtime.tensor(raw_data, dev)
+    gpu_params = [tvm.runtime.tensor(p, dev) for p in params_from_torch["main"]]
     gpu_out = vm["main"](data, *gpu_params).numpy()
     print(gpu_out)
 
@@ -765,8 +765,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
 
  .. code-block:: none
 
-    [[ 0.03640825  0.03212996 -0.17184488 -0.04892778 -0.0122342  -0.2324583
-       0.05115551  0.07258762 -0.01767325  0.12657762]]
+    [[-0.14978382 -0.19292054  0.08586458  0.00905415 -0.1950174  -0.2104465
+       0.18463454 -0.10540348  0.06520308  0.00750428]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst.txt b/docs/_sources/get_started/tutorials/quick_start.rst.txt
index 482b087677..97f2f4e3ac 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst.txt
+++ b/docs/_sources/get_started/tutorials/quick_start.rst.txt
@@ -217,9 +217,9 @@ different devices.
     device = tvm.cpu()
     vm = relax.VirtualMachine(ex, device)
     data = np.random.rand(1, 784).astype("float32")
-    tvm_data = tvm.nd.array(data, device=device)
+    tvm_data = tvm.runtime.tensor(data, device=device)
     params = [np.random.rand(*param.shape).astype("float32") for _, param in param_spec]
-    params = [tvm.nd.array(param, device=device) for param in params]
+    params = [tvm.runtime.tensor(param, device=device) for param in params]
     print(vm["forward"](tvm_data, *params).numpy())
 
 
@@ -230,8 +230,8 @@ different devices.
 
  .. code-block:: none
 
-    [[26022.896 26244.68  24152.863 24820.54  26495.053 24478.637 24778.158
-      24306.443 26635.44  24161.25 ]]
+    [[26479.828 26039.79  23647.625 25936.371 24782.043 27142.6   25999.883
+      24527.857 26222.635 23797.988]]
 
 
 
@@ -249,14 +249,14 @@ with the minimum runtime support.
       prefill_logits = vm["prefill"](inputs, weight, kv_cache)
       decoded_logits = vm["decode"](inputs, weight, kv_cache)
 
-- TVM runtime comes with native data structures, such as NDArray, can also have zero
+- TVM runtime comes with native data structures, such as Tensor, can also have zero
   copy exchange with existing ecosystem (DLPack exchange with PyTorch)
 
   .. code-block:: Python
 
-      # Convert PyTorch tensor to TVM NDArray
-      x_tvm = tvm.nd.from_dlpack(x_torch.to_dlpack())
-      # Convert TVM NDArray to PyTorch tensor
+      # Convert PyTorch tensor to TVM Tensor
+      x_tvm = tvm.runtime.from_dlpack(x_torch.to_dlpack())
+      # Convert TVM Tensor to PyTorch tensor
       x_torch = torch.from_dlpack(x_tvm.to_dlpack())
 
 - TVM runtime works in non-python environments, so it works on settings such as mobile
@@ -266,14 +266,14 @@ with the minimum runtime support.
       // C++ snippet
       runtime::Module vm = ex.GetFunction("load_executable")();
       vm.GetFunction("init")(...);
-      NDArray out = vm.GetFunction("prefill")(data, weight, kv_cache);
+      Tensor out = vm.GetFunction("prefill")(data, weight, kv_cache);
 
   .. code-block:: Java
 
       // Java snippet
       Module vm = ex.getFunction("load_executable").invoke();
       vm.getFunction("init").pushArg(...).invoke;
-      NDArray out = vm.getFunction("prefill").pushArg(data).pushArg(weight).pushArg(kv_cache).invoke();
+      Tensor out = vm.getFunction("prefill").pushArg(data).pushArg(weight).pushArg(kv_cache).invoke();
 
 
 .. GENERATED FROM PYTHON SOURCE LINES 189-194
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 2596a6a61b..1721b2a91f 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:09.892** total execution time for 2 files **from get_started/tutorials**:
+**00:10.492** 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:09.702
+     - 00:10.282
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
-     - 00:00.191
+     - 00:00.210
      - 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 3f2b5bd96c..db89d30b31 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
@@ -236,8 +236,8 @@ compiler to relink them. Now `func` is a remote module object.
 
     # create arrays on the remote device
     dev = remote.cpu()
-    a = tvm.nd.array(np.random.uniform(size=1024).astype(A.dtype), dev)
-    b = tvm.nd.array(np.zeros(1024, dtype=A.dtype), dev)
+    a = tvm.runtime.tensor(np.random.uniform(size=1024).astype(A.dtype), dev)
+    b = tvm.runtime.tensor(np.zeros(1024, dtype=A.dtype), dev)
     # the function will run on the remote device
     func(a, b)
     np.testing.assert_equal(b.numpy(), a.numpy() + 1)
@@ -274,7 +274,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.312e-07 secs/op
+    1.266e-07 secs/op
 
 
 
@@ -335,8 +335,8 @@ The following function shows how we run an OpenCL kernel remotely
 
         # run
         dev = remote.cl()
-        a = tvm.nd.array(np.random.uniform(size=1024).astype(A.dtype), dev)
-        b = tvm.nd.array(np.zeros(1024, dtype=A.dtype), dev)
+        a = tvm.runtime.tensor(np.random.uniform(size=1024).astype(A.dtype), dev)
+        b = tvm.runtime.tensor(np.zeros(1024, dtype=A.dtype), dev)
         func(a, b)
         np.testing.assert_equal(b.numpy(), a.numpy() + 1)
         print("OpenCL test passed!")
diff --git a/docs/_sources/how_to/tutorials/customize_opt.rst.txt b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
index 1310929881..c4437ceab2 100644
--- a/docs/_sources/how_to/tutorials/customize_opt.rst.txt
+++ b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
@@ -406,8 +406,8 @@ We can build and deploy the optimized model to the TVM runtime.
     dev = tvm.device("cuda", 0)
     vm = relax.VirtualMachine(ex, dev)
     # Need to allocate data and params on GPU device
-    data = tvm.nd.array(np.random.rand(*input_shape).astype("float32"), dev)
-    gpu_params = [tvm.nd.array(np.random.rand(*p.shape).astype(p.dtype), dev) for _, p in params]
+    data = tvm.runtime.tensor(np.random.rand(*input_shape).astype("float32"), dev)
+    gpu_params = [tvm.runtime.tensor(np.random.rand(*p.shape).astype(p.dtype), dev) for _, p in params]
     gpu_out = vm["forward"](data, *gpu_params).numpy()
     print(gpu_out)
 
@@ -420,8 +420,8 @@ We can build and deploy the optimized model to the TVM runtime.
 
  .. code-block:: none
 
-    [[25253.564 24543.11  24946.188 25805.08  24778.307 23200.174 24536.75
-      22535.084 26200.426 25036.566]]
+    [[25785.705 25119.93  24851.2   25504.371 25296.812 24508.645 25490.615
+      25987.39  26281.7   27258.93 ]]
 
 
 
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 dc24c23a1f..c33c4bffd9 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
@@ -59,7 +59,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]      39%|███▊      | 17.2M/44.7M [00:00<00:00, 180MB/s]      91%|█████████ | 40.8M/44.7M [00:00<00:00, 219MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 215MB/s]
+       0%|          | 0.00/44.7M [00:00<?, ?B/s]      28%|██▊       | 12.5M/44.7M [00:00<00:00, 131MB/s]      72%|███████▏  | 32.2M/44.7M [00:00<00:00, 175MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 179MB/s]
 
 
 
@@ -174,8 +174,8 @@ We skip this step in the CI environment.
         dev = tvm.device("cuda", 0)
         vm = relax.VirtualMachine(ex, dev)
         # Need to allocate data and params on GPU device
-        gpu_data = tvm.nd.array(np.random.rand(1, 3, 224, 224).astype("float32"), dev)
-        gpu_params = [tvm.nd.array(p, dev) for p in params["main"]]
+        gpu_data = tvm.runtime.tensor(np.random.rand(1, 3, 224, 224).astype("float32"), dev)
+        gpu_params = [tvm.runtime.tensor(p, dev) for p in params["main"]]
         gpu_out = vm["main"](gpu_data, *gpu_params).numpy()
 
         print(gpu_out.shape)
diff --git a/docs/_sources/how_to/tutorials/optimize_llm.rst.txt b/docs/_sources/how_to/tutorials/optimize_llm.rst.txt
index 28f101414f..4a27bb7763 100644
--- a/docs/_sources/how_to/tutorials/optimize_llm.rst.txt
+++ b/docs/_sources/how_to/tutorials/optimize_llm.rst.txt
@@ -634,7 +634,7 @@ and prepare the model parameters.
 
         # Convert params into ndarray
         params = [
-            tvm.nd.array(param_dict[k].astype("float16"), device=dev) for k in named_params.keys()
+            tvm.runtime.tensor(param_dict[k].astype("float16"), device=dev) for k in named_params.keys()
         ]
 
 
@@ -681,7 +681,7 @@ the model documentation for the correct tokenization and prompt format.
         input_len = len(prompt)
 
         # Load prompt tokens into TVM ndarray on the target device
-        tokens = tvm.nd.array(np.array(prompt).astype("int32"), device=dev)
+        tokens = tvm.runtime.tensor(np.array(prompt).astype("int32"), device=dev)
 
 
 
@@ -845,7 +845,7 @@ IRModule to generate the token.
         print("The generated token:")
 
         while last_token != tokenizer.eos_token_id:
-            tokens = tvm.nd.array(np.array([last_token]).astype("int32"), device=dev)
+            tokens = tvm.runtime.tensor(np.array([last_token]).astype("int32"), device=dev)
             hidden_states = embed(tokens, params)
             begin_forward_func(kv_cache, ShapeTuple([seq_id]), ShapeTuple([1]))
             logits, kv_cache = vm["decode"](hidden_states, kv_cache, params)
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 41b4ee2ba5..20c23cb767 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:39.605** total execution time for 4 files **from how_to/tutorials**:
+**01:01.296** total execution time for 4 files **from how_to/tutorials**:
 
 .. container::
 
@@ -33,14 +33,14 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
-     - 00:37.964
+     - 00:59.521
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
-     - 00:00.728
+     - 00:00.804
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
-     - 00:00.685
+     - 00:00.718
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-     - 00:00.228
+     - 00:00.252
      - 0.0
diff --git a/docs/_sources/reference/api/python/index.rst.txt b/docs/_sources/reference/api/python/index.rst.txt
index a233c69a01..c63784781c 100644
--- a/docs/_sources/reference/api/python/index.rst.txt
+++ b/docs/_sources/reference/api/python/index.rst.txt
@@ -34,7 +34,6 @@ Python API
     :caption: tvm.runtime
 
     runtime/runtime
-    runtime/ndarray
     runtime/vm
     runtime/disco
     runtime/profiling
diff --git a/docs/_sources/reference/api/python/runtime/ndarray.rst.txt b/docs/_sources/reference/api/python/runtime/ndarray.rst.txt
deleted file mode 100644
index 8c794f04b1..0000000000
--- a/docs/_sources/reference/api/python/runtime/ndarray.rst.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-..  Licensed to the Apache Software Foundation (ASF) under one
-    or more contributor license agreements.  See the NOTICE file
-    distributed with this work for additional information
-    regarding copyright ownership.  The ASF licenses this file
-    to you under the Apache License, Version 2.0 (the
-    "License"); you may not use this file except in compliance
-    with the License.  You may obtain a copy of the License at
-
-..    http://www.apache.org/licenses/LICENSE-2.0
-
-..  Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
-
-tvm.runtime.ndarray
--------------------
-.. automodule:: tvm.runtime.ndarray
-    :members:
diff --git a/docs/_sources/reference/api/python/runtime/runtime.rst.txt b/docs/_sources/reference/api/python/runtime/runtime.rst.txt
index 4dd9d96533..ae373080ae 100644
--- a/docs/_sources/reference/api/python/runtime/runtime.rst.txt
+++ b/docs/_sources/reference/api/python/runtime/runtime.rst.txt
@@ -19,4 +19,3 @@ tvm.runtime
 -----------
 .. automodule:: tvm.runtime
    :members:
-   :exclude-members: NDArray
diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt
index c16a45b544..bf26b7a423 100644
--- a/docs/_sources/sg_execution_times.rst.txt
+++ b/docs/_sources/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:50.194** total execution time for 10 files **from all galleries**:
+**01:12.598** total execution time for 10 files **from all galleries**:
 
 .. container::
 
@@ -33,32 +33,32 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
-     - 00:37.964
+     - 00:59.521
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
-     - 00:09.702
+     - 00:10.282
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
-     - 00:00.728
+     - 00:00.804
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
-     - 00:00.685
+     - 00:00.718
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
-     - 00:00.311
+     - 00:00.353
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
-     - 00:00.228
-     - 0.0
-   * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
-     - 00:00.191
+     - 00:00.252
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
-     - 00:00.189
+     - 00:00.224
+     - 0.0
+   * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
+     - 00:00.210
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
-     - 00:00.121
+     - 00:00.149
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
-     - 00:00.076
+     - 00:00.084
      - 0.0
diff --git a/docs/arch/index.html b/docs/arch/index.html
index d7db3eb827..f27fd8bb37 100644
--- a/docs/arch/index.html
+++ b/docs/arch/index.html
@@ -436,7 +436,7 @@ a target’s vector length would change the vectorization behavior.</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">tvm</span>
 <span class="c1"># Example runtime execution program in python, with type annotated</span>
 <span class="n">mod</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">Module</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">load_module</span><span class="p">(</span><span class="s2">&quot;compiled_artifact.so&quot;</span><span class="p">)</span>
-<span class="n">arr</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">NDArray</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><spa [...]
+<span class="n">arr</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">Tensor</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span [...]
 <span class="n">fun</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">PackedFunc</span> <span class="o">=</span> <span class="n">mod</span><span class="p">[</span><span class="s2">&quot;addone&quot;</span><span class="p">]</span>
 <span class="n">fun</span><span class="p">(</span><span class="n">arr</span><span class="p">)</span>
 <span class="nb">print</span><span class="p">(</span><span class="n">arr</span><span class="o">.</span><span class="n">numpy</span><span class="p">())</span>
@@ -444,7 +444,7 @@ a target’s vector length would change the vectorization behavior.</p>
 </div>
 <p><code class="xref py py-class docutils literal notranslate"><span class="pre">tvm.runtime.Module</span></code> encapsulates the result of compilation. A runtime.Module contains a GetFunction method to obtain PackedFuncs by name.</p>
 <p><code class="xref py py-class docutils literal notranslate"><span class="pre">tvm.runtime.PackedFunc</span></code> is a type-erased function interface for both the generated functions. A runtime.PackedFunc can take arguments and return values with the
-following types: POD types(int, float), string, runtime.PackedFunc, runtime.Module, runtime.NDArray, and other sub-classes of runtime.Object.</p>
+following types: POD types(int, float), string, runtime.PackedFunc, runtime.Module, runtime.Tensor, and other sub-classes of runtime.Object.</p>
 <p><code class="xref py py-class docutils literal notranslate"><span class="pre">tvm.runtime.Module</span></code> and <code class="xref py py-class docutils literal notranslate"><span class="pre">tvm.runtime.PackedFunc</span></code> are powerful mechanisms to modularize the runtime. For example, to get the above <cite>addone</cite> function on CUDA, we can use LLVM to generate the host-side code to compute the launching parameters(e.g. size of the thread groups) and then call into anothe [...]
 <p>The above example only deals with a simple <cite>addone</cite> function. The code snippet below gives an example of an end-to-end model execution using the same interface:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span><span class="w"> </span><span class="nn">tvm</span>
@@ -452,7 +452,7 @@ following types: POD types(int, float), string, runtime.PackedFunc, runtime.Modu
 <span class="n">factory</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">Module</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">load_module</span><span class="p">(</span><span class="s2">&quot;resnet18.so&quot;</span><span class="p">)</span>
 <span class="c1"># Create a stateful graph execution module for resnet18 on cuda(0)</span>
 <span class="n">gmod</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">Module</span> <span class="o">=</span> <span class="n">factory</span><span class="p">[</span><span class="s2">&quot;resnet18&quot;</span><span class="p">](</span><span class="n">tvm</span><span class="o">.</span><span class="n">cuda</span><span class="p">(</span><span class="mi">0</span><span class="p">))</span>
-<span class="n">data</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">NDArray</span> <span class="o">=</span> <span class="n">get_input_data</span><span class="p">()</span>
+<span class="n">data</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">Tensor</span> <span class="o">=</span> <span class="n">get_input_data</span><span class="p">()</span>
 <span class="c1"># set input</span>
 <span class="n">gmod</span><span class="p">[</span><span class="s2">&quot;set_input&quot;</span><span class="p">](</span><span class="mi">0</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span>
 <span class="c1"># execute the model</span>
diff --git a/docs/commit_hash b/docs/commit_hash
index 49d3729620..a3bf6483d4 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-d3a5811ba8940cee43a67c400f84868e1241262a
+3c36ce2ec63e6809294597c7f7a3bec90790b898
diff --git a/docs/deep_dive/relax/tutorials/relax_creation.html b/docs/deep_dive/relax/tutorials/relax_creation.html
index 480e7628f9..049af91697 100644
--- a/docs/deep_dive/relax/tutorials/relax_creation.html
+++ b/docs/deep_dive/relax/tutorials/relax_creation.html
@@ -191,22 +191,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../how_to/dev/index.html">Development Guides</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Deep Dive</span></p>
-<ul class="current">
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../arch/index.html">Design and Architecture</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../tensor_ir/index.html">TensorIR</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Relax</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="../abstraction.html">Graph Abstraction for ML Models</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../learning.html">Understand Relax Abstraction</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Relax Creation</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#create-relax-programs-using-tvmscript">Create Relax programs using TVMScript</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#create-relax-programs-using-nnmodule-api">Create Relax programs using NNModule API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#create-relax-programs-using-block-builder-api">Create Relax programs using Block Builder API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#summary">Summary</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="relax_transformation.html">Transformation</a></li>
-</ul>
-</li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Relax</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
 <ul>
diff --git a/docs/deep_dive/relax/tutorials/relax_transformation.html b/docs/deep_dive/relax/tutorials/relax_transformation.html
index e6c76a0897..a6c7e8bf6b 100644
--- a/docs/deep_dive/relax/tutorials/relax_transformation.html
+++ b/docs/deep_dive/relax/tutorials/relax_transformation.html
@@ -191,21 +191,10 @@
 <li class="toctree-l1"><a class="reference internal" href="../../../how_to/dev/index.html">Development Guides</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">Deep Dive</span></p>
-<ul class="current">
+<ul>
 <li class="toctree-l1"><a class="reference internal" href="../../../arch/index.html">Design and Architecture</a></li>
 <li class="toctree-l1"><a class="reference internal" href="../../tensor_ir/index.html">TensorIR</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Relax</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="../abstraction.html">Graph Abstraction for ML Models</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../learning.html">Understand Relax Abstraction</a></li>
-<li class="toctree-l2"><a class="reference internal" href="relax_creation.html">Relax Creation</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Transformation</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#apply-transformations">Apply transformations</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#custom-passes">Custom Passes</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#summary">Summary</a></li>
-</ul>
-</li>
-</ul>
-</li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Relax</a></li>
 </ul>
 <p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
 <ul>
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index dcb7489eef..9cb39c8508 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -293,7 +293,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.198</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.233</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" />
@@ -315,11 +315,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.121</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="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.076</p></td>
+<td><p>00:00.084</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 abdd51d979..9251a74439 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -293,7 +293,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.500</strong> total execution time for 2 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.577</strong> total execution time for 2 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" />
@@ -315,11 +315,11 @@ $(document).ready( function () {
 </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.311</p></td>
+<td><p>00:00.353</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.189</p></td>
+<td><p>00:00.224</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index 3e00d8bc2b..c42f894409 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -477,9 +477,9 @@ be used to ascertain the shape and data type of a TensorIR.</p>
 </div>
 <p>Now let’s check the runtime dynamic shape inference:</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span><span class="w"> </span><span class="nf">evaluate_dynamic_shape</span><span class="p">(</span><span class="n">lib</span><span class="p">:</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">Module</span><span class="p">,</span> <span class="n">m</span><span class="p">:</span> <span class="nb">int</span><spa [...]
-    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span>< [...]
-    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span>< [...]
-    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span>< [...]
+    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</ [...]
+    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</ [...]
+    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</ [...]
     <span class="n">lib</span><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">,</span> <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span>< [...]
     <span class="k">return</span> <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span><span class="o">.</span><span class="n">numpy</span></a><span class="p">()</span>
 
@@ -491,17 +491,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/tir/tir.html#tvm.tir.IterVar" title="tvm.tir.IterVar" class="sphx-glr-ba [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.6620587  0.38527575 0.52669114 0.19007955]
- [0.8173982  0.9689574  1.67394    0.6241089 ]
- [1.021216   0.5943705  0.91835314 0.21332136]
- [0.9446099  1.0006393  1.4926908  0.58931535]]
-[[28.566439 30.900723 33.940758 ... 30.41476  32.363663 29.522621]
- [32.07449  34.690025 36.753742 ... 35.435654 36.573193 30.889528]
- [30.61754  33.364944 34.565792 ... 30.96752  33.205338 29.402096]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[1.1130311  1.1375782  1.7478633  0.75822973]
+ [1.2716627  0.8340998  1.5347583  0.4702139 ]
+ [1.2952837  1.4297214  1.7849457  0.8209437 ]
+ [1.059405   0.8055895  1.2804124  0.5178513 ]]
+[[33.347946 31.280647 32.08257  ... 34.3747   32.47263  35.449577]
+ [32.38861  31.438011 30.97963  ... 31.581573 29.07629  32.26678 ]
+ [31.838501 31.957277 33.590572 ... 34.392742 34.057476 36.063854]
  ...
- [28.941334 31.856556 33.07499  ... 31.79661  32.927162 27.932846]
- [30.2527   35.422256 33.844425 ... 33.00932  35.034756 29.539103]
- [29.812138 32.856354 33.673973 ... 31.394247 33.607193 30.779392]]
+ [33.35091  32.953514 36.373203 ... 33.398666 33.222862 35.39854 ]
+ [33.709038 31.811907 31.553864 ... 31.654907 31.487556 36.199783]
+ [30.343685 29.00066  29.522648 ... 28.015524 29.906738 31.44452 ]]
 </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 81179f8150..1f7b573357 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -350,9 +350,9 @@ original implementation.</p>
 <span class="n">b_np</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">))</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;floa [...]
 <span class="n">c_np</span> <span class="o">=</span> <span class="n">a_np</span> <span class="o">@</span> <span class="n">b_np</span>
 
-<span class="n">a_nd</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">a_np</span><span class="p">)</span>
-<span class="n">b_nd</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">b_np</span><span class="p">)</span>
-<span class="n">c_nd</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float3 [...]
+<span class="n">a_nd</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">a_np</span><span class="p">)</span>
+<span class="n">b_nd</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">b_np</span><span class="p">)</span>
+<span class="n">c_nd</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot; [...]
 
 
 <span class="k">def</span><span class="w"> </span><span class="nf">evaluate</span><span class="p">(</span><span class="n">mod</span><span class="p">:</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Node" title="tvm.ir.Node" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">tvm</span><span class="o">.</span><span class="n">IRModule</span></a><span class="p">):</span>
@@ -370,7 +370,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.2318       2.2318       2.2318       2.2318       0.0000
+   2.3121       2.3121       2.3121       2.3121       0.0000
 </pre></div>
 </div>
 <section id="initialization-schedule">
@@ -466,7 +466,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.8479       0.8479       0.8479       0.8479       0.0000
+   0.8682       0.8682       0.8682       0.8682       0.0000
 </pre></div>
 </div>
 </section>
@@ -560,7 +560,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.3188       0.3188       0.3188       0.3188       0.0000
+   0.3316       0.3316       0.3316       0.3316       0.0000
 </pre></div>
 </div>
 </section>
diff --git a/docs/genindex.html b/docs/genindex.html
index 640b94cbd9..34b8853bf5 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -496,11 +496,11 @@
       <li><a href="reference/api/python/target.html#tvm.target.Target.arch">arch (tvm.target.Target property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.argmax">argmax() (in module tvm.relax.op)</a>
-</li>
-      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgmaxArgminAttrs">ArgmaxArgminAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgmaxArgminAttrs">ArgmaxArgminAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.argmin">argmin() (in module tvm.relax.op)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.argsort">argsort() (in module tvm.relax.op)</a>
@@ -510,8 +510,6 @@
       <li><a href="reference/api/python/target.html#tvm.target.arm_cpu">arm_cpu() (in module tvm.target)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Array">Array (class in tvm.ir)</a>
-</li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.array">array() (in module tvm.runtime.ndarray)</a>
 </li>
       <li><a href="reference/api/python/tir/schedule.html#tvm.tir.schedule.Trace.as_json">as_json() (tvm.tir.schedule.Trace method)</a>
 </li>
@@ -1085,14 +1083,14 @@
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.connect_tracker">connect_tracker() (in module tvm.rpc)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.const">const() (in module tvm.relax)</a>
 
       <ul>
         <li><a href="reference/api/python/te.html#tvm.te.const">(in module tvm.te)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.Constant">Constant (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.contains_impure_call">contains_impure_call() (in module tvm.relax.analysis)</a>
@@ -1198,12 +1196,8 @@
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.copy_from_worker_0">copy_from_worker_0() (tvm.runtime.disco.Session method)</a>
 </li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.copy_to_worker_0">copy_to_worker_0() (tvm.runtime.disco.Session method)</a>
-</li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.NDArray.copyfrom">copyfrom() (tvm.runtime.ndarray.NDArray method)</a>
 </li>
       <li><a href="reference/api/python/tir/tir.html#tvm.tir.copysign">copysign() (in module tvm.tir)</a>
-</li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.NDArray.copyto">copyto() (tvm.runtime.ndarray.NDArray method)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.correlation_nchw">correlation_nchw() (in module tvm.topi.nn)</a>
 </li>
@@ -1585,12 +1579,8 @@
 </li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit_te">emit_te() (tvm.relax.block_builder.BlockBuilder method)</a>
 </li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.empty">empty() (in module tvm.runtime.ndarray)</a>
-
-      <ul>
-        <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.empty">(tvm.runtime.disco.Session method)</a>
+      <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.empty">empty() (tvm.runtime.disco.Session method)</a>
 </li>
-      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.grad.end_checkpoint">end_checkpoint() (in module tvm.relax.op.grad)</a>
 </li>
       <li><a href="reference/api/python/tir/tir.html#tvm.tir.end_profile_intrinsic">end_profile_intrinsic() (in module tvm.tir)</a>
@@ -1633,10 +1623,10 @@
         <li><a href="reference/api/python/tir/tir.html#tvm.tir.erf">(in module tvm.tir)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.estimate_memory_usage">estimate_memory_usage() (in module tvm.relax.analysis)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/tir/analysis.html#tvm.tir.analysis.analysis.estimate_tir_flops">estimate_tir_flops() (in module tvm.tir.analysis.analysis)</a>
 </li>
       <li><a href="reference/api/python/tir/tir.html#tvm.tir.Evaluate">Evaluate (class in tvm.tir)</a>
@@ -1826,8 +1816,6 @@
       <li><a href="reference/api/python/dlight.html#tvm.dlight.ScheduleRule.from_callable">from_callable() (tvm.dlight.ScheduleRule static method)</a>
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.Target.from_device">from_device() (tvm.target.Target static method)</a>
-</li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.from_dlpack">from_dlpack() (in module tvm.runtime.ndarray)</a>
 </li>
       <li><a href="reference/api/python/relax/frontend.html#tvm.relax.frontend.torch.from_exported_program">from_exported_program() (in module tvm.relax.frontend.torch)</a>
 </li>
@@ -2718,10 +2706,10 @@
       <li><a href="reference/api/python/ir.html#tvm.ir.Map">Map (class in tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/tir/tir.html#tvm.tir.IndexMap.map_indices">map_indices() (tvm.tir.IndexMap method)</a>
-</li>
-      <li><a href="reference/api/python/tir/tir.html#tvm.tir.IndexMap.map_ndarray">map_ndarray() (tvm.tir.IndexMap method)</a>
 </li>
       <li><a href="reference/api/python/tir/tir.html#tvm.tir.IndexMap.map_shape">map_shape() (tvm.tir.IndexMap method)</a>
+</li>
+      <li><a href="reference/api/python/tir/tir.html#tvm.tir.IndexMap.map_tensor">map_tensor() (tvm.tir.IndexMap method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.masked_fill">masked_fill() (in module tvm.relax.op)</a>
 </li>
@@ -2849,6 +2837,8 @@
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.Target.model">model (tvm.target.Target property)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     module
 
@@ -2942,8 +2932,6 @@
         <li><a href="reference/api/python/runtime/runtime.html#module-tvm.runtime">tvm.runtime</a>
 </li>
         <li><a href="reference/api/python/runtime/disco.html#module-tvm.runtime.disco">tvm.runtime.disco</a>
-</li>
-        <li><a href="reference/api/python/runtime/ndarray.html#module-tvm.runtime.ndarray">tvm.runtime.ndarray</a>
 </li>
         <li><a href="reference/api/python/runtime/profiling.html#module-tvm.runtime.profiling">tvm.runtime.profiling</a>
 </li>
@@ -2970,8 +2958,6 @@
         <li><a href="reference/api/python/transform.html#module-tvm.transform">tvm.transform</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/transform.html#tvm.transform.module_pass">module_pass() (in module tvm.transform)</a>
 </li>
       <li><a href="reference/api/python/transform.html#tvm.transform.ModulePass">ModulePass (class in tvm.transform)</a>
@@ -3019,8 +3005,6 @@
       <li><a href="reference/api/python/topi.html#tvm.topi.image.nchw_pack_layout">nchw_pack_layout() (in module tvm.topi.image)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.image.nchw_xc_layout">nchw_xc_layout() (in module tvm.topi.image)</a>
-</li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.NDArray">NDArray (class in tvm.runtime.ndarray)</a>
 </li>
       <li><a href="reference/api/python/te.html#tvm.te.Tensor.ndim">ndim (tvm.te.Tensor property)</a>
 </li>
@@ -3100,8 +3084,6 @@
         <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.num_workers">(tvm.runtime.disco.Session property)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.NDArray.numpy">numpy() (tvm.runtime.ndarray.NDArray method)</a>
-</li>
   </ul></td>
 </tr></table>
 
@@ -4442,6 +4424,8 @@
         <li><a href="reference/api/python/contrib.html#module-tvm.contrib.pickle_memoize">module</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     tvm.contrib.random
 
@@ -4449,8 +4433,6 @@
         <li><a href="reference/api/python/contrib.html#module-tvm.contrib.random">module</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     tvm.contrib.rocblas
 
@@ -4673,13 +4655,6 @@
 
       <ul>
         <li><a href="reference/api/python/runtime/disco.html#module-tvm.runtime.disco">module</a>
-</li>
-      </ul></li>
-      <li>
-    tvm.runtime.ndarray
-
-      <ul>
-        <li><a href="reference/api/python/runtime/ndarray.html#module-tvm.runtime.ndarray">module</a>
 </li>
       </ul></li>
       <li>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index 866beaba35..7571504535 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -808,13 +808,13 @@ backends.</p>
 <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="o">=</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"><span class=" [...]
 
 <span class="n">raw_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">784</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-<span class="n">data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">raw_data</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span>
+<span class="n">data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">raw_data</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span>
 <span class="n">cpu_out</span> <span class="o">=</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;main&quot;</span><span class="p">](</span><span class="n">data</span><span class="p">,</span> <span class="o">*</span><a href="https:// [...]
 <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.03640829  0.03212999 -0.17184496 -0.04892781 -0.01223419 -0.23245826
-   0.05115547  0.07258759 -0.01767325  0.12657765]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.14978379 -0.19292057  0.0858646   0.00905413 -0.1950174  -0.21044648
+   0.1846346  -0.10540345  0.06520307  0.00750431]]
 </pre></div>
 </div>
 </section>
@@ -839,8 +839,8 @@ the details of <code class="docutils literal notranslate"><span class="pre">DLig
 <span class="n">dev</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">device</span><span class="p">(</span><span class="s2">&quot;cuda&quot;</span><span class="p">,</span> <span class="mi">0</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="o">=</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"><span class=" [...]
 <span class="c1"># Need to allocate data and params on GPU device</span>
-<span class="n">data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">raw_data</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span>
-<a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gpu_params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">dev</s [...]
+<span class="n">data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">raw_data</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span>
+<a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gpu_params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n"> [...]
 <span class="n">gpu_out</span> <span class="o">=</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;main&quot;</span><span class="p">](</span><span class="n">data</span><span class="p">,</span> <span class="o">*</span><a href="https:// [...]
 <span class="nb">print</span><span class="p">(</span><span class="n">gpu_out</span><span class="p">)</span>
 
@@ -848,8 +848,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.03640825  0.03212996 -0.17184488 -0.04892778 -0.0122342  -0.2324583
-   0.05115551  0.07258762 -0.01767325  0.12657762]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.14978382 -0.19292054  0.08586458  0.00905415 -0.1950174  -0.2104465
+   0.18463454 -0.10540348  0.06520308  0.00750428]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index 13e3204466..b6b327464a 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -453,14 +453,14 @@ different devices.</p>
 <span class="n">device</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">cpu</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="o">=</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"><span class=" [...]
 <span class="n">data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">784</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-<span class="n">tvm_data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">)</span>
+<span class="n">tvm_data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">device</span><span class="o">=</span><span class="n">device</span><span class="p">)</span>
 <a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="o">*</span><span class="n">param</span><span class="o">.</sp [...]
-<a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="n">device [...]
+<a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">param</span><span class="p">,</span> <span class="n"> [...]
 <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>[[26022.896 26244.68  24152.863 24820.54  26495.053 24478.637 24778.158
-  24306.443 26635.44  24161.25 ]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[26479.828 26039.79  23647.625 25936.371 24782.043 27142.6   25999.883
+  24527.857 26222.635 23797.988]]
 </pre></div>
 </div>
 <p>Our goal is to bring machine learning to the application with any language of interest,
@@ -473,11 +473,11 @@ cases, we can call <code class="docutils literal notranslate"><span class="pre">
 </pre></div>
 </div>
 </li>
-<li><p>TVM runtime comes with native data structures, such as NDArray, can also have zero
+<li><p>TVM runtime comes with native data structures, such as Tensor, can also have zero
 copy exchange with existing ecosystem (DLPack exchange with PyTorch)</p>
-<div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Convert PyTorch tensor to TVM NDArray</span>
-<span class="n">x_tvm</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">from_dlpack</span><span class="p">(</span><span class="n">x_torch</span><span class="o">.</span><span class="n">to_dlpack</span><span class="p">())</span>
-<span class="c1"># Convert TVM NDArray to PyTorch tensor</span>
+<div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="c1"># Convert PyTorch tensor to TVM Tensor</span>
+<span class="n">x_tvm</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">from_dlpack</span><span class="p">(</span><span class="n">x_torch</span><span class="o">.</span><span class="n">to_dlpack</span><span class="p">())</span>
+<span class="c1"># Convert TVM Tensor to PyTorch tensor</span>
 <span class="n">x_torch</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">from_dlpack</span><span class="p">(</span><span class="n">x_tvm</span><span class="o">.</span><span class="n">to_dlpack</span><span class="p">())</span>
 </pre></div>
 </div>
@@ -486,13 +486,13 @@ copy exchange with existing ecosystem (DLPack exchange with PyTorch)</p>
 <div class="highlight-C++ notranslate"><div class="highlight"><pre><span></span><span class="c1">// C++ snippet</span>
 <span class="n">runtime</span><span class="o">::</span><span class="n">Module</span><span class="w"> </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="w"> </span><span class="o">=</span><span class="w"> </span><a href="../../reference/api/python/relax/relax.html#tvm.r [...]
 <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="n">GetFunction</span><span class="p">(</span><span class="s">&quot;init&quot;</span><span class="p">)(...);</span>
-<span class="n">NDArray</span><span class="w"> </span><span class="n">out</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="n">GetFunction</span><span class="p">(</span><spa [...]
+<span class="n">Tensor</span><span class="w"> </span><span class="n">out</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="n">GetFunction</span><span class="p">(</span><span [...]
 </pre></div>
 </div>
 <div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="c1">// Java snippet</span>
 <span class="n">Module</span><span class="w"> </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="w"> </span><span class="o">=</span><span class="w"> </span><a href="../../reference/api/python/relax/relax.html#tvm.relax.VMExecutable" title="tvm.relax.VMExecutable" class [...]
 <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="na">getFunction</span><span class="p">(</span><span class="s">&quot;init&quot;</span><span class="p">).</span><span class="na">pushArg</span><span class="p">(...).</span><span class="na">invoke</span>< [...]
-<span class="n">NDArray</span><span class="w"> </span><span class="n">out</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="na">getFunction</span><span class="p">(</span><sp [...]
+<span class="n">Tensor</span><span class="w"> </span><span class="n">out</span><span class="w"> </span><span class="o">=</span><span class="w"> </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="na">getFunction</span><span class="p">(</span><spa [...]
 </pre></div>
 </div>
 </li>
diff --git a/docs/get_started/tutorials/sg_execution_times.html b/docs/get_started/tutorials/sg_execution_times.html
index 9b1bbc6f76..e4d6eb4f91 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -293,7 +293,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:09.892</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:10.492</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" />
@@ -315,11 +315,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:09.702</p></td>
+<td><p>00:10.282</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.191</p></td>
+<td><p>00:00.210</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 6525181f76..5a71a944f1 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -457,8 +457,8 @@ compiler to relink them. Now <cite>func</cite> is a remote module object.</p>
 
 <span class="c1"># create arrays on the remote device</span>
 <span class="n">dev</span> <span class="o">=</span> <a href="../../reference/api/python/rpc.html#tvm.rpc.RPCSession.cpu" title="tvm.rpc.RPCSession.cpu" class="sphx-glr-backref-module-tvm-rpc sphx-glr-backref-type-py-method"><span class="n">remote</span><span class="o">.</span><span class="n">cpu</span></a><span class="p">()</span>
-<span class="n">a</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="mi">1024</span><span class="p">)</span><span class="o">.</span><span cl [...]
-<span class="n">b</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">1024</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><a href="../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" clas [...]
+<span class="n">a</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="mi">1024</span><span class="p">)</span><span class="o">.</span><s [...]
+<span class="n">b</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">1024</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><a href="../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor [...]
 <span class="c1"># the function will run on the remote device</span>
 <span class="n">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
 <span class="n">np</span><span class="o">.</span><span class="n">testing</span><span class="o">.</span><span class="n">assert_equal</span><span class="p">(</span><span class="n">b</span><span class="o">.</span><span class="n">numpy</span><span class="p">(),</span> <span class="n">a</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
@@ -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="s2">&quot;</span><span class="si">%g</span><span class="s2"> secs/op&quot;</span> <span class="o">%</span> <span class="n">cost</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.312e-07 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.266e-07 secs/op
 </pre></div>
 </div>
 </section>
@@ -522,8 +522,8 @@ make<span class="w"> </span>runtime<span class="w"> </span>-j4
 
     <span class="c1"># run</span>
     <span class="n">dev</span> <span class="o">=</span> <a href="../../reference/api/python/rpc.html#tvm.rpc.RPCSession.cl" title="tvm.rpc.RPCSession.cl" class="sphx-glr-backref-module-tvm-rpc sphx-glr-backref-type-py-method"><span class="n">remote</span><span class="o">.</span><span class="n">cl</span></a><span class="p">()</span>
-    <span class="n">a</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="mi">1024</span><span class="p">)</span><span class="o">.</span><spa [...]
-    <span class="n">b</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">1024</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><a href="../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor"  [...]
+    <span class="n">a</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">uniform</span><span class="p">(</span><span class="n">size</span><span class="o">=</span><span class="mi">1024</span><span class="p">)</span><span class="o">.</spa [...]
+    <span class="n">b</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">zeros</span><span class="p">(</span><span class="mi">1024</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><a href="../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Te [...]
     <span class="n">func</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
     <span class="n">np</span><span class="o">.</span><span class="n">testing</span><span class="o">.</span><span class="n">assert_equal</span><span class="p">(</span><span class="n">b</span><span class="o">.</span><span class="n">numpy</span><span class="p">(),</span> <span class="n">a</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span> <span class="o">+</span> <span class="mi">1</span><span class="p">)</span>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;OpenCL test passed!&quot;</span><span class="p">)</span>
diff --git a/docs/how_to/tutorials/customize_opt.html b/docs/how_to/tutorials/customize_opt.html
index 0b44ba1dd5..cce47b1c7b 100644
--- a/docs/how_to/tutorials/customize_opt.html
+++ b/docs/how_to/tutorials/customize_opt.html
@@ -602,14 +602,14 @@ pushing the performance to the limit. The current optimization may not be the be
 <span class="n">dev</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">device</span><span class="p">(</span><span class="s2">&quot;cuda&quot;</span><span class="p">,</span> <span class="mi">0</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="o">=</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"><span class=" [...]
 <span class="c1"># Need to allocate data and params on GPU device</span>
-<span class="n">data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="o">*</span><a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-backref- [...]
-<a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gpu_params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random [...]
+<span class="n">data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="o">*</span><a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-ba [...]
+<a href="https://docs.python.org/3/library/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gpu_params</span></a> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n"> [...]
 <span class="n">gpu_out</span> <span class="o">=</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">data</span><span class="p">,</span> <span class="o">*</span><a href="https [...]
 <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>[[25253.564 24543.11  24946.188 25805.08  24778.307 23200.174 24536.75
-  22535.084 26200.426 25036.566]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[25785.705 25119.93  24851.2   25504.371 25296.812 24508.645 25490.615
+  25987.39  26281.7   27258.93 ]]
 </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 caccd7b33d..c4c54d66c1 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -330,9 +330,9 @@ 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]
- 39%|███▊      | 17.2M/44.7M [00:00&lt;00:00, 180MB/s]
- 91%|█████████ | 40.8M/44.7M [00:00&lt;00:00, 219MB/s]
-100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 215MB/s]
+ 28%|██▊       | 12.5M/44.7M [00:00&lt;00:00, 131MB/s]
+ 72%|███████▏  | 32.2M/44.7M [00:00&lt;00:00, 175MB/s]
+100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 179MB/s]
 </pre></div>
 </div>
 </section>
@@ -408,8 +408,8 @@ We skip this step in the CI environment.</p>
     <span class="n">dev</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">device</span><span class="p">(</span><span class="s2">&quot;cuda&quot;</span><span class="p">,</span> <span class="mi">0</span><span class="p">)</span>
     <span class="n">vm</span> <span class="o">=</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"><span class="n">relax</span><span class="o">.</span><span class="n">VirtualMachine</span></a><span class="p">(</span><span class="n">ex</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span>
     <span class="c1"># Need to allocate data and params on GPU device</span>
-    <span class="n">gpu_data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">224</span> [...]
-    <span class="n">gpu_params</span> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">params</span><span class="p">[</span><span class="s2">&quot [...]
+    <span class="n">gpu_data</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">random</span><span class="o">.</span><span class="n">rand</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">224< [...]
+    <span class="n">gpu_params</span> <span class="o">=</span> <span class="p">[</span><span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">dev</span><span class="p">)</span> <span class="k">for</span> <span class="n">p</span> <span class="ow">in</span> <span class="n">params</span><span class="p">[</span><span class="s2" [...]
     <span class="n">gpu_out</span> <span class="o">=</span> <span class="n">vm</span><span class="p">[</span><span class="s2">&quot;main&quot;</span><span class="p">](</span><span class="n">gpu_data</span><span class="p">,</span> <span class="o">*</span><span class="n">gpu_params</span><span class="p">)</span><span class="o">.</span><span class="n">numpy</span><span class="p">()</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="n">gpu_out</span><span class="o">.</span><span class="n">shape</span><span class="p">)</span>
diff --git a/docs/how_to/tutorials/optimize_llm.html b/docs/how_to/tutorials/optimize_llm.html
index 92b31f17da..c66e83000b 100644
--- a/docs/how_to/tutorials/optimize_llm.html
+++ b/docs/how_to/tutorials/optimize_llm.html
@@ -786,7 +786,7 @@ are not available in the CI environment.</p>
 
     <span class="c1"># Convert params into ndarray</span>
     <span class="n">params</span> <span class="o">=</span> <span class="p">[</span>
-        <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">param_dict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;float16&quot;</span><span class="p">),</span> <span class="n">device</span><span class="o">=</span><span class="n">dev</span><sp [...]
+        <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">param_dict</span><span class="p">[</span><span class="n">k</span><span class="p">]</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;float16&quot;</span><span class="p">),</span> <span class="n">device</span><span class="o">=</span><span class="n">dev</sp [...]
     <span class="p">]</span>
 </pre></div>
 </div>
@@ -815,7 +815,7 @@ the model documentation for the correct tokenization and prompt format.</p>
     <span class="n">input_len</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">prompt</span><span class="p">)</span>
 
     <span class="c1"># Load prompt tokens into TVM ndarray on the target device</span>
-    <span class="n">tokens</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">prompt</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;int32&quot;</span><span clas [...]
+    <span class="n">tokens</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">prompt</span><span class="p">)</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;int32&quot;</span><spa [...]
 </pre></div>
 </div>
 </section>
@@ -894,7 +894,7 @@ IRModule to generate the token.</p>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;The generated token:&quot;</span><span class="p">)</span>
 
     <span class="k">while</span> <span class="n">last_token</span> <span class="o">!=</span> <span class="n">tokenizer</span><span class="o">.</span><span class="n">eos_token_id</span><span class="p">:</span>
-        <span class="n">tokens</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">nd</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">last_token</span><span class="p">])</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;int32&quot;</span> [...]
+        <span class="n">tokens</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">runtime</span><span class="o">.</span><span class="n">tensor</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">([</span><span class="n">last_token</span><span class="p">])</span><span class="o">.</span><span class="n">astype</span><span class="p">(</span><span class="s2">&quot;int32&quot;< [...]
         <span class="n">hidden_states</span> <span class="o">=</span> <span class="n">embed</span><span class="p">(</span><span class="n">tokens</span><span class="p">,</span> <span class="n">params</span><span class="p">)</span>
         <span class="n">begin_forward_func</span><span class="p">(</span><span class="n">kv_cache</span><span class="p">,</span> <a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class"><span class="n">ShapeTuple</span></a><span class="p">([</span><span class="n">seq_id</span><span class="p">]),</span> <a href="https://docs.python.org/3/library/stdtypes.html#tuple" title="builtins.tuple" [...]
         <span class="n">logits</span><span class="p">,</span> <span class="n">kv_cache</span> <span class="o">=</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;decode&quot;</span><span class="p">](</span><span class="n">hidden_state [...]
diff --git a/docs/how_to/tutorials/sg_execution_times.html b/docs/how_to/tutorials/sg_execution_times.html
index 270e139a6b..b2509494ea 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -293,7 +293,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:39.605</strong> total execution time for 4 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>01:01.296</strong> total execution time for 4 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" />
@@ -315,19 +315,19 @@ $(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:37.964</p></td>
+<td><p>00:59.521</p></td>
 <td><p>0.0</p></td>
 </tr>
 <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.728</p></td>
+<td><p>00:00.804</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.685</p></td>
+<td><p>00:00.718</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.228</p></td>
+<td><p>00:00.252</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/objects.inv b/docs/objects.inv
index 1623ae10b2..2dcd358754 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index a31d495083..08dfb97624 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -524,11 +524,6 @@
        <td>&#160;&#160;&#160;
        <a href="reference/api/python/runtime/disco.html#module-tvm.runtime.disco"><code class="xref">tvm.runtime.disco</code></a></td><td>
        <em></em></td></tr>
-     <tr class="cg-1">
-       <td></td>
-       <td>&#160;&#160;&#160;
-       <a href="reference/api/python/runtime/ndarray.html#module-tvm.runtime.ndarray"><code class="xref">tvm.runtime.ndarray</code></a></td><td>
-       <em></em></td></tr>
      <tr class="cg-1">
        <td></td>
        <td>&#160;&#160;&#160;
diff --git a/docs/reference/api/doxygen/analyzer_8h.html b/docs/reference/api/doxygen/analyzer_8h.html
index ac612ed44a..6185f1f622 100644
--- a/docs/reference/api/doxygen/analyzer_8h.html
+++ b/docs/reference/api/doxygen/analyzer_8h.html
@@ -88,7 +88,7 @@ $(function() {
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for analyzer.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="analyzer_8h__incl.svg" width="4166" height="1127"><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="analyzer_8h__incl.svg" width="4158" height="1127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div><div class="textblock"><div class="dynheader">
diff --git a/docs/reference/api/doxygen/analyzer_8h__incl.svg b/docs/reference/api/doxygen/analyzer_8h__incl.svg
index a582d05647..ac2811796c 100644
--- a/docs/reference/api/doxygen/analyzer_8h__incl.svg
+++ b/docs/reference/api/doxygen/analyzer_8h__incl.svg
@@ -4,17 +4,17 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/arith/analyzer.h Pages: 1 -->
-<svg width="3124pt" height="845pt"
- viewBox="0.00 0.00 3124.21 845.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3118pt" height="845pt"
+ viewBox="0.00 0.00 3118.21 845.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 841)">
 <title>include/tvm/arith/analyzer.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-841 3120.21,-841 3120.21,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-841 3114.21,-841 3114.21,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Algebra expression simplifications.">
-<polygon fill="#bfbfbf" stroke="black" points="2704.21,-817.5 2704.21,-836.5 2857.21,-836.5 2857.21,-817.5 2704.21,-817.5"/>
-<text text-anchor="middle" x="2780.71" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/arith/analyzer.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="2698.21,-817.5 2698.21,-836.5 2851.21,-836.5 2851.21,-817.5 2698.21,-817.5"/>
+<text text-anchor="middle" x="2774.71" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/arith/analyzer.h</text>
 </a>
 </g>
 </g>
@@ -22,16 +22,16 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="int__set_8h.html" target="_top" xlink:title="Integer set.">
-<polygon fill="white" stroke="black" points="2596.21,-761.5 2596.21,-780.5 2703.21,-780.5 2703.21,-761.5 2596.21,-761.5"/>
-<text text-anchor="middle" x="2649.71" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
+<polygon fill="white" stroke="black" points="2590.21,-761.5 2590.21,-780.5 2697.21,-780.5 2697.21,-761.5 2590.21,-761.5"/>
+<text text-anchor="middle" x="2643.71" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M2759.95,-817.44C2738.4,-808.56 2704.45,-794.56 2679.92,-784.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2680.95,-781.09 2670.37,-780.52 2678.28,-787.56 2680.95,-781.09"/>
+<path fill="none" stroke="midnightblue" d="M2753.95,-817.44C2732.4,-808.56 2698.45,-794.56 2673.92,-784.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2674.95,-781.09 2664.37,-780.52 2672.28,-787.56 2674.95,-781.09"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
@@ -45,8 +45,8 @@
 <!-- Node1&#45;&gt;Node3 -->
 <g id="edge147" class="edge">
 <title>Node1&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2782.28,-817.48C2785.53,-799.04 2792.71,-754.04 2792.71,-716 2792.71,-716 2792.71,-716 2792.71,-658 2792.71,-578.86 1522.44,-553.31 1252.68,-548.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1252.47,-545.28 1242.41,-548.61 1252.35,-552.28 1252.47,-545.28"/>
+<path fill="none" stroke="midnightblue" d="M2776.28,-817.48C2779.53,-799.04 2786.71,-754.04 2786.71,-716 2786.71,-716 2786.71,-716 2786.71,-658 2786.71,-579.15 1521.23,-553.38 1252.49,-548.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1252.32,-545.29 1242.26,-548.62 1252.2,-552.29 1252.32,-545.29"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
@@ -61,23 +61,23 @@
 <!-- Node1&#45;&gt;Node4 -->
 <g id="edge146" class="edge">
 <title>Node1&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M2703.96,-824.97C2260.39,-818.78 44.71,-784.45 44.71,-716 44.71,-716 44.71,-716 44.71,-602 44.71,-520.35 142.74,-284.59 175.33,-208.49"/>
+<path fill="none" stroke="midnightblue" d="M2698.13,-824.97C2255.53,-818.75 44.71,-784.3 44.71,-716 44.71,-716 44.71,-716 44.71,-602 44.71,-520.35 142.74,-284.59 175.33,-208.49"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="178.74,-209.41 179.47,-198.84 172.31,-206.65 178.74,-209.41"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node">
 <title>Node27</title>
 <g id="a_node27"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2389.21,-112.5 2389.21,-131.5 2436.21,-131.5 2436.21,-112.5 2389.21,-112.5"/>
-<text text-anchor="middle" x="2412.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
+<polygon fill="white" stroke="#bfbfbf" points="2383.21,-112.5 2383.21,-131.5 2430.21,-131.5 2430.21,-112.5 2383.21,-112.5"/>
+<text text-anchor="middle" x="2406.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node27 -->
 <g id="edge155" class="edge">
 <title>Node1&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M2814.98,-817.44C2859.53,-804.02 2931.71,-773.41 2931.71,-716 2931.71,-716 2931.71,-716 2931.71,-316.5 2931.71,-248.79 2948.65,-212.6 2897.71,-168 2880.72,-153.12 2554.25,-131.73 2446.73,-125.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2446.64,-121.55 2436.44,-124.43 2446.21,-128.54 2446.64,-121.55"/>
+<path fill="none" stroke="midnightblue" d="M2808.98,-817.44C2853.53,-804.02 2925.71,-773.41 2925.71,-716 2925.71,-716 2925.71,-716 2925.71,-316.5 2925.71,-248.79 2942.65,-212.6 2891.71,-168 2874.72,-153.12 2548.25,-131.73 2440.73,-125.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2440.64,-121.55 2430.44,-124.43 2440.21,-128.54 2440.64,-121.55"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node">
@@ -91,59 +91,59 @@
 <!-- Node1&#45;&gt;Node46 -->
 <g id="edge152" class="edge">
 <title>Node1&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M2703.94,-825.77C2314.88,-823.98 571.93,-808.19 379.71,-669 250.26,-575.25 375.54,-335.86 414.19,-269.05"/>
+<path fill="none" stroke="midnightblue" d="M2698.13,-825.76C2310.05,-823.9 571.45,-807.85 379.71,-669 250.26,-575.25 375.54,-335.86 414.19,-269.05"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="417.36,-270.56 419.41,-260.17 411.33,-267.02 417.36,-270.56"/>
 </g>
 <!-- Node53 -->
 <g id="node53" class="node">
 <title>Node53</title>
 <g id="a_node53"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2671.21,-649.5 2671.21,-668.5 2764.21,-668.5 2764.21,-649.5 2671.21,-649.5"/>
-<text text-anchor="middle" x="2717.71" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="2665.21,-649.5 2665.21,-668.5 2758.21,-668.5 2758.21,-649.5 2665.21,-649.5"/>
+<text text-anchor="middle" x="2711.71" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node53 -->
 <g id="edge154" class="edge">
 <title>Node1&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M2777.32,-817.08C2767.36,-790.83 2738.03,-713.55 2724.59,-678.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2727.78,-676.68 2720.96,-668.57 2721.24,-679.16 2727.78,-676.68"/>
+<path fill="none" stroke="midnightblue" d="M2771.32,-817.08C2761.36,-790.83 2732.03,-713.55 2718.59,-678.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2721.78,-676.68 2714.96,-668.57 2715.24,-679.16 2721.78,-676.68"/>
 </g>
 <!-- Node54 -->
 <g id="node54" class="node">
 <title>Node54</title>
 <g id="a_node54"><a xlink:href="with_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python&#39;s with syntax.">
-<polygon fill="white" stroke="black" points="2960.21,-241 2960.21,-260 3069.21,-260 3069.21,-241 2960.21,-241"/>
-<text text-anchor="middle" x="3014.71" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
+<polygon fill="white" stroke="black" points="2954.21,-241 2954.21,-260 3063.21,-260 3063.21,-241 2954.21,-241"/>
+<text text-anchor="middle" x="3008.71" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node54 -->
 <g id="edge148" class="edge">
 <title>Node1&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M2857.42,-820.23C2888.09,-814.37 2921.74,-802.96 2945.71,-781 2968.42,-760.2 2969.71,-746.8 2969.71,-716 2969.71,-716 2969.71,-716 2969.71,-378 2969.71,-337 2990.95,-292.63 3004.25,-268.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3007.39,-270.43 3009.37,-260.02 3001.33,-266.92 3007.39,-270.43"/>
+<path fill="none" stroke="midnightblue" d="M2851.42,-820.23C2882.09,-814.37 2915.74,-802.96 2939.71,-781 2962.42,-760.2 2963.71,-746.8 2963.71,-716 2963.71,-716 2963.71,-716 2963.71,-378 2963.71,-337 2984.95,-292.63 2998.25,-268.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3001.39,-270.43 3003.37,-260.02 2995.33,-266.92 3001.39,-270.43"/>
 </g>
 <!-- Node56 -->
 <g id="node56" class="node">
 <title>Node56</title>
 <g id="a_node56"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2997.71,-761.5 2997.71,-780.5 3055.71,-780.5 3055.71,-761.5 2997.71,-761.5"/>
-<text text-anchor="middle" x="3026.71" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
+<polygon fill="white" stroke="#bfbfbf" points="2991.71,-761.5 2991.71,-780.5 3049.71,-780.5 3049.71,-761.5 2991.71,-761.5"/>
+<text text-anchor="middle" x="3020.71" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node56 -->
 <g id="edge153" class="edge">
 <title>Node1&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M2819.69,-817.44C2865.66,-807.35 2941.63,-790.68 2987.64,-780.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2988.53,-783.97 2997.54,-778.4 2987.03,-777.13 2988.53,-783.97"/>
+<path fill="none" stroke="midnightblue" d="M2813.69,-817.44C2859.66,-807.35 2935.63,-790.68 2981.64,-780.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2982.53,-783.97 2991.54,-778.4 2981.03,-777.13 2982.53,-783.97"/>
 </g>
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2596.12,-764.38C2430.96,-746.71 1915.44,-688.91 1492.71,-613 1404.74,-597.2 1303.05,-573.02 1246.48,-559.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1247,-555.56 1236.45,-556.55 1245.31,-562.36 1247,-555.56"/>
+<path fill="none" stroke="midnightblue" d="M2590.11,-764.33C2425.5,-746.56 1913.01,-688.63 1492.71,-613 1404.75,-597.17 1303.05,-573 1246.48,-559.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1247,-555.55 1236.45,-556.54 1245.32,-562.35 1247,-555.55"/>
 </g>
 <!-- Node50 -->
 <g id="node50" class="node">
@@ -157,14 +157,14 @@
 <!-- Node2&#45;&gt;Node50 -->
 <g id="edge116" class="edge">
 <title>Node2&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M2596.06,-768C2367.86,-759.48 1479.3,-726.32 1254.58,-717.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1254.51,-714.43 1244.38,-717.56 1254.24,-721.43 1254.51,-714.43"/>
+<path fill="none" stroke="midnightblue" d="M2589.85,-767.98C2362.01,-759.44 1478.84,-726.35 1254.68,-717.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1254.63,-714.44 1244.51,-717.57 1254.37,-721.44 1254.63,-714.44"/>
 </g>
 <!-- Node2&#45;&gt;Node53 -->
 <g id="edge145" class="edge">
 <title>Node2&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M2655.05,-761.37C2666.22,-743.3 2692.26,-701.18 2707.01,-677.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2710.12,-678.94 2712.4,-668.59 2704.17,-675.26 2710.12,-678.94"/>
+<path fill="none" stroke="midnightblue" d="M2649.05,-761.37C2660.22,-743.3 2686.26,-701.18 2701.01,-677.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2704.12,-678.94 2706.4,-668.59 2698.17,-675.26 2704.12,-678.94"/>
 </g>
 <!-- Node3&#45;&gt;Node4 -->
 <g id="edge3" class="edge">
@@ -221,16 +221,16 @@
 <g id="node22" class="node">
 <title>Node22</title>
 <g id="a_node22"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime.">
-<polygon fill="white" stroke="black" points="2252.21,-112.5 2252.21,-131.5 2371.21,-131.5 2371.21,-112.5 2252.21,-112.5"/>
-<text text-anchor="middle" x="2311.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
+<polygon fill="white" stroke="black" points="2246.21,-112.5 2246.21,-131.5 2365.21,-131.5 2365.21,-112.5 2246.21,-112.5"/>
+<text text-anchor="middle" x="2305.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node22 -->
 <g id="edge110" class="edge">
 <title>Node3&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M1242.47,-542.48C1378.43,-529.4 1835.5,-476.69 2181.71,-333 2239.21,-309.14 2262.16,-311.43 2304.71,-266 2335.94,-232.66 2346.79,-212.32 2335.71,-168 2333.27,-158.25 2328.28,-148.29 2323.47,-140.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2326.4,-138.32 2318.08,-131.77 2320.5,-142.08 2326.4,-138.32"/>
+<path fill="none" stroke="midnightblue" d="M1242.34,-542.53C1377.85,-529.6 1833.35,-477.33 2177.71,-333 2234.41,-309.24 2256.84,-311.01 2298.71,-266 2329.83,-232.55 2340.79,-212.32 2329.71,-168 2327.27,-158.25 2322.28,-148.29 2317.47,-140.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2320.4,-138.32 2312.08,-131.77 2314.5,-142.08 2320.4,-138.32"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
@@ -266,16 +266,16 @@
 <g id="node45" class="node">
 <title>Node45</title>
 <g id="a_node45"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2823.21,-174 2823.21,-193 2888.21,-193 2888.21,-174 2823.21,-174"/>
-<text text-anchor="middle" x="2855.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="2817.21,-174 2817.21,-193 2882.21,-193 2882.21,-174 2817.21,-174"/>
+<text text-anchor="middle" x="2849.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node45 -->
 <g id="edge112" class="edge">
 <title>Node3&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1242.27,-545.64C1411.06,-543.89 2071.77,-534.97 2276.71,-501 2363.56,-486.61 2389.66,-487.58 2466.71,-445 2590.18,-376.78 2582.49,-305.44 2704.71,-235 2738.96,-215.26 2782.07,-201.81 2813.45,-193.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2814.34,-197.18 2823.2,-191.38 2812.66,-190.38 2814.34,-197.18"/>
+<path fill="none" stroke="midnightblue" d="M1242.33,-545.63C1410.63,-543.83 2067.04,-534.78 2270.71,-501 2357.56,-486.59 2383.66,-487.58 2460.71,-445 2584.18,-376.78 2576.49,-305.44 2698.71,-235 2732.96,-215.26 2776.07,-201.81 2807.45,-193.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2808.34,-197.18 2817.2,-191.38 2806.66,-190.38 2808.34,-197.18"/>
 </g>
 <!-- Node3&#45;&gt;Node46 -->
 <g id="edge113" class="edge">
@@ -344,28 +344,28 @@
 <g id="node17" class="node">
 <title>Node17</title>
 <g id="a_node17"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2715.21,-56.5 2715.21,-75.5 2760.21,-75.5 2760.21,-56.5 2715.21,-56.5"/>
-<text text-anchor="middle" x="2737.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+<polygon fill="white" stroke="#bfbfbf" points="2709.21,-56.5 2709.21,-75.5 2754.21,-75.5 2754.21,-56.5 2709.21,-56.5"/>
+<text text-anchor="middle" x="2731.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
 </a>
 </g>
 </g>
 <!-- Node6&#45;&gt;Node17 -->
 <g id="edge99" class="edge">
 <title>Node6&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1571.21,-429.6C1659.49,-422.67 1831.94,-408.04 1977.71,-389 2129.57,-369.17 2168.98,-369.5 2317.71,-333 2363.95,-321.65 2692,-233.59 2724.71,-199 2753.77,-168.28 2747.83,-113.72 2742.15,-85.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2745.56,-84.52 2739.98,-75.51 2738.72,-86.03 2745.56,-84.52"/>
+<path fill="none" stroke="midnightblue" d="M1571.22,-429.66C1659.51,-422.82 1831.98,-408.28 1977.71,-389 2126.49,-369.32 2165.01,-368.96 2310.71,-333 2357.04,-321.57 2685.91,-233.65 2718.71,-199 2747.78,-168.29 2741.84,-113.72 2736.15,-85.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2739.56,-84.52 2733.98,-75.51 2732.72,-86.03 2739.56,-84.52"/>
 </g>
 <!-- Node6&#45;&gt;Node22 -->
 <g id="edge96" class="edge">
 <title>Node6&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M1571.45,-430.35C1697.69,-420.37 2001.26,-384.89 2221.71,-266 2262.23,-244.15 2278.42,-239.28 2300.71,-199 2310.48,-181.35 2312.54,-158.02 2312.6,-141.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2316.09,-141.51 2312.37,-131.6 2309.09,-141.67 2316.09,-141.51"/>
+<path fill="none" stroke="midnightblue" d="M1571.59,-430.35C1697.38,-420.41 1998.6,-385.03 2216.71,-266 2256.83,-244.11 2272.7,-239.05 2294.71,-199 2304.42,-181.32 2306.5,-158 2306.57,-141.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2310.06,-141.51 2306.35,-131.59 2303.07,-141.66 2310.06,-141.51"/>
 </g>
 <!-- Node6&#45;&gt;Node27 -->
 <g id="edge100" class="edge">
 <title>Node6&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M1571.28,-431.7C1682.09,-425.76 1928.62,-404.88 2121.71,-333 2186.73,-308.79 2202.64,-300.72 2262.71,-266 2308.08,-239.78 2322.58,-235.97 2359.71,-199 2377.46,-181.33 2393.22,-157.04 2402.85,-140.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2406.08,-142.14 2408.02,-131.72 2400,-138.65 2406.08,-142.14"/>
+<path fill="none" stroke="midnightblue" d="M1571.36,-430.44C1650.37,-424.96 1795.12,-412.55 1916.71,-389 2007.76,-371.37 2030.89,-365.58 2117.71,-333 2182.29,-308.76 2198.12,-300.74 2257.71,-266 2302.66,-239.79 2316.93,-235.8 2353.71,-199 2371.42,-181.29 2387.19,-157.01 2396.83,-140.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2400.05,-142.12 2402.01,-131.71 2393.98,-138.63 2400.05,-142.12"/>
 </g>
 <!-- Node6&#45;&gt;Node33 -->
 <g id="edge98" class="edge">
@@ -407,22 +407,22 @@
 <g id="node10" class="node">
 <title>Node10</title>
 <g id="a_node10"><a xlink:href="cast_8h.html" target="_top" xlink:title="Value casting helpers.">
-<polygon fill="white" stroke="black" points="2595.21,-174 2595.21,-193 2690.21,-193 2690.21,-174 2595.21,-174"/>
-<text text-anchor="middle" x="2642.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/cast.h</text>
+<polygon fill="white" stroke="black" points="2589.21,-174 2589.21,-193 2684.21,-193 2684.21,-174 2589.21,-174"/>
+<text text-anchor="middle" x="2636.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/cast.h</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node10 -->
 <g id="edge10" class="edge">
 <title>Node8&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1692.22,-377.77C1794.94,-376.52 2038.38,-369.58 2238.71,-333 2342.61,-314.03 2367.85,-303.18 2466.71,-266 2521.5,-245.39 2583.04,-215.19 2616.89,-197.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2618.78,-200.89 2626.08,-193.22 2615.58,-194.67 2618.78,-200.89"/>
+<path fill="none" stroke="midnightblue" d="M1692.5,-377.71C1794.64,-376.35 2034.91,-369.19 2232.71,-333 2336.6,-313.99 2361.85,-303.18 2460.71,-266 2515.5,-245.39 2577.04,-215.19 2610.89,-197.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2612.78,-200.89 2620.08,-193.22 2609.58,-194.67 2612.78,-200.89"/>
 </g>
 <!-- Node8&#45;&gt;Node17 -->
 <g id="edge94" class="edge">
 <title>Node8&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1692.29,-378.42C1804.56,-378.57 2086.49,-374.38 2317.71,-333 2330.63,-330.69 2762.86,-209.51 2770.71,-199 2793.85,-168.02 2782.74,-148.75 2770.71,-112 2767.22,-101.34 2760.14,-91.12 2753.43,-83.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2756.02,-80.76 2746.73,-75.66 2750.81,-85.44 2756.02,-80.76"/>
+<path fill="none" stroke="midnightblue" d="M1692.61,-378.36C1804.28,-378.36 2082.45,-373.86 2310.71,-333 2323.65,-330.68 2756.84,-209.53 2764.71,-199 2787.86,-168.03 2776.74,-148.75 2764.71,-112 2761.22,-101.34 2754.14,-91.12 2747.43,-83.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2750.02,-80.76 2740.73,-75.66 2744.81,-85.44 2750.02,-80.76"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node">
@@ -442,8 +442,8 @@
 <!-- Node8&#45;&gt;Node22 -->
 <g id="edge91" class="edge">
 <title>Node8&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M1692.23,-371.92C1744.57,-364.9 1829.27,-351.85 1900.71,-333 2071.84,-287.85 2144.51,-317.79 2275.71,-199 2292.67,-183.65 2302.35,-158.62 2307.32,-141.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2310.77,-142.15 2309.93,-131.59 2304,-140.37 2310.77,-142.15"/>
+<path fill="none" stroke="midnightblue" d="M1692.54,-371.9C1744.72,-364.9 1828.8,-351.89 1899.71,-333 2068.71,-287.97 2140.31,-316.67 2269.71,-199 2286.64,-183.61 2296.33,-158.59 2301.3,-141.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2304.75,-142.14 2303.92,-131.58 2297.98,-140.36 2304.75,-142.14"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node">
@@ -469,8 +469,8 @@
 <!-- Node8&#45;&gt;Node27 -->
 <g id="edge95" class="edge">
 <title>Node8&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M1692.42,-376.36C1795.71,-371.27 2039.14,-350.51 2221.71,-266 2294.18,-232.46 2365.81,-168.34 2396.78,-138.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2399.33,-141.12 2404.07,-131.65 2394.46,-136.1 2399.33,-141.12"/>
+<path fill="none" stroke="midnightblue" d="M1692.43,-376.34C1795.14,-371.23 2036.23,-350.43 2216.71,-266 2288.8,-232.28 2360.06,-168.26 2390.86,-138.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2393.39,-141.11 2398.12,-131.63 2388.51,-136.09 2393.39,-141.11"/>
 </g>
 <!-- Node8&#45;&gt;Node33 -->
 <g id="edge92" class="edge">
@@ -498,17 +498,17 @@
 <g id="node37" class="node">
 <title>Node37</title>
 <g id="a_node37"><a xlink:href="structural__hash_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1779.21,-302.5 1779.21,-332.5 1892.21,-332.5 1892.21,-302.5 1779.21,-302.5"/>
-<text text-anchor="start" x="1787.21" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/structural</text>
-<text text-anchor="middle" x="1835.71" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
+<polygon fill="white" stroke="black" points="1778.21,-302.5 1778.21,-332.5 1891.21,-332.5 1891.21,-302.5 1778.21,-302.5"/>
+<text text-anchor="start" x="1786.21" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/structural</text>
+<text text-anchor="middle" x="1834.71" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node37 -->
 <g id="edge60" class="edge">
 <title>Node8&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M1670.36,-369.48C1698.95,-360.66 1744.34,-346.67 1780.34,-335.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1781.7,-338.81 1790.23,-332.52 1779.64,-332.12 1781.7,-338.81"/>
+<path fill="none" stroke="midnightblue" d="M1670.22,-369.48C1698.65,-360.66 1743.82,-346.67 1779.63,-335.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1780.95,-338.83 1789.46,-332.52 1778.87,-332.14 1780.95,-338.83"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node">
@@ -522,89 +522,89 @@
 <!-- Node10&#45;&gt;Node11 -->
 <g id="edge11" class="edge">
 <title>Node10&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2595.1,-179.31C2485.89,-171.91 2208.94,-152.6 1977.71,-132 1964.92,-130.86 1951.09,-129.5 1938.27,-128.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1938.55,-124.71 1928.24,-127.16 1937.83,-131.67 1938.55,-124.71"/>
+<path fill="none" stroke="midnightblue" d="M2588.98,-179.31C2480.14,-171.95 2205.24,-152.77 1975.71,-132 1963.56,-130.9 1950.46,-129.59 1938.24,-128.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1938.53,-124.83 1928.22,-127.26 1937.8,-131.79 1938.53,-124.83"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node">
 <title>Node12</title>
 <g id="a_node12"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2384.21,-56.5 2384.21,-75.5 2465.21,-75.5 2465.21,-56.5 2384.21,-56.5"/>
-<text text-anchor="middle" x="2424.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2378.21,-56.5 2378.21,-75.5 2459.21,-75.5 2459.21,-56.5 2378.21,-56.5"/>
+<text text-anchor="middle" x="2418.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node12 -->
 <g id="edge12" class="edge">
 <title>Node10&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2625.47,-173.89C2605.65,-163.95 2572.21,-147.05 2543.71,-132 2510.63,-114.53 2472.77,-93.71 2448.81,-80.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2450.48,-77.35 2440.04,-75.55 2447.08,-83.47 2450.48,-77.35"/>
+<path fill="none" stroke="midnightblue" d="M2619.47,-173.89C2599.65,-163.95 2566.21,-147.05 2537.71,-132 2504.63,-114.53 2466.77,-93.71 2442.81,-80.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2444.48,-77.35 2434.04,-75.55 2441.08,-83.47 2444.48,-77.35"/>
 </g>
 <!-- Node13 -->
 <g id="node13" class="node">
 <title>Node13</title>
 <g id="a_node13"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1987.21,-112.5 1987.21,-131.5 2076.21,-131.5 2076.21,-112.5 1987.21,-112.5"/>
-<text text-anchor="middle" x="2031.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1985.21,-112.5 1985.21,-131.5 2074.21,-131.5 2074.21,-112.5 1985.21,-112.5"/>
+<text text-anchor="middle" x="2029.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node13 -->
 <g id="edge13" class="edge">
 <title>Node10&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2595.02,-177.86C2483.38,-166.98 2205.55,-139.93 2086.87,-128.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2086.87,-124.85 2076.57,-127.37 2086.19,-131.82 2086.87,-124.85"/>
+<path fill="none" stroke="midnightblue" d="M2589.08,-177.83C2477.99,-166.94 2202.23,-139.91 2084.45,-128.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2084.52,-124.86 2074.23,-127.36 2083.84,-131.82 2084.52,-124.86"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node">
 <title>Node14</title>
 <g id="a_node14"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2569.21,-112.5 2569.21,-131.5 2652.21,-131.5 2652.21,-112.5 2569.21,-112.5"/>
-<text text-anchor="middle" x="2610.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2563.21,-112.5 2563.21,-131.5 2646.21,-131.5 2646.21,-112.5 2563.21,-112.5"/>
+<text text-anchor="middle" x="2604.71" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node14 -->
 <g id="edge14" class="edge">
 <title>Node10&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2638.13,-173.98C2633.47,-165.32 2626.12,-151.65 2620.2,-140.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2623.11,-138.66 2615.29,-131.51 2616.94,-141.97 2623.11,-138.66"/>
+<path fill="none" stroke="midnightblue" d="M2632.13,-173.98C2627.47,-165.32 2620.12,-151.65 2614.2,-140.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2617.11,-138.66 2609.29,-131.51 2610.94,-141.97 2617.11,-138.66"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node">
 <title>Node15</title>
 <g id="a_node15"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2487.21,-56.5 2487.21,-75.5 2578.21,-75.5 2578.21,-56.5 2487.21,-56.5"/>
-<text text-anchor="middle" x="2532.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2481.21,-56.5 2481.21,-75.5 2572.21,-75.5 2572.21,-56.5 2481.21,-56.5"/>
+<text text-anchor="middle" x="2526.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node15 -->
 <g id="edge15" class="edge">
 <title>Node10&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2621.01,-173.9C2602.53,-165.62 2576.4,-151.46 2559.71,-132 2548.29,-118.68 2541.18,-99.85 2537.15,-85.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2540.46,-84.71 2534.55,-75.92 2533.69,-86.48 2540.46,-84.71"/>
+<path fill="none" stroke="midnightblue" d="M2615.01,-173.9C2596.53,-165.62 2570.4,-151.46 2553.71,-132 2542.29,-118.68 2535.18,-99.85 2531.15,-85.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2534.46,-84.71 2528.55,-75.92 2527.69,-86.48 2534.46,-84.71"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node">
 <title>Node16</title>
 <g id="a_node16"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2196.21,-56.5 2196.21,-75.5 2297.21,-75.5 2297.21,-56.5 2196.21,-56.5"/>
-<text text-anchor="middle" x="2246.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2192.21,-56.5 2192.21,-75.5 2293.21,-75.5 2293.21,-56.5 2192.21,-56.5"/>
+<text text-anchor="middle" x="2242.71" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node16 -->
 <g id="edge16" class="edge">
 <title>Node10&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2619.13,-173.93C2570.47,-156.26 2462.01,-117.03 2444.71,-112 2396.65,-98.04 2341,-85.72 2300.96,-77.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2301.63,-74.08 2291.13,-75.52 2300.24,-80.94 2301.63,-74.08"/>
+<path fill="none" stroke="midnightblue" d="M2613.13,-173.93C2564.46,-156.27 2456.01,-117.05 2438.71,-112 2391.23,-98.15 2336.28,-85.85 2296.66,-77.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2297.18,-74.15 2286.68,-75.57 2295.77,-81.01 2297.18,-74.15"/>
 </g>
 <!-- Node10&#45;&gt;Node17 -->
 <g id="edge17" class="edge">
 <title>Node10&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2649.85,-173.82C2665.6,-154.67 2703.54,-108.54 2724.03,-83.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2726.84,-85.73 2730.49,-75.78 2721.43,-81.28 2726.84,-85.73"/>
+<path fill="none" stroke="midnightblue" d="M2643.85,-173.82C2659.6,-154.67 2697.54,-108.54 2718.03,-83.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2720.84,-85.73 2724.49,-75.78 2715.43,-81.28 2720.84,-85.73"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node">
@@ -626,16 +626,16 @@
 <g id="node20" class="node">
 <title>Node20</title>
 <g id="a_node20"><a xlink:href="functor_8h.html" target="_top" xlink:title="Defines the Functor data structures.">
-<polygon fill="white" stroke="black" points="2060.21,-174 2060.21,-193 2169.21,-193 2169.21,-174 2060.21,-174"/>
-<text text-anchor="middle" x="2114.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/functor.h</text>
+<polygon fill="white" stroke="black" points="2054.21,-174 2054.21,-193 2163.21,-193 2163.21,-174 2054.21,-174"/>
+<text text-anchor="middle" x="2108.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node18&#45;&gt;Node20 -->
 <g id="edge20" class="edge">
 <title>Node18&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1096.43,-315.76C1274.23,-313.29 1761.78,-303.21 1917.71,-266 1951.2,-258.01 1956.95,-248.3 1988.71,-235 2020.76,-221.58 2057.69,-206.87 2083.24,-196.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2084.75,-199.97 2092.78,-193.06 2082.19,-193.46 2084.75,-199.97"/>
+<path fill="none" stroke="midnightblue" d="M1096.47,-315.79C1273.75,-313.37 1758.67,-303.45 1913.71,-266 1946.79,-258.01 1952.38,-248.26 1983.71,-235 2015.49,-221.55 2052.12,-206.84 2077.48,-196.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2078.93,-199.98 2086.94,-193.04 2076.36,-193.47 2078.93,-199.98"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node">
@@ -676,8 +676,8 @@
 <!-- Node20&#45;&gt;Node17 -->
 <g id="edge31" class="edge">
 <title>Node20&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2128.59,-173.9C2156.54,-156.74 2218.94,-119.28 2242.71,-112 2286.74,-98.52 2601.46,-76.24 2704.88,-69.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2705.3,-72.68 2715.04,-68.51 2704.83,-65.7 2705.3,-72.68"/>
+<path fill="none" stroke="midnightblue" d="M2122.59,-173.9C2150.54,-156.74 2212.94,-119.28 2236.71,-112 2280.74,-98.52 2595.46,-76.24 2698.88,-69.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2699.3,-72.68 2709.04,-68.51 2698.83,-65.7 2699.3,-72.68"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node">
@@ -691,14 +691,14 @@
 <!-- Node20&#45;&gt;Node21 -->
 <g id="edge21" class="edge">
 <title>Node20&#45;&gt;Node21</title>
-<path fill="none" stroke="midnightblue" d="M2078.92,-173.97C2069.75,-171.9 2059.88,-169.77 2050.71,-168 1979.46,-154.22 1897.43,-141.39 1840.66,-132.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1841.12,-129.51 1830.71,-131.52 1840.1,-136.44 1841.12,-129.51"/>
+<path fill="none" stroke="midnightblue" d="M2072.91,-173.99C2063.74,-171.92 2053.88,-169.79 2044.71,-168 1974.89,-154.37 1894.52,-141.5 1838.97,-133.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1839.3,-129.56 1828.89,-131.52 1838.25,-136.48 1839.3,-129.56"/>
 </g>
 <!-- Node20&#45;&gt;Node22 -->
 <g id="edge22" class="edge">
 <title>Node20&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2142.94,-173.98C2177.31,-163.59 2235.52,-146.01 2273.79,-134.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2274.98,-137.75 2283.54,-131.51 2272.95,-131.05 2274.98,-137.75"/>
+<path fill="none" stroke="midnightblue" d="M2136.94,-173.98C2171.31,-163.59 2229.52,-146.01 2267.79,-134.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2268.98,-137.75 2277.54,-131.51 2266.95,-131.05 2268.98,-137.75"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node">
@@ -712,50 +712,50 @@
 <!-- Node20&#45;&gt;Node25 -->
 <g id="edge29" class="edge">
 <title>Node20&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2080.65,-173.98C2071.02,-171.79 2060.49,-169.6 2050.71,-168 1895.52,-142.58 1854.97,-149.75 1698.71,-132 1686.83,-130.65 1673.86,-129.06 1662.24,-127.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1662.38,-124.09 1652.02,-126.3 1661.5,-131.04 1662.38,-124.09"/>
+<path fill="none" stroke="midnightblue" d="M2074.65,-173.99C2065.02,-171.8 2054.49,-169.61 2044.71,-168 1892.16,-142.87 1852.32,-149.59 1698.71,-132 1686.83,-130.64 1673.86,-129.05 1662.24,-127.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1662.38,-124.08 1652.02,-126.29 1661.5,-131.02 1662.38,-124.08"/>
 </g>
 <!-- Node20&#45;&gt;Node26 -->
 <g id="edge30" class="edge">
 <title>Node20&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M2081.69,-173.93C2071.79,-171.66 2060.86,-169.44 2050.71,-168 1779.17,-129.57 1707.99,-154.97 1434.71,-132 1422.68,-130.99 1409.68,-129.67 1397.65,-128.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1397.71,-124.84 1387.39,-127.2 1396.93,-131.79 1397.71,-124.84"/>
+<path fill="none" stroke="midnightblue" d="M2075.69,-173.93C2065.79,-171.66 2054.86,-169.44 2044.71,-168 1775.82,-129.87 1705.33,-154.82 1434.71,-132 1422.68,-130.99 1409.68,-129.66 1397.66,-128.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1397.71,-124.83 1387.39,-127.2 1396.94,-131.79 1397.71,-124.83"/>
 </g>
 <!-- Node20&#45;&gt;Node27 -->
 <g id="edge32" class="edge">
 <title>Node20&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M2150.29,-173.98C2159.23,-171.94 2168.8,-169.82 2177.71,-168 2264.01,-150.39 2289.05,-151.89 2379.16,-131.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2379.99,-135.35 2388.98,-129.75 2378.46,-128.52 2379.99,-135.35"/>
+<path fill="none" stroke="midnightblue" d="M2144.29,-173.98C2153.23,-171.94 2162.8,-169.82 2171.71,-168 2258.01,-150.39 2283.05,-151.89 2373.16,-131.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2373.99,-135.35 2382.98,-129.75 2372.46,-128.52 2373.99,-135.35"/>
 </g>
 <!-- Node22&#45;&gt;Node12 -->
 <g id="edge23" class="edge">
 <title>Node22&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2329.62,-112.44C2347.97,-103.68 2376.72,-89.94 2397.81,-79.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2399.38,-82.99 2406.89,-75.52 2396.36,-76.67 2399.38,-82.99"/>
+<path fill="none" stroke="midnightblue" d="M2323.62,-112.44C2341.97,-103.68 2370.72,-89.94 2391.81,-79.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2393.38,-82.99 2400.89,-75.52 2390.36,-76.67 2393.38,-82.99"/>
 </g>
 <!-- Node22&#45;&gt;Node15 -->
 <g id="edge24" class="edge">
 <title>Node22&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2346.73,-112.44C2384.96,-103.1 2446.28,-88.12 2487.97,-77.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2488.97,-81.29 2497.86,-75.52 2487.31,-74.49 2488.97,-81.29"/>
+<path fill="none" stroke="midnightblue" d="M2340.73,-112.44C2378.96,-103.1 2440.28,-88.12 2481.97,-77.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2482.97,-81.29 2491.86,-75.52 2481.31,-74.49 2482.97,-81.29"/>
 </g>
 <!-- Node22&#45;&gt;Node16 -->
 <g id="edge25" class="edge">
 <title>Node22&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2301.27,-112.32C2291.57,-104.26 2276.9,-92.08 2265.21,-82.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2267.27,-79.53 2257.35,-75.83 2262.8,-84.92 2267.27,-79.53"/>
+<path fill="none" stroke="midnightblue" d="M2295.59,-112.32C2286.19,-104.26 2271.97,-92.08 2260.64,-82.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2262.89,-79.68 2253.02,-75.83 2258.33,-85 2262.89,-79.68"/>
 </g>
 <!-- Node22&#45;&gt;Node17 -->
 <g id="edge28" class="edge">
 <title>Node22&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M2371.41,-113.08C2374.22,-112.71 2377,-112.35 2379.71,-112 2499.52,-96.54 2641.97,-78.84 2704.97,-71.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2705.59,-74.49 2715.09,-69.79 2704.73,-67.55 2705.59,-74.49"/>
+<path fill="none" stroke="midnightblue" d="M2365.41,-113.08C2368.22,-112.71 2371,-112.35 2373.71,-112 2493.52,-96.54 2635.97,-78.84 2698.97,-71.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2699.59,-74.49 2709.09,-69.79 2698.73,-67.55 2699.59,-74.49"/>
 </g>
 <!-- Node22&#45;&gt;Node23 -->
 <g id="edge26" class="edge">
 <title>Node22&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2251.97,-115.9C2133.75,-105.79 1870.72,-83.32 1746.78,-72.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1746.92,-69.23 1736.66,-71.87 1746.33,-76.2 1746.92,-69.23"/>
+<path fill="none" stroke="midnightblue" d="M2245.97,-115.85C2128.71,-105.73 1869.16,-83.34 1746.46,-72.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1746.71,-69.27 1736.44,-71.89 1746.11,-76.24 1746.71,-69.27"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node">
@@ -799,8 +799,8 @@
 <!-- Node28&#45;&gt;Node20 -->
 <g id="edge40" class="edge">
 <title>Node28&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M794.58,-247.6C1050.19,-240.53 1926.08,-215.35 2050.71,-199 2057.69,-198.08 2065.04,-196.77 2072.16,-195.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2073.35,-198.61 2082.36,-193.05 2071.84,-191.78 2073.35,-198.61"/>
+<path fill="none" stroke="midnightblue" d="M794.26,-247.59C1048.72,-240.51 1920.65,-215.29 2044.71,-199 2051.69,-198.08 2059.04,-196.76 2066.16,-195.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2067.35,-198.61 2076.36,-193.05 2065.84,-191.78 2067.35,-198.61"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node">
@@ -862,8 +862,8 @@
 <!-- Node31&#45;&gt;Node13 -->
 <g id="edge43" class="edge">
 <title>Node31&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M1563.82,-174.84C1671.88,-162.87 1878.68,-139.96 1977.08,-129.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1977.55,-132.52 1987.11,-127.94 1976.78,-125.56 1977.55,-132.52"/>
+<path fill="none" stroke="midnightblue" d="M1563.83,-174.81C1671.46,-162.84 1876.9,-139.99 1974.97,-129.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1975.42,-132.56 1984.97,-127.98 1974.65,-125.6 1975.42,-132.56"/>
 </g>
 <!-- Node31&#45;&gt;Node21 -->
 <g id="edge45" class="edge">
@@ -919,8 +919,8 @@
 <!-- Node35&#45;&gt;Node20 -->
 <g id="edge56" class="edge">
 <title>Node35&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1344.5,-248.78C1471.65,-246.5 1788.62,-237.12 2050.71,-199 2057.53,-198.01 2064.7,-196.68 2071.67,-195.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2072.66,-198.58 2081.68,-193.02 2071.16,-191.75 2072.66,-198.58"/>
+<path fill="none" stroke="midnightblue" d="M1344.53,-248.73C1470.99,-246.37 1785.01,-236.84 2044.71,-199 2051.53,-198.01 2058.7,-196.67 2065.67,-195.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2066.66,-198.58 2075.68,-193.02 2065.16,-191.74 2066.66,-198.58"/>
 </g>
 <!-- Node35&#45;&gt;Node29 -->
 <g id="edge54" class="edge">
@@ -944,130 +944,130 @@
 <g id="node36" class="node">
 <title>Node36</title>
 <g id="a_node36"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2187.21,-174 2187.21,-193 2234.21,-193 2234.21,-174 2187.21,-174"/>
-<text text-anchor="middle" x="2210.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
+<polygon fill="white" stroke="#bfbfbf" points="2181.21,-174 2181.21,-193 2228.21,-193 2228.21,-174 2181.21,-174"/>
+<text text-anchor="middle" x="2204.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
 </a>
 </g>
 </g>
 <!-- Node35&#45;&gt;Node36 -->
 <g id="edge58" class="edge">
 <title>Node35&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1344.25,-247.46C1527.38,-240.7 2097.06,-218.34 2177.71,-199 2180.07,-198.43 2182.48,-197.71 2184.86,-196.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2186.35,-200.05 2194.33,-193.08 2183.74,-193.55 2186.35,-200.05"/>
+<path fill="none" stroke="midnightblue" d="M1344.51,-247.43C1527.08,-240.61 2091.69,-218.2 2171.71,-199 2174.07,-198.43 2176.48,-197.7 2178.86,-196.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2180.35,-200.05 2188.33,-193.07 2177.74,-193.55 2180.35,-200.05"/>
 </g>
 <!-- Node37&#45;&gt;Node20 -->
 <g id="edge61" class="edge">
 <title>Node37&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1889.41,-302.43C1919.36,-293.69 1956.92,-281.22 1988.71,-266 2028.72,-246.85 2071.24,-217.12 2095.24,-199.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2097.58,-201.98 2103.48,-193.18 2093.38,-196.38 2097.58,-201.98"/>
+<path fill="none" stroke="midnightblue" d="M1886.66,-302.4C1915.89,-293.61 1952.63,-281.1 1983.71,-266 2023.38,-246.72 2065.57,-217.04 2089.39,-199.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2091.68,-201.97 2097.57,-193.16 2087.47,-196.38 2091.68,-201.97"/>
 </g>
 <!-- Node37&#45;&gt;Node31 -->
 <g id="edge62" class="edge">
 <title>Node37&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M1818.37,-302.21C1791.35,-280.05 1741.32,-239.49 1731.71,-235 1723.33,-231.08 1614.49,-208.69 1547.26,-195.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1547.75,-191.6 1537.26,-193.05 1546.36,-198.46 1547.75,-191.6"/>
+<path fill="none" stroke="midnightblue" d="M1817.89,-302.2C1791.68,-280.04 1743.12,-239.47 1733.71,-235 1725.29,-231 1615.52,-208.64 1547.71,-195.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1548.11,-191.56 1537.62,-193.03 1546.74,-198.42 1548.11,-191.56"/>
 </g>
 <!-- Node37&#45;&gt;Node33 -->
 <g id="edge89" class="edge">
 <title>Node37&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1779.03,-309.95C1755.17,-307.3 1727.11,-304.33 1701.71,-302 1488.67,-282.49 1427.57,-324.2 1221.71,-266 1130.28,-240.15 1121.11,-200.19 1031.71,-168 972.15,-146.55 899.04,-133.54 857.88,-127.36"/>
+<path fill="none" stroke="midnightblue" d="M1778.13,-309.91C1754.52,-307.26 1726.81,-304.31 1701.71,-302 1488.68,-282.4 1427.57,-324.2 1221.71,-266 1130.28,-240.15 1121.11,-200.19 1031.71,-168 972.15,-146.55 899.04,-133.54 857.88,-127.36"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="858.29,-123.89 847.89,-125.9 857.28,-130.81 858.29,-123.89"/>
 </g>
 <!-- Node37&#45;&gt;Node36 -->
 <g id="edge86" class="edge">
 <title>Node37&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1892.5,-304.38C1931.58,-295.39 1984.41,-281.97 2029.71,-266 2086.75,-245.89 2150.65,-215.05 2185.2,-197.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2186.8,-200.76 2194.13,-193.11 2183.63,-194.51 2186.8,-200.76"/>
+<path fill="none" stroke="midnightblue" d="M1891.58,-303.99C1929.72,-294.96 1980.83,-281.65 2024.71,-266 2081.18,-245.87 2144.43,-215.25 2178.89,-197.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2180.89,-200.74 2188.22,-193.09 2177.72,-194.5 2180.89,-200.74"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node">
 <title>Node38</title>
-<g id="a_node38"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction.">
-<polygon fill="white" stroke="black" points="1784.21,-241 1784.21,-260 1909.21,-260 1909.21,-241 1784.21,-241"/>
-<text text-anchor="middle" x="1846.71" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/ndarray.h</text>
+<g id="a_node38"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
+<polygon fill="white" stroke="black" points="1786.21,-241 1786.21,-260 1905.21,-260 1905.21,-241 1786.21,-241"/>
+<text text-anchor="middle" x="1845.71" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node37&#45;&gt;Node38 -->
 <g id="edge63" class="edge">
 <title>Node37&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M1838.1,-302.4C1839.69,-292.96 1841.81,-280.45 1843.55,-270.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1847.02,-270.64 1845.24,-260.19 1840.12,-269.47 1847.02,-270.64"/>
+<path fill="none" stroke="midnightblue" d="M1837.1,-302.4C1838.69,-292.96 1840.81,-280.45 1842.55,-270.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1846.02,-270.64 1844.24,-260.19 1839.12,-269.47 1846.02,-270.64"/>
 </g>
 <!-- Node37&#45;&gt;Node45 -->
 <g id="edge87" class="edge">
 <title>Node37&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1892.37,-309.17C2075.87,-285.42 2651.35,-210.95 2813.06,-190.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2813.64,-193.47 2823.11,-188.72 2812.74,-186.53 2813.64,-193.47"/>
+<path fill="none" stroke="midnightblue" d="M1891.46,-309.12C2074.27,-285.35 2645.29,-211.08 2806.78,-190.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2807.35,-193.54 2816.82,-188.78 2806.45,-186.6 2807.35,-193.54"/>
 </g>
 <!-- Node37&#45;&gt;Node46 -->
 <g id="edge88" class="edge">
 <title>Node37&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M1779.07,-309.44C1755.22,-306.7 1727.15,-303.81 1701.71,-302 1233.29,-268.72 1114.74,-289.38 645.71,-266 578.62,-262.66 500.18,-257.12 457.13,-253.95"/>
+<path fill="none" stroke="midnightblue" d="M1778.17,-309.39C1754.57,-306.67 1726.85,-303.8 1701.71,-302 1233.3,-268.53 1114.74,-289.38 645.71,-266 578.62,-262.66 500.18,-257.12 457.13,-253.95"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="457.2,-250.44 446.97,-253.19 456.68,-257.42 457.2,-250.44"/>
 </g>
 <!-- Node38&#45;&gt;Node5 -->
 <g id="edge67" class="edge">
 <title>Node38&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1783.89,-247.54C1526.71,-239.45 564.77,-208.68 500.71,-199 495.13,-198.16 489.3,-196.95 483.62,-195.59"/>
+<path fill="none" stroke="midnightblue" d="M1785.94,-247.63C1533.55,-239.69 564.97,-208.71 500.71,-199 495.13,-198.16 489.3,-196.95 483.62,-195.59"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="484.21,-192.12 473.65,-193.01 482.46,-198.9 484.21,-192.12"/>
 </g>
 <!-- Node38&#45;&gt;Node16 -->
 <g id="edge66" class="edge">
 <title>Node38&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M1838.75,-240.79C1824.91,-224.57 1799.61,-189.45 1818.71,-168 1864.84,-116.21 2062.66,-153.13 2128.71,-132 2165.33,-120.29 2203.56,-96.82 2226.25,-81.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2228.44,-84.27 2234.69,-75.72 2224.47,-78.5 2228.44,-84.27"/>
+<path fill="none" stroke="midnightblue" d="M1837.93,-240.77C1824.39,-224.53 1799.69,-189.38 1818.71,-168 1864.52,-116.52 2061.16,-153.25 2126.71,-132 2162.8,-120.3 2200.37,-96.83 2222.63,-81.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2224.74,-84.32 2230.92,-75.72 2220.72,-78.59 2224.74,-84.32"/>
 </g>
 <!-- Node38&#45;&gt;Node17 -->
 <g id="edge84" class="edge">
 <title>Node38&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1909.44,-246.74C2103.7,-238.08 2683.27,-211.27 2698.71,-199 2733.23,-171.57 2738.25,-115.11 2738.36,-85.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2741.86,-85.52 2738.2,-75.57 2734.86,-85.63 2741.86,-85.52"/>
+<path fill="none" stroke="midnightblue" d="M1905.38,-246.86C2095.77,-238.31 2677.29,-211.26 2692.71,-199 2727.23,-171.57 2732.25,-115.11 2732.36,-85.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2735.86,-85.52 2732.2,-75.57 2728.86,-85.63 2735.86,-85.52"/>
 </g>
 <!-- Node38&#45;&gt;Node22 -->
 <g id="edge76" class="edge">
 <title>Node38&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M1909.25,-246.77C2005.84,-241.69 2186.09,-228.5 2242.71,-199 2268.32,-185.66 2289.15,-158.77 2300.99,-140.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2304.24,-142.23 2306.62,-131.91 2298.32,-138.5 2304.24,-142.23"/>
+<path fill="none" stroke="midnightblue" d="M1905.53,-246.8C2000.42,-241.69 2180.43,-228.37 2236.71,-199 2262.31,-185.64 2283.14,-158.76 2294.99,-140.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2298.23,-142.23 2300.62,-131.91 2292.32,-138.49 2298.23,-142.23"/>
 </g>
 <!-- Node38&#45;&gt;Node23 -->
 <g id="edge68" class="edge">
 <title>Node38&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1801.22,-240.93C1745.74,-230.03 1658.15,-211.15 1648.71,-199 1640.26,-188.12 1646.5,-181.6 1648.71,-168 1651.41,-151.35 1655.68,-148.1 1660.71,-132 1665.59,-116.4 1670.78,-98.56 1674.49,-85.53"/>
+<path fill="none" stroke="midnightblue" d="M1800.45,-240.92C1745.25,-229.99 1658.1,-211.1 1648.71,-199 1640.27,-188.12 1646.5,-181.6 1648.71,-168 1651.41,-151.35 1655.68,-148.1 1660.71,-132 1665.59,-116.4 1670.78,-98.56 1674.49,-85.53"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1677.87,-86.44 1677.23,-75.86 1671.14,-84.53 1677.87,-86.44"/>
 </g>
 <!-- Node38&#45;&gt;Node27 -->
 <g id="edge85" class="edge">
 <title>Node38&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M1909.41,-249.65C1994.43,-248.18 2150.09,-239.49 2275.71,-199 2320.21,-184.66 2366.72,-155.31 2392.47,-137.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2394.8,-140.22 2400.98,-131.62 2390.78,-134.49 2394.8,-140.22"/>
+<path fill="none" stroke="midnightblue" d="M1905.55,-249.58C1989.09,-248.09 2144.5,-239.46 2269.71,-199 2314.2,-184.63 2360.71,-155.29 2386.47,-137.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2388.79,-140.21 2394.98,-131.61 2384.78,-134.48 2388.79,-140.21"/>
 </g>
 <!-- Node38&#45;&gt;Node31 -->
 <g id="edge69" class="edge">
 <title>Node38&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M1801.52,-240.96C1791.08,-238.99 1780.01,-236.92 1769.71,-235 1694.23,-220.96 1607.06,-205 1551.44,-194.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1551.9,-191.37 1541.44,-193.01 1550.64,-198.25 1551.9,-191.37"/>
+<path fill="none" stroke="midnightblue" d="M1802.69,-240.97C1792.53,-238.98 1781.75,-236.9 1771.71,-235 1696.2,-220.72 1608.97,-204.93 1552.89,-194.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1553.25,-191.39 1542.79,-193.07 1552.01,-198.28 1553.25,-191.39"/>
 </g>
 <!-- Node38&#45;&gt;Node32 -->
-<g id="edge65" class="edge">
+<g id="edge64" class="edge">
 <title>Node38&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M1802.94,-240.97C1740.79,-228.7 1632.59,-206.7 1615.71,-199 1611.14,-196.91 1561.43,-159.32 1533.13,-137.8"/>
+<path fill="none" stroke="midnightblue" d="M1802.13,-240.96C1740.25,-228.68 1632.52,-206.67 1615.71,-199 1611.14,-196.91 1561.43,-159.32 1533.13,-137.8"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1535.19,-134.97 1525.11,-131.7 1530.95,-140.54 1535.19,-134.97"/>
 </g>
 <!-- Node39 -->
 <g id="node39" class="node">
 <title>Node39</title>
 <g id="a_node39"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1895.71,-174 1895.71,-193 2041.71,-193 2041.71,-174 1895.71,-174"/>
-<text text-anchor="middle" x="1968.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/ndarray.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1895.71,-174 1895.71,-193 2035.71,-193 2035.71,-174 1895.71,-174"/>
+<text text-anchor="middle" x="1965.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node38&#45;&gt;Node39 -->
-<g id="edge64" class="edge">
+<g id="edge65" class="edge">
 <title>Node38&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M1862.91,-240.87C1883.51,-229.89 1919.3,-210.82 1943.49,-197.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1945.26,-200.96 1952.44,-193.17 1941.97,-194.78 1945.26,-200.96"/>
+<path fill="none" stroke="midnightblue" d="M1861.9,-240.73C1882.14,-229.77 1917.01,-210.88 1940.7,-198.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1942.66,-200.97 1949.78,-193.13 1939.32,-194.81 1942.66,-200.97"/>
 </g>
 <!-- Node40 -->
 <g id="node40" class="node">
@@ -1082,8 +1082,8 @@
 <!-- Node38&#45;&gt;Node40 -->
 <g id="edge70" class="edge">
 <title>Node38&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M1829.18,-240.87C1809.78,-231.31 1777.92,-215.63 1752.74,-203.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1753.97,-199.93 1743.45,-198.65 1750.88,-206.21 1753.97,-199.93"/>
+<path fill="none" stroke="midnightblue" d="M1828.32,-240.87C1809.06,-231.31 1777.45,-215.63 1752.45,-203.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1753.75,-199.96 1743.23,-198.65 1750.63,-206.23 1753.75,-199.96"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
@@ -1097,8 +1097,8 @@
 <!-- Node38&#45;&gt;Node41 -->
 <g id="edge77" class="edge">
 <title>Node38&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M1783.95,-243.36C1669.72,-231.72 1428.44,-206.45 1304.18,-193.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1304.3,-189.61 1293.99,-192.03 1303.56,-196.57 1304.3,-189.61"/>
+<path fill="none" stroke="midnightblue" d="M1786.17,-243.67C1673.45,-232.19 1429.22,-206.57 1304.03,-193.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1304.07,-189.6 1293.76,-192.01 1303.33,-196.56 1304.07,-189.6"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node">
@@ -1112,14 +1112,14 @@
 <!-- Node38&#45;&gt;Node44 -->
 <g id="edge82" class="edge">
 <title>Node38&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M1847.52,-240.73C1848.4,-231.18 1849.84,-215.62 1850.98,-203.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1854.48,-203.41 1851.92,-193.13 1847.51,-202.76 1854.48,-203.41"/>
+<path fill="none" stroke="midnightblue" d="M1846.66,-240.73C1847.68,-231.18 1849.36,-215.62 1850.69,-203.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1854.19,-203.44 1851.78,-193.13 1847.23,-202.7 1854.19,-203.44"/>
 </g>
 <!-- Node38&#45;&gt;Node45 -->
 <g id="edge83" class="edge">
 <title>Node38&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1909.38,-247.23C2054.42,-241.69 2424.4,-225.93 2732.71,-199 2759.49,-196.66 2789.44,-193.15 2813.09,-190.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2813.66,-193.62 2823.14,-188.88 2812.77,-186.68 2813.66,-193.62"/>
+<path fill="none" stroke="midnightblue" d="M1905.36,-247.32C2047.67,-241.85 2418.23,-226 2726.71,-199 2753.49,-196.66 2783.44,-193.14 2807.08,-190.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2807.66,-193.62 2817.14,-188.88 2806.77,-186.68 2807.66,-193.62"/>
 </g>
 <!-- Node40&#45;&gt;Node11 -->
 <g id="edge71" class="edge">
@@ -1130,8 +1130,8 @@
 <!-- Node40&#45;&gt;Node16 -->
 <g id="edge72" class="edge">
 <title>Node40&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M1771.22,-170.53C1776.11,-169.62 1780.99,-168.76 1785.71,-168 1917.84,-146.59 1955.05,-165.21 2084.71,-132 2134.25,-119.31 2188.86,-95.11 2220.34,-80.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2222.23,-83.06 2229.71,-75.56 2219.19,-76.76 2222.23,-83.06"/>
+<path fill="none" stroke="midnightblue" d="M1771.22,-170.53C1776.11,-169.63 1780.99,-168.77 1785.71,-168 1916.96,-146.68 1953.99,-165.32 2082.71,-132 2131.69,-119.32 2185.61,-95.12 2216.69,-80.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2218.5,-83.1 2225.94,-75.56 2215.42,-76.81 2218.5,-83.1"/>
 </g>
 <!-- Node40&#45;&gt;Node21 -->
 <g id="edge74" class="edge">
@@ -1160,8 +1160,8 @@
 <!-- Node41&#45;&gt;Node38 -->
 <g id="edge81" class="edge">
 <title>Node41&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M1293.94,-191.1C1411.36,-203.08 1652.62,-228.36 1773.87,-241.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1773.84,-244.89 1784.16,-242.48 1774.59,-237.93 1773.84,-244.89"/>
+<path fill="none" stroke="midnightblue" d="M1294.1,-191.13C1412.39,-203.21 1655.99,-228.78 1775.94,-241.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1775.79,-245.2 1786.11,-242.79 1776.54,-238.24 1775.79,-245.2"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node">
@@ -1214,8 +1214,8 @@
 <!-- Node48&#45;&gt;Node22 -->
 <g id="edge107" class="edge">
 <title>Node48&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M1243.06,-488.48C1374.05,-482.44 1797.64,-454.15 2121.71,-333 2221.24,-295.79 2282.6,-298.57 2319.71,-199 2326.71,-180.21 2322.66,-157.12 2318.17,-141.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2321.48,-140.22 2315.11,-131.75 2314.81,-142.34 2321.48,-140.22"/>
+<path fill="none" stroke="midnightblue" d="M1242.91,-488.51C1373.4,-482.56 1795.34,-454.5 2117.71,-333 2216.45,-295.78 2277.28,-298.04 2313.71,-199 2320.63,-180.18 2316.59,-157.1 2312.12,-141.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2315.44,-140.22 2309.09,-131.74 2308.77,-142.33 2315.44,-140.22"/>
 </g>
 <!-- Node48&#45;&gt;Node29 -->
 <g id="edge102" class="edge">
@@ -1250,26 +1250,26 @@
 <!-- Node50&#45;&gt;Node8 -->
 <g id="edge122" class="edge">
 <title>Node50&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M1244.41,-714.28C1444.98,-715.1 2300.71,-712.24 2300.71,-604 2300.71,-604 2300.71,-604 2300.71,-490 2300.71,-429.69 1865.07,-394.7 1702.73,-383.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1702.65,-380.24 1692.44,-383.07 1702.18,-387.22 1702.65,-380.24"/>
+<path fill="none" stroke="midnightblue" d="M1244.52,-714.26C1444.59,-714.96 2294.71,-711.6 2294.71,-604 2294.71,-604 2294.71,-604 2294.71,-490 2294.71,-430.26 1863.55,-394.94 1702.47,-383.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1702.47,-380.32 1692.25,-383.13 1701.99,-387.3 1702.47,-380.32"/>
 </g>
 <!-- Node50&#45;&gt;Node17 -->
 <g id="edge144" class="edge">
 <title>Node50&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1244.49,-713.67C1467.23,-711.76 2507.16,-701.15 2566.71,-669 2791.52,-547.61 2820.55,-442.56 2897.71,-199 2918.15,-134.5 2822.4,-93.57 2770,-76.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2771.04,-73.02 2760.45,-73.33 2768.92,-79.69 2771.04,-73.02"/>
+<path fill="none" stroke="midnightblue" d="M1244.3,-713.66C1466.06,-711.73 2501.43,-701.02 2560.71,-669 2785.52,-547.59 2814.55,-442.56 2891.71,-199 2912.15,-134.5 2816.4,-93.57 2764,-76.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2765.04,-73.02 2754.45,-73.33 2762.92,-79.69 2765.04,-73.02"/>
 </g>
 <!-- Node50&#45;&gt;Node20 -->
 <g id="edge121" class="edge">
 <title>Node50&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1244.27,-713.9C1464.68,-713.21 2488.84,-707.9 2542.71,-669 2567.68,-650.97 2566.71,-634.8 2566.71,-604 2566.71,-604 2566.71,-604 2566.71,-490 2566.71,-387.68 2244.76,-240.47 2144.29,-197.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2145.58,-193.76 2135.01,-193.03 2142.82,-200.19 2145.58,-193.76"/>
+<path fill="none" stroke="midnightblue" d="M1244.45,-713.89C1464.62,-713.16 2483.11,-707.71 2536.71,-669 2561.68,-650.97 2560.71,-634.8 2560.71,-604 2560.71,-604 2560.71,-604 2560.71,-490 2560.71,-387.68 2238.76,-240.47 2138.29,-197.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2139.58,-193.76 2129.01,-193.03 2136.82,-200.19 2139.58,-193.76"/>
 </g>
 <!-- Node50&#45;&gt;Node23 -->
 <g id="edge123" class="edge">
 <title>Node50&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1244.45,-713.58C1418.65,-711.61 2088.31,-702.02 2296.71,-669 2402.47,-652.24 2528.71,-711.08 2528.71,-604 2528.71,-604 2528.71,-604 2528.71,-434 2528.71,-190.24 2322.3,-166.54 2084.71,-112 1967.51,-85.1 1827.39,-74.08 1746.46,-69.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1746.58,-66.22 1736.41,-69.19 1746.21,-73.21 1746.58,-66.22"/>
+<path fill="none" stroke="midnightblue" d="M1244.22,-713.57C1417.47,-711.57 2083.45,-701.86 2290.71,-669 2396.47,-652.23 2522.71,-711.08 2522.71,-604 2522.71,-604 2522.71,-604 2522.71,-434 2522.71,-191.67 2318.66,-167.24 2082.71,-112 1966.36,-84.76 1827.13,-73.86 1746.51,-69.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1746.66,-66.11 1736.5,-69.1 1746.31,-73.1 1746.66,-66.11"/>
 </g>
 <!-- Node50&#45;&gt;Node29 -->
 <g id="edge117" class="edge">
@@ -1286,8 +1286,8 @@
 <!-- Node50&#45;&gt;Node31 -->
 <g id="edge124" class="edge">
 <title>Node50&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M1244.26,-713.94C1409.58,-713.44 2020.82,-708.85 2209.71,-669 2287.64,-652.56 2376.71,-683.65 2376.71,-604 2376.71,-604 2376.71,-604 2376.71,-434 2376.71,-297.26 1899.08,-377.31 1769.71,-333 1717.43,-315.09 1574.21,-231.65 1517.9,-198.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1519.42,-195.14 1509.03,-193.05 1515.84,-201.16 1519.42,-195.14"/>
+<path fill="none" stroke="midnightblue" d="M1244.29,-713.93C1409.04,-713.37 2016.06,-708.62 2203.71,-669 2281.64,-652.55 2370.71,-683.65 2370.71,-604 2370.71,-604 2370.71,-604 2370.71,-434 2370.71,-298.35 1896.98,-377.14 1768.71,-333 1742.37,-323.93 1581.03,-233.32 1518.99,-198.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1520.35,-195 1509.92,-193.12 1516.9,-201.09 1520.35,-195"/>
 </g>
 <!-- Node50&#45;&gt;Node33 -->
 <g id="edge142" class="edge">
@@ -1346,8 +1346,8 @@
 <!-- Node50&#45;&gt;Node53 -->
 <g id="edge143" class="edge">
 <title>Node50&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M1244.45,-713.57C1415.08,-711.63 2076.16,-702.25 2618.71,-669 2632.37,-668.16 2647.06,-666.98 2660.84,-665.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2661.53,-669.2 2671.17,-664.8 2660.89,-662.23 2661.53,-669.2"/>
+<path fill="none" stroke="midnightblue" d="M1244.28,-713.57C1414.18,-711.6 2072.46,-702.15 2612.71,-669 2626.37,-668.16 2641.06,-666.98 2654.84,-665.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2655.53,-669.2 2665.17,-664.8 2654.89,-662.23 2655.53,-669.2"/>
 </g>
 <!-- Node51&#45;&gt;Node3 -->
 <g id="edge129" class="edge">
@@ -1418,35 +1418,35 @@
 <!-- Node52&#45;&gt;Node45 -->
 <g id="edge135" class="edge">
 <title>Node52&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1579.36,-600.27C1696.28,-594.37 2055.97,-571.35 2344.71,-501 2414.66,-483.96 2433.2,-478.91 2496.71,-445 2638.95,-369.07 2788.68,-243.08 2838.49,-199.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2840.89,-202.26 2846.11,-193.04 2836.28,-196.99 2840.89,-202.26"/>
+<path fill="none" stroke="midnightblue" d="M1579.48,-600.21C1695.97,-594.18 2052.46,-570.88 2338.71,-501 2408.65,-483.93 2427.2,-478.91 2490.71,-445 2632.95,-369.07 2782.68,-243.08 2832.49,-199.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2834.89,-202.26 2840.11,-193.04 2830.28,-196.99 2834.89,-202.26"/>
 </g>
 <!-- Node54&#45;&gt;Node17 -->
 <g id="edge151" class="edge">
 <title>Node54&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M3012.24,-241C3004.64,-216.48 2979.13,-145.26 2930.71,-112 2881.9,-78.47 2811.48,-69.69 2770.57,-67.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2770.49,-64.02 2760.35,-67.1 2770.19,-71.02 2770.49,-64.02"/>
+<path fill="none" stroke="midnightblue" d="M3006.24,-241C2998.64,-216.48 2973.13,-145.26 2924.71,-112 2875.9,-78.47 2805.48,-69.69 2764.57,-67.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2764.49,-64.02 2754.35,-67.1 2764.19,-71.02 2764.49,-64.02"/>
 </g>
 <!-- Node54&#45;&gt;Node45 -->
 <g id="edge150" class="edge">
 <title>Node54&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M2993.6,-240.87C2966.08,-229.62 2917.76,-209.87 2886.25,-196.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2887.24,-193.61 2876.66,-193.06 2884.59,-200.09 2887.24,-193.61"/>
+<path fill="none" stroke="midnightblue" d="M2987.6,-240.87C2960.08,-229.62 2911.76,-209.87 2880.25,-196.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2881.24,-193.61 2870.66,-193.06 2878.59,-200.09 2881.24,-193.61"/>
 </g>
 <!-- Node55 -->
 <g id="node55" class="node">
 <title>Node55</title>
 <g id="a_node55"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3021.21,-174 3021.21,-193 3116.21,-193 3116.21,-174 3021.21,-174"/>
-<text text-anchor="middle" x="3068.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/common.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3015.21,-174 3015.21,-193 3110.21,-193 3110.21,-174 3015.21,-174"/>
+<text text-anchor="middle" x="3062.71" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/common.h</text>
 </a>
 </g>
 </g>
 <!-- Node54&#45;&gt;Node55 -->
 <g id="edge149" class="edge">
 <title>Node54&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M3021.99,-240.73C3030.41,-230.6 3044.46,-213.69 3054.96,-201.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3057.85,-203.06 3061.54,-193.13 3052.46,-198.58 3057.85,-203.06"/>
+<path fill="none" stroke="midnightblue" d="M3015.99,-240.73C3024.41,-230.6 3038.46,-213.69 3048.96,-201.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3051.85,-203.06 3055.54,-193.13 3046.46,-198.58 3051.85,-203.06"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index 65cb54392f..93c44e60f4 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -455,9 +455,9 @@ $(function() {
 <tr id="row_1_7_5_0_0_" class="even" 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_1runtime_1_1vm_1_1Instruction_1_1Arg.html" target="_self">Arg</a></td><td class="desc">The auxiliary data structure for instruction argument </td></tr>
 <tr id="row_1_7_5_1_" class="even" 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="structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html" target="_self">VMFuncInfo</a></td><td class="desc">Information entry in executable function table </td></tr>
 <tr id="row_1_7_5_2_" class="even" 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_1runtime_1_1vm_1_1VMExecutable.html" target="_self">VMExecutable</a></td><td class="desc">The virtual machine executable emitted by the VM compiler </td></tr>
-<tr id="row_1_7_5_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_1_7_5_3_" class="arrow" onclick="toggleFolder('1_7_5_3_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1NDArrayCacheMetadata.html" target="_self">NDArrayCacheMetadata</a></td><td class="desc">Metadata for <a class="el" href="classtvm_1_1runtime_1_1NDArray.html" title="M [...]
-<tr id="row_1_7_5_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_1_7_5_3_0_" class="arrow" onclick="toggleFolder('1_7_5_3_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1NDArrayCacheMetadata_1_1FileRecord.html" target="_self">FileRecord</a></td><td class="desc">Each shard of <a class="el" href="classtvm_1_1runtime_1_1NDArray.htm [...]
-<tr id="row_1_7_5_3_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1NDArrayCacheMetadata_1_1FileRecord_1_1ParamRecord.html" target="_self">ParamRecord</a></td><td class="desc">Metadata of each parameter </td></tr>
+<tr id="row_1_7_5_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_1_7_5_3_" class="arrow" onclick="toggleFolder('1_7_5_3_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata.html" target="_self">TensorCacheMetadata</a></td><td class="desc">Metadata for <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Mana [...]
+<tr id="row_1_7_5_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;">&#160;</span><span id="arr_1_7_5_3_0_" class="arrow" onclick="toggleFolder('1_7_5_3_0_')">&#9658;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html" target="_self">FileRecord</a></td><td class="desc">Each shard of <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" [...]
+<tr id="row_1_7_5_3_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:96px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1runtime_1_1vm_1_1TensorCacheMetadata_1_1FileRecord_1_1ParamRecord.html" target="_self">ParamRecord</a></td><td class="desc">Metadata of each parameter </td></tr>
 <tr id="row_1_7_5_4_" class="even" 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_1runtime_1_1vm_1_1VMClosureObj.html" target="_self">VMClosureObj</a></td><td class="desc">An object representing a vm closure </td></tr>
 <tr id="row_1_7_5_5_" class="even" 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_1runtime_1_1vm_1_1VMClosure.html" target="_self">VMClosure</a></td><td class="desc">Reference to closure </td></tr>
 <tr id="row_1_7_5_6_" class="even" 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_1runtime_1_1vm_1_1VMExtensionNode.html" target="_self">VMExtensionNode</a></td><td class="desc">Represent a VM extension. A VM extension allows the user to extend the VM with target specific functionalities. The VM holds the reference of the extensions to ensure the exten [...]
@@ -473,10 +473,10 @@ $(function() {
 <tr id="row_1_7_13_" class="even" 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_1runtime_1_1Session.html" target="_self">Session</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1runtime_1_1SessionObj.html" title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">Sessi [...]
 <tr id="row_1_7_14_" class="even" 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_1runtime_1_1DiscoChannel.html" target="_self">DiscoChannel</a></td><td class="desc">A bi-directional channel for controler-worker communication. This channel is primarily used to transfer control messages but not data </td></tr>
 <tr id="row_1_7_15_" class="even" 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_1runtime_1_1WorkerZeroData.html" target="_self">WorkerZeroData</a></td><td class="desc">A special communication channel between controler and worker-0, assuming they are always collocated in the same process </td></tr>
-<tr id="row_1_7_16_" class="even" 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_1runtime_1_1NDArray.html" target="_self">NDArray</a></td><td class="desc">Managed <a class="el" href="classtvm_1_1runtime_1_1NDArray.html" title="Managed NDArray. The array is backed by reference counted blocks.">NDArray</a>. The array is backed by reference counted blocks [...]
-<tr id="row_1_7_17_" class="even" 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_1runtime_1_1NVTXScopedRange.html" target="_self">NVTXScopedRange</a></td><td class="desc">A class to create a NVTX range. No-op if TVM is not built against NVTX </td></tr>
-<tr id="row_1_7_18_" class="even" 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_1runtime_1_1TimerNode.html" target="_self">TimerNode</a></td><td class="desc">Base class for all implementations </td></tr>
-<tr id="row_1_7_19_" class="even" 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_1runtime_1_1Timer.html" target="_self">Timer</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a> for a specific device </td></tr>
+<tr id="row_1_7_16_" class="even" 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_1runtime_1_1NVTXScopedRange.html" target="_self">NVTXScopedRange</a></td><td class="desc">A class to create a NVTX range. No-op if TVM is not built against NVTX </td></tr>
+<tr id="row_1_7_17_" class="even" 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_1runtime_1_1TimerNode.html" target="_self">TimerNode</a></td><td class="desc">Base class for all implementations </td></tr>
+<tr id="row_1_7_18_" class="even" 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_1runtime_1_1Timer.html" target="_self">Timer</a></td><td class="desc"><a class="el" href="classtvm_1_1runtime_1_1Timer.html" title="Timer for a specific device.">Timer</a> for a specific device </td></tr>
+<tr id="row_1_7_19_" class="even" 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_1runtime_1_1Tensor.html" target="_self">Tensor</a></td><td class="desc">Managed <a class="el" href="classtvm_1_1runtime_1_1Tensor.html" title="Managed Tensor. The array is backed by reference counted blocks.">Tensor</a>. The array is backed by reference counted blocks </td></tr>
 <tr id="row_1_8_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_8_" class="arrow" onclick="toggleFolder('1_8_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1script.html" target="_self">script</a></td><td class="desc"></td></tr>
 <tr id="row_1_8_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span id="arr_1_8_0_" class="arrow" onclick="toggleFolder('1_8_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1script_1_1ir__builder.html" target="_self">ir_builder</a></td><td class="desc"></td></tr>
 <tr id="row_1_8_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><span id="arr_1_8_0_0_" class="arrow" onclick="toggleFolder('1_8_0_0_')">&#9658;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html" target="_self">details</a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/arg__info_8h.html b/docs/reference/api/doxygen/arg__info_8h.html
index b270b3bd02..7f0cba42e1 100644
--- a/docs/reference/api/doxygen/arg__info_8h.html
+++ b/docs/reference/api/doxygen/arg__info_8h.html
@@ -82,7 +82,7 @@ $(function() {
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for arg_info.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="arg__info_8h__incl.svg" width="5704" height="1231"><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="arg__info_8h__incl.svg" width="5692" height="1231"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div><div class="textblock"><div class="dynheader">
diff --git a/docs/reference/api/doxygen/arg__info_8h__incl.svg b/docs/reference/api/doxygen/arg__info_8h__incl.svg
index 50c92fbda6..235322eae5 100644
--- a/docs/reference/api/doxygen/arg__info_8h__incl.svg
+++ b/docs/reference/api/doxygen/arg__info_8h__incl.svg
@@ -4,18 +4,18 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/meta_schedule/arg_info.h Pages: 1 -->
-<svg width="4278pt" height="923pt"
- viewBox="0.00 0.00 4278.44 923.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="4269pt" height="923pt"
+ viewBox="0.00 0.00 4269.44 923.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 919)">
 <title>include/tvm/meta_schedule/arg_info.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-919 4274.44,-919 4274.44,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-919 4265.44,-919 4265.44,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="3586.44,-884.5 3586.44,-914.5 3738.44,-914.5 3738.44,-884.5 3586.44,-884.5"/>
-<text text-anchor="start" x="3594.44" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="3662.44" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">/arg_info.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="3577.44,-884.5 3577.44,-914.5 3729.44,-914.5 3729.44,-884.5 3577.44,-884.5"/>
+<text text-anchor="start" x="3585.44" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="3653.44" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">/arg_info.h</text>
 </a>
 </g>
 </g>
@@ -23,16 +23,16 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3988.94,-112.5 3988.94,-131.5 4127.94,-131.5 4127.94,-112.5 3988.94,-112.5"/>
-<text text-anchor="middle" x="4058.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3979.94,-112.5 3979.94,-131.5 4118.94,-131.5 4118.94,-112.5 3979.94,-112.5"/>
+<text text-anchor="middle" x="4049.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M3738.52,-891.91C3901.66,-876.75 4270.44,-836.55 4270.44,-783 4270.44,-783 4270.44,-783 4270.44,-249.5 4270.44,-180.24 4185.96,-148.01 4123.65,-133.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4124.38,-130.24 4113.86,-131.51 4122.88,-137.08 4124.38,-130.24"/>
+<path fill="none" stroke="midnightblue" d="M3729.52,-891.91C3892.66,-876.75 4261.44,-836.55 4261.44,-783 4261.44,-783 4261.44,-783 4261.44,-249.5 4261.44,-180.24 4176.96,-148.01 4114.65,-133.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4115.38,-130.24 4104.86,-131.51 4113.88,-137.08 4115.38,-130.24"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
@@ -47,7 +47,7 @@
 <!-- Node1&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node1&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M3586.05,-897.55C3073.85,-891.01 156.98,-851.23 88.44,-792 62.66,-769.72 64.16,-746.93 78.44,-716 156.27,-547.41 270.6,-581.55 396.44,-445 478.39,-356.08 464.58,-295.24 569.44,-235 605.44,-214.32 650.52,-201.59 686.04,-194.09"/>
+<path fill="none" stroke="midnightblue" d="M3577.25,-897.55C3066.33,-890.99 156.81,-851.08 88.44,-792 62.66,-769.72 64.16,-746.93 78.44,-716 156.27,-547.41 270.6,-581.55 396.44,-445 478.39,-356.08 464.58,-295.24 569.44,-235 605.44,-214.32 650.52,-201.59 686.04,-194.09"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="687.15,-197.44 696.26,-192.02 685.76,-190.58 687.15,-197.44"/>
 </g>
 <!-- Node4 -->
@@ -62,8 +62,8 @@
 <!-- Node1&#45;&gt;Node4 -->
 <g id="edge3" class="edge">
 <title>Node1&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M3586.27,-895.87C3295.13,-885.8 2256.19,-849.88 1999.23,-841"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1999.12,-837.49 1989,-840.64 1998.87,-844.49 1999.12,-837.49"/>
+<path fill="none" stroke="midnightblue" d="M3577.39,-895.86C3287.54,-885.78 2255.52,-849.92 1999.32,-841.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1999.23,-837.51 1989.12,-840.66 1998.99,-844.5 1999.23,-837.51"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node">
@@ -77,119 +77,119 @@
 <!-- Node1&#45;&gt;Node11 -->
 <g id="edge180" class="edge">
 <title>Node1&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M3586.38,-891.38C3293.17,-862.93 2252.44,-752.29 2252.44,-615 2252.44,-615 2252.44,-615 2252.44,-551.5 2252.44,-509.22 2146.92,-427.54 2101.66,-394.45"/>
+<path fill="none" stroke="midnightblue" d="M3577.12,-891.26C3284.76,-862.51 2252.44,-751.33 2252.44,-615 2252.44,-615 2252.44,-615 2252.44,-551.5 2252.44,-509.22 2146.92,-427.54 2101.66,-394.45"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2103.61,-391.54 2093.46,-388.5 2099.5,-397.21 2103.61,-391.54"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node">
 <title>Node25</title>
 <g id="a_node25"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime.">
-<polygon fill="white" stroke="black" points="2347.94,-112.5 2347.94,-131.5 2466.94,-131.5 2466.94,-112.5 2347.94,-112.5"/>
-<text text-anchor="middle" x="2407.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
+<polygon fill="white" stroke="black" points="2344.94,-112.5 2344.94,-131.5 2463.94,-131.5 2463.94,-112.5 2344.94,-112.5"/>
+<text text-anchor="middle" x="2404.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node25 -->
 <g id="edge182" class="edge">
 <title>Node1&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M3738.88,-890.91C3849.85,-877.74 4042.44,-845.83 4042.44,-783 4042.44,-783 4042.44,-783 4042.44,-551.5 4042.44,-328.37 3934.43,-223.97 3718.44,-168 3658.03,-152.35 2739.92,-130.51 2477.19,-124.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2477.09,-121.05 2467.01,-124.32 2476.93,-128.05 2477.09,-121.05"/>
+<path fill="none" stroke="midnightblue" d="M3729.88,-890.91C3840.85,-877.74 4033.44,-845.83 4033.44,-783 4033.44,-783 4033.44,-783 4033.44,-551.5 4033.44,-328.37 3925.43,-223.99 3709.44,-168 3649.34,-152.42 2736.43,-130.55 2474.31,-124.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2474.24,-121.06 2464.16,-124.34 2474.08,-128.06 2474.24,-121.06"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node">
 <title>Node32</title>
 <g id="a_node32"><a xlink:href="data__type_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3034.44,-174 3034.44,-193 3172.44,-193 3172.44,-174 3034.44,-174"/>
-<text text-anchor="middle" x="3103.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
+<polygon fill="white" stroke="black" points="3025.44,-174 3025.44,-193 3163.44,-193 3163.44,-174 3025.44,-174"/>
+<text text-anchor="middle" x="3094.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node32 -->
 <g id="edge181" class="edge">
 <title>Node1&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M3738.52,-886.17C3792.99,-872.95 3862.61,-846.02 3897.44,-792 3929.84,-741.75 3907.63,-707.6 3871.44,-660 3666.94,-391.06 3262.71,-238.01 3139.76,-196.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3140.66,-192.88 3130.07,-193.01 3138.43,-199.52 3140.66,-192.88"/>
+<path fill="none" stroke="midnightblue" d="M3729.52,-886.17C3783.99,-872.95 3853.61,-846.02 3888.44,-792 3920.84,-741.75 3898.63,-707.6 3862.44,-660 3657.94,-391.06 3253.71,-238.01 3130.76,-196.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3131.66,-192.88 3121.07,-193.01 3129.43,-199.52 3131.66,-192.88"/>
 </g>
 <!-- Node62 -->
 <g id="node62" class="node">
 <title>Node62</title>
 <g id="a_node62"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function.">
-<polygon fill="white" stroke="black" points="3611.94,-828.5 3611.94,-847.5 3712.94,-847.5 3712.94,-828.5 3611.94,-828.5"/>
-<text text-anchor="middle" x="3662.44" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/function.h</text>
+<polygon fill="white" stroke="black" points="3602.94,-828.5 3602.94,-847.5 3703.94,-847.5 3703.94,-828.5 3602.94,-828.5"/>
+<text text-anchor="middle" x="3653.44" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node62 -->
 <g id="edge183" class="edge">
 <title>Node1&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M3662.44,-884.4C3662.44,-876.47 3662.44,-866.46 3662.44,-857.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3665.94,-857.66 3662.44,-847.66 3658.94,-857.66 3665.94,-857.66"/>
+<path fill="none" stroke="midnightblue" d="M3653.44,-884.4C3653.44,-876.47 3653.44,-866.46 3653.44,-857.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3656.94,-857.66 3653.44,-847.66 3649.94,-857.66 3656.94,-857.66"/>
 </g>
 <!-- Node4&#45;&gt;Node3 -->
 <g id="edge6" class="edge">
 <title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1893.92,-836.21C1686.4,-832.61 865.08,-816.89 752.44,-792 626.79,-764.23 556.69,-787.16 485.44,-680 455.16,-634.47 663.68,-279.51 695.44,-235 702.86,-224.59 712.47,-214.33 721.28,-205.81"/>
+<path fill="none" stroke="midnightblue" d="M1893.79,-837.21C1703.39,-837.74 996.96,-836.6 778.44,-792 641.84,-764.12 564.42,-794.88 485.44,-680 454.46,-634.95 663.68,-279.51 695.44,-235 702.86,-224.59 712.47,-214.33 721.28,-205.81"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="723.84,-208.2 728.74,-198.81 719.05,-203.1 723.84,-208.2"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node">
 <title>Node5</title>
 <g id="a_node5"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3367.44,-174 3367.44,-193 3501.44,-193 3501.44,-174 3367.44,-174"/>
-<text text-anchor="middle" x="3434.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3358.44,-174 3358.44,-193 3492.44,-193 3492.44,-174 3358.44,-174"/>
+<text text-anchor="middle" x="3425.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node5 -->
 <g id="edge4" class="edge">
 <title>Node4&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1988.95,-836.93C2177.99,-836.4 2877.05,-831.71 3094.44,-792 3216.59,-769.69 3624.44,-739.17 3624.44,-615 3624.44,-615 3624.44,-615 3624.44,-378 3624.44,-287.36 3516.99,-223.62 3463.69,-197.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3464.94,-194.29 3454.41,-193.15 3461.93,-200.61 3464.94,-194.29"/>
+<path fill="none" stroke="midnightblue" d="M1988.94,-836.92C2177.14,-836.34 2870.69,-831.5 3086.44,-792 3208.37,-769.68 3615.44,-738.96 3615.44,-615 3615.44,-615 3615.44,-615 3615.44,-378 3615.44,-287.36 3507.99,-223.62 3454.69,-197.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3455.94,-194.29 3445.41,-193.15 3452.93,-200.61 3455.94,-194.29"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node">
 <title>Node6</title>
 <g id="a_node6"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3578.94,-174 3578.94,-193 3709.94,-193 3709.94,-174 3578.94,-174"/>
-<text text-anchor="middle" x="3644.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3569.94,-174 3569.94,-193 3700.94,-193 3700.94,-174 3569.94,-174"/>
+<text text-anchor="middle" x="3635.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node6 -->
 <g id="edge5" class="edge">
 <title>Node4&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1989.06,-836.19C2186.12,-832.68 2938.35,-817.84 3174.44,-792 3311.44,-777 3347.77,-776.72 3479.44,-736 3537.98,-717.9 3559.7,-720.79 3605.44,-680 3683.89,-610.04 3685.87,-404.22 3687.44,-389 3694.47,-320.77 3701.82,-299.11 3677.44,-235 3672.81,-222.83 3664.9,-210.58 3657.98,-201.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3660.67,-198.94 3651.79,-193.16 3655.13,-203.22 3660.67,-198.94"/>
+<path fill="none" stroke="midnightblue" d="M1989.09,-836.18C2185.38,-832.64 2932.02,-817.76 3166.44,-792 3303,-776.99 3339.2,-776.63 3470.44,-736 3528.98,-717.88 3550.7,-720.79 3596.44,-680 3674.89,-610.04 3676.87,-404.22 3678.44,-389 3685.47,-320.77 3692.82,-299.11 3668.44,-235 3663.81,-222.83 3655.9,-210.58 3648.98,-201.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3651.67,-198.94 3642.79,-193.16 3646.13,-203.22 3651.67,-198.94"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node">
 <title>Node7</title>
 <g id="a_node7"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2236.94,-174 2236.94,-193 2325.94,-193 2325.94,-174 2236.94,-174"/>
-<text text-anchor="middle" x="2281.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2233.94,-174 2233.94,-193 2322.94,-193 2322.94,-174 2233.94,-174"/>
+<text text-anchor="middle" x="2278.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node7 -->
 <g id="edge7" class="edge">
 <title>Node4&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1989.23,-832.05C2084.82,-820.82 2290.44,-789.42 2290.44,-727 2290.44,-727 2290.44,-727 2290.44,-613 2290.44,-458.12 2265.56,-420.71 2258.44,-266 2257.8,-252.24 2255.52,-248.46 2258.44,-235 2260.95,-223.4 2266.38,-211.27 2271.32,-201.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2274.39,-203.49 2276.17,-193.04 2268.27,-200.1 2274.39,-203.49"/>
+<path fill="none" stroke="midnightblue" d="M1989.23,-832.05C2084.82,-820.82 2290.44,-789.42 2290.44,-727 2290.44,-727 2290.44,-727 2290.44,-613 2290.44,-458 2263.23,-420.81 2255.44,-266 2254.75,-252.24 2252.52,-248.46 2255.44,-235 2257.95,-223.4 2263.38,-211.27 2268.32,-201.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2271.39,-203.49 2273.17,-193.04 2265.27,-200.1 2271.39,-203.49"/>
 </g>
 <!-- Node8 -->
 <g id="node8" class="node">
 <title>Node8</title>
 <g id="a_node8"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM.">
-<polygon fill="white" stroke="black" points="1901.94,-543 1901.94,-562 1980.94,-562 1980.94,-543 1901.94,-543"/>
-<text text-anchor="middle" x="1941.44" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="1906.94,-543 1906.94,-562 1985.94,-562 1985.94,-543 1906.94,-543"/>
+<text text-anchor="middle" x="1946.44" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node8 -->
 <g id="edge8" class="edge">
 <title>Node4&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M1941.44,-828.44C1941.44,-809.94 1941.44,-764.81 1941.44,-727 1941.44,-727 1941.44,-727 1941.44,-669 1941.44,-634.86 1941.44,-595.05 1941.44,-572.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1944.94,-572.19 1941.44,-562.19 1937.94,-572.19 1944.94,-572.19"/>
+<path fill="none" stroke="midnightblue" d="M1941.44,-828.44C1941.44,-809.94 1941.44,-764.81 1941.44,-727 1941.44,-727 1941.44,-727 1941.44,-669 1941.44,-634.83 1943.65,-595.03 1945.13,-572.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1948.62,-572.4 1945.8,-562.19 1941.64,-571.93 1948.62,-572.4"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node">
@@ -210,16 +210,16 @@
 <g id="node20" class="node">
 <title>Node20</title>
 <g id="a_node20"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1138.94,-56.5 1138.94,-75.5 1183.94,-75.5 1183.94,-56.5 1138.94,-56.5"/>
-<text text-anchor="middle" x="1161.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+<polygon fill="white" stroke="#bfbfbf" points="1135.94,-56.5 1135.94,-75.5 1180.94,-75.5 1180.94,-56.5 1135.94,-56.5"/>
+<text text-anchor="middle" x="1158.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node20 -->
 <g id="edge178" class="edge">
 <title>Node4&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1893.92,-836.53C1607.98,-833.65 127.33,-817.51 88.44,-792 15.95,-744.44 6.44,-701.7 6.44,-615 6.44,-615 6.44,-615 6.44,-182.5 6.44,-165.83 -43,-160.69 136.44,-112 233.9,-85.55 963.11,-70.65 1128.25,-67.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1128.8,-71.08 1138.73,-67.4 1128.67,-64.08 1128.8,-71.08"/>
+<path fill="none" stroke="midnightblue" d="M1893.92,-836.53C1607.98,-833.65 127.33,-817.51 88.44,-792 15.95,-744.44 6.44,-701.7 6.44,-615 6.44,-615 6.44,-615 6.44,-182.5 6.44,-165.83 -43,-160.7 136.44,-112 233.62,-85.63 960.69,-70.66 1125.35,-67.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1125.86,-71.09 1135.8,-67.4 1125.73,-64.09 1125.86,-71.09"/>
 </g>
 <!-- Node30 -->
 <g id="node30" class="node">
@@ -240,16 +240,16 @@
 <g id="node33" class="node">
 <title>Node33</title>
 <g id="a_node33"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2984.44,-112.5 2984.44,-131.5 3028.44,-131.5 3028.44,-112.5 2984.44,-112.5"/>
-<text text-anchor="middle" x="3006.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="2975.44,-112.5 2975.44,-131.5 3019.44,-131.5 3019.44,-112.5 2975.44,-112.5"/>
+<text text-anchor="middle" x="2997.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node33 -->
 <g id="edge175" class="edge">
 <title>Node4&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1989.26,-836.53C2196.13,-834.34 3015,-823.78 3270.44,-792 3386.88,-777.51 3416.6,-771.51 3528.44,-736 3780.23,-656.04 4004.44,-644.18 4004.44,-380 4004.44,-380 4004.44,-380 4004.44,-316.5 4004.44,-268.48 3891.57,-186.94 3847.44,-168 3772.15,-135.68 3184,-125.46 3038.77,-123.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.76,-119.92 3028.72,-123.28 3038.67,-126.91 3038.76,-119.92"/>
+<path fill="none" stroke="midnightblue" d="M1988.97,-836.53C2194.6,-834.32 3008.55,-823.72 3262.44,-792 3378.44,-777.51 3408.03,-771.43 3519.44,-736 3771.19,-655.94 3995.44,-644.18 3995.44,-380 3995.44,-380 3995.44,-380 3995.44,-316.5 3995.44,-268.48 3882.57,-186.94 3838.44,-168 3763.15,-135.68 3175,-125.46 3029.77,-123.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.76,-119.92 3019.72,-123.28 3029.67,-126.91 3029.76,-119.92"/>
 </g>
 <!-- Node48 -->
 <g id="node48" class="node">
@@ -263,8 +263,8 @@
 <!-- Node4&#45;&gt;Node48 -->
 <g id="edge174" class="edge">
 <title>Node4&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1989.2,-836.91C2212.76,-836.04 3148.67,-826.95 3237.44,-736 3318.49,-652.96 3178.98,-572.27 3068.44,-537 2981.79,-509.36 2711.31,-497.4 2598.56,-493.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2598.59,-490.02 2588.48,-493.18 2598.35,-497.02 2598.59,-490.02"/>
+<path fill="none" stroke="midnightblue" d="M1989.24,-836.89C2211.91,-835.89 3140.36,-826.29 3228.44,-736 3309.46,-652.94 3169.96,-572.35 3059.44,-537 2974.59,-509.86 2710.31,-497.66 2598.84,-493.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2598.66,-490.11 2588.54,-493.25 2598.41,-497.11 2598.66,-490.11"/>
 </g>
 <!-- Node50 -->
 <g id="node50" class="node">
@@ -300,16 +300,16 @@
 <g id="node55" class="node">
 <title>Node55</title>
 <g id="a_node55"><a xlink:href="ir_2global__info_8h.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself.">
-<polygon fill="white" stroke="black" points="828.44,-772.5 828.44,-791.5 940.44,-791.5 940.44,-772.5 828.44,-772.5"/>
-<text text-anchor="middle" x="884.44" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
+<polygon fill="white" stroke="black" points="861.44,-772.5 861.44,-791.5 973.44,-791.5 973.44,-772.5 861.44,-772.5"/>
+<text text-anchor="middle" x="917.44" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node55 -->
 <g id="edge144" class="edge">
 <title>Node4&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M1893.69,-834.56C1761.34,-827.8 1378.58,-808.26 1060.44,-792 1024.32,-790.15 984.03,-788.09 951.12,-786.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="950.88,-782.89 940.71,-785.88 950.52,-789.88 950.88,-782.89"/>
+<path fill="none" stroke="midnightblue" d="M1893.68,-834.76C1761.3,-828.51 1378.47,-810.13 1060.44,-792 1035.34,-790.57 1007.77,-788.87 983.59,-787.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="983.66,-783.82 973.46,-786.68 983.21,-790.81 983.66,-783.82"/>
 </g>
 <!-- Node61 -->
 <g id="node61" class="node">
@@ -323,74 +323,74 @@
 <!-- Node4&#45;&gt;Node61 -->
 <g id="edge177" class="edge">
 <title>Node4&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M1893.84,-837.39C1707.66,-838.55 1028.7,-839.39 819.44,-792 718.33,-769.1 607.99,-711.1 560.88,-684.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="562.49,-681.48 552.06,-679.59 559.03,-687.57 562.49,-681.48"/>
+<path fill="none" stroke="midnightblue" d="M1893.74,-837.08C1711.03,-837.08 1055.8,-834.08 852.44,-792 740.1,-768.76 615.32,-710.28 562.86,-684.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="564.43,-680.94 553.92,-679.56 561.28,-687.19 564.43,-680.94"/>
 </g>
 <!-- Node8&#45;&gt;Node3 -->
 <g id="edge9" class="edge">
 <title>Node8&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1901.91,-552.08C1809.74,-552.55 1573.97,-548.55 1384.44,-501 1199,-454.47 1159.69,-417.99 988.44,-333 934.76,-306.36 920.82,-299.94 871.44,-266 853.48,-253.65 851.39,-247.35 833.44,-235 817.06,-223.73 798.02,-212.59 781.85,-203.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="783.16,-200.37 772.7,-198.65 779.8,-206.51 783.16,-200.37"/>
+<path fill="none" stroke="midnightblue" d="M1906.64,-552.07C1813.83,-552.52 1576.42,-548.49 1385.44,-501 1198.31,-454.47 1158.31,-418.4 985.44,-333 931.71,-306.46 917.82,-299.94 868.44,-266 850.48,-253.65 848.3,-247.49 830.44,-235 814.44,-223.82 795.89,-212.61 780.21,-203.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="781.77,-200.46 771.35,-198.57 778.31,-206.55 781.77,-200.46"/>
 </g>
 <!-- Node8&#45;&gt;Node7 -->
 <g id="edge10" class="edge">
 <title>Node8&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1953.53,-543C1992.35,-515.5 2112.84,-428.45 2139.44,-389 2179.59,-329.44 2142.68,-290.36 2188.44,-235 2203.06,-217.31 2225.55,-204.86 2244.75,-196.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2246.15,-199.96 2254.15,-193.01 2243.56,-193.46 2246.15,-199.96"/>
+<path fill="none" stroke="midnightblue" d="M1958.21,-542.96C1996,-515.32 2113.32,-427.92 2139.44,-389 2179.24,-329.68 2140.75,-290.73 2185.44,-235 2199.69,-217.22 2221.97,-204.81 2241.15,-196.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2242.54,-199.96 2250.55,-193.03 2239.96,-193.45 2242.54,-199.96"/>
 </g>
 <!-- Node8&#45;&gt;Node9 -->
 <g id="edge11" class="edge">
 <title>Node8&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M1901.85,-543.56C1800.57,-523.25 1532.03,-469.4 1417.92,-446.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1418.51,-443.07 1408.02,-444.54 1417.14,-449.94 1418.51,-443.07"/>
+<path fill="none" stroke="midnightblue" d="M1906.5,-543.56C1804.34,-523.25 1533.47,-469.4 1418.38,-446.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1418.88,-443.06 1408.39,-444.54 1417.52,-449.92 1418.88,-443.06"/>
 </g>
 <!-- Node8&#45;&gt;Node11 -->
 <g id="edge115" class="edge">
 <title>Node8&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M1948.57,-542.76C1970.76,-515.58 2038.82,-432.21 2067.96,-396.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2070.87,-398.48 2074.48,-388.52 2065.45,-394.05 2070.87,-398.48"/>
+<path fill="none" stroke="midnightblue" d="M1953.32,-542.76C1974.72,-515.58 2040.34,-432.21 2068.44,-396.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2071.3,-398.54 2074.73,-388.52 2065.8,-394.21 2071.3,-398.54"/>
 </g>
 <!-- Node8&#45;&gt;Node25 -->
 <g id="edge116" class="edge">
 <title>Node8&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1963.87,-542.99C2010.68,-523.85 2117.85,-472.44 2159.44,-389 2205.28,-297.03 2145.27,-229.73 2227.44,-168 2245.89,-154.13 2300.11,-141.69 2344.26,-133.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2345.17,-136.81 2354.37,-131.56 2343.9,-129.93 2345.17,-136.81"/>
+<path fill="none" stroke="midnightblue" d="M1968.49,-542.89C2014.47,-523.56 2119.64,-471.79 2159.44,-389 2203.79,-296.72 2142.58,-229.5 2224.44,-168 2242.89,-154.13 2297.11,-141.69 2341.26,-133.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2342.17,-136.81 2351.37,-131.56 2340.9,-129.93 2342.17,-136.81"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node">
 <title>Node29</title>
 <g id="a_node29"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1278.94,-112.5 1278.94,-131.5 1347.94,-131.5 1347.94,-112.5 1278.94,-112.5"/>
-<text text-anchor="middle" x="1313.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
+<polygon fill="white" stroke="#bfbfbf" points="1275.94,-112.5 1275.94,-131.5 1344.94,-131.5 1344.94,-112.5 1275.94,-112.5"/>
+<text text-anchor="middle" x="1310.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node29 -->
 <g id="edge121" class="edge">
 <title>Node8&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M1929.78,-542.91C1901.32,-522.02 1825.82,-467.21 1760.44,-425 1595.35,-318.42 1531.69,-324.44 1380.44,-199 1358.96,-181.19 1338.38,-156.27 1325.82,-139.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1328.53,-137.66 1319.72,-131.77 1322.93,-141.87 1328.53,-137.66"/>
+<path fill="none" stroke="midnightblue" d="M1933.29,-542.76C1901.99,-522.01 1820.52,-468.27 1751.44,-425 1586.84,-321.92 1526.49,-323.51 1377.44,-199 1356.02,-181.11 1335.42,-156.21 1322.85,-139.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1325.55,-137.63 1316.74,-131.75 1319.96,-141.84 1325.55,-137.63"/>
 </g>
 <!-- Node8&#45;&gt;Node33 -->
 <g id="edge120" class="edge">
 <title>Node8&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1967.01,-542.93C1994.26,-533.54 2038.48,-517.61 2075.44,-501 2092.85,-493.18 2096.42,-489.64 2113.44,-481 2307.14,-382.62 2364.36,-374.74 2552.44,-266 2573.78,-253.66 2576.87,-246.94 2598.44,-235 2632.9,-215.92 2645.07,-218.26 2679.44,-199 2700.62,-187.13 2701.89,-177.02 2724.44,-168 2810.13,-133.7 2920.33,-125.49 2974.07,-123.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.46,-127.05 2984.34,-123.25 2974.24,-120.06 2974.46,-127.05"/>
+<path fill="none" stroke="midnightblue" d="M1972.23,-542.96C1999.2,-533.72 2042.51,-518.01 2078.44,-501 2094.63,-493.33 2097.64,-489.45 2113.44,-481 2301.82,-380.18 2358.9,-373.71 2543.44,-266 2564.73,-253.57 2567.87,-246.94 2589.44,-235 2623.9,-215.92 2636.07,-218.26 2670.44,-199 2691.62,-187.13 2692.89,-177.02 2715.44,-168 2801.13,-133.7 2911.33,-125.49 2965.07,-123.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.46,-127.05 2975.34,-123.25 2965.24,-120.06 2965.46,-127.05"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node">
 <title>Node45</title>
 <g id="a_node45"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1067.94,-174 1067.94,-193 1132.94,-193 1132.94,-174 1067.94,-174"/>
-<text text-anchor="middle" x="1100.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="1064.94,-174 1064.94,-193 1129.94,-193 1129.94,-174 1064.94,-174"/>
+<text text-anchor="middle" x="1097.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node45 -->
 <g id="edge118" class="edge">
 <title>Node8&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1901.82,-549.41C1777.29,-542.16 1396.18,-514.64 1297.44,-445 1209.23,-382.79 1249.19,-313.81 1175.44,-235 1161.4,-220 1142.12,-207.14 1126.63,-198.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1127.98,-194.9 1117.54,-193.07 1124.56,-201.01 1127.98,-194.9"/>
+<path fill="none" stroke="midnightblue" d="M1906.55,-549.4C1781.15,-542.14 1397.34,-514.58 1297.44,-445 1208.31,-382.93 1247.07,-313.91 1172.44,-235 1158.32,-220.08 1139.05,-207.22 1123.57,-198.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1124.94,-194.96 1114.5,-193.11 1121.51,-201.06 1124.94,-194.96"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node">
@@ -404,14 +404,14 @@
 <!-- Node8&#45;&gt;Node46 -->
 <g id="edge119" class="edge">
 <title>Node8&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M1935.74,-542.96C1921.35,-521.73 1881.84,-465.36 1841.44,-425 1813,-396.6 1802.41,-393.35 1770.44,-369 1748.94,-352.63 1741.06,-351.58 1721.44,-333 1700.12,-312.81 1679.22,-285.95 1666.59,-268.68"/>
+<path fill="none" stroke="midnightblue" d="M1940.82,-542.88C1926.62,-521.45 1887.5,-464.69 1846.44,-425 1816.27,-395.84 1804.23,-393.87 1770.44,-369 1748.67,-352.98 1741.06,-351.58 1721.44,-333 1700.12,-312.81 1679.22,-285.95 1666.59,-268.68"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1669.15,-266.25 1660.46,-260.19 1663.47,-270.35 1669.15,-266.25"/>
 </g>
 <!-- Node8&#45;&gt;Node48 -->
 <g id="edge107" class="edge">
 <title>Node8&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1981.26,-547.6C2087.9,-537.14 2379.78,-508.53 2497.86,-496.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2498.46,-500.42 2508.07,-495.96 2497.77,-493.45 2498.46,-500.42"/>
+<path fill="none" stroke="midnightblue" d="M1986.4,-547.55C2092.45,-537.07 2380.83,-508.57 2497.96,-496.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2498.48,-500.45 2508.09,-495.99 2497.8,-493.49 2498.48,-500.45"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node">
@@ -425,14 +425,14 @@
 <!-- Node8&#45;&gt;Node49 -->
 <g id="edge117" class="edge">
 <title>Node8&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M1971.96,-542.98C2009.36,-532.53 2072.86,-514.79 2114.22,-503.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2115.29,-506.57 2123.98,-500.51 2113.4,-499.83 2115.29,-506.57"/>
+<path fill="none" stroke="midnightblue" d="M1976.24,-542.98C2012.69,-532.55 2074.52,-514.86 2114.91,-503.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2116.04,-506.62 2124.69,-500.51 2114.11,-499.89 2116.04,-506.62"/>
 </g>
 <!-- Node9&#45;&gt;Node3 -->
 <g id="edge13" class="edge">
 <title>Node9&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1332.57,-425.47C1301.35,-417.11 1253.26,-403.52 1212.44,-389 1079.37,-341.67 1044.35,-331.9 919.44,-266 896.98,-254.15 893.99,-246.67 871.44,-235 847.15,-222.44 819,-210.89 795.48,-202.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="796.63,-198.71 786.04,-198.51 794.19,-205.27 796.63,-198.71"/>
+<path fill="none" stroke="midnightblue" d="M1332.58,-425.44C1301.37,-417.05 1253.29,-403.45 1212.44,-389 1078.13,-341.5 1042.56,-332.24 916.44,-266 893.95,-254.19 890.95,-246.76 868.44,-235 844.72,-222.61 817.25,-211.08 794.3,-202.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="795.36,-198.83 784.77,-198.53 792.86,-205.37 795.36,-198.83"/>
 </g>
 <!-- Node10 -->
 <g id="node10" class="node">
@@ -458,14 +458,14 @@
 <!-- Node9&#45;&gt;Node20 -->
 <g id="edge105" class="edge">
 <title>Node9&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1353.39,-425.24C1297.61,-384.63 1066.8,-215.93 1058.44,-199 1034.65,-150.83 1098.9,-103.4 1136.47,-80.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1138.51,-83.62 1145.37,-75.55 1134.98,-77.58 1138.51,-83.62"/>
+<path fill="none" stroke="midnightblue" d="M1353.27,-425.24C1296.95,-384.65 1063.89,-216.01 1055.44,-199 1031.53,-150.88 1095.84,-103.44 1133.44,-80.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1135.49,-83.63 1142.36,-75.56 1131.96,-77.59 1135.49,-83.63"/>
 </g>
 <!-- Node9&#45;&gt;Node25 -->
 <g id="edge102" class="edge">
 <title>Node9&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1373.21,-425.11C1402.24,-392.61 1508.55,-279.82 1623.44,-235 1795.09,-168.03 1855.74,-235 2036.44,-199 2081.24,-190.07 2090.01,-178.63 2134.44,-168 2172.32,-158.94 2271.76,-143.3 2339.57,-133.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2340.38,-136.47 2349.75,-131.52 2339.34,-129.55 2340.38,-136.47"/>
+<path fill="none" stroke="midnightblue" d="M1373.21,-425.11C1402.24,-392.62 1508.57,-279.86 1623.44,-235 1793.83,-168.46 1854.05,-234.8 2033.44,-199 2078.24,-190.06 2087.01,-178.63 2131.44,-168 2169.32,-158.94 2268.76,-143.3 2336.57,-133.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2337.38,-136.47 2346.75,-131.52 2336.34,-129.55 2337.38,-136.47"/>
 </g>
 <!-- Node9&#45;&gt;Node30 -->
 <g id="edge106" class="edge">
@@ -476,8 +476,8 @@
 <!-- Node9&#45;&gt;Node33 -->
 <g id="edge104" class="edge">
 <title>Node9&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1424.32,-430.62C1531,-423.01 1762.1,-399.64 1944.44,-333 2081.19,-283.02 2088.03,-210 2227.44,-168 2370.49,-124.9 2845.34,-122.66 2974.03,-122.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.37,-126.37 2984.38,-122.89 2974.39,-119.37 2974.37,-126.37"/>
+<path fill="none" stroke="midnightblue" d="M1423.95,-430.79C1530.53,-423.44 1762.13,-400.44 1944.44,-333 2079.91,-282.88 2086.14,-209.7 2224.44,-168 2366.23,-125.25 2836.54,-122.75 2964.85,-122.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.18,-126.39 2975.18,-122.91 2965.19,-119.39 2965.18,-126.39"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node">
@@ -513,22 +513,22 @@
 <g id="node13" class="node">
 <title>Node13</title>
 <g id="a_node13"><a xlink:href="cast_8h.html" target="_top" xlink:title="Value casting helpers.">
-<polygon fill="white" stroke="black" points="1932.94,-174 1932.94,-193 2027.94,-193 2027.94,-174 1932.94,-174"/>
-<text text-anchor="middle" x="1980.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/cast.h</text>
+<polygon fill="white" stroke="black" points="1929.94,-174 1929.94,-193 2024.94,-193 2024.94,-174 1929.94,-174"/>
+<text text-anchor="middle" x="1977.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/cast.h</text>
 </a>
 </g>
 </g>
 <!-- Node11&#45;&gt;Node13 -->
 <g id="edge16" class="edge">
 <title>Node11&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2064.48,-369.39C2050.9,-361.64 2032.37,-349.03 2021.44,-333 1993.64,-292.22 1984.61,-233.09 1981.74,-203.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1985.21,-202.68 1980.89,-193.01 1978.23,-203.26 1985.21,-202.68"/>
+<path fill="none" stroke="midnightblue" d="M2064.83,-369.49C2051.27,-361.73 2032.59,-349.03 2021.44,-333 1993.11,-292.27 1982.76,-233.11 1979.19,-203.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1982.64,-202.59 1978.1,-193.01 1975.68,-203.33 1982.64,-202.59"/>
 </g>
 <!-- Node11&#45;&gt;Node20 -->
 <g id="edge100" class="edge">
 <title>Node11&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M2031.83,-374.28C1964.61,-368.46 1848.9,-355.49 1813.44,-333 1768.67,-304.6 1790.62,-262.74 1745.44,-235 1645.65,-173.73 1593.74,-241.02 1484.44,-199 1420.23,-174.32 1419.47,-139.54 1356.44,-112 1302.22,-88.32 1233.85,-76.23 1194.15,-70.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1194.59,-67.32 1184.22,-69.49 1193.68,-74.26 1194.59,-67.32"/>
+<path fill="none" stroke="midnightblue" d="M2031.83,-374.28C1964.61,-368.46 1848.9,-355.49 1813.44,-333 1768.67,-304.6 1790.64,-262.7 1745.44,-235 1644.47,-173.12 1592,-241.41 1481.44,-199 1417.21,-174.37 1416.47,-139.54 1353.44,-112 1299.22,-88.32 1230.85,-76.23 1191.15,-70.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.59,-67.32 1181.22,-69.49 1190.68,-74.26 1191.59,-67.32"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node">
@@ -548,57 +548,57 @@
 <!-- Node11&#45;&gt;Node25 -->
 <g id="edge97" class="edge">
 <title>Node11&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2100.42,-369.4C2114.32,-361.95 2132.15,-349.74 2140.44,-333 2146.55,-320.65 2144.91,-315.03 2140.44,-302 2133.86,-282.83 2119.02,-285.17 2112.44,-266 2107.97,-252.97 2106.53,-247.45 2112.44,-235 2132.61,-192.48 2151.99,-188.33 2194.44,-168 2220.22,-155.65 2289.89,-142.19 2342.59,-133.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2343.27,-136.67 2352.55,-131.56 2342.11,-129.77 2343.27,-136.67"/>
+<path fill="none" stroke="midnightblue" d="M2100.42,-369.4C2114.32,-361.95 2132.15,-349.74 2140.44,-333 2146.55,-320.65 2145.23,-314.92 2140.44,-302 2133.09,-282.21 2116.79,-285.79 2109.44,-266 2104.64,-253.08 2103.53,-247.45 2109.44,-235 2129.61,-192.48 2148.99,-188.33 2191.44,-168 2217.22,-155.65 2286.89,-142.19 2339.59,-133.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2340.27,-136.67 2349.55,-131.56 2339.11,-129.77 2340.27,-136.67"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
 <title>Node26</title>
 <g id="a_node26"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3903.94,-56.5 3903.94,-75.5 4016.94,-75.5 4016.94,-56.5 3903.94,-56.5"/>
-<text text-anchor="middle" x="3960.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="3894.94,-56.5 3894.94,-75.5 4007.94,-75.5 4007.94,-56.5 3894.94,-56.5"/>
+<text text-anchor="middle" x="3951.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
 </a>
 </g>
 </g>
 <!-- Node11&#45;&gt;Node26 -->
 <g id="edge96" class="edge">
 <title>Node11&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M2131.14,-376.39C2262.7,-371.91 2630.88,-357.95 2936.44,-333 3205.85,-311 3949.36,-385.07 4145.44,-199 4173.71,-172.17 4180.72,-142.49 4156.44,-112 4140.36,-91.82 4077.5,-79.94 4027.25,-73.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4027.41,-70 4017.06,-72.25 4026.56,-76.94 4027.41,-70"/>
+<path fill="none" stroke="midnightblue" d="M2131.14,-376.4C2262.7,-371.96 2630.89,-358.08 2936.44,-333 3203.86,-311.05 3941.88,-383.78 4136.44,-199 4164.7,-172.16 4171.72,-142.49 4147.44,-112 4131.36,-91.82 4068.5,-79.94 4018.25,-73.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4018.41,-70 4008.06,-72.25 4017.56,-76.94 4018.41,-70"/>
 </g>
 <!-- Node11&#45;&gt;Node29 -->
 <g id="edge99" class="edge">
 <title>Node11&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2031.85,-375.55C1957.35,-371.05 1820.94,-359.4 1780.44,-333 1737.26,-304.86 1761.82,-262.83 1718.44,-235 1617.65,-170.35 1565.15,-236.52 1451.44,-199 1406.59,-184.2 1359.47,-154.8 1333.54,-137.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1335.51,-134.33 1325.29,-131.54 1331.54,-140.09 1335.51,-134.33"/>
+<path fill="none" stroke="midnightblue" d="M2031.85,-375.55C1957.35,-371.05 1820.94,-359.4 1780.44,-333 1737.26,-304.86 1761.84,-262.8 1718.44,-235 1616.49,-169.71 1563.43,-236.85 1448.44,-199 1403.58,-184.24 1356.47,-154.82 1330.54,-137.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1332.51,-134.34 1322.29,-131.54 1328.53,-140.1 1332.51,-134.34"/>
 </g>
 <!-- Node11&#45;&gt;Node30 -->
 <g id="edge101" class="edge">
 <title>Node11&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M2031.8,-376.15C1951.43,-372.36 1797.21,-361.5 1751.44,-333 1706.86,-305.25 1730.34,-262.23 1685.44,-235 1624.25,-197.9 1436.44,-207.91 1365.44,-199 1265.71,-186.49 1241.44,-178.04 1141.44,-168 878.95,-141.64 560.75,-128.12 458.09,-124.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="458.13,-120.72 448.01,-123.84 457.87,-127.71 458.13,-120.72"/>
+<path fill="none" stroke="midnightblue" d="M2031.8,-376.15C1951.43,-372.36 1797.21,-361.5 1751.44,-333 1706.86,-305.25 1730.35,-262.2 1685.44,-235 1623.66,-197.59 1434.1,-207.95 1362.44,-199 1262.71,-186.54 1238.44,-178.06 1138.44,-168 877.34,-141.74 560.9,-128.18 458.3,-124.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="458.34,-120.74 448.22,-123.85 458.08,-127.73 458.34,-120.74"/>
 </g>
 <!-- Node11&#45;&gt;Node33 -->
 <g id="edge98" class="edge">
 <title>Node11&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2105.87,-369.41C2149.65,-354.24 2244.55,-322.39 2326.44,-302 2409.84,-281.23 2437.29,-299.51 2516.44,-266 2538.47,-256.67 2539.58,-246.71 2560.44,-235 2595.5,-215.32 2608.48,-218.87 2643.44,-199 2663.92,-187.36 2664.58,-176.79 2686.44,-168 2785.67,-128.11 2914.56,-122.68 2973.91,-122.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.16,-126 2984.16,-122.52 2974.17,-119 2974.16,-126"/>
+<path fill="none" stroke="midnightblue" d="M2105.89,-369.48C2149.69,-354.43 2244.64,-322.76 2326.44,-302 2405.94,-281.82 2432.05,-298.32 2507.44,-266 2529.42,-256.57 2530.58,-246.71 2551.44,-235 2586.5,-215.32 2599.48,-218.87 2634.44,-199 2654.92,-187.36 2655.58,-176.79 2677.44,-168 2776.67,-128.11 2905.56,-122.68 2964.91,-122.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.16,-126 2975.16,-122.52 2965.17,-119 2965.16,-126"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
 <title>Node35</title>
 <g id="a_node35"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison.">
-<polygon fill="white" stroke="black" points="2678.94,-235.5 2678.94,-265.5 2791.94,-265.5 2791.94,-235.5 2678.94,-235.5"/>
-<text text-anchor="start" x="2686.94" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/structural</text>
-<text text-anchor="middle" x="2735.44" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
+<polygon fill="white" stroke="black" points="2669.94,-235.5 2669.94,-265.5 2782.94,-265.5 2782.94,-235.5 2669.94,-235.5"/>
+<text text-anchor="start" x="2677.94" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/structural</text>
+<text text-anchor="middle" x="2726.44" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
 </a>
 </g>
 </g>
 <!-- Node11&#45;&gt;Node35 -->
 <g id="edge59" class="edge">
 <title>Node11&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2129.36,-369.42C2178.78,-360.52 2258.05,-346.09 2326.44,-333 2447.31,-309.86 2587.99,-281.52 2668.88,-265.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2669.82,-268.46 2678.92,-263.04 2668.43,-261.6 2669.82,-268.46"/>
+<path fill="none" stroke="midnightblue" d="M2129.37,-369.48C2178.8,-360.63 2258.08,-346.24 2326.44,-333 2444.04,-310.22 2580.72,-281.99 2660.02,-265.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2660.8,-268.86 2669.87,-263.38 2659.37,-262 2660.8,-268.86"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
@@ -620,455 +620,455 @@
 <g id="node14" class="node">
 <title>Node14</title>
 <g id="a_node14"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1890.94,-112.5 1890.94,-131.5 1967.94,-131.5 1967.94,-112.5 1890.94,-112.5"/>
-<text text-anchor="middle" x="1929.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1887.94,-112.5 1887.94,-131.5 1964.94,-131.5 1964.94,-112.5 1887.94,-112.5"/>
+<text text-anchor="middle" x="1926.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
 </a>
 </g>
 </g>
 <!-- Node13&#45;&gt;Node14 -->
 <g id="edge17" class="edge">
 <title>Node13&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M1973.13,-173.98C1965.4,-164.96 1953.03,-150.52 1943.42,-139.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1945.9,-136.82 1936.73,-131.51 1940.58,-141.38 1945.9,-136.82"/>
+<path fill="none" stroke="midnightblue" d="M1970.13,-173.98C1962.4,-164.96 1950.03,-150.52 1940.42,-139.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1942.9,-136.82 1933.73,-131.51 1937.58,-141.38 1942.9,-136.82"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node">
 <title>Node15</title>
 <g id="a_node15"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2165.94,-56.5 2165.94,-75.5 2246.94,-75.5 2246.94,-56.5 2165.94,-56.5"/>
-<text text-anchor="middle" x="2206.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2162.94,-56.5 2162.94,-75.5 2243.94,-75.5 2243.94,-56.5 2162.94,-56.5"/>
+<text text-anchor="middle" x="2203.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
 </a>
 </g>
 </g>
 <!-- Node13&#45;&gt;Node15 -->
 <g id="edge18" class="edge">
 <title>Node13&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2013.83,-173.97C2060.98,-161.76 2142.64,-139.89 2154.44,-132 2172.77,-119.75 2187.72,-99.01 2196.81,-84.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2199.86,-85.97 2201.91,-75.57 2193.83,-82.42 2199.86,-85.97"/>
+<path fill="none" stroke="midnightblue" d="M2010.83,-173.97C2057.98,-161.76 2139.64,-139.89 2151.44,-132 2169.77,-119.75 2184.72,-99.01 2193.81,-84.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2196.86,-85.97 2198.91,-75.57 2190.83,-82.42 2196.86,-85.97"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node">
 <title>Node16</title>
 <g id="a_node16"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2240.94,-112.5 2240.94,-131.5 2329.94,-131.5 2329.94,-112.5 2240.94,-112.5"/>
-<text text-anchor="middle" x="2285.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2237.94,-112.5 2237.94,-131.5 2326.94,-131.5 2326.94,-112.5 2237.94,-112.5"/>
+<text text-anchor="middle" x="2282.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
 </a>
 </g>
 </g>
 <!-- Node13&#45;&gt;Node16 -->
 <g id="edge19" class="edge">
 <title>Node13&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M2015.78,-173.93C2024.48,-171.91 2033.78,-169.81 2042.44,-168 2106.73,-154.54 2181.04,-141.08 2230.39,-132.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2231.28,-135.84 2240.53,-130.67 2230.07,-128.94 2231.28,-135.84"/>
+<path fill="none" stroke="midnightblue" d="M2012.78,-173.93C2021.48,-171.91 2030.78,-169.81 2039.44,-168 2103.73,-154.54 2178.04,-141.08 2227.39,-132.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2228.28,-135.84 2237.53,-130.67 2227.07,-128.94 2228.28,-135.84"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node">
 <title>Node17</title>
 <g id="a_node17"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2062.94,-112.5 2062.94,-131.5 2145.94,-131.5 2145.94,-112.5 2062.94,-112.5"/>
-<text text-anchor="middle" x="2104.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2059.94,-112.5 2059.94,-131.5 2142.94,-131.5 2142.94,-112.5 2059.94,-112.5"/>
+<text text-anchor="middle" x="2101.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
 </a>
 </g>
 </g>
 <!-- Node13&#45;&gt;Node17 -->
 <g id="edge20" class="edge">
 <title>Node13&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M1998.2,-173.98C2018.92,-164.03 2053.39,-147.49 2077.43,-135.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2079.2,-138.99 2086.7,-131.51 2076.17,-132.68 2079.2,-138.99"/>
+<path fill="none" stroke="midnightblue" d="M1995.2,-173.98C2015.92,-164.03 2050.39,-147.49 2074.43,-135.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2076.2,-138.99 2083.7,-131.51 2073.17,-132.68 2076.2,-138.99"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node">
 <title>Node18</title>
 <g id="a_node18"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2297.94,-56.5 2297.94,-75.5 2388.94,-75.5 2388.94,-56.5 2297.94,-56.5"/>
-<text text-anchor="middle" x="2343.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2294.94,-56.5 2294.94,-75.5 2385.94,-75.5 2385.94,-56.5 2294.94,-56.5"/>
+<text text-anchor="middle" x="2340.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node13&#45;&gt;Node18 -->
 <g id="edge21" class="edge">
 <title>Node13&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2016.61,-173.91C2065.31,-162.25 2149.34,-141.74 2179.44,-132 2192.64,-127.73 2269.39,-96.91 2313.06,-79.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2314.4,-82.52 2322.36,-75.53 2311.78,-76.03 2314.4,-82.52"/>
+<path fill="none" stroke="midnightblue" d="M2013.61,-173.91C2062.31,-162.25 2146.34,-141.74 2176.44,-132 2189.64,-127.73 2266.39,-96.91 2310.06,-79.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2311.4,-82.52 2319.36,-75.53 2308.78,-76.03 2311.4,-82.52"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node">
 <title>Node19</title>
 <g id="a_node19"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1806.94,-56.5 1806.94,-75.5 1907.94,-75.5 1907.94,-56.5 1806.94,-56.5"/>
-<text text-anchor="middle" x="1857.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1803.94,-56.5 1803.94,-75.5 1904.94,-75.5 1904.94,-56.5 1803.94,-56.5"/>
+<text text-anchor="middle" x="1854.44" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
 </a>
 </g>
 </g>
 <!-- Node13&#45;&gt;Node19 -->
 <g id="edge22" class="edge">
 <title>Node13&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1989.7,-173.56C2003.19,-159.44 2025.1,-131.6 2010.44,-112 1999.02,-96.74 1955.62,-84.87 1917.95,-77.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1918.5,-73.71 1908.01,-75.2 1917.14,-80.58 1918.5,-73.71"/>
+<path fill="none" stroke="midnightblue" d="M1986.7,-173.56C2000.19,-159.44 2022.1,-131.6 2007.44,-112 1996.02,-96.74 1952.62,-84.87 1914.95,-77.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1915.5,-73.71 1905.01,-75.2 1914.14,-80.58 1915.5,-73.71"/>
 </g>
 <!-- Node13&#45;&gt;Node20 -->
 <g id="edge23" class="edge">
 <title>Node13&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1983.19,-173.67C1987.26,-158.67 1992.75,-128.28 1976.44,-112 1948.31,-83.92 1343.36,-70.49 1194.37,-67.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1194.12,-64.1 1184.06,-67.41 1193.99,-71.1 1194.12,-64.1"/>
+<path fill="none" stroke="midnightblue" d="M1980.19,-173.67C1984.26,-158.67 1989.75,-128.28 1973.44,-112 1945.31,-83.92 1340.36,-70.49 1191.37,-67.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.12,-64.1 1181.06,-67.41 1190.99,-71.1 1191.12,-64.1"/>
 </g>
 <!-- Node22 -->
 <g id="node22" class="node">
 <title>Node22</title>
 <g id="a_node22"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2842.44,-168.5 2842.44,-198.5 2940.44,-198.5 2940.44,-168.5 2842.44,-168.5"/>
-<text text-anchor="start" x="2850.44" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="2891.44" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">/access_path.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2833.44,-168.5 2833.44,-198.5 2931.44,-198.5 2931.44,-168.5 2833.44,-168.5"/>
+<text text-anchor="start" x="2841.44" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="2882.44" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">/access_path.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node22 -->
 <g id="edge25" class="edge">
 <title>Node21&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2857.19,-307.67C2848.85,-292.42 2834.47,-260.35 2844.44,-235 2848.8,-223.91 2856.88,-213.81 2865.12,-205.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2867.68,-208 2872.63,-198.63 2862.92,-202.87 2867.68,-208"/>
+<path fill="none" stroke="midnightblue" d="M2855.56,-307.82C2844.55,-292.81 2825.18,-261.08 2835.44,-235 2839.8,-223.91 2847.88,-213.81 2856.12,-205.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2858.68,-208 2863.63,-198.63 2853.92,-202.87 2858.68,-208"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node">
 <title>Node23</title>
 <g id="a_node23"><a xlink:href="functor_8h.html" target="_top" xlink:title="Defines the Functor data structures.">
-<polygon fill="white" stroke="black" points="1493.94,-174 1493.94,-193 1602.94,-193 1602.94,-174 1493.94,-174"/>
-<text text-anchor="middle" x="1548.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/functor.h</text>
+<polygon fill="white" stroke="black" points="1490.94,-174 1490.94,-193 1599.94,-193 1599.94,-174 1490.94,-174"/>
+<text text-anchor="middle" x="1545.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node23 -->
 <g id="edge26" class="edge">
 <title>Node21&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2796.65,-312.92C2610.67,-302.23 2065.52,-267 1617.44,-199 1610.2,-197.9 1602.58,-196.52 1595.14,-195.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1595.68,-191.6 1585.18,-193.03 1594.28,-198.46 1595.68,-191.6"/>
+<path fill="none" stroke="midnightblue" d="M2796.83,-312.95C2610.72,-302.31 2063.86,-267.16 1614.44,-199 1607.2,-197.9 1599.58,-196.53 1592.14,-195.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1592.68,-191.6 1582.18,-193.03 1591.28,-198.46 1592.68,-191.6"/>
 </g>
 <!-- Node31 -->
 <g id="node31" class="node">
 <title>Node31</title>
 <g id="a_node31"><a xlink:href="script__printer_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2886.94,-241 2886.94,-260 3025.94,-260 3025.94,-241 2886.94,-241"/>
-<text text-anchor="middle" x="2956.44" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/script_printer.h</text>
+<polygon fill="white" stroke="black" points="2877.94,-241 2877.94,-260 3016.94,-260 3016.94,-241 2877.94,-241"/>
+<text text-anchor="middle" x="2947.44" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/script_printer.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node31 -->
 <g id="edge39" class="edge">
 <title>Node21&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M2875.11,-307.73C2890.62,-297.01 2917.08,-278.72 2935.59,-265.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2937.73,-268.69 2943.96,-260.13 2933.75,-262.94 2937.73,-268.69"/>
+<path fill="none" stroke="midnightblue" d="M2873.9,-307.73C2887.79,-297.11 2911.41,-279.05 2928.13,-266.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2930.34,-268.98 2936.16,-260.13 2926.09,-263.42 2930.34,-268.98"/>
 </g>
 <!-- Node21&#45;&gt;Node33 -->
 <g id="edge58" class="edge">
 <title>Node21&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2861.67,-307.91C2860.7,-291.88 2860.84,-257.08 2877.44,-235 2898.93,-206.4 2921.97,-221.92 2949.44,-199 2969.55,-182.22 2986.65,-157 2996.73,-140.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2999.81,-141.95 3001.82,-131.55 2993.76,-138.42 2999.81,-141.95"/>
+<path fill="none" stroke="midnightblue" d="M2860.48,-307.76C2857.44,-291.8 2853.35,-257.51 2868.44,-235 2888.35,-205.28 2912.97,-221.92 2940.44,-199 2960.55,-182.22 2977.65,-157 2987.73,-140.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2990.81,-141.95 2992.82,-131.55 2984.76,-138.42 2990.81,-141.95"/>
 </g>
 <!-- Node34 -->
 <g id="node34" class="node">
 <title>Node34</title>
 <g id="a_node34"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3190.44,-174 3190.44,-193 3250.44,-193 3250.44,-174 3190.44,-174"/>
-<text text-anchor="middle" x="3220.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
+<polygon fill="white" stroke="#bfbfbf" points="3181.44,-174 3181.44,-193 3241.44,-193 3241.44,-174 3181.44,-174"/>
+<text text-anchor="middle" x="3211.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node34 -->
 <g id="edge57" class="edge">
 <title>Node21&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M2912.2,-307.95C2954.59,-299.81 3016.7,-285.85 3068.44,-266 3116.91,-247.4 3169.46,-216.61 3198.32,-198.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3200.55,-201.4 3207.16,-193.12 3196.83,-195.47 3200.55,-201.4"/>
+<path fill="none" stroke="midnightblue" d="M2908.4,-308C2948.96,-299.73 3009.27,-285.55 3059.44,-266 3107.82,-247.15 3160.39,-216.44 3189.29,-198.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3191.51,-201.33 3198.14,-193.07 3187.8,-195.39 3191.51,-201.33"/>
 </g>
 <!-- Node23&#45;&gt;Node20 -->
 <g id="edge37" class="edge">
 <title>Node23&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1542.38,-173.79C1531.15,-158.42 1505.51,-126.72 1475.44,-112 1426.27,-87.94 1264.12,-74.11 1194.1,-69.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1194.29,-65.64 1184.08,-68.44 1193.81,-72.62 1194.29,-65.64"/>
+<path fill="none" stroke="midnightblue" d="M1539.38,-173.79C1528.15,-158.42 1502.51,-126.72 1472.44,-112 1423.27,-87.94 1261.12,-74.11 1191.1,-69.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.29,-65.64 1181.08,-68.44 1190.81,-72.62 1191.29,-65.64"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node">
 <title>Node24</title>
 <g id="a_node24"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1747.94,-112.5 1747.94,-131.5 1872.94,-131.5 1872.94,-112.5 1747.94,-112.5"/>
-<text text-anchor="middle" x="1810.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/logging.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1744.94,-112.5 1744.94,-131.5 1869.94,-131.5 1869.94,-112.5 1744.94,-112.5"/>
+<text text-anchor="middle" x="1807.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/logging.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node24 -->
 <g id="edge27" class="edge">
 <title>Node23&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M1585.98,-173.98C1632.67,-163.37 1712.42,-145.26 1763.21,-133.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1763.99,-137.14 1772.97,-131.51 1762.44,-130.31 1763.99,-137.14"/>
+<path fill="none" stroke="midnightblue" d="M1582.98,-173.98C1629.67,-163.37 1709.42,-145.26 1760.21,-133.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1760.99,-137.14 1769.97,-131.51 1759.44,-130.31 1760.99,-137.14"/>
 </g>
 <!-- Node23&#45;&gt;Node25 -->
 <g id="edge28" class="edge">
 <title>Node23&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1603.24,-176.21C1629.06,-173.4 1660.3,-170.23 1688.44,-168 1973.48,-145.36 2048.59,-158.41 2337.27,-132.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2337.99,-135.48 2347.63,-131.08 2337.35,-128.51 2337.99,-135.48"/>
+<path fill="none" stroke="midnightblue" d="M1600.24,-176.21C1626.06,-173.4 1657.3,-170.23 1685.44,-168 1970.48,-145.36 2045.59,-158.41 2334.27,-132.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2334.99,-135.48 2344.63,-131.08 2334.35,-128.51 2334.99,-135.48"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node">
 <title>Node28</title>
 <g id="a_node28"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1527.44,-112.5 1527.44,-131.5 1577.44,-131.5 1577.44,-112.5 1527.44,-112.5"/>
-<text text-anchor="middle" x="1552.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
+<polygon fill="white" stroke="#bfbfbf" points="1524.44,-112.5 1524.44,-131.5 1574.44,-131.5 1574.44,-112.5 1524.44,-112.5"/>
+<text text-anchor="middle" x="1549.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node28 -->
 <g id="edge35" class="edge">
 <title>Node23&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M1549.01,-173.98C1549.57,-165.58 1550.46,-152.48 1551.18,-141.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1554.69,-141.72 1551.87,-131.51 1547.7,-141.25 1554.69,-141.72"/>
+<path fill="none" stroke="midnightblue" d="M1546.01,-173.98C1546.57,-165.58 1547.46,-152.48 1548.18,-141.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1551.69,-141.72 1548.87,-131.51 1544.7,-141.25 1551.69,-141.72"/>
 </g>
 <!-- Node23&#45;&gt;Node29 -->
 <g id="edge36" class="edge">
 <title>Node23&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M1514.77,-173.98C1473.24,-163.46 1402.55,-145.56 1356.94,-134.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1357.6,-130.57 1347.04,-131.51 1355.88,-137.36 1357.6,-130.57"/>
+<path fill="none" stroke="midnightblue" d="M1511.77,-173.98C1470.24,-163.46 1399.55,-145.56 1353.94,-134.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1354.6,-130.57 1344.04,-131.51 1352.88,-137.36 1354.6,-130.57"/>
 </g>
 <!-- Node23&#45;&gt;Node30 -->
 <g id="edge38" class="edge">
 <title>Node23&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M1493.76,-176.33C1466.63,-173.45 1433.34,-170.18 1403.44,-168 1033.26,-141 583.1,-127.34 458.05,-123.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="458.05,-120.39 447.95,-123.61 457.85,-127.39 458.05,-120.39"/>
+<path fill="none" stroke="midnightblue" d="M1490.76,-176.33C1463.63,-173.45 1430.34,-170.18 1400.44,-168 1031.81,-141.09 583.61,-127.39 458.36,-123.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="458.34,-120.4 448.25,-123.63 458.15,-127.4 458.34,-120.4"/>
 </g>
 <!-- Node25&#45;&gt;Node15 -->
 <g id="edge29" class="edge">
 <title>Node25&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M2375.59,-112.44C2341.04,-103.16 2285.76,-88.31 2247.85,-78.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2248.7,-74.73 2238.14,-75.52 2246.89,-81.49 2248.7,-74.73"/>
+<path fill="none" stroke="midnightblue" d="M2372.59,-112.44C2338.04,-103.16 2282.76,-88.31 2244.85,-78.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2245.7,-74.73 2235.14,-75.52 2243.89,-81.49 2245.7,-74.73"/>
 </g>
 <!-- Node25&#45;&gt;Node18 -->
 <g id="edge30" class="edge">
 <title>Node25&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2397.15,-112.32C2387.6,-104.26 2373.16,-92.08 2361.65,-82.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2363.81,-79.61 2353.91,-75.83 2359.29,-84.96 2363.81,-79.61"/>
+<path fill="none" stroke="midnightblue" d="M2394.15,-112.32C2384.6,-104.26 2370.16,-92.08 2358.65,-82.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2360.81,-79.61 2350.91,-75.83 2356.29,-84.96 2360.81,-79.61"/>
 </g>
 <!-- Node25&#45;&gt;Node19 -->
 <g id="edge31" class="edge">
 <title>Node25&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2347.61,-113.06C2344.51,-112.69 2341.44,-112.34 2338.44,-112 2187.55,-95.11 2009.55,-79.6 1918.22,-71.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1918.31,-68.47 1908.05,-71.12 1917.73,-75.44 1918.31,-68.47"/>
+<path fill="none" stroke="midnightblue" d="M2344.61,-113.06C2341.51,-112.69 2338.44,-112.34 2335.44,-112 2184.55,-95.11 2006.55,-79.6 1915.22,-71.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1915.31,-68.47 1905.05,-71.12 1914.73,-75.44 1915.31,-68.47"/>
 </g>
 <!-- Node25&#45;&gt;Node20 -->
 <g id="edge34" class="edge">
 <title>Node25&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M2347.63,-112.86C2344.53,-112.54 2341.45,-112.25 2338.44,-112 1886.14,-73.94 1333.32,-68.05 1194.33,-67.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1194.34,-63.66 1184.32,-67.1 1194.3,-70.66 1194.34,-63.66"/>
+<path fill="none" stroke="midnightblue" d="M2344.63,-112.86C2341.53,-112.54 2338.45,-112.25 2335.44,-112 1883.14,-73.94 1330.32,-68.05 1191.33,-67.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.34,-63.66 1181.32,-67.1 1191.3,-70.66 1191.34,-63.66"/>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge32" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M2467.37,-118.92C2712.17,-110.4 3635.5,-78.3 3893.25,-69.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3893.71,-72.82 3903.58,-68.98 3893.46,-65.83 3893.71,-72.82"/>
+<path fill="none" stroke="midnightblue" d="M2464.13,-118.92C2707.99,-110.4 3627.75,-78.3 3884.51,-69.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3884.93,-72.82 3894.8,-68.98 3884.68,-65.83 3884.93,-72.82"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node">
 <title>Node27</title>
 <g id="a_node27"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3917.44,-0.5 3917.44,-19.5 4003.44,-19.5 4003.44,-0.5 3917.44,-0.5"/>
-<text text-anchor="middle" x="3960.44" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3908.44,-0.5 3908.44,-19.5 3994.44,-19.5 3994.44,-0.5 3908.44,-0.5"/>
+<text text-anchor="middle" x="3951.44" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node26&#45;&gt;Node27 -->
 <g id="edge33" class="edge">
 <title>Node26&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M3960.44,-56.08C3960.44,-49.01 3960.44,-38.86 3960.44,-29.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3963.94,-29.75 3960.44,-19.75 3956.94,-29.75 3963.94,-29.75"/>
+<path fill="none" stroke="midnightblue" d="M3951.44,-56.08C3951.44,-49.01 3951.44,-38.86 3951.44,-29.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3954.94,-29.75 3951.44,-19.75 3947.94,-29.75 3954.94,-29.75"/>
 </g>
 <!-- Node31&#45;&gt;Node3 -->
 <g id="edge44" class="edge">
 <title>Node31&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2886.63,-241.93C2859.72,-239.3 2828.68,-236.6 2800.44,-235 2027.29,-191.14 1832.39,-224.92 1058.44,-199 969.98,-196.04 867.54,-190.98 804.62,-187.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="804.65,-184.19 794.48,-187.16 804.29,-191.18 804.65,-184.19"/>
+<path fill="none" stroke="midnightblue" d="M2877.63,-241.93C2850.72,-239.3 2819.68,-236.6 2791.44,-235 2020.96,-191.26 1826.72,-225.03 1055.44,-199 968.09,-196.05 866.96,-191.02 804.6,-187.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="804.72,-184.23 794.55,-187.19 804.35,-191.22 804.72,-184.23"/>
 </g>
 <!-- Node31&#45;&gt;Node5 -->
 <g id="edge41" class="edge">
 <title>Node31&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M3019.42,-240.94C3107.84,-228.91 3268.39,-207.08 3361.76,-194.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3362.26,-197.85 3371.7,-193.03 3361.32,-190.91 3362.26,-197.85"/>
+<path fill="none" stroke="midnightblue" d="M3010.42,-240.94C3098.84,-228.91 3259.39,-207.08 3352.76,-194.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3353.26,-197.85 3362.7,-193.03 3352.32,-190.91 3353.26,-197.85"/>
 </g>
 <!-- Node31&#45;&gt;Node6 -->
 <g id="edge42" class="edge">
 <title>Node31&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M3026,-243.54C3131.01,-234.45 3336.25,-216.36 3510.44,-199 3529.29,-197.12 3549.61,-194.98 3568.6,-192.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3569.13,-196.4 3578.69,-191.84 3568.37,-189.44 3569.13,-196.4"/>
+<path fill="none" stroke="midnightblue" d="M3017,-243.54C3122.01,-234.45 3327.25,-216.36 3501.44,-199 3520.29,-197.12 3540.61,-194.98 3559.6,-192.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3560.13,-196.4 3569.69,-191.84 3559.37,-189.44 3560.13,-196.4"/>
 </g>
 <!-- Node31&#45;&gt;Node7 -->
 <g id="edge45" class="edge">
 <title>Node31&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2886.94,-243.03C2859.93,-240.52 2828.74,-237.62 2800.44,-235 2627.55,-218.97 2584.17,-216.62 2411.44,-199 2386.64,-196.47 2359.21,-193.44 2335.96,-190.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2336.27,-187.32 2325.94,-189.67 2335.48,-194.28 2336.27,-187.32"/>
+<path fill="none" stroke="midnightblue" d="M2877.88,-243.02C2737.46,-229.92 2431.43,-201.36 2408.44,-199 2383.64,-196.46 2356.21,-193.43 2332.96,-190.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2333.27,-187.31 2322.94,-189.66 2332.48,-194.27 2333.27,-187.31"/>
 </g>
 <!-- Node31&#45;&gt;Node14 -->
 <g id="edge40" class="edge">
 <title>Node31&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2886.61,-242.23C2859.7,-239.64 2828.66,-236.89 2800.44,-235 2751.78,-231.74 1957.2,-234.18 1923.44,-199 1908.94,-183.9 1914.65,-158.44 1921.13,-141.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1924.48,-142.26 1925.09,-131.68 1918.01,-139.57 1924.48,-142.26"/>
+<path fill="none" stroke="midnightblue" d="M2877.61,-242.24C2850.7,-239.64 2819.66,-236.89 2791.44,-235 2743.12,-231.76 1953.97,-233.95 1920.44,-199 1905.94,-183.89 1911.65,-158.44 1918.13,-141.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1921.48,-142.26 1922.09,-131.68 1915.01,-139.57 1921.48,-142.26"/>
 </g>
 <!-- Node31&#45;&gt;Node22 -->
 <g id="edge43" class="edge">
 <title>Node31&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2947.67,-240.73C2938.8,-231.86 2924.75,-217.81 2912.91,-205.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2915.07,-203.19 2905.53,-198.59 2910.12,-208.13 2915.07,-203.19"/>
+<path fill="none" stroke="midnightblue" d="M2938.67,-240.73C2929.8,-231.86 2915.75,-217.81 2903.91,-205.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2906.07,-203.19 2896.53,-198.59 2901.12,-208.13 2906.07,-203.19"/>
 </g>
 <!-- Node31&#45;&gt;Node23 -->
 <g id="edge46" class="edge">
 <title>Node31&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2886.62,-242.1C2859.71,-239.49 2828.67,-236.77 2800.44,-235 2306.92,-204.1 2181.78,-232.49 1688.44,-199 1663.91,-197.33 1637.04,-194.74 1613.45,-192.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1613.54,-188.69 1603.21,-191.08 1612.77,-195.65 1613.54,-188.69"/>
+<path fill="none" stroke="midnightblue" d="M2877.62,-242.11C2850.71,-239.49 2819.67,-236.77 2791.44,-235 2300.59,-204.23 2176.12,-232.35 1685.44,-199 1660.91,-197.33 1634.04,-194.74 1610.45,-192.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1610.54,-188.69 1600.21,-191.08 1609.77,-195.65 1610.54,-188.69"/>
 </g>
 <!-- Node31&#45;&gt;Node32 -->
 <g id="edge47" class="edge">
 <title>Node31&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2975.96,-240.87C3001.22,-229.7 3045.44,-210.15 3074.58,-197.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3076.11,-200.41 3083.84,-193.17 3073.28,-194.01 3076.11,-200.41"/>
+<path fill="none" stroke="midnightblue" d="M2966.96,-240.87C2992.22,-229.7 3036.44,-210.15 3065.58,-197.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3067.11,-200.41 3074.84,-193.17 3064.28,-194.01 3067.11,-200.41"/>
 </g>
 <!-- Node31&#45;&gt;Node33 -->
 <g id="edge56" class="edge">
 <title>Node31&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2961.51,-240.78C2967.12,-230.88 2976.2,-214.14 2982.44,-199 2990.32,-179.85 2997.19,-157.11 3001.54,-141.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3004.99,-142.17 3004.23,-131.6 2998.24,-140.34 3004.99,-142.17"/>
+<path fill="none" stroke="midnightblue" d="M2952.51,-240.78C2958.12,-230.88 2967.2,-214.14 2973.44,-199 2981.32,-179.85 2988.19,-157.11 2992.54,-141.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2995.99,-142.17 2995.23,-131.6 2989.24,-140.34 2995.99,-142.17"/>
 </g>
 <!-- Node31&#45;&gt;Node34 -->
 <g id="edge55" class="edge">
 <title>Node31&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M3003.02,-240.96C3048.85,-232.1 3120.6,-217.05 3181.44,-199 3184.07,-198.22 3186.79,-197.35 3189.5,-196.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3190.9,-199.65 3199.16,-193 3188.56,-193.05 3190.9,-199.65"/>
+<path fill="none" stroke="midnightblue" d="M2994.02,-240.96C3039.85,-232.1 3111.6,-217.05 3172.44,-199 3175.07,-198.22 3177.79,-197.35 3180.5,-196.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3181.9,-199.65 3190.16,-193 3179.56,-193.05 3181.9,-199.65"/>
 </g>
 <!-- Node32&#45;&gt;Node2 -->
 <g id="edge48" class="edge">
 <title>Node32&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M3143.36,-174C3155.53,-171.7 3168.99,-169.45 3181.44,-168 3516.9,-129.05 3603.37,-152.84 3940.44,-132 3952.82,-131.23 3965.92,-130.33 3978.71,-129.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3979.18,-132.87 3988.89,-128.64 3978.66,-125.89 3979.18,-132.87"/>
+<path fill="none" stroke="midnightblue" d="M3134.36,-174C3146.53,-171.7 3159.99,-169.45 3172.44,-168 3507.9,-129.05 3594.37,-152.84 3931.44,-132 3943.82,-131.23 3956.92,-130.33 3969.71,-129.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3970.18,-132.87 3979.89,-128.64 3969.66,-125.89 3970.18,-132.87"/>
 </g>
 <!-- Node32&#45;&gt;Node16 -->
 <g id="edge49" class="edge">
 <title>Node32&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M3034.1,-175.45C3007.63,-172.9 2977.15,-170.12 2949.44,-168 2681.51,-147.5 2610.44,-162.44 2340.31,-132.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2340.54,-128.61 2330.21,-130.96 2339.75,-135.56 2340.54,-128.61"/>
+<path fill="none" stroke="midnightblue" d="M3025.1,-175.46C2998.63,-172.91 2968.15,-170.13 2940.44,-168 2675.14,-147.62 2604.77,-162.23 2337.22,-132.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2337.54,-128.61 2327.21,-130.95 2336.75,-135.56 2337.54,-128.61"/>
 </g>
 <!-- Node32&#45;&gt;Node24 -->
 <g id="edge51" class="edge">
 <title>Node32&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M3034.13,-175.08C3007.66,-172.48 2977.18,-169.77 2949.44,-168 2478.82,-137.94 2356.58,-169.45 1883.3,-132.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1883.37,-128.57 1873.12,-131.27 1882.82,-135.55 1883.37,-128.57"/>
+<path fill="none" stroke="midnightblue" d="M3025.13,-175.08C2998.66,-172.48 2968.18,-169.77 2940.44,-168 2472.47,-138.06 2350.91,-169.29 1880.25,-132.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1880.37,-128.57 1870.12,-131.26 1879.82,-135.55 1880.37,-128.57"/>
 </g>
 <!-- Node32&#45;&gt;Node26 -->
 <g id="edge50" class="edge">
 <title>Node32&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M3147.09,-173.95C3158.27,-171.88 3170.28,-169.76 3181.44,-168 3444.02,-126.6 3758.36,-89.69 3893.41,-74.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3894.05,-77.89 3903.59,-73.29 3893.26,-70.93 3894.05,-77.89"/>
+<path fill="none" stroke="midnightblue" d="M3138.09,-173.95C3149.27,-171.88 3161.28,-169.76 3172.44,-168 3435.02,-126.6 3749.36,-89.69 3884.41,-74.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3885.05,-77.89 3894.59,-73.29 3884.26,-70.93 3885.05,-77.89"/>
 </g>
 <!-- Node32&#45;&gt;Node28 -->
 <g id="edge52" class="edge">
 <title>Node32&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M3034.13,-175.02C3007.66,-172.42 2977.18,-169.72 2949.44,-168 2412.01,-134.74 2276.49,-153.01 1738.44,-132 1686.1,-129.96 1625.52,-126.89 1588.08,-124.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1587.87,-121.41 1577.7,-124.37 1587.5,-128.4 1587.87,-121.41"/>
+<path fill="none" stroke="midnightblue" d="M3025.13,-175.02C2998.66,-172.42 2968.18,-169.72 2940.44,-168 2405.67,-134.87 2270.82,-152.95 1735.44,-132 1683.1,-129.95 1622.52,-126.89 1585.08,-124.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1584.87,-121.4 1574.7,-124.37 1584.5,-128.4 1584.87,-121.4"/>
 </g>
 <!-- Node32&#45;&gt;Node29 -->
 <g id="edge54" class="edge">
 <title>Node32&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M3034.14,-174.95C3007.67,-172.34 2977.18,-169.65 2949.44,-168 2314.36,-130.16 2154.26,-153.95 1518.44,-132 1463.3,-130.1 1399.84,-127.2 1358.32,-125.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1358.41,-121.71 1348.25,-124.73 1358.07,-128.7 1358.41,-121.71"/>
+<path fill="none" stroke="midnightblue" d="M3025.14,-174.96C2998.67,-172.34 2968.18,-169.65 2940.44,-168 2308.03,-130.28 2148.59,-153.89 1515.44,-132 1460.3,-130.09 1396.84,-127.2 1355.32,-125.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1355.41,-121.71 1345.25,-124.73 1355.07,-128.7 1355.41,-121.71"/>
 </g>
 <!-- Node32&#45;&gt;Node33 -->
 <g id="edge53" class="edge">
 <title>Node32&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3089.54,-173.98C3073.77,-164.3 3047.8,-148.37 3029.09,-136.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3030.66,-133.75 3020.31,-131.51 3027,-139.72 3030.66,-133.75"/>
+<path fill="none" stroke="midnightblue" d="M3080.54,-173.98C3064.77,-164.3 3038.8,-148.37 3020.09,-136.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3021.66,-133.75 3011.31,-131.51 3018,-139.72 3021.66,-133.75"/>
 </g>
 <!-- Node35&#45;&gt;Node5 -->
 <g id="edge60" class="edge">
 <title>Node35&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2792.08,-243.57C2818.08,-240.88 2849.32,-237.71 2877.44,-235 3048.55,-218.51 3249.38,-200.67 3356.99,-191.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3357.45,-194.72 3367.11,-190.36 3356.84,-187.74 3357.45,-194.72"/>
+<path fill="none" stroke="midnightblue" d="M2783.08,-243.57C2809.08,-240.88 2840.32,-237.71 2868.44,-235 3039.55,-218.51 3240.38,-200.67 3347.99,-191.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3348.45,-194.72 3358.11,-190.36 3347.84,-187.74 3348.45,-194.72"/>
 </g>
 <!-- Node35&#45;&gt;Node22 -->
 <g id="edge61" class="edge">
 <title>Node35&#45;&gt;Node22</title>
-<path fill="none" stroke="midnightblue" d="M2769.29,-235.4C2792.49,-225.73 2823.46,-212.82 2848.41,-202.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2849.77,-205.65 2857.65,-198.58 2847.08,-199.19 2849.77,-205.65"/>
+<path fill="none" stroke="midnightblue" d="M2760.29,-235.4C2783.49,-225.73 2814.46,-212.82 2839.41,-202.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2840.77,-205.65 2848.65,-198.58 2838.08,-199.19 2840.77,-205.65"/>
 </g>
 <!-- Node35&#45;&gt;Node23 -->
 <g id="edge62" class="edge">
 <title>Node35&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2678.74,-245.39C2634.54,-242.28 2571.61,-238.03 2516.44,-235 2148.64,-214.83 2055.8,-225.99 1688.44,-199 1663.92,-197.2 1637.05,-194.57 1613.46,-192.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1613.54,-188.54 1603.22,-190.94 1612.79,-195.5 1613.54,-188.54"/>
+<path fill="none" stroke="midnightblue" d="M2669.74,-245.4C2625.54,-242.28 2562.61,-238.03 2507.44,-235 2142.31,-214.92 2050.13,-225.85 1685.44,-199 1660.92,-197.19 1634.05,-194.57 1610.46,-192.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1610.54,-188.53 1600.22,-190.94 1609.79,-195.49 1610.54,-188.53"/>
 </g>
 <!-- Node35&#45;&gt;Node32 -->
 <g id="edge63" class="edge">
 <title>Node35&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2792.13,-239.49C2860.83,-227.35 2975.97,-207.01 3045.31,-194.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3045.96,-198.21 3055.19,-193.02 3044.74,-191.31 3045.96,-198.21"/>
+<path fill="none" stroke="midnightblue" d="M2783.13,-239.49C2851.83,-227.35 2966.97,-207.01 3036.31,-194.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3036.96,-198.21 3046.19,-193.02 3035.74,-191.31 3036.96,-198.21"/>
 </g>
 <!-- Node35&#45;&gt;Node33 -->
 <g id="edge65" class="edge">
 <title>Node35&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2750.78,-235.31C2773.55,-214.51 2815.52,-177.19 2833.44,-168 2879.3,-144.47 2938.48,-132.53 2974.39,-127.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.91,-130.5 2984.31,-125.6 2973.91,-123.58 2974.91,-130.5"/>
+<path fill="none" stroke="midnightblue" d="M2741.78,-235.31C2764.55,-214.51 2806.52,-177.19 2824.44,-168 2870.3,-144.47 2929.48,-132.53 2965.39,-127.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.91,-130.5 2975.31,-125.6 2964.91,-123.58 2965.91,-130.5"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node">
 <title>Node36</title>
 <g id="a_node36"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1828.94,-174 1828.94,-193 1875.94,-193 1875.94,-174 1828.94,-174"/>
-<text text-anchor="middle" x="1852.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
+<polygon fill="white" stroke="#bfbfbf" points="1825.94,-174 1825.94,-193 1872.94,-193 1872.94,-174 1825.94,-174"/>
+<text text-anchor="middle" x="1849.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
 </a>
 </g>
 </g>
 <!-- Node35&#45;&gt;Node36 -->
 <g id="edge64" class="edge">
 <title>Node35&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M2678.73,-245.61C2634.52,-242.61 2571.58,-238.41 2516.44,-235 2238.29,-217.79 2162.94,-257.36 1890.44,-199 1887.36,-198.34 1884.2,-197.47 1881.09,-196.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1882.02,-193.1 1871.42,-193.05 1879.67,-199.7 1882.02,-193.1"/>
+<path fill="none" stroke="midnightblue" d="M2669.73,-245.62C2625.52,-242.62 2562.58,-238.43 2507.44,-235 2231.95,-217.88 2157.32,-256.88 1887.44,-199 1884.36,-198.34 1881.2,-197.47 1878.09,-196.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1879.02,-193.1 1868.42,-193.05 1876.67,-199.7 1879.02,-193.1"/>
 </g>
 <!-- Node37&#45;&gt;Node23 -->
 <g id="edge67" class="edge">
 <title>Node37&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1875.46,-302.4C1869.41,-283.77 1856.05,-251.39 1832.44,-235 1752.85,-179.75 1712.64,-216.97 1617.44,-199 1611.12,-197.81 1604.5,-196.5 1597.95,-195.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1598.29,-191.66 1587.79,-193.06 1596.87,-198.51 1598.29,-191.66"/>
+<path fill="none" stroke="midnightblue" d="M1875.46,-302.39C1869.42,-283.75 1856.07,-251.37 1832.44,-235 1751.7,-179.09 1710.96,-217.1 1614.44,-199 1607.89,-197.77 1601.01,-196.41 1594.23,-195.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1594.93,-191.6 1584.42,-193 1593.51,-198.45 1594.93,-191.6"/>
 </g>
 <!-- Node37&#45;&gt;Node32 -->
 <g id="edge68" class="edge">
 <title>Node37&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M1936.02,-309.85C1962.01,-307.02 1993.25,-303.94 2021.44,-302 2133.8,-294.28 2933.12,-315.18 3034.44,-266 3062.4,-252.43 3083.33,-221.67 3094.45,-202.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3097.56,-203.68 3099.23,-193.22 3091.4,-200.35 3097.56,-203.68"/>
+<path fill="none" stroke="midnightblue" d="M1936.03,-309.86C1962.01,-307.03 1993.25,-303.94 2021.44,-302 2132.8,-294.33 2925.02,-314.76 3025.44,-266 3053.4,-252.42 3074.33,-221.67 3085.45,-202.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3088.55,-203.68 3090.23,-193.22 3082.4,-200.35 3088.55,-203.68"/>
 </g>
 <!-- Node37&#45;&gt;Node33 -->
 <g id="edge95" class="edge">
 <title>Node37&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1898.64,-302.27C1941.94,-271.12 2051.6,-197.3 2156.44,-168 2314.58,-123.81 2838.71,-122.43 2974.23,-122.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.35,-126.34 2984.37,-122.87 2974.38,-119.34 2974.35,-126.34"/>
+<path fill="none" stroke="midnightblue" d="M1898.4,-302.28C1941.18,-271.12 2049.55,-197.31 2153.44,-168 2310.19,-123.78 2829.72,-122.41 2965,-122.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.12,-126.33 2975.13,-122.87 2965.15,-119.33 2965.12,-126.33"/>
 </g>
 <!-- Node37&#45;&gt;Node36 -->
 <g id="edge92" class="edge">
 <title>Node37&#45;&gt;Node36</title>
-<path fill="none" stroke="midnightblue" d="M1878.88,-302.49C1878,-286.12 1875.8,-258.31 1870.44,-235 1867.92,-224.06 1863.78,-212.22 1860.1,-202.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1863.26,-201.21 1856.26,-193.25 1856.77,-203.84 1863.26,-201.21"/>
+<path fill="none" stroke="midnightblue" d="M1879.09,-302.44C1878.41,-286.02 1876.4,-258.16 1870.44,-235 1867.55,-223.79 1862.65,-211.81 1858.31,-202.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1861.41,-200.69 1853.94,-193.18 1855.09,-203.71 1861.41,-200.69"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node">
 <title>Node38</title>
-<g id="a_node38"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction.">
-<polygon fill="white" stroke="black" points="2382.94,-241 2382.94,-260 2507.94,-260 2507.94,-241 2382.94,-241"/>
-<text text-anchor="middle" x="2445.44" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/ndarray.h</text>
+<g id="a_node38"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
+<polygon fill="white" stroke="black" points="2379.94,-241 2379.94,-260 2498.94,-260 2498.94,-241 2379.94,-241"/>
+<text text-anchor="middle" x="2439.44" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node37&#45;&gt;Node38 -->
 <g id="edge69" class="edge">
 <title>Node37&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M1936.04,-310C2039.31,-298.14 2258.18,-273.01 2372.48,-259.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2373,-263.34 2382.53,-258.72 2372.2,-256.39 2373,-263.34"/>
+<path fill="none" stroke="midnightblue" d="M1935.96,-309.94C2039.1,-297.97 2257.54,-272.61 2369.73,-259.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2370.39,-263.04 2379.92,-258.41 2369.58,-256.09 2370.39,-263.04"/>
 </g>
 <!-- Node37&#45;&gt;Node45 -->
 <g id="edge93" class="edge">
 <title>Node37&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1853.35,-302.43C1816.92,-283.52 1748.22,-250.49 1685.44,-235 1582.4,-209.58 1259.98,-192.1 1143.2,-186.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1143.36,-182.97 1133.21,-185.99 1143.03,-189.96 1143.36,-182.97"/>
+<path fill="none" stroke="midnightblue" d="M1853.35,-302.43C1816.93,-283.51 1748.22,-250.48 1685.44,-235 1581.75,-209.44 1257.04,-192.02 1140.01,-186.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1140.15,-182.94 1130,-185.96 1139.82,-189.93 1140.15,-182.94"/>
 </g>
 <!-- Node37&#45;&gt;Node46 -->
 <g id="edge94" class="edge">
@@ -1077,191 +1077,191 @@
 <polygon fill="midnightblue" stroke="midnightblue" points="1687.18,-257.31 1676.6,-257.9 1685.23,-264.04 1687.18,-257.31"/>
 </g>
 <!-- Node38&#45;&gt;Node2 -->
-<g id="edge71" class="edge">
+<g id="edge70" class="edge">
 <title>Node38&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M2508.16,-244.78C2553.05,-241.56 2614.93,-237.45 2669.44,-235 2709.13,-233.22 4071.7,-227.45 4099.44,-199 4116.59,-181.41 4094.98,-155.19 4077.2,-138.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4079.26,-135.75 4069.46,-131.72 4074.61,-140.98 4079.26,-135.75"/>
+<path fill="none" stroke="midnightblue" d="M2498.96,-244.94C2543.43,-241.7 2605.7,-237.48 2660.44,-235 2700.13,-233.2 4062.7,-227.45 4090.44,-199 4107.59,-181.41 4085.98,-155.19 4068.2,-138.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4070.26,-135.75 4060.46,-131.72 4065.61,-140.98 4070.26,-135.75"/>
 </g>
 <!-- Node38&#45;&gt;Node7 -->
 <g id="edge73" class="edge">
 <title>Node38&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2423.66,-240.87C2395.15,-229.57 2345.01,-209.7 2312.52,-196.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2313.63,-193.49 2303.04,-193.06 2311.05,-200 2313.63,-193.49"/>
+<path fill="none" stroke="midnightblue" d="M2418.06,-240.87C2390.07,-229.57 2340.85,-209.7 2308.95,-196.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2310.23,-193.56 2299.65,-193.06 2307.61,-200.05 2310.23,-193.56"/>
 </g>
 <!-- Node38&#45;&gt;Node19 -->
 <g id="edge72" class="edge">
 <title>Node38&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2382.87,-247.63C2205.73,-242.03 1712.04,-224.23 1688.44,-199 1676.12,-185.83 1689.08,-121.38 1697.44,-112 1722.15,-84.28 1762.44,-73.06 1796.41,-68.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1797.17,-72.19 1806.73,-67.63 1796.41,-65.23 1797.17,-72.19"/>
+<path fill="none" stroke="midnightblue" d="M2379.93,-247.71C2205.97,-242.19 1709.07,-224.27 1685.44,-199 1673.12,-185.83 1686.08,-121.37 1694.44,-112 1719.15,-84.28 1759.44,-73.06 1793.41,-68.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1794.17,-72.19 1803.73,-67.63 1793.41,-65.23 1794.17,-72.19"/>
 </g>
 <!-- Node38&#45;&gt;Node20 -->
 <g id="edge90" class="edge">
 <title>Node38&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M2382.69,-247.78C2211.21,-242.75 1743.18,-226.62 1679.44,-199 1627.5,-176.49 1637.91,-135.53 1586.44,-112 1516.48,-80.02 1281.03,-70.32 1194.07,-67.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1194.08,-64.29 1183.99,-67.51 1193.88,-71.29 1194.08,-64.29"/>
+<path fill="none" stroke="midnightblue" d="M2379.68,-247.85C2211.16,-242.89 1740.27,-226.67 1676.44,-199 1624.51,-176.49 1634.91,-135.53 1583.44,-112 1513.48,-80.02 1278.03,-70.32 1191.07,-67.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1191.08,-64.29 1180.99,-67.51 1190.88,-71.29 1191.08,-64.29"/>
 </g>
 <!-- Node38&#45;&gt;Node25 -->
 <g id="edge82" class="edge">
 <title>Node38&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2437.55,-240.99C2429.34,-231.54 2416.93,-215.44 2411.44,-199 2405.17,-180.24 2404.86,-157.44 2405.69,-141.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2409.18,-141.94 2406.42,-131.71 2402.2,-141.43 2409.18,-141.94"/>
+<path fill="none" stroke="midnightblue" d="M2432.25,-240.86C2424.76,-231.3 2413.45,-215.11 2408.44,-199 2402.56,-180.12 2402.19,-157.34 2402.89,-141.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2406.39,-141.88 2403.53,-131.68 2399.4,-141.43 2406.39,-141.88"/>
 </g>
 <!-- Node38&#45;&gt;Node26 -->
 <g id="edge74" class="edge">
 <title>Node38&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M2508.16,-244.77C2553.05,-241.55 2614.93,-237.44 2669.44,-235 2709.63,-233.2 4085.64,-223.66 4117.44,-199 4148.71,-174.74 4160.71,-143.26 4136.44,-112 4122.84,-94.49 4071.12,-82.65 4027.24,-75.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4027.57,-72.03 4017.15,-73.94 4026.49,-78.95 4027.57,-72.03"/>
+<path fill="none" stroke="midnightblue" d="M2498.96,-244.94C2543.43,-241.69 2605.7,-237.48 2660.44,-235 2700.63,-233.18 4076.64,-223.66 4108.44,-199 4139.71,-174.74 4151.71,-143.26 4127.44,-112 4113.84,-94.49 4062.12,-82.65 4018.24,-75.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4018.57,-72.03 4008.15,-73.94 4017.49,-78.95 4018.57,-72.03"/>
 </g>
 <!-- Node38&#45;&gt;Node30 -->
 <g id="edge91" class="edge">
 <title>Node38&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M2382.61,-247.86C2197.88,-242.77 1658.52,-225.96 1484.44,-199 1430.43,-190.63 1419.47,-176.24 1365.44,-168 1185.22,-140.52 605.33,-126.78 458.48,-123.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="458.36,-120.18 448.29,-123.47 458.21,-127.18 458.36,-120.18"/>
+<path fill="none" stroke="midnightblue" d="M2379.73,-247.93C2198.4,-242.93 1655.9,-226.04 1481.44,-199 1427.43,-190.63 1416.47,-176.24 1362.44,-168 1182.8,-140.59 604.76,-126.8 458.38,-123.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="458.28,-120.18 448.21,-123.47 458.13,-127.18 458.28,-120.18"/>
 </g>
 <!-- Node38&#45;&gt;Node32 -->
 <g id="edge75" class="edge">
 <title>Node38&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2508.23,-243.3C2628.69,-231.4 2891.96,-205.39 3024.25,-192.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3024.71,-195.79 3034.32,-191.33 3024.02,-188.83 3024.71,-195.79"/>
+<path fill="none" stroke="midnightblue" d="M2499.01,-243.59C2617.42,-231.84 2882.37,-205.54 3015.26,-192.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3015.76,-195.82 3025.37,-191.35 3015.07,-188.86 3015.76,-195.82"/>
 </g>
 <!-- Node39 -->
 <g id="node39" class="node">
 <title>Node39</title>
 <g id="a_node39"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2420.44,-174 2420.44,-193 2566.44,-193 2566.44,-174 2420.44,-174"/>
-<text text-anchor="middle" x="2493.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/ndarray.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2417.44,-174 2417.44,-193 2557.44,-193 2557.44,-174 2417.44,-174"/>
+<text text-anchor="middle" x="2487.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node38&#45;&gt;Node39 -->
-<g id="edge70" class="edge">
+<g id="edge71" class="edge">
 <title>Node38&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M2451.91,-240.73C2459.32,-230.7 2471.64,-214.01 2480.94,-201.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2483.94,-203.25 2487.07,-193.13 2478.31,-199.09 2483.94,-203.25"/>
+<path fill="none" stroke="midnightblue" d="M2445.91,-240.73C2453.32,-230.7 2465.64,-214.01 2474.94,-201.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2477.94,-203.25 2481.07,-193.13 2472.31,-199.09 2477.94,-203.25"/>
 </g>
 <!-- Node40 -->
 <g id="node40" class="node">
 <title>Node40</title>
 <g id="a_node40"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API.">
-<polygon fill="white" stroke="black" points="1697.94,-168.5 1697.94,-198.5 1810.94,-198.5 1810.94,-168.5 1697.94,-168.5"/>
-<text text-anchor="start" x="1705.94" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
-<text text-anchor="middle" x="1754.44" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="black" points="1694.94,-168.5 1694.94,-198.5 1807.94,-198.5 1807.94,-168.5 1694.94,-168.5"/>
+<text text-anchor="start" x="1702.94" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
+<text text-anchor="middle" x="1751.44" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node38&#45;&gt;Node40 -->
 <g id="edge76" class="edge">
 <title>Node38&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M2382.91,-247.33C2271.65,-242.85 2031.92,-230.35 1821.09,-199.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1821.48,-195.64 1811.07,-197.62 1820.44,-202.56 1821.48,-195.64"/>
+<path fill="none" stroke="midnightblue" d="M2379.85,-247.42C2270.33,-243 2029.58,-230.49 1818.12,-199.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1818.48,-195.64 1808.07,-197.62 1817.44,-202.56 1818.48,-195.64"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
 <title>Node41</title>
 <g id="a_node41"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
-<polygon fill="white" stroke="black" points="3956.44,-174 3956.44,-193 4090.44,-193 4090.44,-174 3956.44,-174"/>
-<text text-anchor="middle" x="4023.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
+<polygon fill="white" stroke="black" points="3947.44,-174 3947.44,-193 4081.44,-193 4081.44,-174 3947.44,-174"/>
+<text text-anchor="middle" x="4014.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node38&#45;&gt;Node41 -->
 <g id="edge83" class="edge">
 <title>Node38&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M2508.26,-244.38C2551.11,-241.32 2609.06,-237.54 2660.44,-235 3126.36,-211.93 3243.33,-218.08 3709.44,-199 3789.84,-195.71 3882.13,-191.22 3945.82,-188.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3946.36,-191.59 3956.18,-187.61 3946.02,-184.6 3946.36,-191.59"/>
+<path fill="none" stroke="midnightblue" d="M2499.4,-244.51C2541.84,-241.42 2599.98,-237.57 2651.44,-235 3117.35,-211.73 3234.33,-218.08 3700.44,-199 3780.84,-195.71 3873.13,-191.22 3936.82,-188.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3937.36,-191.59 3947.18,-187.61 3937.02,-184.6 3937.36,-191.59"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node">
 <title>Node44</title>
 <g id="a_node44"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2584.44,-174 2584.44,-193 2634.44,-193 2634.44,-174 2584.44,-174"/>
-<text text-anchor="middle" x="2609.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">atomic</text>
+<polygon fill="white" stroke="#bfbfbf" points="2575.44,-174 2575.44,-193 2625.44,-193 2625.44,-174 2575.44,-174"/>
+<text text-anchor="middle" x="2600.44" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">atomic</text>
 </a>
 </g>
 </g>
 <!-- Node38&#45;&gt;Node44 -->
 <g id="edge88" class="edge">
 <title>Node38&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M2468.07,-240.96C2494.08,-231.1 2537.99,-214.25 2575.44,-199 2577.03,-198.35 2578.66,-197.68 2580.31,-197"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2581.85,-200.15 2589.71,-193.04 2579.13,-193.69 2581.85,-200.15"/>
+<path fill="none" stroke="midnightblue" d="M2461.53,-240.91C2486.92,-230.99 2529.8,-214.09 2566.44,-199 2568.03,-198.34 2569.66,-197.67 2571.3,-196.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2572.84,-200.13 2580.7,-193.02 2570.12,-193.68 2572.84,-200.13"/>
 </g>
 <!-- Node38&#45;&gt;Node45 -->
 <g id="edge89" class="edge">
 <title>Node38&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M2382.72,-246.66C2217.75,-239.17 1758.06,-218.12 1375.44,-199 1293.29,-194.9 1197.37,-189.76 1143.27,-186.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1143.21,-183.32 1133.03,-186.28 1142.83,-190.31 1143.21,-183.32"/>
+<path fill="none" stroke="midnightblue" d="M2379.86,-246.79C2217.95,-239.41 1756.3,-218.2 1372.44,-199 1290.29,-194.89 1194.37,-189.76 1140.27,-186.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1140.21,-183.32 1130.03,-186.28 1139.83,-190.31 1140.21,-183.32"/>
 </g>
 <!-- Node40&#45;&gt;Node14 -->
 <g id="edge77" class="edge">
 <title>Node40&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M1795.91,-168.4C1826.02,-158.16 1866.29,-144.47 1894.71,-134.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1895.89,-138.1 1904.23,-131.57 1893.63,-131.48 1895.89,-138.1"/>
+<path fill="none" stroke="midnightblue" d="M1792.91,-168.4C1823.02,-158.16 1863.29,-144.47 1891.71,-134.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1892.89,-138.1 1901.23,-131.57 1890.63,-131.48 1892.89,-138.1"/>
 </g>
 <!-- Node40&#45;&gt;Node19 -->
 <g id="edge78" class="edge">
 <title>Node40&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1732.91,-168.25C1713.88,-153.87 1691.17,-131.11 1705.44,-112 1726.32,-84.04 1763.79,-72.74 1796.31,-68.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1797.12,-71.89 1806.66,-67.3 1796.34,-64.93 1797.12,-71.89"/>
+<path fill="none" stroke="midnightblue" d="M1729.91,-168.25C1710.88,-153.87 1688.17,-131.11 1702.44,-112 1723.32,-84.04 1760.79,-72.74 1793.31,-68.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1794.12,-71.89 1803.66,-67.3 1793.34,-64.93 1794.12,-71.89"/>
 </g>
 <!-- Node40&#45;&gt;Node24 -->
 <g id="edge80" class="edge">
 <title>Node40&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M1767.71,-168.4C1776.01,-159.58 1786.74,-148.18 1795.36,-139.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1797.98,-141.34 1802.29,-131.66 1792.89,-136.54 1797.98,-141.34"/>
+<path fill="none" stroke="midnightblue" d="M1764.71,-168.4C1773.01,-159.58 1783.74,-148.18 1792.36,-139.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1794.98,-141.34 1799.29,-131.66 1789.89,-136.54 1794.98,-141.34"/>
 </g>
 <!-- Node40&#45;&gt;Node26 -->
 <g id="edge79" class="edge">
 <title>Node40&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M1744.66,-168.29C1735.05,-152.41 1723.77,-126.97 1738.44,-112 1777.12,-72.53 3527.23,-67.66 3893.62,-67.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3893.8,-70.58 3903.8,-67.06 3893.79,-63.58 3893.8,-70.58"/>
+<path fill="none" stroke="midnightblue" d="M1741.66,-168.29C1732.05,-152.41 1720.77,-126.97 1735.44,-112 1774,-72.64 3518.46,-67.69 3884.5,-67.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3884.68,-70.58 3894.67,-67.07 3884.67,-63.58 3884.68,-70.58"/>
 </g>
 <!-- Node40&#45;&gt;Node33 -->
 <g id="edge81" class="edge">
 <title>Node40&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1811.05,-169.24C1813.88,-168.77 1816.69,-168.36 1819.44,-168 2052.08,-137.89 2808.69,-125.76 2974.24,-123.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.33,-126.93 2984.28,-123.29 2974.23,-119.93 2974.33,-126.93"/>
+<path fill="none" stroke="midnightblue" d="M1808.05,-169.24C1810.88,-168.77 1813.69,-168.36 1816.44,-168 2047.67,-138.05 2799.18,-125.81 2964.91,-123.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.44,-126.93 2975.39,-123.29 2965.34,-119.94 2965.44,-126.93"/>
 </g>
 <!-- Node41&#45;&gt;Node26 -->
 <g id="edge86" class="edge">
 <title>Node41&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M4013.65,-173.76C4003.7,-164.36 3988.48,-148.53 3979.44,-132 3971.5,-117.5 3966.55,-99.31 3963.7,-85.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3967.11,-85.04 3961.78,-75.88 3960.23,-86.36 3967.11,-85.04"/>
+<path fill="none" stroke="midnightblue" d="M4004.65,-173.76C3994.7,-164.36 3979.48,-148.53 3970.44,-132 3962.5,-117.5 3957.55,-99.31 3954.7,-85.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3958.11,-85.04 3952.78,-75.88 3951.23,-86.36 3958.11,-85.04"/>
 </g>
 <!-- Node41&#45;&gt;Node38 -->
 <g id="edge87" class="edge">
 <title>Node41&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M3956.42,-188.3C3896.43,-191.4 3806.23,-195.78 3727.44,-199 3261.33,-218.08 3144.36,-211.93 2678.44,-235 2625.06,-237.64 2564.6,-241.61 2518.57,-244.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2518.12,-241.26 2508.38,-245.43 2518.6,-248.24 2518.12,-241.26"/>
+<path fill="none" stroke="midnightblue" d="M3947.42,-188.3C3887.43,-191.4 3797.23,-195.78 3718.44,-199 3252.33,-218.08 3135.35,-211.73 2669.44,-235 2615.88,-237.68 2555.1,-241.74 2509.39,-244.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2509.03,-241.4 2499.29,-245.58 2509.51,-248.38 2509.03,-241.4"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node">
 <title>Node42</title>
 <g id="a_node42"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3754.44,-112.5 3754.44,-131.5 3816.44,-131.5 3816.44,-112.5 3754.44,-112.5"/>
-<text text-anchor="middle" x="3785.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3745.44,-112.5 3745.44,-131.5 3807.44,-131.5 3807.44,-112.5 3745.44,-112.5"/>
+<text text-anchor="middle" x="3776.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
 </a>
 </g>
 </g>
 <!-- Node41&#45;&gt;Node42 -->
 <g id="edge84" class="edge">
 <title>Node41&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M3989.34,-173.98C3946.32,-163.22 3872.41,-144.74 3826.38,-133.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3827,-129.78 3816.45,-130.75 3825.3,-136.57 3827,-129.78"/>
+<path fill="none" stroke="midnightblue" d="M3980.34,-173.98C3937.32,-163.22 3863.41,-144.74 3817.38,-133.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3818,-129.78 3807.45,-130.75 3816.3,-136.57 3818,-129.78"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node">
 <title>Node43</title>
 <g id="a_node43"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3834.94,-112.5 3834.94,-131.5 3931.94,-131.5 3931.94,-112.5 3834.94,-112.5"/>
-<text text-anchor="middle" x="3883.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3825.94,-112.5 3825.94,-131.5 3922.94,-131.5 3922.94,-112.5 3825.94,-112.5"/>
+<text text-anchor="middle" x="3874.44" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node41&#45;&gt;Node43 -->
 <g id="edge85" class="edge">
 <title>Node41&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M4003.38,-173.98C3979.68,-163.9 3940.03,-147.05 3912.85,-135.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3914.03,-132.2 3903.46,-131.51 3911.29,-138.64 3914.03,-132.2"/>
+<path fill="none" stroke="midnightblue" d="M3994.38,-173.98C3970.68,-163.9 3931.03,-147.05 3903.85,-135.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3905.03,-132.2 3894.46,-131.51 3902.29,-138.64 3905.03,-132.2"/>
 </g>
 <!-- Node48&#45;&gt;Node3 -->
 <g id="edge109" class="edge">
@@ -1272,8 +1272,8 @@
 <!-- Node48&#45;&gt;Node5 -->
 <g id="edge108" class="edge">
 <title>Node48&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2578.63,-481.45C2657.46,-458.96 2875.82,-395.52 3054.44,-333 3186.43,-286.8 3340.86,-223.53 3404.6,-197"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3406.15,-200.15 3414.04,-193.07 3403.46,-193.69 3406.15,-200.15"/>
+<path fill="none" stroke="midnightblue" d="M2578.2,-481.42C2655.94,-458.85 2871.25,-395.24 3047.44,-333 3178.7,-286.63 3332.33,-223.46 3395.75,-196.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3397.26,-200.14 3405.14,-193.05 3394.56,-193.68 3397.26,-200.14"/>
 </g>
 <!-- Node48&#45;&gt;Node9 -->
 <g id="edge110" class="edge">
@@ -1290,56 +1290,56 @@
 <!-- Node48&#45;&gt;Node25 -->
 <g id="edge113" class="edge">
 <title>Node48&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2547.75,-481.1C2544.99,-451.34 2532.07,-354.25 2478.44,-302 2443.1,-267.57 2402.11,-306.14 2373.44,-266 2345.72,-227.19 2376.59,-168.84 2395.28,-140.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2398.34,-141.88 2401.05,-131.64 2392.54,-137.96 2398.34,-141.88"/>
+<path fill="none" stroke="midnightblue" d="M2547.81,-481.49C2545.18,-452.17 2532.55,-354.26 2478.44,-302 2442.05,-266.85 2400.02,-307.05 2370.44,-266 2342.55,-227.31 2373.5,-168.91 2392.24,-140.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2395.31,-141.9 2398.03,-131.66 2389.52,-137.97 2395.31,-141.9"/>
 </g>
 <!-- Node48&#45;&gt;Node32 -->
 <g id="edge112" class="edge">
 <title>Node48&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2557.33,-481.2C2580.94,-458.43 2648.04,-397.37 2716.44,-369 2866.22,-306.87 2954.66,-383.47 3066.44,-266 3083.47,-248.1 3093.62,-221 3098.86,-203.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3102.29,-203.75 3101.51,-193.18 3095.53,-201.93 3102.29,-203.75"/>
+<path fill="none" stroke="midnightblue" d="M2557.33,-481.2C2580.94,-458.43 2648.04,-397.37 2716.44,-369 2862.67,-308.34 2950.03,-382.31 3057.44,-266 3074.2,-247.85 3084.41,-220.81 3089.75,-202.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3093.16,-203.7 3092.45,-193.12 3086.42,-201.83 3093.16,-203.7"/>
 </g>
 <!-- Node48&#45;&gt;Node33 -->
 <g id="edge114" class="edge">
 <title>Node48&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2567.42,-481.39C2596.55,-468.34 2654.21,-443.14 2704.44,-425 2712.61,-422.05 2995.4,-336.31 3003.44,-333 3062.82,-308.57 3226.19,-253.93 3259.44,-199 3266.57,-187.21 3268.29,-178.56 3259.44,-168 3231.67,-134.85 3100.87,-126.1 3039.01,-123.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.76,-120.3 3028.65,-123.46 3038.53,-127.29 3038.76,-120.3"/>
+<path fill="none" stroke="midnightblue" d="M2567.04,-481.39C2595.61,-468.34 2652.14,-443.13 2701.44,-425 2717.5,-419.09 2979.63,-339.56 2995.44,-333 3054.56,-308.45 3217.33,-253.79 3250.44,-199 3257.56,-187.21 3259.29,-178.56 3250.44,-168 3222.67,-134.85 3091.87,-126.1 3030.01,-123.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.76,-120.3 3019.65,-123.46 3029.53,-127.29 3029.76,-120.3"/>
 </g>
 <!-- Node50&#45;&gt;Node5 -->
 <g id="edge123" class="edge">
 <title>Node50&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2454.9,-667.49C2592.92,-663 2975.46,-648.47 3026.44,-624 3052.93,-611.29 3350.03,-279.16 3419.82,-200.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3422.48,-203.18 3426.52,-193.39 3417.26,-198.52 3422.48,-203.18"/>
+<path fill="none" stroke="midnightblue" d="M2454.59,-667.44C2590.8,-662.82 2966.33,-648.04 3016.44,-624 3029.73,-617.62 3339,-279.21 3410.69,-200.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3413.4,-202.89 3417.56,-193.14 3408.23,-198.17 3413.4,-202.89"/>
 </g>
 <!-- Node50&#45;&gt;Node6 -->
 <g id="edge124" class="edge">
 <title>Node50&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2454.45,-668.98C2585.66,-668.4 2942.37,-663.14 3052.44,-624 3320.19,-528.78 3568.76,-268.19 3630.06,-200.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3632.79,-202.85 3636.88,-193.08 3627.59,-198.17 3632.79,-202.85"/>
+<path fill="none" stroke="midnightblue" d="M2454.48,-668.91C2584.01,-668.12 2932.69,-662.4 3040.44,-624 3309,-528.3 3559.23,-268.06 3620.95,-200.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3623.69,-202.82 3627.83,-193.06 3618.51,-198.11 3623.69,-202.82"/>
 </g>
 <!-- Node50&#45;&gt;Node7 -->
 <g id="edge125" class="edge">
 <title>Node50&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2405.18,-660.26C2403.96,-627.96 2397.42,-512.64 2364.44,-425 2341.8,-364.86 2323.15,-356.08 2288.44,-302 2278.05,-285.82 2270.01,-284.4 2264.44,-266 2257.92,-244.46 2265.61,-218.98 2272.65,-202.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2275.84,-203.74 2276.81,-193.19 2269.48,-200.84 2275.84,-203.74"/>
+<path fill="none" stroke="midnightblue" d="M2405.18,-660.26C2403.96,-627.96 2397.42,-512.64 2364.44,-425 2341.8,-364.86 2324.64,-355.09 2288.44,-302 2277.17,-285.48 2267.76,-284.97 2261.44,-266 2254.32,-244.65 2262.15,-219.13 2269.37,-202.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2272.59,-203.78 2273.66,-193.24 2266.25,-200.82 2272.59,-203.78"/>
 </g>
 <!-- Node50&#45;&gt;Node8 -->
 <g id="edge141" class="edge">
 <title>Node50&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2370.94,-660.41C2288.04,-639.78 2077.71,-587.42 1985.68,-564.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1986.39,-561.08 1975.85,-562.06 1984.7,-567.88 1986.39,-561.08"/>
+<path fill="none" stroke="midnightblue" d="M2371.31,-660.41C2289.31,-639.78 2081.24,-587.42 1990.21,-564.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1991.03,-561.11 1980.47,-562.06 1989.32,-567.9 1991.03,-561.11"/>
 </g>
 <!-- Node50&#45;&gt;Node29 -->
 <g id="edge143" class="edge">
 <title>Node50&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2356.34,-661.37C2303.41,-652.96 2216.74,-638.67 2142.44,-624 1865.52,-569.33 1779.03,-557.3 1552.44,-389 1452.45,-314.73 1418.57,-300.54 1346.44,-199 1333.71,-181.09 1324.42,-157.49 1319,-141.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1322.25,-140.03 1315.87,-131.57 1315.58,-142.16 1322.25,-140.03"/>
+<path fill="none" stroke="midnightblue" d="M2356.42,-661.28C2304.05,-652.85 2218.67,-638.6 2145.44,-624 1867.41,-568.59 1780.63,-557.22 1552.44,-389 1451.39,-314.51 1416.51,-301.07 1343.44,-199 1330.65,-181.13 1321.37,-157.53 1315.97,-141.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1319.22,-140.06 1312.85,-131.58 1312.54,-142.17 1319.22,-140.06"/>
 </g>
 <!-- Node50&#45;&gt;Node33 -->
 <g id="edge142" class="edge">
 <title>Node50&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2454.81,-667.62C2586.98,-663.57 2941.88,-650.36 2987.44,-624 3039.41,-593.93 3316.26,-213.8 3277.44,-168 3247.13,-132.24 3103.6,-124.87 3038.58,-123.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.55,-119.87 3028.49,-123.17 3038.42,-126.87 3038.55,-119.87"/>
+<path fill="none" stroke="midnightblue" d="M2454.52,-667.56C2585.01,-663.4 2933.65,-649.95 2978.44,-624 3030.39,-593.89 3307.26,-213.8 3268.44,-168 3238.13,-132.24 3094.6,-124.87 3029.58,-123.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.55,-119.87 3019.49,-123.17 3029.42,-126.87 3029.55,-119.87"/>
 </g>
 <!-- Node51 -->
 <g id="node51" class="node">
@@ -1359,20 +1359,20 @@
 <!-- Node51&#45;&gt;Node3 -->
 <g id="edge131" class="edge">
 <title>Node51&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1187.26,-604.99C1143.39,-595.82 1076.31,-580.47 1053.44,-568 950.43,-511.84 930.89,-482.05 859.44,-389 812.33,-327.67 817.63,-301.67 778.44,-235 773,-225.75 766.63,-215.82 760.95,-207.23"/>
+<path fill="none" stroke="midnightblue" d="M1187.26,-604.99C1143.39,-595.82 1076.31,-580.47 1053.44,-568 1001.94,-539.92 895.17,-435.52 859.44,-389 812.33,-327.67 817.63,-301.67 778.44,-235 773,-225.75 766.63,-215.82 760.95,-207.23"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="763.81,-205.22 755.34,-198.86 757.99,-209.11 763.81,-205.22"/>
 </g>
 <!-- Node51&#45;&gt;Node6 -->
 <g id="edge128" class="edge">
 <title>Node51&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1267.7,-613.49C1412.19,-614.78 1917.89,-615.42 2331.44,-568 2755.26,-519.4 2873.16,-533.78 3274.44,-389 3416.71,-337.67 3569.69,-236.46 3623.95,-198.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3626.14,-201.68 3632.35,-193.09 3622.14,-195.93 3626.14,-201.68"/>
+<path fill="none" stroke="midnightblue" d="M1267.65,-613.36C1411.96,-614.24 1917.06,-613.64 2330.44,-568 2496.55,-549.66 2536.28,-532.33 2700.44,-501 2948.9,-453.57 3020.31,-474.31 3258.44,-389 3402.89,-337.25 3559.08,-236.3 3614.5,-198.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3616.78,-201.58 3623.08,-193.06 3612.85,-195.78 3616.78,-201.58"/>
 </g>
 <!-- Node51&#45;&gt;Node8 -->
 <g id="edge132" class="edge">
 <title>Node51&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M1267.61,-609.65C1389.96,-599.46 1757.78,-568.81 1891.85,-557.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1892.17,-561.12 1901.84,-556.8 1891.59,-554.14 1892.17,-561.12"/>
+<path fill="none" stroke="midnightblue" d="M1267.63,-609.67C1390.56,-599.5 1761.3,-568.82 1896.45,-557.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1896.85,-561.12 1906.52,-556.8 1896.27,-554.14 1896.85,-561.12"/>
 </g>
 <!-- Node51&#45;&gt;Node10 -->
 <g id="edge129" class="edge">
@@ -1383,32 +1383,32 @@
 <!-- Node51&#45;&gt;Node20 -->
 <g id="edge139" class="edge">
 <title>Node51&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M1203.14,-604.43C1185.91,-597.19 1163.44,-585.23 1149.44,-568 1098.18,-504.92 1056.09,-251.77 1049.44,-199 1044.48,-159.64 1043,-141.58 1069.44,-112 1085.25,-94.31 1109.58,-82.83 1129.25,-75.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1130.35,-79.22 1138.75,-72.77 1128.16,-72.57 1130.35,-79.22"/>
+<path fill="none" stroke="midnightblue" d="M1203.14,-604.43C1185.91,-597.19 1163.44,-585.23 1149.44,-568 1113.4,-523.65 1092.81,-550.93 1046.44,-199 1041.25,-159.66 1040,-141.58 1066.44,-112 1082.25,-94.31 1106.58,-82.83 1126.25,-75.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1127.35,-79.22 1135.75,-72.77 1125.16,-72.57 1127.35,-79.22"/>
 </g>
 <!-- Node51&#45;&gt;Node29 -->
 <g id="edge137" class="edge">
 <title>Node51&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M1245.83,-604.47C1259.54,-597 1277.25,-584.71 1285.44,-568 1291.5,-555.63 1289.45,-550.18 1285.44,-537 1257.38,-444.9 996.56,-241.75 1058.44,-168 1084.77,-136.62 1202.85,-127.11 1268.7,-124.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1268.94,-127.73 1278.79,-123.83 1268.66,-120.74 1268.94,-127.73"/>
+<path fill="none" stroke="midnightblue" d="M1245.83,-604.47C1259.54,-597 1277.25,-584.71 1285.44,-568 1291.5,-555.63 1289.49,-550.17 1285.44,-537 1257,-444.66 993.33,-242.02 1055.44,-168 1081.77,-136.62 1199.85,-127.11 1265.7,-124.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1265.94,-127.73 1275.79,-123.83 1265.66,-120.74 1265.94,-127.73"/>
 </g>
 <!-- Node51&#45;&gt;Node30 -->
 <g id="edge140" class="edge">
 <title>Node51&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M1187.18,-607.38C1130.81,-599.12 1031.54,-583.05 998.44,-568 869.42,-509.33 524.35,-210.54 442.18,-138.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="444.09,-135.62 434.27,-131.66 439.48,-140.88 444.09,-135.62"/>
+<path fill="none" stroke="midnightblue" d="M1187.23,-607.03C1132.61,-598.55 1038.16,-582.43 1006.44,-568 750.51,-451.61 502.63,-204.44 439.71,-139.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="442.11,-136.56 432.67,-131.75 437.05,-141.4 442.11,-136.56"/>
 </g>
 <!-- Node51&#45;&gt;Node33 -->
 <g id="edge136" class="edge">
 <title>Node51&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1267.56,-611.35C1381.01,-606.53 1713.78,-591.31 1989.44,-568 2023.3,-565.14 2571.4,-522.84 2597.44,-501 2620.49,-481.65 2616.44,-466.1 2616.44,-436 2616.44,-436 2616.44,-436 2616.44,-378 2616.44,-313.83 2597.94,-286.34 2636.44,-235 2659.83,-203.81 2682.37,-217.96 2716.44,-199 2737.98,-187.01 2739.61,-177.32 2762.44,-168 2834.55,-138.55 2926.53,-128.25 2974.33,-124.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.65,-128.23 2984.39,-124.06 2974.17,-121.25 2974.65,-128.23"/>
+<path fill="none" stroke="midnightblue" d="M1267.82,-611.37C1382.02,-606.61 1716.99,-591.54 1994.44,-568 2028.02,-565.15 2571.63,-522.68 2597.44,-501 2620.49,-481.64 2616.44,-466.1 2616.44,-436 2616.44,-436 2616.44,-436 2616.44,-378 2616.44,-314.26 2590.8,-287.16 2627.44,-235 2649.85,-203.09 2673.37,-217.96 2707.44,-199 2728.98,-187.01 2730.61,-177.32 2753.44,-168 2825.55,-138.55 2917.53,-128.25 2965.33,-124.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.65,-128.23 2975.39,-124.06 2965.17,-121.25 2965.65,-128.23"/>
 </g>
 <!-- Node51&#45;&gt;Node35 -->
 <g id="edge133" class="edge">
 <title>Node51&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1267.45,-612.63C1399.54,-611.07 1833.6,-603.41 2190.44,-568 2288.86,-558.23 2536.06,-530.59 2630.44,-501 2684.3,-484.11 2714.59,-492.91 2744.44,-445 2777.35,-392.16 2757.96,-314.57 2744.7,-275.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2747.83,-273.99 2741.17,-265.75 2741.23,-276.34 2747.83,-273.99"/>
+<path fill="none" stroke="midnightblue" d="M1267.45,-612.63C1399.54,-611.07 1833.6,-603.41 2190.44,-568 2288.86,-558.23 2535.82,-529.82 2630.44,-501 2695.29,-481.25 2768.44,-503.8 2768.44,-436 2768.44,-436 2768.44,-436 2768.44,-378 2768.44,-340.41 2751.53,-299.59 2739.17,-274.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2742.23,-273.07 2734.54,-265.79 2736,-276.28 2742.23,-273.07"/>
 </g>
 <!-- Node51&#45;&gt;Node37 -->
 <g id="edge134" class="edge">
@@ -1419,8 +1419,8 @@
 <!-- Node51&#45;&gt;Node45 -->
 <g id="edge135" class="edge">
 <title>Node51&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M1210.68,-604.49C1197.34,-596.81 1179.31,-584.22 1169.44,-568 1094.76,-445.27 1096.5,-262.25 1099.26,-203.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1102.77,-203.27 1099.82,-193.1 1095.78,-202.89 1102.77,-203.27"/>
+<path fill="none" stroke="midnightblue" d="M1210.7,-604.48C1197.36,-596.79 1179.34,-584.21 1169.44,-568 1094.45,-445.22 1094.33,-262.23 1096.46,-203.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1099.98,-203.24 1096.91,-193.1 1092.98,-202.93 1099.98,-203.24"/>
 </g>
 <!-- Node52 -->
 <g id="node52" class="node">
@@ -1462,71 +1462,71 @@
 <!-- Node55&#45;&gt;Node3 -->
 <g id="edge145" class="edge">
 <title>Node55&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M828.12,-775.09C728.49,-763.34 527.67,-733.49 485.44,-680 399.78,-571.5 423.94,-494.71 481.44,-369 521.75,-280.85 628.52,-227.48 693.26,-202.21"/>
+<path fill="none" stroke="midnightblue" d="M861.11,-776.26C755.06,-766.06 532.15,-738.06 485.44,-680 398.79,-572.29 423.94,-494.71 481.44,-369 521.75,-280.85 628.52,-227.48 693.26,-202.21"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="694.79,-205.37 702.88,-198.54 692.29,-198.83 694.79,-205.37"/>
 </g>
 <!-- Node55&#45;&gt;Node8 -->
 <g id="edge146" class="edge">
 <title>Node55&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M940.46,-778.14C1084.16,-769.35 1475.88,-736.09 1779.44,-624 1827.68,-606.19 1882.22,-581.47 1914.11,-566.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1915.69,-569.65 1923.25,-562.22 1912.71,-563.32 1915.69,-569.65"/>
+<path fill="none" stroke="midnightblue" d="M973.53,-777.17C1113.4,-766.27 1487.35,-728.8 1779.44,-624 1829.1,-606.18 1885.34,-581.46 1918.24,-566.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1920.03,-569.56 1927.67,-562.22 1917.12,-563.19 1920.03,-569.56"/>
 </g>
 <!-- Node56 -->
 <g id="node56" class="node">
 <title>Node56</title>
 <g id="a_node56"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object.">
-<polygon fill="white" stroke="black" points="828.44,-716.5 828.44,-735.5 938.44,-735.5 938.44,-716.5 828.44,-716.5"/>
-<text text-anchor="middle" x="883.44" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
+<polygon fill="white" stroke="black" points="844.44,-716.5 844.44,-735.5 954.44,-735.5 954.44,-716.5 844.44,-716.5"/>
+<text text-anchor="middle" x="899.44" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
 </a>
 </g>
 </g>
 <!-- Node55&#45;&gt;Node56 -->
 <g id="edge147" class="edge">
 <title>Node55&#45;&gt;Node56</title>
-<path fill="none" stroke="midnightblue" d="M884.27,-772.08C884.14,-765.01 883.95,-754.86 883.79,-745.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="887.28,-745.68 883.6,-735.75 880.29,-745.81 887.28,-745.68"/>
+<path fill="none" stroke="midnightblue" d="M914.47,-772.08C912.05,-764.85 908.57,-754.41 905.57,-745.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="908.84,-744.13 902.35,-735.75 902.2,-746.34 908.84,-744.13"/>
 </g>
 <!-- Node56&#45;&gt;Node3 -->
 <g id="edge148" class="edge">
 <title>Node56&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M859.98,-716.47C813.5,-698.03 711.48,-649.38 680.44,-568 675.53,-555.13 680.09,-550.77 680.44,-537 682.22,-467.15 688.44,-449.87 688.44,-380 688.44,-380 688.44,-380 688.44,-316.5 688.44,-275.37 712.05,-232.5 728.88,-207.17"/>
+<path fill="none" stroke="midnightblue" d="M873.55,-716.45C823.89,-698.41 716.95,-651.09 680.44,-568 674.89,-555.39 680.09,-550.77 680.44,-537 682.22,-467.15 688.44,-449.87 688.44,-380 688.44,-380 688.44,-380 688.44,-316.5 688.44,-275.37 712.05,-232.5 728.88,-207.17"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="731.94,-208.9 734.72,-198.67 726.17,-204.94 731.94,-208.9"/>
 </g>
 <!-- Node56&#45;&gt;Node8 -->
 <g id="edge149" class="edge">
 <title>Node56&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M938.76,-725.67C1052.9,-726.09 1322.3,-722.05 1543.44,-680 1616,-666.2 1825.18,-594.23 1907.54,-565.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1908.88,-568.67 1917.16,-562.06 1906.57,-562.06 1908.88,-568.67"/>
+<path fill="none" stroke="midnightblue" d="M954.6,-725.34C1065.84,-725.11 1324.61,-719.87 1537.44,-680 1611.94,-666.04 1827.34,-594.03 1911.84,-565.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1913.14,-568.58 1921.48,-562.05 1910.88,-561.96 1913.14,-568.58"/>
 </g>
 <!-- Node56&#45;&gt;Node11 -->
 <g id="edge155" class="edge">
 <title>Node56&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M938.6,-723.39C1064.29,-719.3 1368.7,-706.87 1467.44,-680 1715.5,-612.49 1983.54,-444.33 2060,-394.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2061.93,-397.19 2068.36,-388.77 2058.08,-391.34 2061.93,-397.19"/>
+<path fill="none" stroke="midnightblue" d="M954.79,-723.17C1077.09,-718.69 1366.98,-705.66 1461.44,-680 1711.49,-612.07 1982.44,-444.19 2059.76,-394.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2061.73,-397.13 2068.21,-388.75 2057.92,-391.26 2061.73,-397.13"/>
 </g>
 <!-- Node56&#45;&gt;Node30 -->
 <g id="edge172" class="edge">
 <title>Node56&#45;&gt;Node30</title>
-<path fill="none" stroke="midnightblue" d="M828.14,-719.3C778.91,-713.12 705.46,-701.19 644.44,-680 544.5,-645.31 288.86,-533.19 230.44,-445 162.27,-342.1 150.08,-239.86 250.44,-168 272.81,-151.98 346.94,-136.68 390.89,-128.7"/>
+<path fill="none" stroke="midnightblue" d="M843.98,-719.92C791.92,-714.04 712.4,-702.18 646.44,-680 545.62,-646.1 285.74,-535.24 229.44,-445 164.08,-340.25 150.05,-239.88 250.44,-168 272.81,-151.98 346.94,-136.68 390.89,-128.7"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="391.61,-132.13 400.84,-126.93 390.38,-125.24 391.61,-132.13"/>
 </g>
 <!-- Node56&#45;&gt;Node33 -->
 <g id="edge170" class="edge">
 <title>Node56&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M938.64,-723.59C1058.67,-720.06 1352.26,-708.98 1596.44,-680 1825.62,-652.8 2453.19,-661.07 2619.44,-501 2706.09,-417.57 2594.51,-329.1 2669.44,-235 2694.74,-203.23 2718.83,-220.27 2753.44,-199 2771.71,-187.77 2771.13,-177.36 2790.44,-168 2851.1,-138.59 2930.44,-128.35 2974.1,-124.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2974.43,-128.31 2984.15,-124.08 2973.92,-121.33 2974.43,-128.31"/>
+<path fill="none" stroke="midnightblue" d="M954.79,-723.42C1072.38,-719.62 1355.63,-708.11 1591.44,-680 1821.69,-652.55 2452.33,-661.76 2619.44,-501 2705.64,-418.07 2587.9,-330.11 2660.44,-235 2685.07,-202.7 2709.83,-220.27 2744.44,-199 2762.71,-187.77 2762.13,-177.36 2781.44,-168 2842.1,-138.59 2921.44,-128.35 2965.1,-124.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.43,-128.31 2975.15,-124.08 2964.92,-121.33 2965.43,-128.31"/>
 </g>
 <!-- Node56&#45;&gt;Node40 -->
 <g id="edge156" class="edge">
 <title>Node56&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M933.45,-716.46C1009.4,-702.53 1157.58,-671.61 1276.44,-624 1323.72,-605.06 1338.19,-601.65 1376.44,-568 1445.61,-507.14 1550.11,-290.78 1623.44,-235 1642.53,-220.47 1666.31,-209.65 1688.35,-201.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1689.65,-205.09 1698,-198.56 1687.4,-198.46 1689.65,-205.09"/>
+<path fill="none" stroke="midnightblue" d="M945.6,-716.5C1017.89,-702.33 1161.41,-670.76 1276.44,-624 1323.63,-604.82 1338.19,-601.65 1376.44,-568 1445.61,-507.14 1550.33,-291.07 1623.44,-235 1642.26,-220.56 1665.74,-209.73 1687.44,-201.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1688.63,-205.16 1696.93,-198.58 1686.33,-198.55 1688.63,-205.16"/>
 </g>
 <!-- Node56&#45;&gt;Node50 -->
 <g id="edge150" class="edge">
 <title>Node56&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M938.51,-723.05C1174.8,-714.66 2101.92,-681.77 2346.19,-673.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2346.42,-676.6 2356.29,-672.74 2346.17,-669.6 2346.42,-676.6"/>
+<path fill="none" stroke="midnightblue" d="M954.82,-723.01C1189.85,-714.59 2103.7,-681.82 2346.13,-673.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2346.29,-676.62 2356.15,-672.77 2346.03,-669.63 2346.29,-676.62"/>
 </g>
 <!-- Node57 -->
 <g id="node57" class="node">
@@ -1541,23 +1541,23 @@
 <!-- Node56&#45;&gt;Node57 -->
 <g id="edge151" class="edge">
 <title>Node56&#45;&gt;Node57</title>
-<path fill="none" stroke="midnightblue" d="M828.43,-719.68C786.08,-714 726.94,-702.56 679.44,-680 630.28,-656.65 629.75,-632.58 583.44,-604 565.65,-593.02 253.67,-462.63 242.44,-445 207.44,-390.06 251.86,-312.13 278.34,-274.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="281.33,-275.94 284.31,-265.78 275.64,-271.87 281.33,-275.94"/>
+<path fill="none" stroke="midnightblue" d="M844.23,-721.03C798.69,-716.05 733.36,-704.89 681.44,-680 633.61,-657.07 634.37,-632.17 589.44,-604 553.51,-581.47 265.34,-480.69 242.44,-445 207.26,-390.18 251.76,-312.2 278.3,-274.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="281.3,-275.96 284.29,-265.79 275.61,-271.88 281.3,-275.96"/>
 </g>
 <!-- Node58 -->
 <g id="node58" class="node">
 <title>Node58</title>
 <g id="a_node58"><a xlink:href="with_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python&#39;s with syntax.">
-<polygon fill="white" stroke="black" points="774.94,-604.5 774.94,-623.5 883.94,-623.5 883.94,-604.5 774.94,-604.5"/>
-<text text-anchor="middle" x="829.44" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
+<polygon fill="white" stroke="black" points="788.94,-604.5 788.94,-623.5 897.94,-623.5 897.94,-604.5 788.94,-604.5"/>
+<text text-anchor="middle" x="843.44" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
 </a>
 </g>
 </g>
 <!-- Node56&#45;&gt;Node58 -->
 <g id="edge157" class="edge">
 <title>Node56&#45;&gt;Node58</title>
-<path fill="none" stroke="midnightblue" d="M879.2,-716.37C870.37,-698.38 849.83,-656.55 838.09,-632.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="841.2,-631.03 833.66,-623.59 834.92,-634.11 841.2,-631.03"/>
+<path fill="none" stroke="midnightblue" d="M895.04,-716.37C885.88,-698.38 864.59,-656.55 852.41,-632.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="855.47,-630.92 847.81,-623.59 849.23,-634.09 855.47,-630.92"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
@@ -1571,26 +1571,26 @@
 <!-- Node56&#45;&gt;Node59 -->
 <g id="edge161" class="edge">
 <title>Node56&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M828.06,-718.64C792.09,-712.67 745.22,-701.31 708.44,-680 667.65,-656.36 670.97,-633.8 634.44,-604 555.91,-539.94 533.23,-526.01 442.44,-481 415.22,-467.51 382.91,-455.84 358.24,-447.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="359.1,-444.37 348.51,-444.65 356.96,-451.04 359.1,-444.37"/>
+<path fill="none" stroke="midnightblue" d="M844.12,-721.15C804,-716.27 749.75,-705.17 708.44,-680 670.48,-656.87 677.25,-632.84 643.44,-604 563.75,-536.03 536.75,-526.55 442.44,-481 414.9,-467.7 382.36,-455.96 357.66,-447.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="358.53,-444.41 347.94,-444.64 356.36,-451.06 358.53,-444.41"/>
 </g>
 <!-- Node56&#45;&gt;Node61 -->
 <g id="edge171" class="edge">
 <title>Node56&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M828.57,-716.49C770.43,-707.47 675.96,-692.78 594.44,-680 593.18,-679.8 591.92,-679.6 590.64,-679.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="591.12,-675.94 580.7,-677.84 590.03,-682.85 591.12,-675.94"/>
+<path fill="none" stroke="midnightblue" d="M844.31,-717.04C783.21,-708.17 681.74,-693.33 594.44,-680 593.18,-679.81 591.92,-679.61 590.64,-679.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="591.11,-675.95 580.69,-677.88 590.04,-682.87 591.11,-675.95"/>
 </g>
 <!-- Node57&#45;&gt;Node7 -->
 <g id="edge152" class="edge">
 <title>Node57&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M358.7,-248.35C585.76,-244.09 1380.9,-227.9 2036.44,-199 2101.81,-196.12 2176.92,-191.48 2226.56,-188.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2227,-191.7 2236.75,-187.55 2226.54,-184.72 2227,-191.7"/>
+<path fill="none" stroke="midnightblue" d="M358.59,-248.35C585.26,-244.08 1379.03,-227.87 2033.44,-199 2098.81,-196.12 2173.92,-191.47 2223.56,-188.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2224,-191.7 2233.75,-187.55 2223.54,-184.71 2224,-191.7"/>
 </g>
 <!-- Node57&#45;&gt;Node20 -->
 <g id="edge153" class="edge">
 <title>Node57&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M300.22,-235.06C310.96,-205.29 340.18,-137.74 391.44,-112 457.92,-78.61 989.24,-69.28 1128.25,-67.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1128.71,-70.89 1138.66,-67.26 1128.62,-63.89 1128.71,-70.89"/>
+<path fill="none" stroke="midnightblue" d="M300.22,-235.06C310.97,-205.29 340.19,-137.75 391.44,-112 457.66,-78.73 986.91,-69.31 1125.38,-67.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1125.8,-70.9 1135.75,-67.27 1125.71,-63.9 1125.8,-70.9"/>
 </g>
 <!-- Node57&#45;&gt;Node30 -->
 <g id="edge154" class="edge">
@@ -1601,20 +1601,20 @@
 <!-- Node58&#45;&gt;Node20 -->
 <g id="edge160" class="edge">
 <title>Node58&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M774.86,-604.7C596.84,-576.11 44.44,-474.79 44.44,-318.5 44.44,-318.5 44.44,-318.5 44.44,-182.5 44.44,-70.5 944.48,-66.51 1128.73,-66.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1128.86,-70.36 1138.87,-66.89 1128.88,-63.36 1128.86,-70.36"/>
+<path fill="none" stroke="midnightblue" d="M788.83,-605.04C608.66,-577.24 44.44,-477.52 44.44,-318.5 44.44,-318.5 44.44,-318.5 44.44,-182.5 44.44,-70.8 942.06,-66.57 1125.81,-66.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1125.93,-70.37 1135.93,-66.89 1125.94,-63.37 1125.93,-70.37"/>
 </g>
 <!-- Node58&#45;&gt;Node45 -->
 <g id="edge159" class="edge">
 <title>Node58&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M818.17,-604.43C808.47,-596.27 795.16,-583.05 789.44,-568 784.54,-555.12 786.74,-550.51 789.44,-537 805.3,-457.68 810.09,-433.09 859.44,-369 921.52,-288.36 1027.09,-224.39 1075.2,-197.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1076.92,-200.88 1084.03,-193.02 1073.57,-194.73 1076.92,-200.88"/>
+<path fill="none" stroke="midnightblue" d="M826.8,-604.46C813.95,-596.84 797.1,-584.36 789.44,-568 783.59,-555.52 786.74,-550.51 789.44,-537 805.3,-457.68 810.29,-433.24 859.44,-369 920.66,-288.98 1024.59,-224.88 1072.22,-198.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1074.19,-200.99 1081.24,-193.08 1070.79,-194.87 1074.19,-200.99"/>
 </g>
 <!-- Node58&#45;&gt;Node52 -->
 <g id="edge158" class="edge">
 <title>Node58&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M831.87,-604.48C834.3,-595.99 838.09,-582.7 841.2,-571.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="844.62,-572.59 844.01,-562.01 837.89,-570.66 844.62,-572.59"/>
+<path fill="none" stroke="midnightblue" d="M843.87,-604.48C844.29,-596.08 844.95,-582.98 845.5,-572.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="849,-572.17 846.01,-562.01 842.01,-571.82 849,-572.17"/>
 </g>
 <!-- Node59&#45;&gt;Node3 -->
 <g id="edge163" class="edge">
@@ -1637,8 +1637,8 @@
 <!-- Node59&#45;&gt;Node20 -->
 <g id="edge168" class="edge">
 <title>Node59&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M296.11,-425.48C278.14,-418.02 253.55,-405.73 236.44,-389 186.58,-340.25 175.17,-297.33 206.44,-235 245.87,-156.39 279.24,-143.27 361.44,-112 433.9,-84.43 986.88,-70.75 1128.49,-67.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1128.78,-71.17 1138.7,-67.46 1128.63,-64.17 1128.78,-71.17"/>
+<path fill="none" stroke="midnightblue" d="M296.11,-425.48C278.14,-418.02 253.55,-405.73 236.44,-389 186.58,-340.25 175.17,-297.33 206.44,-235 245.87,-156.39 279.24,-143.28 361.44,-112 433.63,-84.53 984.53,-70.78 1125.61,-67.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1125.86,-71.18 1135.79,-67.46 1125.71,-64.18 1125.86,-71.18"/>
 </g>
 <!-- Node59&#45;&gt;Node30 -->
 <g id="edge169" class="edge">
@@ -1676,71 +1676,71 @@
 <!-- Node62&#45;&gt;Node6 -->
 <g id="edge184" class="edge">
 <title>Node62&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M3713.17,-833.81C3771.12,-828.99 3860.62,-817.53 3881.44,-792 3887.05,-785.11 3882.48,-780.83 3881.44,-772 3866.45,-644.92 3814.44,-619.96 3814.44,-492 3814.44,-492 3814.44,-492 3814.44,-378 3814.44,-314.14 3867.16,-285.78 3828.44,-235 3820.2,-224.2 3746.95,-206.5 3695.4,-195.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3695.92,-191.71 3685.4,-193.01 3694.43,-198.55 3695.92,-191.71"/>
+<path fill="none" stroke="midnightblue" d="M3704.17,-833.81C3762.12,-828.99 3851.62,-817.53 3872.44,-792 3878.05,-785.11 3873.48,-780.83 3872.44,-772 3857.45,-644.92 3805.44,-619.96 3805.44,-492 3805.44,-492 3805.44,-492 3805.44,-378 3805.44,-314.14 3858.16,-285.78 3819.44,-235 3811.2,-224.2 3737.95,-206.5 3686.4,-195.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3686.92,-191.71 3676.4,-193.01 3685.43,-198.55 3686.92,-191.71"/>
 </g>
 <!-- Node62&#45;&gt;Node33 -->
 <g id="edge224" class="edge">
 <title>Node62&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3713.2,-833.08C3773.74,-827.43 3870.21,-815.05 3897.44,-792 4045.59,-666.56 4042.44,-574.12 4042.44,-380 4042.44,-380 4042.44,-380 4042.44,-316.5 4042.44,-278.74 4042.59,-264.03 4018.44,-235 3995.81,-207.8 3977.66,-217.4 3947.44,-199 3927.31,-186.75 3926.67,-175.8 3904.44,-168 3821.54,-138.92 3190.03,-126.19 3038.87,-123.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.5,-120.03 3028.44,-123.36 3038.38,-127.03 3038.5,-120.03"/>
+<path fill="none" stroke="midnightblue" d="M3704.2,-833.08C3764.74,-827.43 3861.21,-815.05 3888.44,-792 4036.59,-666.56 4033.44,-574.12 4033.44,-380 4033.44,-380 4033.44,-380 4033.44,-316.5 4033.44,-278.74 4033.59,-264.03 4009.44,-235 3986.81,-207.8 3968.66,-217.4 3938.44,-199 3918.31,-186.75 3917.67,-175.8 3895.44,-168 3812.54,-138.92 3181.03,-126.19 3029.87,-123.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.5,-120.03 3019.44,-123.36 3029.38,-127.03 3029.5,-120.03"/>
 </g>
 <!-- Node62&#45;&gt;Node38 -->
 <g id="edge187" class="edge">
 <title>Node62&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M3667.95,-828.38C3675.55,-815.31 3687.14,-790.08 3676.44,-772 3539.58,-540.73 3392.97,-587.93 3146.44,-481 2905.2,-376.36 2599.95,-291.93 2488.59,-262.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2489.29,-259.18 2478.73,-260.03 2487.52,-265.95 2489.29,-259.18"/>
+<path fill="none" stroke="midnightblue" d="M3658.95,-828.38C3666.55,-815.31 3678.14,-790.08 3667.44,-772 3530.58,-540.73 3383.9,-588.09 3137.44,-481 2897.2,-376.62 2593.28,-292.03 2482.4,-262.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2483.15,-259.22 2472.59,-260.05 2481.36,-265.99 2483.15,-259.22"/>
 </g>
 <!-- Node62&#45;&gt;Node50 -->
 <g id="edge186" class="edge">
 <title>Node62&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M3611.92,-831.06C3447.59,-811.58 2913.19,-747.18 2464.49,-680.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2464.98,-677.27 2454.58,-679.27 2463.95,-684.19 2464.98,-677.27"/>
+<path fill="none" stroke="midnightblue" d="M3602.73,-830.97C3439,-811.35 2909.55,-746.86 2464.74,-680.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2464.98,-677.27 2454.58,-679.26 2463.95,-684.2 2464.98,-677.27"/>
 </g>
 <!-- Node63 -->
 <g id="node63" class="node">
 <title>Node63</title>
 <g id="a_node63"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3728.44,-772.5 3728.44,-791.5 3872.44,-791.5 3872.44,-772.5 3728.44,-772.5"/>
-<text text-anchor="middle" x="3800.44" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/variant.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3719.44,-772.5 3719.44,-791.5 3863.44,-791.5 3863.44,-772.5 3719.44,-772.5"/>
+<text text-anchor="middle" x="3791.44" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/variant.h</text>
 </a>
 </g>
 </g>
 <!-- Node62&#45;&gt;Node63 -->
 <g id="edge185" class="edge">
 <title>Node62&#45;&gt;Node63</title>
-<path fill="none" stroke="midnightblue" d="M3684.3,-828.44C3707.22,-819.48 3743.41,-805.31 3769.3,-795.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3770.64,-798.42 3778.67,-791.52 3768.09,-791.9 3770.64,-798.42"/>
+<path fill="none" stroke="midnightblue" d="M3675.3,-828.44C3698.22,-819.48 3734.41,-805.31 3760.3,-795.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3761.64,-798.42 3769.67,-791.52 3759.09,-791.9 3761.64,-798.42"/>
 </g>
 <!-- Node64 -->
 <g id="node64" class="node">
 <title>Node64</title>
 <g id="a_node64"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n&#45;dimensional array, to represent a memory buffer.">
-<polygon fill="white" stroke="black" points="3142.94,-660.5 3142.94,-679.5 3231.94,-679.5 3231.94,-660.5 3142.94,-660.5"/>
-<text text-anchor="middle" x="3187.44" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/buffer.h</text>
+<polygon fill="white" stroke="black" points="3133.94,-660.5 3133.94,-679.5 3222.94,-679.5 3222.94,-660.5 3133.94,-660.5"/>
+<text text-anchor="middle" x="3178.44" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/buffer.h</text>
 </a>
 </g>
 </g>
 <!-- Node62&#45;&gt;Node64 -->
 <g id="edge188" class="edge">
 <title>Node62&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M3656.19,-828.35C3645.56,-814.3 3622.54,-786.6 3596.44,-772 3480.74,-707.29 3323.85,-683.58 3242.1,-675.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.32,-671.76 3232.03,-674.27 3241.64,-678.73 3242.32,-671.76"/>
+<path fill="none" stroke="midnightblue" d="M3647.19,-828.35C3636.56,-814.3 3613.54,-786.6 3587.44,-772 3471.74,-707.29 3314.85,-683.58 3233.1,-675.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3233.32,-671.76 3223.03,-674.27 3232.64,-678.73 3233.32,-671.76"/>
 </g>
 <!-- Node66 -->
 <g id="node66" class="node">
 <title>Node66</title>
 <g id="a_node66"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions.">
-<polygon fill="white" stroke="black" points="3145.94,-716.5 3145.94,-735.5 3228.94,-735.5 3228.94,-716.5 3145.94,-716.5"/>
-<text text-anchor="middle" x="3187.44" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/expr.h</text>
+<polygon fill="white" stroke="black" points="3136.94,-716.5 3136.94,-735.5 3219.94,-735.5 3219.94,-716.5 3136.94,-716.5"/>
+<text text-anchor="middle" x="3178.44" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node62&#45;&gt;Node66 -->
 <g id="edge201" class="edge">
 <title>Node62&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M3652.77,-828.49C3635.81,-814.11 3599.03,-785.27 3562.44,-772 3504.18,-750.87 3327.52,-736.41 3239.06,-730.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3239.19,-726.79 3228.98,-729.6 3238.72,-733.78 3239.19,-726.79"/>
+<path fill="none" stroke="midnightblue" d="M3643.77,-828.49C3626.81,-814.11 3590.03,-785.27 3553.44,-772 3495.18,-750.87 3318.52,-736.41 3230.06,-730.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3230.19,-726.79 3219.98,-729.6 3229.72,-733.78 3230.19,-726.79"/>
 </g>
 <!-- Node67 -->
 <g id="node67" class="node">
@@ -1754,215 +1754,215 @@
 <!-- Node62&#45;&gt;Node67 -->
 <g id="edge218" class="edge">
 <title>Node62&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M3611.8,-834.9C3404.71,-826.31 2623.3,-793.9 2412.89,-785.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2412.87,-781.67 2402.73,-784.75 2412.58,-788.67 2412.87,-781.67"/>
+<path fill="none" stroke="midnightblue" d="M3602.75,-834.88C3396.59,-826.27 2622.07,-793.93 2412.82,-785.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2412.85,-781.69 2402.71,-784.77 2412.56,-788.68 2412.85,-781.69"/>
 </g>
 <!-- Node64&#45;&gt;Node3 -->
 <g id="edge190" class="edge">
 <title>Node64&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M3142.64,-668.37C2864.58,-664.44 1379.81,-642.67 1178.44,-624 1123.73,-618.93 1110.78,-612.12 1056.44,-604 997.22,-595.16 832.88,-609.19 789.44,-568 746.11,-526.92 764.44,-495.71 764.44,-436 764.44,-436 764.44,-436 764.44,-316.5 764.44,-278.45 756.61,-234.85 751,-208.51"/>
+<path fill="none" stroke="midnightblue" d="M3133.84,-668.37C2857.03,-664.42 1378.91,-642.6 1178.44,-624 1123.73,-618.93 1110.78,-612.12 1056.44,-604 997.22,-595.16 832.88,-609.19 789.44,-568 746.11,-526.92 764.44,-495.71 764.44,-436 764.44,-436 764.44,-436 764.44,-316.5 764.44,-278.45 756.61,-234.85 751,-208.51"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="754.4,-207.68 748.83,-198.66 747.56,-209.18 754.4,-207.68"/>
 </g>
 <!-- Node64&#45;&gt;Node5 -->
 <g id="edge189" class="edge">
 <title>Node64&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M3197.56,-660.07C3233.46,-627.75 3355.4,-512.29 3409.44,-389 3437.78,-324.33 3457.96,-304.96 3448.44,-235 3446.96,-224.13 3443.77,-212.29 3440.8,-202.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3444.12,-201.69 3437.66,-193.29 3437.47,-203.88 3444.12,-201.69"/>
+<path fill="none" stroke="midnightblue" d="M3188.84,-660.31C3221.64,-632.39 3324.01,-541.21 3380.44,-445 3392.68,-424.12 3431.87,-313.72 3439.44,-266 3441.59,-252.39 3441.29,-248.65 3439.44,-235 3437.96,-224.13 3434.77,-212.29 3431.8,-202.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3435.12,-201.69 3428.66,-193.29 3428.47,-203.88 3435.12,-201.69"/>
 </g>
 <!-- Node64&#45;&gt;Node7 -->
 <g id="edge191" class="edge">
 <title>Node64&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M3178.67,-660.47C3152.8,-635.94 3073.54,-565.14 2992.44,-537 2888.66,-500.99 2589.37,-564.08 2499.44,-501 2446.83,-464.1 2469.43,-426.35 2440.44,-369 2424.99,-338.45 2424.36,-328.3 2402.44,-302 2386.48,-282.85 2377.64,-283.03 2359.44,-266 2336.54,-244.58 2311.78,-218.08 2296.44,-201.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2298.64,-198.44 2289.33,-193.37 2293.45,-203.14 2298.64,-198.44"/>
+<path fill="none" stroke="midnightblue" d="M3169.67,-660.48C3143.8,-635.96 3064.53,-565.2 2983.44,-537 2881.57,-501.58 2588.71,-561.52 2499.44,-501 2418,-445.79 2464.32,-378.5 2402.44,-302 2386.11,-281.82 2375.68,-283.42 2356.44,-266 2333.19,-244.96 2308.52,-218.36 2293.29,-201.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2295.51,-198.61 2286.25,-193.47 2290.28,-203.26 2295.51,-198.61"/>
 </g>
 <!-- Node64&#45;&gt;Node8 -->
 <g id="edge192" class="edge">
 <title>Node64&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M3142.72,-664.86C2950.25,-647.01 2193,-576.82 1991.12,-558.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1991.38,-554.61 1981.1,-557.18 1990.73,-561.58 1991.38,-554.61"/>
+<path fill="none" stroke="midnightblue" d="M3133.86,-664.82C2943.25,-646.95 2197.32,-577.02 1996.47,-558.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1996.51,-554.68 1986.22,-557.23 1995.85,-561.65 1996.51,-554.68"/>
 </g>
 <!-- Node64&#45;&gt;Node31 -->
 <g id="edge193" class="edge">
 <title>Node64&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M3188.09,-660.32C3188.75,-647.6 3188.91,-623.32 3182.44,-604 3133.94,-459.33 3013.04,-314.92 2971.07,-267.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2973.67,-265.26 2964.39,-260.15 2968.46,-269.93 2973.67,-265.26"/>
+<path fill="none" stroke="midnightblue" d="M3179.09,-660.32C3179.75,-647.6 3179.91,-623.32 3173.44,-604 3124.94,-459.33 3004.04,-314.92 2962.07,-267.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2964.67,-265.26 2955.39,-260.15 2959.46,-269.93 2964.67,-265.26"/>
 </g>
 <!-- Node64&#45;&gt;Node33 -->
 <g id="edge200" class="edge">
 <title>Node64&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3210.95,-660.36C3336.71,-613.02 3916.88,-379.38 3718.44,-168 3694.86,-142.89 3174.53,-127.44 3038.66,-123.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.57,-120.32 3028.48,-123.55 3038.39,-127.32 3038.57,-120.32"/>
+<path fill="none" stroke="midnightblue" d="M3201.95,-660.36C3327.71,-613.02 3907.88,-379.38 3709.44,-168 3685.86,-142.89 3165.53,-127.44 3029.66,-123.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.57,-120.32 3019.48,-123.55 3029.39,-127.32 3029.57,-120.32"/>
 </g>
 <!-- Node65 -->
 <g id="node65" class="node">
 <title>Node65</title>
 <g id="a_node65"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR.">
-<polygon fill="white" stroke="black" points="2901.94,-604.5 2901.94,-623.5 2978.94,-623.5 2978.94,-604.5 2901.94,-604.5"/>
-<text text-anchor="middle" x="2940.44" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/var.h</text>
+<polygon fill="white" stroke="black" points="2892.94,-604.5 2892.94,-623.5 2969.94,-623.5 2969.94,-604.5 2892.94,-604.5"/>
+<text text-anchor="middle" x="2931.44" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/var.h</text>
 </a>
 </g>
 </g>
 <!-- Node64&#45;&gt;Node65 -->
 <g id="edge194" class="edge">
 <title>Node64&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M3148.3,-660.44C3105.08,-651 3035.47,-635.78 2988.86,-625.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2989.5,-622.14 2978.99,-623.43 2988.01,-628.98 2989.5,-622.14"/>
+<path fill="none" stroke="midnightblue" d="M3139.3,-660.44C3096.08,-651 3026.47,-635.78 2979.86,-625.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2980.5,-622.14 2969.99,-623.43 2979.01,-628.98 2980.5,-622.14"/>
 </g>
 <!-- Node65&#45;&gt;Node8 -->
 <g id="edge195" class="edge">
 <title>Node65&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2901.89,-610.7C2746.39,-601.44 2165.33,-566.83 1991.11,-556.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1991.14,-552.95 1980.95,-555.85 1990.73,-559.94 1991.14,-552.95"/>
+<path fill="none" stroke="midnightblue" d="M2892.82,-610.67C2738.84,-601.37 2168.67,-566.92 1996.19,-556.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1996.32,-553.01 1986.12,-555.9 1995.89,-559.99 1996.32,-553.01"/>
 </g>
 <!-- Node65&#45;&gt;Node11 -->
 <g id="edge196" class="edge">
 <title>Node65&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M2901.82,-606.23C2815.92,-590.82 2602.83,-550.55 2428.44,-501 2330.54,-473.18 2308.56,-458.42 2212.44,-425 2179.81,-413.66 2142.55,-400.87 2116.13,-391.84"/>
+<path fill="none" stroke="midnightblue" d="M2892.87,-606.04C2808.08,-590.39 2599.39,-549.92 2428.44,-501 2330.6,-473 2308.56,-458.42 2212.44,-425 2179.81,-413.66 2142.55,-400.87 2116.13,-391.84"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2117.16,-388.49 2106.57,-388.57 2114.9,-395.12 2117.16,-388.49"/>
 </g>
 <!-- Node65&#45;&gt;Node32 -->
 <g id="edge197" class="edge">
 <title>Node65&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2945.17,-604.47C2966.1,-566.34 3051.1,-407.19 3091.44,-266 3097.44,-244.99 3100.55,-220.04 3102.09,-203.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3105.58,-203.48 3102.91,-193.22 3098.61,-202.91 3105.58,-203.48"/>
+<path fill="none" stroke="midnightblue" d="M2936.1,-604.45C2956.7,-566.25 3040.46,-406.85 3081.44,-266 3087.55,-244.98 3091,-220.03 3092.78,-203.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3096.28,-203.51 3093.77,-193.22 3089.31,-202.84 3096.28,-203.51"/>
 </g>
 <!-- Node65&#45;&gt;Node33 -->
 <g id="edge199" class="edge">
 <title>Node65&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2957.8,-604.5C3063.09,-552.42 3608.52,-275.23 3510.44,-168 3478.59,-133.18 3145.14,-125.11 3038.82,-123.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.74,-119.91 3028.69,-123.26 3038.64,-126.91 3038.74,-119.91"/>
+<path fill="none" stroke="midnightblue" d="M2948.8,-604.5C3054.09,-552.42 3599.52,-275.23 3501.44,-168 3469.59,-133.18 3136.14,-125.11 3029.82,-123.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.74,-119.91 3019.69,-123.26 3029.64,-126.91 3029.74,-119.91"/>
 </g>
 <!-- Node65&#45;&gt;Node45 -->
 <g id="edge198" class="edge">
 <title>Node65&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M2901.75,-610.09C2833.3,-604.56 2686.55,-590.99 2564.44,-568 2403.49,-537.7 1293.24,-249.47 1137.44,-199 1135.17,-198.26 1132.83,-197.46 1130.5,-196.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1131.61,-193.31 1121.02,-193.07 1129.16,-199.86 1131.61,-193.31"/>
+<path fill="none" stroke="midnightblue" d="M2892.88,-609.84C2826.43,-604.03 2686.25,-590.19 2569.44,-568 2407.7,-537.28 1291.09,-249.63 1134.44,-199 1132.17,-198.27 1129.83,-197.47 1127.5,-196.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1128.61,-193.31 1118.02,-193.08 1126.16,-199.87 1128.61,-193.31"/>
 </g>
 <!-- Node66&#45;&gt;Node5 -->
 <g id="edge202" class="edge">
 <title>Node66&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M3229.24,-721.08C3282.92,-715.21 3371.96,-702.36 3395.44,-680 3530.51,-551.34 3451.99,-452.12 3464.44,-266 3465.36,-252.25 3468.09,-248.29 3464.44,-235 3461.12,-222.9 3454.06,-210.77 3447.63,-201.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3450.29,-199.14 3441.56,-193.13 3444.63,-203.27 3450.29,-199.14"/>
+<path fill="none" stroke="midnightblue" d="M3220.24,-721.08C3273.92,-715.21 3362.96,-702.36 3386.44,-680 3428.04,-640.37 3403.95,-951.79 3454.44,-266 3455.45,-252.26 3457.99,-248.31 3454.44,-235 3451.23,-222.98 3444.41,-210.86 3438.19,-201.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3440.95,-199.33 3432.33,-193.17 3435.22,-203.36 3440.95,-199.33"/>
 </g>
 <!-- Node66&#45;&gt;Node6 -->
 <g id="edge203" class="edge">
 <title>Node66&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M3229.03,-724.04C3277.2,-721.37 3357.7,-711.98 3418.44,-680 3550.25,-610.59 3599.85,-582.39 3657.44,-445 3692.94,-360.3 3664.03,-246.31 3650.49,-202.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3653.81,-201.51 3647.42,-193.05 3647.15,-203.65 3653.81,-201.51"/>
+<path fill="none" stroke="midnightblue" d="M3220.16,-724.74C3270.3,-722.79 3355.64,-714.15 3419.44,-680 3548.01,-611.18 3593.5,-580.09 3648.44,-445 3682.96,-360.11 3654.77,-246.63 3641.45,-202.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3644.71,-201.51 3638.36,-193.03 3638.03,-203.62 3644.71,-201.51"/>
 </g>
 <!-- Node66&#45;&gt;Node7 -->
 <g id="edge204" class="edge">
 <title>Node66&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M3176.45,-716.43C3147.37,-694.19 3065.35,-634.32 2987.44,-604 2984.05,-602.68 2477.44,-503.05 2474.44,-501 2362.16,-424.12 2303.69,-258.34 2286.74,-202.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2290.03,-201.72 2283.82,-193.14 2283.32,-203.72 2290.03,-201.72"/>
+<path fill="none" stroke="midnightblue" d="M3167.44,-716.44C3138.35,-694.25 3056.29,-634.47 2978.44,-604 2840.29,-549.93 2796.82,-566.51 2651.44,-537 2571.91,-520.86 2539.45,-546.76 2472.44,-501 2414.95,-461.75 2316.36,-263.41 2286.95,-202.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2290.05,-200.74 2282.57,-193.23 2283.73,-203.77 2290.05,-200.74"/>
 </g>
 <!-- Node66&#45;&gt;Node8 -->
 <g id="edge205" class="edge">
 <title>Node66&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M3145.91,-717.85C3141.04,-717.15 3136.14,-716.52 3131.44,-716 2862.8,-686.52 2789.93,-730.52 2524.44,-680 2496.41,-674.67 2491,-667.36 2463.44,-660 2345.46,-628.48 2314.09,-628.4 2194.44,-604 2124.02,-589.64 2042.49,-573.45 1991.44,-563.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1991.82,-559.86 1981.33,-561.36 1990.47,-566.73 1991.82,-559.86"/>
+<path fill="none" stroke="midnightblue" d="M3136.91,-717.86C3132.04,-717.16 3127.14,-716.52 3122.44,-716 2857.78,-686.84 2785.98,-729.89 2524.44,-680 2496.41,-674.65 2490.99,-667.39 2463.44,-660 2346.75,-628.69 2315.77,-628.36 2197.44,-604 2127.58,-589.62 2046.7,-573.43 1996.04,-563.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1996.51,-559.87 1986.02,-561.35 1995.14,-566.73 1996.51,-559.87"/>
 </g>
 <!-- Node66&#45;&gt;Node11 -->
 <g id="edge207" class="edge">
 <title>Node66&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M3151,-716.47C3113.09,-707.56 3052.04,-693.07 2999.44,-680 2714.03,-609.11 2639.8,-598.73 2362.44,-501 2295.32,-477.35 2277.39,-474.07 2212.44,-445 2195.02,-437.2 2191.47,-433.6 2174.44,-425 2152.49,-413.92 2127.37,-401.8 2108.78,-392.93"/>
+<path fill="none" stroke="midnightblue" d="M3141.43,-716.5C3103.27,-707.66 3042.09,-693.29 2989.44,-680 2708.44,-609.1 2636.11,-596.32 2362.44,-501 2295.24,-477.59 2277.39,-474.07 2212.44,-445 2195.02,-437.2 2191.47,-433.6 2174.44,-425 2152.49,-413.92 2127.37,-401.8 2108.78,-392.93"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2110.24,-389.75 2099.7,-388.61 2107.23,-396.07 2110.24,-389.75"/>
 </g>
 <!-- Node66&#45;&gt;Node20 -->
 <g id="edge217" class="edge">
 <title>Node66&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M3145.64,-725.52C3022.59,-726.48 2651.16,-725.11 2347.44,-680 2141.44,-649.41 2086.57,-643.4 1892.44,-568 1768.78,-519.97 1747.81,-486.82 1630.44,-425 1434.17,-321.63 1317.97,-376.87 1185.44,-199 1160.35,-165.33 1158.69,-113.64 1159.91,-85.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1163.42,-85.93 1160.55,-75.74 1156.43,-85.5 1163.42,-85.93"/>
+<path fill="none" stroke="midnightblue" d="M3136.65,-725.53C3014.46,-726.47 2647.49,-725.05 2347.44,-680 2143.62,-649.4 2089.7,-642.26 1897.44,-568 1772.23,-519.64 1750.51,-486.96 1631.44,-425 1433.25,-321.88 1316.24,-377.91 1182.44,-199 1157.29,-165.38 1155.66,-113.66 1156.89,-86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1160.4,-85.94 1157.54,-75.74 1153.42,-85.5 1160.4,-85.94"/>
 </g>
 <!-- Node66&#45;&gt;Node23 -->
 <g id="edge206" class="edge">
 <title>Node66&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M3145.87,-725.22C2956.78,-725.95 2176.66,-726.06 1937.44,-680 1639.89,-622.71 1467.62,-695.71 1297.44,-445 1223.97,-336.77 1436.2,-232.21 1517.87,-197"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1519.32,-200.18 1527.15,-193.05 1516.58,-193.74 1519.32,-200.18"/>
+<path fill="none" stroke="midnightblue" d="M3136.83,-725.21C2948.39,-725.9 2173.98,-725.84 1936.44,-680 1639.32,-622.66 1467.39,-695.36 1297.44,-445 1224.39,-337.39 1434.37,-232.45 1515.19,-197.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1516.58,-200.27 1524.38,-193.1 1513.81,-193.85 1516.58,-200.27"/>
 </g>
 <!-- Node66&#45;&gt;Node26 -->
 <g id="edge208" class="edge">
 <title>Node66&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M3229.13,-721.09C3385.53,-705.28 3928.44,-639.75 3928.44,-492 3928.44,-492 3928.44,-492 3928.44,-434 3928.44,-284.08 4105.94,-334.34 4170.44,-199 4183.3,-172.01 4175.1,-161.87 4176.44,-132 4176.83,-123.12 4182.05,-118.9 4176.44,-112 4157.87,-89.16 4083.75,-77.53 4027.47,-71.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4027.47,-68.36 4017.18,-70.89 4026.8,-75.33 4027.47,-68.36"/>
+<path fill="none" stroke="midnightblue" d="M3220.13,-721.09C3376.53,-705.28 3919.44,-639.75 3919.44,-492 3919.44,-492 3919.44,-492 3919.44,-434 3919.44,-284.08 4096.94,-334.34 4161.44,-199 4174.3,-172.01 4166.1,-161.87 4167.44,-132 4167.83,-123.12 4173.05,-118.9 4167.44,-112 4148.87,-89.16 4074.75,-77.53 4018.47,-71.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4018.47,-68.36 4008.18,-70.89 4017.8,-75.33 4018.47,-68.36"/>
 </g>
 <!-- Node66&#45;&gt;Node32 -->
 <g id="edge209" class="edge">
 <title>Node66&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M3229.27,-717.17C3279.89,-705 3358.44,-676.24 3358.44,-615 3358.44,-615 3358.44,-615 3358.44,-551.5 3358.44,-387.67 3184.94,-244.41 3124.17,-199.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3125.87,-196.17 3115.74,-193.09 3121.74,-201.82 3125.87,-196.17"/>
+<path fill="none" stroke="midnightblue" d="M3220.27,-717.17C3270.89,-705 3349.44,-676.24 3349.44,-615 3349.44,-615 3349.44,-615 3349.44,-551.5 3349.44,-387.67 3175.94,-244.41 3115.17,-199.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3116.87,-196.17 3106.74,-193.09 3112.74,-201.82 3116.87,-196.17"/>
 </g>
 <!-- Node66&#45;&gt;Node33 -->
 <g id="edge215" class="edge">
 <title>Node66&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3229.34,-722.56C3282.44,-718.41 3376.12,-707.56 3451.44,-680 3578.42,-633.54 3935.29,-351.37 3866.44,-235 3834.94,-181.76 3803.86,-185.19 3744.44,-168 3609.04,-128.84 3162.89,-123.75 3038.74,-123.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.74,-119.6 3028.73,-123.05 3038.71,-126.6 3038.74,-119.6"/>
+<path fill="none" stroke="midnightblue" d="M3220.1,-723.17C3274.95,-719.64 3373.63,-709.41 3452.44,-680 3577.71,-633.24 3925.53,-350.08 3857.44,-235 3825.94,-181.76 3794.86,-185.19 3735.44,-168 3600.04,-128.84 3153.89,-123.75 3029.74,-123.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.74,-119.6 3019.73,-123.05 3029.71,-126.6 3029.74,-119.6"/>
 </g>
 <!-- Node66&#45;&gt;Node34 -->
 <g id="edge213" class="edge">
 <title>Node66&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M3229.31,-725.61C3270.56,-723.97 3332.95,-715.18 3372.44,-680 3395.43,-659.51 3396.44,-645.8 3396.44,-615 3396.44,-615 3396.44,-615 3396.44,-551.5 3396.44,-514.62 3318.61,-264.47 3296.44,-235 3284.25,-218.81 3265.27,-206.19 3249.33,-197.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3250.87,-194.47 3240.37,-193.04 3247.68,-200.71 3250.87,-194.47"/>
+<path fill="none" stroke="midnightblue" d="M3220.31,-725.61C3261.56,-723.97 3323.95,-715.18 3363.44,-680 3386.43,-659.51 3387.44,-645.8 3387.44,-615 3387.44,-615 3387.44,-615 3387.44,-551.5 3387.44,-477.74 3331.79,-293.93 3287.44,-235 3275.25,-218.81 3256.27,-206.19 3240.33,-197.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3241.87,-194.47 3231.37,-193.04 3238.68,-200.71 3241.87,-194.47"/>
 </g>
 <!-- Node66&#45;&gt;Node46 -->
 <g id="edge214" class="edge">
 <title>Node66&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M3145.65,-724.56C2927.25,-721.91 1922.85,-705.35 1813.44,-624 1692.31,-533.94 1662.52,-333 1656.06,-270.45"/>
+<path fill="none" stroke="midnightblue" d="M3136.92,-724.54C2919.95,-721.79 1922.13,-704.82 1813.44,-624 1692.31,-533.94 1662.52,-333 1656.06,-270.45"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1659.51,-269.78 1655.08,-260.15 1652.54,-270.44 1659.51,-269.78"/>
 </g>
 <!-- Node66&#45;&gt;Node49 -->
 <g id="edge212" class="edge">
 <title>Node66&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M3145.87,-723.41C3029.92,-718.74 2704.56,-703.82 2600.44,-680 2467.36,-649.56 2439.72,-622.21 2314.44,-568 2266.61,-547.31 2211.99,-520.7 2180.53,-505.09"/>
+<path fill="none" stroke="midnightblue" d="M3136.69,-723.35C3021.8,-718.56 2702.71,-703.46 2600.44,-680 2467.38,-649.48 2439.72,-622.21 2314.44,-568 2266.61,-547.31 2211.99,-520.7 2180.53,-505.09"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2182.05,-501.94 2171.54,-500.61 2178.93,-508.2 2182.05,-501.94"/>
 </g>
 <!-- Node66&#45;&gt;Node54 -->
 <g id="edge216" class="edge">
 <title>Node66&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M3145.75,-724.63C2973.15,-722.89 2297.63,-714.17 1743.44,-680 1473.03,-663.33 1405.65,-654.44 1136.44,-624 1089.87,-618.74 760.24,-589.17 718.44,-568 637.58,-527.05 572.57,-435.3 548.01,-397.15"/>
+<path fill="none" stroke="midnightblue" d="M3136.84,-724.64C2964.59,-722.95 2290.46,-714.37 1737.44,-680 1469.69,-663.36 1402.99,-654.26 1136.44,-624 1089.88,-618.71 760.24,-589.17 718.44,-568 637.58,-527.05 572.57,-435.3 548.01,-397.15"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="550.95,-395.25 542.65,-388.67 545.03,-398.99 550.95,-395.25"/>
 </g>
 <!-- Node66&#45;&gt;Node64 -->
 <g id="edge210" class="edge">
 <title>Node66&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M3187.44,-716.08C3187.44,-709.01 3187.44,-698.86 3187.44,-689.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3190.94,-689.75 3187.44,-679.75 3183.94,-689.75 3190.94,-689.75"/>
+<path fill="none" stroke="midnightblue" d="M3178.44,-716.08C3178.44,-709.01 3178.44,-698.86 3178.44,-689.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3181.94,-689.75 3178.44,-679.75 3174.94,-689.75 3181.94,-689.75"/>
 </g>
 <!-- Node66&#45;&gt;Node65 -->
 <g id="edge211" class="edge">
 <title>Node66&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M3146.78,-716.46C3115.66,-709.08 3072.16,-696.92 3036.44,-680 3007.39,-666.24 2977.22,-644.35 2958.64,-629.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2960.74,-627.03 2950.73,-623.55 2956.38,-632.51 2960.74,-627.03"/>
+<path fill="none" stroke="midnightblue" d="M3137.16,-716.47C3105.85,-709.13 3062.23,-697.02 3026.44,-680 2997.75,-666.35 2968.05,-644.59 2949.67,-630.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2951.59,-627.1 2941.6,-623.56 2947.2,-632.56 2951.59,-627.1"/>
 </g>
 <!-- Node67&#45;&gt;Node3 -->
 <g id="edge219" class="edge">
 <title>Node67&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2318.44,-779.86C2077.97,-772.94 882.51,-733.18 765.44,-624 703.03,-565.8 726.44,-521.33 726.44,-436 726.44,-436 726.44,-436 726.44,-316.5 726.44,-278.45 734.27,-234.85 739.88,-208.51"/>
+<path fill="none" stroke="midnightblue" d="M2318.14,-779.68C2078.64,-771.81 899.1,-727.96 779.44,-624 765.29,-611.71 726.44,-519.8 726.44,-436 726.44,-436 726.44,-436 726.44,-316.5 726.44,-278.45 734.27,-234.85 739.88,-208.51"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="743.31,-209.18 742.04,-198.66 736.47,-207.68 743.31,-209.18"/>
 </g>
 <!-- Node67&#45;&gt;Node20 -->
 <g id="edge223" class="edge">
 <title>Node67&#45;&gt;Node20</title>
-<path fill="none" stroke="midnightblue" d="M2318.43,-777.18C2239.97,-768.73 2067.36,-743.87 1937.44,-680 1740.04,-582.95 1725.05,-505.35 1552.44,-369 1410.92,-257.21 1238.12,-125.34 1180.88,-81.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1182.78,-78.83 1172.7,-75.56 1178.54,-84.4 1182.78,-78.83"/>
+<path fill="none" stroke="midnightblue" d="M2318.32,-777.21C2239.67,-768.82 2066.63,-744.06 1936.44,-680 1739.38,-583.03 1724.94,-504.93 1552.44,-369 1410.11,-256.85 1235.8,-125.21 1178.05,-81.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1179.9,-78.75 1169.81,-75.54 1175.69,-84.35 1179.9,-78.75"/>
 </g>
 <!-- Node67&#45;&gt;Node29 -->
 <g id="edge222" class="edge">
 <title>Node67&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2318.24,-778.72C2245.55,-774.23 2092.32,-762.31 1965.44,-736 1881.74,-718.65 1861.11,-710.99 1781.44,-680 1727.71,-659.1 1709.81,-659.57 1664.44,-624 1502.4,-496.98 1493.31,-431.2 1370.44,-266 1349.03,-237.22 1338.54,-232.39 1325.44,-199 1318.13,-180.39 1315.27,-157.56 1314.15,-141.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1317.64,-141.55 1313.6,-131.75 1310.65,-141.93 1317.64,-141.55"/>
+<path fill="none" stroke="midnightblue" d="M2318.36,-779.81C2219.84,-775.73 1967.96,-757.88 1775.44,-680 1725.68,-659.87 1710.28,-657.62 1668.44,-624 1506.4,-493.79 1492.46,-432.08 1367.44,-266 1345.86,-237.34 1335.54,-232.39 1322.44,-199 1315.13,-180.39 1312.27,-157.56 1311.15,-141.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1314.64,-141.55 1310.6,-131.75 1307.65,-141.93 1314.64,-141.55"/>
 </g>
 <!-- Node67&#45;&gt;Node33 -->
 <g id="edge221" class="edge">
 <title>Node67&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2402.66,-781.37C2529.62,-781.93 2918.73,-779.69 3237.44,-736 3349.82,-720.59 3377.65,-712.12 3486.44,-680 3555.49,-659.61 3572.74,-653.45 3638.44,-624 3686.7,-602.36 3703.96,-603.19 3743.44,-568 3833.02,-488.14 3844.52,-448.69 3876.44,-333 3888.07,-290.84 3904.06,-274.58 3885.44,-235 3865.54,-192.73 3847.93,-185.06 3804.44,-168 3732.36,-139.73 3179.42,-126.55 3038.86,-123.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3038.8,-120.13 3028.73,-123.43 3038.65,-127.13 3038.8,-120.13"/>
+<path fill="none" stroke="midnightblue" d="M2402.66,-781.21C2528.73,-781.34 2913.2,-777.97 3228.44,-736 3345.18,-720.46 3374.73,-714.16 3487.44,-680 3602.79,-645.04 3644.46,-648.2 3734.44,-568 3824.02,-488.14 3835.52,-448.69 3867.44,-333 3879.07,-290.84 3895.06,-274.58 3876.44,-235 3856.54,-192.73 3838.93,-185.06 3795.44,-168 3723.36,-139.73 3170.42,-126.55 3029.86,-123.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.8,-120.13 3019.73,-123.43 3029.65,-127.13 3029.8,-120.13"/>
 </g>
 <!-- Node67&#45;&gt;Node66 -->
 <g id="edge220" class="edge">
 <title>Node67&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M2402.59,-778.25C2541.43,-769.18 2984.19,-740.27 3135.88,-730.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3136.12,-733.86 3145.87,-729.71 3135.66,-726.87 3136.12,-733.86"/>
+<path fill="none" stroke="midnightblue" d="M2402.69,-778.21C2540.39,-769.12 2975.94,-740.37 3126.58,-730.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3127.17,-733.89 3136.92,-729.74 3126.71,-726.91 3127.17,-733.89"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/array__utils_8h.html b/docs/reference/api/doxygen/array__utils_8h.html
index 3fdba25d4a..34f99fbb66 100644
--- a/docs/reference/api/doxygen/array__utils_8h.html
+++ b/docs/reference/api/doxygen/array__utils_8h.html
@@ -78,7 +78,7 @@ $(function() {
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for array_utils.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="array__utils_8h__incl.svg" width="5158" height="1380"><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="array__utils_8h__incl.svg" width="5150" height="1380"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/array__utils_8h__incl.svg b/docs/reference/api/doxygen/array__utils_8h__incl.svg
index 25c46cbae1..0045266d28 100644
--- a/docs/reference/api/doxygen/array__utils_8h__incl.svg
+++ b/docs/reference/api/doxygen/array__utils_8h__incl.svg
@@ -4,18 +4,18 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/topi/detail/array_utils.h Pages: 1 -->
-<svg width="3868pt" height="1035pt"
- viewBox="0.00 0.00 3867.56 1035.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3862pt" height="1035pt"
+ viewBox="0.00 0.00 3861.56 1035.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 1031)">
 <title>include/tvm/topi/detail/array_utils.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1031 3863.56,-1031 3863.56,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1031 3857.56,-1031 3857.56,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Utility functions for handling arrays.">
-<polygon fill="#bfbfbf" stroke="black" points="1062.5,-996.5 1062.5,-1026.5 1189.5,-1026.5 1189.5,-996.5 1062.5,-996.5"/>
-<text text-anchor="start" x="1070.5" y="-1014.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="1126" y="-1003.5" font-family="Helvetica,sans-Serif" font-size="10.00">/array_utils.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="1064.5,-996.5 1064.5,-1026.5 1191.5,-1026.5 1191.5,-996.5 1064.5,-996.5"/>
+<text text-anchor="start" x="1072.5" y="-1014.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="1128" y="-1003.5" font-family="Helvetica,sans-Serif" font-size="10.00">/array_utils.h</text>
 </a>
 </g>
 </g>
@@ -23,16 +23,16 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="operation_8h.html" target="_top" xlink:title="Operation node can generate one or multiple Tensors.">
-<polygon fill="white" stroke="black" points="1072.5,-940.5 1072.5,-959.5 1179.5,-959.5 1179.5,-940.5 1072.5,-940.5"/>
-<text text-anchor="middle" x="1126" y="-947.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/operation.h</text>
+<polygon fill="white" stroke="black" points="1074.5,-940.5 1074.5,-959.5 1181.5,-959.5 1181.5,-940.5 1074.5,-940.5"/>
+<text text-anchor="middle" x="1128" y="-947.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/operation.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M1126,-996.4C1126,-988.47 1126,-978.46 1126,-969.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1129.5,-969.66 1126,-959.66 1122.5,-969.66 1129.5,-969.66"/>
+<path fill="none" stroke="midnightblue" d="M1128,-996.4C1128,-988.47 1128,-978.46 1128,-969.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1131.5,-969.66 1128,-959.66 1124.5,-969.66 1131.5,-969.66"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
@@ -46,24 +46,24 @@
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1072.47,-948C906.13,-944.6 405.33,-932.13 338,-904 313.35,-893.7 291.6,-871.21 278.63,-855.59"/>
+<path fill="none" stroke="midnightblue" d="M1074.33,-948C907.57,-944.62 405.5,-932.19 338,-904 313.35,-893.71 291.6,-871.21 278.63,-855.59"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="281.33,-853.37 272.36,-847.74 275.86,-857.74 281.33,-853.37"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node">
 <title>Node6</title>
 <g id="a_node6"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3252,-168.5 3252,-198.5 3350,-198.5 3350,-168.5 3252,-168.5"/>
-<text text-anchor="start" x="3260" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="3301" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3246,-168.5 3246,-198.5 3344,-198.5 3344,-168.5 3246,-168.5"/>
+<text text-anchor="start" x="3254" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="3295" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node6 -->
 <g id="edge158" class="edge">
 <title>Node2&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1179.58,-947.99C1534.29,-941.14 3530,-899.91 3530,-839 3530,-839 3530,-839 3530,-378 3530,-286.1 3421.06,-228.92 3353.46,-202.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3354.39,-198.89 3343.8,-198.58 3351.88,-205.43 3354.39,-198.89"/>
+<path fill="none" stroke="midnightblue" d="M1181.69,-947.98C1536,-941.09 3524,-899.69 3524,-839 3524,-839 3524,-839 3524,-378 3524,-286.1 3415.06,-228.92 3347.46,-202.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3348.39,-198.89 3337.8,-198.58 3345.88,-205.43 3348.39,-198.89"/>
 </g>
 <!-- Node29 -->
 <g id="node29" class="node">
@@ -77,23 +77,23 @@
 <!-- Node2&#45;&gt;Node29 -->
 <g id="edge227" class="edge">
 <title>Node2&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M1072.44,-948.74C886.47,-944.78 280,-904.92 280,-553.5 280,-553.5 280,-553.5 280,-316.5 280,-206.43 393.16,-232.51 498,-199 540.3,-185.48 549.42,-176.57 593,-168 706.14,-145.75 1063.92,-129.13 1175.46,-124.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1175.63,-127.87 1185.47,-123.96 1175.33,-120.88 1175.63,-127.87"/>
+<path fill="none" stroke="midnightblue" d="M1074.31,-948.79C887.9,-944.99 280,-905.6 280,-553.5 280,-553.5 280,-553.5 280,-316.5 280,-206.43 393.11,-232.35 498,-199 540.73,-185.41 549.99,-176.59 594,-168 706.86,-145.98 1063.37,-129.23 1175.14,-124.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1175.34,-127.9 1185.18,-123.98 1175.04,-120.91 1175.34,-127.9"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
 <title>Node35</title>
 <g id="a_node35"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3138,-112.5 3138,-131.5 3182,-131.5 3182,-112.5 3138,-112.5"/>
-<text text-anchor="middle" x="3160" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="3132,-112.5 3132,-131.5 3176,-131.5 3176,-112.5 3132,-112.5"/>
+<text text-anchor="middle" x="3154" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node35 -->
 <g id="edge225" class="edge">
 <title>Node2&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1179.86,-949.03C1400.02,-948.88 2253.03,-945.49 2953,-904 3106.96,-894.87 3644,-993.23 3644,-839 3644,-839 3644,-839 3644,-378 3644,-275 3631.65,-225.2 3546,-168 3481.86,-125.17 3281.48,-146.95 3192.34,-132.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192.76,-129.24 3182.29,-130.85 3191.48,-136.12 3192.76,-129.24"/>
+<path fill="none" stroke="midnightblue" d="M1181.68,-949.03C1401.12,-948.88 2251.34,-945.48 2949,-904 3102.52,-894.87 3638,-992.79 3638,-839 3638,-839 3638,-839 3638,-378 3638,-275 3625.65,-225.2 3540,-168 3475.86,-125.17 3275.48,-146.95 3186.34,-132.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.76,-129.24 3176.29,-130.85 3185.48,-136.12 3186.76,-129.24"/>
 </g>
 <!-- Node52 -->
 <g id="node52" class="node">
@@ -107,8 +107,8 @@
 <!-- Node2&#45;&gt;Node52 -->
 <g id="edge223" class="edge">
 <title>Node2&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M1125.61,-940.3C1124.14,-907.63 1118.92,-791.87 1116.85,-745.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1120.35,-745.72 1116.4,-735.88 1113.35,-746.03 1120.35,-745.72"/>
+<path fill="none" stroke="midnightblue" d="M1127.53,-940.3C1125.76,-907.63 1119.51,-791.87 1117.02,-745.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1120.51,-745.68 1116.48,-735.88 1113.53,-746.06 1120.51,-745.68"/>
 </g>
 <!-- Node53 -->
 <g id="node53" class="node">
@@ -122,53 +122,53 @@
 <!-- Node2&#45;&gt;Node53 -->
 <g id="edge222" class="edge">
 <title>Node2&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M1179.52,-947.85C1351.84,-942.92 1887.15,-917.57 1992,-792 2013.65,-766.07 2013.43,-742.11 1992,-716 1970.74,-690.09 1880.49,-678.82 1820.67,-674.12"/>
+<path fill="none" stroke="midnightblue" d="M1181.7,-947.82C1353.95,-942.8 1887.47,-917.24 1992,-792 2013.64,-766.07 2013.43,-742.11 1992,-716 1970.74,-690.09 1880.49,-678.82 1820.67,-674.12"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1820.85,-670.63 1810.62,-673.37 1820.33,-677.61 1820.85,-670.63"/>
 </g>
 <!-- Node55 -->
 <g id="node55" class="node">
 <title>Node55</title>
 <g id="a_node55"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="356.5,-543 356.5,-562 449.5,-562 449.5,-543 356.5,-543"/>
-<text text-anchor="middle" x="403" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="366.5,-543 366.5,-562 459.5,-562 459.5,-543 366.5,-543"/>
+<text text-anchor="middle" x="413" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node55 -->
 <g id="edge226" class="edge">
 <title>Node2&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M1072.21,-948.31C864.8,-945.05 125.44,-927.87 62,-848 -40.86,-718.49 258.78,-602.02 366.24,-565.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="367.66,-568.61 376.02,-562.1 365.42,-561.98 367.66,-568.61"/>
+<path fill="none" stroke="midnightblue" d="M1074.46,-948.32C867.15,-945.11 125.59,-928.06 62,-848 -42.59,-716.32 264.91,-601.29 375.23,-565.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="376.53,-568.47 384.97,-562.06 374.37,-561.81 376.53,-568.47"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
 <title>Node59</title>
-<g id="a_node59"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
-<polygon fill="white" stroke="black" points="940.5,-884.5 940.5,-903.5 1031.5,-903.5 1031.5,-884.5 940.5,-884.5"/>
-<text text-anchor="middle" x="986" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/tensor.h</text>
+<g id="a_node59"><a xlink:href="te_2tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
+<polygon fill="white" stroke="black" points="942.5,-884.5 942.5,-903.5 1033.5,-903.5 1033.5,-884.5 942.5,-884.5"/>
+<text text-anchor="middle" x="988" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node59 -->
 <g id="edge159" class="edge">
 <title>Node2&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M1103.82,-940.44C1080.57,-931.48 1043.85,-917.31 1017.58,-907.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1018.67,-903.85 1008.08,-903.52 1016.15,-910.38 1018.67,-903.85"/>
+<path fill="none" stroke="midnightblue" d="M1105.82,-940.44C1082.57,-931.48 1045.85,-917.31 1019.58,-907.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1020.67,-903.85 1010.08,-903.52 1018.15,-910.38 1020.67,-903.85"/>
 </g>
 <!-- Node62 -->
 <g id="node62" class="node">
 <title>Node62</title>
 <g id="a_node62"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr.">
-<polygon fill="white" stroke="black" points="1154,-828.5 1154,-847.5 1228,-847.5 1228,-828.5 1154,-828.5"/>
-<text text-anchor="middle" x="1191" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/op.h</text>
+<polygon fill="white" stroke="black" points="1156,-828.5 1156,-847.5 1230,-847.5 1230,-828.5 1156,-828.5"/>
+<text text-anchor="middle" x="1193" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node62 -->
 <g id="edge224" class="edge">
 <title>Node2&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M1131.1,-940.37C1141.78,-922.3 1166.67,-880.18 1180.77,-856.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1183.85,-857.98 1185.92,-847.59 1177.82,-854.42 1183.85,-857.98"/>
+<path fill="none" stroke="midnightblue" d="M1133.1,-940.37C1143.78,-922.3 1168.67,-880.18 1182.77,-856.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1185.85,-857.98 1187.92,-847.59 1179.82,-854.42 1185.85,-857.98"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
@@ -189,28 +189,28 @@
 <g id="node5" class="node">
 <title>Node5</title>
 <g id="a_node5"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM.">
-<polygon fill="white" stroke="black" points="1228.5,-543 1228.5,-562 1307.5,-562 1307.5,-543 1228.5,-543"/>
-<text text-anchor="middle" x="1268" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="1231.5,-543 1231.5,-562 1310.5,-562 1310.5,-543 1231.5,-543"/>
+<text text-anchor="middle" x="1271" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node3&#45;&gt;Node5 -->
 <g id="edge149" class="edge">
 <title>Node3&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M294.73,-828.45C323.53,-819.75 369.07,-805.64 408,-792 627.75,-715.02 671.46,-661.87 897,-604 1009.82,-575.05 1146.47,-561.89 1218.31,-556.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1218.71,-560.07 1228.43,-555.87 1218.21,-553.09 1218.71,-560.07"/>
+<path fill="none" stroke="midnightblue" d="M294.73,-828.45C323.53,-819.75 369.07,-805.64 408,-792 627.75,-715.02 671.43,-661.75 897,-604 1010.89,-574.84 1148.85,-561.75 1221.2,-556.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1221.66,-560 1231.39,-555.81 1221.17,-553.02 1221.66,-560"/>
 </g>
 <!-- Node3&#45;&gt;Node6 -->
 <g id="edge148" class="edge">
 <title>Node3&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M323.79,-835.07C486.66,-829.53 963.32,-812.65 1359,-792 1754.67,-771.35 2830.85,-879.1 3134,-624 3222.68,-549.38 3226,-495.9 3226,-380 3226,-380 3226,-380 3226,-316.5 3226,-272.98 3257.21,-230.68 3279.36,-206.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3281.93,-208.52 3286.18,-198.81 3276.8,-203.74 3281.93,-208.52"/>
+<path fill="none" stroke="midnightblue" d="M323.79,-835.08C486.66,-829.55 963.33,-812.72 1359,-792 1752.46,-771.4 2821.3,-876.2 3124,-624 3213.53,-549.4 3220,-496.54 3220,-380 3220,-380 3220,-380 3220,-316.5 3220,-272.98 3251.21,-230.68 3273.36,-206.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3275.93,-208.52 3280.18,-198.81 3270.8,-203.74 3275.93,-208.52"/>
 </g>
 <!-- Node3&#45;&gt;Node29 -->
 <g id="edge157" class="edge">
 <title>Node3&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M290.98,-828.47C328.23,-813.97 394,-780.77 394,-727 394,-727 394,-727 394,-669 394,-606.73 326.94,-595.96 347,-537 363.67,-488.02 585.5,-192.63 631,-168 678.9,-142.06 1059.15,-127.81 1175.37,-124.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1175.58,-127.53 1185.47,-123.71 1175.36,-120.53 1175.58,-127.53"/>
+<path fill="none" stroke="midnightblue" d="M290.98,-828.47C328.23,-813.97 394,-780.77 394,-727 394,-727 394,-727 394,-669 394,-608.07 337.87,-594.85 357,-537 373.03,-488.51 586.3,-192.7 631,-168 678.68,-141.65 1059.08,-127.68 1175.36,-124"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1175.57,-127.5 1185.46,-123.69 1175.35,-120.5 1175.57,-127.5"/>
 </g>
 <!-- Node48 -->
 <g id="node48" class="node">
@@ -230,8 +230,8 @@
 <!-- Node3&#45;&gt;Node55 -->
 <g id="edge156" class="edge">
 <title>Node3&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M267.08,-828.19C271.4,-795.73 289.83,-680.7 342,-604 351.93,-589.41 367.24,-576.75 380.04,-567.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="382.05,-570.62 388.4,-562.14 378.14,-564.81 382.05,-570.62"/>
+<path fill="none" stroke="midnightblue" d="M266.89,-828.06C270.58,-795.15 287.06,-678.73 342,-604 353.5,-588.36 371.32,-575.7 386.23,-566.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="388.02,-569.98 395.05,-562.06 384.61,-563.87 388.02,-569.98"/>
 </g>
 <!-- Node56 -->
 <g id="node56" class="node">
@@ -266,8 +266,8 @@
 <!-- Node4&#45;&gt;Node5 -->
 <g id="edge4" class="edge">
 <title>Node4&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M621.65,-772.49C665.16,-743.65 813.47,-648.96 950,-604 1041.79,-573.77 1154.62,-561.34 1218.22,-556.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1218.66,-559.93 1228.37,-555.71 1218.14,-552.95 1218.66,-559.93"/>
+<path fill="none" stroke="midnightblue" d="M621.65,-772.48C665.15,-743.62 813.44,-648.86 950,-604 1042.78,-573.52 1156.87,-561.17 1221.02,-556.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1221.53,-559.84 1231.25,-555.63 1221.03,-552.86 1221.53,-559.84"/>
 </g>
 <!-- Node4&#45;&gt;Node52 -->
 <g id="edge118" class="edge">
@@ -278,14 +278,14 @@
 <!-- Node4&#45;&gt;Node55 -->
 <g id="edge147" class="edge">
 <title>Node4&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M601.18,-772.36C570.52,-738.5 458.28,-614.55 417.74,-569.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="420.14,-567.21 410.83,-562.15 414.95,-571.91 420.14,-567.21"/>
+<path fill="none" stroke="midnightblue" d="M601.56,-772.36C572.39,-738.5 465.6,-614.55 427.02,-569.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="429.63,-567.44 420.45,-562.15 424.33,-572.01 429.63,-567.44"/>
 </g>
 <!-- Node5&#45;&gt;Node6 -->
 <g id="edge5" class="edge">
 <title>Node5&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1307.57,-550.45C1456.04,-546.34 1979.84,-530.05 2144,-501 2344.2,-465.57 2386.22,-423.83 2582,-369 2643.45,-351.79 2659.26,-349.14 2721,-333 2833.96,-303.48 2863.6,-300.93 2975,-266 3013.37,-253.97 3021.33,-246.04 3060,-235 3121.02,-217.58 3192.3,-203.38 3241.43,-194.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.34,-197.92 3251.57,-192.72 3241.11,-191.03 3242.34,-197.92"/>
+<path fill="none" stroke="midnightblue" d="M1310.68,-550.41C1458.96,-546.15 1980.41,-529.45 2144,-501 2348.51,-465.44 2392.3,-425.62 2592,-369 2759.52,-321.5 2804.16,-319.08 2970,-266 3007.9,-253.87 3015.76,-246 3054,-235 3114.99,-217.46 3186.28,-203.28 3235.42,-194.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3236.32,-197.86 3245.55,-192.66 3235.1,-190.97 3236.32,-197.86"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node">
@@ -299,8 +299,8 @@
 <!-- Node5&#45;&gt;Node7 -->
 <g id="edge6" class="edge">
 <title>Node5&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M1269.72,-542.87C1278.22,-502.43 1319.28,-329.73 1418,-235 1430.48,-223.03 1471.04,-207.17 1501.37,-196.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1502.91,-199.62 1511.2,-193.02 1500.61,-193.01 1502.91,-199.62"/>
+<path fill="none" stroke="midnightblue" d="M1272.63,-542.87C1280.71,-502.44 1320.01,-329.76 1418,-235 1430.48,-222.93 1471.36,-207 1501.74,-196.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1502.89,-199.59 1511.19,-193 1500.59,-192.98 1502.89,-199.59"/>
 </g>
 <!-- Node8 -->
 <g id="node8" class="node">
@@ -314,8 +314,8 @@
 <!-- Node5&#45;&gt;Node8 -->
 <g id="edge7" class="edge">
 <title>Node5&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M1287.39,-542.86C1308.84,-533.17 1344.28,-516.75 1374,-501 1405.25,-484.44 1440.32,-463.49 1462.52,-449.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1464.51,-452.81 1471.2,-444.6 1460.84,-446.85 1464.51,-452.81"/>
+<path fill="none" stroke="midnightblue" d="M1289.44,-542.96C1310.21,-533.23 1344.87,-516.64 1374,-501 1405.16,-484.27 1440.25,-463.36 1462.48,-449.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1464.46,-452.74 1471.17,-444.54 1460.81,-446.77 1464.46,-452.74"/>
 </g>
 <!-- Node10 -->
 <g id="node10" class="node">
@@ -329,8 +329,8 @@
 <!-- Node5&#45;&gt;Node10 -->
 <g id="edge111" class="edge">
 <title>Node5&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1266.27,-542.76C1260.97,-516.04 1244.91,-435.02 1237.64,-398.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1241.07,-397.65 1235.69,-388.52 1234.2,-399.01 1241.07,-397.65"/>
+<path fill="none" stroke="midnightblue" d="M1269.11,-542.76C1263.35,-516.04 1245.87,-435.02 1237.96,-398.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1241.37,-397.56 1235.84,-388.52 1234.53,-399.03 1241.37,-397.56"/>
 </g>
 <!-- Node24 -->
 <g id="node24" class="node">
@@ -344,7 +344,7 @@
 <!-- Node5&#45;&gt;Node24 -->
 <g id="edge112" class="edge">
 <title>Node5&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M1244.23,-542.91C1135,-502.83 684.36,-330.63 631,-199 625.82,-186.23 622.36,-178.73 631,-168 648.01,-146.87 714.36,-135.12 767.23,-128.98"/>
+<path fill="none" stroke="midnightblue" d="M1247.11,-542.93C1137.36,-502.95 684.55,-331.11 631,-199 625.82,-186.23 622.36,-178.73 631,-168 648.01,-146.87 714.36,-135.12 767.23,-128.98"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="767.71,-132.45 777.26,-127.86 766.94,-125.49 767.71,-132.45"/>
 </g>
 <!-- Node28 -->
@@ -359,14 +359,14 @@
 <!-- Node5&#45;&gt;Node28 -->
 <g id="edge117" class="edge">
 <title>Node5&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M1228.37,-549.73C1103.91,-542.45 713.78,-506.25 456,-333 414.55,-305.14 373.49,-276.68 401,-235 426.53,-196.32 555.06,-154.26 622.12,-134.49"/>
+<path fill="none" stroke="midnightblue" d="M1231.23,-549.77C1106.31,-542.6 714.76,-506.71 456,-333 414.53,-305.16 373.49,-276.68 401,-235 426.53,-196.32 555.06,-154.26 622.12,-134.49"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="623.32,-137.79 631.94,-131.62 621.36,-131.07 623.32,-137.79"/>
 </g>
 <!-- Node5&#45;&gt;Node35 -->
 <g id="edge116" class="edge">
 <title>Node5&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1307.72,-551.92C1453.66,-553.04 1959.69,-553 2111,-501 2123.34,-496.76 2486.92,-241.88 2498,-235 2549.89,-202.78 2559.57,-185.82 2618,-168 2714.29,-138.63 3026.2,-126.97 3127.73,-123.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3128.08,-127.38 3137.97,-123.59 3127.87,-120.38 3128.08,-127.38"/>
+<path fill="none" stroke="midnightblue" d="M1310.57,-551.91C1456,-552.99 1960.23,-552.83 2111,-501 2123.34,-496.76 2486.92,-241.88 2498,-235 2549.89,-202.78 2559.58,-185.85 2618,-168 2713.11,-138.94 3020.98,-127.09 3121.75,-123.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3122.03,-127.42 3131.92,-123.61 3121.82,-120.42 3122.03,-127.42"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node">
@@ -380,14 +380,14 @@
 <!-- Node5&#45;&gt;Node47 -->
 <g id="edge114" class="edge">
 <title>Node5&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M1257.83,-542.84C1240.41,-528.39 1203.35,-499.12 1168,-481 1124.47,-458.69 1109.15,-463.82 1064,-445 959.79,-401.56 927.06,-399.74 836,-333 783.63,-294.62 737.56,-231.69 717.16,-201.59"/>
+<path fill="none" stroke="midnightblue" d="M1260.47,-542.87C1242.47,-528.45 1204.19,-499.23 1168,-481 1124.32,-458.99 1109.15,-463.82 1064,-445 959.79,-401.56 927.06,-399.74 836,-333 783.63,-294.62 737.56,-231.69 717.16,-201.59"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="719.92,-199.42 711.46,-193.04 714.1,-203.3 719.92,-199.42"/>
 </g>
 <!-- Node5&#45;&gt;Node48 -->
 <g id="edge115" class="edge">
 <title>Node5&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1232.91,-542.99C1145.33,-521.32 910.58,-460.71 722,-389 620.69,-350.47 505.89,-291.1 456.61,-264.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="458.11,-261.65 447.65,-260.01 454.81,-267.82 458.11,-261.65"/>
+<path fill="none" stroke="midnightblue" d="M1235.39,-542.93C1147.06,-521.26 911.36,-460.84 722,-389 620.66,-350.55 505.88,-291.14 456.6,-264.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="458.11,-261.66 447.64,-260.02 454.8,-267.83 458.11,-261.66"/>
 </g>
 <!-- Node50 -->
 <g id="node50" class="node">
@@ -401,8 +401,8 @@
 <!-- Node5&#45;&gt;Node50 -->
 <g id="edge103" class="edge">
 <title>Node5&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M1307.65,-548.53C1439.83,-538.62 1865.41,-506.73 2011.9,-495.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2012.25,-499.24 2021.96,-495 2011.73,-492.26 2012.25,-499.24"/>
+<path fill="none" stroke="midnightblue" d="M1310.77,-548.51C1442.63,-538.59 1865.37,-506.79 2011.64,-495.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2011.97,-499.27 2021.68,-495.03 2011.45,-492.29 2011.97,-499.27"/>
 </g>
 <!-- Node51 -->
 <g id="node51" class="node">
@@ -416,29 +416,29 @@
 <!-- Node5&#45;&gt;Node51 -->
 <g id="edge113" class="edge">
 <title>Node5&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M1295.22,-542.98C1328.24,-532.64 1384.04,-515.16 1420.95,-503.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1422.33,-506.84 1430.83,-500.51 1420.24,-500.16 1422.33,-506.84"/>
+<path fill="none" stroke="midnightblue" d="M1297.79,-542.98C1330.29,-532.64 1385.21,-515.16 1421.54,-503.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1422.79,-506.88 1431.26,-500.51 1420.67,-500.21 1422.79,-506.88"/>
 </g>
 <!-- Node8&#45;&gt;Node6 -->
 <g id="edge9" class="edge">
 <title>Node8&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1543.79,-430.38C1773.69,-415.67 2611.39,-356.84 2860,-266 2883.85,-257.28 2884.13,-243.66 2908,-235 3030.92,-190.4 3070.39,-216.29 3200,-199 3213.5,-197.2 3228.01,-195.17 3241.69,-193.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.57,-196.63 3251.97,-191.74 3241.57,-189.7 3242.57,-196.63"/>
+<path fill="none" stroke="midnightblue" d="M1543.54,-430.37C1772.45,-415.61 2606.52,-356.63 2854,-266 2877.85,-257.27 2878.13,-243.66 2902,-235 3024.92,-190.4 3064.39,-216.29 3194,-199 3207.5,-197.2 3222.01,-195.17 3235.69,-193.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3236.57,-196.63 3245.97,-191.74 3235.57,-189.7 3236.57,-196.63"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node">
 <title>Node9</title>
 <g id="a_node9"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2624.5,-369.5 2624.5,-388.5 2725.5,-388.5 2725.5,-369.5 2624.5,-369.5"/>
-<text text-anchor="middle" x="2675" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2634.5,-369.5 2634.5,-388.5 2735.5,-388.5 2735.5,-369.5 2634.5,-369.5"/>
+<text text-anchor="middle" x="2685" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</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="M1543.61,-431.34C1745.23,-422.19 2409.15,-392.06 2614.16,-382.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2614.6,-386.24 2624.43,-382.29 2614.28,-379.25 2614.6,-386.24"/>
+<path fill="none" stroke="midnightblue" d="M1543.69,-431.36C1746.72,-422.22 2418.07,-392.01 2624.24,-382.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2624.45,-386.23 2634.28,-382.28 2624.13,-379.24 2624.45,-386.23"/>
 </g>
 <!-- Node8&#45;&gt;Node10 -->
 <g id="edge10" class="edge">
@@ -476,8 +476,8 @@
 <!-- Node8&#45;&gt;Node35 -->
 <g id="edge100" class="edge">
 <title>Node8&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1543.9,-426.73C1801.5,-394.89 2816.52,-269.32 2824,-266 2843.3,-257.43 2840.72,-243.6 2860,-235 2974.6,-183.91 3045.73,-281.8 3140,-199 3156.15,-184.82 3160,-159.32 3160.57,-141.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3164.07,-141.63 3160.57,-131.63 3157.07,-141.63 3164.07,-141.63"/>
+<path fill="none" stroke="midnightblue" d="M1543.64,-426.72C1800.08,-394.89 2810.56,-269.31 2818,-266 2837.3,-257.43 2834.72,-243.6 2854,-235 2968.6,-183.91 3039.73,-281.8 3134,-199 3150.15,-184.82 3154,-159.32 3154.57,-141.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3158.07,-141.63 3154.57,-131.63 3151.07,-141.63 3158.07,-141.63"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node">
@@ -555,16 +555,16 @@
 <g id="node25" class="node">
 <title>Node25</title>
 <g id="a_node25"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3739.5,-56.5 3739.5,-75.5 3852.5,-75.5 3852.5,-56.5 3739.5,-56.5"/>
-<text text-anchor="middle" x="3796" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="3733.5,-56.5 3733.5,-75.5 3846.5,-75.5 3846.5,-56.5 3733.5,-56.5"/>
+<text text-anchor="middle" x="3790" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node25 -->
 <g id="edge92" class="edge">
 <title>Node10&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1283.78,-375.89C1473.59,-367.84 2146.07,-339.17 2242,-333 2596.52,-310.18 3592.61,-458.71 3835,-199 3861.38,-170.73 3849.74,-148.14 3836,-112 3831.66,-100.6 3822.97,-90.24 3814.79,-82.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3817.04,-79.66 3807.27,-75.57 3812.36,-84.86 3817.04,-79.66"/>
+<path fill="none" stroke="midnightblue" d="M1283.78,-375.89C1473.59,-367.85 2146.07,-339.19 2242,-333 2595.19,-310.21 3587.56,-457.78 3829,-199 3855.38,-170.73 3843.74,-148.14 3830,-112 3825.66,-100.6 3816.97,-90.24 3808.79,-82.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3811.04,-79.66 3801.27,-75.57 3806.36,-84.86 3811.04,-79.66"/>
 </g>
 <!-- Node10&#45;&gt;Node28 -->
 <g id="edge95" class="edge">
@@ -581,8 +581,8 @@
 <!-- Node10&#45;&gt;Node35 -->
 <g id="edge94" class="edge">
 <title>Node10&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1283.69,-375.8C1478.22,-367.15 2177.94,-335.9 2189,-333 2282.83,-308.4 2295.97,-275.73 2384,-235 2453.22,-202.97 2467.85,-185.9 2542,-168 2654.97,-140.73 3017.44,-127.44 3127.81,-123.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3128.09,-127.45 3137.98,-123.64 3127.87,-120.45 3128.09,-127.45"/>
+<path fill="none" stroke="midnightblue" d="M1283.69,-375.8C1478.22,-367.15 2177.94,-335.9 2189,-333 2282.83,-308.4 2295.97,-275.73 2384,-235 2453.22,-202.97 2467.86,-185.93 2542,-168 2653.74,-140.98 3012.02,-127.54 3121.75,-123.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3121.99,-127.48 3131.87,-123.66 3121.76,-120.48 3121.99,-127.48"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
@@ -695,16 +695,16 @@
 <g id="node18" class="node">
 <title>Node18</title>
 <g id="a_node18"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1991.5,-56.5 1991.5,-75.5 2092.5,-75.5 2092.5,-56.5 1991.5,-56.5"/>
-<text text-anchor="middle" x="2042" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2020.5,-56.5 2020.5,-75.5 2121.5,-75.5 2121.5,-56.5 2020.5,-56.5"/>
+<text text-anchor="middle" x="2071" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node18 -->
 <g id="edge18" class="edge">
 <title>Node12&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M201.69,-173.92C210.29,-171.92 219.46,-169.84 228,-168 231.94,-167.15 508.99,-112.45 513,-112 804.88,-79.25 1733.9,-69.5 1981.09,-67.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1981.35,-70.95 1991.32,-67.37 1981.29,-63.95 1981.35,-70.95"/>
+<path fill="none" stroke="midnightblue" d="M201.69,-173.92C210.29,-171.92 219.46,-169.84 228,-168 231.94,-167.15 508.99,-112.45 513,-112 810.75,-78.68 1759.16,-69.33 2009.78,-67.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2010.17,-70.91 2020.14,-67.34 2010.11,-63.91 2010.17,-70.91"/>
 </g>
 <!-- Node12&#45;&gt;Node19 -->
 <g id="edge19" class="edge">
@@ -761,8 +761,8 @@
 <!-- Node20&#45;&gt;Node35 -->
 <g id="edge54" class="edge">
 <title>Node20&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1737.71,-313.66C1830.59,-308.73 2005.22,-296.06 2151,-266 2294.6,-236.39 2321.83,-194.71 2466,-168 2595.52,-144.01 3008.39,-128.22 3127.53,-124.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3127.94,-127.57 3137.81,-123.73 3127.7,-120.58 3127.94,-127.57"/>
+<path fill="none" stroke="midnightblue" d="M1737.71,-313.66C1830.59,-308.73 2005.22,-296.06 2151,-266 2294.6,-236.39 2321.84,-194.75 2466,-168 2594.25,-144.2 3002.79,-128.31 3121.41,-124.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3121.79,-127.6 3131.66,-123.75 3121.54,-120.6 3121.79,-127.6"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node">
@@ -848,8 +848,8 @@
 <!-- Node24&#45;&gt;Node18 -->
 <g id="edge27" class="edge">
 <title>Node24&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M896.76,-118.32C1101.66,-109.14 1774.52,-78.99 1981.12,-69.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1981.35,-73.22 1991.18,-69.28 1981.03,-66.23 1981.35,-73.22"/>
+<path fill="none" stroke="midnightblue" d="M896.52,-118.4C1104.83,-109.28 1799.87,-78.86 2010.19,-69.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2010.58,-73.15 2020.42,-69.21 2010.28,-66.15 2010.58,-73.15"/>
 </g>
 <!-- Node24&#45;&gt;Node19 -->
 <g id="edge30" class="edge">
@@ -860,29 +860,29 @@
 <!-- Node24&#45;&gt;Node25 -->
 <g id="edge28" class="edge">
 <title>Node24&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M896.57,-119.26C964.45,-117.31 1078.71,-114.15 1177,-112 2193.02,-89.82 3430.96,-72.07 3729.12,-67.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3729.38,-71.42 3739.33,-67.78 3729.28,-64.42 3729.38,-71.42"/>
+<path fill="none" stroke="midnightblue" d="M896.57,-119.26C964.45,-117.31 1078.71,-114.15 1177,-112 2190.69,-89.86 3425.79,-72.08 3723.27,-67.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3723.51,-71.42 3733.46,-67.78 3723.41,-64.42 3723.51,-71.42"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
 <title>Node26</title>
 <g id="a_node26"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3753,-0.5 3753,-19.5 3839,-19.5 3839,-0.5 3753,-0.5"/>
-<text text-anchor="middle" x="3796" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3747,-0.5 3747,-19.5 3833,-19.5 3833,-0.5 3747,-0.5"/>
+<text text-anchor="middle" x="3790" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge29" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M3796,-56.08C3796,-49.01 3796,-38.86 3796,-29.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3799.5,-29.75 3796,-19.75 3792.5,-29.75 3799.5,-29.75"/>
+<path fill="none" stroke="midnightblue" d="M3790,-56.08C3790,-49.01 3790,-38.86 3790,-29.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3793.5,-29.75 3790,-19.75 3786.5,-29.75 3793.5,-29.75"/>
 </g>
 <!-- Node30&#45;&gt;Node6 -->
 <g id="edge40" class="edge">
 <title>Node30&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1703.71,-240.98C1722.05,-238.66 1742.32,-236.41 1761,-235 2350.66,-190.58 2500.35,-227.37 3091,-199 3141.92,-196.55 3199.7,-192.47 3241.75,-189.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.11,-192.74 3251.81,-188.48 3241.57,-185.76 3242.11,-192.74"/>
+<path fill="none" stroke="midnightblue" d="M1703.71,-240.98C1722.05,-238.66 1742.32,-236.41 1761,-235 2348,-190.75 2497.02,-227.28 3085,-199 3135.92,-196.55 3193.7,-192.47 3235.75,-189.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3236.11,-192.74 3245.81,-188.48 3235.57,-185.76 3236.11,-192.74"/>
 </g>
 <!-- Node30&#45;&gt;Node7 -->
 <g id="edge41" class="edge">
@@ -956,8 +956,8 @@
 <!-- Node30&#45;&gt;Node35 -->
 <g id="edge52" class="edge">
 <title>Node30&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1643.45,-240.83C1642.89,-223.69 1644.4,-185.64 1667,-168 1719.66,-126.89 2802.22,-134.03 2869,-132 2962.82,-129.14 3073.66,-125.7 3127.45,-124.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3127.84,-127.51 3137.73,-123.7 3127.63,-120.51 3127.84,-127.51"/>
+<path fill="none" stroke="midnightblue" d="M1643.45,-240.83C1642.88,-223.69 1644.4,-185.64 1667,-168 1720.37,-126.35 2817.34,-134.13 2885,-132 2970.28,-129.31 3070.76,-125.88 3121.37,-124.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3121.81,-127.62 3131.68,-123.78 3121.57,-120.62 3121.81,-127.62"/>
 </g>
 <!-- Node30&#45;&gt;Node36 -->
 <g id="edge51" class="edge">
@@ -980,8 +980,8 @@
 <!-- Node33&#45;&gt;Node25 -->
 <g id="edge46" class="edge">
 <title>Node33&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2173.32,-173.92C2208.04,-158.16 2286.2,-125.01 2356,-112 2491.65,-86.71 3463.47,-71.58 3729.07,-67.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3729.38,-71.39 3739.33,-67.75 3729.28,-64.39 3729.38,-71.39"/>
+<path fill="none" stroke="midnightblue" d="M2173.32,-173.92C2208.04,-158.16 2286.2,-125.02 2356,-112 2491.01,-86.82 3457.77,-71.63 3722.9,-67.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3723.2,-71.4 3733.15,-67.76 3723.1,-64.4 3723.2,-71.4"/>
 </g>
 <!-- Node33&#45;&gt;Node27 -->
 <g id="edge48" class="edge">
@@ -999,22 +999,22 @@
 <g id="node34" class="node">
 <title>Node34</title>
 <g id="a_node34"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2720.5,-112.5 2720.5,-131.5 2859.5,-131.5 2859.5,-112.5 2720.5,-112.5"/>
-<text text-anchor="middle" x="2790" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2736.5,-112.5 2736.5,-131.5 2875.5,-131.5 2875.5,-112.5 2736.5,-112.5"/>
+<text text-anchor="middle" x="2806" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
 </a>
 </g>
 </g>
 <!-- Node33&#45;&gt;Node34 -->
 <g id="edge44" class="edge">
 <title>Node33&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M2199.25,-174C2211.75,-171.81 2225.38,-169.61 2238,-168 2405.23,-146.62 2602.34,-133.42 2709.95,-127.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2710.29,-130.71 2720.08,-126.64 2709.89,-123.72 2710.29,-130.71"/>
+<path fill="none" stroke="midnightblue" d="M2199.25,-173.98C2211.74,-171.79 2225.37,-169.6 2238,-168 2411.44,-146.03 2616.11,-132.95 2726.24,-126.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2726.47,-130.44 2736.27,-126.41 2726.1,-123.45 2726.47,-130.44"/>
 </g>
 <!-- Node33&#45;&gt;Node35 -->
 <g id="edge49" class="edge">
 <title>Node33&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2197.93,-173.95C2210.77,-171.68 2224.92,-169.46 2238,-168 2415.93,-148.19 2985.59,-128.68 3127.66,-124.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3128,-127.53 3137.88,-123.71 3127.77,-120.53 3128,-127.53"/>
+<path fill="none" stroke="midnightblue" d="M2197.93,-173.96C2210.77,-171.68 2224.92,-169.46 2238,-168 2414.58,-148.31 2979.49,-128.75 3121.41,-124.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3121.75,-127.55 3131.63,-123.72 3121.52,-120.55 3121.75,-127.55"/>
 </g>
 <!-- Node37&#45;&gt;Node21 -->
 <g id="edge57" class="edge">
@@ -1043,8 +1043,8 @@
 <!-- Node37&#45;&gt;Node35 -->
 <g id="edge61" class="edge">
 <title>Node37&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2126.58,-235.47C2190.02,-214.28 2308.22,-175.78 2352,-168 2429.27,-154.26 2987.14,-130.23 3127.84,-124.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3128.13,-127.82 3137.97,-123.91 3127.84,-120.83 3128.13,-127.82"/>
+<path fill="none" stroke="midnightblue" d="M2126.58,-235.47C2190.02,-214.29 2308.22,-175.79 2352,-168 2428.61,-154.36 2981.21,-130.3 3121.62,-124.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3121.9,-127.85 3131.74,-123.93 3121.6,-120.85 3121.9,-127.85"/>
 </g>
 <!-- Node38 -->
 <g id="node38" class="node">
@@ -1076,8 +1076,8 @@
 <!-- Node39&#45;&gt;Node35 -->
 <g id="edge91" class="edge">
 <title>Node39&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2179.67,-312.01C2216.29,-309.12 2264.96,-305.3 2308,-302 2414.87,-293.81 2688.3,-302.72 2789,-266 2811.13,-257.93 2810.09,-243.66 2832,-235 2948.69,-188.9 3006.21,-266.46 3112,-199 3133.02,-185.6 3146.5,-159.33 3153.66,-141.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3157.03,-142.45 3157.24,-131.85 3150.47,-140.01 3157.03,-142.45"/>
+<path fill="none" stroke="midnightblue" d="M2179.67,-312.02C2216.29,-309.14 2264.96,-305.32 2308,-302 2413.55,-293.86 2683.56,-302.31 2783,-266 2805.13,-257.92 2804.09,-243.66 2826,-235 2942.69,-188.9 3000.21,-266.46 3106,-199 3127.02,-185.6 3140.5,-159.33 3147.66,-141.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3151.03,-142.45 3151.24,-131.85 3144.47,-140.01 3151.03,-142.45"/>
 </g>
 <!-- Node39&#45;&gt;Node38 -->
 <g id="edge88" class="edge">
@@ -1088,17 +1088,17 @@
 <!-- Node40 -->
 <g id="node40" class="node">
 <title>Node40</title>
-<g id="a_node40"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction.">
-<polygon fill="white" stroke="black" points="2654.5,-241 2654.5,-260 2779.5,-260 2779.5,-241 2654.5,-241"/>
-<text text-anchor="middle" x="2717" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/ndarray.h</text>
+<g id="a_node40"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
+<polygon fill="white" stroke="black" points="2654.5,-241 2654.5,-260 2773.5,-260 2773.5,-241 2654.5,-241"/>
+<text text-anchor="middle" x="2714" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node39&#45;&gt;Node40 -->
 <g id="edge65" class="edge">
 <title>Node39&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M2179.69,-310.3C2288.03,-298.44 2524.36,-272.58 2644.2,-259.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2644.82,-262.92 2654.38,-258.35 2644.06,-255.96 2644.82,-262.92"/>
+<path fill="none" stroke="midnightblue" d="M2179.67,-310.27C2288.45,-298.3 2526.21,-272.15 2644.42,-259.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2644.88,-262.62 2654.44,-258.05 2644.12,-255.66 2644.88,-262.62"/>
 </g>
 <!-- Node39&#45;&gt;Node47 -->
 <g id="edge89" class="edge">
@@ -1115,195 +1115,195 @@
 <!-- Node40&#45;&gt;Node7 -->
 <g id="edge69" class="edge">
 <title>Node40&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2654.48,-247.87C2491.65,-243.32 2041.08,-228.83 1667,-199 1642.25,-197.03 1614.93,-194.09 1591.75,-191.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1592.1,-187.9 1581.76,-190.2 1591.27,-194.85 1592.1,-187.9"/>
+<path fill="none" stroke="midnightblue" d="M2654.3,-247.94C2494.21,-243.46 2042.06,-228.93 1667,-199 1642.25,-197.02 1614.93,-194.09 1591.75,-191.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1592.1,-187.9 1581.76,-190.19 1591.27,-194.85 1592.1,-187.9"/>
 </g>
 <!-- Node40&#45;&gt;Node18 -->
 <g id="edge68" class="edge">
 <title>Node40&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2759.68,-240.95C2770.83,-238.86 2782.84,-236.72 2794,-235 2927.73,-214.33 3171.22,-276.97 3091,-168 3041.33,-100.53 2993.48,-126.73 2911,-112 2755.42,-84.22 2273.69,-71.79 2102.85,-68.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2102.84,-64.68 2092.77,-67.97 2102.7,-71.67 2102.84,-64.68"/>
+<path fill="none" stroke="midnightblue" d="M2754.62,-240.99C2765.44,-238.87 2777.14,-236.72 2788,-235 2921.65,-213.83 3163.41,-278.29 3085,-168 3041.1,-106.25 2998.34,-126.58 2924,-112 2772.11,-82.2 2300.73,-71.08 2131.92,-67.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2131.78,-64.48 2121.72,-67.8 2131.65,-71.48 2131.78,-64.48"/>
 </g>
 <!-- Node40&#45;&gt;Node19 -->
 <g id="edge86" class="edge">
 <title>Node40&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2709.25,-240.82C2685.72,-215.16 2611.76,-139.73 2532,-112 2460.38,-87.1 1278.3,-70.27 1064.89,-67.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1064.69,-63.92 1054.64,-67.29 1064.6,-70.92 1064.69,-63.92"/>
+<path fill="none" stroke="midnightblue" d="M2706.41,-240.82C2683.35,-215.16 2610.82,-139.75 2532,-112 2460.48,-86.82 1278.32,-70.22 1064.89,-67.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1064.69,-63.92 1054.65,-67.29 1064.6,-70.92 1064.69,-63.92"/>
 </g>
 <!-- Node40&#45;&gt;Node24 -->
 <g id="edge78" class="edge">
 <title>Node40&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2654.34,-247.47C2572.47,-243.55 2425.25,-232.12 2304,-199 2270.78,-189.93 2266.59,-175.58 2233,-168 2200.36,-160.63 1185.66,-132.5 907.12,-124.9"/>
+<path fill="none" stroke="midnightblue" d="M2654.23,-247.53C2573.46,-243.66 2425.58,-232.27 2304,-199 2270.79,-189.91 2266.59,-175.58 2233,-168 2200.36,-160.63 1185.66,-132.5 907.12,-124.9"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="906.84,-121.39 896.75,-124.62 906.65,-128.39 906.84,-121.39"/>
 </g>
 <!-- Node40&#45;&gt;Node25 -->
 <g id="edge70" class="edge">
 <title>Node40&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2779.67,-245.16C2825.68,-242.07 2889.71,-237.95 2946,-235 2994.25,-232.47 3781.55,-233.87 3815,-199 3844.69,-168.05 3821.46,-112.77 3806.36,-84.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3809.22,-82.53 3801.27,-75.52 3803.11,-85.95 3809.22,-82.53"/>
+<path fill="none" stroke="midnightblue" d="M2773.93,-245.28C2819.47,-242.17 2883.66,-237.97 2940,-235 2988.25,-232.45 3775.55,-233.87 3809,-199 3838.69,-168.05 3815.46,-112.77 3800.36,-84.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3803.22,-82.53 3795.27,-75.52 3797.11,-85.95 3803.22,-82.53"/>
 </g>
 <!-- Node40&#45;&gt;Node29 -->
 <g id="edge87" class="edge">
 <title>Node40&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2683.02,-240.95C2612.77,-223.68 2446.25,-184.86 2304,-168 2196.55,-155.27 1415.4,-129.63 1242.73,-124.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1242.8,-120.58 1232.69,-123.75 1242.57,-127.57 1242.8,-120.58"/>
+<path fill="none" stroke="midnightblue" d="M2680.27,-240.94C2610.54,-223.67 2445.24,-184.84 2304,-168 2196.55,-155.19 1415.4,-129.61 1242.73,-124.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1242.8,-120.57 1232.69,-123.75 1242.58,-127.57 1242.8,-120.57"/>
 </g>
 <!-- Node40&#45;&gt;Node33 -->
 <g id="edge71" class="edge">
 <title>Node40&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2654.18,-242.41C2568.63,-232.73 2410.71,-214.78 2276,-199 2262.47,-197.41 2248.1,-195.71 2234.16,-194.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2234.44,-190.56 2224.1,-192.84 2233.61,-197.51 2234.44,-190.56"/>
+<path fill="none" stroke="midnightblue" d="M2654.48,-242.72C2570.22,-233.11 2411.32,-214.91 2276,-199 2262.47,-197.41 2248.1,-195.7 2234.16,-194.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2234.44,-190.55 2224.1,-192.83 2233.61,-197.5 2234.44,-190.55"/>
 </g>
 <!-- Node40&#45;&gt;Node34 -->
-<g id="edge67" class="edge">
+<g id="edge66" class="edge">
 <title>Node40&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M2757,-240.92C2814.93,-228.3 2915.88,-205.54 2921,-199 2946.29,-166.69 2892.07,-145.53 2845.88,-133.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2846.42,-130.46 2835.87,-131.53 2844.78,-137.27 2846.42,-130.46"/>
+<path fill="none" stroke="midnightblue" d="M2753.41,-240.9C2810.5,-228.26 2909.97,-205.45 2915,-199 2923.47,-188.14 2922.66,-179.45 2915,-168 2904.09,-151.7 2886.09,-141.3 2867.82,-134.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2868.87,-131.32 2858.28,-131.52 2866.68,-137.97 2868.87,-131.32"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
 <title>Node41</title>
 <g id="a_node41"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2698,-174 2698,-193 2844,-193 2844,-174 2698,-174"/>
-<text text-anchor="middle" x="2771" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/ndarray.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2698,-174 2698,-193 2838,-193 2838,-174 2698,-174"/>
+<text text-anchor="middle" x="2768" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node41 -->
-<g id="edge66" class="edge">
+<g id="edge67" class="edge">
 <title>Node40&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M2724.28,-240.73C2732.7,-230.6 2746.75,-213.69 2757.25,-201.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2760.13,-203.06 2763.83,-193.13 2754.75,-198.58 2760.13,-203.06"/>
+<path fill="none" stroke="midnightblue" d="M2721.28,-240.73C2729.7,-230.6 2743.75,-213.69 2754.25,-201.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2757.13,-203.06 2760.83,-193.13 2751.75,-198.58 2757.13,-203.06"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node">
 <title>Node42</title>
 <g id="a_node42"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API.">
-<polygon fill="white" stroke="black" points="2968.5,-168.5 2968.5,-198.5 3081.5,-198.5 3081.5,-168.5 2968.5,-168.5"/>
-<text text-anchor="start" x="2976.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
-<text text-anchor="middle" x="3025" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="black" points="2962.5,-168.5 2962.5,-198.5 3075.5,-198.5 3075.5,-168.5 2962.5,-168.5"/>
+<text text-anchor="start" x="2970.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
+<text text-anchor="middle" x="3019" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node42 -->
 <g id="edge72" class="edge">
 <title>Node40&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M2757.58,-240.94C2808.72,-230.14 2897.31,-211.45 2958.42,-198.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2959.3,-201.94 2968.36,-196.45 2957.86,-195.09 2959.3,-201.94"/>
+<path fill="none" stroke="midnightblue" d="M2754.19,-240.94C2804.68,-230.18 2892.02,-211.56 2952.52,-198.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2953.31,-202.08 2962.37,-196.57 2951.86,-195.23 2953.31,-202.08"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node">
 <title>Node43</title>
 <g id="a_node43"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
-<polygon fill="white" stroke="black" points="3672,-174 3672,-193 3806,-193 3806,-174 3672,-174"/>
-<text text-anchor="middle" x="3739" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
+<polygon fill="white" stroke="black" points="3666,-174 3666,-193 3800,-193 3800,-174 3666,-174"/>
+<text text-anchor="middle" x="3733" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node43 -->
 <g id="edge79" class="edge">
 <title>Node40&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M2779.73,-245.29C2957.91,-233.68 3466.41,-201.34 3661.53,-189.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3661.94,-192.67 3671.7,-188.56 3661.5,-185.69 3661.94,-192.67"/>
+<path fill="none" stroke="midnightblue" d="M2773.59,-245.18C2817.19,-242.29 2877.64,-238.41 2931,-235 3196.86,-218.01 3512.88,-197.91 3655.95,-189.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3656.18,-192.56 3665.95,-188.45 3655.75,-185.57 3656.18,-192.56"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node">
 <title>Node46</title>
 <g id="a_node46"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2862,-174 2862,-193 2912,-193 2912,-174 2862,-174"/>
-<text text-anchor="middle" x="2887" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">atomic</text>
+<polygon fill="white" stroke="#bfbfbf" points="2856,-174 2856,-193 2906,-193 2906,-174 2856,-174"/>
+<text text-anchor="middle" x="2881" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">atomic</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node46 -->
 <g id="edge84" class="edge">
 <title>Node40&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M2741.21,-240.9C2768.51,-231.12 2814.16,-214.48 2853,-199 2854.6,-198.36 2856.23,-197.7 2857.88,-197.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2859.41,-200.18 2867.29,-193.09 2856.71,-193.72 2859.41,-200.18"/>
+<path fill="none" stroke="midnightblue" d="M2737.66,-240.84C2764.34,-231.01 2808.97,-214.32 2847,-199 2848.6,-198.36 2850.23,-197.69 2851.88,-197.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2853.41,-200.16 2861.28,-193.07 2850.7,-193.71 2853.41,-200.16"/>
 </g>
 <!-- Node40&#45;&gt;Node47 -->
 <g id="edge85" class="edge">
 <title>Node40&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M2654.5,-247.89C2384.12,-240.9 1313.68,-212.89 977,-199 896.24,-195.67 802.01,-190.29 748.64,-187.1"/>
+<path fill="none" stroke="midnightblue" d="M2654.3,-247.96C2388.89,-241.09 1314.23,-212.92 977,-199 896.24,-195.67 802.01,-190.29 748.64,-187.1"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="748.72,-183.6 738.53,-186.5 748.3,-190.59 748.72,-183.6"/>
 </g>
 <!-- Node42&#45;&gt;Node13 -->
 <g id="edge73" class="edge">
 <title>Node42&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2968.45,-173.52C2953.09,-171.39 2936.44,-169.34 2921,-168 2793.62,-156.96 1880.95,-130.66 1658.7,-124.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1658.74,-120.87 1648.64,-124.09 1658.54,-127.87 1658.74,-120.87"/>
+<path fill="none" stroke="midnightblue" d="M2962.45,-173.53C2947.09,-171.39 2930.44,-169.34 2915,-168 2788.28,-157.01 1880.71,-130.7 1658.84,-124.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1658.9,-120.88 1648.8,-124.1 1658.7,-127.88 1658.9,-120.88"/>
 </g>
 <!-- Node42&#45;&gt;Node18 -->
 <g id="edge74" class="edge">
 <title>Node42&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M3001.42,-168.48C2971.7,-151.62 2918.52,-124.09 2869,-112 2723.77,-76.55 2268.86,-69 2103.15,-67.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2102.7,-63.91 2092.66,-67.32 2102.63,-70.91 2102.7,-63.91"/>
+<path fill="none" stroke="midnightblue" d="M2998.82,-168.31C2973.56,-151.41 2928.33,-123.98 2885,-112 2743.34,-72.83 2295.77,-67.6 2131.89,-67.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2131.52,-63.52 2121.51,-66.99 2131.5,-70.52 2131.52,-63.52"/>
 </g>
 <!-- Node42&#45;&gt;Node23 -->
 <g id="edge76" class="edge">
 <title>Node42&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2968.39,-174.11C2953.03,-171.97 2936.39,-169.77 2921,-168 2771.8,-150.81 2596.62,-136.16 2500.11,-128.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2500.12,-125.05 2489.87,-127.76 2499.57,-132.03 2500.12,-125.05"/>
+<path fill="none" stroke="midnightblue" d="M2962.39,-174.12C2947.03,-171.98 2930.39,-169.78 2915,-168 2768.01,-150.99 2595.52,-136.32 2500.01,-128.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2500.13,-125.16 2489.88,-127.86 2499.57,-132.14 2500.13,-125.16"/>
 </g>
 <!-- Node42&#45;&gt;Node25 -->
 <g id="edge75" class="edge">
 <title>Node42&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M3040.12,-168.36C3059.18,-151.52 3093.73,-124.14 3129,-112 3238.51,-74.3 3582.68,-68.03 3729.06,-67.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3729.27,-70.6 3739.25,-67.04 3729.23,-63.6 3729.27,-70.6"/>
+<path fill="none" stroke="midnightblue" d="M3034.12,-168.36C3053.18,-151.52 3087.73,-124.14 3123,-112 3232.51,-74.3 3576.68,-68.03 3723.06,-67.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3723.27,-70.6 3733.25,-67.04 3723.23,-63.6 3723.27,-70.6"/>
 </g>
 <!-- Node42&#45;&gt;Node35 -->
 <g id="edge77" class="edge">
 <title>Node42&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M3056.99,-168.4C3079.44,-158.51 3109.21,-145.38 3130.98,-135.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3132.62,-138.89 3140.36,-131.66 3129.79,-132.49 3132.62,-138.89"/>
+<path fill="none" stroke="midnightblue" d="M3050.99,-168.4C3073.44,-158.51 3103.21,-145.38 3124.98,-135.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3126.62,-138.89 3134.36,-131.66 3123.79,-132.49 3126.62,-138.89"/>
 </g>
 <!-- Node43&#45;&gt;Node25 -->
 <g id="edge82" class="edge">
 <title>Node43&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M3747.07,-173.85C3755.61,-164.29 3768.94,-148.09 3777,-132 3784.41,-117.22 3789.41,-99.06 3792.42,-85.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3795.87,-86.29 3794.48,-75.78 3789.02,-84.86 3795.87,-86.29"/>
+<path fill="none" stroke="midnightblue" d="M3741.07,-173.85C3749.61,-164.29 3762.94,-148.09 3771,-132 3778.41,-117.22 3783.41,-99.06 3786.42,-85.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3789.87,-86.29 3788.48,-75.78 3783.02,-84.86 3789.87,-86.29"/>
 </g>
 <!-- Node43&#45;&gt;Node40 -->
 <g id="edge83" class="edge">
 <title>Node43&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M3671.81,-189.01C3488.3,-200.94 2979.97,-233.27 2789.9,-245.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2789.5,-241.61 2779.74,-245.72 2789.94,-248.6 2789.5,-241.61"/>
+<path fill="none" stroke="midnightblue" d="M3665.98,-189.08C3530.5,-197.94 3214.71,-218.02 2949,-235 2893.62,-238.54 2830.61,-242.58 2783.7,-245.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2783.41,-242.01 2773.65,-246.12 2783.85,-249 2783.41,-242.01"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node">
 <title>Node44</title>
 <g id="a_node44"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3590,-112.5 3590,-131.5 3652,-131.5 3652,-112.5 3590,-112.5"/>
-<text text-anchor="middle" x="3621" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3584,-112.5 3584,-131.5 3646,-131.5 3646,-112.5 3584,-112.5"/>
+<text text-anchor="middle" x="3615" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
 </a>
 </g>
 </g>
 <!-- Node43&#45;&gt;Node44 -->
 <g id="edge80" class="edge">
 <title>Node43&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M3722.09,-173.98C3702.47,-164.08 3669.87,-147.64 3647.01,-136.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3648.38,-132.89 3637.88,-131.51 3645.23,-139.14 3648.38,-132.89"/>
+<path fill="none" stroke="midnightblue" d="M3716.09,-173.98C3696.47,-164.08 3663.87,-147.64 3641.01,-136.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3642.38,-132.89 3631.88,-131.51 3639.23,-139.14 3642.38,-132.89"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node">
 <title>Node45</title>
 <g id="a_node45"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3670.5,-112.5 3670.5,-131.5 3767.5,-131.5 3767.5,-112.5 3670.5,-112.5"/>
-<text text-anchor="middle" x="3719" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3664.5,-112.5 3664.5,-131.5 3761.5,-131.5 3761.5,-112.5 3664.5,-112.5"/>
+<text text-anchor="middle" x="3713" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node43&#45;&gt;Node45 -->
 <g id="edge81" class="edge">
 <title>Node43&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M3736.13,-173.98C3733.28,-165.49 3728.82,-152.2 3725.16,-141.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3728.36,-139.87 3721.86,-131.51 3721.73,-142.1 3728.36,-139.87"/>
+<path fill="none" stroke="midnightblue" d="M3730.13,-173.98C3727.28,-165.49 3722.82,-152.2 3719.16,-141.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3722.36,-139.87 3715.86,-131.51 3715.73,-142.1 3722.36,-139.87"/>
 </g>
 <!-- Node50&#45;&gt;Node6 -->
 <g id="edge105" class="edge">
 <title>Node50&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2087.2,-481.43C2125.86,-468.42 2202.24,-443.27 2268,-425 2436.26,-378.25 2480.67,-375.69 2650,-333 2732.89,-312.1 2938.54,-253.52 3022,-235 3097.33,-218.29 3185,-203.11 3241.67,-193.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.57,-197.25 3251.88,-192.19 3241.45,-190.34 3242.57,-197.25"/>
+<path fill="none" stroke="midnightblue" d="M2087.21,-481.45C2125.88,-468.47 2202.26,-443.37 2268,-425 2434.11,-378.58 2477.84,-375.47 2645,-333 2727.65,-312 2932.76,-253.5 3016,-235 3091.32,-218.26 3179,-203.09 3235.67,-193.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3236.57,-197.24 3245.88,-192.18 3235.45,-190.33 3236.57,-197.24"/>
 </g>
 <!-- Node50&#45;&gt;Node8 -->
 <g id="edge106" class="edge">
@@ -1338,14 +1338,14 @@
 <!-- Node50&#45;&gt;Node35 -->
 <g id="edge110" class="edge">
 <title>Node50&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2102.24,-490.31C2250.76,-491.06 2767.58,-490.31 2925,-445 2954.05,-436.64 3357.3,-201.95 3359,-199 3395.49,-135.93 3257.93,-124.92 3192.62,-123.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192.5,-119.7 3182.43,-122.99 3192.35,-126.7 3192.5,-119.7"/>
+<path fill="none" stroke="midnightblue" d="M2102.04,-490.42C2251.01,-491.6 2772.75,-492.18 2931,-445 3035.02,-413.99 3298.92,-293.12 3353,-199 3389.3,-135.82 3251.84,-124.87 3186.59,-123.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.47,-119.68 3176.41,-122.98 3186.33,-126.68 3186.47,-119.68"/>
 </g>
 <!-- Node52&#45;&gt;Node5 -->
 <g id="edge122" class="edge">
 <title>Node52&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1119.48,-716.45C1125.01,-703.48 1136.64,-678.38 1151,-660 1180.19,-622.63 1223.22,-587.23 1248.15,-568.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1250.29,-570.9 1256.16,-562.08 1246.07,-565.32 1250.29,-570.9"/>
+<path fill="none" stroke="midnightblue" d="M1119.45,-716.43C1124.94,-703.43 1136.52,-678.29 1151,-660 1180.84,-622.29 1225.01,-587.01 1250.61,-568.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1252.83,-570.74 1258.84,-562.02 1248.7,-565.09 1252.83,-570.74"/>
 </g>
 <!-- Node52&#45;&gt;Node7 -->
 <g id="edge121" class="edge">
@@ -1356,13 +1356,13 @@
 <!-- Node52&#45;&gt;Node10 -->
 <g id="edge124" class="edge">
 <title>Node52&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1118.36,-716.14C1121.72,-703.61 1128.13,-680 1134,-660 1164.82,-555.06 1162.32,-524.83 1207,-425 1211.28,-415.44 1217.16,-405.38 1222.35,-397.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1225.42,-398.91 1227.97,-388.62 1219.56,-395.07 1225.42,-398.91"/>
+<path fill="none" stroke="midnightblue" d="M1118.34,-716.14C1121.67,-703.6 1128.05,-679.98 1134,-660 1165.3,-554.93 1165.5,-525.63 1209,-425 1213.08,-415.57 1218.54,-405.53 1223.31,-397.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1226.35,-399.08 1228.48,-388.7 1220.34,-395.48 1226.35,-399.08"/>
 </g>
 <!-- Node52&#45;&gt;Node19 -->
 <g id="edge146" class="edge">
 <title>Node52&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1074.29,-721.52C1017.08,-716.08 911.39,-703.64 824,-680 819.71,-678.84 231.52,-447.72 228,-445 189.83,-415.55 90,-298.89 90,-251.5 90,-251.5 90,-251.5 90,-182.5 90,-169.27 63.08,-155.68 185,-112 262.59,-84.2 852.35,-70.61 999.04,-67.63"/>
+<path fill="none" stroke="midnightblue" d="M1074.27,-721.6C1017.03,-716.25 911.31,-703.92 824,-680 659.55,-634.94 626.72,-599.3 468,-537 361.66,-495.26 318.77,-514.36 228,-445 189.83,-415.84 90,-299.59 90,-251.5 90,-251.5 90,-251.5 90,-182.5 90,-169.27 63.08,-155.68 185,-112 262.59,-84.2 852.35,-70.61 999.04,-67.63"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="999.28,-71.13 1009.21,-67.43 999.14,-64.13 999.28,-71.13"/>
 </g>
 <!-- Node52&#45;&gt;Node22 -->
@@ -1374,8 +1374,8 @@
 <!-- Node52&#45;&gt;Node25 -->
 <g id="edge125" class="edge">
 <title>Node52&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1157.66,-724.59C1404.49,-722.1 2670.37,-708.01 2841,-680 3087.31,-639.57 3730.59,-414.81 3856,-199 3862.14,-188.43 3859.38,-124.31 3853,-112 3846.21,-98.89 3833.69,-88.35 3822.12,-80.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.93,-77.78 3813.56,-75.58 3820.29,-83.76 3823.93,-77.78"/>
+<path fill="none" stroke="midnightblue" d="M1157.58,-724.6C1404,-722.14 2667.71,-708.23 2838,-680 3083.65,-639.28 3724.72,-414.18 3850,-199 3856.15,-188.44 3853.39,-124.33 3847,-112 3840.21,-98.89 3827.69,-88.35 3816.12,-80.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3817.93,-77.78 3807.56,-75.58 3814.29,-83.76 3817.93,-77.78"/>
 </g>
 <!-- Node52&#45;&gt;Node31 -->
 <g id="edge119" class="edge">
@@ -1392,14 +1392,14 @@
 <!-- Node52&#45;&gt;Node33 -->
 <g id="edge126" class="edge">
 <title>Node52&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M1157.6,-724.54C1394.03,-721.38 2558,-698.46 2558,-553.5 2558,-553.5 2558,-553.5 2558,-434 2558,-347.07 2283.52,-233.69 2187.61,-196.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2188.7,-193.4 2178.11,-193.09 2186.2,-199.94 2188.7,-193.4"/>
+<path fill="none" stroke="midnightblue" d="M1157.5,-724.57C1394.69,-721.6 2568,-699.53 2568,-553.5 2568,-553.5 2568,-553.5 2568,-434 2568,-345.52 2286.78,-233.17 2188.45,-196.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2189.58,-193.28 2178.99,-193.1 2187.16,-199.85 2189.58,-193.28"/>
 </g>
 <!-- Node52&#45;&gt;Node35 -->
 <g id="edge144" class="edge">
 <title>Node52&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1157.54,-725C1330.24,-724.73 2008.41,-720.98 2564,-680 2688.28,-670.83 3121,-739.62 3121,-615 3121,-615 3121,-615 3121,-551.5 3121,-447.82 3013.63,-478.8 2925,-425 2909.75,-415.74 2654.96,-281.43 2646,-266 2639.08,-254.09 2642.12,-248.22 2646,-235 2655.96,-201.05 2658.79,-186.43 2689,-168 2726.34,-145.22 3027.58,-129.2 3127.74,-124.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3128.04,-127.94 3137.87,-123.98 3127.72,-120.95 3128.04,-127.94"/>
+<path fill="none" stroke="midnightblue" d="M1157.53,-725.08C1330.97,-725.12 2014.35,-722.42 2574,-680 2693.86,-670.91 3111,-735.2 3111,-615 3111,-615 3111,-615 3111,-551.5 3111,-453.72 3013.81,-477 2931,-425 2923.32,-420.18 2650.59,-273.82 2646,-266 2639.02,-254.12 2642.12,-248.22 2646,-235 2655.96,-201.05 2658.8,-186.44 2689,-168 2725.81,-145.51 3022.59,-129.32 3121.82,-124.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3122.03,-127.99 3131.86,-124.01 3121.7,-121 3122.03,-127.99"/>
 </g>
 <!-- Node52&#45;&gt;Node36 -->
 <g id="edge142" class="edge">
@@ -1422,8 +1422,8 @@
 <!-- Node52&#45;&gt;Node53 -->
 <g id="edge127" class="edge">
 <title>Node52&#45;&gt;Node53</title>
-<path fill="none" stroke="midnightblue" d="M1157.84,-722.45C1253.24,-716.47 1494.15,-700.52 1695,-680 1700.2,-679.47 1705.6,-678.87 1711.01,-678.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1711.84,-681.66 1721.35,-677 1711,-674.71 1711.84,-681.66"/>
+<path fill="none" stroke="midnightblue" d="M1157.77,-722.42C1253,-716.39 1493.47,-700.33 1694,-680 1699.56,-679.44 1705.36,-678.8 1711.14,-678.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1711.97,-681.55 1721.48,-676.89 1711.14,-674.6 1711.97,-681.55"/>
 </g>
 <!-- Node54 -->
 <g id="node54" class="node">
@@ -1443,20 +1443,20 @@
 <!-- Node52&#45;&gt;Node55 -->
 <g id="edge145" class="edge">
 <title>Node52&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M1074.24,-723.83C1001.59,-721.01 847.72,-711.52 722,-680 609.11,-651.7 482.77,-592.93 429.23,-566.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="430.61,-563.46 420.1,-562.16 427.51,-569.73 430.61,-563.46"/>
+<path fill="none" stroke="midnightblue" d="M1074.49,-723.99C1001.91,-721.41 847.71,-712.25 722,-680 612.28,-651.85 490.03,-592.97 438.3,-566.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="439.69,-563.46 429.2,-562.01 436.5,-569.69 439.69,-563.46"/>
 </g>
 <!-- Node53&#45;&gt;Node5 -->
 <g id="edge131" class="edge">
 <title>Node53&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1721.16,-661.83C1672.41,-653.77 1592.3,-639.72 1524,-624 1445.62,-605.95 1355.16,-579.76 1305.5,-564.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1306.42,-561.53 1295.83,-562 1304.41,-568.23 1306.42,-561.53"/>
+<path fill="none" stroke="midnightblue" d="M1721.15,-661.87C1672.39,-653.84 1592.27,-639.83 1524,-624 1446.66,-606.07 1357.49,-579.92 1308.36,-565.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1309.09,-561.58 1298.5,-562.02 1307.05,-568.28 1309.09,-561.58"/>
 </g>
 <!-- Node53&#45;&gt;Node6 -->
 <g id="edge129" class="edge">
 <title>Node53&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1810.58,-668.95C1970.64,-667.05 2527.8,-645.57 2925,-445 3000.23,-407.01 3013.74,-387.52 3078,-333 3125.45,-292.74 3126.03,-269.23 3178,-235 3198.66,-221.4 3223.57,-210.33 3245.55,-202.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3246.91,-205.3 3255.1,-198.58 3244.5,-198.72 3246.91,-205.3"/>
+<path fill="none" stroke="midnightblue" d="M1810.56,-669.6C1971.75,-669.94 2535.71,-655.21 2931,-445 3001.66,-407.42 3012.01,-385.97 3072,-333 3118.65,-291.81 3120.03,-269.23 3172,-235 3192.66,-221.4 3217.57,-210.33 3239.55,-202.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3240.91,-205.3 3249.1,-198.58 3238.5,-198.72 3240.91,-205.3"/>
 </g>
 <!-- Node53&#45;&gt;Node7 -->
 <g id="edge130" class="edge">
@@ -1473,14 +1473,14 @@
 <!-- Node53&#45;&gt;Node31 -->
 <g id="edge128" class="edge">
 <title>Node53&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M1782.13,-660.3C1809.01,-645.03 1863.03,-610.93 1894,-568 1945.98,-495.94 1962,-468.85 1962,-380 1962,-380 1962,-380 1962,-316.5 1962,-275.14 1949.12,-227.94 1941.15,-202.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1944.42,-201.45 1937.99,-193.02 1937.77,-203.62 1944.42,-201.45"/>
+<path fill="none" stroke="midnightblue" d="M1783.09,-660.41C1810.85,-645.53 1865.5,-612.27 1894,-568 1971.12,-448.18 1948.36,-262.55 1938.48,-203.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1941.88,-202.47 1936.71,-193.23 1934.99,-203.68 1941.88,-202.47"/>
 </g>
 <!-- Node53&#45;&gt;Node35 -->
 <g id="edge139" class="edge">
 <title>Node53&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1810.84,-667.94C1914.28,-665.04 2177.41,-654.97 2395,-624 2512.46,-607.28 2541.74,-599.92 2656,-568 3008.42,-469.54 3290.89,-550.67 3392,-199 3395.81,-185.76 3400.77,-178.63 3392,-168 3367.06,-137.75 3250.07,-127.59 3192.36,-124.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192.48,-120.88 3182.31,-123.86 3192.11,-127.87 3192.48,-120.88"/>
+<path fill="none" stroke="midnightblue" d="M1810.8,-668.27C1917.97,-666.02 2197.39,-657.17 2428,-624 2541.99,-607.6 2570.35,-599.93 2681,-568 3021.55,-469.73 3295.66,-541.2 3388,-199 3391.59,-185.7 3396.77,-178.62 3388,-168 3362.76,-137.45 3244.25,-127.42 3186.2,-124.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.27,-120.81 3176.11,-123.81 3185.92,-127.8 3186.27,-120.81"/>
 </g>
 <!-- Node53&#45;&gt;Node54 -->
 <g id="edge133" class="edge">
@@ -1491,14 +1491,14 @@
 <!-- Node54&#45;&gt;Node5 -->
 <g id="edge134" class="edge">
 <title>Node54&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1292.85,-604.48C1288.62,-595.82 1281.96,-582.15 1276.6,-571.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1279.67,-569.46 1272.15,-562.01 1273.38,-572.53 1279.67,-569.46"/>
+<path fill="none" stroke="midnightblue" d="M1293.27,-604.48C1289.53,-595.9 1283.64,-582.43 1278.86,-571.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1281.93,-569.77 1274.72,-562.01 1275.52,-572.57 1281.93,-569.77"/>
 </g>
 <!-- Node54&#45;&gt;Node10 -->
 <g id="edge135" class="edge">
 <title>Node54&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M1268.63,-604.49C1251.25,-597.65 1230.4,-586.13 1220,-568 1188.41,-512.95 1212.72,-433.41 1226.36,-398.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1229.68,-399.2 1230.18,-388.62 1223.19,-396.58 1229.68,-399.2"/>
+<path fill="none" stroke="midnightblue" d="M1270.07,-604.36C1253.28,-597.41 1233.02,-585.82 1223,-568 1191.92,-512.73 1214.25,-433.31 1226.89,-398.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1230.2,-399.19 1230.44,-388.6 1223.65,-396.73 1230.2,-399.19"/>
 </g>
 <!-- Node54&#45;&gt;Node33 -->
 <g id="edge136" class="edge">
@@ -1509,8 +1509,8 @@
 <!-- Node54&#45;&gt;Node35 -->
 <g id="edge138" class="edge">
 <title>Node54&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1335.67,-611.94C1459.28,-608.29 1843.75,-595.03 1965,-568 2045.07,-550.15 2063.89,-538.22 2137,-501 2198.06,-469.91 2591.18,-190.19 2656,-168 2743.92,-137.91 3030.75,-126.82 3127.67,-123.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3127.86,-127.37 3137.75,-123.58 3127.65,-120.38 3127.86,-127.37"/>
+<path fill="none" stroke="midnightblue" d="M1335.67,-611.94C1459.28,-608.29 1843.75,-595.03 1965,-568 2045.07,-550.15 2063.89,-538.22 2137,-501 2198.06,-469.91 2591.19,-190.22 2656,-168 2742.77,-138.25 3025.64,-126.95 3121.73,-123.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3121.84,-127.41 3131.72,-123.61 3121.62,-120.42 3121.84,-127.41"/>
 </g>
 <!-- Node54&#45;&gt;Node47 -->
 <g id="edge137" class="edge">
@@ -1548,38 +1548,38 @@
 <!-- Node59&#45;&gt;Node6 -->
 <g id="edge171" class="edge">
 <title>Node59&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1031.65,-892.13C1362.34,-885.71 3378,-844.06 3378,-783 3378,-783 3378,-783 3378,-434 3378,-347.36 3335.09,-251.03 3313.33,-207.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3316.34,-205.95 3308.66,-198.65 3310.11,-209.14 3316.34,-205.95"/>
+<path fill="none" stroke="midnightblue" d="M1033.76,-892.12C1364.15,-885.66 3372,-843.84 3372,-783 3372,-783 3372,-783 3372,-434 3372,-347.36 3329.09,-251.03 3307.33,-207.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3310.34,-205.95 3302.66,-198.65 3304.11,-209.14 3310.34,-205.95"/>
 </g>
 <!-- Node59&#45;&gt;Node19 -->
 <g id="edge220" class="edge">
 <title>Node59&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M940.37,-892.16C776.81,-888.92 225.75,-876.02 152,-848 71.28,-817.33 0,-813.35 0,-727 0,-727 0,-727 0,-182.5 0,-142.76 19.7,-130.25 55,-112 97.85,-89.85 834.57,-71.56 999.44,-67.74"/>
+<path fill="none" stroke="midnightblue" d="M942.26,-892.16C778.31,-888.94 225.92,-876.08 152,-848 71.28,-817.34 0,-813.35 0,-727 0,-727 0,-727 0,-182.5 0,-142.76 19.7,-130.25 55,-112 97.85,-89.85 834.57,-71.56 999.44,-67.74"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="999.55,-71.24 1009.46,-67.51 999.39,-64.24 999.55,-71.24"/>
 </g>
 <!-- Node59&#45;&gt;Node28 -->
 <g id="edge219" class="edge">
 <title>Node59&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M940.28,-891.89C782.81,-887.85 268.72,-872.89 199,-848 87.99,-808.36 78.63,-739.87 57,-624 55.37,-615.26 54.85,-612.63 57,-604 70.79,-548.59 276.71,-180.16 295,-168 353.09,-129.38 533.02,-142.29 618.17,-131.97"/>
+<path fill="none" stroke="midnightblue" d="M942.44,-891.9C784.89,-887.89 268.94,-872.97 199,-848 87.99,-808.37 78.63,-739.87 57,-624 55.37,-615.26 54.85,-612.63 57,-604 70.79,-548.59 276.71,-180.16 295,-168 353.09,-129.38 533.02,-142.29 618.17,-131.97"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="618.9,-135.41 628.32,-130.56 617.93,-128.47 618.9,-135.41"/>
 </g>
 <!-- Node59&#45;&gt;Node29 -->
 <g id="edge221" class="edge">
 <title>Node59&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M940.23,-889.57C837.8,-880.83 595.28,-853.9 547,-792 460.21,-680.72 559.86,-262.13 665,-168 703,-133.98 1061.87,-125.35 1175.01,-123.47"/>
+<path fill="none" stroke="midnightblue" d="M942.4,-889.64C839.72,-881.01 595.55,-854.24 547,-792 460.21,-680.72 559.86,-262.13 665,-168 703,-133.98 1061.87,-125.35 1175.01,-123.47"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1175.23,-126.97 1185.17,-123.31 1175.12,-119.97 1175.23,-126.97"/>
 </g>
 <!-- Node59&#45;&gt;Node35 -->
 <g id="edge218" class="edge">
 <title>Node59&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1031.62,-892.55C1354.82,-889.18 3288.65,-865.99 3386,-792 3430.87,-757.89 3568,-374.86 3568,-318.5 3568,-318.5 3568,-318.5 3568,-249.5 3568,-205.8 3550.4,-190.6 3513,-168 3453.18,-131.85 3273.76,-146.28 3192.2,-132.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192.77,-129.28 3182.29,-130.84 3191.46,-136.15 3192.77,-129.28"/>
+<path fill="none" stroke="midnightblue" d="M1033.73,-892.54C1356.62,-889.13 3283.01,-865.74 3380,-792 3424.87,-757.89 3562,-374.86 3562,-318.5 3562,-318.5 3562,-318.5 3562,-249.5 3562,-205.8 3544.4,-190.6 3507,-168 3447.18,-131.85 3267.76,-146.28 3186.2,-132.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.77,-129.28 3176.29,-130.84 3185.46,-136.15 3186.77,-129.28"/>
 </g>
 <!-- Node59&#45;&gt;Node52 -->
 <g id="edge172" class="edge">
 <title>Node59&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M984.7,-884.26C981.98,-862.64 978.04,-805.98 1005,-772 1019.63,-753.56 1043.01,-742.63 1064.56,-736.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1065.56,-739.53 1074.29,-733.51 1063.72,-732.78 1065.56,-739.53"/>
+<path fill="none" stroke="midnightblue" d="M986.71,-884.27C984.03,-862.68 980.15,-806.07 1007,-772 1021.17,-754.02 1043.75,-743.17 1064.69,-736.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1065.82,-739.96 1074.48,-733.85 1063.9,-733.22 1065.82,-739.96"/>
 </g>
 <!-- Node60 -->
 <g id="node60" class="node">
@@ -1593,14 +1593,14 @@
 <!-- Node59&#45;&gt;Node60 -->
 <g id="edge160" class="edge">
 <title>Node59&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M961.44,-884.44C935.48,-875.4 894.33,-861.06 865.2,-850.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="866.04,-847.5 855.45,-847.52 863.74,-854.11 866.04,-847.5"/>
+<path fill="none" stroke="midnightblue" d="M963.12,-884.44C936.71,-875.36 894.78,-860.94 865.26,-850.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="866.36,-847.46 855.76,-847.52 864.08,-854.08 866.36,-847.46"/>
 </g>
 <!-- Node59&#45;&gt;Node62 -->
 <g id="edge173" class="edge">
 <title>Node59&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M1018.48,-884.44C1053.72,-875.16 1110.1,-860.31 1148.76,-850.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1149.89,-853.45 1158.67,-847.52 1148.11,-846.68 1149.89,-853.45"/>
+<path fill="none" stroke="midnightblue" d="M1020.48,-884.44C1055.72,-875.16 1112.1,-860.31 1150.76,-850.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1151.89,-853.45 1160.67,-847.52 1150.11,-846.68 1151.89,-853.45"/>
 </g>
 <!-- Node60&#45;&gt;Node4 -->
 <g id="edge161" class="edge">
@@ -1611,122 +1611,122 @@
 <!-- Node60&#45;&gt;Node5 -->
 <g id="edge162" class="edge">
 <title>Node60&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M842.37,-828.37C859.15,-815.72 891.62,-791.51 920,-772 1033.38,-694.06 1062.52,-675.6 1180,-604 1201.19,-591.08 1225.72,-577.09 1243.48,-567.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1245.58,-569.95 1252.6,-562.02 1242.16,-563.84 1245.58,-569.95"/>
+<path fill="none" stroke="midnightblue" d="M842.67,-828.42C859.87,-815.83 893.13,-791.7 922,-772 1035.03,-694.88 1062.77,-674.58 1180,-604 1201.88,-590.83 1227.34,-576.8 1245.76,-566.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1247.53,-569.91 1254.69,-562.1 1244.23,-563.74 1247.53,-569.91"/>
 </g>
 <!-- Node60&#45;&gt;Node52 -->
 <g id="edge163" class="edge">
 <title>Node60&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M847.63,-828.48C873.69,-815.32 925.96,-789.72 972,-772 1006.11,-758.87 1045.82,-746.68 1074.89,-738.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1076.05,-741.62 1084.7,-735.52 1074.13,-734.89 1076.05,-741.62"/>
+<path fill="none" stroke="midnightblue" d="M848.32,-828.31C874.94,-815.14 927.67,-789.8 974,-772 1007.8,-759.02 1047.09,-746.78 1075.77,-738.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1076.82,-741.69 1085.44,-735.53 1074.86,-734.97 1076.82,-741.69"/>
 </g>
 <!-- Node60&#45;&gt;Node55 -->
 <g id="edge170" class="edge">
 <title>Node60&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M778.84,-833.96C707.45,-828.94 583.96,-816.88 547,-792 465.07,-736.86 422.23,-617.98 408.24,-572.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="411.55,-570.91 405.37,-562.31 404.83,-572.89 411.55,-570.91"/>
+<path fill="none" stroke="midnightblue" d="M778.73,-834.12C707.22,-829.29 583.57,-817.45 547,-792 467.41,-736.61 429.54,-617.87 417.47,-572.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="420.84,-571.13 415,-562.29 414.06,-572.85 420.84,-571.13"/>
 </g>
 <!-- Node61 -->
 <g id="node61" class="node">
 <title>Node61</title>
 <g id="a_node61"><a xlink:href="stmt_8h.html" target="_top" xlink:title="TIR statements.">
-<polygon fill="white" stroke="black" points="1014,-772.5 1014,-791.5 1098,-791.5 1098,-772.5 1014,-772.5"/>
-<text text-anchor="middle" x="1056" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/stmt.h</text>
+<polygon fill="white" stroke="black" points="1016,-772.5 1016,-791.5 1100,-791.5 1100,-772.5 1016,-772.5"/>
+<text text-anchor="middle" x="1058" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/stmt.h</text>
 </a>
 </g>
 </g>
 <!-- Node60&#45;&gt;Node61 -->
 <g id="edge164" class="edge">
 <title>Node60&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M866.65,-828.44C905.66,-819.08 968.27,-804.06 1010.72,-793.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1011.61,-797.25 1020.51,-791.52 1009.97,-790.45 1011.61,-797.25"/>
+<path fill="none" stroke="midnightblue" d="M866.97,-828.44C906.32,-819.08 969.49,-804.06 1012.31,-793.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1013.28,-797.24 1022.2,-791.52 1011.66,-790.43 1013.28,-797.24"/>
 </g>
 <!-- Node61&#45;&gt;Node6 -->
 <g id="edge165" class="edge">
 <title>Node61&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1098.08,-779.03C1398.92,-764.93 3211,-680 3211,-680 3304.5,-611.78 3302,-551.74 3302,-436 3302,-436 3302,-436 3302,-316.5 3302,-279 3301.59,-235.51 3301.3,-209.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3304.79,-208.72 3301.18,-198.76 3297.79,-208.8 3304.79,-208.72"/>
+<path fill="none" stroke="midnightblue" d="M1100.33,-779.01C1400.92,-764.84 3201,-680 3201,-680 3295.49,-612.07 3296,-552.37 3296,-436 3296,-436 3296,-436 3296,-316.5 3296,-279 3295.59,-235.51 3295.3,-209.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3298.79,-208.72 3295.18,-198.76 3291.79,-208.8 3298.79,-208.72"/>
 </g>
 <!-- Node61&#45;&gt;Node19 -->
 <g id="edge169" class="edge">
 <title>Node61&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1032.37,-772.49C994.79,-758.05 920.59,-725.82 871,-680 761.42,-578.74 412.16,-221.96 513,-112 545.91,-76.12 890.65,-68.76 999.36,-67.33"/>
+<path fill="none" stroke="midnightblue" d="M1033.8,-772.43C995.71,-758.03 920.97,-725.96 871,-680 761.19,-578.99 412.16,-221.96 513,-112 545.91,-76.12 890.65,-68.76 999.36,-67.33"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="999.45,-70.83 1009.41,-67.21 999.37,-63.83 999.45,-70.83"/>
 </g>
 <!-- Node61&#45;&gt;Node28 -->
 <g id="edge168" class="edge">
 <title>Node61&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M1013.64,-777.2C968.27,-772.04 894.86,-760.47 836,-736 617.44,-645.14 574.64,-577.89 432,-389 370.64,-307.75 333.74,-296.38 304,-199 299.98,-185.82 294.83,-178.28 304,-168 349.18,-117.38 534.52,-141.14 618.37,-131.89"/>
+<path fill="none" stroke="midnightblue" d="M1015.68,-777.31C969.93,-772.22 895.58,-760.7 836,-736 617.36,-645.34 574.64,-577.89 432,-389 370.64,-307.75 333.74,-296.38 304,-199 299.98,-185.82 294.83,-178.28 304,-168 349.18,-117.38 534.52,-141.14 618.37,-131.89"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="618.87,-135.35 628.32,-130.55 617.94,-128.41 618.87,-135.35"/>
 </g>
 <!-- Node61&#45;&gt;Node35 -->
 <g id="edge167" class="edge">
 <title>Node61&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1098.16,-778.91C1137.26,-777 1197.05,-774.15 1249,-772 1469.83,-762.86 3036.44,-774.99 3236,-680 3350.77,-625.37 3581.58,-257.17 3491,-168 3444.7,-122.42 3270.1,-144.6 3192.57,-132.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192.77,-129.21 3182.3,-130.82 3191.49,-136.09 3192.77,-129.21"/>
+<path fill="none" stroke="midnightblue" d="M1100.1,-778.89C1138.8,-776.97 1197.76,-774.14 1249,-772 1468.71,-762.83 3027.46,-774.54 3226,-680 3341.12,-625.18 3575.86,-257.45 3485,-168 3438.7,-122.42 3264.1,-144.6 3186.57,-132.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.77,-129.21 3176.3,-130.82 3185.49,-136.09 3186.77,-129.21"/>
 </g>
 <!-- Node61&#45;&gt;Node52 -->
 <g id="edge166" class="edge">
 <title>Node61&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M1065.64,-772.32C1074.51,-764.34 1087.87,-752.31 1098.61,-742.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1101.09,-745.13 1106.18,-735.83 1096.41,-739.92 1101.09,-745.13"/>
+<path fill="none" stroke="midnightblue" d="M1067.32,-772.32C1075.89,-764.34 1088.81,-752.31 1099.19,-742.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1101.58,-745.21 1106.51,-735.83 1096.81,-740.09 1101.58,-745.21"/>
 </g>
 <!-- Node62&#45;&gt;Node5 -->
 <g id="edge174" class="edge">
 <title>Node62&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1196.42,-828.25C1207.14,-810.1 1230,-766.71 1230,-727 1230,-727 1230,-727 1230,-669 1230,-632.75 1247.09,-593.17 1258.35,-571.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1261.46,-572.64 1263.03,-562.16 1255.27,-569.37 1261.46,-572.64"/>
+<path fill="none" stroke="midnightblue" d="M1197.99,-828.49C1208.09,-810.44 1230,-766.69 1230,-727 1230,-727 1230,-727 1230,-669 1230,-632.47 1248.44,-592.98 1260.59,-570.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1263.71,-572.53 1265.64,-562.11 1257.64,-569.05 1263.71,-572.53"/>
 </g>
 <!-- Node62&#45;&gt;Node28 -->
 <g id="edge217" class="edge">
 <title>Node62&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M1153.64,-834.22C1099.87,-829.49 998,-817.74 915,-792 730.67,-734.83 671.24,-712.22 543,-568 434.65,-446.15 332.71,-388.04 389,-235 402.5,-198.31 412.37,-187.93 446,-168 511.15,-129.39 540.26,-146.52 618.02,-132.28"/>
+<path fill="none" stroke="midnightblue" d="M1155.97,-834.24C1102.14,-829.51 999.58,-817.75 916,-792 731.2,-735.07 671.5,-712.51 543,-568 434.65,-446.15 332.71,-388.04 389,-235 402.5,-198.31 412.37,-187.93 446,-168 511.15,-129.39 540.26,-146.52 618.02,-132.28"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="619.13,-135.63 628.27,-130.28 617.78,-128.76 619.13,-135.63"/>
 </g>
 <!-- Node62&#45;&gt;Node48 -->
 <g id="edge216" class="edge">
 <title>Node62&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M1153.94,-831.48C1087.3,-820.48 944.13,-791.95 836,-736 620.31,-624.4 583.48,-546.09 467,-333 455.61,-312.16 445.24,-286.85 438.8,-270.02"/>
+<path fill="none" stroke="midnightblue" d="M1155.74,-831.5C1088.75,-820.54 944.79,-792.05 836,-736 620.12,-624.77 583.48,-546.09 467,-333 455.61,-312.16 445.24,-286.85 438.8,-270.02"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="441.95,-268.45 435.16,-260.32 435.39,-270.91 441.95,-268.45"/>
 </g>
 <!-- Node62&#45;&gt;Node50 -->
 <g id="edge209" class="edge">
 <title>Node62&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M1228.05,-836.02C1388.58,-831.29 2016,-807.65 2016,-727 2016,-727 2016,-727 2016,-613 2016,-573.87 2037.28,-531.99 2050.89,-509.21"/>
+<path fill="none" stroke="midnightblue" d="M1230.23,-836C1390.8,-831.21 2016,-807.41 2016,-727 2016,-727 2016,-727 2016,-613 2016,-573.87 2037.28,-531.99 2050.89,-509.21"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2053.89,-511.02 2056.17,-500.67 2047.94,-507.33 2053.89,-511.02"/>
 </g>
 <!-- Node62&#45;&gt;Node51 -->
 <g id="edge215" class="edge">
 <title>Node62&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M1228.28,-836.82C1265.97,-834.63 1323.55,-825.48 1359,-792 1442.22,-713.4 1455.55,-563.55 1457.63,-510.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1461.14,-510.77 1457.94,-500.67 1454.14,-510.56 1461.14,-510.77"/>
+<path fill="none" stroke="midnightblue" d="M1230.2,-836.67C1267.44,-834.34 1324.1,-825.06 1359,-792 1442.1,-713.27 1455.5,-563.51 1457.62,-510.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1461.13,-510.76 1457.93,-500.66 1454.13,-510.55 1461.13,-510.76"/>
 </g>
 <!-- Node62&#45;&gt;Node52 -->
 <g id="edge213" class="edge">
 <title>Node62&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M1185.11,-828.37C1172.74,-810.22 1143.82,-767.8 1127.58,-743.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1130.38,-741.88 1121.86,-735.59 1124.6,-745.83 1130.38,-741.88"/>
+<path fill="none" stroke="midnightblue" d="M1186.96,-828.37C1174.25,-810.22 1144.56,-767.8 1127.89,-743.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1130.62,-741.78 1122.01,-735.59 1124.88,-745.79 1130.62,-741.78"/>
 </g>
 <!-- Node62&#45;&gt;Node61 -->
 <g id="edge214" class="edge">
 <title>Node62&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M1169.61,-828.44C1147.29,-819.52 1112.1,-805.44 1086.79,-795.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1087.88,-791.98 1077.29,-791.52 1085.28,-798.48 1087.88,-791.98"/>
+<path fill="none" stroke="midnightblue" d="M1171.61,-828.44C1149.29,-819.52 1114.1,-805.44 1088.79,-795.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1089.88,-791.98 1079.29,-791.52 1087.28,-798.48 1089.88,-791.98"/>
 </g>
 <!-- Node63 -->
 <g id="node63" class="node">
 <title>Node63</title>
 <g id="a_node63"><a xlink:href="ir_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics) and registry for them.">
-<polygon fill="white" stroke="black" points="2485,-660.5 2485,-679.5 2555,-679.5 2555,-660.5 2485,-660.5"/>
-<text text-anchor="middle" x="2520" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/op.h</text>
+<polygon fill="white" stroke="black" points="2495,-660.5 2495,-679.5 2565,-679.5 2565,-660.5 2495,-660.5"/>
+<text text-anchor="middle" x="2530" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node62&#45;&gt;Node63 -->
 <g id="edge175" class="edge">
 <title>Node62&#45;&gt;Node63</title>
-<path fill="none" stroke="midnightblue" d="M1228.05,-837.49C1345.94,-838.53 1722.69,-837.77 2030,-792 2202.25,-766.35 2402.39,-707.59 2483.29,-682.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2484.49,-685.89 2493,-679.58 2482.41,-679.21 2484.49,-685.89"/>
+<path fill="none" stroke="midnightblue" d="M1230.37,-837.43C1348.42,-838.25 1723.68,-836.91 2030,-792 2205.81,-766.22 2410.34,-707.43 2492.77,-682.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2493.88,-685.83 2502.43,-679.57 2491.85,-679.13 2493.88,-685.83"/>
 </g>
 <!-- Node68 -->
 <g id="node68" class="node">
@@ -1740,56 +1740,56 @@
 <!-- Node62&#45;&gt;Node68 -->
 <g id="edge210" class="edge">
 <title>Node62&#45;&gt;Node68</title>
-<path fill="none" stroke="midnightblue" d="M1208.91,-828.44C1227.25,-819.68 1256.01,-805.94 1277.09,-795.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1278.67,-798.99 1286.18,-791.52 1275.65,-792.67 1278.67,-798.99"/>
+<path fill="none" stroke="midnightblue" d="M1210.83,-828.32C1228.72,-819.62 1256.48,-806.12 1277.05,-796.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1278.75,-799.18 1286.21,-791.65 1275.69,-792.88 1278.75,-799.18"/>
 </g>
 <!-- Node63&#45;&gt;Node5 -->
 <g id="edge199" class="edge">
 <title>Node63&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2484.85,-667.04C2388.71,-661.57 2113.35,-645.13 1885,-624 1673.57,-604.44 1422.29,-573.25 1317.6,-559.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1318,-556.42 1307.64,-558.63 1317.12,-563.37 1318,-556.42"/>
+<path fill="none" stroke="midnightblue" d="M2494.98,-667.06C2398.55,-661.62 2121.07,-645.17 1891,-624 1678.55,-604.45 1426.04,-573.26 1320.84,-559.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1321.19,-556.42 1310.83,-558.63 1320.31,-563.36 1321.19,-556.42"/>
 </g>
 <!-- Node63&#45;&gt;Node6 -->
 <g id="edge177" class="edge">
 <title>Node63&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2555.07,-665.01C2650.73,-653.58 2913.62,-618.25 2983,-568 3128.48,-462.65 3079.63,-356.41 3212,-235 3225.79,-222.35 3243.3,-211.56 3259.13,-203.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3260.88,-206.28 3268.22,-198.64 3257.72,-200.04 3260.88,-206.28"/>
+<path fill="none" stroke="midnightblue" d="M2565.27,-664.66C2658.26,-652.66 2907.43,-616.65 2973,-568 3118.06,-460.36 3072.39,-356.56 3206,-235 3219.84,-222.41 3237.36,-211.63 3253.18,-203.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3254.94,-206.34 3262.27,-198.69 3251.77,-200.1 3254.94,-206.34"/>
 </g>
 <!-- Node63&#45;&gt;Node9 -->
 <g id="edge176" class="edge">
 <title>Node63&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2555.04,-664.45C2611.42,-654.94 2716,-627.36 2716,-553.5 2716,-553.5 2716,-553.5 2716,-490 2716,-455.52 2698.09,-418.56 2685.94,-397.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2688.84,-395.49 2680.7,-388.71 2682.84,-399.09 2688.84,-395.49"/>
+<path fill="none" stroke="midnightblue" d="M2565.04,-664.45C2621.42,-654.94 2726,-627.36 2726,-553.5 2726,-553.5 2726,-553.5 2726,-490 2726,-455.52 2708.09,-418.56 2695.94,-397.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2698.84,-395.49 2690.7,-388.71 2692.84,-399.09 2698.84,-395.49"/>
 </g>
 <!-- Node63&#45;&gt;Node19 -->
 <g id="edge207" class="edge">
 <title>Node63&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2555.22,-666.87C2625.47,-662.23 2787.81,-649.51 2922,-624 3235.35,-564.44 3340.58,-511.68 3544,-266 3573.79,-230.02 3612.6,-203.3 3582,-168 3467,-35.36 3365.97,-126.3 3191,-112 2970.32,-93.96 1318.48,-70.9 1064.69,-67.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1064.67,-63.94 1054.62,-67.3 1064.57,-70.94 1064.67,-63.94"/>
+<path fill="none" stroke="midnightblue" d="M2565.21,-666.63C2633.14,-661.68 2786.81,-648.6 2914,-624 3227.92,-563.29 3333.8,-512.03 3538,-266 3567.84,-230.05 3606.6,-203.3 3576,-168 3461,-35.36 3359.97,-126.3 3185,-112 2747.37,-76.22 1300.26,-68.21 1064.58,-67.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1064.59,-63.64 1054.58,-67.09 1064.56,-70.64 1064.59,-63.64"/>
 </g>
 <!-- Node63&#45;&gt;Node23 -->
 <g id="edge205" class="edge">
 <title>Node63&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2555.03,-667.38C2620.31,-662.29 2754,-641.16 2754,-553.5 2754,-553.5 2754,-553.5 2754,-434 2754,-403.9 2754.96,-391.53 2735,-369 2708.06,-338.6 2685,-355.23 2651,-333 2560.99,-274.15 2473.73,-177.64 2440.79,-139.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2443.42,-137.06 2434.27,-131.73 2438.1,-141.61 2443.42,-137.06"/>
+<path fill="none" stroke="midnightblue" d="M2565.03,-667.38C2630.31,-662.29 2764,-641.16 2764,-553.5 2764,-553.5 2764,-553.5 2764,-434 2764,-403.9 2764.96,-391.53 2745,-369 2718.06,-338.6 2695.54,-354.37 2661,-333 2621.85,-308.77 2616.48,-296.5 2582,-266 2530.59,-220.52 2471.34,-164.95 2443.31,-138.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2445.63,-135.85 2435.96,-131.52 2440.82,-140.93 2445.63,-135.85"/>
 </g>
 <!-- Node63&#45;&gt;Node29 -->
 <g id="edge208" class="edge">
 <title>Node63&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2484.83,-667.95C2419.26,-665.26 2274.35,-655.9 2157,-624 1963.76,-571.46 1502.88,-367.07 1330,-266 1287.26,-241.01 1271.43,-238.05 1241,-199 1227.56,-181.75 1218.76,-158.03 1213.86,-141.7"/>
+<path fill="none" stroke="midnightblue" d="M2494.91,-668.11C2428.04,-665.69 2278.22,-656.74 2157,-624 1963.67,-571.78 1502.88,-367.07 1330,-266 1287.26,-241.01 1271.43,-238.05 1241,-199 1227.56,-181.75 1218.76,-158.03 1213.86,-141.7"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1217.14,-140.43 1211.07,-131.74 1210.4,-142.32 1217.14,-140.43"/>
 </g>
 <!-- Node63&#45;&gt;Node35 -->
 <g id="edge206" class="edge">
 <title>Node63&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2555.3,-667.27C2619.03,-663.53 2757.17,-652.6 2870,-624 3141.89,-555.09 3231.6,-531.27 3430,-333 3483.23,-279.81 3517.22,-224.93 3468,-168 3432.62,-127.07 3264.18,-122.64 3192.45,-122.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192.19,-119.15 3182.2,-122.68 3192.22,-126.15 3192.19,-119.15"/>
+<path fill="none" stroke="midnightblue" d="M2565.43,-666.98C2626.72,-662.87 2756.16,-651.48 2862,-624 3134.25,-553.33 3224.63,-531.42 3424,-333 3477.34,-279.92 3511.22,-224.93 3462,-168 3426.62,-127.07 3258.18,-122.64 3186.45,-122.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.19,-119.15 3176.2,-122.68 3186.22,-126.15 3186.19,-119.15"/>
 </g>
 <!-- Node63&#45;&gt;Node50 -->
 <g id="edge200" class="edge">
 <title>Node63&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M2516.7,-660.33C2506.96,-636.03 2475.76,-567.09 2425,-537 2373.23,-506.31 2199.12,-496.4 2112.22,-493.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2112.18,-489.81 2102.07,-492.98 2111.94,-496.81 2112.18,-489.81"/>
+<path fill="none" stroke="midnightblue" d="M2526.71,-660.32C2516.98,-636 2485.81,-567.01 2435,-537 2381.52,-505.41 2201.16,-495.92 2112.31,-493.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2112.3,-489.62 2102.2,-492.83 2112.09,-496.62 2112.3,-489.62"/>
 </g>
 <!-- Node64 -->
 <g id="node64" class="node">
@@ -1803,23 +1803,23 @@
 <!-- Node63&#45;&gt;Node64 -->
 <g id="edge178" class="edge">
 <title>Node63&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M2484.89,-662.96C2429.07,-653.36 2319.85,-634.58 2255.91,-623.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2256.5,-620.13 2246.05,-621.89 2255.31,-627.03 2256.5,-620.13"/>
+<path fill="none" stroke="midnightblue" d="M2494.71,-663.12C2437.03,-653.5 2322.37,-634.4 2256.23,-623.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2256.48,-619.87 2246.04,-621.67 2255.33,-626.77 2256.48,-619.87"/>
 </g>
 <!-- Node66 -->
 <g id="node66" class="node">
 <title>Node66</title>
 <g id="a_node66"><a xlink:href="env__func_8h.html" target="_top" xlink:title="Serializable global function used in IR.">
-<polygon fill="white" stroke="black" points="2814,-425.5 2814,-444.5 2916,-444.5 2916,-425.5 2814,-425.5"/>
-<text text-anchor="middle" x="2865" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/env_func.h</text>
+<polygon fill="white" stroke="black" points="2820,-425.5 2820,-444.5 2922,-444.5 2922,-425.5 2820,-425.5"/>
+<text text-anchor="middle" x="2871" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/env_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node63&#45;&gt;Node66 -->
 <g id="edge193" class="edge">
 <title>Node63&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M2555.24,-666.42C2615.42,-661.4 2734.76,-648.59 2768,-624 2826.04,-581.06 2852.14,-493.2 2861.13,-454.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2864.57,-455.4 2863.31,-444.88 2857.73,-453.89 2864.57,-455.4"/>
+<path fill="none" stroke="midnightblue" d="M2565.28,-666.48C2625.53,-661.55 2744.97,-648.88 2778,-624 2835.19,-580.94 2859.39,-493.14 2867.54,-454.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2870.98,-455.36 2869.5,-444.87 2864.11,-453.99 2870.98,-455.36"/>
 </g>
 <!-- Node67 -->
 <g id="node67" class="node">
@@ -1834,26 +1834,26 @@
 <!-- Node63&#45;&gt;Node67 -->
 <g id="edge201" class="edge">
 <title>Node63&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M2519.3,-660.22C2518.03,-647.37 2514.6,-622.92 2506,-604 2490.62,-570.17 2484.9,-560.35 2456,-537 2359.5,-459.01 2006.72,-318.6 1879.3,-269.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1880.4,-265.91 1869.81,-265.57 1877.87,-272.44 1880.4,-265.91"/>
+<path fill="none" stroke="midnightblue" d="M2529.3,-660.22C2528.03,-647.37 2524.6,-622.92 2516,-604 2500.62,-570.17 2494.97,-560.27 2466,-537 2367.98,-458.27 2009.52,-318.32 1880.05,-269.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1880.99,-265.78 1870.4,-265.51 1878.51,-272.33 1880.99,-265.78"/>
 </g>
 <!-- Node64&#45;&gt;Node5 -->
 <g id="edge184" class="edge">
 <title>Node64&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2166,-610.46C2015.61,-600.92 1484.3,-567.22 1318.09,-556.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1317.87,-553.16 1307.67,-556.02 1317.43,-560.14 1317.87,-553.16"/>
+<path fill="none" stroke="midnightblue" d="M2165.82,-610.44C2015.5,-600.88 1486.39,-567.21 1320.87,-556.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1320.71,-553.16 1310.5,-556.01 1320.26,-560.14 1320.71,-553.16"/>
 </g>
 <!-- Node64&#45;&gt;Node6 -->
 <g id="edge183" class="edge">
 <title>Node64&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2246.01,-611.85C2291.89,-608.98 2368.08,-599.41 2425,-568 2532.33,-508.77 2508.48,-427.89 2616,-369 2687.94,-329.6 2717.28,-352.31 2797,-333 2902.14,-307.54 2929.61,-303.71 3031,-266 3061.75,-254.56 3067.05,-245.9 3098,-235 3145.47,-218.28 3201.03,-204.87 3242.01,-196.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.78,-199.49 3251.84,-194 3241.33,-192.64 3242.78,-199.49"/>
+<path fill="none" stroke="midnightblue" d="M2246.12,-612.34C2293.88,-609.98 2374.73,-600.92 2435,-568 2542.59,-509.23 2518.64,-428.19 2626,-369 2695.92,-330.45 2724.57,-352.46 2802,-333 2902.78,-307.67 2928.93,-303.08 3026,-266 3056.27,-254.44 3061.46,-245.85 3092,-235 3139.42,-218.15 3194.98,-204.74 3235.98,-195.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3236.75,-199.41 3245.81,-193.92 3235.31,-192.56 3236.75,-199.41"/>
 </g>
 <!-- Node64&#45;&gt;Node9 -->
 <g id="edge181" class="edge">
 <title>Node64&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2246.15,-609.97C2315.24,-604.25 2453.28,-590.35 2496,-568 2575.55,-526.39 2639.68,-435.71 2664.22,-397.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2667.47,-398.93 2669.84,-388.6 2661.54,-395.2 2667.47,-398.93"/>
+<path fill="none" stroke="midnightblue" d="M2246.13,-610.21C2317.1,-604.76 2461.49,-591.14 2506,-568 2585.65,-526.59 2649.73,-435.8 2674.24,-397.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2677.49,-398.95 2679.84,-388.62 2671.56,-395.23 2677.49,-398.95"/>
 </g>
 <!-- Node64&#45;&gt;Node19 -->
 <g id="edge191" class="edge">
@@ -1882,8 +1882,8 @@
 <!-- Node64&#45;&gt;Node35 -->
 <g id="edge188" class="edge">
 <title>Node64&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2246.22,-609.32C2308.08,-603.24 2430.14,-589.59 2532,-568 2732.25,-525.57 3284.13,-381.92 3376,-199 3411.56,-128.19 3260.78,-121.57 3192.29,-122.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3192,-118.62 3182.05,-122.25 3192.09,-125.62 3192,-118.62"/>
+<path fill="none" stroke="midnightblue" d="M2246.15,-609.53C2309.49,-603.63 2436.28,-590.08 2542,-568 2799.85,-514.15 2866.82,-497.17 3107,-389 3206.32,-344.27 3240.58,-341.6 3319,-266 3354.2,-232.06 3399.83,-205.95 3369,-168 3346.34,-140.11 3240.55,-128.9 3186.29,-124.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3186.38,-121.42 3176.16,-124.22 3185.9,-128.4 3186.38,-121.42"/>
 </g>
 <!-- Node64&#45;&gt;Node37 -->
 <g id="edge185" class="edge">
@@ -1906,60 +1906,60 @@
 <!-- Node64&#45;&gt;Node55 -->
 <g id="edge190" class="edge">
 <title>Node64&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M2165.81,-611.67C1930.86,-603.92 735.93,-564.49 459.94,-555.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="459.86,-551.87 449.75,-555.04 459.63,-558.87 459.86,-551.87"/>
+<path fill="none" stroke="midnightblue" d="M2165.61,-611.66C1931.06,-603.88 745.04,-564.52 470.01,-555.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="469.97,-551.89 459.86,-555.05 469.74,-558.88 469.97,-551.89"/>
 </g>
 <!-- Node64&#45;&gt;Node57 -->
 <g id="edge179" class="edge">
 <title>Node64&#45;&gt;Node57</title>
-<path fill="none" stroke="midnightblue" d="M2165.61,-611.32C2031.25,-605.68 1587.08,-586.77 1220,-568 1151.85,-564.52 1073.54,-560.01 1021.66,-556.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1021.83,-553.45 1011.65,-556.36 1021.42,-560.44 1021.83,-553.45"/>
+<path fill="none" stroke="midnightblue" d="M2165.73,-611.3C2031.78,-605.63 1588.98,-586.62 1223,-568 1153.85,-564.48 1074.34,-559.96 1021.85,-556.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1021.91,-553.41 1011.73,-556.32 1021.51,-560.39 1021.91,-553.41"/>
 </g>
 <!-- Node65 -->
 <g id="node65" class="node">
 <title>Node65</title>
 <g id="a_node65"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2318,-537.5 2318,-567.5 2416,-567.5 2416,-537.5 2318,-537.5"/>
-<text text-anchor="start" x="2326" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="2367" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">/accessor.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2328,-537.5 2328,-567.5 2426,-567.5 2426,-537.5 2328,-537.5"/>
+<text text-anchor="start" x="2336" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="2377" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">/accessor.h</text>
 </a>
 </g>
 </g>
 <!-- Node64&#45;&gt;Node65 -->
 <g id="edge182" class="edge">
 <title>Node64&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M2229.07,-604.48C2252.6,-595.78 2289.81,-582.03 2319.65,-571"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2320.89,-574.27 2329.06,-567.52 2318.46,-567.71 2320.89,-574.27"/>
+<path fill="none" stroke="midnightblue" d="M2230.5,-604.48C2255.61,-595.74 2295.36,-581.91 2327.12,-570.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2328.4,-574.11 2336.7,-567.52 2326.1,-567.5 2328.4,-574.11"/>
 </g>
 <!-- Node66&#45;&gt;Node6 -->
 <g id="edge195" class="edge">
 <title>Node66&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2886.14,-425.39C2922.1,-410.13 2996.44,-375.88 3050,-333 3095.24,-296.78 3087.33,-266.45 3136,-235 3153.74,-223.53 3202.02,-209.37 3241.8,-198.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3242.9,-202.3 3251.71,-196.41 3241.15,-195.52 3242.9,-202.3"/>
+<path fill="none" stroke="midnightblue" d="M2889.93,-425.46C2923.16,-409.94 2993.28,-374.81 3044,-333 3088.71,-296.14 3081.33,-266.45 3130,-235 3147.74,-223.53 3196.02,-209.37 3235.8,-198.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3236.9,-202.3 3245.71,-196.41 3235.15,-195.52 3236.9,-202.3"/>
 </g>
 <!-- Node66&#45;&gt;Node9 -->
 <g id="edge194" class="edge">
 <title>Node66&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2834.89,-425.44C2802.37,-416.2 2750.42,-401.44 2714.61,-391.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2715.54,-387.88 2704.97,-388.52 2713.63,-394.62 2715.54,-387.88"/>
+<path fill="none" stroke="midnightblue" d="M2841.53,-425.44C2809.83,-416.24 2759.27,-401.56 2724.23,-391.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2724.91,-387.94 2714.33,-388.52 2722.96,-394.67 2724.91,-387.94"/>
 </g>
 <!-- Node66&#45;&gt;Node10 -->
 <g id="edge196" class="edge">
 <title>Node66&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2813.77,-432.57C2629.18,-427.39 1980.8,-408.83 1446,-389 1394.65,-387.1 1336.31,-384.59 1293.85,-382.71"/>
+<path fill="none" stroke="midnightblue" d="M2819.87,-432.59C2634.93,-427.43 1983.37,-408.89 1446,-389 1394.65,-387.1 1336.31,-384.6 1293.85,-382.71"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1293.83,-379.21 1283.68,-382.26 1293.52,-386.2 1293.83,-379.21"/>
 </g>
 <!-- Node66&#45;&gt;Node19 -->
 <g id="edge198" class="edge">
 <title>Node66&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2852.15,-425.35C2833.6,-412.87 2798.21,-389.1 2768,-369 2698.82,-322.99 2672.18,-323.28 2612,-266 2550.5,-207.47 2574.13,-151.52 2499,-112 2433.4,-77.5 1274.91,-68.54 1064.6,-67.19"/>
+<path fill="none" stroke="midnightblue" d="M2859.11,-425.37C2841.56,-412.72 2807.61,-388.51 2778,-369 2741.75,-345.11 2643.87,-295.48 2612,-266 2549.69,-208.35 2574.13,-151.52 2499,-112 2433.4,-77.5 1274.91,-68.54 1064.6,-67.19"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1064.53,-63.69 1054.51,-67.13 1064.48,-70.69 1064.53,-63.69"/>
 </g>
 <!-- Node66&#45;&gt;Node35 -->
 <g id="edge197" class="edge">
 <title>Node66&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2873,-425.15C2901.02,-394.61 2998.46,-292.4 3098,-235 3139.65,-210.98 3172.23,-238.24 3200,-199 3213.84,-179.44 3194.54,-154.49 3178.26,-138.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3180.39,-135.83 3170.66,-131.63 3175.64,-140.98 3180.39,-135.83"/>
+<path fill="none" stroke="midnightblue" d="M2878.48,-425.12C2904.71,-394.47 2996.13,-291.97 3092,-235 3133.33,-210.44 3166.23,-238.24 3194,-199 3207.84,-179.44 3188.54,-154.49 3172.26,-138.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3174.39,-135.83 3164.66,-131.63 3169.64,-140.98 3174.39,-135.83"/>
 </g>
 <!-- Node67&#45;&gt;Node7 -->
 <g id="edge202" class="edge">
@@ -1988,8 +1988,8 @@
 <!-- Node68&#45;&gt;Node63 -->
 <g id="edge211" class="edge">
 <title>Node68&#45;&gt;Node63</title>
-<path fill="none" stroke="midnightblue" d="M1350.18,-776.82C1543.15,-759.37 2283.78,-692.37 2474.83,-675.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2475.16,-678.57 2484.81,-674.18 2474.53,-671.6 2475.16,-678.57"/>
+<path fill="none" stroke="midnightblue" d="M1350.19,-776.86C1544.26,-759.44 2292.42,-692.32 2484.73,-675.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2485.12,-678.54 2494.77,-674.16 2484.5,-671.57 2485.12,-678.54"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg b/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
index b93ffaa8d5..9c8256ee36 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
@@ -266,7 +266,7 @@
 <!-- Node74 -->
 <g id="node74" class="node">
 <title>Node74</title>
-<g id="a_node74"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
+<g id="a_node74"><a xlink:href="te_2tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
 <polygon fill="white" stroke="black" points="1297.5,-542 1297.5,-561 1426.5,-561 1426.5,-542 1297.5,-542"/>
 <text text-anchor="middle" x="1362" y="-549" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/te/tensor.h</text>
 </a>
diff --git a/docs/reference/api/doxygen/attrs_8h.html b/docs/reference/api/doxygen/attrs_8h.html
index 59e0b7c954..7ac68c1fe6 100644
--- a/docs/reference/api/doxygen/attrs_8h.html
+++ b/docs/reference/api/doxygen/attrs_8h.html
@@ -93,7 +93,7 @@ $(function() {
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for attrs.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="attrs_8h__incl.svg" width="4224" height="843"><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="attrs_8h__incl.svg" width="4216" height="843"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div><div class="textblock"><div class="dynheader">
diff --git a/docs/reference/api/doxygen/attrs_8h__dep__incl.svg b/docs/reference/api/doxygen/attrs_8h__dep__incl.svg
index d1fcda133f..0560c308db 100644
--- a/docs/reference/api/doxygen/attrs_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/attrs_8h__dep__incl.svg
@@ -2404,7 +2404,7 @@
 <!-- Node123 -->
 <g id="node123" class="node">
 <title>Node123</title>
-<g id="a_node123"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
+<g id="a_node123"><a xlink:href="te_2tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
 <polygon fill="white" stroke="black" points="1492.5,-542 1492.5,-561 1621.5,-561 1621.5,-542 1492.5,-542"/>
 <text text-anchor="middle" x="1557" y="-549" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/te/tensor.h</text>
 </a>
diff --git a/docs/reference/api/doxygen/attrs_8h__incl.svg b/docs/reference/api/doxygen/attrs_8h__incl.svg
index 63c3826319..4b3ab888ae 100644
--- a/docs/reference/api/doxygen/attrs_8h__incl.svg
+++ b/docs/reference/api/doxygen/attrs_8h__incl.svg
@@ -4,11 +4,11 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/ir/attrs.h Pages: 1 -->
-<svg width="3168pt" height="632pt"
- viewBox="0.00 0.00 3168.00 632.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3162pt" height="632pt"
+ viewBox="0.00 0.00 3162.00 632.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 628)">
 <title>include/tvm/ir/attrs.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-628 3164,-628 3164,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-628 3158,-628 3158,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
@@ -137,7 +137,7 @@
 <!-- Node1&#45;&gt;Node28 -->
 <g id="edge124" class="edge">
 <title>Node1&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M390.88,-604.38C375.28,-596.71 353.78,-584.2 339.5,-568 219.28,-431.57 130.32,-301.77 253.5,-168 270.37,-149.68 625.8,-131.16 753.4,-125.07"/>
+<path fill="none" stroke="midnightblue" d="M391.27,-604.47C375.7,-596.77 354.03,-584.18 339.5,-568 317.32,-543.3 320.71,-531 306.5,-501 242.33,-365.57 151.98,-278.24 253.5,-168 270.37,-149.68 625.8,-131.16 753.4,-125.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="753.78,-128.56 763.61,-124.59 753.45,-121.57 753.78,-128.56"/>
 </g>
 <!-- Node29 -->
@@ -159,16 +159,16 @@
 <g id="node34" class="node">
 <title>Node34</title>
 <g id="a_node34"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1986.5,-112.5 1986.5,-131.5 2030.5,-131.5 2030.5,-112.5 1986.5,-112.5"/>
-<text text-anchor="middle" x="2008.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="1997.5,-112.5 1997.5,-131.5 2041.5,-131.5 2041.5,-112.5 1997.5,-112.5"/>
+<text text-anchor="middle" x="2019.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node34 -->
 <g id="edge123" class="edge">
 <title>Node1&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M470.18,-612.97C817.84,-612.62 2574.75,-608.86 2811.5,-568 2916.34,-549.91 3038.5,-598.39 3038.5,-492 3038.5,-492 3038.5,-492 3038.5,-249.5 3038.5,-208.95 3031.6,-189.93 2997.5,-168 2909.97,-111.7 2165.02,-142.73 2061.5,-132 2054.8,-131.31 2047.66,-130.29 2040.87,-129.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.04,-125.66 2030.59,-127.41 2039.85,-132.56 2041.04,-125.66"/>
+<path fill="none" stroke="midnightblue" d="M470.05,-612.97C816.99,-612.64 2570.27,-608.94 2806.5,-568 2910.92,-549.91 3032.5,-597.97 3032.5,-492 3032.5,-492 3032.5,-492 3032.5,-249.5 3032.5,-208.95 3025.6,-189.94 2991.5,-168 2904.53,-112.05 2164.11,-144.88 2061.5,-132 2058.24,-131.59 2054.87,-131.06 2051.51,-130.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2052.1,-127 2041.61,-128.48 2050.74,-133.87 2052.1,-127"/>
 </g>
 <!-- Node36 -->
 <g id="node36" class="node">
@@ -199,38 +199,38 @@
 <!-- Node1&#45;&gt;Node38 -->
 <g id="edge121" class="edge">
 <title>Node1&#45;&gt;Node38</title>
-<path fill="none" stroke="midnightblue" d="M470.23,-613.31C849.05,-614.91 2901.5,-617.77 2901.5,-492 2901.5,-492 2901.5,-492 2901.5,-434 2901.5,-371.09 2450.24,-334.43 2277.06,-322.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2277.26,-319.18 2267.05,-322 2276.79,-326.17 2277.26,-319.18"/>
+<path fill="none" stroke="midnightblue" d="M470.08,-613.3C847.99,-614.85 2895.5,-617.46 2895.5,-492 2895.5,-492 2895.5,-492 2895.5,-434 2895.5,-371.73 2449.66,-334.76 2277.35,-322.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2277.36,-319.29 2267.14,-322.09 2276.88,-326.27 2277.36,-319.29"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node">
 <title>Node46</title>
 <g id="a_node46"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2907,-174 2907,-193 2972,-193 2972,-174 2907,-174"/>
-<text text-anchor="middle" x="2939.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="2901,-174 2901,-193 2966,-193 2966,-174 2901,-174"/>
+<text text-anchor="middle" x="2933.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node46 -->
 <g id="edge122" class="edge">
 <title>Node1&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M470.07,-612.69C804.83,-610.81 2444.75,-600.05 2667.5,-568 2791.74,-550.12 2939.5,-617.52 2939.5,-492 2939.5,-492 2939.5,-492 2939.5,-316.5 2939.5,-276.16 2939.5,-228.88 2939.5,-203.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2943,-203.15 2939.5,-193.15 2936,-203.15 2943,-203.15"/>
+<path fill="none" stroke="midnightblue" d="M470.21,-612.69C804.85,-610.82 2440.32,-600.09 2662.5,-568 2786.31,-550.12 2933.5,-617.09 2933.5,-492 2933.5,-492 2933.5,-492 2933.5,-316.5 2933.5,-276.16 2933.5,-228.88 2933.5,-203.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2937,-203.15 2933.5,-193.15 2930,-203.15 2937,-203.15"/>
 </g>
 <!-- Node51 -->
 <g id="node51" class="node">
 <title>Node51</title>
 <g id="a_node51"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3067,-543 3067,-562 3160,-562 3160,-543 3067,-543"/>
-<text text-anchor="middle" x="3113.5" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="3061,-543 3061,-562 3154,-562 3154,-543 3061,-543"/>
+<text text-anchor="middle" x="3107.5" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node51 -->
 <g id="edge125" class="edge">
 <title>Node1&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M470.03,-612.76C837.37,-611.17 2788.79,-601.19 3052.5,-568 3059.32,-567.14 3066.49,-565.82 3073.42,-564.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3074.37,-567.7 3083.33,-562.04 3072.8,-560.88 3074.37,-567.7"/>
+<path fill="none" stroke="midnightblue" d="M470.19,-612.76C837.45,-611.15 2783.46,-601.11 3046.5,-568 3053.32,-567.14 3060.49,-565.82 3067.42,-564.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3068.37,-567.7 3077.33,-562.04 3066.8,-560.88 3068.37,-567.7"/>
 </g>
 <!-- Node7&#45;&gt;Node6 -->
 <g id="edge7" class="edge">
@@ -307,29 +307,29 @@
 <!-- Node7&#45;&gt;Node34 -->
 <g id="edge118" class="edge">
 <title>Node7&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1008.18,-551.13C1213.23,-549.08 2154.21,-537.78 2443.5,-501 2557.32,-486.53 2592.92,-496.4 2695.5,-445 2845.4,-369.89 2911.57,-351.38 2981.5,-199 2987.25,-186.48 2991.05,-177.93 2981.5,-168 2946.05,-131.13 2112.38,-137.29 2061.5,-132 2054.8,-131.3 2047.66,-130.28 2040.87,-129.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.04,-125.66 2030.59,-127.41 2039.85,-132.55 2041.04,-125.66"/>
+<path fill="none" stroke="midnightblue" d="M1008.02,-551.13C1212.24,-549.08 2149.4,-537.77 2437.5,-501 2550.88,-486.53 2586.29,-496.16 2688.5,-445 2838.73,-369.8 2905.3,-351.63 2975.5,-199 2981.26,-186.48 2985.05,-177.93 2975.5,-168 2940.28,-131.37 2111.92,-138.35 2061.5,-132 2058.24,-131.59 2054.87,-131.06 2051.51,-130.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2052.1,-127 2041.61,-128.48 2050.74,-133.87 2052.1,-127"/>
 </g>
 <!-- Node7&#45;&gt;Node46 -->
 <g id="edge116" class="edge">
 <title>Node7&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M1008.37,-550.96C1265.87,-547.24 2683.5,-522.82 2683.5,-436 2683.5,-436 2683.5,-436 2683.5,-316.5 2683.5,-291.42 2840.74,-224.57 2908.76,-196.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2910.17,-200.04 2918.11,-193.03 2907.53,-193.55 2910.17,-200.04"/>
+<path fill="none" stroke="midnightblue" d="M1008.21,-550.95C1264.65,-547.18 2676.5,-522.47 2676.5,-436 2676.5,-436 2676.5,-436 2676.5,-316.5 2676.5,-291.34 2834.35,-224.54 2902.64,-196.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2904.07,-200.02 2912.03,-193.03 2901.45,-193.53 2904.07,-200.02"/>
 </g>
 <!-- Node47 -->
 <g id="node47" class="node">
 <title>Node47</title>
 <g id="a_node47"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2468.5,-241 2468.5,-260 2512.5,-260 2512.5,-241 2468.5,-241"/>
-<text text-anchor="middle" x="2490.5" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
+<polygon fill="white" stroke="#bfbfbf" points="2462.5,-241 2462.5,-260 2506.5,-260 2506.5,-241 2462.5,-241"/>
+<text text-anchor="middle" x="2484.5" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
 </a>
 </g>
 </g>
 <!-- Node7&#45;&gt;Node47 -->
 <g id="edge117" class="edge">
 <title>Node7&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M1008.07,-550.42C1238.06,-543.87 2392.5,-507.46 2392.5,-436 2392.5,-436 2392.5,-436 2392.5,-378 2392.5,-328.65 2439.68,-286.88 2468.57,-265.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2470.69,-268.72 2476.87,-260.12 2466.68,-262.99 2470.69,-268.72"/>
+<path fill="none" stroke="midnightblue" d="M1008.36,-550.4C1238.74,-543.8 2389.5,-507.28 2389.5,-436 2389.5,-436 2389.5,-436 2389.5,-378 2389.5,-329.43 2434.84,-287.59 2462.88,-266.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2465.28,-268.94 2471.29,-260.22 2461.15,-263.29 2465.28,-268.94"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node">
@@ -400,8 +400,8 @@
 <!-- Node9&#45;&gt;Node34 -->
 <g id="edge102" class="edge">
 <title>Node9&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M783.89,-425.25C799.85,-399.47 846.88,-324.17 865.5,-302 921.51,-235.3 928.05,-201.38 1008.5,-168 1105.49,-127.76 1832.81,-148.05 1976.29,-131.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1976.87,-134.98 1986.3,-130.15 1975.92,-128.04 1976.87,-134.98"/>
+<path fill="none" stroke="midnightblue" d="M783.89,-425.25C799.85,-399.47 846.88,-324.17 865.5,-302 921.51,-235.3 928.04,-201.36 1008.5,-168 1106.6,-127.32 1842.16,-148.19 1987.19,-131.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1987.86,-134.97 1997.3,-130.15 1986.92,-128.04 1987.86,-134.97"/>
 </g>
 <!-- Node48 -->
 <g id="node48" class="node">
@@ -479,16 +479,16 @@
 <g id="node25" class="node">
 <title>Node25</title>
 <g id="a_node25"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2200,-56.5 2200,-75.5 2313,-75.5 2313,-56.5 2200,-56.5"/>
-<text text-anchor="middle" x="2256.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="2208,-56.5 2208,-75.5 2321,-75.5 2321,-56.5 2208,-56.5"/>
+<text text-anchor="middle" x="2264.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node25 -->
 <g id="edge94" class="edge">
 <title>Node10&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1290.27,-372.03C1326.51,-366.08 1375.82,-354.6 1414.5,-333 1538.27,-263.89 1515.02,-169.73 1644.5,-112 1740.5,-69.2 2052.08,-65.64 2189.89,-66.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2189.89,-69.76 2199.9,-66.32 2189.92,-62.76 2189.89,-69.76"/>
+<path fill="none" stroke="midnightblue" d="M1290.12,-371.76C1326.29,-365.68 1375.57,-354.15 1414.5,-333 1542.2,-263.63 1522.1,-169.66 1655.5,-112 1751.29,-70.6 2059.92,-66.26 2197.37,-66.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2197.75,-69.97 2207.76,-66.49 2197.77,-62.97 2197.75,-69.97"/>
 </g>
 <!-- Node10&#45;&gt;Node28 -->
 <g id="edge97" class="edge">
@@ -505,8 +505,8 @@
 <!-- Node10&#45;&gt;Node34 -->
 <g id="edge96" class="edge">
 <title>Node10&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1290.03,-377.24C1370.52,-375.03 1524.91,-366.42 1566.5,-333 1627.44,-284.03 1565.72,-215.91 1627.5,-168 1686.99,-121.86 1885.27,-145.07 1976.24,-131.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1977,-135.11 1986.27,-129.97 1975.82,-128.21 1977,-135.11"/>
+<path fill="none" stroke="midnightblue" d="M1290.03,-377.24C1370.52,-375.03 1524.91,-366.42 1566.5,-333 1627.44,-284.03 1565.64,-215.81 1627.5,-168 1688.98,-120.48 1893.79,-145.34 1987.24,-131.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1988,-135.11 1997.27,-129.98 1986.82,-128.21 1988,-135.11"/>
 </g>
 <!-- Node10&#45;&gt;Node36 -->
 <g id="edge57" class="edge">
@@ -665,8 +665,8 @@
 <!-- Node20&#45;&gt;Node34 -->
 <g id="edge56" class="edge">
 <title>Node20&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1319.91,-307.82C1358.45,-281.36 1480.38,-201.51 1594.5,-168 1755.42,-120.75 1807.56,-162.33 1976.31,-131.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1977.08,-135.27 1986.27,-130 1975.8,-128.39 1977.08,-135.27"/>
+<path fill="none" stroke="midnightblue" d="M1319.63,-307.99C1357.86,-281.68 1480.07,-201.44 1594.5,-168 1760.15,-119.59 1813.73,-162.99 1987.3,-131.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1988.08,-135.27 1997.27,-130.01 1986.8,-128.39 1988.08,-135.27"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
@@ -693,16 +693,16 @@
 <g id="node23" class="node">
 <title>Node23</title>
 <g id="a_node23"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1843,-112.5 1843,-131.5 1968,-131.5 1968,-112.5 1843,-112.5"/>
-<text text-anchor="middle" x="1905.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/logging.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1854,-112.5 1854,-131.5 1979,-131.5 1979,-112.5 1854,-112.5"/>
+<text text-anchor="middle" x="1916.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/logging.h</text>
 </a>
 </g>
 </g>
 <!-- Node22&#45;&gt;Node23 -->
 <g id="edge25" class="edge">
 <title>Node22&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1466.25,-175.91C1555.63,-165.14 1732.89,-143.79 1832.74,-131.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1833.24,-135.23 1842.75,-130.56 1832.4,-128.28 1833.24,-135.23"/>
+<path fill="none" stroke="midnightblue" d="M1466.02,-176.08C1557.47,-165.3 1741.77,-143.59 1844.01,-131.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1844.43,-135.02 1853.95,-130.37 1843.61,-128.06 1844.43,-135.02"/>
 </g>
 <!-- Node22&#45;&gt;Node24 -->
 <g id="edge26" class="edge">
@@ -714,16 +714,16 @@
 <g id="node27" class="node">
 <title>Node27</title>
 <g id="a_node27"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1653.5,-112.5 1653.5,-131.5 1703.5,-131.5 1703.5,-112.5 1653.5,-112.5"/>
-<text text-anchor="middle" x="1678.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
+<polygon fill="white" stroke="#bfbfbf" points="1664.5,-112.5 1664.5,-131.5 1714.5,-131.5 1714.5,-112.5 1664.5,-112.5"/>
+<text text-anchor="middle" x="1689.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
 </a>
 </g>
 </g>
 <!-- Node22&#45;&gt;Node27 -->
 <g id="edge33" class="edge">
 <title>Node22&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M1449.75,-173.98C1501.45,-162.46 1592.9,-142.08 1643.09,-130.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1644.14,-134.24 1653.14,-128.65 1642.62,-127.41 1644.14,-134.24"/>
+<path fill="none" stroke="midnightblue" d="M1451.33,-173.98C1505.69,-162.34 1602.27,-141.67 1654.17,-130.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1655.19,-133.92 1664.23,-128.41 1653.72,-127.08 1655.19,-133.92"/>
 </g>
 <!-- Node22&#45;&gt;Node28 -->
 <g id="edge34" class="edge">
@@ -764,23 +764,23 @@
 <!-- Node24&#45;&gt;Node25 -->
 <g id="edge30" class="edge">
 <title>Node24&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1471.19,-115.73C1486.6,-114.44 1503.16,-113.11 1518.5,-112 1765.93,-94.05 2060.39,-77.56 2189.84,-70.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2190.2,-74.04 2199.99,-70 2189.82,-67.05 2190.2,-74.04"/>
+<path fill="none" stroke="midnightblue" d="M1471.19,-115.73C1486.6,-114.44 1503.16,-113.11 1518.5,-112 1768.93,-93.92 2067.01,-77.46 2197.61,-70.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2198.05,-73.98 2207.85,-69.96 2197.68,-66.99 2198.05,-73.98"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
 <title>Node26</title>
 <g id="a_node26"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2213.5,-0.5 2213.5,-19.5 2299.5,-19.5 2299.5,-0.5 2213.5,-0.5"/>
-<text text-anchor="middle" x="2256.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2221.5,-0.5 2221.5,-19.5 2307.5,-19.5 2307.5,-0.5 2221.5,-0.5"/>
+<text text-anchor="middle" x="2264.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge31" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M2256.5,-56.08C2256.5,-49.01 2256.5,-38.86 2256.5,-29.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2260,-29.75 2256.5,-19.75 2253,-29.75 2260,-29.75"/>
+<path fill="none" stroke="midnightblue" d="M2264.5,-56.08C2264.5,-49.01 2264.5,-38.86 2264.5,-29.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2268,-29.75 2264.5,-19.75 2261,-29.75 2268,-29.75"/>
 </g>
 <!-- Node30&#45;&gt;Node3 -->
 <g id="edge40" class="edge">
@@ -851,8 +851,8 @@
 <!-- Node30&#45;&gt;Node34 -->
 <g id="edge54" class="edge">
 <title>Node30&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1165.25,-240.79C1154.21,-224.27 1134.16,-188.2 1153.5,-168 1183.89,-136.26 1872.2,-139.13 1976.25,-131.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1976.73,-134.68 1986.3,-130.14 1975.98,-127.72 1976.73,-134.68"/>
+<path fill="none" stroke="midnightblue" d="M1165.25,-240.79C1154.21,-224.26 1134.16,-188.2 1153.5,-168 1184.3,-135.84 1881.8,-139.18 1987.13,-131.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1987.72,-134.68 1997.3,-130.14 1986.98,-127.72 1987.72,-134.68"/>
 </g>
 <!-- Node30&#45;&gt;Node35 -->
 <g id="edge53" class="edge">
@@ -869,20 +869,20 @@
 <!-- Node32&#45;&gt;Node23 -->
 <g id="edge49" class="edge">
 <title>Node32&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M1896.93,-173.98C1898.34,-165.58 1900.55,-152.48 1902.36,-141.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1905.86,-141.95 1904.07,-131.51 1898.96,-140.79 1905.86,-141.95"/>
+<path fill="none" stroke="midnightblue" d="M1898.51,-173.98C1901.53,-165.4 1906.29,-151.93 1910.15,-140.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1913.47,-142.1 1913.5,-131.51 1906.87,-139.77 1913.47,-142.1"/>
 </g>
 <!-- Node32&#45;&gt;Node25 -->
 <g id="edge48" class="edge">
 <title>Node32&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M1878.62,-173.94C1854.38,-160.59 1814.7,-134.03 1834.5,-112 1857.76,-86.13 2076.36,-73.94 2189.43,-69.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2189.85,-72.81 2199.71,-68.91 2189.58,-65.82 2189.85,-72.81"/>
+<path fill="none" stroke="midnightblue" d="M1881.48,-173.78C1860.95,-159.97 1827.05,-132.54 1845.5,-112 1868.55,-86.34 2085.08,-74.06 2197.48,-69.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2197.84,-72.87 2207.69,-68.96 2197.56,-65.87 2197.84,-72.87"/>
 </g>
 <!-- Node32&#45;&gt;Node27 -->
 <g id="edge50" class="edge">
 <title>Node32&#45;&gt;Node27</title>
-<path fill="none" stroke="midnightblue" d="M1864.41,-173.98C1824.46,-163.02 1755.29,-144.06 1713.53,-132.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1714.36,-129.2 1703.79,-129.93 1712.5,-135.95 1714.36,-129.2"/>
+<path fill="none" stroke="midnightblue" d="M1865.99,-173.98C1828.63,-163.19 1764.37,-144.62 1724.56,-133.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1725.33,-129.71 1714.75,-130.29 1723.38,-136.43 1725.33,-129.71"/>
 </g>
 <!-- Node32&#45;&gt;Node28 -->
 <g id="edge52" class="edge">
@@ -908,8 +908,8 @@
 <!-- Node32&#45;&gt;Node34 -->
 <g id="edge51" class="edge">
 <title>Node32&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1911.69,-173.98C1930.4,-164.12 1961.42,-147.79 1983.3,-136.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1985.12,-139.27 1992.34,-131.51 1981.86,-133.07 1985.12,-139.27"/>
+<path fill="none" stroke="midnightblue" d="M1913.27,-173.98C1933.98,-164.03 1968.45,-147.49 1992.49,-135.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1994.27,-138.99 2001.77,-131.51 1991.24,-132.68 1994.27,-138.99"/>
 </g>
 <!-- Node36&#45;&gt;Node21 -->
 <g id="edge59" class="edge">
@@ -938,8 +938,8 @@
 <!-- Node36&#45;&gt;Node34 -->
 <g id="edge63" class="edge">
 <title>Node36&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1770.23,-244.52C1836.96,-237.65 1942.58,-223.28 1973.5,-199 1991.5,-184.87 2000.6,-159.36 2004.94,-141.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2008.44,-142.16 2007.14,-131.65 2001.6,-140.68 2008.44,-142.16"/>
+<path fill="none" stroke="midnightblue" d="M1770.08,-243.9C1836.39,-236.43 1941.3,-221.46 1973.5,-199 1993.61,-184.97 2006.49,-159.05 2013.35,-141.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2016.76,-142.29 2016.87,-131.7 2010.18,-139.91 2016.76,-142.29"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
@@ -971,8 +971,8 @@
 <!-- Node38&#45;&gt;Node34 -->
 <g id="edge93" class="edge">
 <title>Node38&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M2212.86,-302.07C2216.78,-272.74 2221.08,-205.74 2186.5,-168 2176.62,-157.22 2089.42,-138.77 2040.84,-129.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.3,-125.71 2030.82,-127.22 2039.96,-132.58 2041.3,-125.71"/>
+<path fill="none" stroke="midnightblue" d="M2212.81,-302.12C2216.64,-272.86 2220.78,-206.01 2186.5,-168 2181.9,-162.9 2098.48,-142.08 2051.32,-130.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2052.11,-127.22 2041.57,-128.28 2050.47,-134.03 2052.11,-127.22"/>
 </g>
 <!-- Node38&#45;&gt;Node37 -->
 <g id="edge90" class="edge">
@@ -983,216 +983,216 @@
 <!-- Node39 -->
 <g id="node39" class="node">
 <title>Node39</title>
-<g id="a_node39"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction.">
-<polygon fill="white" stroke="black" points="2287,-241 2287,-260 2412,-260 2412,-241 2287,-241"/>
-<text text-anchor="middle" x="2349.5" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/ndarray.h</text>
+<g id="a_node39"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
+<polygon fill="white" stroke="black" points="2287,-241 2287,-260 2406,-260 2406,-241 2287,-241"/>
+<text text-anchor="middle" x="2346.5" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node38&#45;&gt;Node39 -->
 <g id="edge67" class="edge">
 <title>Node38&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M2240.66,-302.4C2264.94,-291.04 2298.78,-275.22 2322.25,-264.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2323.73,-267.41 2331.31,-260.01 2320.77,-261.07 2323.73,-267.41"/>
+<path fill="none" stroke="midnightblue" d="M2240.01,-302.4C2263.66,-291.09 2296.58,-275.36 2319.53,-264.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2321.19,-267.48 2328.7,-260.01 2318.17,-261.16 2321.19,-267.48"/>
 </g>
 <!-- Node38&#45;&gt;Node46 -->
 <g id="edge91" class="edge">
 <title>Node38&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M2267.05,-309.98C2310.94,-303.3 2372.38,-290.31 2421.5,-266 2441.03,-256.33 2439.28,-243.15 2459.5,-235 2640.66,-161.98 2706.36,-239.19 2897.5,-199 2901,-198.26 2904.62,-197.32 2908.18,-196.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2909.56,-199.5 2917.99,-193.08 2907.4,-192.84 2909.56,-199.5"/>
+<path fill="none" stroke="midnightblue" d="M2267.21,-309.42C2309.72,-302.51 2368.44,-289.49 2415.5,-266 2435,-256.27 2433.28,-243.15 2453.5,-235 2634.66,-161.98 2700.36,-239.19 2891.5,-199 2895,-198.26 2898.62,-197.32 2902.18,-196.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2903.56,-199.5 2911.99,-193.08 2901.4,-192.84 2903.56,-199.5"/>
 </g>
 <!-- Node38&#45;&gt;Node47 -->
 <g id="edge92" class="edge">
 <title>Node38&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M2267.43,-307.69C2317.34,-299.26 2391.56,-285.02 2454.5,-266 2456.79,-265.31 2459.13,-264.53 2461.47,-263.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.81,-266.94 2470.92,-260.12 2460.33,-260.39 2462.81,-266.94"/>
+<path fill="none" stroke="midnightblue" d="M2267.47,-307.29C2316.13,-298.74 2387.69,-284.54 2448.5,-266 2450.78,-265.3 2453.13,-264.52 2455.46,-263.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2456.81,-266.93 2464.92,-260.11 2454.32,-260.38 2456.81,-266.93"/>
 </g>
 <!-- Node39&#45;&gt;Node8 -->
 <g id="edge71" class="edge">
 <title>Node39&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2286.65,-247.8C2073.13,-241.85 1376.59,-221.22 1153.5,-199 1141.43,-197.8 1128.54,-196.06 1116.34,-194.19"/>
+<path fill="none" stroke="midnightblue" d="M2286.73,-247.87C2077.27,-242.03 1377.06,-221.28 1153.5,-199 1141.43,-197.8 1128.54,-196.06 1116.34,-194.19"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1116.71,-190.71 1106.29,-192.61 1115.62,-197.62 1116.71,-190.71"/>
 </g>
 <!-- Node39&#45;&gt;Node18 -->
 <g id="edge70" class="edge">
 <title>Node39&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2387.55,-240.98C2397.29,-238.91 2407.76,-236.79 2417.5,-235 2523.9,-215.49 2721.2,-250.73 2651.5,-168 2582.82,-86.47 1816.11,-70.54 1592.42,-67.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1592.22,-64.12 1582.18,-67.49 1592.13,-71.12 1592.22,-64.12"/>
+<path fill="none" stroke="midnightblue" d="M2382.85,-240.94C2392.17,-238.87 2402.18,-236.75 2411.5,-235 2517.81,-214.99 2715.09,-250.83 2645.5,-168 2577.33,-86.86 1815.47,-70.66 1592.47,-67.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1592.31,-64.15 1582.27,-67.51 1592.22,-71.14 1592.31,-64.15"/>
 </g>
 <!-- Node39&#45;&gt;Node19 -->
 <g id="edge88" class="edge">
 <title>Node39&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2329.67,-240.84C2311.73,-232.25 2285.46,-217.68 2267.5,-199 2236.74,-167.01 2256.51,-134.91 2218.5,-112 2155.24,-73.87 963.33,-78.16 889.5,-76 797.43,-73.31 688.76,-69.81 635.41,-68.08"/>
+<path fill="none" stroke="midnightblue" d="M2327.74,-240.85C2310.47,-232.17 2284.95,-217.45 2267.5,-199 2237.01,-166.76 2256.51,-134.91 2218.5,-112 2155.24,-73.87 963.33,-78.16 889.5,-76 797.43,-73.31 688.76,-69.81 635.41,-68.08"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="635.3,-64.57 625.19,-67.74 635.07,-71.57 635.3,-64.57"/>
 </g>
 <!-- Node39&#45;&gt;Node24 -->
 <g id="edge80" class="edge">
 <title>Node39&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2330.16,-240.93C2290.1,-223.64 2194.77,-184.77 2110.5,-168 2049.97,-155.95 1645.91,-134.72 1481.19,-126.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1481.33,-122.94 1471.17,-125.94 1480.98,-129.93 1481.33,-122.94"/>
+<path fill="none" stroke="midnightblue" d="M2327.41,-240.93C2287.88,-223.62 2193.79,-184.75 2110.5,-168 2050,-155.84 1645.92,-134.67 1481.2,-126.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1481.33,-122.93 1471.17,-125.92 1480.98,-129.92 1481.33,-122.93"/>
 </g>
 <!-- Node39&#45;&gt;Node25 -->
 <g id="edge72" class="edge">
 <title>Node39&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2386.8,-240.95C2396.75,-238.84 2407.5,-236.69 2417.5,-235 2545.79,-213.26 2782.74,-270.44 2702.5,-168 2656.33,-109.06 2436.1,-82.14 2323.35,-72.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2323.38,-68.55 2313.11,-71.16 2322.77,-75.52 2323.38,-68.55"/>
+<path fill="none" stroke="midnightblue" d="M2381.8,-240.99C2391.4,-238.85 2401.82,-236.69 2411.5,-235 2539.69,-212.66 2776.68,-270.48 2696.5,-168 2652.03,-111.16 2441.17,-83.42 2331.36,-72.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2331.67,-69.14 2321.38,-71.67 2330.99,-76.11 2331.67,-69.14"/>
 </g>
 <!-- Node39&#45;&gt;Node29 -->
 <g id="edge89" class="edge">
 <title>Node39&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2286.98,-245.58C2236.84,-240.31 2165.95,-227.95 2110.5,-199 2092.66,-189.69 2096.09,-175.71 2077.5,-168 1963.86,-120.89 1109.59,-149.34 946.3,-131.47"/>
+<path fill="none" stroke="midnightblue" d="M2286.76,-245.64C2237.15,-240.4 2165.99,-228.06 2110.5,-199 2092.67,-189.66 2096.09,-175.71 2077.5,-168 1963.86,-120.89 1109.59,-149.34 946.3,-131.47"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="946.52,-127.97 936.15,-130.16 945.62,-134.91 946.52,-127.97"/>
 </g>
 <!-- Node39&#45;&gt;Node32 -->
 <g id="edge73" class="edge">
 <title>Node39&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2289.68,-240.94C2205.87,-228.94 2053.83,-207.17 1965.06,-194.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1965.49,-190.98 1955.09,-193.03 1964.49,-197.91 1965.49,-190.98"/>
+<path fill="none" stroke="midnightblue" d="M2287.08,-240.94C2203.82,-228.94 2052.78,-207.17 1964.6,-194.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1965.09,-190.99 1954.7,-193.03 1964.1,-197.92 1965.09,-190.99"/>
 </g>
 <!-- Node39&#45;&gt;Node33 -->
-<g id="edge69" class="edge">
+<g id="edge68" class="edge">
 <title>Node39&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M2394.27,-240.97C2404.84,-238.99 2416.06,-236.9 2426.5,-235 2520.81,-217.84 2696.12,-238.8 2631.5,-168 2604.31,-138.21 2351.46,-127.9 2219.24,-124.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2219.24,-121.03 2209.16,-124.28 2219.07,-128.03 2219.24,-121.03"/>
+<path fill="none" stroke="midnightblue" d="M2389.13,-241C2399.39,-238.99 2410.33,-236.89 2420.5,-235 2514.74,-217.49 2690.08,-238.83 2625.5,-168 2598.75,-138.66 2350.67,-128.16 2219.68,-124.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2219.39,-121.13 2209.3,-124.37 2219.21,-128.13 2219.39,-121.13"/>
 </g>
 <!-- Node40 -->
 <g id="node40" class="node">
 <title>Node40</title>
 <g id="a_node40"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2276.5,-174 2276.5,-193 2422.5,-193 2422.5,-174 2276.5,-174"/>
-<text text-anchor="middle" x="2349.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/ndarray.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2276.5,-174 2276.5,-193 2416.5,-193 2416.5,-174 2276.5,-174"/>
+<text text-anchor="middle" x="2346.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node39&#45;&gt;Node40 -->
-<g id="edge68" class="edge">
+<g id="edge69" class="edge">
 <title>Node39&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M2349.5,-240.73C2349.5,-231.18 2349.5,-215.62 2349.5,-203.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2353,-203.13 2349.5,-193.13 2346,-203.13 2353,-203.13"/>
+<path fill="none" stroke="midnightblue" d="M2346.5,-240.73C2346.5,-231.18 2346.5,-215.62 2346.5,-203.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2350,-203.13 2346.5,-193.13 2343,-203.13 2350,-203.13"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
 <title>Node41</title>
 <g id="a_node41"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API.">
-<polygon fill="white" stroke="black" points="2509,-168.5 2509,-198.5 2622,-198.5 2622,-168.5 2509,-168.5"/>
-<text text-anchor="start" x="2517" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
-<text text-anchor="middle" x="2565.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="black" points="2503,-168.5 2503,-198.5 2616,-198.5 2616,-168.5 2503,-168.5"/>
+<text text-anchor="start" x="2511" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
+<text text-anchor="middle" x="2559.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node39&#45;&gt;Node41 -->
 <g id="edge74" class="edge">
 <title>Node39&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M2378.18,-240.87C2411.44,-230.86 2467.05,-214.13 2509.06,-201.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2510.32,-204.76 2518.88,-198.53 2508.3,-198.06 2510.32,-204.76"/>
+<path fill="none" stroke="midnightblue" d="M2374.78,-240.87C2407.58,-230.86 2462.42,-214.13 2503.84,-201.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2504.99,-204.79 2513.53,-198.53 2502.94,-198.1 2504.99,-204.79"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node">
 <title>Node42</title>
 <g id="a_node42"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
-<polygon fill="white" stroke="black" points="2754.5,-174 2754.5,-193 2888.5,-193 2888.5,-174 2754.5,-174"/>
-<text text-anchor="middle" x="2821.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
+<polygon fill="white" stroke="black" points="2748.5,-174 2748.5,-193 2882.5,-193 2882.5,-174 2748.5,-174"/>
+<text text-anchor="middle" x="2815.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node39&#45;&gt;Node42 -->
 <g id="edge81" class="edge">
 <title>Node39&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M2383.09,-240.97C2394.03,-238.86 2406.2,-236.71 2417.5,-235 2556.39,-213.99 2592.52,-219.39 2731.5,-199 2740.02,-197.75 2749.03,-196.28 2757.93,-194.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2758.64,-198.2 2767.9,-193.06 2757.45,-191.3 2758.64,-198.2"/>
+<path fill="none" stroke="midnightblue" d="M2378.43,-240.94C2388.93,-238.83 2400.63,-236.68 2411.5,-235 2550.31,-213.48 2586.52,-219.39 2725.5,-199 2734.02,-197.75 2743.03,-196.28 2751.93,-194.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2752.64,-198.2 2761.9,-193.06 2751.45,-191.3 2752.64,-198.2"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node">
 <title>Node45</title>
 <g id="a_node45"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2440.5,-174 2440.5,-193 2490.5,-193 2490.5,-174 2440.5,-174"/>
-<text text-anchor="middle" x="2465.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">atomic</text>
+<polygon fill="white" stroke="#bfbfbf" points="2434.5,-174 2434.5,-193 2484.5,-193 2484.5,-174 2434.5,-174"/>
+<text text-anchor="middle" x="2459.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">atomic</text>
 </a>
 </g>
 </g>
 <!-- Node39&#45;&gt;Node45 -->
 <g id="edge86" class="edge">
 <title>Node39&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M2365.14,-240.73C2384.71,-229.77 2418.42,-210.88 2441.32,-198.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2443.09,-201.07 2450.1,-193.13 2439.67,-194.96 2443.09,-201.07"/>
+<path fill="none" stroke="midnightblue" d="M2361.74,-240.73C2380.72,-229.82 2413.35,-211.05 2435.65,-198.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2437.58,-201.15 2444.5,-193.13 2434.09,-195.08 2437.58,-201.15"/>
 </g>
 <!-- Node39&#45;&gt;Node46 -->
 <g id="edge87" class="edge">
 <title>Node39&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M2390.13,-240.99C2401.82,-238.77 2414.63,-236.57 2426.5,-235 2634.64,-207.53 2691.92,-241.61 2897.5,-199 2901.01,-198.27 2904.62,-197.33 2908.19,-196.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2909.56,-199.52 2918,-193.11 2907.41,-192.86 2909.56,-199.52"/>
+<path fill="none" stroke="midnightblue" d="M2385.53,-240.96C2396.77,-238.75 2409.08,-236.55 2420.5,-235 2628.54,-206.77 2685.92,-241.61 2891.5,-199 2895.01,-198.27 2898.62,-197.33 2902.19,-196.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2903.56,-199.52 2912,-193.11 2901.41,-192.86 2903.56,-199.52"/>
 </g>
 <!-- Node41&#45;&gt;Node13 -->
 <g id="edge75" class="edge">
 <title>Node41&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M2508.73,-169.33C2505.62,-168.83 2502.53,-168.38 2499.5,-168 1989.4,-104.58 1857.23,-149.47 1343.5,-132 1275.87,-129.7 1197.7,-126.77 1148.44,-124.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1148.5,-121.39 1138.38,-124.5 1148.23,-128.38 1148.5,-121.39"/>
+<path fill="none" stroke="midnightblue" d="M2502.73,-169.33C2499.62,-168.83 2496.53,-168.38 2493.5,-168 1986.05,-104.87 1854.56,-149.42 1343.5,-132 1275.87,-129.69 1197.7,-126.76 1148.44,-124.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1148.5,-121.39 1138.38,-124.5 1148.24,-128.38 1148.5,-121.39"/>
 </g>
 <!-- Node41&#45;&gt;Node18 -->
 <g id="edge76" class="edge">
 <title>Node41&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M2516.65,-168.47C2457.16,-152.01 2353.35,-125.27 2262.5,-112 2015.92,-75.98 1718.44,-68.74 1592.52,-67.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1592.35,-63.82 1582.32,-67.22 1592.28,-70.82 1592.35,-63.82"/>
+<path fill="none" stroke="midnightblue" d="M2511.64,-168.45C2453.35,-151.97 2351.62,-125.22 2262.5,-112 2016,-75.43 1718.48,-68.48 1592.54,-67.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1592.36,-63.73 1582.33,-67.14 1592.29,-70.73 1592.36,-63.73"/>
 </g>
 <!-- Node41&#45;&gt;Node23 -->
 <g id="edge78" class="edge">
 <title>Node41&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2508.72,-169.47C2505.61,-168.93 2502.52,-168.43 2499.5,-168 2272.57,-135.43 2210.71,-153.89 1978.42,-132.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1978.59,-128.53 1968.31,-131.06 1977.93,-135.5 1978.59,-128.53"/>
+<path fill="none" stroke="midnightblue" d="M2502.71,-169.48C2499.61,-168.93 2496.52,-168.44 2493.5,-168 2274.07,-136.25 2214.18,-153.44 1989.44,-132.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1989.6,-128.53 1979.31,-131.05 1988.92,-135.5 1989.6,-128.53"/>
 </g>
 <!-- Node41&#45;&gt;Node25 -->
 <g id="edge77" class="edge">
 <title>Node41&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2544.71,-168.41C2520.6,-152.64 2479.19,-127.31 2440.5,-112 2400.67,-96.24 2353.74,-84.87 2317.24,-77.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2317.73,-74.03 2307.24,-75.53 2316.37,-80.9 2317.73,-74.03"/>
+<path fill="none" stroke="midnightblue" d="M2539.22,-168.48C2515.7,-152.78 2475.3,-127.5 2437.5,-112 2399.87,-96.57 2355.42,-85.14 2321.01,-77.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2321.63,-74.22 2311.12,-75.57 2320.18,-81.07 2321.63,-74.22"/>
 </g>
 <!-- Node41&#45;&gt;Node34 -->
 <g id="edge79" class="edge">
 <title>Node41&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M2508.71,-169.52C2505.6,-168.96 2502.52,-168.45 2499.5,-168 2306.34,-138.98 2255.3,-156.37 2061.5,-132 2054.82,-131.16 2047.69,-130.08 2040.9,-128.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.06,-125.43 2030.61,-127.19 2039.88,-132.33 2041.06,-125.43"/>
+<path fill="none" stroke="midnightblue" d="M2502.71,-169.52C2499.6,-168.97 2496.52,-168.45 2493.5,-168 2302.99,-139.27 2252.08,-160.24 2061.5,-132 2058.25,-131.52 2054.88,-130.94 2051.53,-130.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2052.13,-126.86 2041.64,-128.3 2050.74,-133.72 2052.13,-126.86"/>
 </g>
 <!-- Node42&#45;&gt;Node25 -->
 <g id="edge84" class="edge">
 <title>Node42&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M2814.62,-173.64C2801.91,-158.02 2773.06,-125.94 2740.5,-112 2667.17,-80.61 2438.21,-71.04 2323.46,-68.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2323.47,-64.68 2313.39,-67.94 2323.3,-71.68 2323.47,-64.68"/>
+<path fill="none" stroke="midnightblue" d="M2808.61,-173.65C2795.9,-158.04 2767.04,-125.98 2734.5,-112 2663.75,-81.6 2443.69,-71.58 2331.59,-68.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2331.51,-64.9 2321.41,-68.13 2331.31,-71.9 2331.51,-64.9"/>
 </g>
 <!-- Node42&#45;&gt;Node39 -->
 <g id="edge85" class="edge">
 <title>Node42&#45;&gt;Node39</title>
-<path fill="none" stroke="midnightblue" d="M2785.29,-193.06C2773.87,-195.15 2761.23,-197.28 2749.5,-199 2610.52,-219.39 2574.39,-213.99 2435.5,-235 2427.38,-236.23 2418.81,-237.68 2410.33,-239.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2409.67,-235.75 2400.45,-240.97 2410.91,-242.64 2409.67,-235.75"/>
+<path fill="none" stroke="midnightblue" d="M2779.29,-193.06C2767.87,-195.15 2755.23,-197.28 2743.5,-199 2604.52,-219.39 2568.31,-213.48 2429.5,-235 2421.86,-236.18 2413.81,-237.59 2405.82,-239.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2404.98,-235.66 2395.79,-240.94 2406.27,-242.54 2404.98,-235.66"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node">
 <title>Node43</title>
 <g id="a_node43"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2908.5,-112.5 2908.5,-131.5 2970.5,-131.5 2970.5,-112.5 2908.5,-112.5"/>
-<text text-anchor="middle" x="2939.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2902.5,-112.5 2902.5,-131.5 2964.5,-131.5 2964.5,-112.5 2902.5,-112.5"/>
+<text text-anchor="middle" x="2933.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
 </a>
 </g>
 </g>
 <!-- Node42&#45;&gt;Node43 -->
 <g id="edge82" class="edge">
 <title>Node42&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M2838.41,-173.98C2858.03,-164.08 2890.63,-147.64 2913.49,-136.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2915.27,-139.14 2922.62,-131.51 2912.12,-132.89 2915.27,-139.14"/>
+<path fill="none" stroke="midnightblue" d="M2832.41,-173.98C2852.03,-164.08 2884.63,-147.64 2907.49,-136.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2909.27,-139.14 2916.62,-131.51 2906.12,-132.89 2909.27,-139.14"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node">
 <title>Node44</title>
 <g id="a_node44"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2793,-112.5 2793,-131.5 2890,-131.5 2890,-112.5 2793,-112.5"/>
-<text text-anchor="middle" x="2841.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2787,-112.5 2787,-131.5 2884,-131.5 2884,-112.5 2787,-112.5"/>
+<text text-anchor="middle" x="2835.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node42&#45;&gt;Node44 -->
 <g id="edge83" class="edge">
 <title>Node42&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M2824.37,-173.98C2827.22,-165.49 2831.68,-152.2 2835.34,-141.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2838.77,-142.1 2838.64,-131.51 2832.14,-139.87 2838.77,-142.1"/>
+<path fill="none" stroke="midnightblue" d="M2818.37,-173.98C2821.22,-165.49 2825.68,-152.2 2829.34,-141.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2832.77,-142.1 2832.64,-131.51 2826.14,-139.87 2832.77,-142.1"/>
 </g>
 <!-- Node49&#45;&gt;Node6 -->
 <g id="edge107" class="edge">
@@ -1233,8 +1233,8 @@
 <!-- Node49&#45;&gt;Node34 -->
 <g id="edge112" class="edge">
 <title>Node49&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M1097.64,-488.57C1168.96,-485.33 1322.09,-475.17 1447.5,-445 1626.3,-401.98 2022.27,-280.26 2077.5,-199 2085.24,-187.6 2084.06,-180.11 2077.5,-168 2069.4,-153.04 2053.93,-142.27 2039.69,-135.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.14,-131.84 2030.6,-130.76 2038.17,-138.17 2041.14,-131.84"/>
+<path fill="none" stroke="midnightblue" d="M1097.64,-488.57C1168.96,-485.33 1322.09,-475.17 1447.5,-445 1626.3,-401.98 2022.27,-280.26 2077.5,-199 2085.24,-187.6 2083.56,-180.37 2077.5,-168 2070.98,-154.68 2058.4,-144.18 2046.63,-136.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2048.28,-133.59 2037.89,-131.53 2044.73,-139.62 2048.28,-133.59"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/axis__group__graph_8h.html b/docs/reference/api/doxygen/axis__group__graph_8h.html
index 38d708e4a1..fcee6fd6cb 100644
--- a/docs/reference/api/doxygen/axis__group__graph_8h.html
+++ b/docs/reference/api/doxygen/axis__group__graph_8h.html
@@ -90,7 +90,7 @@ $(function() {
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for axis_group_graph.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="axis__group__graph_8h__incl.svg" width="7783" height="1663"><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="axis__group__graph_8h__incl.svg" width="7775" height="1663"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/axis__group__graph_8h__incl.svg b/docs/reference/api/doxygen/axis__group__graph_8h__incl.svg
index f00901045c..35b126e299 100644
--- a/docs/reference/api/doxygen/axis__group__graph_8h__incl.svg
+++ b/docs/reference/api/doxygen/axis__group__graph_8h__incl.svg
@@ -4,18 +4,18 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/relax/distributed/axis_group_graph.h Pages: 1 -->
-<svg width="5837pt" height="1247pt"
- viewBox="0.00 0.00 5836.81 1247.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="5831pt" height="1247pt"
+ viewBox="0.00 0.00 5830.80 1247.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 1243)">
 <title>include/tvm/relax/distributed/axis_group_graph.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1243 5832.81,-1243 5832.81,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1243 5826.8,-1243 5826.8,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="2446,-1208.5 2446,-1238.5 2604,-1238.5 2604,-1208.5 2446,-1208.5"/>
-<text text-anchor="start" x="2454" y="-1226.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
-<text text-anchor="middle" x="2525" y="-1215.5" font-family="Helvetica,sans-Serif" font-size="10.00">/axis_group_graph.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="2457,-1208.5 2457,-1238.5 2615,-1238.5 2615,-1208.5 2457,-1208.5"/>
+<text text-anchor="start" x="2465" y="-1226.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
+<text text-anchor="middle" x="2536" y="-1215.5" font-family="Helvetica,sans-Serif" font-size="10.00">/axis_group_graph.h</text>
 </a>
 </g>
 </g>
@@ -23,17 +23,17 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="iter__affine__map_8h.html" target="_top" xlink:title="Iterator quasi&#45;affine mapping patterns.">
-<polygon fill="white" stroke="black" points="1260,-962.5 1260,-992.5 1374,-992.5 1374,-962.5 1260,-962.5"/>
-<text text-anchor="start" x="1268" y="-980.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/iter_affine</text>
-<text text-anchor="middle" x="1317" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
+<polygon fill="white" stroke="black" points="1187,-962.5 1187,-992.5 1301,-992.5 1301,-962.5 1187,-962.5"/>
+<text text-anchor="start" x="1195" y="-980.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/iter_affine</text>
+<text text-anchor="middle" x="1244" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M2445.86,-1221.15C2261.08,-1215.66 1789.31,-1187.97 1426,-1049 1394.73,-1037.04 1363.06,-1015.23 1341.97,-999.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1343.91,-996.09 1333.88,-992.68 1339.59,-1001.6 1343.91,-996.09"/>
+<path fill="none" stroke="midnightblue" d="M2456.67,-1222.37C2262.07,-1219.62 1748.12,-1197.67 1353,-1049 1321.67,-1037.21 1290,-1015.37 1268.93,-999.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1270.88,-996.19 1260.86,-992.75 1266.55,-1001.68 1270.88,-996.19"/>
 </g>
 <!-- Node19 -->
 <g id="node19" class="node">
@@ -47,7 +47,7 @@
 <!-- Node1&#45;&gt;Node19 -->
 <g id="edge333" class="edge">
 <title>Node1&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M2445.7,-1222.7C2060.35,-1223.42 392.74,-1223.49 167,-1172 87.49,-1153.87 0,-1177.55 0,-1096 0,-1096 0,-1096 0,-182.5 0,-97 95.24,-129.2 179,-112 327.48,-81.51 1442.98,-69.32 1650,-67.31"/>
+<path fill="none" stroke="midnightblue" d="M2456.68,-1222.7C2070.32,-1223.4 394.82,-1223.46 168,-1172 88.08,-1153.87 0,-1177.95 0,-1096 0,-1096 0,-1096 0,-182.5 0,-97 95.24,-129.2 179,-112 327.48,-81.51 1442.98,-69.32 1650,-67.31"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1650.26,-70.8 1660.22,-67.21 1650.19,-63.8 1650.26,-70.8"/>
 </g>
 <!-- Node29 -->
@@ -62,8 +62,8 @@
 <!-- Node1&#45;&gt;Node29 -->
 <g id="edge334" class="edge">
 <title>Node1&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M2445.77,-1222.71C2021.55,-1223.32 38,-1219.55 38,-1096 38,-1096 38,-1096 38,-624 38,-390.26 100.11,-289.15 300,-168 343.71,-141.51 494.6,-129.2 562.92,-124.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="563.38,-128.37 573.15,-124.27 562.95,-121.38 563.38,-128.37"/>
+<path fill="none" stroke="midnightblue" d="M2456.77,-1222.73C2031.41,-1223.43 38,-1220.13 38,-1096 38,-1096 38,-1096 38,-624 38,-390.48 99.27,-288.98 299,-168 342.86,-141.43 494.26,-129.17 562.81,-124.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="563.3,-128.36 573.07,-124.26 562.87,-121.37 563.3,-128.36"/>
 </g>
 <!-- Node35 -->
 <g id="node35" class="node">
@@ -77,7 +77,7 @@
 <!-- Node1&#45;&gt;Node35 -->
 <g id="edge329" class="edge">
 <title>Node1&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2604.28,-1221.32C2959.11,-1215.53 4384,-1186.63 4384,-1096 4384,-1096 4384,-1096 4384,-792 4384,-710.86 4460,-707.14 4460,-626 4460,-626 4460,-626 4460,-495.5 4460,-392.39 4413.12,-365.65 4332,-302 4315.86,-289.34 4179.76,-240.51 4160,-235 4070.05,-209.93 4036.54,-240.72 3953,-199 3935,-190.01 3938.54,-175.83 3920,-168 3874.38,-148.74 3117.67,-128.13 2951.21,-123.82"/>
+<path fill="none" stroke="midnightblue" d="M2615.11,-1221.29C2968.34,-1215.38 4384,-1186.07 4384,-1096 4384,-1096 4384,-1096 4384,-792 4384,-710.86 4460,-707.14 4460,-626 4460,-626 4460,-626 4460,-495.5 4460,-392.39 4413.12,-365.65 4332,-302 4315.86,-289.34 4179.76,-240.51 4160,-235 4070.05,-209.93 4036.54,-240.72 3953,-199 3935,-190.01 3938.54,-175.83 3920,-168 3874.38,-148.74 3117.67,-128.13 2951.21,-123.82"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2951.2,-120.32 2941.12,-123.56 2951.02,-127.32 2951.2,-120.32"/>
 </g>
 <!-- Node48 -->
@@ -92,7 +92,7 @@
 <!-- Node1&#45;&gt;Node48 -->
 <g id="edge328" class="edge">
 <title>Node1&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M2525,-1208.46C2525,-1185.12 2525,-1136.85 2525,-1096 2525,-1096 2525,-1096 2525,-1038 2525,-940.43 2291.67,-781.81 2256,-691 2243.63,-659.49 2237.76,-646.15 2251,-615 2325.87,-438.82 2532.6,-306.56 2603.65,-265.15"/>
+<path fill="none" stroke="midnightblue" d="M2536,-1208.46C2536,-1185.12 2536,-1136.85 2536,-1096 2536,-1096 2536,-1096 2536,-1038 2536,-938.92 2293.12,-782.87 2256,-691 2243.32,-659.61 2237.76,-646.15 2251,-615 2325.87,-438.82 2532.6,-306.56 2603.65,-265.15"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2605.45,-268.15 2612.37,-260.12 2601.96,-262.08 2605.45,-268.15"/>
 </g>
 <!-- Node51 -->
@@ -107,7 +107,7 @@
 <!-- Node1&#45;&gt;Node51 -->
 <g id="edge327" class="edge">
 <title>Node1&#45;&gt;Node51</title>
-<path fill="none" stroke="midnightblue" d="M2604.1,-1220.7C2935.35,-1212.65 4194,-1176.75 4194,-1096 4194,-1096 4194,-1096 4194,-848 4194,-647.25 3909.47,-541.8 3801.18,-508.94"/>
+<path fill="none" stroke="midnightblue" d="M2615.13,-1220.66C2945.05,-1212.47 4194,-1176.18 4194,-1096 4194,-1096 4194,-1096 4194,-848 4194,-647.25 3909.47,-541.8 3801.18,-508.94"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3802.14,-505.58 3791.56,-506.07 3800.14,-512.28 3802.14,-505.58"/>
 </g>
 <!-- Node55 -->
@@ -122,7 +122,7 @@
 <!-- Node1&#45;&gt;Node55 -->
 <g id="edge331" class="edge">
 <title>Node1&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M2445.86,-1221.86C2111.81,-1218.93 826.14,-1205.58 648,-1172 550.05,-1153.54 437,-1195.68 437,-1096 437,-1096 437,-1096 437,-848 437,-721.3 867.94,-609.68 1014.72,-575.34"/>
+<path fill="none" stroke="midnightblue" d="M2456.96,-1221.87C2121.84,-1218.99 827.29,-1205.78 648,-1172 550.05,-1153.54 437,-1195.68 437,-1096 437,-1096 437,-1096 437,-848 437,-721.3 867.94,-609.68 1014.72,-575.34"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1015.83,-578.68 1024.78,-573 1014.25,-571.86 1015.83,-578.68"/>
 </g>
 <!-- Node68 -->
@@ -137,39 +137,39 @@
 <!-- Node1&#45;&gt;Node68 -->
 <g id="edge332" class="edge">
 <title>Node1&#45;&gt;Node68</title>
-<path fill="none" stroke="midnightblue" d="M2445.82,-1221.74C2073.27,-1217.65 513,-1194.63 513,-1096 513,-1096 513,-1096 513,-909.5 513,-812.07 835.33,-723.17 957.66,-692.94"/>
+<path fill="none" stroke="midnightblue" d="M2456.7,-1221.76C2082.67,-1217.79 513,-1195.19 513,-1096 513,-1096 513,-1096 513,-909.5 513,-812.07 835.33,-723.17 957.66,-692.94"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="958.62,-696.31 967.5,-690.53 956.95,-689.51 958.62,-696.31"/>
 </g>
 <!-- Node70 -->
 <g id="node70" class="node">
 <title>Node70</title>
 <g id="a_node70"><a xlink:href="distributed_2struct__info_8h.html" target="_top" xlink:title="Struct info for DTensor (Distributed Tensor)">
-<polygon fill="white" stroke="black" points="2377.5,-1141.5 2377.5,-1171.5 2496.5,-1171.5 2496.5,-1141.5 2377.5,-1141.5"/>
-<text text-anchor="start" x="2385.5" y="-1159.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/distributed</text>
-<text text-anchor="middle" x="2437" y="-1148.5" font-family="Helvetica,sans-Serif" font-size="10.00">/struct_info.h</text>
+<polygon fill="white" stroke="black" points="2388.5,-1141.5 2388.5,-1171.5 2507.5,-1171.5 2507.5,-1141.5 2388.5,-1141.5"/>
+<text text-anchor="start" x="2396.5" y="-1159.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/distributed</text>
+<text text-anchor="middle" x="2448" y="-1148.5" font-family="Helvetica,sans-Serif" font-size="10.00">/struct_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node70 -->
 <g id="edge226" class="edge">
 <title>Node1&#45;&gt;Node70</title>
-<path fill="none" stroke="midnightblue" d="M2505.91,-1208.4C2493.68,-1199.37 2477.63,-1187.51 2464.1,-1177.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2466.18,-1174.7 2456.06,-1171.58 2462.02,-1180.33 2466.18,-1174.7"/>
+<path fill="none" stroke="midnightblue" d="M2516.91,-1208.4C2504.68,-1199.37 2488.63,-1187.51 2475.1,-1177.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2477.18,-1174.7 2467.06,-1171.58 2473.02,-1180.33 2477.18,-1174.7"/>
 </g>
 <!-- Node77 -->
 <g id="node77" class="node">
 <title>Node77</title>
 <g id="a_node77"><a xlink:href="relax_2expr_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2514.5,-901 2514.5,-920 2611.5,-920 2611.5,-901 2514.5,-901"/>
-<text text-anchor="middle" x="2563" y="-908" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/expr.h</text>
+<polygon fill="white" stroke="black" points="2525.5,-901 2525.5,-920 2622.5,-920 2622.5,-901 2525.5,-901"/>
+<text text-anchor="middle" x="2574" y="-908" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node77 -->
 <g id="edge306" class="edge">
 <title>Node1&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M2532.15,-1208.5C2543.16,-1185.59 2563,-1138.42 2563,-1096 2563,-1096 2563,-1096 2563,-1038 2563,-999.7 2563,-954.88 2563,-930.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2566.5,-930.09 2563,-920.09 2559.5,-930.09 2566.5,-930.09"/>
+<path fill="none" stroke="midnightblue" d="M2543.15,-1208.5C2554.16,-1185.59 2574,-1138.42 2574,-1096 2574,-1096 2574,-1096 2574,-1038 2574,-999.7 2574,-954.88 2574,-930.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2577.5,-930.09 2574,-920.09 2570.5,-930.09 2577.5,-930.09"/>
 </g>
 <!-- Node84 -->
 <g id="node84" class="node">
@@ -183,7 +183,7 @@
 <!-- Node1&#45;&gt;Node84 -->
 <g id="edge307" class="edge">
 <title>Node1&#45;&gt;Node84</title>
-<path fill="none" stroke="midnightblue" d="M2604.1,-1222.91C2951.18,-1224.38 4325.41,-1226.72 4398,-1172 4426.29,-1150.68 4422,-1131.42 4422,-1096 4422,-1096 4422,-1096 4422,-976.5 4422,-935.9 4441.35,-891.38 4453.46,-867.49"/>
+<path fill="none" stroke="midnightblue" d="M2615.21,-1222.9C2961.21,-1224.3 4325.88,-1226.37 4398,-1172 4426.28,-1150.68 4422,-1131.42 4422,-1096 4422,-1096 4422,-1096 4422,-976.5 4422,-935.9 4441.35,-891.38 4453.46,-867.49"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4456.59,-869.06 4458.14,-858.58 4450.39,-865.81 4456.59,-869.06"/>
 </g>
 <!-- Node86 -->
@@ -198,7 +198,7 @@
 <!-- Node1&#45;&gt;Node86 -->
 <g id="edge316" class="edge">
 <title>Node1&#45;&gt;Node86</title>
-<path fill="none" stroke="midnightblue" d="M2604.18,-1221.65C2960.41,-1217.69 4398.85,-1199.99 4436,-1172 4464.29,-1150.69 4460,-1131.42 4460,-1096 4460,-1096 4460,-1096 4460,-1038 4460,-994.15 4491.83,-950.65 4511.61,-927.85"/>
+<path fill="none" stroke="midnightblue" d="M2615.02,-1221.64C2969.7,-1217.64 4399.07,-1199.82 4436,-1172 4464.29,-1150.68 4460,-1131.42 4460,-1096 4460,-1096 4460,-1096 4460,-1038 4460,-994.15 4491.83,-950.65 4511.61,-927.85"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4514.44,-929.94 4518.51,-920.17 4509.23,-925.27 4514.44,-929.94"/>
 </g>
 <!-- Node88 -->
@@ -213,7 +213,7 @@
 <!-- Node1&#45;&gt;Node88 -->
 <g id="edge330" class="edge">
 <title>Node1&#45;&gt;Node88</title>
-<path fill="none" stroke="midnightblue" d="M2604.03,-1222.16C2946,-1220.44 4289.31,-1211.24 4474,-1172 4476.83,-1171.4 4479.73,-1170.57 4482.58,-1169.62"/>
+<path fill="none" stroke="midnightblue" d="M2615.16,-1222.14C2956.12,-1220.38 4290.46,-1211.01 4474,-1172 4476.83,-1171.4 4479.73,-1170.57 4482.58,-1169.62"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4483.87,-1172.87 4491.96,-1166.03 4481.37,-1166.34 4483.87,-1172.87"/>
 </g>
 <!-- Node3 -->
@@ -228,8 +228,8 @@
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1259.87,-963.14C1152.18,-937.96 921.13,-883.94 822.34,-860.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="822.9,-857.37 812.36,-858.5 821.3,-864.19 822.9,-857.37"/>
+<path fill="none" stroke="midnightblue" d="M1192.13,-962.48C1098.48,-937.17 902.98,-884.32 817.5,-861.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="818.2,-857.78 807.64,-858.55 816.38,-864.54 818.2,-857.78"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node">
@@ -243,8 +243,8 @@
 <!-- Node2&#45;&gt;Node5 -->
 <g id="edge224" class="edge">
 <title>Node2&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1374.11,-966.66C1545.62,-936.26 2070.04,-836.94 2486,-691 2580.51,-657.84 2686.53,-603.11 2733.43,-577.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2735.37,-580.86 2742.51,-573.03 2732.05,-574.7 2735.37,-580.86"/>
+<path fill="none" stroke="midnightblue" d="M1301.19,-967.74C1479.76,-939.48 2041.57,-843.54 2486,-691 2580.73,-658.48 2686.64,-603.43 2733.47,-578.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2735.43,-580.97 2742.54,-573.11 2732.08,-574.82 2735.43,-580.97"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node">
@@ -259,7 +259,7 @@
 <!-- Node2&#45;&gt;Node6 -->
 <g id="edge158" class="edge">
 <title>Node2&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1259.78,-976.94C1027.96,-977.2 171,-962.94 171,-738 171,-738 171,-738 171,-680 171,-580.21 207.03,-554.06 275,-481 431.58,-312.69 509.19,-298.96 730,-235 869.25,-194.66 1040.81,-186.11 1129.55,-184.57"/>
+<path fill="none" stroke="midnightblue" d="M1186.69,-976.14C964.34,-973.21 171,-948.03 171,-738 171,-738 171,-738 171,-680 171,-580.21 207.03,-554.06 275,-481 431.58,-312.69 509.19,-298.96 730,-235 869.25,-194.66 1040.81,-186.11 1129.55,-184.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1129.74,-188.07 1139.69,-184.42 1129.64,-181.07 1129.74,-188.07"/>
 </g>
 <!-- Node54 -->
@@ -274,23 +274,23 @@
 <!-- Node2&#45;&gt;Node54 -->
 <g id="edge225" class="edge">
 <title>Node2&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M1374.22,-975.05C1556.47,-970.21 2121.97,-953.31 2303,-926 2623.08,-877.71 2701.31,-847.55 3009,-747 3111.31,-713.57 3228.57,-662.38 3281.05,-638.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3282.7,-641.85 3290.37,-634.54 3279.82,-635.47 3282.7,-641.85"/>
+<path fill="none" stroke="midnightblue" d="M1301.27,-975.34C1493.57,-971.2 2115.15,-955.79 2313,-926 2628.84,-878.44 2705.57,-846.73 3009,-747 3111.25,-713.39 3228.54,-662.29 3281.04,-638.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3282.69,-641.82 3290.37,-634.52 3279.81,-635.44 3282.69,-641.82"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
 <title>Node59</title>
 <g id="a_node59"><a xlink:href="diagnostic_8h.html" target="_top" xlink:title="A new diagnostic interface for TVM error reporting.">
-<polygon fill="white" stroke="black" points="1263,-901 1263,-920 1371,-920 1371,-901 1263,-901"/>
-<text text-anchor="middle" x="1317" y="-908" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/diagnostic.h</text>
+<polygon fill="white" stroke="black" points="1190,-901 1190,-920 1298,-920 1298,-901 1190,-901"/>
+<text text-anchor="middle" x="1244" y="-908" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/diagnostic.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node59 -->
 <g id="edge159" class="edge">
 <title>Node2&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M1317,-962.4C1317,-953.06 1317,-940.71 1317,-930.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1320.5,-930.19 1317,-920.19 1313.5,-930.19 1320.5,-930.19"/>
+<path fill="none" stroke="midnightblue" d="M1244,-962.4C1244,-953.06 1244,-940.71 1244,-930.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1247.5,-930.19 1244,-920.19 1240.5,-930.19 1247.5,-930.19"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
@@ -322,13 +322,13 @@
 <!-- Node3&#45;&gt;Node29 -->
 <g id="edge157" class="edge">
 <title>Node3&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M718.39,-846.01C583.32,-837.74 249.27,-795.33 138,-579 129.66,-562.79 140.15,-497.95 146,-481 172.54,-404.08 268.75,-213.81 336,-168 372.55,-143.1 501.55,-130.21 563.42,-125.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="563.75,-128.83 573.45,-124.58 563.21,-121.85 563.75,-128.83"/>
+<path fill="none" stroke="midnightblue" d="M718.39,-846.01C583.32,-837.74 249.27,-795.33 138,-579 130.14,-563.73 138.69,-499.65 145,-481 171.1,-403.81 268.6,-213.79 336,-168 372.58,-143.14 501.57,-130.23 563.42,-125.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="563.75,-128.84 573.45,-124.58 563.22,-121.86 563.75,-128.84"/>
 </g>
 <!-- Node3&#45;&gt;Node48 -->
 <g id="edge154" class="edge">
 <title>Node3&#45;&gt;Node48</title>
-<path fill="none" stroke="midnightblue" d="M833.94,-846.8C963.53,-843.62 1273.22,-833.02 1373,-803 1703,-703.72 1735.22,-565.25 2050,-425 2120.35,-393.65 2140.48,-391.97 2214,-369 2355.43,-324.82 2526.19,-278.57 2595.96,-259.98"/>
+<path fill="none" stroke="midnightblue" d="M833.99,-847.14C967.76,-844.61 1294.47,-835.23 1399,-803 1718.72,-704.42 1745.55,-563.73 2050,-425 2120.09,-393.06 2140.48,-391.97 2214,-369 2355.43,-324.82 2526.19,-278.57 2595.96,-259.98"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2597.12,-263.29 2605.89,-257.34 2595.32,-256.53 2597.12,-263.29"/>
 </g>
 <!-- Node3&#45;&gt;Node55 -->
@@ -449,16 +449,16 @@
 <g id="node24" class="node">
 <title>Node24</title>
 <g id="a_node24"><a xlink:href="object_8h.html" target="_top" xlink:title="A managed object in the TVM runtime.">
-<polygon fill="white" stroke="black" points="5421.5,-112.5 5421.5,-131.5 5540.5,-131.5 5540.5,-112.5 5421.5,-112.5"/>
-<text text-anchor="middle" x="5481" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
+<polygon fill="white" stroke="black" points="5415.5,-112.5 5415.5,-131.5 5534.5,-131.5 5534.5,-112.5 5415.5,-112.5"/>
+<text text-anchor="middle" x="5475" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node5&#45;&gt;Node24 -->
 <g id="edge112" class="edge">
 <title>Node5&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2797.55,-562.34C2941.72,-561.42 3452.51,-555.1 3871,-512 4553.93,-441.66 4768.18,-543.82 5396,-266 5439.67,-246.68 5459,-241.89 5480,-199 5488.78,-181.07 5487.53,-157.79 5485.04,-141.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5488.41,-140.71 5483.14,-131.52 5481.53,-141.99 5488.41,-140.71"/>
+<path fill="none" stroke="midnightblue" d="M2797.55,-562.34C2941.72,-561.41 3452.5,-555.06 3871,-512 4368.52,-460.8 4488.34,-413.3 4982,-333 5163.38,-303.5 5222.06,-340.6 5390,-266 5433.64,-246.61 5453,-241.89 5474,-199 5482.78,-181.07 5481.53,-157.79 5479.04,-141.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5482.41,-140.71 5477.14,-131.52 5475.53,-141.99 5482.41,-140.71"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node">
@@ -559,8 +559,8 @@
 <!-- Node8&#45;&gt;Node24 -->
 <g id="edge98" class="edge">
 <title>Node8&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M1921.52,-430.81C1958.38,-428.89 2006.96,-426.53 2050,-425 2745.3,-400.28 2920.08,-422.69 3615,-389 3707.48,-384.52 5187.06,-287.99 5277,-266 5350.3,-248.08 5375.61,-247.99 5433,-199 5451.68,-183.06 5465.53,-158 5473.43,-141.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5476.72,-142.27 5477.57,-131.71 5470.32,-139.44 5476.72,-142.27"/>
+<path fill="none" stroke="midnightblue" d="M1921.52,-430.81C1958.38,-428.89 2006.96,-426.53 2050,-425 2745.3,-400.28 2920.08,-422.78 3615,-389 3707.14,-384.52 5181.39,-287.92 5271,-266 5344.3,-248.07 5369.61,-247.99 5427,-199 5445.68,-183.06 5459.53,-158 5467.43,-141.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5470.72,-142.27 5471.57,-131.71 5464.32,-139.44 5470.72,-142.27"/>
 </g>
 <!-- Node8&#45;&gt;Node29 -->
 <g id="edge102" class="edge">
@@ -608,16 +608,16 @@
 <g id="node12" class="node">
 <title>Node12</title>
 <g id="a_node12"><a xlink:href="cast_8h.html" target="_top" xlink:title="Value casting helpers.">
-<polygon fill="white" stroke="black" points="5223.5,-174 5223.5,-193 5318.5,-193 5318.5,-174 5223.5,-174"/>
-<text text-anchor="middle" x="5271" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/cast.h</text>
+<polygon fill="white" stroke="black" points="5217.5,-174 5217.5,-193 5312.5,-193 5312.5,-174 5217.5,-174"/>
+<text text-anchor="middle" x="5265" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/cast.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node12 -->
 <g id="edge12" class="edge">
 <title>Node10&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M3605.58,-371.84C3724.26,-357.32 4034.17,-320.77 4294,-302 4389.83,-295.08 5067.2,-297.43 5158,-266 5197.58,-252.3 5235.31,-219.85 5255.59,-200.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5258.29,-202.53 5262.94,-193.01 5253.37,-197.56 5258.29,-202.53"/>
+<path fill="none" stroke="midnightblue" d="M3605.58,-371.84C3724.26,-357.34 4034.18,-320.81 4294,-302 4389.17,-295.11 5061.84,-297.22 5152,-266 5191.57,-252.29 5229.31,-219.85 5249.59,-200.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5252.29,-202.53 5256.94,-193.01 5247.37,-197.55 5252.29,-202.53"/>
 </g>
 <!-- Node10&#45;&gt;Node19 -->
 <g id="edge96" class="edge">
@@ -643,23 +643,23 @@
 <!-- Node10&#45;&gt;Node24 -->
 <g id="edge93" class="edge">
 <title>Node10&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M3605.73,-374.59C3706.68,-367.57 3942.9,-350.68 4141,-333 4276.71,-320.89 4310.12,-312.15 4446,-302 4780.12,-277.05 4869.7,-327.8 5199,-266 5291.14,-248.71 5318.37,-246.82 5399,-199 5426.01,-182.98 5451.63,-156.85 5466.83,-139.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5469.86,-141.64 5473.78,-131.8 5464.58,-137.05 5469.86,-141.64"/>
+<path fill="none" stroke="midnightblue" d="M3605.73,-374.59C3706.68,-367.57 3942.9,-350.68 4141,-333 4276.71,-320.89 4310.13,-312.17 4446,-302 4777.46,-277.19 4866.33,-327.37 5193,-266 5285.13,-248.69 5312.37,-246.82 5393,-199 5420.01,-182.98 5445.63,-156.85 5460.83,-139.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5463.86,-141.64 5467.78,-131.8 5458.58,-137.05 5463.86,-141.64"/>
 </g>
 <!-- Node25 -->
 <g id="node25" class="node">
 <title>Node25</title>
 <g id="a_node25"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5708.5,-56.5 5708.5,-75.5 5821.5,-75.5 5821.5,-56.5 5708.5,-56.5"/>
-<text text-anchor="middle" x="5765" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="5702.5,-56.5 5702.5,-75.5 5815.5,-75.5 5815.5,-56.5 5702.5,-56.5"/>
+<text text-anchor="middle" x="5759" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
 </a>
 </g>
 </g>
 <!-- Node10&#45;&gt;Node25 -->
 <g id="edge92" class="edge">
 <title>Node10&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M3605.66,-375.18C3725.99,-368.32 4042.73,-350.04 4307,-333 4640.3,-311.5 5581.36,-447.97 5804,-199 5829.78,-170.18 5818.74,-148.14 5805,-112 5800.66,-100.6 5791.97,-90.24 5783.79,-82.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5786.04,-79.66 5776.27,-75.57 5781.36,-84.86 5786.04,-79.66"/>
+<path fill="none" stroke="midnightblue" d="M3605.66,-375.19C3725.99,-368.34 4042.73,-350.1 4307,-333 4638.97,-311.52 5576.24,-446.98 5798,-199 5823.78,-170.18 5812.74,-148.14 5799,-112 5794.66,-100.6 5785.97,-90.24 5777.79,-82.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5780.04,-79.66 5770.27,-75.57 5775.36,-84.86 5780.04,-79.66"/>
 </g>
 <!-- Node10&#45;&gt;Node28 -->
 <g id="edge95" class="edge">
@@ -723,89 +723,89 @@
 <!-- Node12&#45;&gt;Node13 -->
 <g id="edge13" class="edge">
 <title>Node12&#45;&gt;Node13</title>
-<path fill="none" stroke="midnightblue" d="M5223.28,-174.24C5208.2,-171.9 5191.44,-169.56 5176,-168 4857.42,-135.88 4772.02,-169.2 4449.8,-131.91"/>
+<path fill="none" stroke="midnightblue" d="M5217.28,-174.25C5202.2,-171.9 5185.44,-169.56 5170,-168 4854.05,-136.08 4769.36,-168.96 4449.71,-131.9"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4450.04,-128.41 4439.7,-130.72 4449.23,-135.36 4450.04,-128.41"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node">
 <title>Node14</title>
 <g id="a_node14"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5444.5,-56.5 5444.5,-75.5 5525.5,-75.5 5525.5,-56.5 5444.5,-56.5"/>
-<text text-anchor="middle" x="5485" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5438.5,-56.5 5438.5,-75.5 5519.5,-75.5 5519.5,-56.5 5438.5,-56.5"/>
+<text text-anchor="middle" x="5479" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node14 -->
 <g id="edge14" class="edge">
 <title>Node12&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M5287.08,-173.82C5324.12,-153.83 5415.65,-104.43 5460.05,-80.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5461.88,-83.45 5469.02,-75.62 5458.56,-77.29 5461.88,-83.45"/>
+<path fill="none" stroke="midnightblue" d="M5281.08,-173.82C5318.12,-153.83 5409.65,-104.43 5454.05,-80.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5455.88,-83.45 5463.02,-75.62 5452.56,-77.29 5455.88,-83.45"/>
 </g>
 <!-- Node15 -->
 <g id="node15" class="node">
 <title>Node15</title>
 <g id="a_node15"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4968.5,-112.5 4968.5,-131.5 5057.5,-131.5 5057.5,-112.5 4968.5,-112.5"/>
-<text text-anchor="middle" x="5013" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4967.5,-112.5 4967.5,-131.5 5056.5,-131.5 5056.5,-112.5 4967.5,-112.5"/>
+<text text-anchor="middle" x="5012" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node15 -->
 <g id="edge15" class="edge">
 <title>Node12&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M5234.62,-173.96C5226.21,-172 5217.29,-169.92 5209,-168 5158.31,-156.25 5100.22,-142.93 5060.52,-133.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5061.11,-130.4 5050.58,-131.58 5059.55,-137.22 5061.11,-130.4"/>
+<path fill="none" stroke="midnightblue" d="M5228.75,-173.98C5183.85,-163.42 5107.29,-145.41 5058.22,-133.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5058.72,-130.39 5048.18,-131.51 5057.11,-137.21 5058.72,-130.39"/>
 </g>
 <!-- Node16 -->
 <g id="node16" class="node">
 <title>Node16</title>
 <g id="a_node16"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5159.5,-112.5 5159.5,-131.5 5242.5,-131.5 5242.5,-112.5 5159.5,-112.5"/>
-<text text-anchor="middle" x="5201" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5153.5,-112.5 5153.5,-131.5 5236.5,-131.5 5236.5,-112.5 5153.5,-112.5"/>
+<text text-anchor="middle" x="5195" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node16 -->
 <g id="edge16" class="edge">
 <title>Node12&#45;&gt;Node16</title>
-<path fill="none" stroke="midnightblue" d="M5260.97,-173.98C5249.95,-164.61 5232.04,-149.38 5218.66,-138.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5220.9,-135.32 5211.01,-131.51 5216.36,-140.65 5220.9,-135.32"/>
+<path fill="none" stroke="midnightblue" d="M5254.97,-173.98C5243.95,-164.61 5226.04,-149.38 5212.66,-138.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5214.9,-135.32 5205.01,-131.51 5210.36,-140.65 5214.9,-135.32"/>
 </g>
 <!-- Node17 -->
 <g id="node17" class="node">
 <title>Node17</title>
 <g id="a_node17"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5335.5,-56.5 5335.5,-75.5 5426.5,-75.5 5426.5,-56.5 5335.5,-56.5"/>
-<text text-anchor="middle" x="5381" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5329.5,-56.5 5329.5,-75.5 5420.5,-75.5 5420.5,-56.5 5329.5,-56.5"/>
+<text text-anchor="middle" x="5375" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node17 -->
 <g id="edge17" class="edge">
 <title>Node12&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M5279.27,-173.82C5297.58,-154.59 5341.82,-108.14 5365.47,-83.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5368.27,-85.44 5372.64,-75.78 5363.21,-80.61 5368.27,-85.44"/>
+<path fill="none" stroke="midnightblue" d="M5273.27,-173.82C5291.58,-154.59 5335.82,-108.14 5359.47,-83.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5362.27,-85.44 5366.64,-75.78 5357.21,-80.61 5362.27,-85.44"/>
 </g>
 <!-- Node18 -->
 <g id="node18" class="node">
 <title>Node18</title>
 <g id="a_node18"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5216.5,-56.5 5216.5,-75.5 5317.5,-75.5 5317.5,-56.5 5216.5,-56.5"/>
-<text text-anchor="middle" x="5267" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5210.5,-56.5 5210.5,-75.5 5311.5,-75.5 5311.5,-56.5 5210.5,-56.5"/>
+<text text-anchor="middle" x="5261" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
 </a>
 </g>
 </g>
 <!-- Node12&#45;&gt;Node18 -->
 <g id="edge18" class="edge">
 <title>Node12&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M5270.7,-173.82C5270.06,-155.26 5268.54,-111.34 5267.66,-85.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5271.15,-85.65 5267.3,-75.78 5264.15,-85.9 5271.15,-85.65"/>
+<path fill="none" stroke="midnightblue" d="M5264.7,-173.82C5264.06,-155.26 5262.54,-111.34 5261.66,-85.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5265.15,-85.65 5261.3,-75.78 5258.15,-85.9 5265.15,-85.65"/>
 </g>
 <!-- Node12&#45;&gt;Node19 -->
 <g id="edge19" class="edge">
 <title>Node12&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M5252.69,-173.93C5217.6,-158.02 5138.06,-124.42 5067,-112 4892.82,-81.56 2053.16,-68.57 1715.7,-67.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1715.61,-63.64 1705.59,-67.09 1715.58,-70.64 1715.61,-63.64"/>
+<path fill="none" stroke="midnightblue" d="M5247.16,-173.93C5212.98,-158.02 5135.46,-124.42 5066,-112 4891.99,-80.89 2053.07,-68.49 1715.69,-67.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1715.6,-63.63 1705.59,-67.09 1715.57,-70.63 1715.6,-63.63"/>
 </g>
 <!-- Node21 -->
 <g id="node21" class="node">
@@ -898,8 +898,8 @@
 <!-- Node22&#45;&gt;Node24 -->
 <g id="edge24" class="edge">
 <title>Node22&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M4228.8,-177.48C4264.21,-174.37 4311.3,-170.52 4353,-168 4379.49,-166.4 5168.94,-135.28 5411.08,-125.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5411.31,-129.24 5421.17,-125.35 5411.04,-122.25 5411.31,-129.24"/>
+<path fill="none" stroke="midnightblue" d="M4228.8,-177.48C4264.21,-174.38 4311.3,-170.52 4353,-168 4379.35,-166.41 5164.6,-135.28 5405.45,-125.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5405.63,-129.25 5415.49,-125.35 5405.36,-122.25 5405.63,-129.25"/>
 </g>
 <!-- Node27 -->
 <g id="node27" class="node">
@@ -931,47 +931,47 @@
 <!-- Node24&#45;&gt;Node14 -->
 <g id="edge25" class="edge">
 <title>Node24&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M5481.66,-112.08C5482.18,-105.01 5482.94,-94.86 5483.59,-85.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5487.1,-85.98 5484.35,-75.75 5480.12,-85.47 5487.1,-85.98"/>
+<path fill="none" stroke="midnightblue" d="M5475.66,-112.08C5476.18,-105.01 5476.94,-94.86 5477.59,-85.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5481.1,-85.98 5478.35,-75.75 5474.12,-85.47 5481.1,-85.98"/>
 </g>
 <!-- Node24&#45;&gt;Node17 -->
 <g id="edge26" class="edge">
 <title>Node24&#45;&gt;Node17</title>
-<path fill="none" stroke="midnightblue" d="M5464.93,-112.32C5449.04,-103.74 5424.49,-90.49 5406.04,-80.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5407.49,-77.33 5397.03,-75.65 5404.16,-83.49 5407.49,-77.33"/>
+<path fill="none" stroke="midnightblue" d="M5458.93,-112.32C5443.04,-103.74 5418.49,-90.49 5400.04,-80.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5401.49,-77.33 5391.03,-75.65 5398.16,-83.49 5401.49,-77.33"/>
 </g>
 <!-- Node24&#45;&gt;Node18 -->
 <g id="edge27" class="edge">
 <title>Node24&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M5447.09,-112.44C5410.15,-103.12 5350.95,-88.18 5310.58,-78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5311.3,-74.57 5300.75,-75.52 5309.59,-81.36 5311.3,-74.57"/>
+<path fill="none" stroke="midnightblue" d="M5441.09,-112.44C5404.15,-103.12 5344.95,-88.18 5304.58,-78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5305.3,-74.57 5294.75,-75.52 5303.59,-81.36 5305.3,-74.57"/>
 </g>
 <!-- Node24&#45;&gt;Node19 -->
 <g id="edge30" class="edge">
 <title>Node24&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M5421.23,-118.21C5375.03,-116.17 5309.47,-113.49 5252,-112 3785.62,-73.95 1979.48,-67.79 1715.73,-67.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1715.67,-63.58 1705.66,-67.05 1715.65,-70.58 1715.67,-63.58"/>
+<path fill="none" stroke="midnightblue" d="M5415.23,-118.21C5369.03,-116.17 5303.47,-113.49 5246,-112 3782.09,-74 1978.98,-67.8 1715.68,-67.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1715.63,-63.58 1705.62,-67.05 1715.61,-70.58 1715.63,-63.58"/>
 </g>
 <!-- Node24&#45;&gt;Node25 -->
 <g id="edge28" class="edge">
 <title>Node24&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M5526,-112.44C5575.96,-102.94 5656.6,-87.61 5710.2,-77.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5711.04,-80.82 5720.21,-75.52 5709.73,-73.95 5711.04,-80.82"/>
+<path fill="none" stroke="midnightblue" d="M5520,-112.44C5569.96,-102.94 5650.6,-87.61 5704.2,-77.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5705.04,-80.82 5714.21,-75.52 5703.73,-73.95 5705.04,-80.82"/>
 </g>
 <!-- Node26 -->
 <g id="node26" class="node">
 <title>Node26</title>
 <g id="a_node26"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5722,-0.5 5722,-19.5 5808,-19.5 5808,-0.5 5722,-0.5"/>
-<text text-anchor="middle" x="5765" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5716,-0.5 5716,-19.5 5802,-19.5 5802,-0.5 5716,-0.5"/>
+<text text-anchor="middle" x="5759" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge29" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="midnightblue" d="M5765,-56.08C5765,-49.01 5765,-38.86 5765,-29.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5768.5,-29.75 5765,-19.75 5761.5,-29.75 5768.5,-29.75"/>
+<path fill="none" stroke="midnightblue" d="M5759,-56.08C5759,-49.01 5759,-38.86 5759,-29.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5762.5,-29.75 5759,-19.75 5755.5,-29.75 5762.5,-29.75"/>
 </g>
 <!-- Node30&#45;&gt;Node6 -->
 <g id="edge40" class="edge">
@@ -1063,8 +1063,8 @@
 <!-- Node33&#45;&gt;Node15 -->
 <g id="edge45" class="edge">
 <title>Node33&#45;&gt;Node15</title>
-<path fill="none" stroke="midnightblue" d="M4691.73,-173.98C4762.67,-162.72 4886.91,-143.01 4958.32,-131.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4959.13,-135.09 4968.46,-130.07 4958.03,-128.18 4959.13,-135.09"/>
+<path fill="none" stroke="midnightblue" d="M4691.59,-173.98C4762.24,-162.73 4885.91,-143.06 4957.17,-131.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4957.97,-135.14 4967.3,-130.11 4956.87,-128.23 4957.97,-135.14"/>
 </g>
 <!-- Node33&#45;&gt;Node23 -->
 <g id="edge47" class="edge">
@@ -1075,8 +1075,8 @@
 <!-- Node33&#45;&gt;Node25 -->
 <g id="edge46" class="edge">
 <title>Node33&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M4638.93,-173.71C4641.1,-158.22 4648.02,-126.32 4669,-112 4671.67,-110.18 5460.16,-79 5697.92,-69.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5698.3,-73.13 5708.16,-69.23 5698.03,-66.13 5698.3,-73.13"/>
+<path fill="none" stroke="midnightblue" d="M4638.94,-173.71C4641.1,-158.22 4648.02,-126.32 4669,-112 4671.66,-110.19 5455.83,-79 5692.29,-69.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5692.61,-73.13 5702.47,-69.23 5692.34,-66.13 5692.61,-73.13"/>
 </g>
 <!-- Node33&#45;&gt;Node27 -->
 <g id="edge48" class="edge">
@@ -1183,17 +1183,17 @@
 <!-- Node40 -->
 <g id="node40" class="node">
 <title>Node40</title>
-<g id="a_node40"><a xlink:href="ndarray_8h.html" target="_top" xlink:title="A device&#45;independent managed NDArray abstraction.">
-<polygon fill="white" stroke="black" points="5023.5,-241 5023.5,-260 5148.5,-260 5148.5,-241 5023.5,-241"/>
-<text text-anchor="middle" x="5086" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/ndarray.h</text>
+<g id="a_node40"><a xlink:href="runtime_2tensor_8h.html" target="_top" xlink:title="A device&#45;independent managed Tensor abstraction.">
+<polygon fill="white" stroke="black" points="5023.5,-241 5023.5,-260 5142.5,-260 5142.5,-241 5023.5,-241"/>
+<text text-anchor="middle" x="5083" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node39&#45;&gt;Node40 -->
 <g id="edge65" class="edge">
 <title>Node39&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M3785.58,-313.79C4001.31,-303.46 4772.16,-266.53 5013.34,-254.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5013.58,-258.47 5023.4,-254.5 5013.24,-251.48 5013.58,-258.47"/>
+<path fill="none" stroke="midnightblue" d="M3785.88,-313.77C4002.51,-303.37 4775.59,-266.26 5013.09,-254.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5013.5,-258.34 5023.32,-254.36 5013.17,-251.35 5013.5,-258.34"/>
 </g>
 <!-- Node39&#45;&gt;Node47 -->
 <g id="edge89" class="edge">
@@ -1210,65 +1210,65 @@
 <!-- Node40&#45;&gt;Node7 -->
 <g id="edge69" class="edge">
 <title>Node40&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M5023.1,-248.05C4776.54,-242.36 3852.05,-220.71 3091,-199 2945.75,-194.86 2774.55,-189.22 2688.78,-186.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2688.87,-182.85 2678.76,-186.02 2688.63,-189.85 2688.87,-182.85"/>
+<path fill="none" stroke="midnightblue" d="M5023.11,-248.12C4781.36,-242.53 3853.93,-220.77 3091,-199 2945.75,-194.85 2774.55,-189.22 2688.78,-186.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2688.87,-182.85 2678.76,-186.01 2688.63,-189.85 2688.87,-182.85"/>
 </g>
 <!-- Node40&#45;&gt;Node18 -->
 <g id="edge68" class="edge">
 <title>Node40&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M5148.7,-245.2C5212.73,-239.35 5305.8,-226.31 5328,-199 5357.86,-162.27 5311.26,-108.54 5284.18,-82.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5286.52,-79.8 5276.83,-75.52 5281.73,-84.91 5286.52,-79.8"/>
+<path fill="none" stroke="midnightblue" d="M5142.63,-245.3C5205.92,-239.46 5299.83,-226.34 5322,-199 5351.81,-162.23 5305.23,-108.52 5278.17,-82.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5280.51,-79.8 5270.82,-75.52 5275.73,-84.91 5280.51,-79.8"/>
 </g>
 <!-- Node40&#45;&gt;Node19 -->
 <g id="edge86" class="edge">
 <title>Node40&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M5051.72,-240.94C5014.84,-231.13 4959.41,-214.4 4944,-199 4914.97,-169.98 4946.38,-135.89 4913,-112 4844.41,-62.91 2050.81,-66.35 1715.76,-66.94"/>
+<path fill="none" stroke="midnightblue" d="M5049.76,-240.95C5013.66,-231.06 4959.11,-214.21 4944,-199 4915.06,-169.89 4946.38,-135.89 4913,-112 4844.41,-62.91 2050.81,-66.35 1715.76,-66.94"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1715.72,-63.44 1705.72,-66.95 1715.73,-70.44 1715.72,-63.44"/>
 </g>
 <!-- Node40&#45;&gt;Node24 -->
 <g id="edge78" class="edge">
 <title>Node40&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M5148.53,-245.02C5205.55,-239.32 5291.28,-226.65 5361,-199 5384.61,-189.64 5387.57,-181.62 5409,-168 5425.53,-157.49 5444.3,-145.77 5458.53,-136.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5460.51,-139.82 5467.16,-131.57 5456.82,-133.87 5460.51,-139.82"/>
+<path fill="none" stroke="midnightblue" d="M5142.68,-245.13C5199.05,-239.46 5285.15,-226.78 5355,-199 5378.6,-189.62 5381.57,-181.62 5403,-168 5419.53,-157.49 5438.3,-145.77 5452.53,-136.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5454.51,-139.82 5461.16,-131.57 5450.82,-133.87 5454.51,-139.82"/>
 </g>
 <!-- Node40&#45;&gt;Node25 -->
 <g id="edge70" class="edge">
 <title>Node40&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M5148.75,-247.26C5316.22,-240.97 5762.51,-222.1 5784,-199 5813.07,-167.75 5790.42,-113.05 5775.46,-84.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5778.33,-82.84 5770.41,-75.8 5772.21,-86.24 5778.33,-82.84"/>
+<path fill="none" stroke="midnightblue" d="M5142.5,-247.36C5306.87,-241.16 5756.48,-222.14 5778,-199 5807.07,-167.74 5784.42,-113.05 5769.46,-84.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5772.33,-82.84 5764.41,-75.8 5766.21,-86.24 5772.33,-82.84"/>
 </g>
 <!-- Node40&#45;&gt;Node29 -->
 <g id="edge87" class="edge">
 <title>Node40&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M5023.44,-246.76C4870.59,-239.8 4481.32,-220.51 4353,-199 4300.79,-190.25 4290.43,-175.27 4238,-168 4049.36,-141.83 988.99,-125.05 631.08,-123.18"/>
+<path fill="none" stroke="midnightblue" d="M5023.47,-246.88C4873.23,-240.01 4481.58,-220.57 4353,-199 4300.79,-190.24 4290.43,-175.27 4238,-168 4049.36,-141.83 988.99,-125.05 631.08,-123.18"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="630.85,-119.67 620.83,-123.12 630.81,-126.67 630.85,-119.67"/>
 </g>
 <!-- Node40&#45;&gt;Node33 -->
 <g id="edge71" class="edge">
 <title>Node40&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M5026.97,-240.94C4944.35,-228.95 4794.54,-207.21 4706.91,-194.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4707.2,-191 4696.8,-193.03 4706.2,-197.93 4707.2,-191"/>
+<path fill="none" stroke="midnightblue" d="M5024.37,-240.94C4942.3,-228.95 4793.49,-207.21 4706.45,-194.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4706.81,-191.01 4696.41,-193.03 4705.8,-197.94 4706.81,-191.01"/>
 </g>
 <!-- Node40&#45;&gt;Node34 -->
-<g id="edge67" class="edge">
+<g id="edge66" class="edge">
 <title>Node40&#45;&gt;Node34</title>
-<path fill="none" stroke="midnightblue" d="M5108.86,-240.94C5143.26,-226.82 5201.71,-197.32 5176,-168 5167.41,-158.2 5012.34,-140.92 4913.99,-130.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4914.08,-127.35 4903.77,-129.82 4913.37,-134.32 4914.08,-127.35"/>
+<path fill="none" stroke="midnightblue" d="M5104.91,-240.94C5138.24,-226.71 5195.28,-196.89 5170,-168 5161.6,-158.4 5010.49,-141.17 4913.8,-131.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4914.06,-127.55 4903.75,-129.99 4913.33,-134.51 4914.06,-127.55"/>
 </g>
 <!-- Node41 -->
 <g id="node41" class="node">
 <title>Node41</title>
 <g id="a_node41"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5021,-174 5021,-193 5167,-193 5167,-174 5021,-174"/>
-<text text-anchor="middle" x="5094" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/ndarray.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5021,-174 5021,-193 5161,-193 5161,-174 5021,-174"/>
+<text text-anchor="middle" x="5091" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node41 -->
-<g id="edge66" class="edge">
+<g id="edge67" class="edge">
 <title>Node40&#45;&gt;Node41</title>
-<path fill="none" stroke="midnightblue" d="M5087.08,-240.73C5088.25,-231.18 5090.17,-215.62 5091.69,-203.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5095.19,-203.48 5092.94,-193.13 5088.24,-202.62 5095.19,-203.48"/>
+<path fill="none" stroke="midnightblue" d="M5084.08,-240.73C5085.25,-231.18 5087.17,-215.62 5088.69,-203.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5092.19,-203.48 5089.94,-193.13 5085.24,-202.62 5092.19,-203.48"/>
 </g>
 <!-- Node42 -->
 <g id="node42" class="node">
@@ -1283,23 +1283,23 @@
 <!-- Node40&#45;&gt;Node42 -->
 <g id="edge72" class="edge">
 <title>Node40&#45;&gt;Node42</title>
-<path fill="none" stroke="midnightblue" d="M5023.24,-243.6C4924.6,-234.29 4727.29,-215.57 4560,-199 4535.4,-196.56 4508.41,-193.82 4484.63,-191.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4484.96,-187.9 4474.65,-190.36 4484.24,-194.87 4484.96,-187.9"/>
+<path fill="none" stroke="midnightblue" d="M5023.38,-243.85C4926.28,-234.63 4727.93,-215.68 4560,-199 4535.4,-196.56 4508.41,-193.82 4484.63,-191.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4484.96,-187.9 4474.65,-190.36 4484.24,-194.86 4484.96,-187.9"/>
 </g>
 <!-- Node43 -->
 <g id="node43" class="node">
 <title>Node43</title>
 <g id="a_node43"><a xlink:href="serializer_8h.html" target="_top" xlink:title="Serializer extension to support TVM data types Include this file to enable serialization of DLDataTyp...">
-<polygon fill="white" stroke="black" points="5641,-174 5641,-193 5775,-193 5775,-174 5641,-174"/>
-<text text-anchor="middle" x="5708" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
+<polygon fill="white" stroke="black" points="5635,-174 5635,-193 5769,-193 5769,-174 5635,-174"/>
+<text text-anchor="middle" x="5702" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node40&#45;&gt;Node43 -->
 <g id="edge79" class="edge">
 <title>Node40&#45;&gt;Node43</title>
-<path fill="none" stroke="midnightblue" d="M5148.77,-242.48C5263.3,-230.19 5505.62,-204.86 5630.33,-192.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5630.97,-195.6 5640.57,-191.1 5630.26,-188.63 5630.97,-195.6"/>
+<path fill="none" stroke="midnightblue" d="M5142.61,-242.79C5255.25,-230.63 5499.06,-205.02 5624.33,-192.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5625.02,-195.63 5634.61,-191.13 5624.31,-188.66 5625.02,-195.63"/>
 </g>
 <!-- Node46 -->
 <g id="node46" class="node">
@@ -1313,14 +1313,14 @@
 <!-- Node40&#45;&gt;Node46 -->
 <g id="edge84" class="edge">
 <title>Node40&#45;&gt;Node46</title>
-<path fill="none" stroke="midnightblue" d="M5071.43,-240.73C5053.38,-229.87 5022.39,-211.22 5001.08,-198.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5002.71,-195.29 4992.33,-193.13 4999.1,-201.28 5002.71,-195.29"/>
+<path fill="none" stroke="midnightblue" d="M5068.84,-240.73C5051.29,-229.87 5021.16,-211.22 5000.44,-198.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5002.28,-195.41 4991.94,-193.13 4998.6,-201.37 5002.28,-195.41"/>
 </g>
 <!-- Node40&#45;&gt;Node47 -->
 <g id="edge85" class="edge">
 <title>Node40&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M5023.22,-248.85C4685.08,-245.27 3077.45,-227.04 2581,-199 2542.57,-196.83 2498.96,-192.63 2467.64,-189.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2467.83,-185.8 2457.52,-188.22 2467.08,-192.76 2467.83,-185.8"/>
+<path fill="none" stroke="midnightblue" d="M5023.31,-248.88C4692.23,-245.38 3078.35,-227.1 2581,-199 2542.57,-196.83 2498.96,-192.63 2467.64,-189.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2467.83,-185.8 2457.52,-188.21 2467.08,-192.76 2467.83,-185.8"/>
 </g>
 <!-- Node42&#45;&gt;Node13 -->
 <g id="edge73" class="edge">
@@ -1331,8 +1331,8 @@
 <!-- Node42&#45;&gt;Node18 -->
 <g id="edge74" class="edge">
 <title>Node42&#45;&gt;Node18</title>
-<path fill="none" stroke="midnightblue" d="M4390.06,-168.28C4365.32,-153.91 4335.76,-131.16 4354,-112 4383.39,-81.12 5006.75,-70.38 5206.2,-67.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5206.26,-71.22 5216.21,-67.59 5206.17,-64.22 5206.26,-71.22"/>
+<path fill="none" stroke="midnightblue" d="M4390.06,-168.28C4365.33,-153.91 4335.77,-131.16 4354,-112 4383.16,-81.35 5001.13,-70.46 5199.96,-67.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5200.27,-71.24 5210.23,-67.61 5200.18,-64.24 5200.27,-71.24"/>
 </g>
 <!-- Node42&#45;&gt;Node23 -->
 <g id="edge76" class="edge">
@@ -1343,8 +1343,8 @@
 <!-- Node42&#45;&gt;Node25 -->
 <g id="edge75" class="edge">
 <title>Node42&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M4469.64,-168.4C4504.39,-158.69 4551.15,-145.21 4592,-132 4617.15,-123.87 4622.06,-117.03 4648,-112 4654.48,-110.74 5458.18,-79.06 5698.12,-69.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5698.59,-73.11 5708.44,-69.22 5698.31,-66.12 5698.59,-73.11"/>
+<path fill="none" stroke="midnightblue" d="M4469.64,-168.4C4504.39,-158.69 4551.15,-145.21 4592,-132 4617.15,-123.87 4622.06,-117.04 4648,-112 4654.44,-110.75 5452.92,-79.1 5692.07,-69.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5692.51,-73.13 5702.36,-69.24 5692.23,-66.14 5692.51,-73.13"/>
 </g>
 <!-- Node42&#45;&gt;Node35 -->
 <g id="edge77" class="edge">
@@ -1355,44 +1355,44 @@
 <!-- Node43&#45;&gt;Node25 -->
 <g id="edge82" class="edge">
 <title>Node43&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M5716.07,-173.85C5724.61,-164.29 5737.94,-148.09 5746,-132 5753.41,-117.22 5758.41,-99.06 5761.42,-85.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5764.87,-86.29 5763.48,-75.78 5758.02,-84.86 5764.87,-86.29"/>
+<path fill="none" stroke="midnightblue" d="M5710.07,-173.85C5718.61,-164.29 5731.94,-148.09 5740,-132 5747.41,-117.22 5752.41,-99.06 5755.42,-85.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5758.87,-86.29 5757.48,-75.78 5752.02,-84.86 5758.87,-86.29"/>
 </g>
 <!-- Node43&#45;&gt;Node40 -->
 <g id="edge83" class="edge">
 <title>Node43&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M5640.9,-191.98C5523.08,-204.61 5280.23,-229.99 5158.63,-242.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5158.26,-238.89 5148.66,-243.38 5158.97,-245.86 5158.26,-238.89"/>
+<path fill="none" stroke="midnightblue" d="M5634.95,-192.01C5516.77,-204.74 5272.76,-230.36 5152.72,-242.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5152.13,-239.18 5142.54,-243.67 5152.84,-246.14 5152.13,-239.18"/>
 </g>
 <!-- Node44 -->
 <g id="node44" class="node">
 <title>Node44</title>
 <g id="a_node44"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5559,-112.5 5559,-131.5 5621,-131.5 5621,-112.5 5559,-112.5"/>
-<text text-anchor="middle" x="5590" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5553,-112.5 5553,-131.5 5615,-131.5 5615,-112.5 5553,-112.5"/>
+<text text-anchor="middle" x="5584" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/io.h</text>
 </a>
 </g>
 </g>
 <!-- Node43&#45;&gt;Node44 -->
 <g id="edge80" class="edge">
 <title>Node43&#45;&gt;Node44</title>
-<path fill="none" stroke="midnightblue" d="M5691.09,-173.98C5671.47,-164.08 5638.87,-147.64 5616.01,-136.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5617.38,-132.89 5606.88,-131.51 5614.23,-139.14 5617.38,-132.89"/>
+<path fill="none" stroke="midnightblue" d="M5685.09,-173.98C5665.47,-164.08 5632.87,-147.64 5610.01,-136.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5611.38,-132.89 5600.88,-131.51 5608.23,-139.14 5611.38,-132.89"/>
 </g>
 <!-- Node45 -->
 <g id="node45" class="node">
 <title>Node45</title>
 <g id="a_node45"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5639.5,-112.5 5639.5,-131.5 5736.5,-131.5 5736.5,-112.5 5639.5,-112.5"/>
-<text text-anchor="middle" x="5688" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="5633.5,-112.5 5633.5,-131.5 5730.5,-131.5 5730.5,-112.5 5633.5,-112.5"/>
+<text text-anchor="middle" x="5682" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">dmlc/serializer.h</text>
 </a>
 </g>
 </g>
 <!-- Node43&#45;&gt;Node45 -->
 <g id="edge81" class="edge">
 <title>Node43&#45;&gt;Node45</title>
-<path fill="none" stroke="midnightblue" d="M5705.13,-173.98C5702.28,-165.49 5697.82,-152.2 5694.16,-141.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5697.36,-139.87 5690.86,-131.51 5690.73,-142.1 5697.36,-139.87"/>
+<path fill="none" stroke="midnightblue" d="M5699.13,-173.98C5696.28,-165.49 5691.82,-152.2 5688.16,-141.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5691.36,-139.87 5684.86,-131.51 5684.73,-142.1 5691.36,-139.87"/>
 </g>
 <!-- Node50&#45;&gt;Node6 -->
 <g id="edge105" class="edge">
@@ -1415,8 +1415,8 @@
 <!-- Node50&#45;&gt;Node24 -->
 <g id="edge109" class="edge">
 <title>Node50&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M3596.16,-490.45C3858.8,-457.42 5321.42,-273.29 5343,-266 5399.41,-246.95 5422.29,-245.87 5459,-199 5471.94,-182.48 5477.27,-158.62 5479.46,-142.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5482.96,-142.25 5480.54,-131.93 5476,-141.51 5482.96,-142.25"/>
+<path fill="none" stroke="midnightblue" d="M3596.34,-490.52C3857.01,-458.34 5294.04,-280.52 5337,-266 5393.4,-246.93 5416.29,-245.87 5453,-199 5465.94,-182.48 5471.27,-158.62 5473.46,-142.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5476.96,-142.25 5474.54,-131.93 5470,-141.51 5476.96,-142.25"/>
 </g>
 <!-- Node50&#45;&gt;Node31 -->
 <g id="edge104" class="edge">
@@ -1469,8 +1469,8 @@
 <!-- Node52&#45;&gt;Node25 -->
 <g id="edge125" class="edge">
 <title>Node52&#45;&gt;Node25</title>
-<path fill="none" stroke="midnightblue" d="M3831.53,-733.42C4000.36,-722.06 4650.41,-669.85 5158,-512 5470.69,-414.76 5649.39,-475.39 5825,-199 5831.4,-188.92 5828.84,-125.21 5822,-112 5815.21,-98.89 5802.69,-88.35 5791.12,-80.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5792.93,-77.78 5782.56,-75.58 5789.29,-83.76 5792.93,-77.78"/>
+<path fill="none" stroke="midnightblue" d="M3831.54,-733.47C4000.43,-722.31 4650.69,-670.74 5158,-512 5468.22,-414.93 5645.16,-473.66 5819,-199 5825.39,-188.9 5822.82,-125.17 5816,-112 5809.21,-98.89 5796.69,-88.35 5785.12,-80.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5786.93,-77.78 5776.56,-75.58 5783.29,-83.76 5786.93,-77.78"/>
 </g>
 <!-- Node52&#45;&gt;Node31 -->
 <g id="edge119" class="edge">
@@ -1643,13 +1643,13 @@
 <!-- Node59&#45;&gt;Node6 -->
 <g id="edge160" class="edge">
 <title>Node59&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1262.81,-906.91C1040.36,-895.55 209,-845.91 209,-738 209,-738 209,-738 209,-680 209,-581.8 241.33,-555.76 305,-481 331.97,-449.33 343.43,-444.82 380,-425 420.79,-402.89 434.45,-405.02 478,-389 545.57,-364.14 564.88,-363.7 630,-333 708.19,-296.14 716.17,-262.87 798,-235 911.01,-196.51 1051.53,-187.03 1129.61,-184.89"/>
+<path fill="none" stroke="midnightblue" d="M1189.81,-906.31C976.85,-893.08 209,-838.4 209,-738 209,-738 209,-738 209,-680 209,-581.8 241.33,-555.76 305,-481 331.97,-449.33 343.43,-444.82 380,-425 420.79,-402.89 434.45,-405.02 478,-389 545.57,-364.14 564.88,-363.7 630,-333 708.19,-296.14 716.17,-262.87 798,-235 911.01,-196.51 1051.53,-187.03 1129.61,-184.89"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1129.83,-188.39 1139.75,-184.65 1129.66,-181.39 1129.83,-188.39"/>
 </g>
 <!-- Node59&#45;&gt;Node35 -->
 <g id="edge223" class="edge">
 <title>Node59&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M1282.32,-900.99C1215.15,-882.96 1065.75,-835.18 973,-747 887.32,-665.54 905.8,-576.86 975,-481 1074.5,-343.18 1159.42,-374.85 1313,-302 1465.37,-229.72 1502.16,-198.64 1668,-168 1911.75,-122.97 2714.36,-122.46 2886.37,-122.88"/>
+<path fill="none" stroke="midnightblue" d="M1215.86,-900.98C1149.87,-879.14 987.56,-814.04 945,-691 923.81,-629.74 812.61,-708.39 975,-481 1073.79,-342.67 1159.42,-374.85 1313,-302 1465.37,-229.72 1502.16,-198.64 1668,-168 1911.75,-122.97 2714.36,-122.46 2886.37,-122.88"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2886.54,-126.38 2896.55,-122.91 2886.56,-119.38 2886.54,-126.38"/>
 </g>
 <!-- Node60 -->
@@ -1664,23 +1664,23 @@
 <!-- Node59&#45;&gt;Node60 -->
 <g id="edge161" class="edge">
 <title>Node59&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M1366.43,-900.98C1429.34,-890.12 1537.83,-871.41 1604.42,-859.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1605.07,-863.37 1614.33,-858.22 1603.88,-856.47 1605.07,-863.37"/>
+<path fill="none" stroke="midnightblue" d="M1298.22,-901.78C1377.23,-890.53 1523.4,-869.73 1604.33,-858.21"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1604.93,-861.66 1614.34,-856.78 1603.95,-854.73 1604.93,-861.66"/>
 </g>
 <!-- Node69 -->
 <g id="node69" class="node">
 <title>Node69</title>
 <g id="a_node69"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1289,-839.5 1289,-858.5 1345,-858.5 1345,-839.5 1289,-839.5"/>
-<text text-anchor="middle" x="1317" y="-846.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="1216,-839.5 1216,-858.5 1272,-858.5 1272,-839.5 1216,-839.5"/>
+<text text-anchor="middle" x="1244" y="-846.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
 </a>
 </g>
 </g>
 <!-- Node59&#45;&gt;Node69 -->
 <g id="edge222" class="edge">
 <title>Node59&#45;&gt;Node69</title>
-<path fill="none" stroke="midnightblue" d="M1317,-900.98C1317,-892.58 1317,-879.48 1317,-868.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1320.5,-868.51 1317,-858.51 1313.5,-868.51 1320.5,-868.51"/>
+<path fill="none" stroke="midnightblue" d="M1244,-900.98C1244,-892.58 1244,-879.48 1244,-868.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1247.5,-868.51 1244,-858.51 1240.5,-868.51 1247.5,-868.51"/>
 </g>
 <!-- Node60&#45;&gt;Node5 -->
 <g id="edge166" class="edge">
@@ -1691,7 +1691,7 @@
 <!-- Node60&#45;&gt;Node6 -->
 <g id="edge164" class="edge">
 <title>Node60&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1614.48,-845.13C1482.73,-837.08 1119.07,-814.12 1066,-803 892.65,-766.69 861.48,-715.32 690,-671 597.47,-647.09 553.53,-693.56 478,-635 456.46,-618.3 458.68,-605.66 453,-579 448.61,-558.39 451.12,-487.23 456,-481 478.36,-452.47 737.06,-406.15 769,-389 862.66,-338.72 856.5,-281.69 952,-235 1008.63,-207.31 1080.16,-194.74 1129.75,-189.07"/>
+<path fill="none" stroke="midnightblue" d="M1614.32,-845.56C1497.85,-839.36 1201.26,-822.17 1104,-803 914.52,-765.66 877.66,-716.61 690,-671 597.13,-648.43 553.53,-693.56 478,-635 456.46,-618.3 458.68,-605.66 453,-579 448.61,-558.39 451.12,-487.23 456,-481 478.36,-452.47 737.06,-406.15 769,-389 862.66,-338.72 856.5,-281.69 952,-235 1008.63,-207.31 1080.16,-194.74 1129.75,-189.07"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1130.42,-192.51 1139.99,-187.96 1129.67,-185.55 1130.42,-192.51"/>
 </g>
 <!-- Node60&#45;&gt;Node7 -->
@@ -1709,13 +1709,13 @@
 <!-- Node60&#45;&gt;Node19 -->
 <g id="edge220" class="edge">
 <title>Node60&#45;&gt;Node19</title>
-<path fill="none" stroke="midnightblue" d="M1614.4,-846.93C1470.39,-843.43 1040.85,-830.88 904,-803 686.22,-758.64 622.83,-750.59 433,-635 291.19,-548.65 160,-546.03 160,-380 160,-380 160,-380 160,-182.5 160,-89.93 265.08,-129.45 356,-112 615.01,-62.3 1471.22,-65.49 1650.07,-66.73"/>
+<path fill="none" stroke="midnightblue" d="M1614.25,-846.72C1473.36,-842.68 1060.99,-828.92 929,-803 700.62,-758.14 632.75,-754.45 433,-635 290.5,-549.79 160,-546.03 160,-380 160,-380 160,-380 160,-182.5 160,-89.93 265.08,-129.45 356,-112 615.01,-62.3 1471.22,-65.49 1650.07,-66.73"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1650.15,-70.23 1660.17,-66.81 1650.2,-63.23 1650.15,-70.23"/>
 </g>
 <!-- Node60&#45;&gt;Node29 -->
 <g id="edge221" class="edge">
 <title>Node60&#45;&gt;Node29</title>
-<path fill="none" stroke="midnightblue" d="M1614.1,-846.58C1480.46,-842.33 1105.44,-828.42 985,-803 817.44,-767.63 787.48,-718.69 623,-671 550.91,-650.1 515.06,-683.76 458,-635 319.9,-516.99 333.86,-412.17 374,-235 381.29,-202.82 380.31,-188.71 406,-168 451.51,-131.33 521.81,-123.6 563.23,-122.49"/>
+<path fill="none" stroke="midnightblue" d="M1614.44,-848.79C1506.76,-849.7 1236.51,-846.96 1016,-803 835.3,-766.97 800.61,-720.05 623,-671 550.65,-651.02 515.06,-683.76 458,-635 319.9,-516.99 333.86,-412.17 374,-235 381.29,-202.82 380.31,-188.71 406,-168 451.51,-131.33 521.81,-123.6 563.23,-122.49"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="563.4,-125.99 573.35,-122.33 563.3,-118.99 563.4,-125.99"/>
 </g>
 <!-- Node60&#45;&gt;Node31 -->
@@ -1727,7 +1727,7 @@
 <!-- Node60&#45;&gt;Node32 -->
 <g id="edge163" class="edge">
 <title>Node60&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M1709.54,-847.71C1983.2,-845.57 3349.48,-828.01 3468,-691 3606.85,-530.49 3237.21,-527.37 3152,-333 3134.49,-293.06 3139.57,-277.97 3147,-235 3148.91,-223.94 3153.02,-212.09 3156.83,-202.65"/>
+<path fill="none" stroke="midnightblue" d="M1709.55,-847.72C1983.23,-845.59 3349.62,-828.13 3468,-691 3606.68,-530.35 3237.21,-527.37 3152,-333 3134.49,-293.06 3139.57,-277.97 3147,-235 3148.91,-223.94 3153.02,-212.09 3156.83,-202.65"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3160.16,-203.76 3160.87,-193.19 3153.72,-201.01 3160.16,-203.76"/>
 </g>
 <!-- Node60&#45;&gt;Node35 -->
@@ -1745,8 +1745,8 @@
 <!-- Node60&#45;&gt;Node55 -->
 <g id="edge218" class="edge">
 <title>Node60&#45;&gt;Node55</title>
-<path fill="none" stroke="midnightblue" d="M1614.3,-845.02C1494.01,-837.34 1184.73,-816.54 1140,-803 1046.92,-774.81 998.36,-776.5 952,-691 926.36,-643.7 995.05,-598.99 1035.62,-577.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1037.22,-580.73 1044.53,-573.06 1034.04,-574.5 1037.22,-580.73"/>
+<path fill="none" stroke="midnightblue" d="M1614.31,-845.55C1507.63,-839.76 1252.54,-824.11 1169,-803 1107.61,-787.49 1093.85,-776.83 1038,-747 993.01,-722.97 931.99,-717.92 952,-671 969.79,-629.29 1012.81,-596.05 1039.77,-578.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1041.67,-581.34 1048.24,-573.03 1037.92,-575.43 1041.67,-581.34"/>
 </g>
 <!-- Node61 -->
 <g id="node61" class="node">
@@ -1767,22 +1767,22 @@
 <g id="node64" class="node">
 <title>Node64</title>
 <g id="a_node64"><a xlink:href="ir_2global__info_8h.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself.">
-<polygon fill="white" stroke="black" points="1252,-783.5 1252,-802.5 1364,-802.5 1364,-783.5 1252,-783.5"/>
-<text text-anchor="middle" x="1308" y="-790.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
+<polygon fill="white" stroke="black" points="1278,-783.5 1278,-802.5 1390,-802.5 1390,-783.5 1278,-783.5"/>
+<text text-anchor="middle" x="1334" y="-790.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node60&#45;&gt;Node64 -->
 <g id="edge189" class="edge">
 <title>Node60&#45;&gt;Node64</title>
-<path fill="none" stroke="midnightblue" d="M1614.26,-840.72C1552.29,-831.26 1443.85,-814.72 1374.02,-804.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1374.42,-800.59 1364.01,-802.54 1373.37,-807.51 1374.42,-800.59"/>
+<path fill="none" stroke="midnightblue" d="M1614.31,-840.15C1556.54,-830.64 1459.12,-814.6 1395.69,-804.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1396.25,-800.7 1385.81,-802.53 1395.11,-807.61 1396.25,-800.7"/>
 </g>
 <!-- Node60&#45;&gt;Node68 -->
 <g id="edge219" class="edge">
 <title>Node60&#45;&gt;Node68</title>
-<path fill="none" stroke="midnightblue" d="M1614.39,-845.98C1536.16,-841.97 1375.83,-830.85 1243,-803 1162.25,-786.07 1136.01,-790.67 1066,-747 1045.84,-734.42 1027.71,-713.79 1016.34,-699.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1018.98,-696.83 1010.18,-690.93 1013.38,-701.03 1018.98,-696.83"/>
+<path fill="none" stroke="midnightblue" d="M1614.2,-844.37C1489.76,-834.23 1158.99,-802.63 1066,-747 1045.39,-734.67 1027.13,-713.64 1015.86,-698.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1018.53,-696.57 1009.79,-690.58 1012.89,-700.71 1018.53,-696.57"/>
 </g>
 <!-- Node61&#45;&gt;Node5 -->
 <g id="edge186" class="edge">
@@ -1932,13 +1932,13 @@
 <!-- Node64&#45;&gt;Node5 -->
 <g id="edge191" class="edge">
 <title>Node64&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M1364.14,-784.88C1466.8,-772.03 1691.77,-744.67 1882,-727 1992.04,-716.78 2272.79,-724.83 2378,-691 2408.77,-681.11 2471.89,-626.76 2502,-615 2538.87,-600.6 2644.72,-582.32 2708.17,-572.18"/>
+<path fill="none" stroke="midnightblue" d="M1390.31,-784.46C1489.52,-771.37 1701.99,-744.2 1882,-727 2102.02,-705.98 2167.59,-758.67 2378,-691 2408.77,-681.11 2471.89,-626.76 2502,-615 2538.87,-600.6 2644.72,-582.32 2708.17,-572.18"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2709.03,-575.58 2718.36,-570.56 2707.93,-568.67 2709.03,-575.58"/>
 </g>
 <!-- Node64&#45;&gt;Node6 -->
 <g id="edge190" class="edge">
 <title>Node64&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1288.56,-783.4C1268.53,-774.49 1236.45,-760.05 1209,-747 1200.43,-742.92 1065.16,-673.47 1056,-671 937.95,-639.18 614.51,-693.23 507,-635 479.64,-620.18 474.84,-608.51 465,-579 451,-536.99 450.07,-510.61 483,-481 559.28,-412.4 611.87,-471.4 711,-445 778.56,-427.01 800.6,-428.91 858,-389 932.73,-337.04 915.48,-282.7 993,-235 1034.66,-209.37 1088.97,-196.68 1129.85,-190.44"/>
+<path fill="none" stroke="midnightblue" d="M1307.32,-783.39C1281.77,-774.92 1242.31,-761.21 1209,-747 1200.27,-743.28 1065.16,-673.47 1056,-671 937.95,-639.18 614.51,-693.23 507,-635 479.64,-620.18 474.84,-608.51 465,-579 451,-536.99 450.07,-510.61 483,-481 559.28,-412.4 611.87,-471.4 711,-445 778.56,-427.01 800.6,-428.91 858,-389 932.73,-337.04 915.48,-282.7 993,-235 1034.66,-209.37 1088.97,-196.68 1129.85,-190.44"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1130.54,-193.87 1139.94,-188.98 1129.54,-186.94 1130.54,-193.87"/>
 </g>
 <!-- Node65 -->
@@ -1953,8 +1953,8 @@
 <!-- Node64&#45;&gt;Node65 -->
 <g id="edge192" class="edge">
 <title>Node64&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M1302.22,-783.08C1297.33,-775.53 1290.17,-764.49 1284.17,-755.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1287.05,-753.24 1278.67,-746.75 1281.17,-757.05 1287.05,-753.24"/>
+<path fill="none" stroke="midnightblue" d="M1324.2,-783.32C1315.18,-775.34 1301.59,-763.31 1290.68,-753.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1292.79,-750.84 1282.98,-746.83 1288.15,-756.08 1292.79,-750.84"/>
 </g>
 <!-- Node65&#45;&gt;Node5 -->
 <g id="edge194" class="edge">
@@ -2111,61 +2111,61 @@
 <g id="node71" class="node">
 <title>Node71</title>
 <g id="a_node71"><a xlink:href="relax_2distributed_2global__info_8h.html" target="_top" xlink:title="Data structure for distributed inference.">
-<polygon fill="white" stroke="black" points="2174.5,-895.5 2174.5,-925.5 2293.5,-925.5 2293.5,-895.5 2174.5,-895.5"/>
-<text text-anchor="start" x="2182.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/distributed</text>
-<text text-anchor="middle" x="2234" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">/global_info.h</text>
+<polygon fill="white" stroke="black" points="2184.5,-895.5 2184.5,-925.5 2303.5,-925.5 2303.5,-895.5 2184.5,-895.5"/>
+<text text-anchor="start" x="2192.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/distributed</text>
+<text text-anchor="middle" x="2244" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">/global_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node70&#45;&gt;Node71 -->
 <g id="edge227" class="edge">
 <title>Node70&#45;&gt;Node71</title>
-<path fill="none" stroke="midnightblue" d="M2425.21,-1141.33C2391.29,-1100.56 2293.3,-982.78 2252.34,-933.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2254.91,-931.16 2245.82,-925.71 2249.53,-935.64 2254.91,-931.16"/>
+<path fill="none" stroke="midnightblue" d="M2436.15,-1141.33C2402.07,-1100.56 2303.59,-982.78 2262.43,-933.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2264.98,-931.14 2255.88,-925.71 2259.61,-935.63 2264.98,-931.14"/>
 </g>
 <!-- Node72 -->
 <g id="node72" class="node">
 <title>Node72</title>
 <g id="a_node72"><a xlink:href="struct__info_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2188,-1085.5 2188,-1104.5 2316,-1104.5 2316,-1085.5 2188,-1085.5"/>
-<text text-anchor="middle" x="2252" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/struct_info.h</text>
+<polygon fill="white" stroke="black" points="2198,-1085.5 2198,-1104.5 2326,-1104.5 2326,-1085.5 2198,-1085.5"/>
+<text text-anchor="middle" x="2262" y="-1092.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/struct_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node70&#45;&gt;Node72 -->
 <g id="edge230" class="edge">
 <title>Node70&#45;&gt;Node72</title>
-<path fill="none" stroke="midnightblue" d="M2393.16,-1141.4C2361.19,-1131.12 2318.38,-1117.35 2288.32,-1107.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2289.24,-1104.3 2278.65,-1104.57 2287.1,-1110.96 2289.24,-1104.3"/>
+<path fill="none" stroke="midnightblue" d="M2403.92,-1141.4C2371.78,-1131.12 2328.74,-1117.35 2298.52,-1107.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2299.38,-1104.28 2288.79,-1104.57 2297.25,-1110.95 2299.38,-1104.28"/>
 </g>
 <!-- Node71&#45;&gt;Node5 -->
 <g id="edge228" class="edge">
 <title>Node71&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2263.34,-895.41C2328.34,-864.29 2489.48,-787.67 2626,-727 2663.49,-710.34 2682.15,-720.17 2711,-691 2740.7,-660.98 2751.88,-610.52 2755.89,-583.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2759.39,-583.53 2757.21,-573.16 2752.45,-582.63 2759.39,-583.53"/>
+<path fill="none" stroke="midnightblue" d="M2274.34,-895.48C2377.23,-847.92 2706.83,-695.37 2711,-691 2740.14,-660.43 2751.54,-610.2 2755.74,-583.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2759.23,-583.48 2757.13,-573.09 2752.3,-582.52 2759.23,-583.48"/>
 </g>
 <!-- Node71&#45;&gt;Node60 -->
 <g id="edge229" class="edge">
 <title>Node71&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M2174.46,-901.44C2157.52,-899.24 2139.05,-896.94 2122,-895 1977.58,-878.59 1807.24,-862.87 1719.96,-855.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1720,-851.57 1709.73,-854.17 1719.38,-858.55 1720,-851.57"/>
+<path fill="none" stroke="midnightblue" d="M2184.47,-901.42C2167.53,-899.22 2149.05,-896.92 2132,-895 1983.72,-878.31 1808.66,-862.6 1719.89,-854.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1720.02,-851.42 1709.76,-854.04 1719.42,-858.39 1720.02,-851.42"/>
 </g>
 <!-- Node72&#45;&gt;Node6 -->
 <g id="edge231" class="edge">
 <title>Node72&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2187.74,-1094C1829.49,-1093.6 95,-1086.11 95,-978.5 95,-978.5 95,-978.5 95,-680 95,-607.98 145.49,-605.4 189,-548 332.44,-358.76 390.75,-288.94 622,-235 803.63,-192.63 1025.59,-185.29 1129.73,-184.35"/>
+<path fill="none" stroke="midnightblue" d="M2197.73,-1094.02C1838.48,-1093.71 95,-1086.64 95,-978.5 95,-978.5 95,-978.5 95,-680 95,-607.98 145.49,-605.4 189,-548 332.44,-358.76 390.75,-288.94 622,-235 803.63,-192.63 1025.59,-185.29 1129.73,-184.35"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1129.76,-187.85 1139.73,-184.28 1129.7,-180.85 1129.76,-187.85"/>
 </g>
 <!-- Node72&#45;&gt;Node8 -->
 <g id="edge238" class="edge">
 <title>Node72&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2187.94,-1091.61C1996.21,-1083.62 1440,-1053.92 1440,-978.5 1440,-978.5 1440,-978.5 1440,-909.5 1440,-667.49 1589.59,-635.34 1776,-481 1792.47,-467.37 1813.74,-456.27 1831.13,-448.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1832.54,-451.71 1840.34,-444.54 1829.77,-445.28 1832.54,-451.71"/>
+<path fill="none" stroke="midnightblue" d="M2197.99,-1092.47C1993.15,-1086.74 1367,-1062.37 1367,-978.5 1367,-978.5 1367,-978.5 1367,-909.5 1367,-876.59 1749.66,-500.73 1776,-481 1793.45,-467.92 1815.25,-456.65 1832.67,-448.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1834.13,-451.85 1841.83,-444.57 1831.27,-445.45 1834.13,-451.85"/>
 </g>
 <!-- Node72&#45;&gt;Node10 -->
 <g id="edge239" class="edge">
 <title>Node72&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2316.1,-1090.06C2667.67,-1067.59 4346,-949.29 4346,-738 4346,-738 4346,-738 4346,-624 4346,-524.93 4262.72,-527.05 4175,-481 3956.73,-366.41 3872.92,-417.08 3628,-389 3624.03,-388.54 3619.94,-388.06 3615.82,-387.57"/>
+<path fill="none" stroke="midnightblue" d="M2326.08,-1090C2676.59,-1067.32 4346,-948.25 4346,-738 4346,-738 4346,-738 4346,-624 4346,-524.93 4262.72,-527.05 4175,-481 3956.73,-366.41 3872.92,-417.08 3628,-389 3624.03,-388.54 3619.94,-388.06 3615.82,-387.57"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3615.91,-384.06 3605.56,-386.33 3615.07,-391.01 3615.91,-384.06"/>
 </g>
 <!-- Node73 -->
@@ -2180,44 +2180,44 @@
 <!-- Node72&#45;&gt;Node73 -->
 <g id="edge232" class="edge">
 <title>Node72&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M2234.97,-1085.5C2205.01,-1069.19 2146,-1030.48 2146,-978.5 2146,-978.5 2146,-978.5 2146,-848 2146,-799.38 2115.77,-794.17 2104,-747 2082.52,-660.91 2087.34,-636.73 2088,-548 2088.22,-518.22 2082.33,-510.03 2089,-481 2091.2,-471.44 2095.59,-461.49 2099.79,-453.39"/>
+<path fill="none" stroke="midnightblue" d="M2244.97,-1085.5C2215.01,-1069.19 2156,-1030.48 2156,-978.5 2156,-978.5 2156,-978.5 2156,-848 2156,-797.51 2118.21,-795.45 2104,-747 2079.04,-661.85 2087.34,-636.73 2088,-548 2088.22,-518.22 2082.33,-510.03 2089,-481 2091.2,-471.44 2095.59,-461.49 2099.79,-453.39"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2102.89,-455.01 2104.66,-444.57 2096.76,-451.63 2102.89,-455.01"/>
 </g>
 <!-- Node74 -->
 <g id="node74" class="node">
 <title>Node74</title>
 <g id="a_node74"><a xlink:href="block__builder_8h.html" target="_top" xlink:title="The utility for constructing Relax binding blocks.">
-<polygon fill="white" stroke="black" points="1961,-1029.5 1961,-1048.5 2101,-1048.5 2101,-1029.5 1961,-1029.5"/>
-<text text-anchor="middle" x="2031" y="-1036.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/block_builder.h</text>
+<polygon fill="white" stroke="black" points="1971,-1029.5 1971,-1048.5 2111,-1048.5 2111,-1029.5 1971,-1029.5"/>
+<text text-anchor="middle" x="2041" y="-1036.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/block_builder.h</text>
 </a>
 </g>
 </g>
 <!-- Node72&#45;&gt;Node74 -->
 <g id="edge240" class="edge">
 <title>Node72&#45;&gt;Node74</title>
-<path fill="none" stroke="midnightblue" d="M2216.98,-1085.44C2178.75,-1076.1 2117.43,-1061.12 2075.74,-1050.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2076.4,-1047.49 2065.85,-1048.52 2074.74,-1054.29 2076.4,-1047.49"/>
+<path fill="none" stroke="midnightblue" d="M2226.98,-1085.44C2188.75,-1076.1 2127.43,-1061.12 2085.74,-1050.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2086.4,-1047.49 2075.85,-1048.52 2084.74,-1054.29 2086.4,-1047.49"/>
 </g>
 <!-- Node72&#45;&gt;Node77 -->
 <g id="edge304" class="edge">
 <title>Node72&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M2293.76,-1085.46C2321.62,-1078.51 2358.26,-1066.88 2387,-1049 2433.17,-1020.28 2429.76,-994.96 2473,-962 2492.42,-947.2 2516.66,-933.85 2535.09,-924.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2536.71,-927.7 2544.14,-920.15 2533.62,-921.42 2536.71,-927.7"/>
+<path fill="none" stroke="midnightblue" d="M2304.38,-1085.44C2332.4,-1078.5 2369.15,-1066.9 2398,-1049 2444.2,-1020.33 2440.76,-994.96 2484,-962 2503.42,-947.2 2527.66,-933.85 2546.09,-924.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2547.71,-927.7 2555.14,-920.15 2544.62,-921.42 2547.71,-927.7"/>
 </g>
 <!-- Node78 -->
 <g id="node78" class="node">
 <title>Node78</title>
 <g id="a_node78"><a xlink:href="relax_2type_8h.html" target="_top" xlink:title="Relax Types.">
-<polygon fill="white" stroke="black" points="2591,-783.5 2591,-802.5 2689,-802.5 2689,-783.5 2591,-783.5"/>
-<text text-anchor="middle" x="2640" y="-790.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/type.h</text>
+<polygon fill="white" stroke="black" points="2602,-783.5 2602,-802.5 2700,-802.5 2700,-783.5 2602,-783.5"/>
+<text text-anchor="middle" x="2651" y="-790.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/type.h</text>
 </a>
 </g>
 </g>
 <!-- Node72&#45;&gt;Node78 -->
 <g id="edge305" class="edge">
 <title>Node72&#45;&gt;Node78</title>
-<path fill="none" stroke="midnightblue" d="M2263.08,-1085.2C2298.38,-1057.19 2411.39,-967.71 2506,-895 2546.29,-864.04 2593.89,-828.38 2620.13,-808.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2622.55,-811.36 2628.47,-802.57 2618.36,-805.75 2622.55,-811.36"/>
+<path fill="none" stroke="midnightblue" d="M2283.25,-1085.49C2318.2,-1069.92 2384,-1033.33 2384,-978.5 2384,-978.5 2384,-978.5 2384,-909.5 2384,-819.72 2512.75,-798.93 2591.44,-794.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2591.89,-798.1 2601.72,-794.13 2591.56,-791.1 2591.89,-798.1"/>
 </g>
 <!-- Node73&#45;&gt;Node6 -->
 <g id="edge234" class="edge">
@@ -2252,20 +2252,20 @@
 <!-- Node74&#45;&gt;Node3 -->
 <g id="edge241" class="edge">
 <title>Node74&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1960.9,-1038.26C1823.76,-1037.81 1510.7,-1032.14 1251,-993 1127.89,-974.45 1097.95,-962.78 979,-926 916.36,-906.63 844.95,-878.42 805.73,-862.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="807.05,-859.14 796.47,-858.57 804.39,-865.61 807.05,-859.14"/>
+<path fill="none" stroke="midnightblue" d="M1970.92,-1036.47C1793.48,-1032.24 1329.85,-1019 1178,-993 1030.72,-967.79 865.96,-893.53 802.7,-863.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="803.96,-859.89 793.44,-858.68 800.91,-866.19 803.96,-859.89"/>
 </g>
 <!-- Node74&#45;&gt;Node24 -->
 <g id="edge303" class="edge">
 <title>Node74&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2101.14,-1036.92C2483.95,-1030.79 4324.37,-997.98 4888,-926 5026.53,-908.31 5085.44,-945.61 5195,-859 5322.64,-758.1 5475.88,-357.65 5512,-199 5515.06,-185.57 5516.09,-181.16 5512,-168 5508.77,-157.62 5502.22,-147.52 5495.98,-139.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5498.58,-137.19 5489.48,-131.77 5493.21,-141.68 5498.58,-137.19"/>
+<path fill="none" stroke="midnightblue" d="M2111.2,-1036.91C2493.37,-1030.73 4326.5,-997.75 4888,-926 5026.53,-908.3 5085.77,-946.02 5195,-859 5321.82,-757.98 5470.59,-357.22 5506,-199 5509.01,-185.55 5510.09,-181.16 5506,-168 5502.77,-157.62 5496.22,-147.52 5489.98,-139.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5492.58,-137.19 5483.48,-131.77 5487.21,-141.68 5492.58,-137.19"/>
 </g>
 <!-- Node74&#45;&gt;Node59 -->
 <g id="edge242" class="edge">
 <title>Node74&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M1960.95,-1036.15C1830.46,-1032.08 1555.12,-1020.46 1464,-993 1414.8,-978.17 1363.73,-945.18 1336.64,-926.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1338.58,-923.11 1328.42,-920.11 1334.49,-928.79 1338.58,-923.11"/>
+<path fill="none" stroke="midnightblue" d="M1970.92,-1036.98C1825.99,-1034.24 1497.98,-1024.65 1391,-993 1341.73,-978.42 1290.69,-945.34 1263.62,-926.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1265.56,-923.18 1255.4,-920.16 1261.45,-928.85 1265.56,-923.18"/>
 </g>
 <!-- Node75 -->
 <g id="node75" class="node">
@@ -2279,29 +2279,29 @@
 <!-- Node74&#45;&gt;Node75 -->
 <g id="edge243" class="edge">
 <title>Node74&#45;&gt;Node75</title>
-<path fill="none" stroke="midnightblue" d="M2001.67,-1029.38C1859.19,-987.5 1246.02,-807.05 1243,-803 1203.56,-750.09 1272.16,-788.88 1337,-747 1382.95,-717.32 1425.67,-668.07 1446.21,-642.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1449.06,-644.56 1452.52,-634.54 1443.57,-640.22 1449.06,-644.56"/>
+<path fill="none" stroke="midnightblue" d="M1983.95,-1029.46C1820.51,-1003.71 1356.63,-921.27 1269,-803 1237.28,-760.19 1313.5,-764.28 1337,-747 1380.64,-714.91 1423.75,-667.46 1445.13,-642.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1447.94,-644.69 1451.75,-634.8 1442.61,-640.15 1447.94,-644.69"/>
 </g>
 <!-- Node74&#45;&gt;Node77 -->
 <g id="edge251" class="edge">
 <title>Node74&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M2067.15,-1029.4C2161.19,-1007.04 2413.36,-947.08 2517.28,-922.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2518.23,-925.74 2527.15,-920.02 2516.61,-918.93 2518.23,-925.74"/>
+<path fill="none" stroke="midnightblue" d="M2077.22,-1029.4C2171.43,-1007.04 2424.08,-947.08 2528.19,-922.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2529.16,-925.74 2538.08,-920.02 2527.55,-918.93 2529.16,-925.74"/>
 </g>
 <!-- Node83 -->
 <g id="node83" class="node">
 <title>Node83</title>
 <g id="a_node83"><a xlink:href="relax_2utils_8h.html" target="_top" xlink:title="Utility classes and functions for working with the Relax IR.">
-<polygon fill="white" stroke="black" points="1982.5,-968 1982.5,-987 2079.5,-987 2079.5,-968 1982.5,-968"/>
-<text text-anchor="middle" x="2031" y="-975" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/utils.h</text>
+<polygon fill="white" stroke="black" points="1992.5,-968 1992.5,-987 2089.5,-987 2089.5,-968 1992.5,-968"/>
+<text text-anchor="middle" x="2041" y="-975" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node74&#45;&gt;Node83 -->
 <g id="edge298" class="edge">
 <title>Node74&#45;&gt;Node83</title>
-<path fill="none" stroke="midnightblue" d="M2031,-1029.48C2031,-1021.08 2031,-1007.98 2031,-997.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2034.5,-997.01 2031,-987.01 2027.5,-997.01 2034.5,-997.01"/>
+<path fill="none" stroke="midnightblue" d="M2041,-1029.48C2041,-1021.08 2041,-1007.98 2041,-997.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2044.5,-997.01 2041,-987.01 2037.5,-997.01 2044.5,-997.01"/>
 </g>
 <!-- Node75&#45;&gt;Node5 -->
 <g id="edge245" class="edge">
@@ -2312,8 +2312,8 @@
 <!-- Node75&#45;&gt;Node6 -->
 <g id="edge244" class="edge">
 <title>Node75&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M1452.46,-615.27C1445.92,-606.37 1435.75,-592.05 1428,-579 1357.6,-460.38 1364.06,-417.08 1288,-302 1264.32,-266.17 1231.26,-228.93 1209.99,-206.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1212.41,-203.69 1202.99,-198.83 1207.32,-208.5 1212.41,-203.69"/>
+<path fill="none" stroke="midnightblue" d="M1452.43,-615.29C1445.86,-606.4 1435.67,-592.1 1428,-579 1358.69,-460.65 1368.08,-416.11 1292,-302 1267.77,-265.66 1233.27,-228.55 1211.01,-206.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1213.22,-203.28 1203.68,-198.68 1208.27,-208.23 1213.22,-203.28"/>
 </g>
 <!-- Node75&#45;&gt;Node19 -->
 <g id="edge250" class="edge">
@@ -2357,68 +2357,68 @@
 <!-- Node77&#45;&gt;Node5 -->
 <g id="edge255" class="edge">
 <title>Node77&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2561.8,-900.84C2559.22,-878.84 2555.41,-819.96 2582,-783 2634.47,-710.07 2715.1,-767.63 2762,-691 2782.47,-657.55 2772.45,-609.24 2764.51,-583.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2767.75,-581.73 2761.32,-573.31 2761.1,-583.9 2767.75,-581.73"/>
+<path fill="none" stroke="midnightblue" d="M2572.85,-900.88C2570.41,-878.98 2566.89,-820.3 2593,-783 2642.04,-712.94 2718.31,-764.52 2762,-691 2782.04,-657.28 2772.19,-609.08 2764.39,-582.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2767.65,-581.72 2761.26,-573.27 2760.99,-583.86 2767.65,-581.72"/>
 </g>
 <!-- Node77&#45;&gt;Node6 -->
 <g id="edge254" class="edge">
 <title>Node77&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2514.13,-906.71C2461.87,-903.75 2376.58,-898.95 2303,-895 1992.81,-878.35 1914.86,-880.98 1605,-859 1587.75,-857.78 1001.4,-808.49 985,-803 895.66,-773.06 850.76,-773.37 805,-691 788.9,-662.02 745.94,-703.47 822,-548 865.37,-459.35 908.73,-460.26 977,-389 1042.04,-321.12 1051.99,-297.74 1122,-235 1133.87,-224.36 1147.84,-213.59 1159.94,-204.74"/>
+<path fill="none" stroke="midnightblue" d="M2525.42,-906.73C2473.01,-903.76 2387.1,-898.94 2313,-895 1998.37,-878.26 1919.24,-881.92 1605,-859 1539.43,-854.22 1078.97,-821.89 1016,-803 914.31,-772.5 859.71,-781.99 805,-691 788.31,-663.24 742.24,-711.03 822,-548 865.37,-459.35 908.73,-460.26 977,-389 1042.04,-321.12 1051.99,-297.74 1122,-235 1133.87,-224.36 1147.84,-213.59 1159.94,-204.74"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1162.3,-207.36 1168.36,-198.67 1158.2,-201.68 1162.3,-207.36"/>
 </g>
 <!-- Node77&#45;&gt;Node8 -->
 <g id="edge257" class="edge">
 <title>Node77&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2514.25,-901.55C2370.57,-877.02 1953.92,-797.7 1876,-691 1822.74,-618.07 1846.02,-499.71 1857.74,-454.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1861.18,-455.13 1860.42,-444.56 1854.43,-453.29 1861.18,-455.13"/>
+<path fill="none" stroke="midnightblue" d="M2525.27,-901.79C2380.09,-877.74 1955.58,-799.16 1876,-691 1822.47,-618.26 1845.91,-499.79 1857.71,-454.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1861.15,-455.14 1860.41,-444.57 1854.4,-453.3 1861.15,-455.14"/>
 </g>
 <!-- Node77&#45;&gt;Node10 -->
 <g id="edge258" class="edge">
 <title>Node77&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M2611.91,-908.92C2862.03,-905.8 3989.1,-890.05 4056,-859 4067.42,-853.7 4203.48,-702.75 4208,-691 4230.85,-631.69 4243.53,-600.7 4208,-548 4126.53,-427.15 4044.98,-461.98 3904,-425 3805.07,-399.05 3686.24,-387.78 3616.15,-383.1"/>
+<path fill="none" stroke="midnightblue" d="M2622.54,-908.91C2870.82,-905.75 3989.6,-889.83 4056,-859 4067.42,-853.7 4203.48,-702.75 4208,-691 4230.85,-631.69 4243.53,-600.7 4208,-548 4126.53,-427.15 4044.98,-461.98 3904,-425 3805.07,-399.05 3686.24,-387.78 3616.15,-383.1"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3615.95,-379.58 3605.75,-382.43 3615.5,-386.57 3615.95,-379.58"/>
 </g>
 <!-- Node77&#45;&gt;Node24 -->
 <g id="edge267" class="edge">
 <title>Node77&#45;&gt;Node24</title>
-<path fill="none" stroke="midnightblue" d="M2611.7,-908.96C2875.44,-905.9 4134.91,-889.91 4523,-859 4709.85,-844.12 4777.79,-895.18 4941,-803 5128.48,-697.11 5092.39,-577.88 5244,-425 5322.74,-345.6 5358.77,-343.9 5439,-266 5467.26,-238.56 5483.24,-235.91 5497,-199 5504.18,-179.72 5497.12,-156.43 5490.24,-140.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5493.37,-139.18 5485.9,-131.67 5487.06,-142.2 5493.37,-139.18"/>
+<path fill="none" stroke="midnightblue" d="M2622.86,-908.95C2886.05,-905.85 4137.3,-889.74 4523,-859 4709.84,-844.11 4780.86,-900.41 4941,-803 5142.2,-680.62 5069.59,-526.13 5245,-369 5315.96,-305.43 5358.87,-325.85 5433,-266 5463.64,-241.26 5477.24,-235.91 5491,-199 5498.18,-179.72 5491.12,-156.43 5484.24,-140.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5487.37,-139.18 5479.9,-131.67 5481.06,-142.2 5487.37,-139.18"/>
 </g>
 <!-- Node77&#45;&gt;Node31 -->
 <g id="edge252" class="edge">
 <title>Node77&#45;&gt;Node31</title>
-<path fill="none" stroke="midnightblue" d="M2611.84,-908.9C2864.2,-905.7 4011.45,-889.48 4080,-859 4309.19,-757.08 4488.1,-584.65 4360,-369 4289.54,-250.39 4211.51,-276.7 4080,-235 4046.87,-224.49 3957.57,-206.4 3898.81,-194.96"/>
+<path fill="none" stroke="midnightblue" d="M2622.9,-908.89C2874.27,-905.63 4011.99,-889.25 4080,-859 4309.17,-757.06 4488.1,-584.65 4360,-369 4289.54,-250.39 4211.51,-276.7 4080,-235 4046.87,-224.49 3957.57,-206.4 3898.81,-194.96"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3899.42,-191.51 3888.94,-193.04 3898.09,-198.38 3899.42,-191.51"/>
 </g>
 <!-- Node77&#45;&gt;Node32 -->
 <g id="edge253" class="edge">
 <title>Node77&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2611.5,-909.17C2828.23,-907.47 3702.36,-898.22 3818,-859 3934.18,-819.6 3988.11,-803.51 4037,-691 4138.2,-458.11 3438.69,-425.7 3294,-333 3239.25,-297.92 3194.59,-232.88 3175.29,-201.85"/>
+<path fill="none" stroke="midnightblue" d="M2622.8,-909.15C2838.84,-907.37 3703.5,-897.85 3818,-859 3934.17,-819.58 3988.11,-803.51 4037,-691 4138.2,-458.11 3438.69,-425.7 3294,-333 3239.25,-297.92 3194.59,-232.88 3175.29,-201.85"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3178.12,-199.77 3169.93,-193.05 3172.14,-203.41 3178.12,-199.77"/>
 </g>
 <!-- Node77&#45;&gt;Node47 -->
 <g id="edge297" class="edge">
 <title>Node77&#45;&gt;Node47</title>
-<path fill="none" stroke="midnightblue" d="M2542.55,-900.92C2481.3,-874.7 2295.27,-791.31 2161,-691 2064.91,-619.21 2066.52,-563.81 2050,-445 2027.73,-284.83 2279.07,-214.51 2382.1,-192.55"/>
+<path fill="none" stroke="midnightblue" d="M2553.06,-900.98C2490.34,-874.92 2299.83,-791.93 2162,-691 2065.08,-620.02 2066.55,-563.99 2050,-445 2027.73,-284.83 2279.07,-214.51 2382.1,-192.55"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2383.1,-195.92 2392.18,-190.46 2381.67,-189.07 2383.1,-195.92"/>
 </g>
 <!-- Node77&#45;&gt;Node52 -->
 <g id="edge268" class="edge">
 <title>Node77&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M2611.52,-909.37C2835.11,-908.56 3757.19,-902.55 3799,-859 3825.4,-831.5 3809.98,-782.41 3798.67,-756"/>
+<path fill="none" stroke="midnightblue" d="M2622.83,-909.35C2845.73,-908.45 3757.62,-902.12 3799,-859 3825.4,-831.49 3809.97,-782.41 3798.67,-756"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3801.81,-754.45 3794.49,-746.78 3795.43,-757.34 3801.81,-754.45"/>
 </g>
 <!-- Node77&#45;&gt;Node61 -->
 <g id="edge256" class="edge">
 <title>Node77&#45;&gt;Node61</title>
-<path fill="none" stroke="midnightblue" d="M2559.49,-900.9C2551.49,-880.01 2533.75,-825.18 2549,-783 2561.95,-747.18 2593.75,-715.12 2614.29,-697.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2616.71,-699.69 2622.07,-690.55 2612.18,-694.35 2616.71,-699.69"/>
+<path fill="none" stroke="midnightblue" d="M2570.67,-900.97C2563.09,-880.21 2546.19,-825.68 2560,-783 2571.08,-748.75 2598.59,-716.36 2616.5,-697.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2619.15,-700.18 2623.73,-690.62 2614.19,-695.23 2619.15,-700.18"/>
 </g>
 <!-- Node77&#45;&gt;Node78 -->
 <g id="edge259" class="edge">
 <title>Node77&#45;&gt;Node78</title>
-<path fill="none" stroke="midnightblue" d="M2568.79,-900.82C2581.44,-881.84 2611.77,-836.35 2628.47,-811.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2631.51,-813.04 2634.15,-802.78 2625.69,-809.16 2631.51,-813.04"/>
+<path fill="none" stroke="midnightblue" d="M2579.79,-900.82C2592.44,-881.84 2622.77,-836.35 2639.47,-811.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2642.51,-813.04 2645.15,-802.78 2636.69,-809.16 2642.51,-813.04"/>
 </g>
 <!-- Node79 -->
 <g id="node79" class="node">
@@ -2432,49 +2432,49 @@
 <!-- Node77&#45;&gt;Node79 -->
 <g id="edge269" class="edge">
 <title>Node77&#45;&gt;Node79</title>
-<path fill="none" stroke="midnightblue" d="M2611.87,-907.06C2805.13,-897.39 3514.83,-861.91 3705.55,-852.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3705.99,-855.86 3715.8,-851.86 3705.64,-848.86 3705.99,-855.86"/>
+<path fill="none" stroke="midnightblue" d="M2622.79,-907.04C2814.71,-897.35 3516.49,-861.94 3705.72,-852.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3706.09,-855.87 3715.9,-851.87 3705.73,-848.88 3706.09,-855.87"/>
 </g>
 <!-- Node78&#45;&gt;Node6 -->
 <g id="edge261" class="edge">
 <title>Node78&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2590.73,-789.47C2491.29,-784.07 2259.56,-769.99 2066,-747 1752.26,-709.73 1670.96,-709.82 1364,-635 1325.56,-625.63 1218.41,-610.9 1195,-579 1110.55,-463.91 1159.62,-274.77 1180.79,-208.41"/>
+<path fill="none" stroke="midnightblue" d="M2601.95,-789.58C2501.25,-784.31 2264.02,-770.37 2066,-747 1752.23,-709.96 1670.96,-709.82 1364,-635 1325.56,-625.63 1218.41,-610.9 1195,-579 1110.55,-463.91 1159.62,-274.77 1180.79,-208.41"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="1184.24,-209.09 1184.03,-198.5 1177.59,-206.91 1184.24,-209.09"/>
 </g>
 <!-- Node78&#45;&gt;Node9 -->
 <g id="edge260" class="edge">
 <title>Node78&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2659.7,-783.39C2690.39,-768.93 2749.26,-736.79 2780,-691 2816.05,-637.3 2845.26,-600.15 2807,-548 2750.04,-470.37 2461.38,-412.27 2333.79,-389.97"/>
+<path fill="none" stroke="midnightblue" d="M2668.07,-783.39C2695.8,-768.5 2750.42,-735.22 2779,-691 2814.16,-636.61 2845.31,-600.22 2807,-548 2750.04,-470.37 2461.38,-412.27 2333.79,-389.97"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2334.23,-386.5 2323.78,-388.24 2333.04,-393.39 2334.23,-386.5"/>
 </g>
 <!-- Node78&#45;&gt;Node35 -->
 <g id="edge266" class="edge">
 <title>Node78&#45;&gt;Node35</title>
-<path fill="none" stroke="midnightblue" d="M2668.72,-783.38C2691.56,-775.78 2723.75,-763.38 2749,-747 2839.99,-687.98 2883.19,-678.65 2926,-579 2930.38,-568.81 2921.72,-226.73 2919.5,-141.89"/>
+<path fill="none" stroke="midnightblue" d="M2674.01,-783.39C2730.97,-760.6 2877.42,-692.54 2926,-579 2930.36,-568.8 2921.72,-226.73 2919.5,-141.89"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2923,-141.79 2919.24,-131.88 2916,-141.97 2923,-141.79"/>
 </g>
 <!-- Node78&#45;&gt;Node50 -->
 <g id="edge264" class="edge">
 <title>Node78&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M2689.16,-789.57C2849.16,-781.14 3353.41,-750.4 3504,-691 3543.03,-675.61 3561.08,-672.45 3580,-635 3599.96,-595.49 3579.22,-542.36 3565.69,-515.16"/>
+<path fill="none" stroke="midnightblue" d="M2700.09,-789.49C2858.66,-780.86 3355.52,-749.69 3504,-691 3543.02,-675.58 3561.08,-672.45 3580,-635 3599.96,-595.49 3579.22,-542.36 3565.69,-515.16"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="3568.69,-513.34 3560.97,-506.09 3562.48,-516.57 3568.69,-513.34"/>
 </g>
 <!-- Node78&#45;&gt;Node52 -->
 <g id="edge265" class="edge">
 <title>Node78&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M2689.11,-789.85C2832.28,-783.56 3261.7,-764.52 3618,-747 3658.33,-745.02 3703.97,-742.62 3738.09,-740.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3738.5,-744.28 3748.3,-740.26 3738.12,-737.29 3738.5,-744.28"/>
+<path fill="none" stroke="midnightblue" d="M2700.06,-789.82C2842.13,-783.47 3266.13,-764.39 3618,-747 3658.33,-745.01 3703.97,-742.61 3738.09,-740.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3738.5,-744.28 3748.3,-740.25 3738.12,-737.29 3738.5,-744.28"/>
 </g>
 <!-- Node78&#45;&gt;Node62 -->
 <g id="edge262" class="edge">
 <title>Node78&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M2622.2,-783.31C2566.2,-755.97 2393.4,-671.6 2326.67,-639.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2328.15,-635.85 2317.62,-634.61 2325.08,-642.14 2328.15,-635.85"/>
+<path fill="none" stroke="midnightblue" d="M2632.62,-783.31C2574.81,-755.97 2396.42,-671.6 2327.54,-639.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2328.73,-635.72 2318.2,-634.61 2325.74,-642.04 2328.73,-635.72"/>
 </g>
 <!-- Node78&#45;&gt;Node73 -->
 <g id="edge263" class="edge">
 <title>Node78&#45;&gt;Node73</title>
-<path fill="none" stroke="midnightblue" d="M2590.91,-791.89C2488.87,-788.9 2252.67,-767.18 2124,-635 2076.18,-585.88 2093.94,-493.76 2104.45,-454.49"/>
+<path fill="none" stroke="midnightblue" d="M2601.62,-792.32C2497.77,-790.19 2255.52,-770.1 2124,-635 2076.18,-585.88 2093.94,-493.76 2104.45,-454.49"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="2107.87,-455.27 2107.23,-444.7 2101.13,-453.37 2107.87,-455.27"/>
 </g>
 <!-- Node79&#45;&gt;Node5 -->
@@ -2525,8 +2525,8 @@
 <!-- Node79&#45;&gt;Node80 -->
 <g id="edge271" class="edge">
 <title>Node79&#45;&gt;Node80</title>
-<path fill="none" stroke="midnightblue" d="M3715.97,-847.38C3529.16,-844.16 2694.69,-828.42 2582,-803 2480.87,-780.19 2370.55,-722.14 2323.44,-695.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2325.05,-692.5 2314.62,-690.59 2321.58,-698.58 2325.05,-692.5"/>
+<path fill="none" stroke="midnightblue" d="M3715.83,-848.31C3542.72,-849.49 2814.5,-851.42 2593,-803 2488.16,-780.08 2373.03,-721.87 2324.12,-695.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2325.7,-692.31 2315.24,-690.59 2322.35,-698.45 2325.7,-692.31"/>
 </g>
 <!-- Node81 -->
 <g id="node81" class="node">
@@ -2639,8 +2639,8 @@
 <!-- Node82&#45;&gt;Node6 -->
 <g id="edge289" class="edge">
 <title>Node82&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M4487.68,-791.02C4176.34,-783.75 2245.45,-736.98 1990,-691 1832.59,-662.66 1787.76,-656.77 1648,-579 1533.33,-515.19 1519.41,-476.92 1422,-389 1348.97,-323.08 1339.24,-297.18 1263,-235 1249.55,-224.03 1233.77,-213.03 1220.25,-204.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1222.02,-201.09 1211.73,-198.57 1218.2,-206.96 1222.02,-201.09"/>
+<path fill="none" stroke="midnightblue" d="M4487.68,-791.02C4176.34,-783.75 2245.45,-736.98 1990,-691 1832.59,-662.66 1787.76,-656.77 1648,-579 1533.33,-515.19 1518.99,-477.39 1422,-389 1349.99,-323.38 1341.77,-296.24 1266,-235 1252.23,-223.87 1235.97,-212.92 1221.94,-204.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1223.44,-200.89 1213.1,-198.59 1219.75,-206.84 1223.44,-200.89"/>
 </g>
 <!-- Node82&#45;&gt;Node19 -->
 <g id="edge293" class="edge">
@@ -2669,26 +2669,26 @@
 <!-- Node83&#45;&gt;Node3 -->
 <g id="edge299" class="edge">
 <title>Node83&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M1982.1,-969.53C1873.81,-954.27 1605.55,-917.51 1380,-895 1185.7,-875.61 955.46,-860.67 843.67,-853.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="843.74,-850.43 833.55,-853.32 843.32,-857.42 843.74,-850.43"/>
+<path fill="none" stroke="midnightblue" d="M1992.08,-970.62C1874.27,-956.57 1565.4,-920.29 1307,-895 1140.75,-878.73 944.88,-863.03 843.86,-855.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="844.04,-851.69 833.8,-854.4 843.5,-858.66 844.04,-851.69"/>
 </g>
 <!-- Node83&#45;&gt;Node23 -->
 <g id="edge302" class="edge">
 <title>Node83&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2079.85,-976.27C2389.43,-974.72 4081.81,-964.55 4598,-926 4728.51,-916.25 5182,-980.87 5182,-850 5182,-850 5182,-850 5182,-562.5 5182,-426.82 4837.67,-228.04 4716,-168 4677.49,-149 4630.73,-137.87 4592.55,-131.43"/>
+<path fill="none" stroke="midnightblue" d="M2089.66,-976.27C2398.03,-974.69 4083.83,-964.42 4598,-926 4728.51,-916.25 5182,-980.87 5182,-850 5182,-850 5182,-850 5182,-562.5 5182,-426.82 4837.67,-228.04 4716,-168 4677.49,-149 4630.73,-137.87 4592.55,-131.43"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="4592.96,-127.95 4582.53,-129.81 4591.85,-134.86 4592.96,-127.95"/>
 </g>
 <!-- Node83&#45;&gt;Node60 -->
 <g id="edge300" class="edge">
 <title>Node83&#45;&gt;Node60</title>
-<path fill="none" stroke="midnightblue" d="M2005.93,-967.9C1941.63,-945.86 1770.77,-887.29 1696.87,-861.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1697.7,-858.54 1687.11,-858.61 1695.43,-865.16 1697.7,-858.54"/>
+<path fill="none" stroke="midnightblue" d="M2015.25,-967.9C1949,-945.79 1772.58,-886.91 1697.08,-861.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1698.13,-858.37 1687.54,-858.52 1695.92,-865.01 1698.13,-858.37"/>
 </g>
 <!-- Node83&#45;&gt;Node77 -->
 <g id="edge301" class="edge">
 <title>Node83&#45;&gt;Node77</title>
-<path fill="none" stroke="midnightblue" d="M2064.86,-967.93C2074.25,-965.76 2084.48,-963.6 2094,-962 2240.63,-937.32 2415.18,-922.25 2504.29,-915.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2504.75,-919.04 2514.47,-914.81 2504.23,-912.06 2504.75,-919.04"/>
+<path fill="none" stroke="midnightblue" d="M2074.86,-967.93C2084.25,-965.76 2094.48,-963.6 2104,-962 2250.94,-937.29 2425.86,-922.23 2515.16,-915.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2515.65,-919.03 2525.36,-914.81 2515.13,-912.05 2515.65,-919.03"/>
 </g>
 <!-- Node84&#45;&gt;Node32 -->
 <g id="edge308" class="edge">
@@ -2705,8 +2705,8 @@
 <!-- Node84&#45;&gt;Node40 -->
 <g id="edge311" class="edge">
 <title>Node84&#45;&gt;Node40</title>
-<path fill="none" stroke="midnightblue" d="M4513.51,-845.8C4624.8,-840.55 4883.81,-826 4916,-803 4990.76,-749.58 4953.55,-693.07 5002,-615 5053.32,-532.31 5100.26,-533.83 5140,-445 5166.16,-386.53 5187.56,-358.83 5158,-302 5149.31,-285.29 5132.27,-272.95 5116.95,-264.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5118.22,-261.38 5107.72,-260.01 5115.08,-267.64 5118.22,-261.38"/>
+<path fill="none" stroke="midnightblue" d="M4513.51,-845.8C4624.8,-840.55 4883.81,-826 4916,-803 4990.76,-749.58 4952.34,-692.31 5002,-615 5028.99,-572.98 5129.71,-491.07 5149,-445 5173.6,-386.26 5187.92,-358.22 5158,-302 5148.94,-284.97 5131.29,-272.66 5115.4,-264.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5116.85,-261.26 5106.32,-260.09 5113.82,-267.57 5116.85,-261.26"/>
 </g>
 <!-- Node84&#45;&gt;Node52 -->
 <g id="edge313" class="edge">
diff --git a/docs/reference/api/doxygen/backend_8h.html b/docs/reference/api/doxygen/backend_8h.html
index e297af5774..1a710bc6b8 100644
--- a/docs/reference/api/doxygen/backend_8h.html
+++ b/docs/reference/api/doxygen/backend_8h.html
@@ -79,7 +79,7 @@ $(function() {
 </div><div class="textblock"><div class="dynheader">
 Include dependency graph for backend.h:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="backend_8h__incl.svg" width="7426" height="1470"><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="backend_8h__incl.svg" width="7418" height="1470"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/backend_8h__incl.svg b/docs/reference/api/doxygen/backend_8h__incl.svg
index f63179ff6f..a031f91cab 100644
--- a/docs/reference/api/doxygen/backend_8h__incl.svg
+++ b/docs/reference/api/doxygen/backend_8h__incl.svg
@@ -4,17 +4,17 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: include/tvm/relax/backend.h Pages: 1 -->
-<svg width="5569pt" height="1102pt"
- viewBox="0.00 0.00 5569.37 1102.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="5563pt" height="1102pt"
+ viewBox="0.00 0.00 5563.37 1102.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 1098)">
 <title>include/tvm/relax/backend.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1098 5565.37,-1098 5565.37,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1098 5559.37,-1098 5559.37,4 -4,4"/>
 <!-- Node1 -->
 <g id="node1" class="node">
 <title>Node1</title>
 <g id="a_node1"><a xlink:title="Relax backend specific transformation passes.">
-<polygon fill="#bfbfbf" stroke="black" points="2636,-1074.5 2636,-1093.5 2791,-1093.5 2791,-1074.5 2636,-1074.5"/>
-<text text-anchor="middle" x="2713.5" y="-1081.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/backend.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="2677,-1074.5 2677,-1093.5 2832,-1093.5 2832,-1074.5 2677,-1074.5"/>
+<text text-anchor="middle" x="2754.5" y="-1081.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/backend.h</text>
 </a>
 </g>
 </g>
@@ -22,114 +22,114 @@
 <g id="node2" class="node">
 <title>Node2</title>
 <g id="a_node2"><a xlink:href="relax_2transform_8h.html" target="_top" xlink:title="Relax specific transformation passes.">
-<polygon fill="white" stroke="black" points="2651.5,-1018.5 2651.5,-1037.5 2775.5,-1037.5 2775.5,-1018.5 2651.5,-1018.5"/>
-<text text-anchor="middle" x="2713.5" y="-1025.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/transform.h</text>
+<polygon fill="white" stroke="black" points="2692.5,-1018.5 2692.5,-1037.5 2816.5,-1037.5 2816.5,-1018.5 2692.5,-1018.5"/>
+<text text-anchor="middle" x="2754.5" y="-1025.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node1&#45;&gt;Node2 -->
 <g id="edge1" class="edge">
 <title>Node1&#45;&gt;Node2</title>
-<path fill="none" stroke="midnightblue" d="M2713.5,-1074.08C2713.5,-1067.01 2713.5,-1056.86 2713.5,-1047.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2717,-1047.75 2713.5,-1037.75 2710,-1047.75 2717,-1047.75"/>
+<path fill="none" stroke="midnightblue" d="M2754.5,-1074.08C2754.5,-1067.01 2754.5,-1056.86 2754.5,-1047.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2758,-1047.75 2754.5,-1037.75 2751,-1047.75 2758,-1047.75"/>
 </g>
 <!-- Node3 -->
 <g id="node3" class="node">
 <title>Node3</title>
 <g id="a_node3"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4113.5,-168.5 4113.5,-198.5 4211.5,-198.5 4211.5,-168.5 4113.5,-168.5"/>
-<text text-anchor="start" x="4121.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="4162.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4107.5,-168.5 4107.5,-198.5 4205.5,-198.5 4205.5,-168.5 4107.5,-168.5"/>
+<text text-anchor="start" x="4115.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="4156.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node3 -->
 <g id="edge2" class="edge">
 <title>Node2&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2775.77,-1026.95C3174.58,-1026.36 5356.83,-1018.35 5448.5,-915 5457.64,-904.69 5452.16,-897.28 5448.5,-884 5419.23,-777.74 5321.5,-781.22 5321.5,-671 5321.5,-671 5321.5,-671 5321.5,-613 5321.5,-330.5 5083.35,-308.19 4810.5,-235 4700.43,-205.47 4360.64,-191.1 4222.17,-186.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4221.87,-182.84 4211.76,-186 4221.64,-189.84 4221.87,-182.84"/>
+<path fill="none" stroke="midnightblue" d="M2816.65,-1026.91C3211.13,-1026.02 5352.53,-1016.55 5442.5,-915 5451.64,-904.69 5446.16,-897.28 5442.5,-884 5413.23,-777.74 5315.5,-781.22 5315.5,-671 5315.5,-671 5315.5,-671 5315.5,-613 5315.5,-330.5 5077.35,-308.19 4804.5,-235 4694.43,-205.47 4354.64,-191.1 4216.17,-186.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4215.87,-182.84 4205.76,-186 4215.64,-189.84 4215.87,-182.84"/>
 </g>
 <!-- Node4 -->
 <g id="node4" class="node">
 <title>Node4</title>
 <g id="a_node4"><a xlink:href="ir_2transform_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2746.5,-957 2746.5,-976 2852.5,-976 2852.5,-957 2746.5,-957"/>
-<text text-anchor="middle" x="2799.5" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/transform.h</text>
+<polygon fill="white" stroke="black" points="2797.5,-957 2797.5,-976 2903.5,-976 2903.5,-957 2797.5,-957"/>
+<text text-anchor="middle" x="2850.5" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node4 -->
 <g id="edge3" class="edge">
 <title>Node2&#45;&gt;Node4</title>
-<path fill="none" stroke="midnightblue" d="M2725.82,-1018.48C2739.62,-1008.93 2762.2,-993.31 2778.73,-981.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2780.97,-984.58 2787.2,-976.01 2776.99,-978.82 2780.97,-984.58"/>
+<path fill="none" stroke="midnightblue" d="M2768.25,-1018.48C2783.87,-1008.8 2809.56,-992.87 2828.08,-981.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2830.12,-984.25 2836.77,-976.01 2826.43,-978.3 2830.12,-984.25"/>
 </g>
 <!-- Node68 -->
 <g id="node68" class="node">
 <title>Node68</title>
 <g id="a_node68"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties.">
-<polygon fill="white" stroke="black" points="4773,-951.5 4773,-981.5 4882,-981.5 4882,-951.5 4773,-951.5"/>
-<text text-anchor="start" x="4781" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/dataflow</text>
-<text text-anchor="middle" x="4827.5" y="-958.5" font-family="Helvetica,sans-Serif" font-size="10.00">_pattern.h</text>
+<polygon fill="white" stroke="black" points="4772,-951.5 4772,-981.5 4881,-981.5 4881,-951.5 4772,-951.5"/>
+<text text-anchor="start" x="4780" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/dataflow</text>
+<text text-anchor="middle" x="4826.5" y="-958.5" font-family="Helvetica,sans-Serif" font-size="10.00">_pattern.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node68 -->
 <g id="edge199" class="edge">
 <title>Node2&#45;&gt;Node68</title>
-<path fill="none" stroke="midnightblue" d="M2775.62,-1025.25C3083.97,-1016.57 4447.71,-978.19 4762.51,-969.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4762.93,-972.82 4772.83,-969.04 4762.73,-965.82 4762.93,-972.82"/>
+<path fill="none" stroke="midnightblue" d="M2816.51,-1025.22C3120.44,-1016.49 4450.65,-978.29 4761.41,-969.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4761.71,-972.86 4771.6,-969.08 4761.51,-965.87 4761.71,-972.86"/>
 </g>
 <!-- Node69 -->
 <g id="node69" class="node">
 <title>Node69</title>
 <g id="a_node69"><a xlink:href="relax_2expr_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2386,-890 2386,-909 2483,-909 2483,-890 2386,-890"/>
-<text text-anchor="middle" x="2434.5" y="-897" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/expr.h</text>
+<polygon fill="white" stroke="black" points="2380,-890 2380,-909 2477,-909 2477,-890 2380,-890"/>
+<text text-anchor="middle" x="2428.5" y="-897" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node69 -->
 <g id="edge294" class="edge">
 <title>Node2&#45;&gt;Node69</title>
-<path fill="none" stroke="midnightblue" d="M2694.32,-1018.31C2646.13,-996.45 2519.72,-939.14 2462.89,-913.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2463.99,-910.03 2453.44,-909.09 2461.1,-916.41 2463.99,-910.03"/>
+<path fill="none" stroke="midnightblue" d="M2732.35,-1018.4C2675.78,-996.45 2525.83,-938.27 2460.11,-912.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2461.27,-909.46 2450.68,-909.11 2458.74,-915.99 2461.27,-909.46"/>
 </g>
 <!-- Node82 -->
 <g id="node82" class="node">
 <title>Node82</title>
 <g id="a_node82"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function.">
-<polygon fill="white" stroke="black" points="750,-828.5 750,-847.5 851,-847.5 851,-828.5 750,-828.5"/>
-<text text-anchor="middle" x="800.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/function.h</text>
+<polygon fill="white" stroke="black" points="732,-828.5 732,-847.5 833,-847.5 833,-828.5 732,-828.5"/>
+<text text-anchor="middle" x="782.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node82 -->
 <g id="edge295" class="edge">
 <title>Node2&#45;&gt;Node82</title>
-<path fill="none" stroke="midnightblue" d="M2651.39,-1026.49C2282.86,-1023.2 396.64,-1002.11 313.5,-915 303.99,-905.03 304.22,-894.18 313.5,-884 341.71,-853.07 615.45,-843.09 739.7,-840.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="739.9,-843.63 749.82,-839.9 739.74,-836.63 739.9,-843.63"/>
+<path fill="none" stroke="midnightblue" d="M2692.38,-1026.57C2318.51,-1023.66 380.84,-1004.32 295.5,-915 285.98,-905.04 286.22,-894.18 295.5,-884 323.71,-853.07 597.45,-843.09 721.7,-840.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="721.9,-843.63 731.82,-839.9 721.74,-836.63 721.9,-843.63"/>
 </g>
 <!-- Node84 -->
 <g id="node84" class="node">
 <title>Node84</title>
 <g id="a_node84"><a xlink:href="index__map_8h.html" target="_top" xlink:title="Defines a remapping of buffer indices.">
-<polygon fill="white" stroke="black" points="970.5,-660.5 970.5,-679.5 1086.5,-679.5 1086.5,-660.5 970.5,-660.5"/>
-<text text-anchor="middle" x="1028.5" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/index_map.h</text>
+<polygon fill="white" stroke="black" points="964.5,-660.5 964.5,-679.5 1080.5,-679.5 1080.5,-660.5 964.5,-660.5"/>
+<text text-anchor="middle" x="1022.5" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tir/index_map.h</text>
 </a>
 </g>
 </g>
 <!-- Node2&#45;&gt;Node84 -->
 <g id="edge304" class="edge">
 <title>Node2&#45;&gt;Node84</title>
-<path fill="none" stroke="midnightblue" d="M2651.23,-1027.07C2311.61,-1027.29 689.99,-1026.01 471.5,-982 392.29,-966.05 347.9,-981.84 302.5,-915 223.87,-799.24 765.33,-708.89 960.35,-680.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="961.09,-683.85 970.48,-678.95 960.08,-676.92 961.09,-683.85"/>
+<path fill="none" stroke="midnightblue" d="M2692.41,-1027.08C2348.23,-1027.32 681.91,-1026.22 457.5,-982 376.6,-966.06 331.1,-983.02 284.5,-915 204.05,-797.57 757.34,-707.99 954.53,-680.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="955.07,-683.56 964.48,-678.7 954.1,-676.62 955.07,-683.56"/>
 </g>
 <!-- Node4&#45;&gt;Node3 -->
 <g id="edge6" class="edge">
 <title>Node4&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2852.53,-965.5C3104.37,-965.25 4181.07,-961.43 4513.5,-915 4649.72,-895.97 4813.5,-976.55 4813.5,-839 4813.5,-839 4813.5,-839 4813.5,-725 4813.5,-536.43 4995.47,-417.61 4846.5,-302 4797.13,-263.69 4378.63,-210.31 4221.66,-191.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4222.05,-187.96 4211.7,-190.25 4221.21,-194.91 4222.05,-187.96"/>
+<path fill="none" stroke="midnightblue" d="M2903.53,-965.46C3150.59,-965.05 4190.15,-960.57 4511.5,-915 4645.98,-895.93 4807.5,-974.82 4807.5,-839 4807.5,-839 4807.5,-839 4807.5,-669 4807.5,-505.23 4969.88,-402.41 4840.5,-302 4791.13,-263.69 4372.63,-210.31 4215.66,-191.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4216.05,-187.96 4205.7,-190.25 4215.21,-194.91 4216.05,-187.96"/>
 </g>
 <!-- Node5 -->
 <g id="node5" class="node">
@@ -143,180 +143,180 @@
 <!-- Node4&#45;&gt;Node5 -->
 <g id="edge4" class="edge">
 <title>Node4&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M2746.43,-965.07C2396.93,-962.14 435.8,-944.43 313.5,-915 247.21,-899.05 212,-905.59 175.5,-848 45.6,-643.03 104.9,-534.17 175.5,-302 185.46,-269.25 186.22,-255.68 213.5,-235 249.76,-207.51 299.11,-194.82 340.18,-189.03"/>
+<path fill="none" stroke="midnightblue" d="M2797.37,-965.18C2442,-962.96 420.46,-948.84 295.5,-915 27.54,-842.43 94.73,-567.61 175.5,-302 185.46,-269.25 186.22,-255.68 213.5,-235 249.76,-207.51 299.11,-194.82 340.18,-189.03"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="340.7,-192.49 350.16,-187.73 339.8,-185.55 340.7,-192.49"/>
 </g>
 <!-- Node6 -->
 <g id="node6" class="node">
 <title>Node6</title>
 <g id="a_node6"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="322.5,-884.5 322.5,-914.5 420.5,-914.5 420.5,-884.5 322.5,-884.5"/>
-<text text-anchor="start" x="330.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="371.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">/creator.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="304.5,-884.5 304.5,-914.5 402.5,-914.5 402.5,-884.5 304.5,-884.5"/>
+<text text-anchor="start" x="312.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="353.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">/creator.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node6 -->
 <g id="edge5" class="edge">
 <title>Node4&#45;&gt;Node6</title>
-<path fill="none" stroke="midnightblue" d="M2746.48,-965.02C2418.34,-961.96 670.68,-944.39 434.5,-915 433.22,-914.84 431.92,-914.67 430.61,-914.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="430.95,-910.98 420.51,-912.8 429.8,-917.89 430.95,-910.98"/>
+<path fill="none" stroke="midnightblue" d="M2797.29,-965.05C2463.07,-962.15 659.91,-945.21 416.5,-915 415.22,-914.84 413.92,-914.67 412.61,-914.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="412.94,-910.99 402.51,-912.8 411.8,-917.89 412.94,-910.99"/>
 </g>
 <!-- Node7 -->
 <g id="node7" class="node">
 <title>Node7</title>
 <g id="a_node7"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2891,-174 2891,-193 2980,-193 2980,-174 2891,-174"/>
-<text text-anchor="middle" x="2935.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2885,-174 2885,-193 2974,-193 2974,-174 2885,-174"/>
+<text text-anchor="middle" x="2929.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node7 -->
 <g id="edge7" class="edge">
 <title>Node4&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2788.3,-956.86C2776.82,-947.55 2759.07,-931.79 2747.5,-915 2695.87,-840.09 2666.5,-817.98 2666.5,-727 2666.5,-727 2666.5,-727 2666.5,-613 2666.5,-452.8 2792.48,-457.34 2893.5,-333 2915.09,-306.43 2921.96,-298.88 2931.5,-266 2937.53,-245.22 2937.79,-220.22 2937.02,-203.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2940.5,-203.04 2936.37,-193.28 2933.51,-203.48 2940.5,-203.04"/>
+<path fill="none" stroke="midnightblue" d="M2835.91,-956.93C2791.42,-929.56 2660.5,-839.5 2660.5,-727 2660.5,-727 2660.5,-727 2660.5,-613 2660.5,-452.8 2786.48,-457.34 2887.5,-333 2909.09,-306.43 2915.96,-298.88 2925.5,-266 2931.53,-245.22 2931.79,-220.22 2931.02,-203.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2934.5,-203.04 2930.37,-193.28 2927.51,-203.48 2934.5,-203.04"/>
 </g>
 <!-- Node8 -->
 <g id="node8" class="node">
 <title>Node8</title>
 <g id="a_node8"><a xlink:href="diagnostic_8h.html" target="_top" xlink:title="A new diagnostic interface for TVM error reporting.">
-<polygon fill="white" stroke="black" points="3915.5,-890 3915.5,-909 4023.5,-909 4023.5,-890 3915.5,-890"/>
-<text text-anchor="middle" x="3969.5" y="-897" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/diagnostic.h</text>
+<polygon fill="white" stroke="black" points="3909.5,-890 3909.5,-909 4017.5,-909 4017.5,-890 3909.5,-890"/>
+<text text-anchor="middle" x="3963.5" y="-897" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/diagnostic.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node8 -->
 <g id="edge8" class="edge">
 <title>Node4&#45;&gt;Node8</title>
-<path fill="none" stroke="midnightblue" d="M2852.81,-962.54C3044.27,-951.9 3696.75,-915.65 3905.04,-904.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3905.41,-907.57 3915.2,-903.52 3905.02,-900.58 3905.41,-907.57"/>
+<path fill="none" stroke="midnightblue" d="M2903.81,-962.39C3088.25,-951.62 3698.95,-915.95 3899.25,-904.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3899.54,-907.74 3909.32,-903.66 3899.13,-900.75 3899.54,-907.74"/>
 </g>
 <!-- Node9 -->
 <g id="node9" class="node">
 <title>Node9</title>
 <g id="a_node9"><a xlink:href="ir_2module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions.">
-<polygon fill="white" stroke="black" points="3379,-828.5 3379,-847.5 3474,-847.5 3474,-828.5 3379,-828.5"/>
-<text text-anchor="middle" x="3426.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
+<polygon fill="white" stroke="black" points="3366,-828.5 3366,-847.5 3461,-847.5 3461,-828.5 3366,-828.5"/>
+<text text-anchor="middle" x="3413.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node9 -->
 <g id="edge195" class="edge">
 <title>Node4&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M2842.1,-956.9C2953.38,-934.45 3252.54,-874.1 3374.09,-849.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3375.14,-852.93 3384.25,-847.52 3373.76,-846.07 3375.14,-852.93"/>
+<path fill="none" stroke="midnightblue" d="M2888.75,-956.9C2988.47,-934.5 3256.22,-874.34 3365.78,-849.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3366.57,-853.13 3375.56,-847.52 3365.04,-846.3 3366.57,-853.13"/>
 </g>
 <!-- Node23 -->
 <g id="node23" class="node">
 <title>Node23</title>
 <g id="a_node23"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3589,-56.5 3589,-75.5 3634,-75.5 3634,-56.5 3589,-56.5"/>
-<text text-anchor="middle" x="3611.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+<polygon fill="white" stroke="#bfbfbf" points="3583,-56.5 3583,-75.5 3628,-75.5 3628,-56.5 3583,-56.5"/>
+<text text-anchor="middle" x="3605.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node23 -->
 <g id="edge198" class="edge">
 <title>Node4&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M2852.89,-964.99C3139.48,-962.11 4489.34,-946.96 4672.5,-915 5025.66,-853.38 5321.5,-794.5 5321.5,-436 5321.5,-436 5321.5,-436 5321.5,-182.5 5321.5,-164.54 5303.4,-145.44 4991.5,-112 4718.08,-82.69 3826.34,-69.77 3644.18,-67.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3644.19,-63.91 3634.14,-67.28 3644.1,-70.91 3644.19,-63.91"/>
+<path fill="none" stroke="midnightblue" d="M2903.7,-964.95C3184.8,-961.91 4491.05,-946.18 4668.5,-915 5020.89,-853.08 5315.5,-793.78 5315.5,-436 5315.5,-436 5315.5,-436 5315.5,-182.5 5315.5,-164.54 5297.4,-145.44 4985.5,-112 4712.08,-82.69 3820.34,-69.77 3638.18,-67.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3638.19,-63.91 3628.14,-67.28 3638.1,-70.91 3638.19,-63.91"/>
 </g>
 <!-- Node37 -->
 <g id="node37" class="node">
 <title>Node37</title>
 <g id="a_node37"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2802.5,-112.5 2802.5,-131.5 2846.5,-131.5 2846.5,-112.5 2802.5,-112.5"/>
-<text text-anchor="middle" x="2824.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="2796.5,-112.5 2796.5,-131.5 2840.5,-131.5 2840.5,-112.5 2796.5,-112.5"/>
+<text text-anchor="middle" x="2818.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node37 -->
 <g id="edge197" class="edge">
 <title>Node4&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M2824.2,-956.96C2947.83,-913.47 3493.5,-712.53 3493.5,-553.5 3493.5,-553.5 3493.5,-553.5 3493.5,-490 3493.5,-435.91 3504.08,-417.68 3480.5,-369 3424.87,-254.17 3391.08,-222.06 3275.5,-168 3201.01,-133.16 2947.54,-125.21 2856.99,-123.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2856.83,-119.97 2846.77,-123.29 2856.71,-126.97 2856.83,-119.97"/>
+<path fill="none" stroke="midnightblue" d="M2872.43,-956.89C2984.44,-912.23 3487.5,-703.32 3487.5,-553.5 3487.5,-553.5 3487.5,-553.5 3487.5,-490 3487.5,-435.91 3498.08,-417.68 3474.5,-369 3418.87,-254.17 3385.08,-222.06 3269.5,-168 3195.01,-133.16 2941.54,-125.21 2850.99,-123.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2850.83,-119.97 2840.77,-123.29 2850.71,-126.97 2850.83,-119.97"/>
 </g>
 <!-- Node62 -->
 <g id="node62" class="node">
 <title>Node62</title>
 <g id="a_node62"><a xlink:href="with_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python&#39;s with syntax.">
-<polygon fill="white" stroke="black" points="4515,-604.5 4515,-623.5 4624,-623.5 4624,-604.5 4515,-604.5"/>
-<text text-anchor="middle" x="4569.5" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
+<polygon fill="white" stroke="black" points="4510,-604.5 4510,-623.5 4619,-623.5 4619,-604.5 4510,-604.5"/>
+<text text-anchor="middle" x="4564.5" y="-611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/support/with.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node62 -->
 <g id="edge196" class="edge">
 <title>Node4&#45;&gt;Node62</title>
-<path fill="none" stroke="midnightblue" d="M2852.61,-964.67C3152.79,-959.61 4623.5,-930.21 4623.5,-839 4623.5,-839 4623.5,-839 4623.5,-781 4623.5,-724.61 4594.97,-662.5 4579.39,-632.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4582.31,-630.81 4574.48,-623.67 4576.15,-634.13 4582.31,-630.81"/>
+<path fill="none" stroke="midnightblue" d="M2903.86,-964.54C3198.94,-958.9 4617.5,-927.18 4617.5,-839 4617.5,-839 4617.5,-839 4617.5,-781 4617.5,-724.71 4589.5,-662.56 4574.21,-632.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4577.16,-630.89 4569.39,-623.68 4570.97,-634.16 4577.16,-630.89"/>
 </g>
 <!-- Node67 -->
 <g id="node67" class="node">
 <title>Node67</title>
 <g id="a_node67"><a xlink:href="instrument_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4626,-425.5 4626,-444.5 4737,-444.5 4737,-425.5 4626,-425.5"/>
-<text text-anchor="middle" x="4681.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/instrument.h</text>
+<polygon fill="white" stroke="black" points="4620,-425.5 4620,-444.5 4731,-444.5 4731,-425.5 4620,-425.5"/>
+<text text-anchor="middle" x="4675.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/instrument.h</text>
 </a>
 </g>
 </g>
 <!-- Node4&#45;&gt;Node67 -->
 <g id="edge189" class="edge">
 <title>Node4&#45;&gt;Node67</title>
-<path fill="none" stroke="midnightblue" d="M2852.86,-964.81C3088.97,-961.6 4041.3,-946.9 4338.5,-915 4502.93,-897.35 4588.84,-966.2 4704.5,-848 4813.42,-736.69 4720.76,-517.31 4690.34,-453.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4693.42,-452 4685.88,-444.55 4687.12,-455.07 4693.42,-452"/>
+<path fill="none" stroke="midnightblue" d="M2903.74,-964.82C3135.11,-961.68 4054.37,-947.38 4341.5,-915 4547.96,-891.72 4769.5,-934.76 4769.5,-727 4769.5,-727 4769.5,-727 4769.5,-669 4769.5,-582.55 4713.15,-490.29 4687.71,-453.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4690.55,-451 4681.96,-444.8 4684.81,-455 4690.55,-451"/>
 </g>
 <!-- Node8&#45;&gt;Node3 -->
 <g id="edge9" class="edge">
 <title>Node8&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M4023.56,-895.41C4158.73,-886.73 4507.18,-858.36 4599.5,-792 4632.55,-768.24 4665.83,-628.17 4666.5,-624 4677.71,-554.33 4654.42,-522.71 4597.5,-481 4534.15,-434.58 4483.94,-496.33 4424.5,-445 4349.26,-380.03 4420.72,-302.24 4347.5,-235 4313.44,-203.72 4261.87,-191.51 4221.83,-186.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4221.95,-183.39 4211.65,-185.86 4221.24,-190.35 4221.95,-183.39"/>
+<path fill="none" stroke="midnightblue" d="M4017.56,-895.41C4152.73,-886.73 4501.18,-858.36 4593.5,-792 4625.69,-768.86 4660.49,-630.12 4661.5,-624 4665.2,-601.56 4666.52,-552.91 4658.5,-537 4640.72,-501.73 4625.16,-497.99 4589.5,-481 4519.39,-447.59 4477.23,-495.83 4418.5,-445 4343.33,-379.94 4414.72,-302.24 4341.5,-235 4307.44,-203.72 4255.87,-191.51 4215.83,-186.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4215.95,-183.39 4205.65,-185.86 4215.24,-190.35 4215.95,-183.39"/>
 </g>
 <!-- Node8&#45;&gt;Node9 -->
 <g id="edge10" class="edge">
 <title>Node8&#45;&gt;Node9</title>
-<path fill="none" stroke="midnightblue" d="M3915.45,-892.58C3812.65,-881.31 3589.8,-856.89 3484.21,-845.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3484.39,-841.82 3474.06,-844.21 3483.62,-848.78 3484.39,-841.82"/>
+<path fill="none" stroke="midnightblue" d="M3909.26,-892.63C3805.14,-881.37 3578.12,-856.81 3471.28,-845.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3471.33,-841.74 3461.01,-844.14 3470.58,-848.7 3471.33,-841.74"/>
 </g>
 <!-- Node8&#45;&gt;Node37 -->
 <g id="edge188" class="edge">
 <title>Node8&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M3977.35,-889.81C3985.65,-880.21 3998.61,-863.98 4006.5,-848 4019.82,-821.01 4025.5,-813.1 4025.5,-783 4025.5,-783 4025.5,-783 4025.5,-613 4025.5,-448.24 3586.87,-225.56 3432.5,-168 3325.48,-128.1 2966.81,-123.49 2856.83,-123.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2856.7,-119.53 2846.69,-123 2856.68,-126.53 2856.7,-119.53"/>
+<path fill="none" stroke="midnightblue" d="M3971.35,-889.81C3979.65,-880.21 3992.61,-863.98 4000.5,-848 4013.82,-821.01 4019.5,-813.1 4019.5,-783 4019.5,-783 4019.5,-783 4019.5,-613 4019.5,-448.42 3581.71,-225.49 3427.5,-168 3320.31,-128.04 2961.04,-123.47 2850.89,-123.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2850.74,-119.52 2840.73,-122.99 2850.72,-126.52 2850.74,-119.52"/>
 </g>
 <!-- Node66 -->
 <g id="node66" class="node">
 <title>Node66</title>
 <g id="a_node66"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3941.5,-828.5 3941.5,-847.5 3997.5,-847.5 3997.5,-828.5 3941.5,-828.5"/>
-<text text-anchor="middle" x="3969.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="3935.5,-828.5 3935.5,-847.5 3991.5,-847.5 3991.5,-828.5 3935.5,-828.5"/>
+<text text-anchor="middle" x="3963.5" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
 </a>
 </g>
 </g>
 <!-- Node8&#45;&gt;Node66 -->
 <g id="edge187" class="edge">
 <title>Node8&#45;&gt;Node66</title>
-<path fill="none" stroke="midnightblue" d="M3969.5,-889.98C3969.5,-881.58 3969.5,-868.48 3969.5,-857.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3973,-857.51 3969.5,-847.51 3966,-857.51 3973,-857.51"/>
+<path fill="none" stroke="midnightblue" d="M3963.5,-889.98C3963.5,-881.58 3963.5,-868.48 3963.5,-857.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3967,-857.51 3963.5,-847.51 3960,-857.51 3967,-857.51"/>
 </g>
 <!-- Node9&#45;&gt;Node3 -->
 <g id="edge13" class="edge">
 <title>Node9&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M3474.12,-836.32C3632.8,-833.77 4142.53,-823.3 4303.5,-792 4378.28,-777.46 4404.47,-781.6 4465.5,-736 4496.08,-713.15 4517.23,-696.32 4505.5,-660 4501.16,-646.56 4246.21,-298.58 4178.74,-206.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4181.54,-204.53 4172.81,-198.54 4175.9,-208.67 4181.54,-204.53"/>
+<path fill="none" stroke="midnightblue" d="M3461.22,-836.34C3620.84,-833.85 4135.15,-823.53 4297.5,-792 4372.28,-777.47 4398.47,-781.6 4459.5,-736 4490.08,-713.15 4511.23,-696.32 4499.5,-660 4495.16,-646.56 4240.21,-298.58 4172.74,-206.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4175.54,-204.53 4166.81,-198.54 4169.9,-208.67 4175.54,-204.53"/>
 </g>
 <!-- Node9&#45;&gt;Node5 -->
 <g id="edge11" class="edge">
 <title>Node9&#45;&gt;Node5</title>
-<path fill="none" stroke="midnightblue" d="M3378.94,-836.59C3108.62,-834.15 1763.05,-820.74 1349.5,-792 1137,-777.23 1078.4,-794.23 873.5,-736 609.79,-661.06 495.85,-592.19 406.5,-333 392.29,-291.79 396.23,-278.14 402.5,-235 404.09,-224.08 407.51,-212.24 410.68,-202.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="414.01,-203.86 414.05,-193.27 407.41,-201.52 414.01,-203.86"/>
+<path fill="none" stroke="midnightblue" d="M3365.99,-836.59C3095.92,-834.16 1751.65,-820.77 1338.5,-792 1126.44,-777.23 1067.88,-794.46 863.5,-736 684.42,-684.78 641.86,-638.76 516.5,-501 456.76,-435.35 436.04,-417.38 408.5,-333 394.97,-291.56 399.02,-278.25 404.5,-235 405.86,-224.28 408.77,-212.59 411.5,-203.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="414.93,-203.89 414.51,-193.31 408.24,-201.85 414.93,-203.89"/>
 </g>
 <!-- Node9&#45;&gt;Node7 -->
 <g id="edge14" class="edge">
 <title>Node9&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M3378.74,-835.48C3249.62,-828.42 2894.02,-788.9 2755.5,-568 2698.72,-477.45 2708.95,-524.48 2911.5,-369 2938.63,-348.18 2954.97,-356.83 2979.5,-333 3004.06,-309.15 3008.77,-299.1 3017.5,-266 3021.01,-252.68 3024.22,-247.03 3017.5,-235 3007.66,-217.39 2988.88,-205.16 2971.78,-197.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2973.08,-193.9 2962.51,-193.13 2970.29,-200.32 2973.08,-193.9"/>
+<path fill="none" stroke="midnightblue" d="M3365.75,-835.27C3237.51,-827.69 2886.14,-786.94 2749.5,-568 2692.9,-477.31 2704.29,-523.44 2905.5,-369 2932.63,-348.18 2948.97,-356.83 2973.5,-333 2998.06,-309.15 3002.77,-299.1 3011.5,-266 3015.01,-252.68 3018.22,-247.03 3011.5,-235 3001.66,-217.39 2982.88,-205.16 2965.78,-197.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2967.08,-193.9 2956.51,-193.13 2964.29,-200.32 2967.08,-193.9"/>
 </g>
 <!-- Node10 -->
 <g id="node10" class="node">
@@ -330,173 +330,173 @@
 <!-- Node9&#45;&gt;Node10 -->
 <g id="edge12" class="edge">
 <title>Node9&#45;&gt;Node10</title>
-<path fill="none" stroke="midnightblue" d="M3378.59,-836.51C3080.37,-833.24 1475.28,-812.27 990.5,-736 942.15,-728.39 815.18,-711.23 777.5,-680 619.19,-548.81 578.59,-276.66 570.33,-203.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="573.8,-202.68 569.27,-193.1 566.84,-203.42 573.8,-202.68"/>
+<path fill="none" stroke="midnightblue" d="M3365.65,-836.51C3067.79,-833.26 1464.65,-812.4 980.5,-736 932.37,-728.4 805.82,-711.33 768.5,-680 612.05,-548.63 576.77,-276.61 569.96,-203.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="573.44,-202.76 569.1,-193.1 566.47,-203.36 573.44,-202.76"/>
 </g>
 <!-- Node11 -->
 <g id="node11" class="node">
 <title>Node11</title>
 <g id="a_node11"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM.">
-<polygon fill="white" stroke="black" points="2303,-543 2303,-562 2382,-562 2382,-543 2303,-543"/>
-<text text-anchor="middle" x="2342.5" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="2297,-543 2297,-562 2376,-562 2376,-543 2297,-543"/>
+<text text-anchor="middle" x="2336.5" y="-550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node11 -->
 <g id="edge15" class="edge">
 <title>Node9&#45;&gt;Node11</title>
-<path fill="none" stroke="midnightblue" d="M3378.79,-836.89C3280.39,-835.85 3048.11,-829.28 2857.5,-792 2828.67,-786.36 2822.87,-779.62 2794.5,-772 2722.85,-752.76 2703.62,-753.39 2631.5,-736 2535.93,-712.95 2496.02,-739.17 2417.5,-680 2380.24,-651.92 2357.96,-599.47 2348.26,-571.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2351.53,-570.51 2345.05,-562.13 2344.89,-572.73 2351.53,-570.51"/>
+<path fill="none" stroke="midnightblue" d="M3365.63,-836.82C3268.01,-835.65 3039.28,-828.83 2851.5,-792 2822.67,-786.35 2816.87,-779.62 2788.5,-772 2716.85,-752.76 2697.62,-753.39 2625.5,-736 2529.93,-712.95 2490.02,-739.17 2411.5,-680 2374.24,-651.92 2351.96,-599.47 2342.26,-571.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2345.53,-570.51 2339.05,-562.13 2338.89,-572.73 2345.53,-570.51"/>
 </g>
 <!-- Node12 -->
 <g id="node12" class="node">
 <title>Node12</title>
 <g id="a_node12"><a xlink:href="source__map_8h.html" target="_top" xlink:title="A map from source names to source code.">
-<polygon fill="white" stroke="black" points="2973,-425.5 2973,-444.5 3090,-444.5 3090,-425.5 2973,-425.5"/>
-<text text-anchor="middle" x="3031.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
+<polygon fill="white" stroke="black" points="2967,-425.5 2967,-444.5 3084,-444.5 3084,-425.5 2967,-425.5"/>
+<text text-anchor="middle" x="3025.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node12 -->
 <g id="edge180" class="edge">
 <title>Node9&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M3383.92,-828.47C3313.46,-812.15 3172.65,-769.83 3094.5,-680 3036.38,-613.2 3030.78,-499.52 3030.99,-454.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3034.49,-454.86 3031.14,-444.81 3027.49,-454.76 3034.49,-454.86"/>
+<path fill="none" stroke="midnightblue" d="M3370.9,-828.46C3300.83,-812.17 3161.47,-769.95 3085.5,-680 3028.66,-612.69 3024.16,-499.73 3024.79,-455.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3028.3,-454.85 3025.05,-444.77 3021.3,-454.68 3028.3,-454.85"/>
 </g>
 <!-- Node9&#45;&gt;Node23 -->
 <g id="edge185" class="edge">
 <title>Node9&#45;&gt;Node23</title>
-<path fill="none" stroke="midnightblue" d="M3474.21,-836.34C3646.13,-833.73 4233.44,-822.73 4418.5,-792 4506.19,-777.44 4526.02,-763.65 4610.5,-736 4738.67,-694.05 4772.28,-685.1 4892.5,-624 5075.11,-531.19 5283.5,-584.84 5283.5,-380 5283.5,-380 5283.5,-380 5283.5,-182.5 5283.5,-97.15 3878.75,-71.23 3644.45,-67.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3644.24,-63.99 3634.18,-67.33 3644.13,-70.99 3644.24,-63.99"/>
+<path fill="none" stroke="midnightblue" d="M3461.25,-836.36C3634,-833.8 4226.03,-822.94 4412.5,-792 4500.19,-777.45 4520.02,-763.65 4604.5,-736 4732.67,-694.05 4766.28,-685.1 4886.5,-624 5069.11,-531.19 5277.5,-584.84 5277.5,-380 5277.5,-380 5277.5,-380 5277.5,-182.5 5277.5,-97.15 3872.75,-71.23 3638.45,-67.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3638.24,-63.99 3628.18,-67.33 3638.13,-70.99 3638.24,-63.99"/>
 </g>
 <!-- Node33 -->
 <g id="node33" class="node">
 <title>Node33</title>
 <g id="a_node33"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4584,-112.5 4584,-131.5 4631,-131.5 4631,-112.5 4584,-112.5"/>
-<text text-anchor="middle" x="4607.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
+<polygon fill="white" stroke="#bfbfbf" points="4578,-112.5 4578,-131.5 4625,-131.5 4625,-112.5 4578,-112.5"/>
+<text text-anchor="middle" x="4601.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node33 -->
 <g id="edge186" class="edge">
 <title>Node9&#45;&gt;Node33</title>
-<path fill="none" stroke="midnightblue" d="M3474.03,-836.69C3639.9,-835.3 4192.43,-828 4365.5,-792 4503.01,-763.4 4843.95,-652.01 4956.5,-568 5054.93,-494.52 5096.77,-406.05 5031.5,-302 4987.19,-231.37 4733.32,-156.93 4641.03,-131.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4641.67,-128.38 4631.1,-129.16 4639.84,-135.14 4641.67,-128.38"/>
+<path fill="none" stroke="midnightblue" d="M3461.09,-836.71C3627.85,-835.38 4185.04,-828.26 4359.5,-792 4497.01,-763.42 4837.95,-652.01 4950.5,-568 5048.93,-494.52 5090.77,-406.05 5025.5,-302 4981.19,-231.37 4727.32,-156.93 4635.03,-131.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4635.67,-128.38 4625.1,-129.16 4633.84,-135.14 4635.67,-128.38"/>
 </g>
 <!-- Node9&#45;&gt;Node37 -->
 <g id="edge182" class="edge">
 <title>Node9&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M3474.33,-836.24C3596.69,-833.01 3911.5,-816.04 3911.5,-727 3911.5,-727 3911.5,-727 3911.5,-669 3911.5,-589.09 3468.98,-199.4 3395.5,-168 3297.37,-126.06 2962.43,-122.81 2856.73,-122.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2856.66,-119.36 2846.67,-122.88 2856.67,-126.36 2856.66,-119.36"/>
+<path fill="none" stroke="midnightblue" d="M3461.12,-836.4C3584.6,-833.56 3905.5,-817.48 3905.5,-727 3905.5,-727 3905.5,-727 3905.5,-669 3905.5,-589.17 3463.81,-199.61 3390.5,-168 3292.34,-125.67 2956.71,-122.69 2850.8,-122.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2850.71,-119.33 2840.72,-122.85 2850.72,-126.33 2850.71,-119.33"/>
 </g>
 <!-- Node52 -->
 <g id="node52" class="node">
 <title>Node52</title>
 <g id="a_node52"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM.">
-<polygon fill="white" stroke="black" points="2178.5,-481.5 2178.5,-500.5 2258.5,-500.5 2258.5,-481.5 2178.5,-481.5"/>
-<text text-anchor="middle" x="2218.5" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
+<polygon fill="white" stroke="black" points="2172.5,-481.5 2172.5,-500.5 2252.5,-500.5 2252.5,-481.5 2172.5,-481.5"/>
+<text text-anchor="middle" x="2212.5" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node52 -->
 <g id="edge181" class="edge">
 <title>Node9&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M3378.95,-835.08C3211.76,-827.83 2652.06,-799.27 2485.5,-736 2363.03,-689.48 2262.85,-556.73 2229.96,-509.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2232.66,-506.94 2224.14,-500.64 2226.87,-510.88 2232.66,-506.94"/>
+<path fill="none" stroke="midnightblue" d="M3365.73,-835.02C3199.08,-827.62 2644.64,-798.73 2479.5,-736 2357.03,-689.48 2256.85,-556.73 2223.96,-509.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2226.66,-506.94 2218.14,-500.64 2220.87,-510.88 2226.66,-506.94"/>
 </g>
 <!-- Node54 -->
 <g id="node54" class="node">
 <title>Node54</title>
 <g id="a_node54"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes.">
-<polygon fill="white" stroke="black" points="2426.5,-660.5 2426.5,-679.5 2524.5,-679.5 2524.5,-660.5 2426.5,-660.5"/>
-<text text-anchor="middle" x="2475.5" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
+<polygon fill="white" stroke="black" points="2420.5,-660.5 2420.5,-679.5 2518.5,-679.5 2518.5,-660.5 2420.5,-660.5"/>
+<text text-anchor="middle" x="2469.5" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node54 -->
 <g id="edge129" class="edge">
 <title>Node9&#45;&gt;Node54</title>
-<path fill="none" stroke="midnightblue" d="M3378.82,-834.82C3293.56,-830.39 3109.57,-818.43 2956.5,-792 2788.67,-763.03 2593.05,-706.59 2512.76,-682.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2513.69,-679.05 2503.11,-679.51 2511.67,-685.75 2513.69,-679.05"/>
+<path fill="none" stroke="midnightblue" d="M3365.86,-834.72C3281.58,-830.18 3100.89,-818.07 2950.5,-792 2782.89,-762.94 2587.53,-706.68 2507.06,-682.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2507.96,-679.11 2497.38,-679.58 2505.94,-685.82 2507.96,-679.11"/>
 </g>
 <!-- Node58 -->
 <g id="node58" class="node">
 <title>Node58</title>
 <g id="a_node58"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4098,-369.5 4098,-388.5 4191,-388.5 4191,-369.5 4098,-369.5"/>
-<text text-anchor="middle" x="4144.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="4092,-369.5 4092,-388.5 4185,-388.5 4185,-369.5 4092,-369.5"/>
+<text text-anchor="middle" x="4138.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node58 -->
 <g id="edge183" class="edge">
 <title>Node9&#45;&gt;Node58</title>
-<path fill="none" stroke="midnightblue" d="M3474.05,-836.55C3624.36,-834.79 4087.85,-826.62 4233.5,-792 4354.72,-763.19 4422.23,-784.23 4490.5,-680 4495.37,-672.56 4495.41,-667.41 4490.5,-660 4461.58,-616.33 4314.05,-601.16 4273.5,-568 4213.86,-519.22 4219.13,-488.5 4175.5,-425 4169.11,-415.7 4161.96,-405.32 4156.14,-396.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4159.01,-394.87 4150.45,-388.62 4153.24,-398.84 4159.01,-394.87"/>
+<path fill="none" stroke="midnightblue" d="M3461.2,-836.58C3612.53,-834.89 4080.5,-826.9 4227.5,-792 4348.73,-763.22 4416.23,-784.23 4484.5,-680 4489.37,-672.56 4489.41,-667.41 4484.5,-660 4455.58,-616.33 4308.05,-601.16 4267.5,-568 4207.86,-519.22 4213.13,-488.5 4169.5,-425 4163.11,-415.7 4155.96,-405.32 4150.14,-396.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4153.01,-394.87 4144.45,-388.62 4147.24,-398.84 4153.01,-394.87"/>
 </g>
 <!-- Node59 -->
 <g id="node59" class="node">
 <title>Node59</title>
 <g id="a_node59"><a xlink:href="ir_2global__info_8h.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself.">
-<polygon fill="white" stroke="black" points="4071.5,-772.5 4071.5,-791.5 4183.5,-791.5 4183.5,-772.5 4071.5,-772.5"/>
-<text text-anchor="middle" x="4127.5" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
+<polygon fill="white" stroke="black" points="4065.5,-772.5 4065.5,-791.5 4177.5,-791.5 4177.5,-772.5 4065.5,-772.5"/>
+<text text-anchor="middle" x="4121.5" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node59 -->
 <g id="edge151" class="edge">
 <title>Node9&#45;&gt;Node59</title>
-<path fill="none" stroke="midnightblue" d="M3474.13,-833.33C3596.19,-823.93 3920.42,-798.95 4060.97,-788.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4061.47,-791.6 4071.17,-787.34 4060.93,-784.62 4061.47,-791.6"/>
+<path fill="none" stroke="midnightblue" d="M3461.05,-833.37C3584.16,-823.98 3913.53,-798.86 4055.21,-788.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4055.78,-791.52 4065.48,-787.27 4055.25,-784.54 4055.78,-791.52"/>
 </g>
 <!-- Node65 -->
 <g id="node65" class="node">
 <title>Node65</title>
 <g id="a_node65"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4395.5,-660.5 4395.5,-679.5 4481.5,-679.5 4481.5,-660.5 4395.5,-660.5"/>
-<text text-anchor="middle" x="4438.5" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
+<polygon fill="white" stroke="#bfbfbf" points="4389.5,-660.5 4389.5,-679.5 4475.5,-679.5 4475.5,-660.5 4389.5,-660.5"/>
+<text text-anchor="middle" x="4432.5" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
 </a>
 </g>
 </g>
 <!-- Node9&#45;&gt;Node65 -->
 <g id="edge184" class="edge">
 <title>Node9&#45;&gt;Node65</title>
-<path fill="none" stroke="midnightblue" d="M3474.25,-836.66C3619.74,-835.25 4055.88,-828.04 4192.5,-792 4281.49,-768.53 4376.4,-711.47 4417.52,-684.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4419.43,-687.9 4425.89,-679.5 4415.61,-682.03 4419.43,-687.9"/>
+<path fill="none" stroke="midnightblue" d="M3461.17,-836.69C3607.46,-835.37 4048.46,-828.37 4186.5,-792 4275.5,-768.55 4370.41,-711.49 4411.52,-684.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4413.43,-687.9 4419.89,-679.51 4409.61,-682.04 4413.43,-687.9"/>
 </g>
 <!-- Node11&#45;&gt;Node3 -->
 <g id="edge16" class="edge">
 <title>Node11&#45;&gt;Node3</title>
-<path fill="none" stroke="midnightblue" d="M2382.02,-551.03C2574.21,-548.31 3411.87,-531.62 3655.5,-445 3761.2,-407.42 3768.86,-362.24 3863.5,-302 3913.08,-270.44 3923.35,-257.83 3977.5,-235 4018.16,-217.86 4066.31,-204.93 4103.29,-196.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4104.42,-199.78 4113.41,-194.17 4102.89,-192.95 4104.42,-199.78"/>
+<path fill="none" stroke="midnightblue" d="M2376.02,-551.03C2568.21,-548.31 3405.87,-531.62 3649.5,-445 3755.2,-407.42 3762.86,-362.24 3857.5,-302 3907.08,-270.44 3917.35,-257.83 3971.5,-235 4012.16,-217.86 4060.31,-204.93 4097.29,-196.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4098.42,-199.78 4107.41,-194.17 4096.89,-192.95 4098.42,-199.78"/>
 </g>
 <!-- Node11&#45;&gt;Node7 -->
 <g id="edge17" class="edge">
 <title>Node11&#45;&gt;Node7</title>
-<path fill="none" stroke="midnightblue" d="M2352.2,-542.87C2367.41,-529.41 2397.87,-502.71 2424.5,-481 2487.62,-429.55 2495.36,-402.69 2569.5,-369 2644.57,-334.89 2680.06,-374.18 2751.5,-333 2801.71,-304.06 2791.83,-270.67 2837.5,-235 2857.85,-219.1 2883.97,-205.93 2904.13,-197.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2905.68,-200.18 2913.49,-193.02 2902.92,-193.74 2905.68,-200.18"/>
+<path fill="none" stroke="midnightblue" d="M2346.2,-542.87C2361.41,-529.41 2391.87,-502.71 2418.5,-481 2481.62,-429.55 2489.36,-402.69 2563.5,-369 2638.57,-334.89 2674.06,-374.18 2745.5,-333 2795.71,-304.06 2785.83,-270.67 2831.5,-235 2851.85,-219.1 2877.97,-205.93 2898.13,-197.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2899.68,-200.18 2907.49,-193.02 2896.92,-193.74 2899.68,-200.18"/>
 </g>
 <!-- Node11&#45;&gt;Node12 -->
 <g id="edge18" class="edge">
 <title>Node11&#45;&gt;Node12</title>
-<path fill="none" stroke="midnightblue" d="M2382.02,-544.88C2496.95,-525.61 2831.7,-469.49 2970.3,-446.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2971.05,-449.68 2980.33,-444.58 2969.89,-442.78 2971.05,-449.68"/>
+<path fill="none" stroke="midnightblue" d="M2376.02,-544.88C2490.95,-525.61 2825.7,-469.49 2964.3,-446.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2965.05,-449.68 2974.33,-444.58 2963.89,-442.78 2965.05,-449.68"/>
 </g>
 <!-- Node14 -->
 <g id="node14" class="node">
 <title>Node14</title>
 <g id="a_node14"><a xlink:href="node_8h.html" target="_top" xlink:title="Definitions and helper macros for IR/AST nodes.">
-<polygon fill="white" stroke="black" points="1995,-369.5 1995,-388.5 2094,-388.5 2094,-369.5 1995,-369.5"/>
-<text text-anchor="middle" x="2044.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/node.h</text>
+<polygon fill="white" stroke="black" points="1989,-369.5 1989,-388.5 2088,-388.5 2088,-369.5 1989,-369.5"/>
+<text text-anchor="middle" x="2038.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/node/node.h</text>
 </a>
 </g>
 </g>
 <!-- Node11&#45;&gt;Node14 -->
 <g id="edge122" class="edge">
 <title>Node11&#45;&gt;Node14</title>
-<path fill="none" stroke="midnightblue" d="M2334.93,-542.73C2322.17,-528.37 2295.07,-499.56 2267.5,-481 2206.24,-439.77 2125.41,-407.98 2079.79,-391.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2080.94,-388.5 2070.34,-388.5 2078.63,-395.11 2080.94,-388.5"/>
+<path fill="none" stroke="midnightblue" d="M2328.93,-542.73C2316.17,-528.37 2289.07,-499.56 2261.5,-481 2200.24,-439.77 2119.41,-407.98 2073.79,-391.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2074.94,-388.5 2064.34,-388.5 2072.63,-395.11 2074.94,-388.5"/>
 </g>
 <!-- Node28 -->
 <g id="node28" class="node">
@@ -510,8 +510,8 @@
 <!-- Node11&#45;&gt;Node28 -->
 <g id="edge123" class="edge">
 <title>Node11&#45;&gt;Node28</title>
-<path fill="none" stroke="midnightblue" d="M2302.67,-548.89C2210.78,-542.66 1976.92,-525.56 1782.5,-501 1563.31,-473.31 943.73,-446.61 816.5,-266 790.13,-228.57 801.76,-170.85 810.32,-141.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="813.72,-142.33 813.36,-131.74 807.04,-140.25 813.72,-142.33"/>
+<path fill="none" stroke="midnightblue" d="M2296.67,-548.89C2204.78,-542.66 1970.92,-525.56 1776.5,-501 1558.6,-473.47 942.48,-445.91 816.5,-266 790.24,-228.49 801.82,-170.8 810.34,-141.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="813.75,-142.32 813.38,-131.74 807.06,-140.24 813.75,-142.32"/>
 </g>
 <!-- Node32 -->
 <g id="node32" class="node">
@@ -525,29 +525,29 @@
 <!-- Node11&#45;&gt;Node32 -->
 <g id="edge128" class="edge">
 <title>Node11&#45;&gt;Node32</title>
-<path fill="none" stroke="midnightblue" d="M2302.64,-544.84C2166.12,-521.6 1705.33,-439.73 1334.5,-333 1211.42,-297.58 1185.75,-273.2 1063.5,-235 1003.82,-216.35 965.64,-248.55 927.5,-199 914.96,-182.7 918.06,-158.08 922.4,-141.31"/>
+<path fill="none" stroke="midnightblue" d="M2296.61,-544.94C2160,-522.03 1698.94,-441.06 1328.5,-333 1207.95,-297.83 1183.22,-272.89 1063.5,-235 1003.89,-216.13 965.64,-248.55 927.5,-199 914.96,-182.7 918.06,-158.08 922.4,-141.31"/>
 <polygon fill="midnightblue" stroke="midnightblue" points="925.8,-142.17 925.29,-131.59 919.09,-140.18 925.8,-142.17"/>
 </g>
 <!-- Node11&#45;&gt;Node37 -->
 <g id="edge127" class="edge">
 <title>Node11&#45;&gt;Node37</title>
-<path fill="none" stroke="midnightblue" d="M2348.43,-542.81C2358.01,-529.05 2377.8,-501.68 2397.5,-481 2423.8,-453.39 2433.52,-449.78 2462.5,-425 2491.74,-400 2494.34,-386.68 2528.5,-369 2585.56,-339.47 2611.58,-362.8 2668.5,-333 2749.18,-290.77 2785.08,-281.56 2823.5,-199 2831.83,-181.09 2830.76,-158.15 2828.44,-142.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2831.82,-141.19 2826.64,-131.95 2824.92,-142.4 2831.82,-141.19"/>
+<path fill="none" stroke="midnightblue" d="M2342.43,-542.81C2352.01,-529.05 2371.8,-501.68 2391.5,-481 2417.8,-453.39 2427.52,-449.78 2456.5,-425 2485.74,-400 2488.34,-386.68 2522.5,-369 2579.56,-339.47 2605.58,-362.8 2662.5,-333 2743.18,-290.77 2779.08,-281.56 2817.5,-199 2825.83,-181.09 2824.76,-158.15 2822.44,-142.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2825.82,-141.19 2820.64,-131.95 2818.92,-142.4 2825.82,-141.19"/>
 </g>
 <!-- Node49 -->
 <g id="node49" class="node">
 <title>Node49</title>
 <g id="a_node49"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3022,-174 3022,-193 3087,-193 3087,-174 3022,-174"/>
-<text text-anchor="middle" x="3054.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="3017,-174 3017,-193 3082,-193 3082,-174 3017,-174"/>
+<text text-anchor="middle" x="3049.5" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
 </a>
 </g>
 </g>
 <!-- Node11&#45;&gt;Node49 -->
 <g id="edge125" class="edge">
 <title>Node11&#45;&gt;Node49</title>
-<path fill="none" stroke="midnightblue" d="M2356.29,-542.79C2378.34,-529 2423.1,-501.59 2462.5,-481 2601.73,-408.23 2643.2,-403.68 2783.5,-333 2876.51,-286.14 2984.29,-224.96 3030.96,-198.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3032.79,-201.1 3039.71,-193.08 3029.3,-195.04 3032.79,-201.1"/>
+<path fill="none" stroke="midnightblue" d="M2350.29,-542.79C2372.34,-529 2417.1,-501.59 2456.5,-481 2595.73,-408.23 2637.14,-403.57 2777.5,-333 2870.81,-286.08 2979.01,-224.93 3025.87,-198.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3027.72,-201.08 3034.65,-193.07 3024.23,-195.01 3027.72,-201.08"/>
 </g>
 <!-- Node50 -->
 <g id="node50" class="node">
@@ -561,151 +561,151 @@
 <!-- Node11&#45;&gt;Node50 -->
 <g id="edge126" class="edge">
 <title>Node11&#45;&gt;Node50</title>
-<path fill="none" stroke="midnightblue" d="M2302.86,-547.56C2225.92,-539.78 2051.01,-521.39 1904.5,-501 1903.3,-500.83 1219.66,-389.34 1218.5,-389 1126.34,-361.71 1111.26,-333.65 1020.5,-302 961.05,-281.27 943.26,-285.8 883.5,-266 881.37,-265.29 879.18,-264.53 876.99,-263.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="878.11,-260.4 867.52,-260.08 875.59,-266.94 878.11,-260.4"/>
+<path fill="none" stroke="midnightblue" d="M2296.86,-547.56C2219.92,-539.78 2045.01,-521.39 1898.5,-501 1897.3,-500.83 1213.66,-389.34 1212.5,-389 1120.34,-361.71 1105.08,-334.15 1014.5,-302 957.6,-281.8 940.71,-285.31 883.5,-266 881.37,-265.28 879.19,-264.51 877,-263.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="878.12,-260.38 867.53,-260.04 875.6,-266.91 878.12,-260.38"/>
 </g>
 <!-- Node11&#45;&gt;Node52 -->
 <g id="edge114" class="edge">
 <title>Node11&#45;&gt;Node52</title>
-<path fill="none" stroke="midnightblue" d="M2324.73,-542.98C2304.02,-533.03 2269.55,-516.49 2245.51,-504.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2246.76,-501.68 2236.23,-500.51 2243.73,-507.99 2246.76,-501.68"/>
+<path fill="none" stroke="midnightblue" d="M2318.73,-542.98C2298.02,-533.03 2263.55,-516.49 2239.51,-504.96"/>
... 354165 lines suppressed ...