You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2026/06/08 15:16:46 UTC
(tvm-site) branch asf-site updated: deploying docs (apache/tvm@b172d5ea3238c361e6eccbe40d0433c1436fe9c1)
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 cbbffc281f9 deploying docs (apache/tvm@b172d5ea3238c361e6eccbe40d0433c1436fe9c1)
cbbffc281f9 is described below
commit cbbffc281f939c2c4cc86a0123a0acd58edc830d
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Mon Jun 8 15:16:36 2026 +0000
deploying docs (apache/tvm@b172d5ea3238c361e6eccbe40d0433c1436fe9c1)
---
.../import_model.zip | Bin 35138 -> 35138 bytes
.../dlight_gpu_scheduling.zip | Bin 26311 -> 26311 bytes
.../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip | Bin 23790 -> 23790 bytes
.../tir_transformation.zip | Bin 15923 -> 15923 bytes
.../meta_schedule.zip | Bin 24239 -> 24239 bytes
.../mix_python_and_tvm_with_pymodule.zip | Bin 39023 -> 39023 bytes
.../relax_creation.zip | Bin 22503 -> 22503 bytes
.../relax_transformation.zip | Bin 11480 -> 11480 bytes
.../optimize_llm.zip | Bin 54007 -> 54007 bytes
.../bring_your_own_codegen.zip | Bin 18423 -> 18423 bytes
.../e2e_opt_model.zip | Bin 14501 -> 14501 bytes
.../quick_start.zip | Bin 16252 -> 16252 bytes
.../export_and_load_executable.zip | Bin 31408 -> 31408 bytes
.../tir_creation.zip | Bin 24580 -> 24580 bytes
.../cross_compilation_and_rpc.zip | Bin 62975 -> 62975 bytes
.../customize_opt.zip | Bin 20544 -> 20544 bytes
.../relax/tutorials/sg_execution_times.rst.txt | 4 +-
.../tensor_ir/tutorials/sg_execution_times.rst.txt | 6 +-
.../tensor_ir/tutorials/tir_creation.rst.txt | 20 +-
.../tensor_ir/tutorials/tir_transformation.rst.txt | 6 +-
.../get_started/tutorials/ir_module.rst.txt | 8 +-
.../get_started/tutorials/quick_start.rst.txt | 4 +-
.../tutorials/sg_execution_times.rst.txt | 6 +-
.../tutorials/cross_compilation_and_rpc.rst.txt | 6 +-
.../how_to/tutorials/customize_opt.rst.txt | 4 +-
.../how_to/tutorials/e2e_opt_model.rst.txt | 2 +-
.../how_to/tutorials/sg_execution_times.rst.txt | 14 +-
docs/_sources/sg_execution_times.rst.txt | 28 +-
docs/commit_hash | 2 +-
.../relax/tutorials/sg_execution_times.html | 4 +-
.../tensor_ir/tutorials/sg_execution_times.html | 6 +-
.../tensor_ir/tutorials/tir_creation.html | 20 +-
.../tensor_ir/tutorials/tir_transformation.html | 6 +-
docs/genindex.html | 6 +
docs/get_started/tutorials/ir_module.html | 8 +-
docs/get_started/tutorials/quick_start.html | 4 +-
docs/get_started/tutorials/sg_execution_times.html | 6 +-
.../tutorials/cross_compilation_and_rpc.html | 6 +-
docs/how_to/tutorials/customize_opt.html | 4 +-
docs/how_to/tutorials/e2e_opt_model.html | 4 +-
docs/how_to/tutorials/sg_execution_times.html | 14 +-
docs/objects.inv | Bin 23759 -> 23801 bytes
..._2tvm_2script_2ir_builder_2base_8h-example.html | 2 +-
docs/reference/api/doxygen/analyzer_8h.html | 19 +-
docs/reference/api/doxygen/analyzer_8h__incl.svg | 1010 ++--
docs/reference/api/doxygen/analyzer_8h_source.html | 840 +--
docs/reference/api/doxygen/annotated.html | 47 +-
.../reference/api/doxygen/arg__info_8h_source.html | 4 +-
docs/reference/api/doxygen/array__utils_8h.html | 2 +-
.../api/doxygen/array__utils_8h__incl.svg | 1488 +++---
.../api/doxygen/array__utils_8h_source.html | 2 +-
.../api/doxygen/async__structs_8h_source.html | 2 +-
.../api/doxygen/attr__registry__map_8h_source.html | 2 +-
docs/reference/api/doxygen/attrs_8h_source.html | 2 +-
.../api/doxygen/axis__group__graph_8h.html | 8 +-
.../api/doxygen/axis__group__graph_8h__incl.svg | 2156 ++++----
.../api/doxygen/axis__group__graph_8h_source.html | 16 +-
docs/reference/api/doxygen/backend_8h_source.html | 2 +-
docs/reference/api/doxygen/bias__add_8h.html | 2 +-
docs/reference/api/doxygen/bias__add_8h__incl.svg | 2466 ++++-----
.../reference/api/doxygen/bias__add_8h_source.html | 2 +-
.../reference/api/doxygen/binding__rewrite_8h.html | 2 +-
.../api/doxygen/binding__rewrite_8h__incl.svg | 2148 ++++----
.../api/doxygen/binding__rewrite_8h_source.html | 2 +-
docs/reference/api/doxygen/block__builder_8h.html | 2 +-
.../api/doxygen/block__builder_8h__incl.svg | 1802 +++----
.../api/doxygen/block__builder_8h_source.html | 8 +-
docs/reference/api/doxygen/bnn_8h.html | 2 +-
docs/reference/api/doxygen/bnn_8h__incl.svg | 2074 ++++----
docs/reference/api/doxygen/bnn_8h_source.html | 7 +-
docs/reference/api/doxygen/bound_8h_source.html | 4 +-
docs/reference/api/doxygen/broadcast_8h.html | 2 +-
docs/reference/api/doxygen/broadcast_8h__incl.svg | 2106 ++++----
.../reference/api/doxygen/broadcast_8h_source.html | 2 +-
docs/reference/api/doxygen/buffer_8h_source.html | 4 +-
docs/reference/api/doxygen/builder_8h_source.html | 2 +-
docs/reference/api/doxygen/bytecode_8h_source.html | 2 +-
docs/reference/api/doxygen/cast_8h_source.html | 2 +-
docs/reference/api/doxygen/ccl_8h_source.html | 2 +-
docs/reference/api/doxygen/classes.html | 2 +-
.../api/doxygen/classtvm_1_1ScopeStack.html | 2 +-
.../api/doxygen/classtvm_1_1WithGroup.html | 4 +-
.../classtvm_1_1arith_1_1Analyzer-members.html | 22 +-
.../api/doxygen/classtvm_1_1arith_1_1Analyzer.html | 596 +--
.../classtvm_1_1arith_1_1AnalyzerObj-members.html | 100 +
....html => classtvm_1_1arith_1_1AnalyzerObj.html} | 362 +-
...asstvm_1_1arith_1_1AnalyzerObj__coll__graph.svg | 200 +
...tvm_1_1arith_1_1AnalyzerObj__inherit__graph.svg | 64 +
.../classtvm_1_1arith_1_1Analyzer__coll__graph.svg | 179 +-
...asstvm_1_1arith_1_1Analyzer__inherit__graph.svg | 48 +
...vm_1_1arith_1_1CanonicalSimplifier-members.html | 2 +-
.../classtvm_1_1arith_1_1CanonicalSimplifier.html | 10 +-
..._1_1arith_1_1ConstIntBoundAnalyzer-members.html | 2 +-
...classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html | 14 +-
.../classtvm_1_1arith_1_1ConstraintContext.html | 9 +-
.../classtvm_1_1arith_1_1IntSet-members.html | 2 +-
.../api/doxygen/classtvm_1_1arith_1_1IntSet.html | 14 +-
...lasstvm_1_1arith_1_1IntSetAnalyzer-members.html | 2 +-
.../classtvm_1_1arith_1_1IntSetAnalyzer.html | 10 +-
...tvm_1_1arith_1_1ModularSetAnalyzer-members.html | 2 +-
.../classtvm_1_1arith_1_1ModularSetAnalyzer.html | 14 +-
...stvm_1_1arith_1_1RewriteSimplifier-members.html | 2 +-
.../classtvm_1_1arith_1_1RewriteSimplifier.html | 12 +-
...th_1_1TransitiveComparisonAnalyzer-members.html | 2 +-
...m_1_1arith_1_1TransitiveComparisonAnalyzer.html | 10 +-
...sstvm_1_1relax_1_1BlockBuilderNode-members.html | 2 +-
.../classtvm_1_1relax_1_1BlockBuilderNode.html | 12 +-
.../classtvm_1_1tirx_1_1IndexMap-members.html | 6 +-
.../api/doxygen/classtvm_1_1tirx_1_1IndexMap.html | 108 +-
.../classtvm_1_1tirx_1_1IndexMapNode-members.html | 17 +-
.../doxygen/classtvm_1_1tirx_1_1IndexMapNode.html | 151 +-
...asstvm_1_1tirx_1_1IndexMapNode__coll__graph.svg | 49 +-
...tvm_1_1tirx_1_1IndexMapNode__inherit__graph.svg | 49 +-
.../classtvm_1_1tirx_1_1IndexMap__coll__graph.svg | 42 +-
...lasstvm_1_1tirx_1_1IndexMap__inherit__graph.svg | 42 +-
.../doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html | 2 +-
.../doxygen/classtvm_1_1tirx_1_1SBlockNode.html | 2 +-
docs/reference/api/doxygen/codegen_8h_source.html | 2 +-
docs/reference/api/doxygen/config_8h_source.html | 2 +-
.../api/doxygen/config__schema_8h_source.html | 2 +-
docs/reference/api/doxygen/constant__utils_8h.html | 2 +-
.../api/doxygen/constant__utils_8h__incl.svg | 2028 +++----
.../api/doxygen/constant__utils_8h_source.html | 9 +-
.../api/doxygen/cost__model_8h_source.html | 2 +-
docs/reference/api/doxygen/cow_8h_source.html | 2 +-
docs/reference/api/doxygen/create_8h_source.html | 2 +-
docs/reference/api/doxygen/cublas_8h.html | 2 +-
docs/reference/api/doxygen/cublas_8h__incl.svg | 1522 +++---
docs/reference/api/doxygen/cublas_8h_source.html | 2 +-
docs/reference/api/doxygen/cuda_8h_source.html | 2 +-
.../api/doxygen/cuda__ipc__memory_8h_source.html | 2 +-
.../api/doxygen/data__layout_8h_source.html | 4 +-
.../api/doxygen/data__type_8h_source.html | 2 +-
docs/reference/api/doxygen/database_8h_source.html | 2 +-
.../api/doxygen/dataflow__matcher_8h_source.html | 6 +-
.../api/doxygen/dataflow__pattern_8h_source.html | 1445 ++---
.../dataflow__pattern__functor_8h_source.html | 44 +-
docs/reference/api/doxygen/datatype_8h_source.html | 2 +-
docs/reference/api/doxygen/dense_8h.html | 2 +-
docs/reference/api/doxygen/dense_8h__incl.svg | 1510 +++---
docs/reference/api/doxygen/dense_8h_source.html | 2 +-
.../api/doxygen/detail_2broadcast_8h.html | 2 +-
.../api/doxygen/detail_2broadcast_8h__incl.svg | 2066 ++++----
.../api/doxygen/detail_2broadcast_8h_source.html | 4 +-
.../api/doxygen/device__api_8h_source.html | 4 +-
.../api/doxygen/diagnostic_8h_source.html | 2 +-
docs/reference/api/doxygen/dilate_8h.html | 2 +-
docs/reference/api/doxygen/dilate_8h__incl.svg | 1514 +++---
docs/reference/api/doxygen/dilate_8h_source.html | 7 +-
.../api/doxygen/disco__worker_8h_source.html | 2 +-
.../api/doxygen/distributed_2struct__info_8h.html | 2 +-
.../doxygen/distributed_2struct__info_8h__incl.svg | 1838 +++----
.../distributed_2struct__info_8h_source.html | 2 +-
docs/reference/api/doxygen/distributed_8h.html | 2 +-
.../reference/api/doxygen/distributed_8h__incl.svg | 1858 +++----
.../api/doxygen/distributed_8h_source.html | 2 +-
docs/reference/api/doxygen/doc_8h_source.html | 2 +-
docs/reference/api/doxygen/einsum_8h.html | 2 +-
docs/reference/api/doxygen/einsum_8h__incl.svg | 2160 ++++----
docs/reference/api/doxygen/einsum_8h_source.html | 2 +-
docs/reference/api/doxygen/elemwise_8h.html | 2 +-
docs/reference/api/doxygen/elemwise_8h__incl.svg | 2012 +++----
docs/reference/api/doxygen/elemwise_8h_source.html | 4 +-
.../reference/api/doxygen/env__func_8h_source.html | 2 +-
.../api/doxygen/exec__builder_8h_source.html | 2 +-
.../api/doxygen/exec__context_8h_source.html | 2 +-
.../api/doxygen/exec__scope_8h_source.html | 2 +-
.../api/doxygen/executable_8h_source.html | 2 +-
docs/reference/api/doxygen/extern_8h.html | 2 +-
docs/reference/api/doxygen/extern_8h__incl.svg | 1506 +++---
docs/reference/api/doxygen/extern_8h_source.html | 4 +-
.../api/doxygen/extracted__task_8h_source.html | 2 +-
.../api/doxygen/feature__extractor_8h_source.html | 2 +-
docs/reference/api/doxygen/flatten_8h.html | 2 +-
docs/reference/api/doxygen/flatten_8h__incl.svg | 2072 ++++----
docs/reference/api/doxygen/flatten_8h_source.html | 2 +-
docs/reference/api/doxygen/functions__.html | 3 +-
docs/reference/api/doxygen/functions_a.html | 21 +-
docs/reference/api/doxygen/functions_b.html | 2 +-
docs/reference/api/doxygen/functions_c.html | 16 +-
docs/reference/api/doxygen/functions_func.html | 15 +-
docs/reference/api/doxygen/functions_func_b.html | 2 +-
docs/reference/api/doxygen/functions_func_c.html | 12 +-
docs/reference/api/doxygen/functions_func_g.html | 2 +-
docs/reference/api/doxygen/functions_func_i.html | 4 +-
docs/reference/api/doxygen/functions_func_m.html | 8 +-
docs/reference/api/doxygen/functions_func_n.html | 4 +-
docs/reference/api/doxygen/functions_func_o.html | 15 +-
docs/reference/api/doxygen/functions_func_s.html | 2 +-
docs/reference/api/doxygen/functions_func_t.html | 4 +-
docs/reference/api/doxygen/functions_g.html | 2 +-
docs/reference/api/doxygen/functions_i.html | 6 +-
docs/reference/api/doxygen/functions_m.html | 10 +-
docs/reference/api/doxygen/functions_n.html | 6 +-
docs/reference/api/doxygen/functions_o.html | 7 +-
docs/reference/api/doxygen/functions_r.html | 2 +-
docs/reference/api/doxygen/functions_rela.html | 14 +-
docs/reference/api/doxygen/functions_s.html | 8 +-
docs/reference/api/doxygen/functions_t.html | 18 +-
docs/reference/api/doxygen/functions_vars.html | 3 +-
docs/reference/api/doxygen/functions_vars_c.html | 4 +-
docs/reference/api/doxygen/functions_vars_i.html | 2 +-
docs/reference/api/doxygen/functions_vars_m.html | 2 +-
docs/reference/api/doxygen/functions_vars_r.html | 2 +-
docs/reference/api/doxygen/functions_vars_t.html | 2 +-
docs/reference/api/doxygen/fuse_8h.html | 2 +-
docs/reference/api/doxygen/fuse_8h__incl.svg | 1488 +++---
docs/reference/api/doxygen/fuse_8h_source.html | 2 +-
.../api/doxygen/global__var__supply_8h_source.html | 2 +-
docs/reference/api/doxygen/group__norm_8h.html | 2 +-
.../reference/api/doxygen/group__norm_8h__incl.svg | 1506 +++---
.../api/doxygen/group__norm_8h_source.html | 4 +-
docs/reference/api/doxygen/hierarchy.html | 1725 +++---
docs/reference/api/doxygen/image_8h_source.html | 2 +-
docs/reference/api/doxygen/index_8h_source.html | 2 +-
.../api/doxygen/index__map_8h_source.html | 152 +-
docs/reference/api/doxygen/inherit_graph_1.svg | 3765 ++++++-------
docs/reference/api/doxygen/inherit_graph_10.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_100.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_101.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_102.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_103.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_104.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_105.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_106.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_107.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_108.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_109.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_11.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_110.svg | 29 +-
docs/reference/api/doxygen/inherit_graph_111.svg | 22 +-
docs/reference/api/doxygen/inherit_graph_112.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_113.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_114.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_115.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_116.svg | 22 -
docs/reference/api/doxygen/inherit_graph_12.svg | 28 +-
docs/reference/api/doxygen/inherit_graph_13.svg | 27 +-
docs/reference/api/doxygen/inherit_graph_14.svg | 21 +-
docs/reference/api/doxygen/inherit_graph_15.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_16.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_17.svg | 80 +-
docs/reference/api/doxygen/inherit_graph_18.svg | 84 +-
docs/reference/api/doxygen/inherit_graph_19.svg | 48 +-
docs/reference/api/doxygen/inherit_graph_2.svg | 5533 ++++++++++----------
docs/reference/api/doxygen/inherit_graph_20.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_21.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_22.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_23.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_24.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_25.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_26.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_27.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_28.svg | 27 +-
docs/reference/api/doxygen/inherit_graph_29.svg | 29 +-
docs/reference/api/doxygen/inherit_graph_3.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_30.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_31.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_32.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_33.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_34.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_35.svg | 44 +-
docs/reference/api/doxygen/inherit_graph_36.svg | 40 +-
docs/reference/api/doxygen/inherit_graph_37.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_38.svg | 27 +-
docs/reference/api/doxygen/inherit_graph_39.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_4.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_40.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_41.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_42.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_43.svg | 32 +-
docs/reference/api/doxygen/inherit_graph_44.svg | 20 +-
docs/reference/api/doxygen/inherit_graph_45.svg | 30 +-
docs/reference/api/doxygen/inherit_graph_46.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_47.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_48.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_49.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_5.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_50.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_51.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_52.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_53.svg | 32 +-
docs/reference/api/doxygen/inherit_graph_54.svg | 32 +-
docs/reference/api/doxygen/inherit_graph_55.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_56.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_57.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_58.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_59.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_6.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_60.svg | 49 +-
docs/reference/api/doxygen/inherit_graph_61.svg | 47 +-
docs/reference/api/doxygen/inherit_graph_62.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_63.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_64.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_65.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_66.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_67.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_68.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_69.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_7.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_70.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_71.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_72.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_73.svg | 17 +-
docs/reference/api/doxygen/inherit_graph_74.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_75.svg | 14 +-
docs/reference/api/doxygen/inherit_graph_76.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_77.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_78.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_79.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_8.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_80.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_81.svg | 4 +-
docs/reference/api/doxygen/inherit_graph_82.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_83.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_84.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_85.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_86.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_87.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_88.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_89.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_9.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_90.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_91.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_92.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_93.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_94.svg | 12 +-
docs/reference/api/doxygen/inherit_graph_95.svg | 15 +-
docs/reference/api/doxygen/inherit_graph_96.svg | 77 +-
docs/reference/api/doxygen/inherit_graph_97.svg | 78 +-
docs/reference/api/doxygen/inherit_graph_98.svg | 109 +-
docs/reference/api/doxygen/inherit_graph_99.svg | 107 +-
docs/reference/api/doxygen/inherits.html | 204 +-
docs/reference/api/doxygen/instance__norm_8h.html | 2 +-
.../api/doxygen/instance__norm_8h__incl.svg | 1510 +++---
.../api/doxygen/instance__norm_8h_source.html | 2 +-
.../api/doxygen/instruction_8h_source.html | 2 +-
.../api/doxygen/instrument_8h_source.html | 2 +-
docs/reference/api/doxygen/int__set_8h.html | 18 +-
docs/reference/api/doxygen/int__set_8h_source.html | 211 +-
docs/reference/api/doxygen/int__solver_8h.html | 2 +-
.../reference/api/doxygen/int__solver_8h__incl.svg | 1244 ++---
.../api/doxygen/int__solver_8h_source.html | 2 +-
docs/reference/api/doxygen/io_8h_source.html | 2 +-
docs/reference/api/doxygen/ir_2expr_8h_source.html | 2 +-
.../api/doxygen/ir_2function_8h_source.html | 2 +-
.../api/doxygen/ir_2global__info_8h_source.html | 2 +-
docs/reference/api/doxygen/ir_2op_8h_source.html | 2 +-
.../api/doxygen/ir_2transform_8h_source.html | 2 +-
docs/reference/api/doxygen/ir_2type_8h_source.html | 2 +-
.../api/doxygen/ir__docsifier_8h_source.html | 2 +-
.../doxygen/ir__docsifier__functor_8h_source.html | 2 +-
.../api/doxygen/iter__affine__map_8h.html | 26 +-
.../api/doxygen/iter__affine__map_8h__incl.svg | 1078 ++--
.../api/doxygen/iter__affine__map_8h_source.html | 28 +-
docs/reference/api/doxygen/layer__norm_8h.html | 2 +-
.../reference/api/doxygen/layer__norm_8h__incl.svg | 2576 ++++-----
.../api/doxygen/layer__norm_8h_source.html | 2 +-
docs/reference/api/doxygen/layout_8h_source.html | 4 +-
.../api/doxygen/linear__algebra_8h_source.html | 2 +-
.../api/doxygen/local__response__norm_8h.html | 2 +-
.../api/doxygen/local__response__norm_8h__incl.svg | 1510 +++---
.../doxygen/local__response__norm_8h_source.html | 2 +-
.../api/doxygen/manipulate_8h_source.html | 4 +-
docs/reference/api/doxygen/mapping_8h.html | 2 +-
docs/reference/api/doxygen/mapping_8h__incl.svg | 1510 +++---
docs/reference/api/doxygen/mapping_8h_source.html | 2 +-
.../api/doxygen/measure__callback_8h_source.html | 2 +-
.../api/doxygen/measure__candidate_8h_source.html | 2 +-
.../api/doxygen/memory__manager_8h_source.html | 4 +-
docs/reference/api/doxygen/module_8h_source.html | 2 +-
docs/reference/api/doxygen/mutator_8h_source.html | 2 +-
.../api/doxygen/name__supply_8h_source.html | 2 +-
docs/reference/api/doxygen/namespacemembers_c.html | 2 +-
docs/reference/api/doxygen/namespacemembers_d.html | 4 +-
docs/reference/api/doxygen/namespacemembers_e.html | 12 +-
.../api/doxygen/namespacemembers_func_c.html | 2 +-
.../api/doxygen/namespacemembers_func_d.html | 4 +-
.../api/doxygen/namespacemembers_func_e.html | 10 +-
.../api/doxygen/namespacemembers_func_g.html | 2 +-
.../api/doxygen/namespacemembers_func_i.html | 10 +-
.../api/doxygen/namespacemembers_func_n.html | 2 +-
.../api/doxygen/namespacemembers_func_s.html | 6 +-
docs/reference/api/doxygen/namespacemembers_g.html | 2 +-
docs/reference/api/doxygen/namespacemembers_i.html | 8 +-
docs/reference/api/doxygen/namespacemembers_n.html | 2 +-
docs/reference/api/doxygen/namespacemembers_s.html | 10 +-
docs/reference/api/doxygen/namespaces.html | 47 +-
.../api/doxygen/namespacetvm_1_1arith.html | 107 +-
.../api/doxygen/namespacetvm_1_1relax.html | 418 +-
.../api/doxygen/namespacetvm_1_1s__tir.html | 12 +-
.../api/doxygen/namespacetvm_1_1tirx.html | 12 +-
docs/reference/api/doxygen/nested__msg_8h.html | 2 +-
.../reference/api/doxygen/nested__msg_8h__incl.svg | 1674 +++---
.../api/doxygen/nested__msg_8h_source.html | 2 +-
.../api/doxygen/node__functor_8h_source.html | 2 +-
docs/reference/api/doxygen/nvtx_8h_source.html | 2 +-
docs/reference/api/doxygen/operation_8h.html | 2 +-
docs/reference/api/doxygen/operation_8h__incl.svg | 1478 +++---
.../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 | 1506 +++---
.../api/doxygen/pad__utils_8h_source.html | 2 +-
docs/reference/api/doxygen/pattern_8h_source.html | 2 +-
docs/reference/api/doxygen/pooling_8h.html | 2 +-
docs/reference/api/doxygen/pooling_8h__incl.svg | 2700 +++++-----
docs/reference/api/doxygen/pooling_8h_source.html | 13 +-
docs/reference/api/doxygen/postproc_8h_source.html | 2 +-
docs/reference/api/doxygen/predicate_8h.html | 2 +-
docs/reference/api/doxygen/predicate_8h__incl.svg | 1556 +++---
.../reference/api/doxygen/predicate_8h_source.html | 2 +-
docs/reference/api/doxygen/printer_8h_source.html | 2 +-
docs/reference/api/doxygen/profiler_8h_source.html | 2 +-
docs/reference/api/doxygen/qdq_8h_source.html | 2 +-
.../api/doxygen/random__engine_8h_source.html | 2 +-
docs/reference/api/doxygen/ravel__unravel_8h.html | 2 +-
.../api/doxygen/ravel__unravel_8h__incl.svg | 1494 +++---
.../api/doxygen/ravel__unravel_8h_source.html | 4 +-
docs/reference/api/doxygen/reduction_8h.html | 2 +-
docs/reference/api/doxygen/reduction_8h__incl.svg | 2550 ++++-----
.../reference/api/doxygen/reduction_8h_source.html | 2 +-
docs/reference/api/doxygen/relax_2analysis_8h.html | 66 +-
.../api/doxygen/relax_2analysis_8h__incl.svg | 2118 ++++----
.../api/doxygen/relax_2analysis_8h_source.html | 291 +-
.../api/doxygen/relax_2attrs_2nn_8h_source.html | 2 +-
.../api/doxygen/relax_2attrs_2op_8h_source.html | 2 +-
...elax_2backend_2adreno_2transform_8h_source.html | 2 +-
...relax_2distributed_2global__info_8h_source.html | 4 +-
.../relax_2distributed_2transform_8h_source.html | 2 +-
.../api/doxygen/relax_2expr_8h_source.html | 2 +-
.../api/doxygen/relax_2expr__functor_8h.html | 2 +-
.../api/doxygen/relax_2expr__functor_8h__incl.svg | 2018 +++----
.../doxygen/relax_2expr__functor_8h_source.html | 2 +-
.../api/doxygen/relax_2op__attr__types_8h.html | 2 +-
.../doxygen/relax_2op__attr__types_8h__incl.svg | 1740 +++---
.../doxygen/relax_2op__attr__types_8h_source.html | 2 +-
.../doxygen/relax_2script_2builder_2frame_8h.html | 2 +-
.../relax_2script_2builder_2frame_8h__incl.svg | 1944 +++----
.../relax_2script_2builder_2frame_8h_source.html | 2 +-
.../api/doxygen/relax_2script_2builder_2ir_8h.html | 2 +-
.../relax_2script_2builder_2ir_8h__incl.svg | 1828 +++----
.../relax_2script_2builder_2ir_8h_source.html | 2 +-
.../api/doxygen/relax_2transform_8h_source.html | 4 +-
.../api/doxygen/relax_2type_8h_source.html | 2 +-
docs/reference/api/doxygen/relax_2utils_8h.html | 8 +-
.../api/doxygen/relax_2utils_8h__incl.svg | 1682 +++---
.../api/doxygen/relax_2utils_8h_source.html | 10 +-
docs/reference/api/doxygen/reorg_8h.html | 2 +-
docs/reference/api/doxygen/reorg_8h__incl.svg | 2598 ++++-----
docs/reference/api/doxygen/reorg_8h_source.html | 2 +-
docs/reference/api/doxygen/rms__norm_8h.html | 2 +-
docs/reference/api/doxygen/rms__norm_8h__incl.svg | 2576 ++++-----
.../reference/api/doxygen/rms__norm_8h_source.html | 2 +-
docs/reference/api/doxygen/runner_8h_source.html | 2 +-
.../doxygen/runtime_2disco_2builtin_8h_source.html | 4 +-
.../api/doxygen/runtime_2tensor_8h_source.html | 4 +-
.../doxygen/runtime_2vm_2builtin_8h_source.html | 2 +-
.../reference/api/doxygen/s__tir_2analysis_8h.html | 6 +-
.../api/doxygen/s__tir_2analysis_8h_source.html | 110 +-
..._tir_2backend_2adreno_2transform_8h_source.html | 2 +-
.../api/doxygen/s__tir_2stmt_8h_source.html | 2 +-
.../api/doxygen/s__tir_2transform_8h_source.html | 2 +-
.../api/doxygen/s__tir_2utils_8h_source.html | 2 +-
docs/reference/api/doxygen/sampling_8h_source.html | 2 +-
.../sblock__dependence__info_8h_source.html | 2 +-
.../api/doxygen/sblock__scope_8h_source.html | 2 +-
docs/reference/api/doxygen/schedule_8h_source.html | 4 +-
.../api/doxygen/schedule__rule_8h_source.html | 2 +-
.../api/doxygen/scope__stack_8h_source.html | 2 +-
.../script_2ir__builder_2base_8h_source.html | 2 +-
.../script_2ir__builder_2ir_2frame_8h_source.html | 2 +-
.../script_2ir__builder_2ir_2ir_8h_source.html | 2 +-
docs/reference/api/doxygen/search/all_1.js | 2 +-
docs/reference/api/doxygen/search/all_10.js | 73 +-
docs/reference/api/doxygen/search/all_11.js | 92 +-
docs/reference/api/doxygen/search/all_13.js | 6 +-
docs/reference/api/doxygen/search/all_14.js | 443 +-
docs/reference/api/doxygen/search/all_15.js | 708 +--
docs/reference/api/doxygen/search/all_16.js | 138 +-
docs/reference/api/doxygen/search/all_17.js | 223 +-
docs/reference/api/doxygen/search/all_18.js | 134 +-
docs/reference/api/doxygen/search/all_19.js | 2 +-
docs/reference/api/doxygen/search/all_1a.js | 84 +-
docs/reference/api/doxygen/search/all_2.js | 429 +-
docs/reference/api/doxygen/search/all_3.js | 356 +-
docs/reference/api/doxygen/search/all_4.js | 534 +-
docs/reference/api/doxygen/search/all_5.js | 233 +-
docs/reference/api/doxygen/search/all_6.js | 143 +-
docs/reference/api/doxygen/search/all_7.js | 702 +--
docs/reference/api/doxygen/search/all_8.js | 268 +-
docs/reference/api/doxygen/search/all_9.js | 66 +-
docs/reference/api/doxygen/search/all_a.js | 584 +--
docs/reference/api/doxygen/search/all_b.js | 8 +-
docs/reference/api/doxygen/search/all_c.js | 574 +-
docs/reference/api/doxygen/search/all_d.js | 230 +-
docs/reference/api/doxygen/search/all_e.js | 318 +-
docs/reference/api/doxygen/search/all_f.js | 202 +-
docs/reference/api/doxygen/search/classes_0.js | 127 +-
docs/reference/api/doxygen/search/classes_1.js | 102 +-
docs/reference/api/doxygen/search/classes_10.js | 274 +-
docs/reference/api/doxygen/search/classes_11.js | 164 +-
docs/reference/api/doxygen/search/classes_12.js | 4 +-
docs/reference/api/doxygen/search/classes_13.js | 40 +-
docs/reference/api/doxygen/search/classes_14.js | 32 +-
docs/reference/api/doxygen/search/classes_2.js | 114 +-
docs/reference/api/doxygen/search/classes_3.js | 128 +-
docs/reference/api/doxygen/search/classes_4.js | 84 +-
docs/reference/api/doxygen/search/classes_5.js | 66 +-
docs/reference/api/doxygen/search/classes_6.js | 34 +-
docs/reference/api/doxygen/search/classes_7.js | 6 +-
docs/reference/api/doxygen/search/classes_8.js | 120 +-
docs/reference/api/doxygen/search/classes_9.js | 48 +-
docs/reference/api/doxygen/search/classes_a.js | 58 +-
docs/reference/api/doxygen/search/classes_b.js | 30 +-
docs/reference/api/doxygen/search/classes_c.js | 40 +-
docs/reference/api/doxygen/search/classes_d.js | 146 +-
docs/reference/api/doxygen/search/classes_e.js | 2 +-
docs/reference/api/doxygen/search/classes_f.js | 54 +-
docs/reference/api/doxygen/search/defines_0.js | 6 +-
docs/reference/api/doxygen/search/defines_1.js | 2 +-
docs/reference/api/doxygen/search/defines_2.js | 4 +-
docs/reference/api/doxygen/search/defines_3.js | 2 +-
docs/reference/api/doxygen/search/defines_4.js | 4 +-
docs/reference/api/doxygen/search/defines_5.js | 10 +-
docs/reference/api/doxygen/search/defines_6.js | 4 +-
docs/reference/api/doxygen/search/defines_7.js | 4 +-
docs/reference/api/doxygen/search/defines_8.js | 108 +-
docs/reference/api/doxygen/search/defines_9.js | 2 +-
docs/reference/api/doxygen/search/enums_0.js | 4 +-
docs/reference/api/doxygen/search/enums_1.js | 6 +-
docs/reference/api/doxygen/search/enums_2.js | 6 +-
docs/reference/api/doxygen/search/enums_3.js | 10 +-
docs/reference/api/doxygen/search/enums_4.js | 6 +-
docs/reference/api/doxygen/search/enums_5.js | 4 +-
docs/reference/api/doxygen/search/enums_6.js | 4 +-
docs/reference/api/doxygen/search/enums_7.js | 2 +-
docs/reference/api/doxygen/search/enums_8.js | 2 +-
docs/reference/api/doxygen/search/enums_9.js | 6 +-
docs/reference/api/doxygen/search/enums_a.js | 4 +-
docs/reference/api/doxygen/search/enums_b.js | 6 +-
docs/reference/api/doxygen/search/enums_c.js | 2 +-
docs/reference/api/doxygen/search/enums_d.js | 12 +-
docs/reference/api/doxygen/search/enums_e.js | 8 +-
docs/reference/api/doxygen/search/enums_f.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_0.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_1.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_2.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_3.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_4.js | 420 +-
docs/reference/api/doxygen/search/enumvalues_5.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_6.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_7.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_8.js | 2 +-
docs/reference/api/doxygen/search/files_0.js | 16 +-
docs/reference/api/doxygen/search/files_1.js | 24 +-
docs/reference/api/doxygen/search/files_10.js | 38 +-
docs/reference/api/doxygen/search/files_11.js | 2 +-
docs/reference/api/doxygen/search/files_12.js | 8 +-
docs/reference/api/doxygen/search/files_13.js | 4 +-
docs/reference/api/doxygen/search/files_2.js | 26 +-
docs/reference/api/doxygen/search/files_3.js | 28 +-
docs/reference/api/doxygen/search/files_4.js | 22 +-
docs/reference/api/doxygen/search/files_5.js | 10 +-
docs/reference/api/doxygen/search/files_6.js | 6 +-
docs/reference/api/doxygen/search/files_7.js | 26 +-
docs/reference/api/doxygen/search/files_8.js | 8 +-
docs/reference/api/doxygen/search/files_9.js | 14 +-
docs/reference/api/doxygen/search/files_a.js | 10 +-
docs/reference/api/doxygen/search/files_b.js | 6 +-
docs/reference/api/doxygen/search/files_c.js | 14 +-
docs/reference/api/doxygen/search/files_d.js | 2 +-
docs/reference/api/doxygen/search/files_e.js | 12 +-
docs/reference/api/doxygen/search/files_f.js | 42 +-
docs/reference/api/doxygen/search/functions_0.js | 231 +-
docs/reference/api/doxygen/search/functions_1.js | 186 +-
docs/reference/api/doxygen/search/functions_10.js | 10 +-
docs/reference/api/doxygen/search/functions_11.js | 212 +-
docs/reference/api/doxygen/search/functions_12.js | 394 +-
docs/reference/api/doxygen/search/functions_13.js | 268 +-
docs/reference/api/doxygen/search/functions_14.js | 122 +-
docs/reference/api/doxygen/search/functions_15.js | 130 +-
docs/reference/api/doxygen/search/functions_16.js | 88 +-
docs/reference/api/doxygen/search/functions_17.js | 2 +-
docs/reference/api/doxygen/search/functions_18.js | 84 +-
docs/reference/api/doxygen/search/functions_2.js | 338 +-
docs/reference/api/doxygen/search/functions_3.js | 216 +-
docs/reference/api/doxygen/search/functions_4.js | 147 +-
docs/reference/api/doxygen/search/functions_5.js | 422 +-
docs/reference/api/doxygen/search/functions_6.js | 228 +-
docs/reference/api/doxygen/search/functions_7.js | 54 +-
docs/reference/api/doxygen/search/functions_8.js | 390 +-
docs/reference/api/doxygen/search/functions_9.js | 8 +-
docs/reference/api/doxygen/search/functions_a.js | 4 +-
docs/reference/api/doxygen/search/functions_b.js | 146 +-
docs/reference/api/doxygen/search/functions_c.js | 139 +-
docs/reference/api/doxygen/search/functions_d.js | 143 +-
docs/reference/api/doxygen/search/functions_e.js | 102 +-
docs/reference/api/doxygen/search/functions_f.js | 326 +-
docs/reference/api/doxygen/search/namespaces_0.js | 66 +-
docs/reference/api/doxygen/search/related_0.js | 2 +-
docs/reference/api/doxygen/search/related_1.js | 10 +-
docs/reference/api/doxygen/search/related_2.js | 2 +-
docs/reference/api/doxygen/search/related_3.js | 6 +-
docs/reference/api/doxygen/search/related_4.js | 8 +-
docs/reference/api/doxygen/search/related_5.js | 2 +-
docs/reference/api/doxygen/search/related_6.js | 6 +-
docs/reference/api/doxygen/search/related_7.js | 8 +-
docs/reference/api/doxygen/search/related_8.js | 2 +-
docs/reference/api/doxygen/search/related_9.js | 6 +-
docs/reference/api/doxygen/search/related_a.js | 14 +-
docs/reference/api/doxygen/search/related_b.js | 2 +-
docs/reference/api/doxygen/search/related_c.js | 8 +-
docs/reference/api/doxygen/search/related_d.js | 8 +-
docs/reference/api/doxygen/search/typedefs_0.js | 2 +-
docs/reference/api/doxygen/search/typedefs_1.js | 8 +-
docs/reference/api/doxygen/search/typedefs_2.js | 4 +-
docs/reference/api/doxygen/search/typedefs_3.js | 6 +-
docs/reference/api/doxygen/search/typedefs_4.js | 8 +-
docs/reference/api/doxygen/search/typedefs_5.js | 12 +-
docs/reference/api/doxygen/search/typedefs_6.js | 120 +-
docs/reference/api/doxygen/search/typedefs_7.js | 4 +-
docs/reference/api/doxygen/search/typedefs_8.js | 6 +-
docs/reference/api/doxygen/search/typedefs_9.js | 2 +-
docs/reference/api/doxygen/search/typedefs_a.js | 8 +-
docs/reference/api/doxygen/search/typedefs_b.js | 6 +-
docs/reference/api/doxygen/search/typedefs_c.js | 8 +-
docs/reference/api/doxygen/search/typedefs_d.js | 32 +-
docs/reference/api/doxygen/search/variables_0.js | 14 +-
docs/reference/api/doxygen/search/variables_1.js | 84 +-
docs/reference/api/doxygen/search/variables_10.js | 2 +-
docs/reference/api/doxygen/search/variables_11.js | 78 +-
docs/reference/api/doxygen/search/variables_12.js | 150 +-
docs/reference/api/doxygen/search/variables_13.js | 78 +-
docs/reference/api/doxygen/search/variables_14.js | 12 +-
docs/reference/api/doxygen/search/variables_15.js | 48 +-
docs/reference/api/doxygen/search/variables_16.js | 18 +-
docs/reference/api/doxygen/search/variables_2.js | 64 +-
docs/reference/api/doxygen/search/variables_3.js | 72 +-
docs/reference/api/doxygen/search/variables_4.js | 106 +-
docs/reference/api/doxygen/search/variables_5.js | 62 +-
docs/reference/api/doxygen/search/variables_6.js | 110 +-
docs/reference/api/doxygen/search/variables_7.js | 12 +-
docs/reference/api/doxygen/search/variables_8.js | 8 +-
docs/reference/api/doxygen/search/variables_9.js | 86 +-
docs/reference/api/doxygen/search/variables_a.js | 156 +-
docs/reference/api/doxygen/search/variables_b.js | 38 +-
docs/reference/api/doxygen/search/variables_c.js | 92 +-
docs/reference/api/doxygen/search/variables_d.js | 28 +-
docs/reference/api/doxygen/search/variables_e.js | 40 +-
docs/reference/api/doxygen/search/variables_f.js | 80 +-
docs/reference/api/doxygen/search_8h_source.html | 2 +-
.../api/doxygen/search__strategy_8h_source.html | 2 +-
.../api/doxygen/serializer_8h_source.html | 2 +-
docs/reference/api/doxygen/session_8h_source.html | 2 +-
docs/reference/api/doxygen/softmax_8h.html | 2 +-
docs/reference/api/doxygen/softmax_8h__incl.svg | 2586 ++++-----
docs/reference/api/doxygen/softmax_8h_source.html | 2 +-
docs/reference/api/doxygen/sorting_8h_source.html | 2 +-
.../api/doxygen/source__map_8h_source.html | 2 +-
.../api/doxygen/space__generator_8h_source.html | 2 +-
docs/reference/api/doxygen/state_8h_source.html | 2 +-
.../api/doxygen/statistical_8h_source.html | 2 +-
.../api/doxygen/stmt__functor_8h_source.html | 2 +-
docs/reference/api/doxygen/strided__slice_8h.html | 2 +-
.../api/doxygen/strided__slice_8h__incl.svg | 2036 +++----
.../api/doxygen/strided__slice_8h_source.html | 2 +-
docs/reference/api/doxygen/struct__info_8h.html | 2 +-
.../api/doxygen/struct__info_8h__incl.svg | 1812 +++----
.../api/doxygen/struct__info_8h_source.html | 4 +-
.../api/doxygen/struct__info__functor_8h.html | 2 +-
.../api/doxygen/struct__info__functor_8h__incl.svg | 1848 +++----
.../doxygen/struct__info__functor_8h_source.html | 2 +-
...structtvm_1_1relax_1_1LayoutTransformAttrs.html | 2 +-
...1relax_1_1LayoutTransformAttrs__coll__graph.svg | 82 +-
docs/reference/api/doxygen/tag_8h_source.html | 2 +-
docs/reference/api/doxygen/tags_8h_source.html | 2 +-
docs/reference/api/doxygen/target_8h_source.html | 2 +-
.../api/doxygen/target__kind_8h_source.html | 2 +-
.../api/doxygen/task__scheduler_8h_source.html | 2 +-
.../api/doxygen/te_2tensor_8h_source.html | 4 +-
.../doxygen/tensor__cache__support_8h_source.html | 2 +-
docs/reference/api/doxygen/tensor__utils_8h.html | 2 +-
.../api/doxygen/tensor__utils_8h__incl.svg | 1494 +++---
.../api/doxygen/tensor__utils_8h_source.html | 2 +-
.../api/doxygen/thread__bind_8h_source.html | 2 +-
docs/reference/api/doxygen/timer_8h_source.html | 2 +-
.../api/doxygen/tir__pattern_8h_source.html | 2 +-
docs/reference/api/doxygen/tirx_2analysis_8h.html | 3 -
.../api/doxygen/tirx_2analysis_8h_source.html | 144 +-
.../api/doxygen/tirx_2builtin_8h_source.html | 2 +-
.../api/doxygen/tirx_2expr_8h_source.html | 2 +-
.../api/doxygen/tirx_2expr__functor_8h_source.html | 2 +-
.../api/doxygen/tirx_2function_8h_source.html | 2 +-
docs/reference/api/doxygen/tirx_2op_8h_source.html | 2 +-
.../doxygen/tirx_2op__attr__types_8h_source.html | 2 +-
.../tirx_2script_2builder_2frame_8h_source.html | 2 +-
.../api/doxygen/tirx_2script_2builder_2ir_8h.html | 2 +-
.../tirx_2script_2builder_2ir_8h_source.html | 4 +-
.../api/doxygen/tirx_2stmt_8h_source.html | 2 +-
.../api/doxygen/tirx_2transform_8h_source.html | 2 +-
docs/reference/api/doxygen/tirx__op_8h_source.html | 2 +-
.../api/doxygen/tirx__stmt_8h_source.html | 2 +-
docs/reference/api/doxygen/topi_2nn_8h.html | 2 +-
docs/reference/api/doxygen/topi_2nn_8h__incl.svg | 2616 ++++-----
docs/reference/api/doxygen/topi_2nn_8h_source.html | 11 +-
docs/reference/api/doxygen/topi_2transform_8h.html | 2 +-
.../api/doxygen/topi_2transform_8h__incl.svg | 2422 ++++-----
.../api/doxygen/topi_2transform_8h_source.html | 552 +-
.../api/doxygen/topi_2utils_8h_source.html | 2 +-
docs/reference/api/doxygen/trace_8h_source.html | 2 +-
docs/reference/api/doxygen/trn_8h_source.html | 2 +-
.../api/doxygen/tune__context_8h_source.html | 2 +-
.../api/doxygen/type__functor_8h_source.html | 2 +-
docs/reference/api/doxygen/var_8h_source.html | 2 +-
.../api/doxygen/virtual__device_8h_source.html | 2 +-
docs/reference/api/doxygen/vision_8h_source.html | 2 +-
docs/reference/api/doxygen/vm_8h_source.html | 2 +-
docs/reference/api/doxygen/winograd_8h_source.html | 2 +-
.../api/doxygen/with__context_8h_source.html | 2 +-
docs/reference/api/python/arith.html | 96 +-
docs/reference/api/python/tirx/tirx.html | 42 +-
docs/reference/api/python/topi.html | 76 +-
.../api/typedoc/classes/ArtifactCache.html | 14 +-
.../classes/ArtifactCrossOriginStorageCache.html | 12 +-
.../typedoc/classes/ArtifactIndexedDBCache.html | 12 +-
.../api/typedoc/classes/ArtifactOPFSCache.html | 12 +-
docs/reference/api/typedoc/classes/CacheState.html | 10 +-
docs/reference/api/typedoc/classes/DLDataType.html | 10 +-
docs/reference/api/typedoc/classes/DLDevice.html | 10 +-
docs/reference/api/typedoc/classes/Instance.html | 108 +-
docs/reference/api/typedoc/classes/LRUCache.html | 14 +-
.../classes/LinearCongruentialGenerator.html | 10 +-
docs/reference/api/typedoc/classes/Module.html | 16 +-
docs/reference/api/typedoc/classes/RPCServer.html | 4 +-
docs/reference/api/typedoc/classes/Scalar.html | 8 +-
docs/reference/api/typedoc/classes/TVMArray.html | 16 +-
docs/reference/api/typedoc/classes/TVMObject.html | 12 +-
docs/reference/api/typedoc/classes/Tensor.html | 34 +-
.../api/typedoc/classes/VirtualMachine.html | 10 +-
.../classes/_internal_.AsyncifyHandler.html | 14 +-
.../classes/_internal_.CachedCallStack.html | 24 +-
.../classes/_internal_.CanvasRenderManager.html | 6 +-
.../classes/_internal_.CrossOriginStorage.html | 4 +-
.../typedoc/classes/_internal_.Environment.html | 12 +-
.../api/typedoc/classes/_internal_.FFILibrary.html | 6 +-
.../api/typedoc/classes/_internal_.Memory.html | 22 +-
.../api/typedoc/classes/_internal_.OPFSStore.html | 4 +-
.../typedoc/classes/_internal_.PackedFuncCell.html | 12 +-
.../typedoc/classes/_internal_.RuntimeContext.html | 8 +-
.../typedoc/classes/_internal_.WebGPUContext.html | 26 +-
.../enums/_internal_.AsyncifyStateKind.html | 4 +-
.../typedoc/enums/_internal_.RPCServerState.html | 4 +-
docs/reference/api/typedoc/functions/assert.html | 2 +-
.../api/typedoc/functions/createArtifactCache.html | 2 +-
.../api/typedoc/functions/createPolyfillWASI.html | 2 +-
.../api/typedoc/functions/deleteTensorCache.html | 4 +-
.../api/typedoc/functions/detectGPUDevice.html | 2 +-
.../api/typedoc/functions/hasTensorInCache.html | 4 +-
.../api/typedoc/functions/instantiate.html | 2 +-
docs/reference/api/typedoc/functions/wasmPath.html | 2 +-
.../typedoc/interfaces/ArtifactCacheTemplate.html | 10 +-
.../api/typedoc/interfaces/Disposable.html | 4 +-
.../interfaces/FetchTensorCacheOptions.html | 4 +-
.../typedoc/interfaces/GPUDeviceDetectOutput.html | 4 +-
.../api/typedoc/interfaces/InitProgressReport.html | 4 +-
.../api/typedoc/interfaces/LibraryProvider.html | 6 +-
.../interfaces/TensorCacheAccessOptions.html | 4 +-
.../_internal_.CrossOriginHashDescriptor.html | 4 +-
.../_internal_.CrossOriginStorageAPI.html | 4 +-
.../_internal_.CrossOriginStorageHandle.html | 4 +-
...CrossOriginStorageRequestFileHandleOptions.html | 4 +-
.../_internal_.CrossOriginStorageWritable.html | 4 +-
.../interfaces/_internal_.FunctionInfo.html | 4 +-
.../interfaces/_internal_.OPFSDirectoryHandle.html | 4 +-
.../interfaces/_internal_.OPFSFileHandle.html | 4 +-
.../interfaces/_internal_.OPFSStorageManager.html | 4 +-
.../interfaces/_internal_.OPFSStoreRecord.html | 4 +-
.../interfaces/_internal_.OPFSStoredEntry.html | 4 +-
.../_internal_.OPFSSyncAccessHandle.html | 4 +-
.../_internal_.OPFSWritableFileStream.html | 4 +-
.../interfaces/_internal_.TensorCacheEntry.html | 4 +-
.../interfaces/_internal_.TensorShardEntry.html | 4 +-
.../api/typedoc/types/ArtifactCacheType.html | 2 +-
.../api/typedoc/types/InitProgressCallback.html | 2 +-
.../api/typedoc/types/OPFSAccessMode.html | 2 +-
docs/reference/api/typedoc/types/PackedFunc.html | 2 +-
.../typedoc/types/_internal_.AsyncPackedFunc.html | 2 +-
.../types/_internal_.FObjectConstructor.html | 2 +-
.../types/_internal_.FTVMFFIWasmSafeCallType.html | 2 +-
.../types/_internal_.FTVMWasmAllocSpace.html | 2 +-
.../types/_internal_.FTVMWasmFreeSpace.html | 2 +-
.../types/_internal_.OPFSEffectiveAccessMode.html | 2 +-
.../types/_internal_.OPFSSyncAccessHandleMode.html | 2 +-
.../api/typedoc/types/_internal_.Pointer.html | 2 +-
.../api/typedoc/types/_internal_.RequestLike.html | 2 +-
.../typedoc/types/_internal_.TVMObjectBase.html | 2 +-
docs/searchindex.js | 2 +-
docs/sg_execution_times.html | 28 +-
798 files changed, 65365 insertions(+), 64348 deletions(-)
diff --git a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip
index a964f08cb4b..b10d4daafef 100644
Binary files a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip and b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip differ
diff --git a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip
index 7dfb76d2207..6e2d0918590 100644
Binary files a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip and b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip differ
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 089fb96bc1c..81d805e144f 100644
Binary files a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip and b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip differ
diff --git a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip
index 67eccfebf5f..cb55ad71a92 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip
index c7369410ef5..b7c19ed8faa 100644
Binary files a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip and b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip differ
diff --git a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip
index 71bcaa5895d..b6c65a5fcba 100644
Binary files a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip and b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index ca6780b4a1a..486da79ff0c 100644
Binary files a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip and b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip differ
diff --git a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip
index 56d9dc5b9cd..e6f1ac40e0c 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 d135f36c9bb..c1dce2654bf 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip
index ccab93427e2..6a59a0364ed 100644
Binary files a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip and b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index 49cba24fef0..1e42329d4f7 100644
Binary files a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip and b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip differ
diff --git a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip
index 631ec69d6f1..c3b6ba2823f 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip
index df99a338c8c..3715d728087 100644
Binary files a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip and b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index b0803b75b3c..f761b3a54d5 100644
Binary files a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip and b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip differ
diff --git a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip
index 089082596ed..595f8ee02f3 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 90248a103fe..7ef8c037a3a 100644
Binary files a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip and b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip differ
diff --git a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst.txt
index 02c94414cc1..6c13a9f4777 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.207** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.212** total execution time for 2 files **from deep_dive/relax/tutorials**:
.. container::
@@ -33,7 +33,7 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
- - 00:00.153
+ - 00:00.158
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
- 00:00.054
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 b384c14260d..fd7a0e5c0d7 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.709** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.713** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
.. container::
@@ -33,13 +33,13 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
- - 00:00.300
+ - 00:00.302
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
- 00:00.281
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``dlight_gpu_scheduling.py``)
- - 00:00.121
+ - 00:00.123
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``meta_schedule.py``)
- 00:00.007
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
index b6712d1bc8e..ead8223571e 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
@@ -322,17 +322,17 @@ Now let's check the runtime dynamic shape inference:
.. code-block:: none
- [[0.72081393 0.5913863 0.95223796 1.094115 ]
- [1.2918341 1.0115043 1.2679149 1.377083 ]
- [1.168363 1.0185953 1.2069049 1.2736393 ]
- [0.9524633 0.87440234 1.2875783 1.4756794 ]]
- [[34.835907 36.520676 32.237804 ... 33.478233 32.79782 33.614185]
- [34.00922 34.958736 32.006153 ... 32.829754 30.83456 32.583458]
- [32.099026 31.191357 27.82538 ... 31.66287 29.327297 28.12883 ]
+ [[0.39398623 1.1115862 0.8800353 0.26598847]
+ [1.1255852 1.3354115 1.1474154 0.6020366 ]
+ [1.1154503 1.1297133 1.1409242 0.6192517 ]
+ [0.81391984 0.50019646 0.4488213 0.36832675]]
+ [[31.50149 34.900547 33.43781 ... 34.010555 31.809464 31.898651]
+ [32.402584 36.965485 36.146633 ... 35.68889 32.609756 34.657444]
+ [27.322142 30.027243 30.707047 ... 30.888723 27.476412 30.288694]
...
- [34.19206 34.94198 32.342693 ... 34.83092 32.295116 31.191456]
- [34.73826 35.562115 32.576378 ... 35.10871 32.102764 31.700556]
- [35.990623 34.334423 31.533943 ... 33.68446 31.785904 33.79438 ]]
+ [29.424309 33.72695 33.37852 ... 33.484264 31.222149 33.2807 ]
+ [31.420301 37.144398 35.204185 ... 35.58092 33.025665 35.207775]
+ [28.084969 31.754772 33.075302 ... 31.003418 30.37432 30.370007]]
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 ef881e4c110..552a8b436c5 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst.txt
@@ -120,7 +120,7 @@ original implementation.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2.7491 2.7491 2.7491 2.7491 0.0000
+ 2.8302 2.8302 2.8302 2.8302 0.0000
@@ -294,7 +294,7 @@ action involves reordering these two loops.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.9186 0.9186 0.9186 0.9186 0.0000
+ 0.8640 0.8640 0.8640 0.8640 0.0000
@@ -424,7 +424,7 @@ from the reduction update via the **decompose_reduction** primitive.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.3589 0.3589 0.3589 0.3589 0.0000
+ 0.3602 0.3602 0.3602 0.3602 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 97c1311c349..9132a615675 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst.txt
+++ b/docs/_sources/get_started/tutorials/ir_module.rst.txt
@@ -696,8 +696,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
.. code-block:: none
- [[-0.03637295 0.29740828 -0.02557625 -0.00569532 -0.00772391 -0.11977124
- -0.16529357 0.34950715 -0.00969084 -0.05965392]]
+ [[ 0.1934714 0.05652266 0.06079356 0.00715532 0.05683172 -0.20091787
+ 0.12227335 0.01852427 0.02268749 0.08808255]]
@@ -763,8 +763,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
.. code-block:: none
- [[-0.03637294 0.29740825 -0.02557624 -0.00569534 -0.00772391 -0.11977129
- -0.16529351 0.3495071 -0.00969088 -0.05965394]]
+ [[ 0.19347146 0.05652261 0.06079354 0.00715533 0.05683174 -0.20091793
+ 0.12227336 0.01852425 0.02268748 0.08808256]]
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst.txt b/docs/_sources/get_started/tutorials/quick_start.rst.txt
index ada31a775c7..eb885f1f6bf 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst.txt
+++ b/docs/_sources/get_started/tutorials/quick_start.rst.txt
@@ -224,8 +224,8 @@ different devices.
.. code-block:: none
- [[24804.625 24002.252 24854.52 25585.838 24448.934 24246.916 26833.99
- 24702.705 24352.475 24301.68 ]]
+ [[26074.934 22863.26 24975.305 24031.014 24379.613 24768.373 24823.635
+ 26297.508 24319.803 24067.35 ]]
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 a47e823e51e..82c4e201938 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
Computation times
=================
-**00:06.883** total execution time for 2 files **from get_started/tutorials**:
+**00:06.882** total execution time for 2 files **from get_started/tutorials**:
.. container::
@@ -33,8 +33,8 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
- - 00:06.729
+ - 00:06.727
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
- - 00:00.154
+ - 00:00.155
- 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 7f6f89daa23..dfeb709a3c2 100644
--- a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst.txt
@@ -267,7 +267,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 9.2e-08 secs/op
+ 9.3e-08 secs/op
@@ -857,8 +857,8 @@ This workflow is applicable to various deployment scenarios:
Converted PyTorch model to Relax:
- Number of parameters: 4
Using local target for demonstration
- Exported library to: /tmp/tmp0ivlmm3z/model_deployed.so
- Saved parameters to: /tmp/tmp0ivlmm3z/model_params.npz
+ Exported library to: /tmp/tmp5v17fzgk/model_deployed.so
+ Saved parameters to: /tmp/tmp5v17fzgk/model_params.npz
RPC workflow (works for any remote device):
==================================================
diff --git a/docs/_sources/how_to/tutorials/customize_opt.rst.txt b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
index 4e843bc090d..7d2ef4dabae 100644
--- a/docs/_sources/how_to/tutorials/customize_opt.rst.txt
+++ b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
@@ -426,8 +426,8 @@ We can build and deploy the optimized model to the TVM runtime.
.. code-block:: none
- [[25752.676 26174.965 24604.805 24211.453 26194.463 26489.895 26910.375
- 24313.61 24036.738 26278.672]]
+ [[23444.19 24924.172 24346.23 25490.658 23764.04 24029.262 21906.58
+ 24020.979 24171.68 27473.37 ]]
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 f7dd8a04a1b..5eeae60b235 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
@@ -54,7 +54,7 @@ PyTorch.
.. code-block:: none
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
- 0%| | 0.00/44.7M [00:00<?, ?B/s] 70%|███████ | 31.4M/44.7M [00:00<00:00, 328MB/s] 100%|██████████| 44.7M/44.7M [00:00<00:00, 357MB/s]
+ 0%| | 0.00/44.7M [00:00<?, ?B/s] 64%|██████▍ | 28.6M/44.7M [00:00<00:00, 300MB/s] 100%|██████████| 44.7M/44.7M [00:00<00:00, 309MB/s]
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt b/docs/_sources/how_to/tutorials/sg_execution_times.rst.txt
index 5c6d45208ab..856b55bb225 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:19.452** total execution time for 8 files **from how_to/tutorials**:
+**00:19.492** total execution time for 8 files **from how_to/tutorials**:
.. container::
@@ -33,22 +33,22 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
- - 00:10.279
+ - 00:10.280
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``import_model.py``)
- - 00:07.308
+ - 00:07.300
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
- - 00:00.754
+ - 00:00.747
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
- - 00:00.591
+ - 00:00.627
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
- - 00:00.475
+ - 00:00.491
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``bring_your_own_codegen.py``)
- - 00:00.039
+ - 00:00.040
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_mix_python_and_tvm_with_pymodule.py` (``mix_python_and_tvm_with_pymodule.py``)
- 00:00.004
diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt
index 264174b5e4d..124c3431800 100644
--- a/docs/_sources/sg_execution_times.rst.txt
+++ b/docs/_sources/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
Computation times
=================
-**00:27.250** total execution time for 16 files **from all galleries**:
+**00:27.299** total execution time for 16 files **from all galleries**:
.. container::
@@ -33,43 +33,43 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
- - 00:10.279
+ - 00:10.280
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``../how_to/tutorials/import_model.py``)
- - 00:07.308
+ - 00:07.300
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
- - 00:06.729
+ - 00:06.727
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
- - 00:00.754
+ - 00:00.747
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
- - 00:00.591
+ - 00:00.627
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
- - 00:00.475
+ - 00:00.491
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
- - 00:00.300
+ - 00:00.302
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
- 00:00.281
- 0.0
- * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
- - 00:00.154
- - 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
- - 00:00.153
+ - 00:00.158
+ - 0.0
+ * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
+ - 00:00.155
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``../deep_dive/tensor_ir/tutorials/dlight_gpu_scheduling.py``)
- - 00:00.121
+ - 00:00.123
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
- 00:00.054
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``../how_to/tutorials/bring_your_own_codegen.py``)
- - 00:00.039
+ - 00:00.040
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``../deep_dive/tensor_ir/tutorials/meta_schedule.py``)
- 00:00.007
diff --git a/docs/commit_hash b/docs/commit_hash
index 463efa447e8..3eaef528dcd 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-b8974592c63676aec1a952dad330fade74ab3c81
+b172d5ea3238c361e6eccbe40d0433c1436fe9c1
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index de29545288a..59119dda279 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
<section id="computation-times">
<span id="sphx-glr-deep-dive-relax-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.207</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.212</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,7 +319,7 @@ $(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.153</p></td>
+<td><p>00:00.158</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>
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 953032f2521..28a5a9a57d6 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
<section id="computation-times">
<span id="sphx-glr-deep-dive-tensor-ir-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:00.709</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.713</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,7 +319,7 @@ $(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.300</p></td>
+<td><p>00:00.302</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>
@@ -327,7 +327,7 @@ $(document).ready( function () {
<td><p>0.0</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="dlight_gpu_scheduling.html#sphx-glr-deep-dive-tensor-ir-tutorials-dlight-gpu-scheduling-py"><span class="std std-ref">DLight: Rule-Based GPU Scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">dlight_gpu_scheduling.py</span></code>)</p></td>
-<td><p>00:00.121</p></td>
+<td><p>00:00.123</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="meta_schedule.html#sphx-glr-deep-dive-tensor-ir-tutorials-meta-schedule-py"><span class="std std-ref">MetaSchedule: Search-Based Auto-Tuning</span></a> (<code class="docutils literal notranslate"><span class="pre">meta_schedule.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index 2518435eb3c..875f0543165 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -496,17 +496,17 @@ be used to ascertain the shape and data type of a TensorIR.</p>
<span class="nb">print</span><span class="p">(</span><span class="n">evaluate_dynamic_shape</span><span class="p">(</span><span class="n">dyn_shape_lib</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <span class="n">n</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <a href="../../../reference/api/python/tirx/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-gl [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.72081393 0.5913863 0.95223796 1.094115 ]
- [1.2918341 1.0115043 1.2679149 1.377083 ]
- [1.168363 1.0185953 1.2069049 1.2736393 ]
- [0.9524633 0.87440234 1.2875783 1.4756794 ]]
-[[34.835907 36.520676 32.237804 ... 33.478233 32.79782 33.614185]
- [34.00922 34.958736 32.006153 ... 32.829754 30.83456 32.583458]
- [32.099026 31.191357 27.82538 ... 31.66287 29.327297 28.12883 ]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.39398623 1.1115862 0.8800353 0.26598847]
+ [1.1255852 1.3354115 1.1474154 0.6020366 ]
+ [1.1154503 1.1297133 1.1409242 0.6192517 ]
+ [0.81391984 0.50019646 0.4488213 0.36832675]]
+[[31.50149 34.900547 33.43781 ... 34.010555 31.809464 31.898651]
+ [32.402584 36.965485 36.146633 ... 35.68889 32.609756 34.657444]
+ [27.322142 30.027243 30.707047 ... 30.888723 27.476412 30.288694]
...
- [34.19206 34.94198 32.342693 ... 34.83092 32.295116 31.191456]
- [34.73826 35.562115 32.576378 ... 35.10871 32.102764 31.700556]
- [35.990623 34.334423 31.533943 ... 33.68446 31.785904 33.79438 ]]
+ [29.424309 33.72695 33.37852 ... 33.484264 31.222149 33.2807 ]
+ [31.420301 37.144398 35.204185 ... 35.58092 33.025665 35.207775]
+ [28.084969 31.754772 33.075302 ... 31.003418 30.37432 30.370007]]
</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 4780f0282ed..20e458b0c6f 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -374,7 +374,7 @@ original implementation.</p>
</div>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2.7491 2.7491 2.7491 2.7491 0.0000
+ 2.8302 2.8302 2.8302 2.8302 0.0000
</pre></div>
</div>
<section id="initialization-schedule">
@@ -472,7 +472,7 @@ class Module:
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.9186 0.9186 0.9186 0.9186 0.0000
+ 0.8640 0.8640 0.8640 0.8640 0.0000
</pre></div>
</div>
</section>
@@ -568,7 +568,7 @@ class Module:
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.3589 0.3589 0.3589 0.3589 0.0000
+ 0.3602 0.3602 0.3602 0.3602 0.0000
</pre></div>
</div>
</section>
diff --git a/docs/genindex.html b/docs/genindex.html
index f8fc7df7557..9f29e2414a3 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -1118,6 +1118,8 @@
<li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.CommReducer">CommReducer (class in tvm.tirx)</a>
</li>
<li><a href="reference/api/python/testing.html#tvm.testing.CompareBeforeAfter">CompareBeforeAfter (class in tvm.testing)</a>
+</li>
+ <li><a href="reference/api/python/arith.html#tvm.arith.CompareResult">CompareResult (class in tvm.arith)</a>
</li>
<li><a href="reference/api/python/driver.html#tvm.compile">compile() (in module tvm)</a>
</li>
@@ -4579,6 +4581,8 @@
</li>
</ul></li>
<li><a href="reference/api/python/support.html#tvm.support.utils.TempDirectory.set_keep_for_debug">set_keep_for_debug() (tvm.support.utils.TempDirectory class method)</a>
+</li>
+ <li><a href="reference/api/python/arith.html#tvm.arith.Analyzer.set_maximum_rewrite_steps">set_maximum_rewrite_steps() (tvm.arith.Analyzer method)</a>
</li>
<li><a href="reference/api/python/ir.html#tvm.ir.Op.set_num_inputs">set_num_inputs() (tvm.ir.Op method)</a>
</li>
@@ -5122,6 +5126,8 @@
<li><a href="reference/api/python/tirx/tirx.html#tvm.tirx.truncmod">(in module tvm.tirx)</a>
</li>
</ul></li>
+ <li><a href="reference/api/python/arith.html#tvm.arith.Analyzer.try_compare">try_compare() (tvm.arith.Analyzer method)</a>
+</li>
<li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.try_inline">try_inline() (in module tvm.s_tir.dlight)</a>
</li>
<li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.try_inline_contiguous_spatial">try_inline_contiguous_spatial() (in module tvm.s_tir.dlight)</a>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index 0baff890e87..383963cef9c 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -819,8 +819,8 @@ backends.</p>
<span class="nb">print</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.03637295 0.29740828 -0.02557625 -0.00569532 -0.00772391 -0.11977124
- -0.16529357 0.34950715 -0.00969084 -0.05965392]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.1934714 0.05652266 0.06079356 0.00715532 0.05683172 -0.20091787
+ 0.12227335 0.01852427 0.02268749 0.08808255]]
</pre></div>
</div>
</section>
@@ -854,8 +854,8 @@ the details of <code class="docutils literal notranslate"><span class="pre">DLig
<span class="k">assert</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">,</span> <span class="n">gpu_out</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-3</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.03637294 0.29740825 -0.02557624 -0.00569534 -0.00772391 -0.11977129
- -0.16529351 0.3495071 -0.00969088 -0.05965394]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.19347146 0.05652261 0.06079354 0.00715533 0.05683174 -0.20091793
+ 0.12227336 0.01852425 0.02268748 0.08808256]]
</pre></div>
</div>
</section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index a855f4b8e78..6c936dcae28 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -460,8 +460,8 @@ different devices.</p>
<span class="nb">print</span><span class="p">(</span><span class="n">vm</span><span class="p">[</span><span class="s2">"forward"</span><span class="p">](</span><span class="n">tvm_data</span><span class="p">,</span> <span class="o">*</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="p">)</span><s [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24804.625 24002.252 24854.52 25585.838 24448.934 24246.916 26833.99
- 24702.705 24352.475 24301.68 ]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[26074.934 22863.26 24975.305 24031.014 24379.613 24768.373 24823.635
+ 26297.508 24319.803 24067.35 ]]
</pre></div>
</div>
<p>Our goal is to bring machine learning to the application with any language of interest,
diff --git a/docs/get_started/tutorials/sg_execution_times.html b/docs/get_started/tutorials/sg_execution_times.html
index b41dba05790..c2f8bb7a940 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
<section id="computation-times">
<span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:06.883</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:06.882</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,11 +319,11 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:06.729</p></td>
+<td><p>00:06.727</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.154</p></td>
+<td><p>00:00.155</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 879173751ff..557c6a13050 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -474,7 +474,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op"</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9.2e-08 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9.3e-08 secs/op
</pre></div>
</div>
<dl>
@@ -990,8 +990,8 @@ for ONNX models. Simply replace <code class="docutils literal notranslate"><span
Converted PyTorch model to Relax:
- Number of parameters: 4
Using local target for demonstration
-Exported library to: /tmp/tmp0ivlmm3z/model_deployed.so
-Saved parameters to: /tmp/tmp0ivlmm3z/model_params.npz
+Exported library to: /tmp/tmp5v17fzgk/model_deployed.so
+Saved parameters to: /tmp/tmp5v17fzgk/model_params.npz
RPC workflow (works for any remote device):
==================================================
diff --git a/docs/how_to/tutorials/customize_opt.html b/docs/how_to/tutorials/customize_opt.html
index f67b3ad43a8..00c3834079f 100644
--- a/docs/how_to/tutorials/customize_opt.html
+++ b/docs/how_to/tutorials/customize_opt.html
@@ -621,8 +621,8 @@ pushing the performance to the limit. The current optimization may not be the be
<span class="nb">print</span><span class="p">(</span><span class="n">gpu_out</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[25752.676 26174.965 24604.805 24211.453 26194.463 26489.895 26910.375
- 24313.61 24036.738 26278.672]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[23444.19 24924.172 24346.23 25490.658 23764.04 24029.262 21906.58
+ 24020.979 24171.68 27473.37 ]]
</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 103edcae976..dc49e3ddaee 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -332,8 +332,8 @@ PyTorch.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: "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]
- 70%|███████ | 31.4M/44.7M [00:00<00:00, 328MB/s]
-100%|██████████| 44.7M/44.7M [00:00<00:00, 357MB/s]
+ 64%|██████▍ | 28.6M/44.7M [00:00<00:00, 300MB/s]
+100%|██████████| 44.7M/44.7M [00:00<00:00, 309MB/s]
</pre></div>
</div>
</section>
diff --git a/docs/how_to/tutorials/sg_execution_times.html b/docs/how_to/tutorials/sg_execution_times.html
index 9179dfd5102..59fad944c60 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -297,7 +297,7 @@
<section id="computation-times">
<span id="sphx-glr-how-to-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:19.452</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>00:19.492</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -319,27 +319,27 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="optimize_llm.html#sphx-glr-how-to-tutorials-optimize-llm-py"><span class="std std-ref">Optimize Large Language Model</span></a> (<code class="docutils literal notranslate"><span class="pre">optimize_llm.py</span></code>)</p></td>
-<td><p>00:10.279</p></td>
+<td><p>00:10.280</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="import_model.html#sphx-glr-how-to-tutorials-import-model-py"><span class="std std-ref">Importing Models from ML Frameworks</span></a> (<code class="docutils literal notranslate"><span class="pre">import_model.py</span></code>)</p></td>
-<td><p>00:07.308</p></td>
+<td><p>00:07.300</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.754</p></td>
+<td><p>00:00.747</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.591</p></td>
+<td><p>00:00.627</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-how-to-tutorials-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
-<td><p>00:00.475</p></td>
+<td><p>00:00.491</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_codegen.html#sphx-glr-how-to-tutorials-bring-your-own-codegen-py"><span class="std std-ref">Bring Your Own Codegen: NPU Backend Example</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_codegen.py</span></code>)</p></td>
-<td><p>00:00.039</p></td>
+<td><p>00:00.040</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="mix_python_and_tvm_with_pymodule.html#sphx-glr-how-to-tutorials-mix-python-and-tvm-with-pymodule-py"><span class="std std-ref">Mix Python/PyTorch with TVM Using BasePyModule</span></a> (<code class="docutils literal notranslate"><span class="pre">mix_python_and_tvm_with_pymodule.py</span></code>)</p></td>
diff --git a/docs/objects.inv b/docs/objects.inv
index 9a841ff5712..a0b4b8c0afe 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/_2workspace_2include_2tvm_2script_2ir_builder_2base_8h-example.html b/docs/reference/api/doxygen/_2workspace_2include_2tvm_2script_2ir_builder_2base_8h-example.html
index 57402a6efe3..a4640c7df67 100644
--- a/docs/reference/api/doxygen/_2workspace_2include_2tvm_2script_2ir_builder_2base_8h-example.html
+++ b/docs/reference/api/doxygen/_2workspace_2include_2tvm_2script_2ir_builder_2base_8h-example.html
@@ -277,7 +277,7 @@ $(function() {
<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1Namer_html_ab093038d13fc8e1ebfb72665995276b7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#ab093038d13fc8e1ebfb72665995276b7">tvm::script::ir_builder::details::Namer::FType</a></div><div class="ttdeci">NodeFunctor< void(const ffi::ObjectRef &, ffi::String)> FType</div><div class="ttdef"><b>Definition:</b> base.h:263</div></div>
<div class="ttc" id="air_2expr_8h_html"><div class="ttname"><a href="ir_2expr_8h.html">expr.h</a></div><div class="ttdoc">Base expr nodes in TVM.</div></div>
<div class="ttc" id="air_2function_8h_html"><div class="ttname"><a href="ir_2function_8h.html">function.h</a></div><div class="ttdoc">Function nodes.</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
<div class="ttc" id="anode__functor_8h_html"><div class="ttname"><a href="node__functor_8h.html">node_functor.h</a></div><div class="ttdoc">Defines the Functor data structures.</div></div>
</div><!-- fragment --> </div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/reference/api/doxygen/analyzer_8h.html b/docs/reference/api/doxygen/analyzer_8h.html
index bc8f9253061..5d2a574bc91 100644
--- a/docs/reference/api/doxygen/analyzer_8h.html
+++ b/docs/reference/api/doxygen/analyzer_8h.html
@@ -78,17 +78,19 @@ $(function() {
<p>Algebra expression simplifications.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include <<a class="el" href="int__set_8h_source.html">tvm/arith/int_set.h</a>></code><br />
+<code>#include <tvm/ffi/cast.h></code><br />
<code>#include <tvm/ffi/reflection/registry.h></code><br />
<code>#include <<a class="el" href="ir_2expr_8h_source.html">tvm/ir/expr.h</a>></code><br />
<code>#include <<a class="el" href="with__context_8h_source.html">tvm/ir/with_context.h</a>></code><br />
<code>#include <limits></code><br />
<code>#include <memory></code><br />
<code>#include <unordered_map></code><br />
+<code>#include <utility></code><br />
<code>#include <vector></code><br />
</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="4716" height="1202"><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="4948" height="1202"><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">
@@ -109,7 +111,7 @@ Classes</h2></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">reference class to <a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html" title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">ConstIntBoundNode</a> <a href="classtvm_1_1arith_1_1ConstIntBound.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">tvm::arith::ConstIntBoundAnalyzer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> to get constant integer bound over expression. <a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Managed reference to AnalyzerObj.">Analyzer</a> to get constant integer bound over expression. <a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html">tvm::arith::ModularSetNode</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> of a linear integer function. Use to do specify the possible index values. <a href="classtvm_1_1arith_1_1ModularSetNode.html#details">More...</a><br /></td></tr>
@@ -118,7 +120,7 @@ Classes</h2></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">reference of <a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html" title="Range of a linear integer function. Use to do specify the possible index values.">ModularSetNode</a> <a href="classtvm_1_1arith_1_1ModularSet.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">tvm::arith::ModularSetAnalyzer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> to get modular information over expression. <a href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Managed reference to AnalyzerObj.">Analyzer</a> to get modular information over expression. <a href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1RewriteSimplifier.html">tvm::arith::RewriteSimplifier</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Rewrite-rule based simplifier. <a href="classtvm_1_1arith_1_1RewriteSimplifier.html#details">More...</a><br /></td></tr>
@@ -129,14 +131,17 @@ Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">tvm::arith::TransitiveComparisonAnalyzer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Using previously specified knowns, compare the expressions provided. <a href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">tvm::arith::ConstraintContext</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Constraint context. <a href="classtvm_1_1arith_1_1ConstraintContext.html#details">More...</a><br /></td></tr>
-<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">tvm::arith::IntSetAnalyzer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Integer set analyzer. <a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1AnalyzerObj.html">tvm::arith::AnalyzerObj</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Managed reference to AnalyzerObj.">Analyzer</a> that contains bunch of sub-analyzers. <a href="classtvm_1_1arith_1_1AnalyzerObj.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></td></tr>
-<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> that contains bunch of sub-analyzers. <a href="classtvm_1_1arith_1_1Analyzer.html#details">More...</a><br /></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Managed reference to <a class="el" href="classtvm_1_1arith_1_1AnalyzerObj.html" title="Analyzer that contains bunch of sub-analyzers.">AnalyzerObj</a>. <a href="classtvm_1_1arith_1_1Analyzer.html#details">More...</a><br /></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html">tvm::arith::ConstraintContext</a></td></tr>
+<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Constraint context. <a href="classtvm_1_1arith_1_1ConstraintContext.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
diff --git a/docs/reference/api/doxygen/analyzer_8h__incl.svg b/docs/reference/api/doxygen/analyzer_8h__incl.svg
index 270d1d4f215..6036cb802e3 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="3537pt" height="901pt"
- viewBox="0.00 0.00 3536.90 901.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3711pt" height="901pt"
+ viewBox="0.00 0.00 3711.00 901.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 897)">
<title>include/tvm/arith/analyzer.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-897 3532.9,-897 3532.9,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-897 3707,-897 3707,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="2154.5,-873.5 2154.5,-892.5 2307.5,-892.5 2307.5,-873.5 2154.5,-873.5"/>
-<text text-anchor="middle" x="2231" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/arith/analyzer.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="2066.5,-873.5 2066.5,-892.5 2219.5,-892.5 2219.5,-873.5 2066.5,-873.5"/>
+<text text-anchor="middle" x="2143" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/arith/analyzer.h</text>
</a>
</g>
</g>
@@ -22,1581 +22,1593 @@
<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="2136.5,-817.5 2136.5,-836.5 2243.5,-836.5 2243.5,-817.5 2136.5,-817.5"/>
-<text text-anchor="middle" x="2190" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
+<polygon fill="white" stroke="black" points="1751.5,-817.5 1751.5,-836.5 1858.5,-836.5 1858.5,-817.5 1751.5,-817.5"/>
+<text text-anchor="middle" x="1805" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge">
<title>Node1->Node2</title>
-<path fill="none" stroke="midnightblue" d="M2224.23,-873.08C2218.44,-865.46 2209.94,-854.26 2202.86,-844.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2205.48,-842.6 2196.64,-836.75 2199.9,-846.83 2205.48,-842.6"/>
+<path fill="none" stroke="midnightblue" d="M2089.44,-873.44C2029.37,-863.85 1932.01,-848.29 1868.24,-838.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1868.73,-834.64 1858.31,-836.52 1867.63,-841.55 1868.73,-834.64"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM.">
-<polygon fill="white" stroke="black" points="2274.5,-252 2274.5,-271 2353.5,-271 2353.5,-252 2274.5,-252"/>
-<text text-anchor="middle" x="2314" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="2667.5,-252 2667.5,-271 2746.5,-271 2746.5,-252 2667.5,-252"/>
+<text text-anchor="middle" x="2707" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
</a>
</g>
</g>
<!-- Node1->Node3 -->
-<g id="edge172" class="edge">
+<g id="edge173" class="edge">
<title>Node1->Node3</title>
-<path fill="none" stroke="midnightblue" d="M2307.78,-880.58C2524.79,-875.56 3127,-854.23 3127,-772 3127,-772 3127,-772 3127,-602 3127,-329.01 2851.03,-374.27 2585,-313 2485.46,-290.07 2457.27,-301.06 2358,-277 2354.53,-276.16 2350.95,-275.18 2347.39,-274.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2348.14,-270.69 2337.55,-271.03 2346.04,-277.37 2348.14,-270.69"/>
+<path fill="none" stroke="midnightblue" d="M2219.51,-878.89C2481,-867.76 3323,-827.62 3323,-772 3323,-772 3323,-772 3323,-658 3323,-448.86 3198.34,-387.71 3003,-313 2920.15,-281.31 2816.67,-269.44 2756.58,-265.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2756.82,-261.55 2746.6,-264.35 2756.33,-268.53 2756.82,-261.55"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="489,-56.5 489,-86.5 587,-86.5 587,-56.5 489,-56.5"/>
-<text text-anchor="start" x="497" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="538" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2230,-56.5 2230,-86.5 2328,-86.5 2328,-56.5 2230,-56.5"/>
+<text text-anchor="start" x="2238" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="2279" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
</a>
</g>
</g>
<!-- Node1->Node5 -->
-<g id="edge171" class="edge">
+<g id="edge172" class="edge">
<title>Node1->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2154.22,-881.48C1809.53,-879.01 413.33,-867.17 220,-837 119.26,-821.28 0,-873.96 0,-772 0,-772 0,-772 0,-193.5 0,-147.1 34.73,-142.14 77,-123 147.34,-91.15 371.08,-78.68 478.85,-74.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="479.06,-77.92 488.91,-74.04 478.79,-70.92 479.06,-77.92"/>
+<path fill="none" stroke="midnightblue" d="M2219.8,-880.75C2452.19,-876.73 3145.66,-862.85 3370,-837 3519.8,-819.74 3703,-922.79 3703,-772 3703,-772 3703,-772 3703,-322 3703,-244.7 3670.66,-218.14 3604,-179 3493.7,-114.24 2580.79,-81.78 2338.07,-74.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2338.14,-70.74 2328.03,-73.93 2337.92,-77.73 2338.14,-70.74"/>
+</g>
+<!-- Node9 -->
+<g id="node9" class="node">
+<title>Node9</title>
+<g id="a_node9"><a xlink:title=" ">
+<polygon fill="white" stroke="#bfbfbf" points="2936.5,-123.5 2936.5,-142.5 3017.5,-142.5 3017.5,-123.5 2936.5,-123.5"/>
+<text text-anchor="middle" x="2977" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node9 -->
+<g id="edge171" class="edge">
+<title>Node1->Node9</title>
+<path fill="none" stroke="midnightblue" d="M2219.66,-880.37C2523.54,-873.42 3627,-843.29 3627,-772 3627,-772 3627,-772 3627,-260.5 3627,-216.3 3608.4,-200.89 3570,-179 3546.59,-165.66 3166.97,-144.15 3027.7,-136.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3027.88,-133.17 3017.71,-136.13 3027.51,-140.16 3027.88,-133.17"/>
+</g>
+<!-- Node14 -->
+<g id="node14" class="node">
+<title>Node14</title>
+<g id="a_node14"><a xlink:title=" ">
+<polygon fill="white" stroke="#bfbfbf" points="580.5,-62 580.5,-81 625.5,-81 625.5,-62 580.5,-62"/>
+<text text-anchor="middle" x="603" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node14 -->
+<g id="edge178" class="edge">
+<title>Node1->Node14</title>
+<path fill="none" stroke="midnightblue" d="M2066.21,-882.08C1687.63,-881.99 38,-875.67 38,-772 38,-772 38,-772 38,-260.5 38,-158.05 128.08,-161.54 223,-123 285.92,-97.45 490.03,-80.54 570.22,-74.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="570.52,-78.22 580.25,-74.02 570.03,-71.24 570.52,-78.22"/>
</g>
<!-- Node23 -->
<g id="node23" class="node">
<title>Node23</title>
<g id="a_node23"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1285.5,-62 1285.5,-81 1332.5,-81 1332.5,-62 1285.5,-62"/>
-<text text-anchor="middle" x="1309" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
+<polygon fill="white" stroke="#bfbfbf" points="322.5,-62 322.5,-81 369.5,-81 369.5,-62 322.5,-62"/>
+<text text-anchor="middle" x="346" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node1->Node23 -->
-<g id="edge177" class="edge">
+<g id="edge179" class="edge">
<title>Node1->Node23</title>
-<path fill="none" stroke="midnightblue" d="M2154.16,-878.58C1886.67,-865.92 1008.05,-817.51 926,-725 920.1,-718.35 925.75,-713.89 926,-705 928.67,-610.22 938,-586.82 938,-492 938,-492 938,-492 938,-434 938,-349.97 984.57,-325.72 958,-246 951.68,-227.03 937.32,-228.97 931,-210 926.64,-196.93 924.95,-191.38 931,-179 948.81,-142.58 965.86,-139.24 1003,-123 1004.57,-122.32 1196.31,-90.92 1275.44,-77.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1276.08,-81.43 1285.39,-76.36 1274.95,-74.52 1276.08,-81.43"/>
+<path fill="none" stroke="midnightblue" d="M2066.27,-881.71C1726.58,-880.25 366.5,-872.21 179,-837 95.82,-821.38 0,-856.64 0,-772 0,-772 0,-772 0,-193.5 0,-127.75 225.42,-89.31 312.36,-76.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="313.07,-80.36 322.49,-75.52 312.1,-73.43 313.07,-80.36"/>
</g>
<!-- Node31 -->
<g id="node31" class="node">
<title>Node31</title>
<g id="a_node31"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3465,-185 3465,-204 3509,-204 3509,-185 3465,-185"/>
-<text text-anchor="middle" x="3487" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
+<polygon fill="white" stroke="#bfbfbf" points="3517,-185 3517,-204 3561,-204 3561,-185 3517,-185"/>
+<text text-anchor="middle" x="3539" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
</a>
</g>
</g>
<!-- Node1->Node31 -->
-<g id="edge174" class="edge">
+<g id="edge175" class="edge">
<title>Node1->Node31</title>
-<path fill="none" stroke="midnightblue" d="M2307.65,-882.01C2469.53,-881.24 2857.97,-875.16 3181,-837 3334.65,-818.85 3523,-926.72 3523,-772 3523,-772 3523,-772 3523,-378 3523,-317.05 3503.43,-246.77 3493.15,-214.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3496.35,-212.56 3489.95,-204.12 3489.68,-214.71 3496.35,-212.56"/>
+<path fill="none" stroke="midnightblue" d="M2219.59,-879.89C2508.11,-871.46 3513,-837.39 3513,-772 3513,-772 3513,-772 3513,-378 3513,-317.59 3527.13,-247.06 3534.56,-214.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3538.03,-214.71 3536.87,-204.18 3531.21,-213.13 3538.03,-214.71"/>
</g>
<!-- Node37 -->
<g id="node37" class="node">
<title>Node37</title>
<g id="a_node37"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="267.5,-123.5 267.5,-142.5 360.5,-142.5 360.5,-123.5 267.5,-123.5"/>
-<text text-anchor="middle" x="314" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="481.5,-123.5 481.5,-142.5 574.5,-142.5 574.5,-123.5 481.5,-123.5"/>
+<text text-anchor="middle" x="528" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
</a>
</g>
</g>
<!-- Node1->Node37 -->
-<g id="edge176" class="edge">
+<g id="edge177" class="edge">
<title>Node1->Node37</title>
-<path fill="none" stroke="midnightblue" d="M2154.3,-882.18C1770.41,-882.57 76,-878.3 76,-772 76,-772 76,-772 76,-322 76,-222.63 205.34,-167.6 273.32,-145.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="274.4,-148.87 282.89,-142.52 272.3,-142.19 274.4,-148.87"/>
+<path fill="none" stroke="midnightblue" d="M2066.45,-881.68C1709.76,-879.68 228,-865.74 228,-772 228,-772 228,-772 228,-322 228,-250.84 243.34,-222.04 300,-179 326.37,-158.97 412.66,-146.13 471.19,-139.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="471.86,-142.93 481.41,-138.36 471.09,-135.98 471.86,-142.93"/>
</g>
<!-- Node47 -->
<g id="node47" class="node">
<title>Node47</title>
<g id="a_node47"><a xlink:href="with__context_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python's with syntax.">
-<polygon fill="white" stroke="black" points="2955.5,-252 2955.5,-271 3076.5,-271 3076.5,-252 2955.5,-252"/>
-<text text-anchor="middle" x="3016" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/with_context.h</text>
+<polygon fill="white" stroke="black" points="556.5,-252 556.5,-271 677.5,-271 677.5,-252 556.5,-252"/>
+<text text-anchor="middle" x="617" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/with_context.h</text>
</a>
</g>
</g>
<!-- Node1->Node47 -->
-<g id="edge173" class="edge">
+<g id="edge174" class="edge">
<title>Node1->Node47</title>
-<path fill="none" stroke="midnightblue" d="M2307.68,-881.17C2478.18,-878.74 2884.09,-869.62 3017,-837 3075.73,-822.59 3100.15,-825.58 3141,-781 3197.31,-719.55 3203,-687.35 3203,-604 3203,-604 3203,-604 3203,-490 3203,-388.44 3090.41,-307.52 3039.96,-276.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3041.67,-273.3 3031.3,-271.12 3038.05,-279.29 3041.67,-273.3"/>
+<path fill="none" stroke="midnightblue" d="M2066.48,-881.19C1731.86,-877.18 414,-856.03 414,-772 414,-772 414,-772 414,-546 414,-421.82 544.34,-314.62 596.14,-276.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="598.2,-279.75 604.3,-271.09 594.13,-274.06 598.2,-279.75"/>
</g>
<!-- Node49 -->
<g id="node49" class="node">
<title>Node49</title>
<g id="a_node49"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3084,-185 3084,-204 3142,-204 3142,-185 3084,-185"/>
-<text text-anchor="middle" x="3113" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
+<polygon fill="white" stroke="#bfbfbf" points="1445,-185 1445,-204 1503,-204 1503,-185 1445,-185"/>
+<text text-anchor="middle" x="1474" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
</a>
</g>
</g>
<!-- Node1->Node49 -->
-<g id="edge175" class="edge">
+<g id="edge176" class="edge">
<title>Node1->Node49</title>
-<path fill="none" stroke="midnightblue" d="M2307.64,-881.99C2549.23,-880.94 3279,-869.7 3279,-772 3279,-772 3279,-772 3279,-434 3279,-333.02 3177.52,-244.15 3133.25,-210.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3135.3,-207.34 3125.21,-204.13 3131.1,-212.94 3135.3,-207.34"/>
+<path fill="none" stroke="midnightblue" d="M2172.35,-873.5C2213.4,-859.59 2283,-827.79 2283,-772 2283,-772 2283,-772 2283,-658 2283,-545.56 1898.86,-558.1 1802,-501 1660.03,-417.3 1528.48,-263 1487.27,-212.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1489.83,-209.81 1480.84,-204.21 1484.38,-214.19 1489.83,-209.81"/>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge">
<title>Node2->Node3</title>
-<path fill="none" stroke="midnightblue" d="M2243.54,-825.11C2437.08,-821.21 3089,-801.7 3089,-716 3089,-716 3089,-716 3089,-602 3089,-443.02 2534.95,-310.17 2363.77,-272.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2364.28,-269.45 2353.77,-270.76 2362.8,-276.29 2364.28,-269.45"/>
+<path fill="none" stroke="midnightblue" d="M1858.67,-824.95C2064.2,-820.41 2800.66,-799.19 3021,-725 3064.93,-710.21 3086.69,-709.64 3109,-669 3173.82,-550.92 3170.78,-453.65 3066,-369 2973.99,-294.67 2831.43,-272.2 2756.65,-265.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2756.82,-261.92 2746.56,-264.56 2756.23,-268.9 2756.82,-261.92"/>
</g>
<!-- Node32 -->
<g id="node32" class="node">
<title>Node32</title>
<g id="a_node32"><a xlink:href="tirx_2expr_8h.html" target="_top" xlink:title="TIR expressions.">
-<polygon fill="white" stroke="black" points="1700.5,-761.5 1700.5,-780.5 1789.5,-780.5 1789.5,-761.5 1700.5,-761.5"/>
-<text text-anchor="middle" x="1745" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/expr.h</text>
+<polygon fill="white" stroke="black" points="1591.5,-761.5 1591.5,-780.5 1680.5,-780.5 1680.5,-761.5 1591.5,-761.5"/>
+<text text-anchor="middle" x="1636" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/expr.h</text>
</a>
</g>
</g>
<!-- Node2->Node32 -->
<g id="edge46" class="edge">
<title>Node2->Node32</title>
-<path fill="none" stroke="midnightblue" d="M2136.32,-819.49C2051.02,-809.14 1885.42,-789.04 1799.56,-778.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1799.85,-775.13 1789.5,-777.4 1799.01,-782.08 1799.85,-775.13"/>
+<path fill="none" stroke="midnightblue" d="M1778.22,-817.44C1749.67,-808.32 1704.27,-793.81 1672.46,-783.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1673.24,-780.23 1662.65,-780.52 1671.11,-786.89 1673.24,-780.23"/>
</g>
<!-- Node2->Node37 -->
<g id="edge170" class="edge">
<title>Node2->Node37</title>
-<path fill="none" stroke="midnightblue" d="M2136.44,-825.02C1833.46,-819.25 345.33,-787.77 273,-725 195.89,-658.09 207.24,-538.44 252,-246 256.72,-215.15 257.46,-206.06 273,-179 279.16,-168.28 288.25,-157.96 296.31,-149.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="299.06,-152.13 303.88,-142.69 294.23,-147.06 299.06,-152.13"/>
+<path fill="none" stroke="midnightblue" d="M1751.13,-824.49C1499.48,-817.1 452,-782.36 452,-716 452,-716 452,-716 452,-602 452,-405.45 199.82,-332.16 323,-179 341.29,-156.26 416.95,-144.36 471.02,-138.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="471.59,-142.1 481.19,-137.61 470.89,-135.13 471.59,-142.1"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2323,-185 2323,-204 2459,-204 2459,-185 2323,-185"/>
-<text text-anchor="middle" x="2391" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/dataclass.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2809,-185 2809,-204 2945,-204 2945,-185 2809,-185"/>
+<text text-anchor="middle" x="2877" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/dataclass.h</text>
</a>
</g>
</g>
<!-- Node3->Node4 -->
<g id="edge3" class="edge">
<title>Node3->Node4</title>
-<path fill="none" stroke="midnightblue" d="M2324.38,-251.73C2336.85,-241.21 2357.97,-223.38 2373.09,-210.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2375.4,-213.25 2380.78,-204.13 2370.88,-207.9 2375.4,-213.25"/>
+<path fill="none" stroke="midnightblue" d="M2729.57,-251.87C2759.25,-240.52 2811.55,-220.52 2845.22,-207.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2846.51,-210.9 2854.6,-204.06 2844.01,-204.37 2846.51,-210.9"/>
</g>
<!-- Node3->Node5 -->
<g id="edge4" class="edge">
<title>Node3->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2274.39,-260.25C2110.56,-258.95 1485.38,-251.34 1293,-210 1256.12,-202.08 1250.6,-188.11 1214,-179 1077.69,-145.06 1038.82,-164.44 900,-143 792.8,-126.44 668.94,-100.92 597.43,-85.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="597.78,-82.05 587.26,-83.36 596.3,-88.89 597.78,-82.05"/>
+<path fill="none" stroke="midnightblue" d="M2705.29,-251.83C2702.62,-235.69 2699.37,-200.69 2716,-179 2745.12,-141.01 2840.2,-158.42 2808,-123 2776.92,-88.81 2470.56,-77.21 2338.77,-73.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2338.54,-70.27 2328.45,-73.51 2338.36,-77.27 2338.54,-70.27"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="642.5,-123.5 642.5,-142.5 731.5,-142.5 731.5,-123.5 642.5,-123.5"/>
-<text text-anchor="middle" x="687" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1527.5,-123.5 1527.5,-142.5 1616.5,-142.5 1616.5,-123.5 1527.5,-123.5"/>
+<text text-anchor="middle" x="1572" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
</a>
</g>
</g>
<!-- Node3->Node6 -->
<g id="edge5" class="edge">
<title>Node3->Node6</title>
-<path fill="none" stroke="midnightblue" d="M2274.28,-259.98C2090,-257.39 1322.99,-244.59 1222,-210 1199.37,-202.25 1200.45,-187.26 1178,-179 1012.97,-118.3 959.1,-159.12 784,-143 770.45,-141.75 755.83,-140.4 742.15,-139.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="742.19,-135.62 731.91,-138.18 741.54,-142.59 742.19,-135.62"/>
+<path fill="none" stroke="midnightblue" d="M2667.27,-259.13C2575.64,-255.49 2342.68,-243.44 2151,-210 2097.16,-200.61 2085.81,-188.58 2032,-179 2012.33,-175.5 1744.65,-150.19 1626.92,-139.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1626.96,-135.63 1616.68,-138.18 1626.31,-142.6 1626.96,-135.63"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="cast_8h.html" target="_top" xlink:title="Value casting helpers.">
-<polygon fill="white" stroke="black" points="2113,-185 2113,-204 2191,-204 2191,-185 2113,-185"/>
-<text text-anchor="middle" x="2152" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cast.h</text>
+<polygon fill="white" stroke="black" points="2515,-185 2515,-204 2593,-204 2593,-185 2515,-185"/>
+<text text-anchor="middle" x="2554" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cast.h</text>
</a>
</g>
</g>
<!-- Node3->Node7 -->
<g id="edge6" class="edge">
<title>Node3->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2292.49,-251.87C2264.33,-240.57 2214.8,-220.7 2182.7,-207.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2183.93,-204.54 2173.34,-204.06 2181.32,-211.04 2183.93,-204.54"/>
+<path fill="none" stroke="midnightblue" d="M2686.68,-251.87C2660.28,-240.65 2613.97,-220.98 2583.64,-208.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2584.97,-204.86 2574.4,-204.17 2582.24,-211.3 2584.97,-204.86"/>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="cow_8h.html" target="_top" xlink:title="Copy-on-write helper macro for IR ffi::ObjectRef types.">
-<polygon fill="white" stroke="black" points="1809.5,-185 1809.5,-204 1886.5,-204 1886.5,-185 1809.5,-185"/>
-<text text-anchor="middle" x="1848" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cow.h</text>
+<polygon fill="white" stroke="black" points="1863.5,-185 1863.5,-204 1940.5,-204 1940.5,-185 1863.5,-185"/>
+<text text-anchor="middle" x="1902" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cow.h</text>
</a>
</g>
</g>
<!-- Node3->Node15 -->
<g id="edge14" class="edge">
<title>Node3->Node15</title>
-<path fill="none" stroke="midnightblue" d="M2274.41,-257.59C2200.5,-251.72 2036.73,-236.72 1901,-210 1896.17,-209.05 1891.12,-207.89 1886.16,-206.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1886.71,-203.18 1876.15,-204.02 1884.93,-209.95 1886.71,-203.18"/>
+<path fill="none" stroke="midnightblue" d="M2667.21,-261C2554,-261.75 2220.84,-259.28 1950,-210 1945.54,-209.19 1940.92,-208.11 1936.37,-206.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1937.23,-203.51 1926.65,-204.11 1935.3,-210.24 1937.23,-203.51"/>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<title>Node16</title>
<g id="a_node16"><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="2490.5,-123.5 2490.5,-142.5 2607.5,-142.5 2607.5,-123.5 2490.5,-123.5"/>
-<text text-anchor="middle" x="2549" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
+<polygon fill="white" stroke="black" points="1711.5,-123.5 1711.5,-142.5 1828.5,-142.5 1828.5,-123.5 1711.5,-123.5"/>
+<text text-anchor="middle" x="1770" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
</a>
</g>
</g>
<!-- Node3->Node16 -->
<g id="edge17" class="edge">
<title>Node3->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2310.75,-251.69C2305.35,-235.31 2296.69,-199.94 2314,-179 2319.51,-172.33 2417.49,-155.27 2485.17,-144.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2486.03,-147.58 2495.34,-142.51 2484.9,-140.67 2486.03,-147.58"/>
+<path fill="none" stroke="midnightblue" d="M2667.25,-257.35C2593.83,-251.14 2432.22,-235.65 2298,-210 2244.32,-199.74 2232.75,-188.9 2179,-179 2177.96,-178.81 1955.42,-154.36 1839.09,-141.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1839.17,-138.07 1828.85,-140.46 1838.41,-145.03 1839.17,-138.07"/>
</g>
<!-- Node22 -->
<g id="node22" class="node">
<title>Node22</title>
<g id="a_node22"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2747,-62 2747,-81 2791,-81 2791,-62 2747,-62"/>
-<text text-anchor="middle" x="2769" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="3081,-62 3081,-81 3125,-81 3125,-62 3081,-62"/>
+<text text-anchor="middle" x="3103" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node3->Node22 -->
<g id="edge44" class="edge">
<title>Node3->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2353.91,-259.99C2411.67,-257.86 2520.75,-248.54 2604,-210 2668.68,-180.06 2728.75,-118.18 2755.04,-88.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2757.84,-90.86 2761.82,-81.04 2752.59,-86.24 2757.84,-90.86"/>
+<path fill="none" stroke="midnightblue" d="M2746.62,-255.79C2834.75,-245.18 3040.19,-219.56 3052,-210 3088.68,-180.31 3098.98,-121.55 3101.87,-91.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3105.37,-91.56 3102.66,-81.32 3098.39,-91.01 3105.37,-91.56"/>
</g>
<!-- Node24 -->
<g id="node24" class="node">
<title>Node24</title>
<g id="a_node24"><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="2515,-185 2515,-204 2595,-204 2595,-185 2515,-185"/>
-<text text-anchor="middle" x="2555" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
+<polygon fill="white" stroke="black" points="2963,-185 2963,-204 3043,-204 3043,-185 2963,-185"/>
+<text text-anchor="middle" x="3003" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
</a>
</g>
</g>
<!-- Node3->Node24 -->
<g id="edge27" class="edge">
<title>Node3->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2346,-251.87C2389.16,-240.23 2466.06,-219.49 2513.58,-206.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2514.5,-210.05 2523.25,-204.06 2512.68,-203.29 2514.5,-210.05"/>
+<path fill="none" stroke="midnightblue" d="M2746.59,-253.49C2795.57,-244.57 2881.38,-228.13 2954,-210 2957.86,-209.04 2961.87,-207.97 2965.86,-206.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2967,-210.17 2975.64,-204.05 2965.07,-203.44 2967,-210.17"/>
</g>
<!-- Node28 -->
<g id="node28" class="node">
<title>Node28</title>
<g id="a_node28"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1142.5,-62 1142.5,-81 1211.5,-81 1211.5,-62 1142.5,-62"/>
-<text text-anchor="middle" x="1177" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
+<polygon fill="white" stroke="#bfbfbf" points="1473.5,-62 1473.5,-81 1542.5,-81 1542.5,-62 1473.5,-62"/>
+<text text-anchor="middle" x="1508" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
</a>
</g>
</g>
<!-- Node3->Node28 -->
<g id="edge45" class="edge">
<title>Node3->Node28</title>
-<path fill="none" stroke="midnightblue" d="M2274.5,-257.97C2188.11,-252.15 1976.04,-236.24 1800,-210 1650.25,-187.68 1613.8,-175.84 1466,-143 1378.43,-123.55 1276.66,-98.04 1220.26,-83.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1220.83,-80.18 1210.27,-81.09 1219.09,-86.96 1220.83,-80.18"/>
+<path fill="none" stroke="midnightblue" d="M2667.22,-260.81C2578.26,-260.61 2357.07,-255.18 2179,-210 2144.83,-201.33 2140.19,-187.56 2106,-179 1931.13,-135.24 1876.11,-189.71 1702,-143 1681.64,-137.54 1678.58,-130.8 1659,-123 1621.39,-108.02 1577.4,-93.65 1546.63,-84.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1547.32,-80.65 1536.73,-81.05 1545.26,-87.34 1547.32,-80.65"/>
</g>
<!-- Node29 -->
<g id="node29" class="node">
<title>Node29</title>
<g id="a_node29"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="940,-185 940,-204 1004,-204 1004,-185 940,-185"/>
-<text text-anchor="middle" x="972" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
+<polygon fill="white" stroke="#bfbfbf" points="1959,-185 1959,-204 2023,-204 2023,-185 1959,-185"/>
+<text text-anchor="middle" x="1991" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
<!-- Node3->Node29 -->
<g id="edge41" class="edge">
<title>Node3->Node29</title>
-<path fill="none" stroke="midnightblue" d="M2274.3,-260.95C2118.04,-262.3 1530.55,-263.33 1051,-210 1038.99,-208.67 1026.07,-206.57 1014.22,-204.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1014.61,-200.9 1004.13,-202.46 1013.3,-207.78 1014.61,-200.9"/>
+<path fill="none" stroke="midnightblue" d="M2667.31,-260.67C2563.01,-260.45 2272.96,-255.45 2037,-210 2032.84,-209.2 2028.52,-208.15 2024.28,-206.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2025.19,-203.59 2014.61,-204.09 2023.19,-210.3 2025.19,-203.59"/>
</g>
<!-- Node30 -->
<g id="node30" class="node">
<title>Node30</title>
<g id="a_node30"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2917.5,-185 2917.5,-204 2982.5,-204 2982.5,-185 2917.5,-185"/>
-<text text-anchor="middle" x="2950" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="2725.5,-185 2725.5,-204 2790.5,-204 2790.5,-185 2725.5,-185"/>
+<text text-anchor="middle" x="2758" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
</a>
</g>
</g>
<!-- Node3->Node30 -->
<g id="edge42" class="edge">
<title>Node3->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2353.78,-256.43C2467.03,-244.86 2790.47,-211.8 2907.27,-199.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2907.68,-203.34 2917.27,-198.84 2906.97,-196.38 2907.68,-203.34"/>
+<path fill="none" stroke="midnightblue" d="M2713.88,-251.73C2721.83,-241.6 2735.1,-224.69 2745.01,-212.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2747.81,-214.16 2751.23,-204.13 2742.3,-209.83 2747.81,-214.16"/>
</g>
<!-- Node3->Node31 -->
<g id="edge43" class="edge">
<title>Node3->Node31</title>
-<path fill="none" stroke="midnightblue" d="M2353.7,-258.3C2535.79,-248.21 3289.29,-206.46 3454.77,-197.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3455.02,-200.78 3464.81,-196.73 3454.63,-193.79 3455.02,-200.78"/>
+<path fill="none" stroke="midnightblue" d="M2746.57,-257.41C2889.33,-246.26 3376.32,-208.21 3506.68,-198.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3507.12,-201.5 3516.82,-197.23 3506.57,-194.52 3507.12,-201.5"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2109.5,-123.5 2109.5,-142.5 2186.5,-142.5 2186.5,-123.5 2109.5,-123.5"/>
-<text text-anchor="middle" x="2148" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2383.5,-123.5 2383.5,-142.5 2460.5,-142.5 2460.5,-123.5 2383.5,-123.5"/>
+<text text-anchor="middle" x="2422" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
</a>
</g>
</g>
<!-- Node7->Node8 -->
<g id="edge7" class="edge">
<title>Node7->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2151.43,-184.98C2150.86,-176.58 2149.98,-163.48 2149.25,-152.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2152.74,-152.25 2148.57,-142.51 2145.75,-152.72 2152.74,-152.25"/>
-</g>
-<!-- Node9 -->
-<g id="node9" class="node">
-<title>Node9</title>
-<g id="a_node9"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2391.5,-123.5 2391.5,-142.5 2472.5,-142.5 2472.5,-123.5 2391.5,-123.5"/>
-<text text-anchor="middle" x="2432" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
-</a>
-</g>
+<path fill="none" stroke="midnightblue" d="M2535.09,-184.98C2512.84,-174.95 2475.69,-158.2 2450.07,-146.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2451.43,-143.43 2440.88,-142.51 2448.56,-149.81 2451.43,-143.43"/>
</g>
<!-- Node7->Node9 -->
<g id="edge8" class="edge">
<title>Node7->Node9</title>
-<path fill="none" stroke="midnightblue" d="M2181.62,-185C2189.21,-182.93 2197.39,-180.79 2205,-179 2265.17,-164.82 2335.01,-151.43 2381.17,-143"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2382,-146.41 2391.22,-141.18 2380.75,-139.52 2382,-146.41"/>
+<path fill="none" stroke="midnightblue" d="M2593.04,-188.01C2669.88,-177.2 2840.72,-153.17 2926.21,-141.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2926.79,-144.6 2936.2,-139.74 2925.81,-137.67 2926.79,-144.6"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3008.5,-62 3008.5,-81 3097.5,-81 3097.5,-62 3008.5,-62"/>
-<text text-anchor="middle" x="3053" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2117.5,-62 2117.5,-81 2206.5,-81 2206.5,-62 2117.5,-62"/>
+<text text-anchor="middle" x="2162" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
</a>
</g>
</g>
<!-- Node7->Node10 -->
<g id="edge9" class="edge">
<title>Node7->Node10</title>
-<path fill="none" stroke="midnightblue" d="M2191.25,-189.52C2224.03,-186.31 2272.02,-181.87 2314,-179 2356.34,-176.11 3047.71,-173.71 3077,-143 3091.03,-128.3 3078.79,-105.08 3067.24,-89.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3069.66,-86.75 3060.73,-81.06 3064.16,-91.08 3069.66,-86.75"/>
+<path fill="none" stroke="midnightblue" d="M2585.16,-184.98C2637.02,-170.79 2735.42,-143.77 2736,-143 2741.38,-135.92 2742.06,-129.5 2736,-123 2696.88,-81.05 2277.67,-95.88 2221,-87 2214.99,-86.06 2208.7,-84.81 2202.55,-83.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2202.96,-79.93 2192.42,-81.03 2201.34,-86.74 2202.96,-79.93"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1999.5,-62 1999.5,-81 2082.5,-81 2082.5,-62 1999.5,-62"/>
-<text text-anchor="middle" x="2041" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1853.5,-62 1853.5,-81 1936.5,-81 1936.5,-62 1853.5,-62"/>
+<text text-anchor="middle" x="1895" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
</a>
</g>
</g>
<!-- Node7->Node11 -->
<g id="edge10" class="edge">
<title>Node7->Node11</title>
-<path fill="none" stroke="midnightblue" d="M2183.09,-184.93C2190.28,-182.96 2197.9,-180.9 2205,-179 2268.95,-161.91 2385.77,-173.52 2343,-123 2327.02,-104.13 2174.77,-86.02 2092.75,-77.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2092.93,-74.03 2082.63,-76.49 2092.22,-80.99 2092.93,-74.03"/>
+<path fill="none" stroke="midnightblue" d="M2564.13,-184.69C2579.55,-170.26 2605.37,-141.36 2588,-123 2538.84,-71.01 2015.54,-99.04 1945,-87 1940.13,-86.17 1935.07,-85.03 1930.11,-83.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1930.75,-80.3 1920.18,-81.01 1928.88,-87.05 1930.75,-80.3"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2243.5,-123.5 2243.5,-142.5 2334.5,-142.5 2334.5,-123.5 2243.5,-123.5"/>
-<text text-anchor="middle" x="2289" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2636.5,-123.5 2636.5,-142.5 2727.5,-142.5 2727.5,-123.5 2636.5,-123.5"/>
+<text text-anchor="middle" x="2682" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
</a>
</g>
</g>
<!-- Node7->Node12 -->
<g id="edge11" class="edge">
<title>Node7->Node12</title>
-<path fill="none" stroke="midnightblue" d="M2171.63,-184.98C2194.82,-174.9 2233.62,-158.05 2260.21,-146.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2261.63,-149.7 2269.41,-142.51 2258.84,-143.28 2261.63,-149.7"/>
+<path fill="none" stroke="midnightblue" d="M2572.34,-184.98C2593.82,-174.99 2629.62,-158.35 2654.45,-146.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2656.1,-149.9 2663.69,-142.51 2653.15,-143.55 2656.1,-149.9"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1990.5,-123.5 1990.5,-142.5 2091.5,-142.5 2091.5,-123.5 1990.5,-123.5"/>
-<text text-anchor="middle" x="2041" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2478.5,-123.5 2478.5,-142.5 2579.5,-142.5 2579.5,-123.5 2478.5,-123.5"/>
+<text text-anchor="middle" x="2529" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
</a>
</g>
</g>
<!-- Node7->Node13 -->
<g id="edge12" class="edge">
<title>Node7->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2136.1,-184.98C2117.72,-175.12 2087.24,-158.79 2065.76,-147.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2067.34,-144.15 2056.87,-142.51 2064.03,-150.32 2067.34,-144.15"/>
-</g>
-<!-- Node14 -->
-<g id="node14" class="node">
-<title>Node14</title>
-<g id="a_node14"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1730.5,-62 1730.5,-81 1775.5,-81 1775.5,-62 1730.5,-62"/>
-<text text-anchor="middle" x="1753" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
-</a>
-</g>
+<path fill="none" stroke="midnightblue" d="M2550.42,-184.98C2546.82,-176.4 2541.15,-162.93 2536.56,-151.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2539.68,-150.37 2532.58,-142.51 2533.22,-153.08 2539.68,-150.37"/>
</g>
<!-- Node7->Node14 -->
<g id="edge13" class="edge">
<title>Node7->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2164.16,-184.81C2182.34,-170.79 2212.66,-142.79 2195,-123 2181.34,-107.69 1885.79,-83 1785.76,-75.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1785.87,-71.55 1775.62,-74.25 1785.32,-78.53 1785.87,-71.55"/>
+<path fill="none" stroke="midnightblue" d="M2514.95,-188.08C2490.34,-184.89 2457.87,-181.08 2429,-179 1862.68,-138.25 1714.61,-219.49 1152,-143 1115.26,-138 1107.52,-129.45 1071,-123 909.15,-94.42 712.77,-79.58 636,-74.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.76,-71.01 625.56,-73.85 635.31,-77.99 635.76,-71.01"/>
</g>
<!-- Node15->Node12 -->
<g id="edge15" class="edge">
<title>Node15->Node12</title>
-<path fill="none" stroke="midnightblue" d="M1886.75,-188.27C1965.07,-177.7 2142.46,-153.77 2233.23,-141.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2233.88,-144.97 2243.32,-140.16 2232.95,-138.03 2233.88,-144.97"/>
+<path fill="none" stroke="midnightblue" d="M1926.15,-184.99C1933.7,-182.66 1942.11,-180.39 1950,-179 2229.68,-129.59 2304.81,-164.54 2588,-143 2600.26,-142.07 2613.4,-140.91 2625.86,-139.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2626.51,-143.19 2636.13,-138.75 2625.84,-136.22 2626.51,-143.19"/>
</g>
<!-- Node15->Node14 -->
<g id="edge16" class="edge">
<title>Node15->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1846.82,-184.89C1844.53,-170.76 1838.37,-142.28 1824,-123 1812.4,-107.43 1794.58,-94.78 1779.7,-86.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1781.33,-82.93 1770.89,-81.1 1777.91,-89.04 1781.33,-82.93"/>
+<path fill="none" stroke="midnightblue" d="M1863.44,-191.88C1711.36,-185.4 1157.68,-160.8 1081,-143 1058.49,-137.77 1055.36,-128.85 1033,-123 888.44,-85.19 709.1,-75.65 636.16,-73.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.89,-69.76 625.79,-72.96 635.68,-76.76 635.89,-69.76"/>
</g>
<!-- Node16->Node5 -->
<g id="edge20" class="edge">
<title>Node16->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2490.44,-123.83C2487.25,-123.52 2484.09,-123.24 2481,-123 1725.26,-65.19 1533.31,-118.05 776,-87 715.12,-84.5 645.56,-80.08 597.44,-76.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="597.42,-73.27 587.2,-76.07 596.93,-80.25 597.42,-73.27"/>
+<path fill="none" stroke="midnightblue" d="M1828.61,-128.36C1914,-122.54 2077.44,-109.45 2215,-87 2216.51,-86.75 2218.04,-86.49 2219.58,-86.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2220.68,-89.57 2229.85,-84.27 2219.37,-82.7 2220.68,-89.57"/>
</g>
<!-- Node16->Node14 -->
<g id="edge25" class="edge">
<title>Node16->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2490.42,-124.01C2487.24,-123.65 2484.08,-123.31 2481,-123 2343.19,-109.11 1909.72,-82.11 1786.17,-74.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1786.04,-71.01 1775.84,-73.89 1785.61,-78 1786.04,-71.01"/>
+<path fill="none" stroke="midnightblue" d="M1711.45,-128.19C1685.04,-126.51 1653.46,-124.57 1625,-123 1295.34,-104.77 1212.75,-103.54 883,-87 793.4,-82.51 687.69,-76.97 635.5,-74.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.67,-70.72 625.5,-73.69 635.3,-77.71 635.67,-70.72"/>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3333,-62 3333,-81 3467,-81 3467,-62 3333,-62"/>
-<text text-anchor="middle" x="3400" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3435,-62 3435,-81 3569,-81 3569,-62 3435,-62"/>
+<text text-anchor="middle" x="3502" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
</a>
</g>
</g>
<!-- Node16->Node17 -->
<g id="edge18" class="edge">
<title>Node16->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2607.56,-128.65C2726.45,-121.75 3004.65,-105.06 3238,-87 3265.59,-84.86 3295.79,-82.24 3322.56,-79.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3323,-83.29 3332.64,-78.89 3322.36,-76.32 3323,-83.29"/>
+<path fill="none" stroke="midnightblue" d="M1828.83,-127.88C1854.91,-126.17 1885.97,-124.29 1914,-123 2455.89,-98.08 2591.86,-105.68 3134,-87 3234.39,-83.54 3350.17,-78.87 3424.63,-75.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3425.01,-79.26 3434.86,-75.34 3424.72,-72.26 3425.01,-79.26"/>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<title>Node18</title>
<g id="a_node18"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="785.5,-62 785.5,-81 886.5,-81 886.5,-62 785.5,-62"/>
-<text text-anchor="middle" x="836" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="892.5,-62 892.5,-81 993.5,-81 993.5,-62 892.5,-62"/>
+<text text-anchor="middle" x="943" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
</a>
</g>
</g>
<!-- Node16->Node18 -->
<g id="edge19" class="edge">
<title>Node16->Node18</title>
-<path fill="none" stroke="midnightblue" d="M2490.44,-123.85C2487.25,-123.53 2484.09,-123.24 2481,-123 1883.55,-75.62 1731.9,-109.61 1133,-87 1051.2,-83.91 956.78,-79.09 896.76,-75.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="896.87,-72.36 886.7,-75.32 896.49,-79.35 896.87,-72.36"/>
+<path fill="none" stroke="midnightblue" d="M1711.19,-127.77C1559.77,-116.87 1157.67,-87.95 1003.94,-76.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1003.97,-73.38 993.74,-76.15 1003.47,-80.36 1003.97,-73.38"/>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3115.5,-62 3115.5,-81 3228.5,-81 3228.5,-62 3115.5,-62"/>
-<text text-anchor="middle" x="3172" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="1718.5,-62 1718.5,-81 1831.5,-81 1831.5,-62 1718.5,-62"/>
+<text text-anchor="middle" x="1775" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
</a>
</g>
</g>
<!-- Node16->Node19 -->
<g id="edge21" class="edge">
<title>Node16->Node19</title>
-<path fill="none" stroke="midnightblue" d="M2607.84,-129.87C2709.78,-125.6 2925.61,-113.97 3106,-87 3112.86,-85.97 3120.07,-84.65 3127.11,-83.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3128.17,-86.57 3137.23,-81.07 3126.72,-79.72 3128.17,-86.57"/>
+<path fill="none" stroke="midnightblue" d="M1770.72,-123.48C1771.42,-115.08 1772.52,-101.98 1773.43,-91.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1776.94,-91.27 1774.28,-81.01 1769.96,-90.68 1776.94,-91.27"/>
</g>
<!-- Node21 -->
<g id="node21" class="node">
<title>Node21</title>
<g id="a_node21"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2521.5,-62 2521.5,-81 2576.5,-81 2576.5,-62 2521.5,-62"/>
-<text text-anchor="middle" x="2549" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="1645.5,-62 1645.5,-81 1700.5,-81 1700.5,-62 1645.5,-62"/>
+<text text-anchor="middle" x="1673" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
</a>
</g>
</g>
<!-- Node16->Node21 -->
<g id="edge23" class="edge">
<title>Node16->Node21</title>
-<path fill="none" stroke="midnightblue" d="M2549,-123.48C2549,-115.08 2549,-101.98 2549,-91.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2552.5,-91.01 2549,-81.01 2545.5,-91.01 2552.5,-91.01"/>
+<path fill="none" stroke="midnightblue" d="M1756.1,-123.48C1740.33,-113.8 1714.36,-97.87 1695.65,-86.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1697.23,-83.25 1686.87,-81.01 1693.57,-89.22 1697.23,-83.25"/>
</g>
<!-- Node16->Node22 -->
<g id="edge24" class="edge">
<title>Node16->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2580.52,-123.48C2622.23,-112.19 2695.35,-92.42 2737.2,-81.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2738.14,-84.47 2746.88,-78.48 2736.31,-77.71 2738.14,-84.47"/>
+<path fill="none" stroke="midnightblue" d="M1828.84,-128.06C1854.92,-126.38 1885.98,-124.47 1914,-123 2372.52,-98.94 2930.98,-78.6 3070.33,-73.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3070.85,-77.13 3080.72,-73.28 3070.6,-70.14 3070.85,-77.13"/>
</g>
<!-- Node16->Node23 -->
<g id="edge26" class="edge">
<title>Node16->Node23</title>
-<path fill="none" stroke="midnightblue" d="M2490.43,-123.91C2487.24,-123.58 2484.08,-123.27 2481,-123 2365.19,-112.86 1523.59,-80.63 1343.04,-73.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1342.94,-70.28 1332.82,-73.4 1342.68,-77.28 1342.94,-70.28"/>
+<path fill="none" stroke="midnightblue" d="M1711.46,-127.99C1685.06,-126.28 1653.47,-124.37 1625,-123 1156.82,-100.48 1039.15,-110.07 571,-87 503.1,-83.65 423.77,-78.17 379.77,-75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="379.86,-71.49 369.63,-74.26 379.35,-78.47 379.86,-71.49"/>
</g>
<!-- Node20 -->
<g id="node20" class="node">
<title>Node20</title>
<g id="a_node20"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3129,-0.5 3129,-19.5 3215,-19.5 3215,-0.5 3129,-0.5"/>
-<text text-anchor="middle" x="3172" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1732,-0.5 1732,-19.5 1818,-19.5 1818,-0.5 1732,-0.5"/>
+<text text-anchor="middle" x="1775" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
</a>
</g>
</g>
<!-- Node19->Node20 -->
<g id="edge22" class="edge">
<title>Node19->Node20</title>
-<path fill="none" stroke="midnightblue" d="M3172,-61.98C3172,-53.58 3172,-40.48 3172,-29.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3175.5,-29.51 3172,-19.51 3168.5,-29.51 3175.5,-29.51"/>
+<path fill="none" stroke="midnightblue" d="M1775,-61.98C1775,-53.58 1775,-40.48 1775,-29.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1778.5,-29.51 1775,-19.51 1771.5,-29.51 1778.5,-29.51"/>
</g>
<!-- Node24->Node5 -->
<g id="edge30" class="edge">
<title>Node24->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2514.86,-185.72C2500.17,-183.16 2483.39,-180.57 2468,-179 2056.06,-136.88 1950.47,-165.58 1537,-143 1443.31,-137.88 797.27,-91.27 597.04,-76.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="597.23,-73.28 587,-76.05 596.72,-80.26 597.23,-73.28"/>
+<path fill="none" stroke="midnightblue" d="M2988.45,-184.96C2961.43,-169.57 2901.22,-137.42 2846,-123 2751.25,-98.26 2463.4,-81.56 2338.21,-75.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2338.21,-71.77 2328.04,-74.77 2337.86,-78.77 2338.21,-71.77"/>
</g>
<!-- Node24->Node9 -->
<g id="edge28" class="edge">
<title>Node24->Node9</title>
-<path fill="none" stroke="midnightblue" d="M2537.38,-184.98C2516.83,-175.03 2482.64,-158.49 2458.79,-146.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2460.12,-143.71 2449.59,-142.51 2457.07,-150.01 2460.12,-143.71"/>
+<path fill="none" stroke="midnightblue" d="M2999.27,-184.98C2995.53,-176.4 2989.64,-162.93 2984.86,-151.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2987.93,-150.27 2980.72,-142.51 2981.52,-153.07 2987.93,-150.27"/>
</g>
<!-- Node24->Node16 -->
<g id="edge31" class="edge">
<title>Node24->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2554.14,-184.98C2553.29,-176.58 2551.97,-163.48 2550.88,-152.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2554.34,-152.11 2549.86,-142.51 2547.38,-152.81 2554.34,-152.11"/>
+<path fill="none" stroke="midnightblue" d="M2978.61,-184.96C2970.84,-182.6 2962.14,-180.32 2954,-179 2725.75,-141.89 2144.98,-154.21 1914,-143 1889.48,-141.81 1862.63,-140.21 1838.83,-138.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1839.04,-135.2 1828.83,-138.05 1838.59,-142.18 1839.04,-135.2"/>
</g>
<!-- Node24->Node17 -->
<g id="edge29" class="edge">
<title>Node24->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2595.24,-191.54C2715.7,-185.46 3072.08,-165.98 3186,-143 3253.48,-129.39 3329.32,-101.17 3370.13,-84.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3371.52,-88.08 3379.49,-81.09 3368.9,-81.59 3371.52,-88.08"/>
+<path fill="none" stroke="midnightblue" d="M3038.09,-184.99C3126.47,-163.56 3358.2,-107.37 3456.67,-83.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3457.72,-86.84 3466.62,-81.08 3456.07,-80.04 3457.72,-86.84"/>
</g>
<!-- Node24->Node22 -->
<g id="edge40" class="edge">
<title>Node24->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2571.6,-184.97C2590.66,-175.11 2622.8,-158.27 2650,-143 2683.83,-124 2722.35,-100.91 2746.17,-86.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2748.11,-89.37 2754.84,-81.18 2744.47,-83.39 2748.11,-89.37"/>
+<path fill="none" stroke="midnightblue" d="M3010.19,-184.8C3026.77,-164.74 3067.88,-114.99 3089.39,-88.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3092.2,-91.06 3095.87,-81.12 3086.81,-86.6 3092.2,-91.06"/>
</g>
<!-- Node25 -->
<g id="node25" class="node">
<title>Node25</title>
<g id="a_node25"><a xlink:href="data__type_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2930,-123.5 2930,-142.5 3068,-142.5 3068,-123.5 2930,-123.5"/>
-<text text-anchor="middle" x="2999" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
+<polygon fill="white" stroke="black" points="1923,-123.5 1923,-142.5 2061,-142.5 2061,-123.5 1923,-123.5"/>
+<text text-anchor="middle" x="1992" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
</a>
</g>
</g>
<!-- Node24->Node25 -->
<g id="edge32" class="edge">
<title>Node24->Node25</title>
-<path fill="none" stroke="midnightblue" d="M2595.27,-186.89C2611.34,-184.32 2630.03,-181.42 2647,-179 2740.45,-165.67 2848.12,-152.17 2919.53,-143.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2920.29,-146.92 2929.79,-142.24 2919.44,-139.97 2920.29,-146.92"/>
+<path fill="none" stroke="midnightblue" d="M2978.35,-184.94C2970.64,-182.61 2962.05,-180.36 2954,-179 2868.23,-164.52 2286.27,-143.85 2071.45,-136.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2071.31,-133.11 2061.2,-136.27 2071.07,-140.11 2071.31,-133.11"/>
</g>
<!-- Node25->Node10 -->
<g id="edge34" class="edge">
<title>Node25->Node10</title>
-<path fill="none" stroke="midnightblue" d="M3006.74,-123.48C3015,-114.37 3028.28,-99.74 3038.49,-88.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3041.15,-90.77 3045.28,-81.01 3035.97,-86.06 3041.15,-90.77"/>
+<path fill="none" stroke="midnightblue" d="M2016.36,-123.48C2045.64,-113.22 2094.97,-95.96 2128,-84.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2129.41,-87.62 2137.69,-81.01 2127.09,-81.01 2129.41,-87.62"/>
</g>
<!-- Node25->Node11 -->
<g id="edge35" class="edge">
<title>Node25->Node11</title>
-<path fill="none" stroke="midnightblue" d="M2929.83,-128.72C2792.52,-122.07 2475.84,-105.98 2210,-87 2170.6,-84.19 2126.1,-80.34 2092.65,-77.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2092.92,-73.83 2082.64,-76.41 2092.29,-80.8 2092.92,-73.83"/>
+<path fill="none" stroke="midnightblue" d="M1978.1,-123.48C1962.33,-113.8 1936.36,-97.87 1917.65,-86.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1919.23,-83.25 1908.87,-81.01 1915.57,-89.22 1919.23,-83.25"/>
</g>
<!-- Node25->Node19 -->
<g id="edge36" class="edge">
<title>Node25->Node19</title>
-<path fill="none" stroke="midnightblue" d="M3023.79,-123.48C3053.59,-113.22 3103.79,-95.96 3137.4,-84.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3138.94,-87.57 3147.26,-81.01 3136.66,-80.95 3138.94,-87.57"/>
+<path fill="none" stroke="midnightblue" d="M1960.91,-123.48C1922.72,-113 1857.83,-95.21 1815.7,-83.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1816.6,-80.28 1806.03,-81.01 1814.75,-87.03 1816.6,-80.28"/>
</g>
<!-- Node25->Node22 -->
<g id="edge38" class="edge">
<title>Node25->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2966.05,-123.48C2922,-112.08 2844.46,-92.02 2800.94,-80.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2801.72,-77.35 2791.16,-78.23 2799.97,-84.13 2801.72,-77.35"/>
+<path fill="none" stroke="midnightblue" d="M2061.09,-126.58C2078.06,-125.33 2096.18,-124.05 2113,-123 2488.97,-99.43 2945.8,-79.25 3070.33,-73.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3070.84,-77.37 3080.68,-73.45 3070.54,-70.38 3070.84,-77.37"/>
</g>
<!-- Node26 -->
<g id="node26" class="node">
<title>Node26</title>
<g id="a_node26"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2851.5,-62 2851.5,-81 2990.5,-81 2990.5,-62 2851.5,-62"/>
-<text text-anchor="middle" x="2921" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1954.5,-62 1954.5,-81 2093.5,-81 2093.5,-62 1954.5,-62"/>
+<text text-anchor="middle" x="2024" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
</a>
</g>
</g>
<!-- Node25->Node26 -->
<g id="edge33" class="edge">
<title>Node25->Node26</title>
-<path fill="none" stroke="midnightblue" d="M2987.82,-123.48C2975.43,-114.02 2955.21,-98.6 2940.25,-87.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2942.23,-84.29 2932.15,-81.01 2937.98,-89.86 2942.23,-84.29"/>
+<path fill="none" stroke="midnightblue" d="M1996.58,-123.48C2001.24,-114.82 2008.59,-101.15 2014.51,-90.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2017.77,-91.47 2019.42,-81.01 2011.6,-88.16 2017.77,-91.47"/>
</g>
<!-- Node27 -->
<g id="node27" class="node">
<title>Node27</title>
<g id="a_node27"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2219,-62 2219,-81 2269,-81 2269,-62 2219,-62"/>
-<text text-anchor="middle" x="2244" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
+<polygon fill="white" stroke="#bfbfbf" points="1258,-62 1258,-81 1308,-81 1308,-62 1258,-62"/>
+<text text-anchor="middle" x="1283" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
</a>
</g>
</g>
<!-- Node25->Node27 -->
<g id="edge37" class="edge">
<title>Node25->Node27</title>
-<path fill="none" stroke="midnightblue" d="M2930,-126.56C2773.62,-114.24 2396.72,-84.54 2279.44,-75.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2279.48,-71.79 2269.23,-74.49 2278.93,-78.76 2279.48,-71.79"/>
+<path fill="none" stroke="midnightblue" d="M1922.73,-126.19C1774.2,-113.72 1429.59,-84.8 1318.32,-75.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1318.56,-71.97 1308.3,-74.62 1317.97,-78.95 1318.56,-71.97"/>
</g>
<!-- Node25->Node28 -->
<g id="edge39" class="edge">
<title>Node25->Node28</title>
-<path fill="none" stroke="midnightblue" d="M2929.85,-130.31C2613.52,-122.55 1317.87,-90.6 1276,-87 1258.23,-85.47 1238.78,-82.84 1221.87,-80.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1222.13,-76.73 1211.7,-78.62 1221.03,-83.64 1222.13,-76.73"/>
+<path fill="none" stroke="midnightblue" d="M1922.91,-123.51C1822.12,-111.12 1637.56,-88.43 1552.76,-78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1553.04,-74.51 1542.69,-76.76 1552.18,-81.46 1553.04,-74.51"/>
</g>
<!-- Node32->Node3 -->
<g id="edge63" class="edge">
<title>Node32->Node3</title>
-<path fill="none" stroke="midnightblue" d="M1789.75,-768.88C1945.35,-764.79 2454.64,-749.55 2479,-725 2608.12,-594.88 2595.12,-436.87 2460,-313 2433.53,-288.74 2394.82,-276.04 2363.91,-269.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2364.25,-265.95 2353.76,-267.44 2362.89,-272.81 2364.25,-265.95"/>
+<path fill="none" stroke="midnightblue" d="M1680.77,-769.42C1895.64,-766.52 2815.99,-752.55 2941,-725 3013.55,-709.01 3095,-734.29 3095,-660 3095,-660 3095,-660 3095,-434 3095,-360.77 2860.83,-297.81 2756.33,-273.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2756.87,-269.9 2746.34,-271.05 2755.29,-276.72 2756.87,-269.9"/>
</g>
<!-- Node32->Node6 -->
<g id="edge49" class="edge">
<title>Node32->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1700.3,-770.19C1560.62,-770.32 1133.82,-767.16 1003,-725 951.48,-708.4 900,-714.13 900,-660 900,-660 900,-660 900,-434 900,-349.01 990.28,-310.56 935,-246 867.42,-167.07 779.84,-281.03 704,-210 688.46,-195.44 685.6,-170.03 685.71,-152.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="689.21,-152.68 686.1,-142.55 682.22,-152.4 689.21,-152.68"/>
+<path fill="none" stroke="midnightblue" d="M1591.25,-766.23C1492.57,-756.68 1265,-727.35 1265,-660 1265,-660 1265,-660 1265,-546 1265,-360.88 1505.1,-444.93 1583,-277 1602.15,-235.72 1588.35,-180.51 1578.89,-152.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1582.08,-150.82 1575.44,-142.57 1575.49,-153.17 1582.08,-150.82"/>
</g>
<!-- Node32->Node14 -->
<g id="edge169" class="edge">
<title>Node32->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1700.41,-769.09C1582.41,-765.48 1271,-747.65 1271,-660 1271,-660 1271,-660 1271,-546 1271,-529.33 1651.41,-168.58 1736.33,-88.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1738.94,-90.6 1743.8,-81.19 1734.13,-85.52 1738.94,-90.6"/>
+<path fill="none" stroke="midnightblue" d="M1591.46,-769.84C1413.5,-768.95 753.16,-763.1 548,-725 382.87,-694.33 190,-771.95 190,-604 190,-604 190,-604 190,-490 190,-351.64 98.86,-293.86 176,-179 220.61,-112.57 478.07,-83.55 570.21,-75.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="570.7,-78.66 580.36,-74.3 570.09,-71.69 570.7,-78.66"/>
</g>
<!-- Node32->Node15 -->
<g id="edge62" class="edge">
<title>Node32->Node15</title>
-<path fill="none" stroke="midnightblue" d="M1751.34,-761.4C1775.04,-728.39 1857,-605.95 1857,-492 1857,-492 1857,-492 1857,-322 1857,-283.61 1852.82,-238.82 1850.16,-214.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1853.62,-213.62 1849.03,-204.07 1846.67,-214.4 1853.62,-213.62"/>
+<path fill="none" stroke="midnightblue" d="M1632.09,-761.36C1624.17,-743.07 1607,-698.91 1607,-660 1607,-660 1607,-660 1607,-602 1607,-506.03 1825.1,-274.57 1886.24,-211.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1889.02,-213.73 1893.49,-204.12 1884,-208.84 1889.02,-213.73"/>
</g>
<!-- Node32->Node17 -->
<g id="edge47" class="edge">
<title>Node32->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1789.68,-769.93C2004.97,-769.37 2936.6,-764.69 3224,-725 3342.42,-708.64 3485,-779.54 3485,-660 3485,-660 3485,-660 3485,-378 3485,-288.35 3554.42,-260.92 3518,-179 3498.98,-136.22 3453.35,-103.37 3424.73,-86.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3426.49,-83.05 3416.09,-81.02 3422.95,-89.09 3426.49,-83.05"/>
+<path fill="none" stroke="midnightblue" d="M1680.59,-769.95C1918.69,-769.51 3034.89,-765.29 3183,-725 3383.75,-670.39 3589,-700.05 3589,-492 3589,-492 3589,-492 3589,-378 3589,-289.55 3605.87,-265.41 3587,-179 3581.19,-152.37 3578.4,-144.77 3562,-123 3551.45,-109 3536.34,-96.31 3523.92,-87.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3525.63,-84.07 3515.46,-81.14 3521.58,-89.78 3525.63,-84.07"/>
</g>
<!-- Node32->Node19 -->
<g id="edge70" class="edge">
<title>Node32->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1789.6,-769.98C2004.69,-769.68 2929.55,-766 3051,-725 3226.61,-665.72 3276.91,-573.14 3298,-389 3301.84,-355.44 3306.07,-345.8 3298,-313 3275.57,-221.86 3211.8,-126.99 3184.57,-89.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3187.22,-87.03 3178.49,-81.04 3181.58,-91.17 3187.22,-87.03"/>
+<path fill="none" stroke="midnightblue" d="M1629.86,-761.48C1623.86,-752.75 1614.94,-738.57 1610,-725 1574.04,-626.19 1569,-597.15 1569,-492 1569,-492 1569,-492 1569,-260.5 1569,-227.91 1497.2,-148.09 1518,-123 1545.57,-89.75 1666.68,-95.64 1709,-87 1714.82,-85.81 1720.91,-84.53 1726.95,-83.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1727.97,-86.59 1737,-81.05 1726.48,-79.75 1727.97,-86.59"/>
</g>
<!-- Node32->Node22 -->
<g id="edge167" class="edge">
<title>Node32->Node22</title>
-<path fill="none" stroke="midnightblue" d="M1789.68,-769.78C2001.04,-768.55 2895.13,-761.25 3014,-725 3059.06,-711.26 3066.97,-698.13 3104,-669 3220.08,-577.68 3249.07,-532.75 3283,-389 3304.26,-298.93 3260.79,-283.33 3176,-179 3078.89,-59.51 2993.9,-112.19 2842,-87 2828.66,-84.79 2814.02,-81.96 2801.38,-79.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2801.8,-75.9 2791.3,-77.31 2800.38,-82.76 2801.8,-75.9"/>
+<path fill="none" stroke="midnightblue" d="M1680.64,-769.95C1903.55,-769.51 2890.63,-765.27 3021,-725 3253.56,-653.16 3323.02,-520.06 3336,-277 3340.06,-200.98 3325.64,-163.21 3261,-123 3221.39,-98.36 3168.66,-84.69 3135.26,-77.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3135.62,-74.47 3125.14,-76.02 3134.3,-81.34 3135.62,-74.47"/>
</g>
<!-- Node32->Node25 -->
<g id="edge71" class="edge">
<title>Node32->Node25</title>
-<path fill="none" stroke="midnightblue" d="M1789.67,-770.25C1997.92,-771.19 2867.97,-772.22 2979,-725 3213.12,-625.42 3303.24,-382.85 3151,-179 3133.91,-156.12 3105.71,-144.4 3078.2,-138.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3078.6,-135.05 3068.12,-136.64 3077.3,-141.93 3078.6,-135.05"/>
+<path fill="none" stroke="midnightblue" d="M1680.78,-766.65C1821.42,-755.55 2245,-717.35 2245,-660 2245,-660 2245,-660 2245,-322 2245,-219.69 2110.07,-166.55 2037.28,-145.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2038.02,-141.89 2027.44,-142.54 2036.11,-148.63 2038.02,-141.89"/>
</g>
<!-- Node32->Node29 -->
<g id="edge164" class="edge">
<title>Node32->Node29</title>
-<path fill="none" stroke="midnightblue" d="M1700.38,-770.2C1568.79,-770.3 1184.2,-766.89 1067,-725 1020.2,-708.27 976,-709.7 976,-660 976,-660 976,-660 976,-490 976,-367.54 1173.58,-346.77 1104,-246 1078.35,-208.84 1051.13,-226.24 1009,-210 1007.17,-209.29 1005.28,-208.56 1003.38,-207.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1004.49,-204.5 993.9,-204.13 1001.94,-211.02 1004.49,-204.5"/>
+<path fill="none" stroke="midnightblue" d="M1591.23,-770.15C1517.6,-767.8 1379,-751.24 1379,-660 1379,-660 1379,-660 1379,-546 1379,-511.65 1849.41,-268.12 1965.39,-208.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1967.01,-211.7 1974.31,-204.03 1963.82,-205.47 1967.01,-211.7"/>
</g>
<!-- Node32->Node31 -->
<g id="edge166" class="edge">
<title>Node32->Node31</title>
-<path fill="none" stroke="midnightblue" d="M1789.71,-770.04C2017.56,-770.03 3043.97,-767.6 3179,-725 3329.52,-677.51 3447,-649.83 3447,-492 3447,-492 3447,-492 3447,-322 3447,-281.49 3465.88,-236.94 3477.7,-213.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3480.82,-214.59 3482.25,-204.1 3474.59,-211.41 3480.82,-214.59"/>
+<path fill="none" stroke="midnightblue" d="M1680.57,-769.58C1923.32,-767.16 3077.77,-754.17 3147,-725 3279.08,-669.34 3293.09,-615.73 3379,-501 3383.9,-494.46 3496.81,-276.89 3529.94,-212.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3533.05,-214.59 3534.54,-204.1 3526.83,-211.37 3533.05,-214.59"/>
</g>
<!-- Node33 -->
<g id="node33" class="node">
<title>Node33</title>
<g id="a_node33"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="378.5,-123.5 378.5,-142.5 509.5,-142.5 509.5,-123.5 378.5,-123.5"/>
-<text text-anchor="middle" x="444" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="631.5,-123.5 631.5,-142.5 762.5,-142.5 762.5,-123.5 631.5,-123.5"/>
+<text text-anchor="middle" x="697" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
</a>
</g>
</g>
<!-- Node32->Node33 -->
<g id="edge48" class="edge">
<title>Node32->Node33</title>
-<path fill="none" stroke="midnightblue" d="M1700.47,-768.69C1469.44,-761.63 418,-725.85 418,-660 418,-660 418,-660 418,-490 418,-360.66 435.28,-205.59 441.67,-152.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="445.17,-152.88 442.92,-142.52 438.22,-152.02 445.17,-152.88"/>
+<path fill="none" stroke="midnightblue" d="M1591.46,-769.47C1406.16,-766.71 706,-750.28 706,-660 706,-660 706,-660 706,-260.5 706,-222.11 701.82,-177.32 699.16,-152.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="702.62,-152.12 698.03,-142.57 695.67,-152.9 702.62,-152.12"/>
</g>
<!-- Node34 -->
<g id="node34" class="node">
<title>Node34</title>
<g id="a_node34"><a xlink:href="attrs_8h.html" target="_top" xlink:title="Helpers for attribute objects.">
-<polygon fill="white" stroke="black" points="806,-313.5 806,-332.5 886,-332.5 886,-313.5 806,-313.5"/>
-<text text-anchor="middle" x="846" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attrs.h</text>
+<polygon fill="white" stroke="black" points="1207,-313.5 1207,-332.5 1287,-332.5 1287,-313.5 1207,-313.5"/>
+<text text-anchor="middle" x="1247" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attrs.h</text>
</a>
</g>
</g>
<!-- Node32->Node34 -->
<g id="edge50" class="edge">
<title>Node32->Node34</title>
-<path fill="none" stroke="midnightblue" d="M1700.44,-769.58C1534.8,-767.78 960.21,-759.1 886,-725 849.72,-708.33 824,-699.92 824,-660 824,-660 824,-660 824,-434 824,-401.33 833.45,-364.24 839.96,-342.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="843.39,-343.31 843.03,-332.72 836.71,-341.22 843.39,-343.31"/>
+<path fill="none" stroke="midnightblue" d="M1591.35,-770.46C1501.48,-770.51 1302.89,-765.84 1251,-725 1226.8,-705.96 1227,-690.8 1227,-660 1227,-660 1227,-660 1227,-434 1227,-401.44 1235.59,-364.32 1241.51,-342.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1244.94,-343.32 1244.3,-332.74 1238.21,-341.41 1244.94,-343.32"/>
</g>
<!-- Node32->Node37 -->
<g id="edge168" class="edge">
<title>Node32->Node37</title>
-<path fill="none" stroke="midnightblue" d="M1700.42,-769.12C1517.58,-765.4 824.56,-749.9 607,-725 453.72,-707.46 266,-814.28 266,-660 266,-660 266,-660 266,-260.5 266,-219.21 288.63,-174.98 302.81,-151.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="305.82,-153.11 308.11,-142.77 299.87,-149.42 305.82,-153.11"/>
+<path fill="none" stroke="midnightblue" d="M1591.43,-770.48C1380.18,-772.2 490,-772.74 490,-660 490,-660 490,-660 490,-322 490,-258.88 510.84,-186.15 521.65,-152.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="525.07,-153.47 524.89,-142.87 518.43,-151.27 525.07,-153.47"/>
</g>
<!-- Node38 -->
<g id="node38" class="node">
<title>Node38</title>
<g id="a_node38"><a xlink:href="node__functor_8h.html" target="_top" xlink:title="Defines the Functor data structures.">
-<polygon fill="white" stroke="black" points="1546.5,-123.5 1546.5,-142.5 1667.5,-142.5 1667.5,-123.5 1546.5,-123.5"/>
-<text text-anchor="middle" x="1607" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/node_functor.h</text>
+<polygon fill="white" stroke="black" points="1161.5,-123.5 1161.5,-142.5 1282.5,-142.5 1282.5,-123.5 1161.5,-123.5"/>
+<text text-anchor="middle" x="1222" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/node_functor.h</text>
</a>
</g>
</g>
<!-- Node32->Node38 -->
<g id="edge64" class="edge">
<title>Node32->Node38</title>
-<path fill="none" stroke="midnightblue" d="M1700.48,-769.5C1583.66,-767.7 1270.76,-759.7 1174,-725 1126.53,-707.98 1081,-710.43 1081,-660 1081,-660 1081,-660 1081,-546 1081,-413.77 1152.21,-380.34 1266,-313 1347.87,-264.55 1393.56,-322.69 1477,-277 1533.03,-246.32 1577.63,-182.18 1596.8,-151.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1599.93,-152.92 1602.12,-142.55 1593.94,-149.29 1599.93,-152.92"/>
+<path fill="none" stroke="midnightblue" d="M1591.26,-768.72C1420.58,-763.27 820,-738.49 820,-660 820,-660 820,-660 820,-322 820,-177.47 1035.85,-143.81 1151.22,-136.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1151.62,-139.62 1161.38,-135.51 1151.19,-132.63 1151.62,-139.62"/>
</g>
<!-- Node39 -->
<g id="node39" class="node">
<title>Node39</title>
<g id="a_node39"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n-dimensional array, to represent a memory buffer.">
-<polygon fill="white" stroke="black" points="2375.5,-705.5 2375.5,-724.5 2470.5,-724.5 2470.5,-705.5 2375.5,-705.5"/>
-<text text-anchor="middle" x="2423" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/buffer.h</text>
+<polygon fill="white" stroke="black" points="2794.5,-705.5 2794.5,-724.5 2889.5,-724.5 2889.5,-705.5 2794.5,-705.5"/>
+<text text-anchor="middle" x="2842" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/buffer.h</text>
</a>
</g>
</g>
<!-- Node32->Node39 -->
<g id="edge72" class="edge">
<title>Node32->Node39</title>
-<path fill="none" stroke="midnightblue" d="M1789.75,-766.44C1908.59,-756.97 2232.08,-731.21 2364.89,-720.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2365.57,-724.09 2375.26,-719.8 2365.01,-717.11 2365.57,-724.09"/>
+<path fill="none" stroke="midnightblue" d="M1680.71,-768C1866.32,-759.69 2576.05,-727.91 2784.26,-718.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2784.54,-722.08 2794.37,-718.13 2784.23,-715.08 2784.54,-722.08"/>
</g>
<!-- Node57 -->
<g id="node57" class="node">
<title>Node57</title>
<g id="a_node57"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR.">
-<polygon fill="white" stroke="black" points="2841.5,-313.5 2841.5,-332.5 2924.5,-332.5 2924.5,-313.5 2841.5,-313.5"/>
-<text text-anchor="middle" x="2883" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/var.h</text>
+<polygon fill="white" stroke="black" points="2733.5,-313.5 2733.5,-332.5 2816.5,-332.5 2816.5,-313.5 2733.5,-313.5"/>
+<text text-anchor="middle" x="2775" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/var.h</text>
</a>
</g>
</g>
<!-- Node32->Node57 -->
<g id="edge163" class="edge">
<title>Node32->Node57</title>
-<path fill="none" stroke="midnightblue" d="M1789.83,-769.64C2002.57,-767.78 2901.95,-757.96 2951,-725 3083.83,-635.75 3104.86,-494.06 3005,-369 2987.98,-347.68 2959.84,-336.46 2934.87,-330.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2935.28,-327.07 2924.77,-328.41 2933.82,-333.91 2935.28,-327.07"/>
+<path fill="none" stroke="midnightblue" d="M1680.81,-769.18C1898.74,-765.09 2839.76,-746.26 2898,-725 2942.01,-708.93 2981,-706.85 2981,-660 2981,-660 2981,-660 2981,-546 2981,-442.12 2858.3,-366.35 2802.3,-337.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2803.78,-334.01 2793.28,-332.59 2800.6,-340.25 2803.78,-334.01"/>
</g>
<!-- Node58 -->
<g id="node58" class="node">
<title>Node58</title>
<g id="a_node58"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1183,-705.5 1183,-724.5 1243,-724.5 1243,-705.5 1183,-705.5"/>
-<text text-anchor="middle" x="1213" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
+<polygon fill="white" stroke="#bfbfbf" points="1635,-705.5 1635,-724.5 1695,-724.5 1695,-705.5 1635,-705.5"/>
+<text text-anchor="middle" x="1665" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node32->Node58 -->
<g id="edge165" class="edge">
<title>Node32->Node58</title>
-<path fill="none" stroke="midnightblue" d="M1700.4,-767.53C1614.32,-762.4 1419.44,-749.03 1257,-725 1255.74,-724.81 1254.47,-724.61 1253.18,-724.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1253.68,-720.94 1243.22,-722.64 1252.45,-727.83 1253.68,-720.94"/>
+<path fill="none" stroke="midnightblue" d="M1640.79,-761.08C1644.76,-753.69 1650.53,-742.95 1655.43,-733.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1658.65,-735.22 1660.3,-724.75 1652.49,-731.91 1658.65,-735.22"/>
</g>
<!-- Node34->Node3 -->
<g id="edge57" class="edge">
<title>Node34->Node3</title>
-<path fill="none" stroke="midnightblue" d="M886.03,-320.38C1092.51,-312.01 2036.43,-273.75 2264.36,-264.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2264.5,-268.01 2274.35,-264.11 2264.22,-261.01 2264.5,-268.01"/>
+<path fill="none" stroke="midnightblue" d="M1287.19,-320.36C1493.13,-311.97 2429.26,-273.82 2656.97,-264.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2657.42,-268.02 2667.27,-264.12 2657.13,-261.03 2657.42,-268.02"/>
</g>
<!-- Node34->Node5 -->
<g id="edge55" class="edge">
<title>Node34->Node5</title>
-<path fill="none" stroke="midnightblue" d="M805.78,-320.19C741.53,-316.46 619.83,-305.71 589,-277 538.13,-229.63 534.68,-139.96 536.28,-96.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="539.78,-96.87 536.78,-86.7 532.79,-96.52 539.78,-96.87"/>
+<path fill="none" stroke="midnightblue" d="M1287.43,-316.1C1337.92,-308.46 1426.81,-294.06 1502,-277 1660.37,-241.07 1695.06,-212.33 1854,-179 1964.73,-155.78 1996.8,-172.57 2106,-143 2154.22,-129.94 2207.04,-107.08 2241.47,-90.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2243.13,-94.02 2250.67,-86.57 2240.14,-87.69 2243.13,-94.02"/>
</g>
<!-- Node34->Node14 -->
<g id="edge61" class="edge">
<title>Node34->Node14</title>
-<path fill="none" stroke="midnightblue" d="M886.28,-321.14C1013.26,-318.12 1399.63,-306.59 1447,-277 1514.24,-235 1473.21,-170.08 1537,-123 1592.08,-82.35 1674.8,-73.8 1720.23,-72.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1720.48,-75.87 1730.41,-72.16 1720.33,-68.87 1720.48,-75.87"/>
+<path fill="none" stroke="midnightblue" d="M1206.81,-322.31C1099.09,-322.52 795.25,-319.02 547,-277 437.39,-258.45 373.26,-298.52 306,-210 288.92,-187.52 326.88,-123.1 327,-123 363.55,-92.44 505.39,-79.1 570.27,-74.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="570.62,-77.99 580.36,-73.82 570.15,-71 570.62,-77.99"/>
</g>
<!-- Node34->Node15 -->
<g id="edge56" class="edge">
<title>Node34->Node15</title>
-<path fill="none" stroke="midnightblue" d="M886.35,-321.75C1007.92,-320.58 1369.18,-313.99 1480,-277 1504.09,-268.96 1504.28,-255.06 1528,-246 1619.57,-211.01 1734.79,-200.26 1799,-196.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1799.42,-200.44 1809.24,-196.47 1799.09,-193.45 1799.42,-200.44"/>
+<path fill="none" stroke="midnightblue" d="M1287.19,-319.32C1356.07,-314.24 1500.85,-301.48 1621,-277 1711.71,-258.52 1815.69,-225.04 1868.06,-207.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1869.19,-210.6 1877.53,-204.06 1866.93,-203.98 1869.19,-210.6"/>
</g>
<!-- Node34->Node18 -->
<g id="edge54" class="edge">
<title>Node34->Node18</title>
-<path fill="none" stroke="midnightblue" d="M830.85,-313.37C815.84,-304.67 792.38,-290.6 773,-277 754.88,-264.28 753.37,-256.72 734,-246 691.94,-222.72 667.75,-242.14 632,-210 601.36,-182.46 574.09,-155.04 600,-123 621.65,-96.23 712.77,-83.02 775.24,-76.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="775.75,-80.46 785.39,-76.05 775.11,-73.49 775.75,-80.46"/>
+<path fill="none" stroke="midnightblue" d="M1206.95,-318.2C1151.65,-312.21 1055.72,-298.97 1029,-277 969.84,-228.36 950.7,-131.91 945.1,-91.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="948.55,-90.64 943.84,-81.16 941.6,-91.51 948.55,-90.64"/>
</g>
<!-- Node34->Node22 -->
<g id="edge58" class="edge">
<title>Node34->Node22</title>
-<path fill="none" stroke="midnightblue" d="M886.18,-319.75C990.5,-313.8 1278.53,-296.78 1518,-277 1821.54,-251.93 1900.44,-265.04 2200,-210 2251.64,-200.51 2262.46,-189.02 2314,-179 2446.69,-153.2 2487.91,-186.19 2616,-143 2632.61,-137.4 2634.34,-130.89 2650,-123 2678.89,-108.45 2712.98,-94.27 2737.24,-84.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2738.65,-87.87 2746.68,-80.96 2736.09,-81.36 2738.65,-87.87"/>
+<path fill="none" stroke="midnightblue" d="M1287.25,-321.39C1451.72,-318.33 2088.32,-300.91 2602,-210 2605,-209.47 2961.3,-111.48 3071.14,-81.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3072.26,-84.59 3080.98,-78.56 3070.41,-77.84 3072.26,-84.59"/>
</g>
<!-- Node34->Node28 -->
<g id="edge59" class="edge">
<title>Node34->Node28</title>
-<path fill="none" stroke="midnightblue" d="M871.5,-313.47C887.99,-306.48 908.14,-294.79 918,-277 924.68,-264.95 927.02,-256.42 918,-246 845.12,-161.78 761.6,-273.37 670,-210 635.44,-186.09 604.7,-154.05 633,-123 649.76,-104.61 1004.59,-82.44 1131.97,-75.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1132.38,-78.52 1142.16,-74.45 1131.98,-71.53 1132.38,-78.52"/>
+<path fill="none" stroke="midnightblue" d="M1287.39,-318.05C1344.37,-311.81 1444.68,-298.16 1474,-277 1501.76,-256.96 1503.27,-243.1 1512,-210 1515.51,-196.68 1516.36,-192.07 1512,-179 1505.68,-160.03 1491.32,-161.97 1485,-143 1482.19,-134.57 1483.11,-131.69 1485,-123 1487.52,-111.4 1492.94,-99.27 1497.89,-89.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1500.96,-91.49 1502.73,-81.04 1494.83,-88.1 1500.96,-91.49"/>
</g>
<!-- Node34->Node33 -->
<g id="edge51" class="edge">
<title>Node34->Node33</title>
-<path fill="none" stroke="midnightblue" d="M805.88,-320.29C735.84,-316.58 594.98,-305.7 556,-277 516.94,-248.25 539.49,-215.88 508,-179 497.28,-166.45 482.32,-155.67 469.56,-147.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="471.14,-144.69 460.75,-142.63 467.59,-150.72 471.14,-144.69"/>
+<path fill="none" stroke="midnightblue" d="M1206.99,-319.7C1156.31,-315.7 1067.05,-305 996,-277 972.37,-267.69 969.62,-259.33 948,-246 897.97,-215.16 887.56,-203.2 834,-179 803.22,-165.09 766.82,-153.34 739.29,-145.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="740.15,-141.95 729.57,-142.57 738.22,-148.68 740.15,-141.95"/>
</g>
<!-- Node35 -->
<g id="node35" class="node">
<title>Node35</title>
<g id="a_node35"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="782.5,-246.5 782.5,-276.5 909.5,-276.5 909.5,-246.5 782.5,-246.5"/>
-<text text-anchor="start" x="790.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
-<text text-anchor="middle" x="846" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1038.5,-246.5 1038.5,-276.5 1165.5,-276.5 1165.5,-246.5 1038.5,-246.5"/>
+<text text-anchor="start" x="1046.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
+<text text-anchor="middle" x="1102" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
</a>
</g>
</g>
<!-- Node34->Node35 -->
<g id="edge52" class="edge">
<title>Node34->Node35</title>
-<path fill="none" stroke="midnightblue" d="M846,-313.48C846,-306.47 846,-296.19 846,-286.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="849.5,-286.52 846,-276.52 842.5,-286.52 849.5,-286.52"/>
+<path fill="none" stroke="midnightblue" d="M1226.23,-313.48C1205.3,-304.89 1172.39,-291.38 1145.69,-280.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1146.75,-277.08 1136.17,-276.52 1144.1,-283.56 1146.75,-277.08"/>
</g>
<!-- Node36 -->
<g id="node36" class="node">
<title>Node36</title>
<g id="a_node36"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="598.5,-246.5 598.5,-276.5 725.5,-276.5 725.5,-246.5 598.5,-246.5"/>
-<text text-anchor="start" x="606.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
-<text text-anchor="middle" x="662" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1183.5,-246.5 1183.5,-276.5 1310.5,-276.5 1310.5,-246.5 1183.5,-246.5"/>
+<text text-anchor="start" x="1191.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
+<text text-anchor="middle" x="1247" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
</a>
</g>
</g>
<!-- Node34->Node36 -->
<g id="edge53" class="edge">
<title>Node34->Node36</title>
-<path fill="none" stroke="midnightblue" d="M819.64,-313.48C792.5,-304.7 749.48,-290.79 715.23,-279.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="715.96,-276.27 705.37,-276.52 713.8,-282.93 715.96,-276.27"/>
+<path fill="none" stroke="midnightblue" d="M1247,-313.48C1247,-306.47 1247,-296.19 1247,-286.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1250.5,-286.52 1247,-276.52 1243.5,-286.52 1250.5,-286.52"/>
</g>
<!-- Node34->Node37 -->
<g id="edge60" class="edge">
<title>Node34->Node37</title>
-<path fill="none" stroke="midnightblue" d="M805.87,-322.41C744.1,-321.72 623.04,-315.05 529,-277 460.27,-249.19 456.41,-219.02 394,-179 376.34,-167.67 355.68,-156.09 339.78,-147.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="341.04,-144.22 330.57,-142.6 337.74,-150.39 341.04,-144.22"/>
+<path fill="none" stroke="midnightblue" d="M1206.84,-318.41C1148.39,-312.64 1036.74,-299.62 944,-277 867.53,-258.35 644.52,-177.03 560.51,-146.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="561.57,-142.71 550.98,-142.53 559.15,-149.27 561.57,-142.71"/>
</g>
<!-- Node38->Node11 -->
<g id="edge65" class="edge">
<title>Node38->Node11</title>
-<path fill="none" stroke="midnightblue" d="M1667.8,-123.66C1753.54,-111.91 1908.47,-90.67 1989.09,-79.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1990.05,-83.02 1999.48,-78.19 1989.1,-76.08 1990.05,-83.02"/>
+<path fill="none" stroke="midnightblue" d="M1282.54,-126.82C1298.01,-125.53 1314.62,-124.18 1330,-123 1556.56,-105.56 1615.82,-124.13 1840,-87 1845.48,-86.09 1851.21,-84.88 1856.81,-83.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1857.84,-86.9 1866.67,-81.05 1856.12,-80.11 1857.84,-86.9"/>
</g>
<!-- Node38->Node14 -->
<g id="edge68" class="edge">
<title>Node38->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1627.92,-123.48C1652.75,-113.36 1694.34,-96.4 1722.69,-84.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1724.18,-88.02 1732.12,-81.01 1721.54,-81.54 1724.18,-88.02"/>
+<path fill="none" stroke="midnightblue" d="M1161.24,-126.16C1032.21,-113.76 734.62,-85.15 635.66,-75.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.94,-72.15 625.65,-74.68 635.27,-79.12 635.94,-72.15"/>
</g>
<!-- Node38->Node23 -->
<g id="edge69" class="edge">
<title>Node38->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1564.3,-123.48C1504.43,-111.52 1396.78,-90.03 1342.39,-79.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1343.05,-75.73 1332.56,-77.2 1341.68,-82.59 1343.05,-75.73"/>
+<path fill="none" stroke="midnightblue" d="M1161.44,-127.89C991.18,-116.32 512.08,-83.78 380.06,-74.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="379.97,-71.3 369.76,-74.11 379.5,-78.28 379.97,-71.3"/>
</g>
<!-- Node38->Node27 -->
<g id="edge66" class="edge">
<title>Node38->Node27</title>
-<path fill="none" stroke="midnightblue" d="M1667.56,-124.57C1672.45,-124.02 1677.3,-123.49 1682,-123 1863.5,-104.13 1909.28,-103.61 2091,-87 2131.29,-83.32 2177.52,-78.91 2208.53,-75.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2209.21,-79.38 2218.83,-74.94 2208.54,-72.41 2209.21,-79.38"/>
+<path fill="none" stroke="midnightblue" d="M1230.74,-123.48C1240.16,-114.28 1255.36,-99.46 1266.95,-88.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1269.56,-90.5 1274.28,-81.01 1264.67,-85.49 1269.56,-90.5"/>
</g>
<!-- Node38->Node28 -->
<g id="edge67" class="edge">
<title>Node38->Node28</title>
-<path fill="none" stroke="midnightblue" d="M1546.27,-123.93C1479.86,-115.07 1370.32,-100.32 1276,-87 1258.34,-84.51 1238.92,-81.68 1221.99,-79.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1222.21,-75.68 1211.81,-77.69 1221.19,-82.61 1222.21,-75.68"/>
+<path fill="none" stroke="midnightblue" d="M1262.98,-123.48C1316.09,-112.43 1408.37,-93.23 1463.26,-81.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1464.3,-85.17 1473.38,-79.7 1462.88,-78.31 1464.3,-85.17"/>
</g>
<!-- Node39->Node3 -->
<g id="edge76" class="edge">
<title>Node39->Node3</title>
-<path fill="none" stroke="midnightblue" d="M2429.67,-705.44C2442.86,-687.62 2471,-644.84 2471,-604 2471,-604 2471,-604 2471,-378 2471,-321.29 2403.72,-289.34 2357.25,-274.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2358.27,-270.68 2347.68,-271.01 2356.16,-277.35 2358.27,-270.68"/>
+<path fill="none" stroke="midnightblue" d="M2858.58,-705.47C2872.12,-697.7 2890.79,-685 2902,-669 2965.78,-577.95 2979.35,-533.9 2957,-425 2951.56,-398.47 2951.43,-388.84 2933,-369 2884.56,-316.87 2805.39,-287.81 2754.77,-273.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2755.61,-270.27 2745.04,-271.04 2753.78,-277.03 2755.61,-270.27"/>
</g>
<!-- Node39->Node5 -->
<g id="edge74" class="edge">
<title>Node39->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2375.39,-709.89C2287.39,-702.25 2093.36,-685.15 1930,-669 1462.08,-622.74 1341.26,-637.45 878,-557 702.42,-526.51 659.46,-508.63 493,-445 289.48,-367.2 38,-480.38 38,-262.5 38,-262.5 38,-262.5 38,-193.5 38,-103.83 345.66,-80.38 478.31,-74.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="478.85,-77.92 488.69,-74 478.55,-70.93 478.85,-77.92"/>
+<path fill="none" stroke="midnightblue" d="M2835.89,-705.17C2814.98,-675.71 2742.9,-580.3 2658,-537 2577.15,-495.77 2539.9,-537.93 2457,-501 2419.97,-484.5 2408.95,-477.71 2385,-445 2303.11,-333.19 2284.37,-159.94 2280.18,-96.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2283.66,-96.28 2279.57,-86.51 2276.67,-96.7 2283.66,-96.28"/>
</g>
<!-- Node39->Node6 -->
<g id="edge75" class="edge">
<title>Node39->Node6</title>
-<path fill="none" stroke="midnightblue" d="M2375.17,-709.63C2240.11,-696.43 1845.22,-651.9 1531,-557 1286.07,-483.02 1237.51,-423.86 1028,-277 1010.15,-264.49 1009.97,-254.74 990,-246 885.55,-200.29 832.02,-271.48 736,-210 714.78,-196.41 700.91,-169.99 693.51,-152.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="696.77,-150.89 689.9,-142.83 690.24,-153.42 696.77,-150.89"/>
+<path fill="none" stroke="midnightblue" d="M2794.32,-713.52C2589.67,-710.35 1789.44,-686.1 1644,-501 1555.49,-388.35 1733.48,-301.38 1659,-179 1649.54,-163.46 1632.79,-153.05 1616.5,-146.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1617.6,-142.87 1607.01,-142.55 1615.1,-149.4 1617.6,-142.87"/>
</g>
<!-- Node39->Node17 -->
<g id="edge73" class="edge">
<title>Node39->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2470.74,-712.83C2545.21,-710.04 2693.03,-700.65 2814,-669 3059.82,-604.69 3137.88,-598.98 3340,-445 3452.33,-359.42 3418.02,-153.82 3404.39,-91.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3407.74,-90 3402.12,-81.02 3400.92,-91.55 3407.74,-90"/>
+<path fill="none" stroke="midnightblue" d="M2883.97,-705.48C3036.27,-673.98 3551,-562.34 3551,-492 3551,-492 3551,-492 3551,-378 3551,-289.15 3594.91,-264.28 3570,-179 3559.61,-143.41 3533.3,-108.4 3516.62,-88.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3519.14,-86.27 3509.93,-81.03 3513.86,-90.87 3519.14,-86.27"/>
</g>
<!-- Node39->Node22 -->
<g id="edge162" class="edge">
<title>Node39->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2470.73,-713.7C2539.34,-711.97 2669.03,-703.86 2773,-669 3023.56,-584.99 3088.01,-466.66 3151,-210 3163.1,-160.7 3123.76,-142.76 3077,-123 2979.67,-81.86 2946.07,-105.3 2842,-87 2828.68,-84.66 2814.04,-81.81 2801.4,-79.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2801.81,-75.77 2791.32,-77.2 2800.42,-82.63 2801.81,-75.77"/>
+<path fill="none" stroke="midnightblue" d="M2868.67,-705.47C2960.98,-674.11 3263.9,-555.35 3313,-333 3327.9,-265.55 3328.8,-237.46 3292,-179 3256.34,-122.34 3179.08,-93.02 3135.18,-80.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3135.88,-76.95 3125.31,-77.67 3134.02,-83.7 3135.88,-76.95"/>
</g>
<!-- Node40 -->
<g id="node40" class="node">
<title>Node40</title>
<g id="a_node40"><a xlink:href="layout_8h.html" target="_top" xlink:title="Definition of layout.">
-<polygon fill="white" stroke="black" points="2327,-649.5 2327,-668.5 2425,-668.5 2425,-649.5 2327,-649.5"/>
-<text text-anchor="middle" x="2376" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/layout.h</text>
+<polygon fill="white" stroke="black" points="2577,-649.5 2577,-668.5 2675,-668.5 2675,-649.5 2577,-649.5"/>
+<text text-anchor="middle" x="2626" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/layout.h</text>
</a>
</g>
</g>
<!-- Node39->Node40 -->
<g id="edge77" class="edge">
<title>Node39->Node40</title>
-<path fill="none" stroke="midnightblue" d="M2415.24,-705.08C2408.46,-697.3 2398.46,-685.8 2390.24,-676.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2392.82,-674 2383.62,-668.75 2387.54,-678.59 2392.82,-674"/>
+<path fill="none" stroke="midnightblue" d="M2807.77,-705.44C2770.49,-696.12 2710.73,-681.18 2669.99,-671"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2670.62,-667.55 2660.07,-668.52 2668.92,-674.34 2670.62,-667.55"/>
</g>
<!-- Node39->Node57 -->
<g id="edge161" class="edge">
<title>Node39->Node57</title>
-<path fill="none" stroke="midnightblue" d="M2470.73,-713.8C2554.21,-711.18 2728.89,-695.4 2845,-613 2909.42,-567.28 2898.79,-523.88 2903,-445 2904.8,-411.27 2910.01,-402.04 2903,-369 2901,-359.59 2896.9,-349.76 2892.93,-341.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2895.89,-339.81 2888.13,-332.59 2889.69,-343.07 2895.89,-339.81"/>
+<path fill="none" stroke="midnightblue" d="M2851.3,-705.28C2868.82,-687.85 2905,-646.69 2905,-604 2905,-604 2905,-604 2905,-546 2905,-457.93 2827.87,-373.82 2792.43,-339.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2794.46,-336.92 2784.77,-332.63 2789.67,-342.03 2794.46,-336.92"/>
</g>
<!-- Node40->Node12 -->
<g id="edge81" class="edge">
<title>Node40->Node12</title>
-<path fill="none" stroke="midnightblue" d="M2425.02,-655.82C2537.99,-649.45 2807,-626.09 2807,-548 2807,-548 2807,-548 2807,-490 2807,-477.22 2479.25,-185.06 2468,-179 2429.58,-158.29 2381.38,-146.88 2344.67,-140.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2345.07,-137.26 2334.65,-139.14 2343.97,-144.17 2345.07,-137.26"/>
+<path fill="none" stroke="midnightblue" d="M2658.16,-649.44C2741.64,-625.24 2964.54,-547.57 3048,-389 3091.48,-306.39 3113.9,-248.88 3052,-179 3031.54,-155.9 2836.15,-142.24 2737.87,-136.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2737.99,-133.28 2727.81,-136.23 2737.61,-140.27 2737.99,-133.28"/>
</g>
<!-- Node40->Node17 -->
<g id="edge78" class="edge">
<title>Node40->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2425.16,-657.28C2529.81,-655.11 2771.06,-646.52 2845,-613 2879.69,-597.28 3318.23,-171.04 3344,-143 3360.12,-125.46 3376.89,-103.83 3387.82,-89.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3390.69,-91.19 3393.82,-81.07 3385.06,-87.03 3390.69,-91.19"/>
+<path fill="none" stroke="midnightblue" d="M2665.13,-649.44C2700.68,-641.3 2754.38,-628.08 2800,-613 3026.2,-538.22 3096.72,-532.36 3287,-389 3350.64,-341.05 3380.46,-341.68 3427,-277 3470.24,-216.92 3491.2,-129.15 3498.68,-91.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3502.17,-91.54 3500.57,-81.06 3495.29,-90.24 3502.17,-91.54"/>
</g>
<!-- Node40->Node18 -->
<g id="edge80" class="edge">
<title>Node40->Node18</title>
-<path fill="none" stroke="midnightblue" d="M2326.92,-657.95C2034.34,-656.45 524.83,-631.48 290,-277 251.39,-218.72 210.77,-174.54 258,-123 266.68,-113.53 628.49,-87.09 775.17,-76.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="775.63,-80.21 785.36,-76.02 775.13,-73.23 775.63,-80.21"/>
+<path fill="none" stroke="midnightblue" d="M2576.99,-651.13C2516.02,-642.52 2408.75,-627.17 2317,-613 2011.69,-565.85 1930.42,-577.06 1631,-501 1484.55,-463.8 1452.44,-439.42 1310,-389 1171.11,-339.84 1109.05,-373.82 998,-277 942.9,-228.96 940.21,-132.17 941.76,-91.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="945.26,-91.37 942.28,-81.2 938.27,-91.01 945.26,-91.37"/>
</g>
<!-- Node41 -->
<g id="node41" class="node">
<title>Node41</title>
<g id="a_node41"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2309,-593.5 2309,-612.5 2443,-612.5 2443,-593.5 2309,-593.5"/>
-<text text-anchor="middle" x="2376" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tuple.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2412,-593.5 2412,-612.5 2546,-612.5 2546,-593.5 2412,-593.5"/>
+<text text-anchor="middle" x="2479" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tuple.h</text>
</a>
</g>
</g>
<!-- Node40->Node41 -->
<g id="edge79" class="edge">
<title>Node40->Node41</title>
-<path fill="none" stroke="midnightblue" d="M2376,-649.08C2376,-642.01 2376,-631.86 2376,-622.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2379.5,-622.75 2376,-612.75 2372.5,-622.75 2379.5,-622.75"/>
+<path fill="none" stroke="midnightblue" d="M2602.71,-649.44C2578.19,-640.44 2539.4,-626.19 2511.8,-616.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2512.78,-612.68 2502.18,-612.52 2510.36,-619.25 2512.78,-612.68"/>
</g>
<!-- Node42 -->
<g id="node42" class="node">
<title>Node42</title>
<g id="a_node42"><a xlink:href="attr__registry__map_8h.html" target="_top" xlink:title="Attribute map used in registry.">
-<polygon fill="white" stroke="black" points="1060.5,-179.5 1060.5,-209.5 1169.5,-209.5 1169.5,-179.5 1060.5,-179.5"/>
-<text text-anchor="start" x="1068.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attr_registry</text>
-<text text-anchor="middle" x="1115" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
+<polygon fill="white" stroke="black" points="332.5,-179.5 332.5,-209.5 441.5,-209.5 441.5,-179.5 332.5,-179.5"/>
+<text text-anchor="start" x="340.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attr_registry</text>
+<text text-anchor="middle" x="387" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
</a>
</g>
</g>
<!-- Node40->Node42 -->
<g id="edge82" class="edge">
<title>Node40->Node42</title>
-<path fill="none" stroke="midnightblue" d="M2326.91,-652.69C2258.44,-645.08 2130.48,-630.07 2022,-613 1675.82,-558.52 1545.92,-599.84 1266,-389 1201.85,-340.68 1150.32,-258.64 1127.59,-218.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1130.5,-216.75 1122.57,-209.73 1124.4,-220.17 1130.5,-216.75"/>
+<path fill="none" stroke="midnightblue" d="M2576.97,-657.17C2403.11,-654.01 1816.56,-641.44 1631,-613 1150.63,-539.38 1012.34,-542.85 574,-333 508.72,-301.75 443,-246.67 409.58,-216.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="411.94,-213.99 402.18,-209.85 407.23,-219.17 411.94,-213.99"/>
</g>
<!-- Node43 -->
<g id="node43" class="node">
<title>Node43</title>
<g id="a_node43"><a xlink:href="module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions.">
-<polygon fill="white" stroke="black" points="1733.5,-537.5 1733.5,-556.5 1828.5,-556.5 1828.5,-537.5 1733.5,-537.5"/>
-<text text-anchor="middle" x="1781" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
+<polygon fill="white" stroke="black" points="2083.5,-537.5 2083.5,-556.5 2178.5,-556.5 2178.5,-537.5 2083.5,-537.5"/>
+<text text-anchor="middle" x="2131" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
</a>
</g>
</g>
<!-- Node40->Node43 -->
<g id="edge86" class="edge">
<title>Node40->Node43</title>
-<path fill="none" stroke="midnightblue" d="M2329.81,-649.46C2222.07,-629.54 1954.43,-580.06 1837.35,-558.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1837.63,-554.91 1827.16,-556.53 1836.36,-561.79 1837.63,-554.91"/>
+<path fill="none" stroke="midnightblue" d="M2581.48,-649.5C2536.39,-640.78 2464.71,-626.6 2403,-613 2322.38,-595.24 2228.85,-572.39 2175.14,-559.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2175.81,-555.62 2165.26,-556.6 2174.12,-562.41 2175.81,-555.62"/>
</g>
<!-- Node55 -->
<g id="node55" class="node">
<title>Node55</title>
<g id="a_node55"><a xlink:href="exec__scope_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2167,-593.5 2167,-612.5 2291,-612.5 2291,-593.5 2167,-593.5"/>
-<text text-anchor="middle" x="2229" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/exec_scope.h</text>
+<polygon fill="white" stroke="black" points="2564,-593.5 2564,-612.5 2688,-612.5 2688,-593.5 2564,-593.5"/>
+<text text-anchor="middle" x="2626" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/exec_scope.h</text>
</a>
</g>
</g>
<!-- Node40->Node55 -->
<g id="edge149" class="edge">
<title>Node40->Node55</title>
-<path fill="none" stroke="midnightblue" d="M2352.71,-649.44C2328.19,-640.44 2289.4,-626.19 2261.8,-616.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2262.78,-612.68 2252.18,-612.52 2260.36,-619.25 2262.78,-612.68"/>
+<path fill="none" stroke="midnightblue" d="M2626,-649.08C2626,-642.01 2626,-631.86 2626,-622.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2629.5,-622.75 2626,-612.75 2622.5,-622.75 2629.5,-622.75"/>
</g>
<!-- Node40->Node57 -->
<g id="edge160" class="edge">
<title>Node40->Node57</title>
-<path fill="none" stroke="midnightblue" d="M2425.18,-656.25C2534.82,-651.89 2791.96,-638.99 2821,-613 2900.8,-541.57 2891.69,-394.51 2885.6,-342.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2889.06,-342.03 2884.31,-332.56 2882.11,-342.92 2889.06,-342.03"/>
+<path fill="none" stroke="midnightblue" d="M2645.9,-649.46C2689.79,-629.15 2791,-573.47 2791,-492 2791,-492 2791,-492 2791,-434 2791,-401.63 2784.13,-364.44 2779.39,-342.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2782.78,-341.76 2777.16,-332.78 2775.95,-343.3 2782.78,-341.76"/>
</g>
<!-- Node42->Node6 -->
<g id="edge83" class="edge">
<title>Node42->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1060.48,-185.71C1045.13,-183.53 1028.41,-181.16 1013,-179 917.53,-165.63 806.3,-150.33 741.55,-141.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="741.95,-137.98 731.57,-140.09 741,-144.92 741.95,-137.98"/>
+<path fill="none" stroke="midnightblue" d="M441.89,-188.48C477.06,-185.4 523.69,-181.57 565,-179 937.51,-155.84 1031.2,-160.98 1404,-143 1441.78,-141.18 1484.32,-138.9 1517.14,-137.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1517.65,-140.56 1527.44,-136.52 1517.26,-133.57 1517.65,-140.56"/>
</g>
<!-- Node42->Node14 -->
<g id="edge84" class="edge">
<title>Node42->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1119.48,-179.31C1125.54,-162.69 1138.07,-135.8 1159,-123 1207.06,-93.61 1602.95,-77.69 1720.32,-73.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1720.61,-77.07 1730.48,-73.23 1720.37,-70.08 1720.61,-77.07"/>
+<path fill="none" stroke="midnightblue" d="M393.82,-179.48C402.28,-163.53 418.16,-137.78 439,-123 478.86,-94.73 534.97,-81.95 570.14,-76.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="570.96,-79.84 580.34,-74.93 569.94,-72.91 570.96,-79.84"/>
</g>
<!-- Node42->Node23 -->
<g id="edge85" class="edge">
<title>Node42->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1064.07,-179.4C1028.71,-167.11 991.38,-147.42 1012,-123 1013.06,-121.74 1197.37,-91.03 1275.07,-78.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1276.01,-81.52 1285.3,-76.43 1274.86,-74.61 1276.01,-81.52"/>
+<path fill="none" stroke="midnightblue" d="M382.14,-179.14C374.67,-157.1 360.38,-114.95 352.19,-90.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="355.42,-89.4 348.9,-81.05 348.79,-91.65 355.42,-89.4"/>
</g>
<!-- Node43->Node3 -->
<g id="edge92" class="edge">
<title>Node43->Node3</title>
-<path fill="none" stroke="midnightblue" d="M1828.83,-545.83C1936.36,-544.78 2193.8,-538.32 2271,-501 2306.94,-483.62 2333,-475.92 2333,-436 2333,-436 2333,-436 2333,-378 2333,-343.4 2324.6,-303.74 2318.97,-281.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2322.29,-279.92 2316.41,-271.11 2315.51,-281.67 2322.29,-279.92"/>
+<path fill="none" stroke="midnightblue" d="M2178.98,-546.46C2312.21,-546.44 2677,-537.17 2677,-436 2677,-436 2677,-436 2677,-378 2677,-342.59 2690.37,-302.97 2699.26,-280.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2702.51,-281.86 2703.08,-271.28 2696.04,-279.2 2702.51,-281.86"/>
</g>
<!-- Node43->Node5 -->
<g id="edge89" class="edge">
<title>Node43->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1733.35,-543.64C1497.2,-531.08 453.69,-465.57 201,-277 144.14,-234.57 111.32,-175.53 159,-123 200.65,-77.12 383.12,-71.3 478.87,-71.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="478.96,-75.01 488.98,-71.56 478.99,-68.01 478.96,-75.01"/>
+<path fill="none" stroke="midnightblue" d="M2136.28,-537.23C2146.73,-519.04 2169,-475.6 2169,-436 2169,-436 2169,-436 2169,-322 2169,-231.4 2230.48,-136.82 2261.52,-94.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2264.42,-96.8 2267.64,-86.71 2258.83,-92.59 2264.42,-96.8"/>
</g>
<!-- Node43->Node6 -->
<g id="edge90" class="edge">
<title>Node43->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1733.36,-540.55C1684.86,-534.17 1607.94,-521.75 1544,-501 1377.2,-446.88 1343.32,-412.46 1187,-333 1115.19,-296.5 1104.45,-271.4 1028,-246 919.8,-210.05 877.67,-257.47 774,-210 765.88,-206.28 726.94,-170.94 704,-149.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="706.08,-146.94 696.36,-142.72 701.32,-152.08 706.08,-146.94"/>
+<path fill="none" stroke="midnightblue" d="M2083.13,-541.96C1982.66,-532.16 1759,-502.84 1759,-436 1759,-436 1759,-436 1759,-260.5 1759,-222.74 1761.93,-205.47 1735,-179 1726.66,-170.8 1665.48,-155.36 1620.51,-144.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1621.15,-141.43 1610.62,-142.59 1619.57,-148.25 1621.15,-141.43"/>
</g>
<!-- Node43->Node14 -->
<g id="edge147" class="edge">
<title>Node43->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1777.37,-537.34C1760.74,-496.54 1694.19,-319.54 1729,-179 1733.35,-161.44 1743.03,-160.4 1748,-143 1752.84,-126.06 1753.82,-105.94 1753.75,-91.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1757.25,-91.3 1753.53,-81.38 1750.25,-91.46 1757.25,-91.3"/>
+<path fill="none" stroke="midnightblue" d="M2083.24,-542.6C1997.35,-536.25 1811.19,-521.33 1655,-501 1353.88,-461.8 1280.13,-441.29 981,-389 932.48,-380.52 920.58,-377.13 872,-369 766.49,-351.34 735.41,-367.06 634,-333 584.61,-316.41 566.28,-315.35 531,-277 486.94,-229.11 485.4,-206.68 472,-143 470.17,-134.3 466.97,-130.33 472,-123 493.93,-91.04 539.17,-79.3 570.29,-74.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="570.74,-78.46 580.25,-73.8 569.9,-71.51 570.74,-78.46"/>
</g>
<!-- Node43->Node15 -->
<g id="edge91" class="edge">
<title>Node43->Node15</title>
-<path fill="none" stroke="midnightblue" d="M1786.28,-537.23C1796.73,-519.04 1819,-475.6 1819,-436 1819,-436 1819,-436 1819,-322 1819,-282.73 1832.44,-238.29 1841.02,-213.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1844.42,-214.83 1844.56,-204.24 1837.84,-212.43 1844.42,-214.83"/>
+<path fill="none" stroke="midnightblue" d="M2083.2,-539.16C2057.68,-533.15 2027.58,-521.92 2008,-501 1987.44,-479.02 1989,-466.1 1989,-436 1989,-436 1989,-436 1989,-322 1989,-274.82 1947.41,-232.41 1921.75,-210.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1923.69,-207.8 1913.73,-204.19 1919.27,-213.23 1923.69,-207.8"/>
</g>
<!-- Node43->Node16 -->
<g id="edge142" class="edge">
<title>Node43->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1828.8,-541.08C1875.24,-535.24 1947.15,-523.33 2006,-501 2052.18,-483.47 2065.18,-477.92 2102,-445 2211.87,-346.77 2174.73,-256.64 2300,-179 2315.21,-169.58 2411.87,-153.93 2480.18,-143.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2481.07,-147.19 2490.46,-142.27 2480.05,-140.27 2481.07,-147.19"/>
+<path fill="none" stroke="midnightblue" d="M2131,-537.44C2131,-518.94 2131,-473.81 2131,-436 2131,-436 2131,-436 2131,-322 2131,-244.7 2097.18,-220.56 2032,-179 2015.86,-168.71 1910.55,-152.85 1838.46,-142.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1838.9,-139.49 1828.52,-141.61 1837.96,-146.43 1838.9,-139.49"/>
</g>
<!-- Node43->Node17 -->
<g id="edge87" class="edge">
<title>Node43->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1828.54,-546.06C1986.34,-544.88 2505.29,-529.8 2903,-389 3105.12,-317.44 3149.57,-275.68 3318,-143 3341.11,-124.8 3366.65,-102.47 3382.99,-87.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3385.52,-90.3 3390.63,-81.02 3380.85,-85.09 3385.52,-90.3"/>
+<path fill="none" stroke="midnightblue" d="M2178.57,-544.96C2279.6,-542.2 2522.8,-532.55 2724,-501 2934.86,-467.93 3005.22,-494.09 3191,-389 3333.64,-308.32 3453.97,-143.18 3490.57,-89.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3493.54,-91.51 3496.25,-81.27 3487.75,-87.59 3493.54,-91.51"/>
</g>
<!-- Node43->Node22 -->
<g id="edge144" class="edge">
<title>Node43->Node22</title>
-<path fill="none" stroke="midnightblue" d="M1828.76,-544.1C1946.94,-539.08 2250.57,-524.28 2349,-501 2413.41,-485.76 2431.36,-480.85 2487,-445 2534.77,-414.22 2633.09,-309.25 2717,-210 2740.99,-181.63 2754.79,-178.09 2767,-143 2772.84,-126.21 2772.7,-105.79 2771.48,-91.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2774.93,-90.61 2770.37,-81.04 2767.97,-91.36 2774.93,-90.61"/>
+<path fill="none" stroke="midnightblue" d="M2178.51,-544.56C2293.04,-540.7 2581.75,-528.46 2674,-501 2918.59,-428.19 3056.9,-439.26 3169,-210 3185.99,-175.25 3188.38,-157.55 3171,-123 3162.82,-106.73 3146.63,-94.38 3132.11,-85.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3133.36,-82.67 3122.9,-81.01 3130.04,-88.83 3133.36,-82.67"/>
</g>
<!-- Node43->Node23 -->
<g id="edge148" class="edge">
<title>Node43->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1733.1,-539.63C1685.86,-532.42 1618.03,-519.25 1599,-501 1577.28,-480.17 1580,-466.1 1580,-436 1580,-436 1580,-436 1580,-322 1580,-194.04 1414.45,-113.69 1342.13,-84.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1343.16,-81.34 1332.58,-80.94 1340.61,-87.85 1343.16,-81.34"/>
+<path fill="none" stroke="midnightblue" d="M2083.49,-544.16C1978.96,-539.76 1721.3,-527.01 1507,-501 944.54,-432.72 615.04,-712 252,-277 201.51,-216.5 288.89,-124.42 328.27,-88.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="330.81,-90.48 335.87,-81.17 326.11,-85.29 330.81,-90.48"/>
</g>
<!-- Node43->Node24 -->
<g id="edge143" class="edge">
<title>Node43->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1828.64,-544.89C1940.62,-541.8 2217.64,-531.24 2305,-501 2433.6,-456.49 2496.35,-452.75 2561,-333 2581.64,-294.76 2569.93,-241.46 2561.41,-213.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2564.72,-212.64 2558.27,-204.23 2558.07,-214.82 2564.72,-212.64"/>
+<path fill="none" stroke="midnightblue" d="M2178.66,-545.41C2288.53,-543.46 2556.5,-535.23 2639,-501 2801.8,-433.45 2946.38,-265.88 2989.77,-212.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2992.75,-214.15 2996.27,-204.16 2987.29,-209.78 2992.75,-214.15"/>
</g>
<!-- Node43->Node33 -->
<g id="edge88" class="edge">
<title>Node43->Node33</title>
-<path fill="none" stroke="midnightblue" d="M1733.48,-540.49C1674.43,-533.26 1570.71,-519.31 1483,-501 1260.95,-454.66 1213.32,-408.75 990,-369 816.01,-338.03 762.69,-385.69 594,-333 515.58,-308.51 483.54,-287.4 456,-210 449.3,-191.16 446.33,-168.37 445.02,-152.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="448.51,-152.42 444.33,-142.69 441.53,-152.91 448.51,-152.42"/>
+<path fill="none" stroke="midnightblue" d="M2083.37,-543.4C2018.68,-538.98 1899.88,-527.74 1802,-501 1717.84,-478 1704.71,-449.6 1621,-425 1297.11,-329.82 1188.33,-405.1 876,-277 821.63,-254.7 807.05,-247.74 762,-210 740.89,-192.31 720.98,-167.37 708.9,-150.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="711.71,-148.87 703.03,-142.8 706.03,-152.96 711.71,-148.87"/>
</g>
<!-- Node43->Node37 -->
<g id="edge145" class="edge">
<title>Node43->Node37</title>
-<path fill="none" stroke="midnightblue" d="M1733.39,-541.21C1533.06,-520.52 758.74,-435.32 538,-333 442.75,-288.85 358.46,-190.63 327.05,-151.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="329.46,-148.42 320.54,-142.7 323.94,-152.73 329.46,-148.42"/>
+<path fill="none" stroke="midnightblue" d="M2083.48,-542.75C2009.99,-537.21 1864.56,-524.24 1743,-501 1615.08,-476.54 1587.33,-452.34 1460,-425 1359.52,-403.42 618.62,-350.7 547,-277 530.22,-259.73 527.93,-187.74 527.83,-152.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="531.33,-152.74 527.86,-142.73 524.33,-152.72 531.33,-152.74"/>
</g>
<!-- Node44 -->
<g id="node44" class="node">
<title>Node44</title>
<g id="a_node44"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes.">
-<polygon fill="white" stroke="black" points="1454,-369.5 1454,-388.5 1552,-388.5 1552,-369.5 1454,-369.5"/>
-<text text-anchor="middle" x="1503" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
+<polygon fill="white" stroke="black" points="1863,-369.5 1863,-388.5 1961,-388.5 1961,-369.5 1863,-369.5"/>
+<text text-anchor="middle" x="1912" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
</a>
</g>
</g>
<!-- Node43->Node44 -->
<g id="edge93" class="edge">
<title>Node43->Node44</title>
-<path fill="none" stroke="midnightblue" d="M1733.26,-540.81C1678.17,-534 1591.83,-520.58 1566,-501 1531.83,-475.1 1514.48,-425.31 1507.25,-398.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1510.64,-397.52 1504.82,-388.67 1503.85,-399.22 1510.64,-397.52"/>
+<path fill="none" stroke="midnightblue" d="M2083.46,-542.15C2049.96,-537.26 2005.76,-526.17 1975,-501 1941.96,-473.96 1924.22,-425.01 1916.61,-398.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1919.92,-397.26 1913.95,-388.51 1913.16,-399.07 1919.92,-397.26"/>
</g>
<!-- Node45 -->
<g id="node45" class="node">
<title>Node45</title>
<g id="a_node45"><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="1885,-481.5 1885,-500.5 1997,-500.5 1997,-481.5 1885,-481.5"/>
-<text text-anchor="middle" x="1941" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
+<polygon fill="white" stroke="black" points="2466,-481.5 2466,-500.5 2578,-500.5 2578,-481.5 2466,-481.5"/>
+<text text-anchor="middle" x="2522" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
</a>
</g>
</g>
<!-- Node43->Node45 -->
<g id="edge101" class="edge">
<title>Node43->Node45</title>
-<path fill="none" stroke="midnightblue" d="M1806.35,-537.44C1833.27,-528.36 1876,-513.94 1906.09,-503.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1907.41,-507.03 1915.77,-500.52 1905.17,-500.4 1907.41,-507.03"/>
+<path fill="none" stroke="midnightblue" d="M2178.55,-539.43C2247.89,-529.86 2377.03,-512.02 2455.68,-501.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2456.53,-504.58 2465.96,-499.74 2455.57,-497.64 2456.53,-504.58"/>
</g>
<!-- Node54 -->
<g id="node54" class="node">
<title>Node54</title>
<g id="a_node54"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1608,-481.5 1608,-500.5 1694,-500.5 1694,-481.5 1608,-481.5"/>
-<text text-anchor="middle" x="1651" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
+<polygon fill="white" stroke="#bfbfbf" points="2017,-481.5 2017,-500.5 2103,-500.5 2103,-481.5 2017,-481.5"/>
+<text text-anchor="middle" x="2060" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
</a>
</g>
</g>
<!-- Node43->Node54 -->
<g id="edge146" class="edge">
<title>Node43->Node54</title>
-<path fill="none" stroke="midnightblue" d="M1760.4,-537.44C1739.01,-528.56 1705.32,-514.56 1680.98,-504.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1682.08,-501.12 1671.5,-500.52 1679.39,-507.58 1682.08,-501.12"/>
+<path fill="none" stroke="midnightblue" d="M2119.59,-537.32C2108.89,-529.18 2092.66,-516.84 2079.84,-507.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2081.69,-504.1 2071.61,-500.83 2077.46,-509.67 2081.69,-504.1"/>
</g>
<!-- Node44->Node3 -->
<g id="edge98" class="edge">
<title>Node44->Node3</title>
-<path fill="none" stroke="midnightblue" d="M1552.21,-370.99C1696.82,-350.4 2119.4,-290.21 2264.45,-269.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2265,-273.01 2274.41,-268.14 2264.02,-266.08 2265,-273.01"/>
+<path fill="none" stroke="midnightblue" d="M1961.28,-370.83C2043.63,-358.85 2214.46,-334 2359,-313 2465.31,-297.56 2589.89,-279.48 2657.4,-269.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2657.94,-273.15 2667.34,-268.25 2656.94,-266.22 2657.94,-273.15"/>
</g>
<!-- Node44->Node6 -->
<g id="edge96" class="edge">
<title>Node44->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1471.14,-369.43C1438.6,-360.59 1386.65,-346.27 1342,-333 1218.72,-296.35 1191.35,-274.81 1066,-246 959.17,-221.44 924.59,-248.61 822,-210 798.23,-201.05 795.97,-191.74 774,-179 754.26,-167.56 731.32,-155.75 713.95,-147.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="715.45,-143.94 704.93,-142.65 712.35,-150.21 715.45,-143.94"/>
+<path fill="none" stroke="midnightblue" d="M1880.59,-369.47C1860.91,-362.62 1836.45,-351.09 1821,-333 1774.44,-278.48 1825.73,-227.58 1773,-179 1762.2,-169.05 1682.49,-153.34 1626.76,-143.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1627.11,-139.87 1616.66,-141.56 1625.89,-146.76 1627.11,-139.87"/>
</g>
<!-- Node44->Node17 -->
<g id="edge94" class="edge">
<title>Node44->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1552.03,-377.39C1787.35,-374.34 2795.32,-359.8 2933,-333 3080.11,-304.37 3107.33,-260.67 3233,-179 3284.44,-145.57 3345.28,-107.02 3377.44,-86.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3379.5,-89.55 3386.09,-81.26 3375.77,-83.63 3379.5,-89.55"/>
+<path fill="none" stroke="midnightblue" d="M1961.21,-376.95C2125.81,-373.24 2656.26,-359.46 2825,-333 2920,-318.1 2943.24,-308.79 3034,-277 3207.04,-216.4 3405.87,-120.28 3475.94,-85.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3477.56,-88.66 3484.95,-81.07 3474.44,-82.39 3477.56,-88.66"/>
</g>
<!-- Node44->Node22 -->
<g id="edge99" class="edge">
<title>Node44->Node22</title>
-<path fill="none" stroke="midnightblue" d="M1552.3,-374.78C1745.02,-361.59 2446.45,-307.67 2644,-210 2686.19,-189.14 2695.08,-178.48 2726,-143 2740.08,-126.84 2752.38,-105.51 2760.18,-90.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2763.43,-91.88 2764.82,-81.37 2757.19,-88.72 2763.43,-91.88"/>
+<path fill="none" stroke="midnightblue" d="M1961.16,-372.55C2035.74,-364.25 2181.92,-347.82 2306,-333 2392.36,-322.68 3011.55,-264.9 3079,-210 3114,-181.52 3110.78,-121.72 3106.42,-91.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3109.84,-90.42 3104.78,-81.11 3102.93,-91.54 3109.84,-90.42"/>
</g>
<!-- Node44->Node28 -->
<g id="edge100" class="edge">
<title>Node44->Node28</title>
-<path fill="none" stroke="midnightblue" d="M1480.12,-369.49C1446.43,-356.98 1381.44,-332.95 1326,-313 1241.75,-282.68 1222.61,-268.71 1136,-246 1091.26,-234.27 960.74,-245.42 931,-210 869.4,-136.64 1045.92,-95.06 1132.36,-79.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1133.18,-82.97 1142.43,-77.8 1131.98,-76.08 1133.18,-82.97"/>
+<path fill="none" stroke="midnightblue" d="M1909.65,-369.2C1900.84,-337.96 1866.68,-231.43 1798,-179 1747.27,-140.28 1717.96,-167.41 1659,-143 1642.8,-136.29 1640.63,-130.93 1625,-123 1596.69,-108.63 1563.35,-94.51 1539.52,-84.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1540.52,-81.49 1529.93,-81.02 1537.91,-87.99 1540.52,-81.49"/>
</g>
<!-- Node44->Node33 -->
<g id="edge95" class="edge">
<title>Node44->Node33</title>
-<path fill="none" stroke="midnightblue" d="M1453.97,-377.27C1338.81,-375.04 1042.23,-366.26 797,-333 676.42,-316.64 628.02,-347.73 529,-277 485.04,-245.6 459.95,-183.75 449.61,-152.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="452.82,-151.25 446.47,-142.78 446.15,-153.37 452.82,-151.25"/>
+<path fill="none" stroke="midnightblue" d="M1862.82,-377.56C1746.59,-375.94 1446.07,-368.38 1198,-333 1169.82,-328.98 974.55,-287.27 948,-277 856.68,-241.67 758.66,-177.06 717.28,-148.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="719.09,-145.37 708.89,-142.51 715.08,-151.11 719.09,-145.37"/>
</g>
<!-- Node44->Node34 -->
<g id="edge97" class="edge">
<title>Node44->Node34</title>
-<path fill="none" stroke="midnightblue" d="M1453.89,-373.96C1332.45,-363.98 1019.08,-338.23 896.35,-328.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="896.37,-324.63 886.12,-327.3 895.8,-331.6 896.37,-324.63"/>
+<path fill="none" stroke="midnightblue" d="M1862.83,-374.01C1740.08,-364.04 1421.16,-338.14 1297.26,-328.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1297.53,-324.59 1287.28,-327.27 1296.97,-331.57 1297.53,-324.59"/>
</g>
<!-- Node45->Node3 -->
<g id="edge103" class="edge">
<title>Node45->Node3</title>
-<path fill="none" stroke="midnightblue" d="M1990.39,-481.43C2023.23,-474.49 2066.65,-462.89 2102,-445 2188.65,-401.15 2269.28,-314.45 2300.43,-278.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2303.09,-280.87 2306.95,-271.01 2297.78,-276.32 2303.09,-280.87"/>
+<path fill="none" stroke="midnightblue" d="M2553.81,-481.39C2573.8,-474.5 2598.77,-462.97 2615,-445 2656.84,-398.67 2631.29,-366.77 2663,-313 2670.57,-300.17 2681.58,-287.53 2690.7,-278.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2693.19,-280.56 2697.79,-271.01 2688.24,-275.61 2693.19,-280.56"/>
</g>
<!-- Node45->Node5 -->
<g id="edge102" class="edge">
<title>Node45->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1884.81,-488.09C1712.3,-481.63 1175.3,-457.07 736,-389 625.19,-371.83 597.43,-365.13 490,-333 346.4,-290.06 259.57,-334.42 176,-210 154.44,-177.9 150.62,-152.17 176,-123 214.54,-78.71 386.54,-72.06 478.9,-71.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="478.94,-75.28 488.94,-71.77 478.93,-68.28 478.94,-75.28"/>
+<path fill="none" stroke="midnightblue" d="M2534.34,-481.28C2556.56,-464.45 2601,-425.14 2601,-380 2601,-380 2601,-380 2601,-322 2601,-244.45 2646.03,-233.71 2701,-179 2725.07,-155.04 2775.71,-148.26 2753,-123 2725.75,-92.69 2459.72,-79.12 2338.57,-74.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2338.48,-70.97 2328.35,-74.1 2338.22,-77.97 2338.48,-70.97"/>
</g>
<!-- Node46 -->
<g id="node46" class="node">
<title>Node46</title>
<g id="a_node46"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object.">
-<polygon fill="white" stroke="black" points="1983,-425.5 1983,-444.5 2093,-444.5 2093,-425.5 1983,-425.5"/>
-<text text-anchor="middle" x="2038" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
+<polygon fill="white" stroke="black" points="2394,-425.5 2394,-444.5 2504,-444.5 2504,-425.5 2394,-425.5"/>
+<text text-anchor="middle" x="2449" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
</a>
</g>
</g>
<!-- Node45->Node46 -->
<g id="edge104" class="edge">
<title>Node45->Node46</title>
-<path fill="none" stroke="midnightblue" d="M1956.58,-481.32C1972,-472.74 1995.81,-459.49 2013.71,-449.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2015.42,-452.58 2022.45,-444.65 2012.01,-446.46 2015.42,-452.58"/>
+<path fill="none" stroke="midnightblue" d="M2510.27,-481.32C2499.16,-473.11 2482.26,-460.6 2469.02,-450.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2471.06,-447.97 2460.94,-444.83 2466.9,-453.59 2471.06,-447.97"/>
</g>
<!-- Node46->Node3 -->
<g id="edge107" class="edge">
<title>Node46->Node3</title>
-<path fill="none" stroke="midnightblue" d="M2057,-425.4C2075.49,-416.83 2104.19,-402.96 2128,-389 2190.81,-352.16 2260.8,-301.87 2294.19,-277.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2296.65,-279.81 2302.6,-271.05 2292.48,-274.18 2296.65,-279.81"/>
+<path fill="none" stroke="midnightblue" d="M2461.23,-425.28C2489.66,-405.07 2562.54,-353.67 2625,-313 2644.56,-300.26 2667.17,-286.4 2683.69,-276.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2685.88,-279.2 2692.64,-271.04 2682.27,-273.2 2685.88,-279.2"/>
</g>
<!-- Node46->Node5 -->
<g id="edge105" class="edge">
<title>Node46->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1982.94,-434.6C1730.32,-436.49 682.62,-434.54 404,-277 321.9,-230.58 197.52,-195.37 258,-123 285.57,-90.01 405.09,-78.54 478.78,-74.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="479.05,-78.06 488.86,-74.06 478.7,-71.07 479.05,-78.06"/>
+<path fill="none" stroke="midnightblue" d="M2449,-425.44C2449,-406.94 2449,-361.81 2449,-324 2449,-324 2449,-324 2449,-260.5 2449,-223.2 2450.55,-209.44 2429,-179 2412.12,-155.15 2397.96,-159.71 2374,-143 2350.48,-126.6 2324.36,-107.12 2305.47,-92.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2307.41,-89.87 2297.33,-86.61 2303.17,-95.45 2307.41,-89.87"/>
</g>
<!-- Node46->Node7 -->
<g id="edge106" class="edge">
<title>Node46->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2042.19,-425.23C2058.88,-390.31 2120.8,-260.77 2143.55,-213.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2146.73,-214.63 2147.89,-204.1 2140.42,-211.61 2146.73,-214.63"/>
+<path fill="none" stroke="midnightblue" d="M2452.86,-425.23C2468.2,-390.38 2525.03,-261.31 2546.08,-213.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2549.39,-214.66 2550.21,-204.1 2542.98,-211.84 2549.39,-214.66"/>
</g>
<!-- Node46->Node22 -->
<g id="edge141" class="edge">
<title>Node46->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2085.04,-425.48C2196.22,-403.76 2481.07,-338.69 2683,-210 2717.99,-187.7 2727.03,-178.8 2748,-143 2757.46,-126.84 2762.98,-106.07 2765.96,-91.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2769.43,-91.75 2767.77,-81.28 2762.54,-90.5 2769.43,-91.75"/>
+<path fill="none" stroke="midnightblue" d="M2498.25,-425.5C2600.81,-406.79 2843.57,-357.22 3034,-277 3087.81,-254.33 3115.86,-259.39 3147,-210 3167.67,-177.21 3167.74,-158.84 3153,-123 3147.09,-108.63 3134.9,-96.18 3124.04,-87.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3126.16,-84.46 3116.11,-81.11 3121.88,-90 3126.16,-84.46"/>
</g>
<!-- Node46->Node44 -->
<g id="edge108" class="edge">
<title>Node46->Node44</title>
-<path fill="none" stroke="midnightblue" d="M1982.76,-428.42C1881.35,-418.19 1666.35,-396.49 1562.12,-385.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1562.38,-382.48 1552.08,-384.95 1561.68,-389.44 1562.38,-382.48"/>
+<path fill="none" stroke="midnightblue" d="M2393.55,-428.42C2291.76,-418.19 2075.96,-396.49 1971.34,-385.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1971.56,-382.47 1961.26,-384.95 1970.86,-389.44 1971.56,-382.47"/>
</g>
<!-- Node46->Node47 -->
<g id="edge109" class="edge">
<title>Node46->Node47</title>
-<path fill="none" stroke="midnightblue" d="M2093.3,-432.12C2264.15,-425.64 2781.21,-400.78 2933,-333 2960.93,-320.53 2986.71,-295.66 3001.9,-279.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3004.82,-281.03 3008.83,-271.22 2999.58,-276.39 3004.82,-281.03"/>
+<path fill="none" stroke="midnightblue" d="M2393.72,-431.43C2209.88,-422.53 1602.36,-390.45 1103,-333 1062.27,-328.31 808.39,-290.87 684.65,-272.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="684.94,-269.04 674.53,-271.04 683.91,-275.97 684.94,-269.04"/>
</g>
<!-- Node50 -->
<g id="node50" class="node">
<title>Node50</title>
<g id="a_node50"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API.">
-<polygon fill="white" stroke="black" points="1981.5,-179.5 1981.5,-209.5 2094.5,-209.5 2094.5,-179.5 1981.5,-179.5"/>
-<text text-anchor="start" x="1989.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
-<text text-anchor="middle" x="2038" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="black" points="2307.5,-179.5 2307.5,-209.5 2420.5,-209.5 2420.5,-179.5 2307.5,-179.5"/>
+<text text-anchor="start" x="2315.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
+<text text-anchor="middle" x="2364" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
</a>
</g>
</g>
<!-- Node46->Node50 -->
<g id="edge115" class="edge">
<title>Node46->Node50</title>
-<path fill="none" stroke="midnightblue" d="M2038,-425.23C2038,-391.88 2038,-272.19 2038,-220.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2041.5,-219.74 2038,-209.74 2034.5,-219.74 2041.5,-219.74"/>
+<path fill="none" stroke="midnightblue" d="M2445.87,-425.23C2433.94,-391.74 2390.98,-271.19 2372.52,-219.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2375.73,-217.98 2369.07,-209.74 2369.13,-220.33 2375.73,-217.98"/>
</g>
<!-- Node51 -->
<g id="node51" class="node">
<title>Node51</title>
<g id="a_node51"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry.">
-<polygon fill="white" stroke="black" points="1302,-252 1302,-271 1438,-271 1438,-252 1302,-252"/>
-<text text-anchor="middle" x="1370" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target_kind.h</text>
+<polygon fill="white" stroke="black" points="1329,-252 1329,-271 1465,-271 1465,-252 1329,-252"/>
+<text text-anchor="middle" x="1397" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target_kind.h</text>
</a>
</g>
</g>
<!-- Node46->Node51 -->
<g id="edge122" class="edge">
<title>Node46->Node51</title>
-<path fill="none" stroke="midnightblue" d="M2004.87,-425.5C1894.26,-397.1 1537.61,-305.53 1413.25,-273.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1413.88,-270.15 1403.33,-271.06 1412.14,-276.93 1413.88,-270.15"/>
+<path fill="none" stroke="midnightblue" d="M2393.6,-433.4C2287.89,-431.45 2050.45,-423.28 1854,-389 1692.89,-360.89 1506.63,-300.23 1431.27,-274.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1431.98,-271.01 1421.38,-271.07 1429.7,-277.63 1431.98,-271.01"/>
</g>
<!-- Node47->Node14 -->
<g id="edge113" class="edge">
<title>Node47->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2955.42,-258.52C2739.6,-251.35 2018.57,-226.29 1972,-210 1949.76,-202.22 1948.4,-192.37 1929,-179 1891.75,-153.32 1882.7,-146.44 1844,-123 1822.15,-109.77 1796.69,-95.75 1778.26,-85.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1779.79,-82.7 1769.32,-81.07 1776.49,-88.87 1779.79,-82.7"/>
+<path fill="none" stroke="midnightblue" d="M556.43,-258.95C479.23,-255.56 352.25,-244.7 323,-210 250.14,-123.55 482.31,-86.66 570.48,-75.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="570.96,-79.45 580.48,-74.81 570.14,-72.5 570.96,-79.45"/>
</g>
<!-- Node47->Node23 -->
<g id="edge114" class="edge">
<title>Node47->Node23</title>
-<path fill="none" stroke="midnightblue" d="M2955.17,-258.82C2733.1,-252.52 1976.61,-229.73 1929,-210 1910.11,-202.17 1913.67,-187.33 1895,-179 1748.97,-113.83 1693.72,-174.78 1537,-143 1465.42,-128.49 1384.32,-100.54 1340.74,-84.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1341.86,-81.21 1331.27,-81.02 1339.43,-87.78 1341.86,-81.21"/>
+<path fill="none" stroke="midnightblue" d="M556.42,-259.61C475.19,-256.98 337.5,-247.03 306,-210 275.77,-174.46 311.36,-117.12 332.52,-89.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="335.38,-91.07 338.77,-81.04 329.86,-86.77 335.38,-91.07"/>
</g>
<!-- Node47->Node30 -->
<g id="edge111" class="edge">
<title>Node47->Node30</title>
-<path fill="none" stroke="midnightblue" d="M3007.1,-251.73C2996.61,-241.4 2978.98,-224.04 2966.08,-211.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2968.34,-208.65 2958.76,-204.13 2963.43,-213.64 2968.34,-208.65"/>
+<path fill="none" stroke="midnightblue" d="M677.73,-258.13C758.08,-255.05 904.16,-249.63 1029,-246 1728,-225.7 1903.87,-250.38 2602,-210 2640.42,-207.78 2684.03,-203.58 2715.36,-200.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2715.91,-203.73 2725.48,-199.19 2715.17,-196.77 2715.91,-203.73"/>
</g>
<!-- Node48 -->
<g id="node48" class="node">
<title>Node48</title>
<g id="a_node48"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3000.5,-185 3000.5,-204 3065.5,-204 3065.5,-185 3000.5,-185"/>
-<text text-anchor="middle" x="3033" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
+<polygon fill="white" stroke="#bfbfbf" points="574.5,-185 574.5,-204 639.5,-204 639.5,-185 574.5,-185"/>
+<text text-anchor="middle" x="607" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
</a>
</g>
</g>
<!-- Node47->Node48 -->
<g id="edge110" class="edge">
<title>Node47->Node48</title>
-<path fill="none" stroke="midnightblue" d="M3018.29,-251.73C3020.82,-242.09 3024.94,-226.3 3028.19,-213.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3031.6,-214.69 3030.74,-204.13 3024.83,-212.92 3031.6,-214.69"/>
+<path fill="none" stroke="midnightblue" d="M615.65,-251.73C614.18,-242.18 611.79,-226.62 609.89,-214.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="613.31,-213.48 608.33,-204.13 606.39,-214.54 613.31,-213.48"/>
</g>
<!-- Node47->Node49 -->
<g id="edge112" class="edge">
<title>Node47->Node49</title>
-<path fill="none" stroke="midnightblue" d="M3029.08,-251.73C3045.15,-240.96 3072.63,-222.55 3091.75,-209.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3093.77,-212.6 3100.13,-204.13 3089.87,-206.79 3093.77,-212.6"/>
+<path fill="none" stroke="midnightblue" d="M677.91,-257.01C802.28,-249.7 1094.31,-231.69 1339,-210 1371.23,-207.14 1407.72,-203.18 1434.62,-200.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1435.26,-203.57 1444.8,-198.95 1434.47,-196.61 1435.26,-203.57"/>
</g>
<!-- Node50->Node6 -->
<g id="edge119" class="edge">
<title>Node50->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1981.36,-186.92C1955.12,-184.08 1923.5,-180.97 1895,-179 1450.54,-148.22 912.53,-137.54 741.76,-134.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="741.81,-131.3 731.75,-134.64 741.7,-138.3 741.81,-131.3"/>
+<path fill="none" stroke="midnightblue" d="M2307.36,-189.24C2161.08,-178.26 1772.04,-149.03 1627.28,-138.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1627.11,-134.63 1616.88,-137.37 1626.59,-141.61 1627.11,-134.63"/>
</g>
<!-- Node50->Node8 -->
<g id="edge116" class="edge">
<title>Node50->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2064.07,-179.4C2081.87,-169.77 2105.31,-157.09 2122.9,-147.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2124.86,-150.49 2131.99,-142.66 2121.53,-144.34 2124.86,-150.49"/>
+<path fill="none" stroke="midnightblue" d="M2377.75,-179.4C2386.35,-170.58 2397.45,-159.18 2406.39,-150.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2409.09,-152.26 2413.56,-142.66 2404.07,-147.38 2409.09,-152.26"/>
</g>
<!-- Node50->Node11 -->
<g id="edge117" class="edge">
<title>Node50->Node11</title>
-<path fill="none" stroke="midnightblue" d="M1994.22,-179.43C1964.54,-167.33 1933.18,-147.9 1948,-123 1959.01,-104.49 1979.43,-92.35 1998.34,-84.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1999.62,-87.88 2007.74,-81.07 1997.15,-81.33 1999.62,-87.88"/>
+<path fill="none" stroke="midnightblue" d="M2307.21,-187.96C2187.88,-176.22 1921.4,-149.35 1914,-143 1899.3,-130.37 1895.38,-107.68 1894.61,-91.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1898.1,-90.97 1894.49,-81.01 1891.1,-91.05 1898.1,-90.97"/>
</g>
<!-- Node50->Node13 -->
<g id="edge118" class="edge">
<title>Node50->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2038.71,-179.4C2039.11,-171.47 2039.62,-161.46 2040.05,-152.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2043.56,-152.82 2040.56,-142.66 2036.56,-152.47 2043.56,-152.82"/>
+<path fill="none" stroke="midnightblue" d="M2403.1,-179.4C2431.16,-169.28 2468.57,-155.79 2495.31,-146.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2496.77,-149.34 2504.99,-142.66 2494.4,-142.76 2496.77,-149.34"/>
</g>
<!-- Node50->Node19 -->
<g id="edge120" class="edge">
<title>Node50->Node19</title>
-<path fill="none" stroke="midnightblue" d="M2094.77,-180.35C2097.88,-179.84 2100.97,-179.39 2104,-179 2318.64,-151.68 2872.85,-214.69 3077,-143 3108.97,-131.77 3139.2,-105.73 3156.64,-88.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3159.59,-90.64 3164.13,-81.07 3154.61,-85.71 3159.59,-90.64"/>
+<path fill="none" stroke="midnightblue" d="M2307.33,-187.66C2185.26,-175.05 1907.65,-146.14 1898,-143 1858.53,-130.17 1817.69,-103.66 1794.41,-87.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1796.26,-84.07 1786.12,-81.02 1792.14,-89.73 1796.26,-84.07"/>
</g>
<!-- Node50->Node22 -->
<g id="edge121" class="edge">
<title>Node50->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2013.52,-179.47C1990.98,-164.86 1963.51,-141.56 1981,-123 2027.1,-74.07 2517.93,-91.64 2585,-87 2638.24,-83.32 2700.09,-78.29 2736.81,-75.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2737.25,-78.7 2746.92,-74.38 2736.66,-71.72 2737.25,-78.7"/>
+<path fill="none" stroke="midnightblue" d="M2361.34,-179.25C2359.24,-163.09 2358.8,-137.15 2374,-123 2425.54,-75.03 2935.86,-72.28 3070.54,-72.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3070.64,-75.9 3080.64,-72.41 3070.65,-68.9 3070.64,-75.9"/>
</g>
<!-- Node51->Node5 -->
<g id="edge124" class="edge">
<title>Node51->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1304.45,-251.98C1217.88,-240.45 1073.68,-220.15 1051,-210 1031.1,-201.1 1032.9,-187.89 1013,-179 918.93,-136.98 882.69,-172.59 784,-143 763.42,-136.83 760.28,-130.08 740,-123 692.96,-106.58 638.03,-93.21 597.33,-84.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="597.81,-80.88 587.3,-82.2 596.34,-87.72 597.81,-80.88"/>
+<path fill="none" stroke="midnightblue" d="M1441.99,-251.94C1523.84,-236.5 1702.61,-203.3 1854,-179 1965.71,-161.07 1996.8,-172.57 2106,-143 2154.22,-129.94 2207.04,-107.08 2241.47,-90.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2243.13,-94.02 2250.67,-86.57 2240.14,-87.69 2243.13,-94.02"/>
</g>
<!-- Node51->Node14 -->
<g id="edge139" class="edge">
<title>Node51->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1400.99,-251.87C1421.4,-244.39 1446.57,-231.34 1459,-210 1465.93,-198.09 1463.79,-191.92 1459,-179 1449.1,-152.33 1409.49,-144.6 1428,-123 1465.35,-79.39 1644.59,-73.13 1719.73,-72.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1720.06,-75.95 1730.04,-72.39 1720.02,-68.95 1720.06,-75.95"/>
+<path fill="none" stroke="midnightblue" d="M1351.22,-251.96C1340.64,-249.99 1329.43,-247.92 1319,-246 1231.03,-229.83 1208.2,-229.89 1121,-210 978.98,-177.61 945.89,-160 805,-123 745.34,-107.33 675.46,-90.11 635.5,-80.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="636.31,-76.97 625.77,-78.01 634.65,-83.77 636.31,-76.97"/>
</g>
<!-- Node51->Node18 -->
<g id="edge123" class="edge">
<title>Node51->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1351.75,-251.89C1317.97,-236.15 1243.16,-202.2 1178,-179 1123.94,-159.75 1108.86,-159.83 1054,-143 989.4,-123.18 914.54,-98.62 871.48,-84.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="872.35,-80.94 861.76,-81.11 870.15,-87.58 872.35,-80.94"/>
+<path fill="none" stroke="midnightblue" d="M1356.55,-251.99C1305.31,-240.96 1220.05,-221.78 1190,-210 1101.64,-175.36 1005.84,-114.6 964.25,-86.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="966.03,-83.92 955.77,-81.26 962.13,-89.73 966.03,-83.92"/>
</g>
<!-- Node51->Node19 -->
<g id="edge136" class="edge">
<title>Node51->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1438.03,-259.98C1624.71,-258.05 2160.55,-249.24 2604,-210 2658.85,-205.15 3045.15,-166.38 3095,-143 3121.55,-130.55 3145.3,-105.68 3159.18,-89.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3161.94,-91.21 3165.5,-81.23 3156.5,-86.81 3161.94,-91.21"/>
+<path fill="none" stroke="midnightblue" d="M1399.35,-251.93C1406.83,-226.59 1432.68,-151.97 1485,-123 1573.21,-74.16 1609.94,-105.83 1709,-87 1715.2,-85.82 1721.71,-84.5 1728.13,-83.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1729.04,-86.53 1738.07,-81 1727.56,-79.68 1729.04,-86.53"/>
</g>
<!-- Node51->Node23 -->
<g id="edge140" class="edge">
<title>Node51->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1391.72,-251.99C1408.83,-243.98 1431.5,-230.18 1442,-210 1448.36,-197.78 1450.32,-189.98 1442,-179 1406.32,-131.89 1351.33,-188.81 1314,-143 1302.4,-128.76 1302.65,-107.07 1304.87,-91.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1308.35,-91.93 1306.68,-81.46 1301.46,-90.68 1308.35,-91.93"/>
+<path fill="none" stroke="midnightblue" d="M1354.18,-251.96C1342.78,-249.85 1330.44,-247.7 1319,-246 1176.56,-224.83 1137.42,-241.92 997,-210 952.93,-199.98 846.01,-161.99 805,-143 789.09,-135.63 787.61,-128.6 771,-123 698.42,-98.54 467.13,-80.73 379.81,-74.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="379.87,-71.21 369.66,-74.03 379.4,-78.2 379.87,-71.21"/>
</g>
<!-- Node51->Node37 -->
<g id="edge138" class="edge">
<title>Node51->Node37</title>
-<path fill="none" stroke="midnightblue" d="M1301.89,-253.62C1141.39,-237.18 726.76,-193.3 370.77,-143.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="371.18,-139.73 360.79,-141.8 370.2,-146.66 371.18,-139.73"/>
+<path fill="none" stroke="midnightblue" d="M1354.6,-251.95C1343.08,-249.81 1330.59,-247.65 1319,-246 1159.37,-223.25 1117.57,-233.18 958,-210 885.45,-199.46 868.15,-191.96 796,-179 723.15,-165.91 638.93,-151.97 584.65,-143.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="584.97,-139.63 574.53,-141.48 583.84,-146.54 584.97,-139.63"/>
</g>
<!-- Node51->Node42 -->
<g id="edge125" class="edge">
<title>Node51->Node42</title>
-<path fill="none" stroke="midnightblue" d="M1336.4,-251.94C1296.59,-241.79 1229.37,-224.65 1179.42,-211.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1180.23,-208.51 1169.67,-209.44 1178.5,-215.3 1180.23,-208.51"/>
+<path fill="none" stroke="midnightblue" d="M1357.08,-252C1344.9,-249.7 1331.45,-247.45 1319,-246 985.75,-207.25 899.8,-231.62 565,-210 527.57,-207.58 485.76,-204.21 452.07,-201.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="452.16,-197.82 441.89,-200.45 451.56,-204.8 452.16,-197.82"/>
</g>
<!-- Node51->Node49 -->
<g id="edge137" class="edge">
<title>Node51->Node49</title>
-<path fill="none" stroke="midnightblue" d="M1438.12,-259.1C1745.57,-252.71 2992.55,-225.9 3074,-210 3077.44,-209.33 3080.97,-208.39 3084.44,-207.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3085.63,-210.61 3093.92,-204.01 3083.32,-204 3085.63,-210.61"/>
+<path fill="none" stroke="midnightblue" d="M1407.38,-251.73C1419.85,-241.21 1440.97,-223.38 1456.09,-210.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1458.4,-213.25 1463.78,-204.13 1453.88,-207.9 1458.4,-213.25"/>
</g>
<!-- Node52 -->
<g id="node52" class="node">
<title>Node52</title>
<g id="a_node52"><a xlink:href="config__schema_8h.html" target="_top" xlink:title="Minimal schema for dynamic config canonicalization and validation.">
-<polygon fill="white" stroke="black" points="1302.5,-185 1302.5,-204 1433.5,-204 1433.5,-185 1302.5,-185"/>
-<text text-anchor="middle" x="1368" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/config_schema.h</text>
+<polygon fill="white" stroke="black" points="1199.5,-185 1199.5,-204 1330.5,-204 1330.5,-185 1199.5,-185"/>
+<text text-anchor="middle" x="1265" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/config_schema.h</text>
</a>
</g>
</g>
<!-- Node51->Node52 -->
<g id="edge126" class="edge">
<title>Node51->Node52</title>
-<path fill="none" stroke="midnightblue" d="M1369.73,-251.73C1369.44,-242.18 1368.96,-226.62 1368.58,-214.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1372.07,-214.01 1368.27,-204.13 1365.07,-214.23 1372.07,-214.01"/>
+<path fill="none" stroke="midnightblue" d="M1379.47,-251.87C1356.99,-240.8 1317.77,-221.49 1291.6,-208.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1293.12,-205.44 1282.6,-204.17 1290.03,-211.72 1293.12,-205.44"/>
</g>
<!-- Node52->Node5 -->
<g id="edge129" class="edge">
<title>Node52->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1309.64,-184.99C1157.6,-162.83 750.53,-103.48 597.37,-81.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="597.63,-77.66 587.22,-79.68 596.62,-84.58 597.63,-77.66"/>
+<path fill="none" stroke="midnightblue" d="M1330.74,-187.49C1362.52,-184.7 1401.23,-181.46 1436,-179 1576.76,-169.04 1933.13,-177.37 2070,-143 2090.44,-137.87 2093.31,-130.53 2113,-123 2147.93,-109.64 2188.03,-97.36 2220.06,-88.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2221.05,-91.61 2229.73,-85.53 2219.15,-84.87 2221.05,-91.61"/>
</g>
<!-- Node52->Node14 -->
<g id="edge134" class="edge">
<title>Node52->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1367.93,-185C1368.3,-169.96 1371.42,-138.75 1390,-123 1439.42,-81.1 1639.97,-73.9 1719.89,-72.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1720.39,-76.21 1730.34,-72.58 1720.3,-69.21 1720.39,-76.21"/>
+<path fill="none" stroke="midnightblue" d="M1216.73,-184.99C1171.32,-176.41 1101.74,-161.77 1043,-143 1020.99,-135.97 1017.33,-128.97 995,-123 864.76,-88.15 703.52,-77.05 635.59,-73.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="635.66,-70.27 625.51,-73.31 635.34,-77.26 635.66,-70.27"/>
</g>
<!-- Node52->Node18 -->
<g id="edge128" class="edge">
<title>Node52->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1329.59,-185C1284.61,-175.02 1207.87,-157.95 1142,-143 1050.03,-122.13 942.63,-97.27 882.64,-83.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="883.25,-79.9 872.72,-81.04 881.67,-86.71 883.25,-79.9"/>
+<path fill="none" stroke="midnightblue" d="M1242.36,-184.99C1186.26,-163.91 1040.66,-109.2 975.44,-84.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="976.64,-81.4 966.05,-81.16 974.18,-87.96 976.64,-81.4"/>
</g>
<!-- Node52->Node22 -->
<g id="edge131" class="edge">
<title>Node52->Node22</title>
-<path fill="none" stroke="midnightblue" d="M1430.92,-184.95C1540.6,-170.31 1774.02,-140.35 1972,-123 2243.87,-99.17 2312.73,-105.72 2585,-87 2638.25,-83.34 2700.09,-78.3 2736.81,-75.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2737.25,-78.71 2746.92,-74.38 2736.66,-71.73 2737.25,-78.71"/>
+<path fill="none" stroke="midnightblue" d="M1330.74,-187.45C1362.52,-184.64 1401.22,-181.41 1436,-179 1733.49,-158.4 1808.45,-162.75 2106,-143 2218.55,-135.53 2246.51,-131.26 2359,-123 2634.28,-102.78 2967.08,-81.21 3070.66,-74.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3071.02,-78.05 3080.78,-73.92 3070.57,-71.06 3071.02,-78.05"/>
</g>
<!-- Node52->Node23 -->
<g id="edge135" class="edge">
<title>Node52->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1327.02,-184.95C1267.67,-172.38 1164.25,-149.67 1159,-143 1153.5,-136.02 1153.81,-130.22 1159,-123 1172.79,-103.81 1235.78,-87.6 1275.62,-79.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1276.38,-82.46 1285.45,-76.98 1274.94,-75.61 1276.38,-82.46"/>
+<path fill="none" stroke="midnightblue" d="M1214.05,-184.97C1129.31,-170.94 953.99,-142.6 805,-123 646.34,-102.12 456.04,-83.1 379.91,-75.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="380.22,-72.25 369.94,-74.77 379.55,-79.21 380.22,-72.25"/>
</g>
<!-- Node52->Node28 -->
<g id="edge132" class="edge">
<title>Node52->Node28</title>
-<path fill="none" stroke="midnightblue" d="M1325.2,-184.96C1263.55,-172.45 1156.46,-149.88 1151,-143 1138.39,-127.11 1150.69,-104.52 1162.29,-89.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1165.25,-91.13 1168.85,-81.17 1159.82,-86.71 1165.25,-91.13"/>
+<path fill="none" stroke="midnightblue" d="M1270.68,-184.69C1280.78,-169.73 1303.34,-139.39 1330,-123 1371.15,-97.7 1425.37,-84.7 1463.11,-78.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1463.97,-81.68 1473.29,-76.64 1462.86,-74.77 1463.97,-81.68"/>
</g>
<!-- Node52->Node33 -->
<g id="edge127" class="edge">
<title>Node52->Node33</title>
-<path fill="none" stroke="midnightblue" d="M1302.07,-188.23C1265.52,-185.36 1219.25,-181.84 1178,-179 937.8,-162.47 653.17,-145.87 519.92,-138.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="520,-134.78 509.82,-137.7 519.6,-141.77 520,-134.78"/>
+<path fill="none" stroke="midnightblue" d="M1199.29,-186.62C1093.24,-175.51 884.92,-153.69 772.77,-141.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="772.87,-138.43 762.56,-140.87 772.14,-145.39 772.87,-138.43"/>
</g>
<!-- Node52->Node37 -->
<g id="edge133" class="edge">
<title>Node52->Node37</title>
-<path fill="none" stroke="midnightblue" d="M1302.09,-187.95C1265.54,-185.01 1219.28,-181.49 1178,-179 822.08,-157.5 728.72,-179.71 370.88,-143.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="371.06,-139.58 360.76,-142.04 370.35,-146.54 371.06,-139.58"/>
+<path fill="none" stroke="midnightblue" d="M1199.25,-188.71C1082.83,-180.14 832.84,-161.37 622,-143 610.01,-141.95 597.16,-140.77 584.93,-139.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="585.13,-136.11 574.84,-138.64 584.46,-143.08 585.13,-136.11"/>
</g>
<!-- Node53 -->
<g id="node53" class="node">
<title>Node53</title>
<g id="a_node53"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1168,-123.5 1168,-142.5 1224,-142.5 1224,-123.5 1168,-123.5"/>
-<text text-anchor="middle" x="1196" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="1339,-123.5 1339,-142.5 1395,-142.5 1395,-123.5 1339,-123.5"/>
+<text text-anchor="middle" x="1367" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
</a>
</g>
</g>
<!-- Node52->Node53 -->
<g id="edge130" class="edge">
<title>Node52->Node53</title>
-<path fill="none" stroke="midnightblue" d="M1343.36,-184.98C1313.72,-174.72 1263.82,-157.46 1230.4,-145.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1231.19,-142.47 1220.6,-142.51 1228.9,-149.09 1231.19,-142.47"/>
+<path fill="none" stroke="midnightblue" d="M1279.61,-184.98C1296.35,-175.21 1324,-159.08 1343.72,-147.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1345.54,-150.57 1352.41,-142.51 1342.01,-144.52 1345.54,-150.57"/>
</g>
<!-- Node55->Node14 -->
<g id="edge159" class="edge">
<title>Node55->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2210.33,-593.5C2144.15,-562.28 1919.37,-446.88 1820,-277 1800.87,-244.3 1770,-135.06 1758,-91.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1761.37,-90.13 1755.37,-81.39 1754.61,-91.96 1761.37,-90.13"/>
+<path fill="none" stroke="midnightblue" d="M2563.68,-593.92C2560.75,-593.59 2557.84,-593.29 2555,-593 2341.7,-571.51 2287.57,-575.54 2074,-557 1590.92,-515.07 1453.75,-548.96 996,-389 889.42,-351.76 861.21,-340.71 768,-277 731.64,-252.15 644.86,-180.64 622,-143 612.35,-127.11 607.52,-106.3 605.16,-91.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="608.61,-90.8 603.79,-81.36 601.67,-91.74 608.61,-90.8"/>
</g>
<!-- Node55->Node22 -->
<g id="edge158" class="edge">
<title>Node55->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2247.92,-593.44C2295.03,-571.75 2420.58,-511.61 2515,-445 2602.32,-383.4 2614.4,-355.41 2687,-277 2736.95,-223.05 2765.24,-214.09 2784,-143 2788.68,-125.28 2783.09,-104.76 2777.46,-90.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2780.66,-89.04 2773.49,-81.25 2774.24,-91.82 2780.66,-89.04"/>
+<path fill="none" stroke="midnightblue" d="M2671.73,-593.45C2823.2,-563.85 3299,-460.06 3299,-324 3299,-324 3299,-324 3299,-260.5 3299,-170.21 3189.32,-109.8 3134.06,-85.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3135.29,-81.81 3124.72,-81.03 3132.5,-88.23 3135.29,-81.81"/>
</g>
<!-- Node55->Node43 -->
<g id="edge151" class="edge">
<title>Node55->Node43</title>
-<path fill="none" stroke="midnightblue" d="M2166.71,-594.49C2079.81,-584.02 1923.4,-565.16 1838.91,-554.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1839.07,-551.47 1828.72,-553.75 1838.23,-558.42 1839.07,-551.47"/>
+<path fill="none" stroke="midnightblue" d="M2563.67,-594.03C2560.74,-593.67 2557.84,-593.33 2555,-593 2424.2,-577.77 2270.45,-561.98 2188.8,-553.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2189.03,-550.26 2178.73,-552.75 2188.32,-557.23 2189.03,-550.26"/>
</g>
<!-- Node56 -->
<g id="node56" class="node">
<title>Node56</title>
<g id="a_node56"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2157,-537.5 2157,-556.5 2301,-556.5 2301,-537.5 2157,-537.5"/>
-<text text-anchor="middle" x="2229" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/variant.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2505,-537.5 2505,-556.5 2649,-556.5 2649,-537.5 2505,-537.5"/>
+<text text-anchor="middle" x="2577" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/variant.h</text>
</a>
</g>
</g>
<!-- Node55->Node56 -->
<g id="edge150" class="edge">
<title>Node55->Node56</title>
-<path fill="none" stroke="midnightblue" d="M2229,-593.08C2229,-586.01 2229,-575.86 2229,-566.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2232.5,-566.75 2229,-556.75 2225.5,-566.75 2232.5,-566.75"/>
+<path fill="none" stroke="midnightblue" d="M2617.91,-593.08C2610.84,-585.3 2600.41,-573.8 2591.85,-564.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2594.25,-561.8 2584.94,-556.75 2589.07,-566.51 2594.25,-561.8"/>
</g>
<!-- Node55->Node57 -->
<g id="edge152" class="edge">
<title>Node55->Node57</title>
-<path fill="none" stroke="midnightblue" d="M2291.32,-593.96C2294.25,-593.63 2297.16,-593.31 2300,-593 2390.28,-583.29 2627.58,-601.01 2707,-557 2753.56,-531.2 2842.16,-390.94 2872.5,-341.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2875.56,-343.08 2877.77,-332.72 2869.58,-339.44 2875.56,-343.08"/>
+<path fill="none" stroke="midnightblue" d="M2640.3,-593.4C2665.46,-577.06 2715,-538.92 2715,-492 2715,-492 2715,-492 2715,-434 2715,-396.88 2741.65,-360.38 2759.43,-340.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2762.24,-342.28 2766.4,-332.53 2757.07,-337.55 2762.24,-342.28"/>
</g>
<!-- Node57->Node3 -->
<g id="edge154" class="edge">
<title>Node57->Node3</title>
-<path fill="none" stroke="midnightblue" d="M2841.16,-317.62C2738.48,-306.89 2474.37,-279.27 2363.83,-267.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2363.93,-264.2 2353.62,-266.64 2363.2,-271.16 2363.93,-264.2"/>
+<path fill="none" stroke="midnightblue" d="M2765.26,-313.48C2754.65,-304.2 2737.48,-289.17 2724.52,-277.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2726.56,-274.96 2716.72,-271.01 2721.95,-280.23 2726.56,-274.96"/>
</g>
<!-- Node57->Node15 -->
<g id="edge153" class="edge">
<title>Node57->Node15</title>
-<path fill="none" stroke="midnightblue" d="M2841.25,-314.94C2753.01,-300.23 2540.96,-266.02 2362,-246 2157.76,-223.15 2103.46,-245.27 1901,-210 1895.85,-209.1 1890.47,-207.92 1885.2,-206.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1885.85,-203.18 1875.28,-204.02 1884.07,-209.95 1885.85,-203.18"/>
+<path fill="none" stroke="midnightblue" d="M2733.39,-318.7C2611.75,-308.55 2246.61,-274.51 1950,-210 1945.84,-209.09 1941.51,-208.01 1937.24,-206.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1938.04,-203.42 1927.46,-204.01 1936.1,-210.15 1938.04,-203.42"/>
</g>
<!-- Node57->Node22 -->
<g id="edge157" class="edge">
<title>Node57->Node22</title>
-<path fill="none" stroke="midnightblue" d="M2881.51,-313.41C2880.02,-304.38 2877.85,-289.74 2877,-277 2876.09,-263.25 2876.93,-259.78 2877,-246 2877.22,-200.22 2877.78,-188.78 2878,-143 2878.04,-134.11 2882.79,-130.49 2878,-123 2861.22,-96.74 2826.9,-83.93 2801.23,-77.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2801.69,-74.34 2791.18,-75.65 2800.22,-81.18 2801.69,-74.34"/>
+<path fill="none" stroke="midnightblue" d="M2816.59,-314.1C2899.66,-297.47 3081.73,-256.53 3123,-210 3148.94,-180.75 3147.16,-160.47 3136,-123 3132.29,-110.52 3124.4,-98.26 3117.27,-88.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3119.84,-86.56 3110.82,-81 3114.41,-90.97 3119.84,-86.56"/>
</g>
<!-- Node57->Node25 -->
<g id="edge155" class="edge">
<title>Node57->Node25</title>
-<path fill="none" stroke="midnightblue" d="M2882,-313.23C2879.72,-289.14 2876.6,-220.97 2908,-179 2919.58,-163.52 2937.94,-153.04 2955.15,-146.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2956.38,-149.4 2964.54,-142.64 2953.95,-142.84 2956.38,-149.4"/>
+<path fill="none" stroke="midnightblue" d="M2752.03,-313.46C2728.37,-304.58 2690.46,-290.18 2658,-277 2632.36,-266.59 2455.79,-185.94 2429,-179 2306.85,-147.35 2160.06,-137.82 2071.5,-135.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2071.35,-131.52 2061.26,-134.73 2071.15,-138.52 2071.35,-131.52"/>
</g>
<!-- Node57->Node30 -->
<g id="edge156" class="edge">
<title>Node57->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2887.61,-313.31C2898.51,-292.72 2926.07,-240.69 2940.64,-213.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2943.78,-214.73 2945.36,-204.26 2937.59,-211.45 2943.78,-214.73"/>
+<path fill="none" stroke="midnightblue" d="M2773.83,-313.31C2771.1,-292.99 2764.26,-242.05 2760.52,-214.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2763.98,-213.7 2759.18,-204.26 2757.04,-214.63 2763.98,-213.7"/>
</g>
</g>
</svg>
diff --git a/docs/reference/api/doxygen/analyzer_8h_source.html b/docs/reference/api/doxygen/analyzer_8h_source.html
index 445481512c4..c929959fc9c 100644
--- a/docs/reference/api/doxygen/analyzer_8h_source.html
+++ b/docs/reference/api/doxygen/analyzer_8h_source.html
@@ -92,442 +92,458 @@ $(function() {
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#define TVM_ARITH_ANALYZER_H_</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="int__set_8h.html">tvm/arith/int_set.h</a>></span></div>
-<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <tvm/ffi/reflection/registry.h></span></div>
-<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="ir_2expr_8h.html">tvm/ir/expr.h</a>></span></div>
-<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="code" href="with__context_8h.html">tvm/ir/with_context.h</a>></span></div>
-<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  </div>
-<div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <limits></span></div>
-<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <memory></span></div>
-<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <unordered_map></span></div>
-<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <vector></span></div>
-<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  </div>
-<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="namespacetvm.html"> 37</a></span> <span class="keyword">namespace </span><a class="code" href="namespacetvm.html">tvm</a> {</div>
-<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html"> 39</a></span> <span class="keyword">namespace </span>arith {</div>
-<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment">//-------------------------------------------------------</span></div>
-<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// Base integer analysis API.</span></div>
-<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">//</span></div>
-<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// We have multiple type of analyzers to do relaxed</span></div>
-<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// integer set analysis(bound analysis, modulo) and</span></div>
-<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// equivalence checking and simplification.</span></div>
-<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">//</span></div>
-<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// Importantly, each analyzer may need result from</span></div>
-<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// another analyzer.</span></div>
-<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">//-------------------------------------------------------</span></div>
-<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div>
-<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// Forward declare Analyzer</span></div>
-<div class="line"><a name="l00052"></a><span class="lineno"> 52</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  </div>
-<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">using</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">tirx::Var</a>;</div>
-<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  </div>
-<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422"> 56</a></span> <span class="keyword">enum</span> <a class="code" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422">DivMode</a> {</div>
-<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432"> 58</a></span>  <a class="code" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432">kTruncDiv</a>,</div>
-<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <a class="code" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20">kFloorDiv</a></div>
-<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20"> 61</a></span> };</div>
-<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  </div>
-<div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339"> 70</a></span> <span class="keyword">enum class</span> <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339">ProofStrength</a> : int {</div>
-<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339a6867faeaa475fda467e48267db2bb8a8">kDefault</a> = 0,</div>
-<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339a3f67e3bf6c5ae9efc290f80011f65b80">kSymbolicBound</a> = 1,</div>
-<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> };</div>
-<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  </div>
-<div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html"> 85</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> : <span class="keyword">public</span> ffi::Object {</div>
-<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3"> 87</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3">min_value</a>;</div>
-<div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92"> 88</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92">max_value</a>;</div>
-<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  </div>
-<div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#aca33f0ba1ee62694fc839b215cf6c50d"> 90</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#aca33f0ba1ee62694fc839b215cf6c50d">RegisterReflection</a>() {</div>
-<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  refl::ObjectDef<ConstIntBoundNode>()</div>
-<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  .def_ro(<span class="stringliteral">"min_value"</span>, &<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3">ConstIntBoundNode::min_value</a>)</div>
-<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  .def_ro(<span class="stringliteral">"max_value"</span>, &<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92">ConstIntBoundNode::max_value</a>);</div>
-<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  }</div>
-<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  </div>
-<div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62"> 98</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">kPosInf</a> = <a class="code" href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">std::numeric_limits<int64 [...]
-<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e"> 103</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e">kNegInf</a> = -<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">k [...]
-<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  </div>
-<div class="line"><a name="l00105"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a752addf2fa5702290ea6b3cdfa8d7bf6"> 105</a></span>  <span class="keyword">static</span> constexpr TVMFFISEqHashKind <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a752addf2fa5702290ea6b3cdfa8d7bf6">_type_s_eq_hash_kind</a> = kTVMFFISEqHashKindTreeNode;</div>
-<div class="line"><a name="l00106"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ad44212e4427821c0488dad282ccb260c"> 106</a></span>  <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ad44212e4427821c0488dad282ccb260c">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">"arith.ConstIntBound"</span>, <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a>, ffi::Objec [...]
-<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> };</div>
+<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <tvm/ffi/cast.h></span></div>
+<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <tvm/ffi/reflection/registry.h></span></div>
+<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include <<a class="code" href="ir_2expr_8h.html">tvm/ir/expr.h</a>></span></div>
+<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="preprocessor">#include <<a class="code" href="with__context_8h.html">tvm/ir/with_context.h</a>></span></div>
+<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  </div>
+<div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <limits></span></div>
+<div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <memory></span></div>
+<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <unordered_map></span></div>
+<div class="line"><a name="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#include <utility></span></div>
+<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include <vector></span></div>
+<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
+<div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacetvm.html"> 39</a></span> <span class="keyword">namespace </span><a class="code" href="namespacetvm.html">tvm</a> {</div>
+<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html"> 41</a></span> <span class="keyword">namespace </span>arith {</div>
+<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment">//-------------------------------------------------------</span></div>
+<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// Base integer analysis API.</span></div>
+<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// We have multiple type of analyzers to do relaxed</span></div>
+<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// integer set analysis(bound analysis, modulo) and</span></div>
+<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment">// equivalence checking and simplification.</span></div>
+<div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="comment">//</span></div>
+<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// Importantly, each analyzer may need result from</span></div>
+<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// another analyzer.</span></div>
+<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> <span class="comment">//-------------------------------------------------------</span></div>
+<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  </div>
+<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> <span class="comment">// Forward declare the analyzer object and its reference handle.</span></div>
+<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
+<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
+<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
+<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">using</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">tirx::Var</a>;</div>
+<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  </div>
+<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422"> 60</a></span> <span class="keyword">enum</span> <a class="code" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422">DivMode</a> {</div>
+<div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432"> 62</a></span>  <a class="code" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432">kTruncDiv</a>,</div>
+<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="code" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20">kFloorDiv</a></div>
+<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20"> 65</a></span> };</div>
+<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  </div>
+<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339"> 74</a></span> <span class="keyword">enum class</span> <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339">ProofStrength</a> : int {</div>
+<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339a6867faeaa475fda467e48267db2bb8a8">kDefault</a> = 0,</div>
+<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339a3f67e3bf6c5ae9efc290f80011f65b80">kSymbolicBound</a> = 1,</div>
+<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> };</div>
+<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  </div>
+<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html"> 89</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a> : <span class="keyword">public</span> ffi::Object {</div>
+<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3"> 91</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3">min_value</a>;</div>
+<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92"> 92</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92">max_value</a>;</div>
+<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  </div>
+<div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#aca33f0ba1ee62694fc839b215cf6c50d"> 94</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#aca33f0ba1ee62694fc839b215cf6c50d">RegisterReflection</a>() {</div>
+<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  refl::ObjectDef<ConstIntBoundNode>()</div>
+<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  .def_ro(<span class="stringliteral">"min_value"</span>, &<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3">ConstIntBoundNode::min_value</a>)</div>
+<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  .def_ro(<span class="stringliteral">"max_value"</span>, &<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92">ConstIntBoundNode::max_value</a>);</div>
+<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
+<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  </div>
+<div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62"> 102</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">kPosInf</a> = <a class="code" href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">std::numeric_limits<int64 [...]
+<div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e"> 107</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e">kNegInf</a> = -<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">k [...]
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  </div>
-<div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html"> 113</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
-<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#aefb417203cf5c5996d7ed664051aaba3"> 120</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#aefb417203cf5c5996d7ed664051aaba3">ConstIntBound</a>(int64_t <a class="code" href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">min_value</a>, int64_t <a class="code" href="namespacetvm.html#a4f1398024c0af23699447ef910b654b8">max_val [...]
-<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  </div>
-<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#af2dbef4ddb3a0895bab046d18ff85ab8"> 122</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#af2dbef4ddb3a0895bab046d18ff85ab8">kPosInf</a> = <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">ConstIntBo [...]
-<div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#ac2368aa444fafe5f030ac2674148c5fa"> 123</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#ac2368aa444fafe5f030ac2674148c5fa">kNegInf</a> = <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e">ConstIntBo [...]
-<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#a3005b4ef003296d7bef02190f5932928"> 124</a></span>  <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#a3005b4ef003296d7bef02190f5932928">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(<a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a>, ffi::ObjectRef, <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">Co [...]
-<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> };</div>
-<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div>
-<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html"> 130</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> {</div>
-<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a6fe7daaad2636c1058dc9427c421fbfb"> 132</a></span>  <span class="keyword">using</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a6fe7daaad2636c1058dc9427c421fbfb">BoundMapType</a> =</div>
-<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  std::unordered_map<PrimExpr, ConstIntBound, ffi::ObjectPtrHash, ffi::ObjectPtrEqual>;</div>
-<div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#add50f8cc72f7fbf50e456d31f045d24c"> 139</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#add50f8cc72f7fbf50e456d31f045d24c">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</ [...]
-<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  </div>
-<div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#aa24f8d56b331e1b9c6ed315877c4e0a2"> 147</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#aa24f8d56b331e1b9c6ed315877c4e0a2">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</ [...]
-<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
-<div class="line"><a name="l00156"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7"> 156</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te. [...]
-<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div>
-<div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a7107c1d182a3ac72336d83ab50d9d1c3"> 165</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a7107c1d182a3ac72336d83ab50d9d1c3">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.ht [...]
-<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div>
-<div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a0ec2252806be6e7abbba172b7d802e50"> 172</a></span>  TVM_DLL <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a0ec2252806be6e7abbba172b7d802e50">IsBound</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te [...]
-<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  </div>
-<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a88d594816df596eed10643082b0d0805"> 175</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 176</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
-<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* parent);</div>
-<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a>();</div>
-<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  std::function<void()> EnterConstraint(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
-<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keyword">struct </span>Entry;</div>
-<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keyword">class </span>Impl;</div>
-<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  Impl* impl_;</div>
-<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> };</div>
-<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  </div>
-<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html"> 204</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a> : <span class="keyword">public</span> ffi::Object {</div>
-<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6"> 207</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6">coeff</a>;</div>
-<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad"> 209</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad">base</a>;</div>
-<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  </div>
-<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#a680e547835e5062f0c88e0f982bcc805"> 211</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#a680e547835e5062f0c88e0f982bcc805">RegisterReflection</a>() {</div>
-<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  refl::ObjectDef<ModularSetNode>()</div>
-<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  .def_ro(<span class="stringliteral">"coeff"</span>, &<a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6">ModularSetNode::coeff</a>)</div>
-<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  .def_ro(<span class="stringliteral">"base"</span>, &<a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad">ModularSetNode::base</a>);</div>
-<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div>
-<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  </div>
-<div class="line"><a name="l00218"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#ac08e3992efa956f31feaf12cd360b578"> 218</a></span>  <span class="keyword">static</span> constexpr TVMFFISEqHashKind <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#ac08e3992efa956f31feaf12cd360b578">_type_s_eq_hash_kind</a> = kTVMFFISEqHashKindTreeNode;</div>
-<div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#ab5e5f8aa92fe0e785bd24ae47f29fd4e"> 219</a></span>  <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#ab5e5f8aa92fe0e785bd24ae47f29fd4e">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">"arith.ModularSet"</span>, <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a>, ffi::Object);</div>
-<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> };</div>
+<div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a752addf2fa5702290ea6b3cdfa8d7bf6"> 109</a></span>  <span class="keyword">static</span> constexpr TVMFFISEqHashKind <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a752addf2fa5702290ea6b3cdfa8d7bf6">_type_s_eq_hash_kind</a> = kTVMFFISEqHashKindTreeNode;</div>
+<div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ad44212e4427821c0488dad282ccb260c"> 110</a></span>  <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ad44212e4427821c0488dad282ccb260c">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">"arith.ConstIntBound"</span>, <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">ConstIntBoundNode</a>, ffi::Objec [...]
+<div class="line"><a name="l00111"></a><span class="lineno"> 111</span> };</div>
+<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  </div>
+<div class="line"><a name="l00117"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html"> 117</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
+<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#aefb417203cf5c5996d7ed664051aaba3"> 124</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#aefb417203cf5c5996d7ed664051aaba3">ConstIntBound</a>(int64_t <a class="code" href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">min_value</a>, int64_t <a class="code" href="namespacetvm.html#a4f1398024c0af23699447ef910b654b8">max_val [...]
+<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  </div>
+<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#af2dbef4ddb3a0895bab046d18ff85ab8"> 126</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#af2dbef4ddb3a0895bab046d18ff85ab8">kPosInf</a> = <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">ConstIntBo [...]
+<div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#ac2368aa444fafe5f030ac2674148c5fa"> 127</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> constexpr int64_t <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#ac2368aa444fafe5f030ac2674148c5fa">kNegInf</a> = <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e">ConstIntBo [...]
+<div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBound.html#a3005b4ef003296d7bef02190f5932928"> 128</a></span>  <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html#a3005b4ef003296d7bef02190f5932928">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(<a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a>, ffi::ObjectRef, <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundNode.html">Co [...]
+<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> };</div>
+<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div>
+<div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html"> 134</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> {</div>
+<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a6fe7daaad2636c1058dc9427c421fbfb"> 136</a></span>  <span class="keyword">using</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a6fe7daaad2636c1058dc9427c421fbfb">BoundMapType</a> =</div>
+<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  std::unordered_map<PrimExpr, ConstIntBound, ffi::ObjectPtrHash, ffi::ObjectPtrEqual>;</div>
+<div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#add50f8cc72f7fbf50e456d31f045d24c"> 143</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#add50f8cc72f7fbf50e456d31f045d24c">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</ [...]
+<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  </div>
+<div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#aa24f8d56b331e1b9c6ed315877c4e0a2"> 151</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ConstIntBound.html">ConstIntBound</a> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#aa24f8d56b331e1b9c6ed315877c4e0a2">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</ [...]
+<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div>
+<div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7"> 160</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te. [...]
+<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  </div>
+<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a7107c1d182a3ac72336d83ab50d9d1c3"> 169</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a7107c1d182a3ac72336d83ab50d9d1c3">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.ht [...]
+<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  </div>
+<div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a0ec2252806be6e7abbba172b7d802e50"> 176</a></span>  TVM_DLL <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a0ec2252806be6e7abbba172b7d802e50">IsBound</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te [...]
+<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  </div>
+<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#ab502b81f91a3692606541f1ec44911de"> 179</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 180</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
+<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a>(<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>* parent);</div>
+<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a>();</div>
+<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  std::function<void()> EnterConstraint(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
+<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keyword">struct </span>Entry;</div>
+<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keyword">class </span>Impl;</div>
+<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  Impl* impl_;</div>
+<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> };</div>
+<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  </div>
+<div class="line"><a name="l00208"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html"> 208</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a> : <span class="keyword">public</span> ffi::Object {</div>
+<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6"> 211</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6">coeff</a>;</div>
+<div class="line"><a name="l00213"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad"> 213</a></span>  int64_t <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad">base</a>;</div>
+<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  </div>
+<div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#a680e547835e5062f0c88e0f982bcc805"> 215</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#a680e547835e5062f0c88e0f982bcc805">RegisterReflection</a>() {</div>
+<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  refl::ObjectDef<ModularSetNode>()</div>
+<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  .def_ro(<span class="stringliteral">"coeff"</span>, &<a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6">ModularSetNode::coeff</a>)</div>
+<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  .def_ro(<span class="stringliteral">"base"</span>, &<a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad">ModularSetNode::base</a>);</div>
+<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  </div>
-<div class="line"><a name="l00226"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSet.html"> 226</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
-<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00228"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500"> 228</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500">ModularSet</a>(int64_t coeff, int64_t base);</div>
-<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  </div>
-<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSet.html#a476321601d927da2e672e36eec8ec444"> 230</a></span>  <a class="code" href="classtvm_1_1arith_1_1ModularSet.html#a476321601d927da2e672e36eec8ec444">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(<a class="code" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a>, ffi::ObjectRef, <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a [...]
-<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> };</div>
-<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  </div>
-<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html"> 236</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> {</div>
-<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a57c3c62ebc821f5f01bc2b43f06488da"> 243</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a57c3c62ebc821f5f01bc2b43f06488da">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr [...]
-<div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d"> 251</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#a [...]
-<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  </div>
-<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a88d594816df596eed10643082b0d0805"> 254</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 255</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
-<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* parent);</div>
-<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a>();</div>
-<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  std::function<void()> EnterConstraint(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
-<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keyword">struct </span>Entry;</div>
-<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">class </span>Impl;</div>
-<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  Impl* impl_;</div>
-<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> };</div>
-<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
-<div class="line"><a name="l00274"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html"> 274</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a> {</div>
-<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00281"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#af91d307afc0c857751171a68d6d2b043"> 281</a></span>  TVM_DLL <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#af91d307afc0c857751171a68d6d2b043">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr);</div>
-<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  </div>
-<div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b"> 290</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0 [...]
-<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  </div>
-<div class="line"><a name="l00298"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a01dda385f4e0bb0e1155c76c2d28cb96"> 298</a></span>  TVM_DLL std::function<void()> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a01dda385f4e0bb0e1155c76c2d28cb96">EnterConstraint</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
-<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  </div>
-<div class="line"><a name="l00312"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e"> 312</a></span>  <span class="keyword">enum</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">Extension</a> {</div>
-<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="comment">// No extensions enabled</span></div>
-<div class="line"><a name="l00314"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b"> 314</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b">kNone</a> = 0,</div>
-<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  </div>
-<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <span class="comment">/* When simplifying an inequality, attempt to use scope-based knowns.</span></div>
-<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> * Example:</span></div>
-<div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> * if_then_else(i<j && j<k, i<k, false) => if_then_else(i<j && j<k, true, false)</span></div>
-<div class="line"><a name="l00320"></a><span class="lineno"> 320</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568"> 321</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568">kTransitivelyProveInequalities</a> = (1 << 0),</div>
-<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  </div>
-<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="comment">/* When simplifying a boolean expression, convert to an AND of ORs</span></div>
-<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> * (conjunctive normal form).</span></div>
-<div class="line"><a name="l00325"></a><span class="lineno"> 325</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="comment"> * Example:</span></div>
-<div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="comment"> * (a && b) || c => (a || c) && (b || c)</span></div>
-<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00329"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e"> 329</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e">kConvertBooleanToAndOfOrs</a> = (1 << 1),</div>
-<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  </div>
-<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <span class="comment">/* When simplifying a boolean AND or a boolean OR, simplify each</span></div>
-<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> * branch under the assumption that the other branch does not</span></div>
-<div class="line"><a name="l00333"></a><span class="lineno"> 333</span> <span class="comment"> * already dominate the result. That is, simplify each branch of</span></div>
-<div class="line"><a name="l00334"></a><span class="lineno"> 334</span> <span class="comment"> * (A && B) under the assumption that the other branch is true,</span></div>
-<div class="line"><a name="l00335"></a><span class="lineno"> 335</span> <span class="comment"> * and simplify each branch of (A || B) under the assumption that</span></div>
-<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"> * the other branch is false.</span></div>
-<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> * Example:</span></div>
-<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> * (n < 10) && (n < 5) => (n < 10)</span></div>
-<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> * (n < 10) || (n < 5) => (n < 5)</span></div>
-<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00342"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b"> 342</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b">kApplyConstraintsToBooleanBranches</a> = (1 << 2),</div>
-<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  </div>
-<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <span class="comment">/* Special handling for expressions `(A+B)*C < (A*B)*D`</span></div>
-<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> * Expressions of the form `(A+B)*C < (A*B)*D` can occur occur</span></div>
-<div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> * when comparing the number of operations required for two</span></div>
-<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> <span class="comment"> * different orderings in which matrix multiplications can be</span></div>
-<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"> * performed. Proving or disproving this conditional allows an</span></div>
-<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> * optimal order of execution to be selected, even for dynamic</span></div>
-<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> * argument shapes.</span></div>
-<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> * The default behavior of `ConstIntBounds` assumes that each term</span></div>
-<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> * in an expression is independent, and is insufficient to prove</span></div>
-<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> * these inequalities. For example, the maximum value of `(A+B)*C</span></div>
-<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> * - (A*B)*D` is determined by taking the maximum value of</span></div>
-<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> * `(A+B)*C` and subtracting the minimum value of `(A*B)*D`.</span></div>
-<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> * While this algorithm can be applied in all cases, the bound it</span></div>
-<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> * provides is looser than strictly required.</span></div>
-<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> * This extension adds a check for this case. When `A`, `B`, `C`,</span></div>
-<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> * and `D` are all positive values, as is the case for tensor</span></div>
-<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> * shapes, the inequality can be written as `1/A + 1/B < D/C`. If</span></div>
-<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> * this inequality holds for the minimum values of `A`, `B`, and</span></div>
-<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> * `D`, along with the maximum value of `C`, then the inequality</span></div>
-<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> * holds for all values.</span></div>
-<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> * This extension requires little to no performance overhead, and</span></div>
-<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> * may be enabled by default in future releases.</span></div>
-<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23"> 371</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23">kComparisonOfProductAndSum</a> = (1 << 3),</div>
-<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  };</div>
-<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  </div>
-<div class="line"><a name="l00379"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a44b7c12d6a5d9adfc4ee4cee8d935e38"> 379</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a44b7c12d6a5d9adfc4ee4cee8d935e38">SetEnabledExtensions</a>(<a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">Extension</a> flags);</div>
-<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  </div>
-<div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a2066e6d9a5b71d482c73542d0ca8c7a3"> 382</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">Extension</a> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a2066e6d9a5b71d482c73542d0ca8c7a3">GetEnabledExtensions</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  </div>
-<div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a418674df0487f883db23b9ebe208f598"> 385</a></span>  TVM_DLL ffi::ObjectRef <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a418674df0487f883db23b9ebe208f598">GetStatsCounters</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  </div>
-<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#aef5b3e9793a5b459c9f457efef179e4f"> 388</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#aef5b3e9793a5b459c9f457efef179e4f">ResetStatsCounters</a>();</div>
-<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  </div>
-<div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a95dd28018de6b7aa1a5a7ee76f3ba178"> 403</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a95dd28018de6b7aa1a5a7ee76f3ba178">SetMaximumRewriteSteps</a>(int64_t <a class="code" href="namespacetvm_1_1tirx.html#ae97ec08fd3edb5b1a83e46171c4a7939">maximum</a>);</div>
-<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  </div>
-<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a88d594816df596eed10643082b0d0805"> 406</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 407</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
-<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#abd092d074e3063da6d7bb0c67115a33f"> 408</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a>;</div>
-<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* parent);</div>
-<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a>();</div>
-<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keyword">class </span>Impl;</div>
-<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  Impl* impl_;</div>
-<div class="line"><a name="l00414"></a><span class="lineno"> 414</span> };</div>
-<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  </div>
-<div class="line"><a name="l00419"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html"> 419</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> {</div>
-<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a2ed4ed7990499ee188e69967afb511c6"> 426</a></span>  TVM_DLL <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a2ed4ed7990499ee188e69967afb511c6">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr);</div>
-<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  </div>
-<div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940297b860c509"> 435</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940297b860c509">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html [...]
-<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  </div>
-<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a88d594816df596eed10643082b0d0805"> 438</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 439</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
-<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* parent);</div>
-<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a>();</div>
-<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">class </span>Impl;</div>
-<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  Impl* impl_;</div>
-<div class="line"><a name="l00445"></a><span class="lineno"> 445</span> };</div>
-<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  </div>
-<div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0"> 452</a></span> <span class="keyword">enum class</span> <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> : int {</div>
-<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0af9f8d006118de5ad04dd7c000b8f3b91">kInconsistent</a> = 0,</div>
-<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a7db2fe13b438b1005c70fcc9ab826b3b">kEQ</a> = 1,</div>
-<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0add0f23f162dcf68bf7bc761ac13040ae">kLT</a> = 2,</div>
-<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a1893df55d7fc768f2336fdcb7c7b9c37">kLE</a> = 3,</div>
-<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0aa3d18adb9a64157d6708f8ba39dfcdbc">kGT</a> = 4,</div>
-<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0ac0275be4f85005f8ef340d3d5be8d361">kGE</a> = 5,</div>
-<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a03e3ad128c41e04acc6a0e59fdf11a58">kNE</a> = 6,</div>
-<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="namespacetvm_1_1arith.html#aca8806e355ad3dd5f1df9c1eca9aac9da8812c1a077255594d23bc1c2f3af3979">kUnknown</a> = 7</div>
-<div class="line"><a name="l00461"></a><span class="lineno"> 461</span> };</div>
-<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  </div>
-<div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe"> 463</a></span> <span class="keyword">inline</span> constexpr <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> <a class="code" href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe">operator&</a>(<a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f [...]
-<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(lhs) & <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(rhs));</div>
-<div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div>
-<div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#a660ff1fdbb08fea19a922157cadad7a7"> 466</a></span> <span class="keyword">inline</span> constexpr <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> <a class="code" href="namespacetvm_1_1arith.html#a660ff1fdbb08fea19a922157cadad7a7">operator|</a>(<a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69 [...]
-<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(lhs) | <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(rhs));</div>
-<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div>
-<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  </div>
-<div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html"> 476</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a> {</div>
-<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="comment">/* \brief Using previously specified knowns, compare the expressions provided</span></div>
-<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00480"></a><span class="lineno"> 480</span> <span class="comment"> * \param lhs The left-hand side of the comparison</span></div>
-<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="comment"> * \param rhs The right-hand side of the comparison</span></div>
-<div class="line"><a name="l00483"></a><span class="lineno"> 483</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> * \param propagate_inequalities If true, attempt to find a sequence</span></div>
-<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> * of transitive inequalities that allow the lhs and rhs to be</span></div>
-<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> * compared. If false, only use the known comparison that have been</span></div>
-<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> * directly provided. Using `propagate_inequalities = false` is</span></div>
-<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> * roughly equivalent to comparing against all known inequality</span></div>
-<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> * expressions using `ExprDeepEqual`, but also allows for constant</span></div>
-<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> * offsets on either side of the inequality.</span></div>
-<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> *</span></div>
-<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> * \return The most specific result that can be proven about the</span></div>
-<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> * comparison. If nothing can be proven, returns kUnknown.</span></div>
-<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ad00ac744402de84c7c3d6f2f46a6f7c7"> 495</a></span>  TVM_DLL <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ad00ac744402de84c7c3d6f2f46a6f7c7">TryCompare</a>(<span class="keyword">const</span> <a class="code" href="cl [...]
-<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordtype">bool</span> propagate_inequalities = <span class="keyword">true</span>);</div>
-<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  </div>
-<div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab397bc32c73753205e70d63b71738779"> 504</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab397bc32c73753205e70d63b71738779">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespa [...]
-<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  </div>
-<div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#a1a57e873676402922a7af5b8e1991f00"> 512</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#a1a57e873676402922a7af5b8e1991f00">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespa [...]
-<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  </div>
-<div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab0c67cf201be8b57460cc155e5ff352a"> 520</a></span>  TVM_DLL std::function<void()> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab0c67cf201be8b57460cc155e5ff352a">EnterConstraint</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
-<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  </div>
-<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#a88d594816df596eed10643082b0d0805"> 523</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 524</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
-<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a>();</div>
-<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a>();</div>
-<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keyword">class </span>Impl;</div>
-<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstraintContext.html#acf0da349a64c42ae689d9459ae09f0e3"> 529</a></span>  std::unique_ptr<Impl> impl_;</div>
-<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> };</div>
-<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  </div>
-<div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstraintContext.html"> 548</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> {</div>
-<div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="comment">// declare friend to enable with.</span></div>
-<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1With.html">With</a><<a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>>;</div>
-<div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* analyzer, <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> constraint)</div>
-<div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  : analyzer_(analyzer), constraint_(constraint) {}</div>
-<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="comment">// enter the scope.</span></div>
-<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordtype">void</span> EnterWithScope();</div>
-<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="comment">// exit the scope.</span></div>
-<div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordtype">void</span> ExitWithScope();</div>
-<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* analyzer_;</div>
-<div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> constraint_;</div>
-<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  std::vector<std::function<void()>> recovery_functions_;</div>
-<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> };</div>
+<div class="line"><a name="l00222"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#ac08e3992efa956f31feaf12cd360b578"> 222</a></span>  <span class="keyword">static</span> constexpr TVMFFISEqHashKind <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#ac08e3992efa956f31feaf12cd360b578">_type_s_eq_hash_kind</a> = kTVMFFISEqHashKindTreeNode;</div>
+<div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetNode.html#ab5e5f8aa92fe0e785bd24ae47f29fd4e"> 223</a></span>  <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html#ab5e5f8aa92fe0e785bd24ae47f29fd4e">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">"arith.ModularSet"</span>, <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a>, ffi::Object);</div>
+<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> };</div>
+<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  </div>
+<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSet.html"> 230</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
+<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00232"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500"> 232</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500">ModularSet</a>(int64_t coeff, int64_t base);</div>
+<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  </div>
+<div class="line"><a name="l00234"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSet.html#a476321601d927da2e672e36eec8ec444"> 234</a></span>  <a class="code" href="classtvm_1_1arith_1_1ModularSet.html#a476321601d927da2e672e36eec8ec444">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(<a class="code" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a>, ffi::ObjectRef, <a class="code" href="classtvm_1_1arith_1_1ModularSetNode.html">ModularSetNode</a [...]
+<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> };</div>
+<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
+<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html"> 240</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> {</div>
+<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a57c3c62ebc821f5f01bc2b43f06488da"> 247</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1ModularSet.html">ModularSet</a> <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a57c3c62ebc821f5f01bc2b43f06488da">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr [...]
+<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d"> 255</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#a [...]
+<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  </div>
+<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00258"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#ab502b81f91a3692606541f1ec44911de"> 258</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00259"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 259</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
+<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a>(<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>* parent);</div>
+<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a>();</div>
+<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  std::function<void()> EnterConstraint(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
+<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keyword">struct </span>Entry;</div>
+<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keyword">class </span>Impl;</div>
+<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  Impl* impl_;</div>
+<div class="line"><a name="l00273"></a><span class="lineno"> 273</span> };</div>
+<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  </div>
+<div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html"> 278</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a> {</div>
+<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#af91d307afc0c857751171a68d6d2b043"> 285</a></span>  TVM_DLL <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#af91d307afc0c857751171a68d6d2b043">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr);</div>
+<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  </div>
+<div class="line"><a name="l00294"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b"> 294</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0 [...]
+<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  </div>
+<div class="line"><a name="l00302"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a01dda385f4e0bb0e1155c76c2d28cb96"> 302</a></span>  TVM_DLL std::function<void()> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a01dda385f4e0bb0e1155c76c2d28cb96">EnterConstraint</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
+<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  </div>
+<div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e"> 316</a></span>  <span class="keyword">enum</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">Extension</a> {</div>
+<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="comment">// No extensions enabled</span></div>
+<div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b"> 318</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b">kNone</a> = 0,</div>
+<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  </div>
+<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="comment">/* When simplifying an inequality, attempt to use scope-based knowns.</span></div>
+<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00322"></a><span class="lineno"> 322</span> <span class="comment"> * Example:</span></div>
+<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> <span class="comment"> * if_then_else(i<j && j<k, i<k, false) => if_then_else(i<j && j<k, true, false)</span></div>
+<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568"> 325</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568">kTransitivelyProveInequalities</a> = (1 << 0),</div>
+<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  </div>
+<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="comment">/* When simplifying a boolean expression, convert to an AND of ORs</span></div>
+<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> <span class="comment"> * (conjunctive normal form).</span></div>
+<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> * Example:</span></div>
+<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * (a && b) || c => (a || c) && (b || c)</span></div>
+<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00333"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e"> 333</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e">kConvertBooleanToAndOfOrs</a> = (1 << 1),</div>
+<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  </div>
+<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="comment">/* When simplifying a boolean AND or a boolean OR, simplify each</span></div>
+<div class="line"><a name="l00336"></a><span class="lineno"> 336</span> <span class="comment"> * branch under the assumption that the other branch does not</span></div>
+<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> <span class="comment"> * already dominate the result. That is, simplify each branch of</span></div>
+<div class="line"><a name="l00338"></a><span class="lineno"> 338</span> <span class="comment"> * (A && B) under the assumption that the other branch is true,</span></div>
+<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> <span class="comment"> * and simplify each branch of (A || B) under the assumption that</span></div>
+<div class="line"><a name="l00340"></a><span class="lineno"> 340</span> <span class="comment"> * the other branch is false.</span></div>
+<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00342"></a><span class="lineno"> 342</span> <span class="comment"> * Example:</span></div>
+<div class="line"><a name="l00343"></a><span class="lineno"> 343</span> <span class="comment"> * (n < 10) && (n < 5) => (n < 10)</span></div>
+<div class="line"><a name="l00344"></a><span class="lineno"> 344</span> <span class="comment"> * (n < 10) || (n < 5) => (n < 5)</span></div>
+<div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00346"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b"> 346</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b">kApplyConstraintsToBooleanBranches</a> = (1 << 2),</div>
+<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  </div>
+<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="comment">/* Special handling for expressions `(A+B)*C < (A*B)*D`</span></div>
+<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> <span class="comment"> * Expressions of the form `(A+B)*C < (A*B)*D` can occur occur</span></div>
+<div class="line"><a name="l00351"></a><span class="lineno"> 351</span> <span class="comment"> * when comparing the number of operations required for two</span></div>
+<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> <span class="comment"> * different orderings in which matrix multiplications can be</span></div>
+<div class="line"><a name="l00353"></a><span class="lineno"> 353</span> <span class="comment"> * performed. Proving or disproving this conditional allows an</span></div>
+<div class="line"><a name="l00354"></a><span class="lineno"> 354</span> <span class="comment"> * optimal order of execution to be selected, even for dynamic</span></div>
+<div class="line"><a name="l00355"></a><span class="lineno"> 355</span> <span class="comment"> * argument shapes.</span></div>
+<div class="line"><a name="l00356"></a><span class="lineno"> 356</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> <span class="comment"> * The default behavior of `ConstIntBounds` assumes that each term</span></div>
+<div class="line"><a name="l00358"></a><span class="lineno"> 358</span> <span class="comment"> * in an expression is independent, and is insufficient to prove</span></div>
+<div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="comment"> * these inequalities. For example, the maximum value of `(A+B)*C</span></div>
+<div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="comment"> * - (A*B)*D` is determined by taking the maximum value of</span></div>
+<div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="comment"> * `(A+B)*C` and subtracting the minimum value of `(A*B)*D`.</span></div>
+<div class="line"><a name="l00362"></a><span class="lineno"> 362</span> <span class="comment"> * While this algorithm can be applied in all cases, the bound it</span></div>
+<div class="line"><a name="l00363"></a><span class="lineno"> 363</span> <span class="comment"> * provides is looser than strictly required.</span></div>
+<div class="line"><a name="l00364"></a><span class="lineno"> 364</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00365"></a><span class="lineno"> 365</span> <span class="comment"> * This extension adds a check for this case. When `A`, `B`, `C`,</span></div>
+<div class="line"><a name="l00366"></a><span class="lineno"> 366</span> <span class="comment"> * and `D` are all positive values, as is the case for tensor</span></div>
+<div class="line"><a name="l00367"></a><span class="lineno"> 367</span> <span class="comment"> * shapes, the inequality can be written as `1/A + 1/B < D/C`. If</span></div>
+<div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="comment"> * this inequality holds for the minimum values of `A`, `B`, and</span></div>
+<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="comment"> * `D`, along with the maximum value of `C`, then the inequality</span></div>
+<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> <span class="comment"> * holds for all values.</span></div>
+<div class="line"><a name="l00371"></a><span class="lineno"> 371</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> <span class="comment"> * This extension requires little to no performance overhead, and</span></div>
+<div class="line"><a name="l00373"></a><span class="lineno"> 373</span> <span class="comment"> * may be enabled by default in future releases.</span></div>
+<div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00375"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23"> 375</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23">kComparisonOfProductAndSum</a> = (1 << 3),</div>
+<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  };</div>
+<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  </div>
+<div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a44b7c12d6a5d9adfc4ee4cee8d935e38"> 383</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a44b7c12d6a5d9adfc4ee4cee8d935e38">SetEnabledExtensions</a>(<a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">Extension</a> flags);</div>
+<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  </div>
+<div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a2066e6d9a5b71d482c73542d0ca8c7a3"> 386</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">Extension</a> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a2066e6d9a5b71d482c73542d0ca8c7a3">GetEnabledExtensions</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  </div>
+<div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a418674df0487f883db23b9ebe208f598"> 389</a></span>  TVM_DLL ffi::ObjectRef <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a418674df0487f883db23b9ebe208f598">GetStatsCounters</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  </div>
+<div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#aef5b3e9793a5b459c9f457efef179e4f"> 392</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#aef5b3e9793a5b459c9f457efef179e4f">ResetStatsCounters</a>();</div>
+<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  </div>
+<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a95dd28018de6b7aa1a5a7ee76f3ba178"> 408</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html#a95dd28018de6b7aa1a5a7ee76f3ba178">SetMaximumRewriteSteps</a>(int64_t <a class="code" href="namespacetvm_1_1tirx.html#ae97ec08fd3edb5b1a83e46171c4a7939">maximum</a>);</div>
+<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  </div>
+<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#ab502b81f91a3692606541f1ec44911de"> 411</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 412</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
+<div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1RewriteSimplifier.html#abd092d074e3063da6d7bb0c67115a33f"> 413</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a>;</div>
+<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a>(<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>* parent);</div>
+<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a>();</div>
+<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">class </span>Impl;</div>
+<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  Impl* impl_;</div>
+<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> };</div>
+<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  </div>
+<div class="line"><a name="l00424"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html"> 424</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> {</div>
+<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a2ed4ed7990499ee188e69967afb511c6"> 431</a></span>  TVM_DLL <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a2ed4ed7990499ee188e69967afb511c6">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr);</div>
+<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  </div>
+<div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940297b860c509"> 440</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940297b860c509">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html [...]
+<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  </div>
+<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#ab502b81f91a3692606541f1ec44911de"> 443</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1CanonicalSimplifier.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 444</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
+<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a>(<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>* parent);</div>
+<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a>();</div>
+<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keyword">class </span>Impl;</div>
+<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  Impl* impl_;</div>
+<div class="line"><a name="l00450"></a><span class="lineno"> 450</span> };</div>
+<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  </div>
+<div class="line"><a name="l00457"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0"> 457</a></span> <span class="keyword">enum class</span> <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> : int {</div>
+<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0af9f8d006118de5ad04dd7c000b8f3b91">kInconsistent</a> = 0,</div>
+<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a7db2fe13b438b1005c70fcc9ab826b3b">kEQ</a> = 1,</div>
+<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0add0f23f162dcf68bf7bc761ac13040ae">kLT</a> = 2,</div>
+<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a1893df55d7fc768f2336fdcb7c7b9c37">kLE</a> = 3,</div>
+<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0aa3d18adb9a64157d6708f8ba39dfcdbc">kGT</a> = 4,</div>
+<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0ac0275be4f85005f8ef340d3d5be8d361">kGE</a> = 5,</div>
+<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a03e3ad128c41e04acc6a0e59fdf11a58">kNE</a> = 6,</div>
+<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="namespacetvm_1_1arith.html#aca8806e355ad3dd5f1df9c1eca9aac9da8812c1a077255594d23bc1c2f3af3979">kUnknown</a> = 7</div>
+<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> };</div>
+<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  </div>
+<div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe"> 468</a></span> <span class="keyword">inline</span> constexpr <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> <a class="code" href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe">operator&</a>(<a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f [...]
+<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(lhs) & <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(rhs));</div>
+<div class="line"><a name="l00470"></a><span class="lineno"> 470</span> }</div>
+<div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="namespacetvm_1_1arith.html#a660ff1fdbb08fea19a922157cadad7a7"> 471</a></span> <span class="keyword">inline</span> constexpr <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> <a class="code" href="namespacetvm_1_1arith.html#a660ff1fdbb08fea19a922157cadad7a7">operator|</a>(<a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69 [...]
+<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keywordflow">return</span> <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a>(<span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(lhs) | <span class="keyword">static_cast<</span><span class="keywordtype">int</span><span class="keyword">></span>(rhs));</div>
+<div class="line"><a name="l00473"></a><span class="lineno"> 473</span> }</div>
+<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  </div>
+<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html"> 481</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a> {</div>
+<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="comment">/* \brief Using previously specified knowns, compare the expressions provided</span></div>
+<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="comment"> * \param lhs The left-hand side of the comparison</span></div>
+<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> <span class="comment"> * \param rhs The right-hand side of the comparison</span></div>
+<div class="line"><a name="l00488"></a><span class="lineno"> 488</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> <span class="comment"> * \param propagate_inequalities If true, attempt to find a sequence</span></div>
+<div class="line"><a name="l00490"></a><span class="lineno"> 490</span> <span class="comment"> * of transitive inequalities that allow the lhs and rhs to be</span></div>
+<div class="line"><a name="l00491"></a><span class="lineno"> 491</span> <span class="comment"> * compared. If false, only use the known comparison that have been</span></div>
+<div class="line"><a name="l00492"></a><span class="lineno"> 492</span> <span class="comment"> * directly provided. Using `propagate_inequalities = false` is</span></div>
+<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="comment"> * roughly equivalent to comparing against all known inequality</span></div>
+<div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <span class="comment"> * expressions using `ExprDeepEqual`, but also allows for constant</span></div>
+<div class="line"><a name="l00495"></a><span class="lineno"> 495</span> <span class="comment"> * offsets on either side of the inequality.</span></div>
+<div class="line"><a name="l00496"></a><span class="lineno"> 496</span> <span class="comment"> *</span></div>
+<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="comment"> * \return The most specific result that can be proven about the</span></div>
+<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> <span class="comment"> * comparison. If nothing can be proven, returns kUnknown.</span></div>
+<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> <span class="comment"> */</span></div>
+<div class="line"><a name="l00500"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ad00ac744402de84c7c3d6f2f46a6f7c7"> 500</a></span>  TVM_DLL <a class="code" href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">CompareResult</a> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ad00ac744402de84c7c3d6f2f46a6f7c7">TryCompare</a>(<span class="keyword">const</span> <a class="code" href="cl [...]
+<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordtype">bool</span> propagate_inequalities = <span class="keyword">true</span>);</div>
+<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  </div>
+<div class="line"><a name="l00509"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab397bc32c73753205e70d63b71738779"> 509</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab397bc32c73753205e70d63b71738779">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespa [...]
+<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  </div>
+<div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#a1a57e873676402922a7af5b8e1991f00"> 517</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#a1a57e873676402922a7af5b8e1991f00">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespa [...]
+<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  </div>
+<div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab0c67cf201be8b57460cc155e5ff352a"> 525</a></span>  TVM_DLL std::function<void()> <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab0c67cf201be8b57460cc155e5ff352a">EnterConstraint</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
+<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  </div>
+<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab502b81f91a3692606541f1ec44911de"> 528</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab8bf22547cf1df0a28fc4ee98841ab89"> 529</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>;</div>
+<div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a>();</div>
+<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a>();</div>
+<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keyword">class </span>Impl;</div>
+<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  std::unique_ptr<Impl> impl_;</div>
+<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> };</div>
+<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  </div>
+<div class="line"><a name="l00540"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html"> 540</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> {</div>
+<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00550"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab84b89220625f2b2bc7c69c860e42155"> 550</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab84b89220625f2b2bc7c69c860e42155">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, <span class="k [...]
+<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  </div>
+<div class="line"><a name="l00560"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#af4274caf7f5a6af64fbafc2f2465f591"> 560</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#af4274caf7f5a6af64fbafc2f2465f591">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr);</div>
+<div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  </div>
+<div class="line"><a name="l00569"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a9a201c941931807b4b88eedc4f8c03f4"> 569</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a9a201c941931807b4b88eedc4f8c03f4">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f84 [...]
<div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  </div>
-<div class="line"><a name="l00574"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html"> 574</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> {</div>
-<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00584"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab84b89220625f2b2bc7c69c860e42155"> 584</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab84b89220625f2b2bc7c69c860e42155">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, <span class="k [...]
-<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  </div>
-<div class="line"><a name="l00594"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#af4274caf7f5a6af64fbafc2f2465f591"> 594</a></span>  TVM_DLL <a class="code" href="classtvm_1_1arith_1_1IntSet.html">IntSet</a> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#af4274caf7f5a6af64fbafc2f2465f591">operator()</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr);</div>
-<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  </div>
-<div class="line"><a name="l00603"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a9a201c941931807b4b88eedc4f8c03f4"> 603</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a9a201c941931807b4b88eedc4f8c03f4">Update</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f84 [...]
-<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  </div>
-<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab0ded402c93fc89cba57015b6f3f4d8d"> 612</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab0ded402c93fc89cba57015b6f3f4d8d">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f8471 [...]
-<div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  </div>
-<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a096433dd7bde50f73eed4854af8b6111"> 614</a></span>  std::function<void()> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a096433dd7bde50f73eed4854af8b6111">EnterConstraint</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
-<div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  </div>
-<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keyword">private</span>:</div>
-<div class="line"><a name="l00617"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a88d594816df596eed10643082b0d0805"> 617</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>;</div>
-<div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>* parent);</div>
-<div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a>();</div>
-<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keyword">class </span>Impl;</div>
-<div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  Impl* impl_;</div>
-<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> };</div>
-<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  </div>
-<div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html"> 635</a></span> <span class="keyword">class </span>TVM_DLL <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> {</div>
-<div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keyword">public</span>:</div>
-<div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  <span class="comment">/*</span></div>
-<div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="comment"> * Disable copy constructor.</span></div>
-<div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="comment"> */</span></div>
-<div class="line"><a name="l00640"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#af33491068003d13952289cd296ba63af"> 640</a></span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#af33491068003d13952289cd296ba63af">Analyzer</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>&) = <span class="keyword">delete</span>;</div>
-<div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a9dccc7d98b8b9465390e10436d3a9178"> 641</a></span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>& <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a9dccc7d98b8b9465390e10436d3a9178">operator=</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>&) = <span class="keyword [...]
-<div class="line"><a name="l00643"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a435eba3ac3a839d3c53b74acfdc10146"> 643</a></span>  <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a435eba3ac3a839d3c53b74acfdc10146">const_int_bound</a>;</div>
-<div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#acac92a9522deabe289fea99efbd9eaec"> 645</a></span>  <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#acac92a9522deabe289fea99efbd9eaec">modular_set</a>;</div>
-<div class="line"><a name="l00647"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#acc86c6e8c04cb0de4ff9d78e769924b2"> 647</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#acc86c6e8c04cb0de4ff9d78e769924b2">rewrite_simplify</a>;</div>
-<div class="line"><a name="l00649"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a6cdf29adeceaa20b8c3dd7c26b92cd00"> 649</a></span>  <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a6cdf29adeceaa20b8c3dd7c26b92cd00">canonical_simplify</a>;</div>
-<div class="line"><a name="l00651"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a0d054ea2ea5b7e99f0883c00672ec831"> 651</a></span>  <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a0d054ea2ea5b7e99f0883c00672ec831">int_set</a>;</div>
-<div class="line"><a name="l00653"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a23e266bcb0d9b5ca6cc01c691271db72"> 653</a></span>  <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a23e266bcb0d9b5ca6cc01c691271db72">transitive_comparisons</a>;</div>
-<div class="line"><a name="l00655"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#ae8568eeee02c68849e468f8c19a2701d"> 655</a></span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#ae8568eeee02c68849e468f8c19a2701d">Analyzer</a>();</div>
-<div class="line"><a name="l00671"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a98d3fc802f7de0ea645cea47aa20c66f"> 671</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a98d3fc802f7de0ea645cea47aa20c66f">MarkGlobalNonNegValue</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& value);</div>
-<div class="line"><a name="l00684"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a675ba44dc7d70ef5606e4147919da9f2"> 684</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a675ba44dc7d70ef5606e4147919da9f2">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838 [...]
-<div class="line"><a name="l00697"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a20c4bae46db46362ba6bca4c1d368345"> 697</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a20c4bae46db46362ba6bca4c1d368345">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838 [...]
-<div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a0c3f8b7ad1804e4dc8d4ca451ddc35b9"> 706</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a0c3f8b7ad1804e4dc8d4ca451ddc35b9">Bind</a>(<span class="keyword">const</span> ffi::Map<Var, Range>& variables, <span class="keywordtype">bool</span> allow_override = <span class="keyword">false</span>);</div>
-<div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a5e97e3abc176f85a5b8e5d0d1cb9f5e1"> 719</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a5e97e3abc176f85a5b8e5d0d1cb9f5e1">CanProveGreaterEqual</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, int64_t lower_bound);</div>
-<div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#adb7ace66382583595724d79cc1504638"> 732</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#adb7ace66382583595724d79cc1504638">CanProveLess</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, int64_t upper_bound);</div>
-<div class="line"><a name="l00742"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a5b4350d33e93a9e6bb7f26e4c6569703"> 742</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a5b4350d33e93a9e6bb7f26e4c6569703">CanProveEqual</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& lhs, <span class="keyword">const</span> <a class="code" href="clas [...]
-<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a4371d28a6b3306bdb4eec6c6a8317e03"> 759</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a4371d28a6b3306bdb4eec6c6a8317e03">CanProveLessEqualThanSymbolicShapeValue</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& lhs, <span class="keyword">const</span> [...]
-<div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a7d8be689aff9dab648ca21f210d6d9c2"> 772</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a7d8be689aff9dab648ca21f210d6d9c2">CanProve</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& cond, <a class="code" href="namespacetvm_1_1arith.html#a038b0205b1c66d2 [...]
-<div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  </div>
-<div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a9b440f852f12ad0a4d8ed5ed97054425"> 787</a></span>  <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a9b440f852f12ad0a4d8ed5ed97054425">Simplify</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, <span class="keywordtype">int</span> step [...]
-<div class="line"><a name="l00788"></a><span class="lineno"> 788</span> };</div>
-<div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  </div>
-<div class="line"><a name="l00790"></a><span class="lineno"> 790</span> } <span class="comment">// namespace arith</span></div>
-<div class="line"><a name="l00791"></a><span class="lineno"> 791</span> } <span class="comment">// namespace tvm</span></div>
-<div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="preprocessor">#endif </span><span class="comment">// TVM_ARITH_ANALYZER_H_</span></div>
+<div class="line"><a name="l00578"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab0ded402c93fc89cba57015b6f3f4d8d"> 578</a></span>  TVM_DLL <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab0ded402c93fc89cba57015b6f3f4d8d">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f8471 [...]
+<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  </div>
+<div class="line"><a name="l00580"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a096433dd7bde50f73eed4854af8b6111"> 580</a></span>  std::function<void()> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a096433dd7bde50f73eed4854af8b6111">EnterConstraint</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& constraint);</div>
+<div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  </div>
+<div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00583"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab502b81f91a3692606541f1ec44911de"> 583</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>;</div>
+<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a>(<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>* parent);</div>
+<div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  TVM_DLL ~<a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a>();</div>
+<div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <span class="keyword">class </span>Impl;</div>
+<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  Impl* impl_;</div>
+<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> };</div>
+<div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  </div>
+<div class="line"><a name="l00601"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html"> 601</a></span> <span class="keyword">class </span>TVM_DLL <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a> : <span class="keyword">public</span> ffi::Object {</div>
+<div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00604"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a7007e17a46f88e125eb649ffd40a1d8b"> 604</a></span>  <a class="code" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">ConstIntBoundAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a7007e17a46f88e125eb649ffd40a1d8b">const_int_bound</a>;</div>
+<div class="line"><a name="l00606"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#ad1cb5737d9af424de0ad43ec794d254f"> 606</a></span>  <a class="code" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">ModularSetAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#ad1cb5737d9af424de0ad43ec794d254f">modular_set</a>;</div>
+<div class="line"><a name="l00608"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a945243b84edc40b89cd326e7d3cc52da"> 608</a></span>  <a class="code" href="classtvm_1_1arith_1_1RewriteSimplifier.html">RewriteSimplifier</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a945243b84edc40b89cd326e7d3cc52da">rewrite_simplify</a>;</div>
+<div class="line"><a name="l00610"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#afcf97e818f5778d64ceb6e5e0fa59de7"> 610</a></span>  <a class="code" href="classtvm_1_1arith_1_1CanonicalSimplifier.html">CanonicalSimplifier</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#afcf97e818f5778d64ceb6e5e0fa59de7">canonical_simplify</a>;</div>
+<div class="line"><a name="l00612"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a9b3fbbc422505fa18cff90ab81d591ab"> 612</a></span>  <a class="code" href="classtvm_1_1arith_1_1IntSetAnalyzer.html">IntSetAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a9b3fbbc422505fa18cff90ab81d591ab">int_set</a>;</div>
+<div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#aabac046e3ed1abf7f96b446114cafa62"> 614</a></span>  <a class="code" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">TransitiveComparisonAnalyzer</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#aabac046e3ed1abf7f96b446114cafa62">transitive_comparisons</a>;</div>
+<div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a61718b9bdfcc01483cf70d159c4f12c8"> 616</a></span>  <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a61718b9bdfcc01483cf70d159c4f12c8">AnalyzerObj</a>();</div>
+<div class="line"><a name="l00632"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a855fc72735981c7ceeb89e5ac851c7fe"> 632</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a855fc72735981c7ceeb89e5ac851c7fe">MarkGlobalNonNegValue</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& value);</div>
+<div class="line"><a name="l00645"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#aa784e4543c60e2a458ab7d4aaafb23eb"> 645</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#aa784e4543c60e2a458ab7d4aaafb23eb">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b3228 [...]
+<div class="line"><a name="l00658"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a7b48ee7d8d2d88687f7eaba43ff7b6bd"> 658</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a7b48ee7d8d2d88687f7eaba43ff7b6bd">Bind</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1tirx_1_1Var.html">Var</a>& <a class="code" href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b3228 [...]
+<div class="line"><a name="l00667"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a7adfc0b82669145611d8638adbf3e432"> 667</a></span>  <span class="keywordtype">void</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a7adfc0b82669145611d8638adbf3e432">Bind</a>(<span class="keyword">const</span> ffi::Map<Var, Range>& variables, <span class="keywordtype">bool</span> allow_override = <span class="keyword">false</span>);</div>
+<div class="line"><a name="l00680"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a33b289b63c0a91e11b00e98fdbfe2d53"> 680</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a33b289b63c0a91e11b00e98fdbfe2d53">CanProveGreaterEqual</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, int64_t lower_bound);</div>
+<div class="line"><a name="l00693"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a59475536e8c1078ad57cd5089cf4ffd7"> 693</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a59475536e8c1078ad57cd5089cf4ffd7">CanProveLess</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, int64_t upper_bound);</div>
+<div class="line"><a name="l00703"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#ab90111060d30e07408083c5b28f58a68"> 703</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#ab90111060d30e07408083c5b28f58a68">CanProveEqual</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& lhs, <span class="keyword">const</span> <a class="code" href [...]
+<div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a3d3b62509fecace627f8843256dc8c02"> 720</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a3d3b62509fecace627f8843256dc8c02">CanProveLessEqualThanSymbolicShapeValue</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& lhs, <span class="keyword">const</ [...]
+<div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a6dfebc27ddce54ca2f10b71c2391d607"> 733</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a6dfebc27ddce54ca2f10b71c2391d607">CanProve</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& cond, <a class="code" href="namespacetvm_1_1arith.html#a038b0205b [...]
+<div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  </div>
+<div class="line"><a name="l00748"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#a19f9b83800c85ab898a23220fbf000b1"> 748</a></span>  <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#a19f9b83800c85ab898a23220fbf000b1">Simplify</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a>& expr, <span class="keywordtype">int</span [...]
+<div class="line"><a name="l00749"></a><span class="lineno"> 749</span>  </div>
+<div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#ae26f9e1ceb0f7c8d0f1a038837529ae8"> 759</a></span>  <span class="keyword">static</span> constexpr <span class="keywordtype">bool</span> _type_mutable = <span class="keyword">true</span>;</div>
+<div class="line"><a name="l00760"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1AnalyzerObj.html#ae7f9b32e8df29a1230396bee65ca42c1"> 760</a></span>  <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html#ae7f9b32e8df29a1230396bee65ca42c1">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">"arith.Analyzer"</span>, <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>, ffi::Object);</div>
+<div class="line"><a name="l00761"></a><span class="lineno"> 761</span> };</div>
+<div class="line"><a name="l00762"></a><span class="lineno"> 762</span>  </div>
+<div class="line"><a name="l00776"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html"> 776</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
+<div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  <span class="keyword">public</span>:</div>
+<div class="line"><a name="l00779"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#ae8568eeee02c68849e468f8c19a2701d"> 779</a></span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#ae8568eeee02c68849e468f8c19a2701d">Analyzer</a>() : <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>(ffi::make_object<<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>>()) {}</div>
+<div class="line"><a name="l00780"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#a986c5877025fcf36b25a79fb58b8c2ed"> 780</a></span>  <span class="keyword">explicit</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#a986c5877025fcf36b25a79fb58b8c2ed">Analyzer</a>(ffi::ObjectPtr<AnalyzerObj> n) : ffi::ObjectRef(std::move(n)) {</div>
+<div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  TVM_FFI_ICHECK(this->get() != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  }</div>
+<div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1Analyzer.html#ade37f587bfed0383436428182bef8a73"> 783</a></span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html#ade37f587bfed0383436428182bef8a73">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>, ffi::ObjectRef, <a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>);</div>
+<div class="line"><a name="l00784"></a><span class="lineno"> 784</span> };</div>
+<div class="line"><a name="l00785"></a><span class="lineno"> 785</span>  </div>
+<div class="line"><a name="l00802"></a><span class="lineno"><a class="line" href="classtvm_1_1arith_1_1ConstraintContext.html"> 802</a></span> <span class="keyword">class </span><a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a> {</div>
+<div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keyword">private</span>:</div>
+<div class="line"><a name="l00804"></a><span class="lineno"> 804</span>  <span class="comment">// declare friend to enable with.</span></div>
+<div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classtvm_1_1With.html">With</a><<a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>>;</div>
+<div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  <a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>(<span class="keyword">const</span> <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a>& analyzer, <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> constraint)</div>
+<div class="line"><a name="l00813"></a><span class="lineno"> 813</span>  : analyzer_(analyzer), constraint_(constraint) {}</div>
+<div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>(<a class="code" href="classtvm_1_1arith_1_1AnalyzerObj.html">AnalyzerObj</a>* analyzer, <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> constraint)</div>
+<div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  : <a class="code" href="classtvm_1_1arith_1_1ConstraintContext.html">ConstraintContext</a>(ffi::GetRef<Analyzer>(analyzer), std::move(constraint)) {}</div>
+<div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="comment">// enter the scope.</span></div>
+<div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="keywordtype">void</span> EnterWithScope();</div>
+<div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <span class="comment">// exit the scope.</span></div>
+<div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  <span class="keywordtype">void</span> ExitWithScope();</div>
+<div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <a class="code" href="classtvm_1_1arith_1_1Analyzer.html">Analyzer</a> analyzer_;</div>
+<div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  <a class="code" href="classtvm_1_1PrimExpr.html">PrimExpr</a> constraint_;</div>
+<div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  std::vector<std::function<void()>> recovery_functions_;</div>
+<div class="line"><a name="l00833"></a><span class="lineno"> 833</span> };</div>
+<div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  </div>
+<div class="line"><a name="l00835"></a><span class="lineno"> 835</span> } <span class="comment">// namespace arith</span></div>
+<div class="line"><a name="l00836"></a><span class="lineno"> 836</span> } <span class="comment">// namespace tvm</span></div>
+<div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="preprocessor">#endif </span><span class="comment">// TVM_ARITH_ANALYZER_H_</span></div>
<div class="ttc" id="aclasstvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Reference to PrimExprNode.</div><div class="ttdef"><b>Definition:</b> expr.h:123</div></div>
<div class="ttc" id="aclasstvm_1_1Range_html"><div class="ttname"><a href="classtvm_1_1Range.html">tvm::Range</a></div><div class="ttdoc">Range container</div><div class="ttdef"><b>Definition:</b> expr.h:585</div></div>
<div class="ttc" id="aclasstvm_1_1With_html"><div class="ttname"><a href="classtvm_1_1With.html">tvm::With</a></div><div class="ttdoc">RAII wrapper function to enter and exit a context object similar to python's with syntax.</div><div class="ttdef"><b>Definition:</b> with_context.h:59</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></div><div class="ttdoc">Analyzer that contains bunch of sub-analyzers.</div><div class="ttdef"><b>Definition:</b> analyzer.h:635</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a0c3f8b7ad1804e4dc8d4ca451ddc35b9"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a0c3f8b7ad1804e4dc8d4ca451ddc35b9">tvm::arith::Analyzer::Bind</a></div><div class="ttdeci">void Bind(const ffi::Map< Var, Range > &variables, bool allow_override=false)</div><div class="ttdoc">Bind all the vars in the Map.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a0d054ea2ea5b7e99f0883c00672ec831"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a0d054ea2ea5b7e99f0883c00672ec831">tvm::arith::Analyzer::int_set</a></div><div class="ttdeci">IntSetAnalyzer int_set</div><div class="ttdoc">sub-analyzer: int set</div><div class="ttdef"><b>Definition:</b> analyzer.h:651</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a20c4bae46db46362ba6bca4c1d368345"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a20c4bae46db46362ba6bca4c1d368345">tvm::arith::Analyzer::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const Range &range, bool allow_override=false)</div><div class="ttdoc">Notify all the sub-analyzers that var is created and bound to a range.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a23e266bcb0d9b5ca6cc01c691271db72"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a23e266bcb0d9b5ca6cc01c691271db72">tvm::arith::Analyzer::transitive_comparisons</a></div><div class="ttdeci">TransitiveComparisonAnalyzer transitive_comparisons</div><div class="ttdoc">sub-analyzer transitive comparisons</div><div class="ttdef"><b>Definition:</b> analyzer.h:653</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a435eba3ac3a839d3c53b74acfdc10146"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a435eba3ac3a839d3c53b74acfdc10146">tvm::arith::Analyzer::const_int_bound</a></div><div class="ttdeci">ConstIntBoundAnalyzer const_int_bound</div><div class="ttdoc">sub-analyzer: const integer bound</div><div class="ttdef"><b>Definition:</b> analyzer.h:643</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a4371d28a6b3306bdb4eec6c6a8317e03"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a4371d28a6b3306bdb4eec6c6a8317e03">tvm::arith::Analyzer::CanProveLessEqualThanSymbolicShapeValue</a></div><div class="ttdeci">bool CanProveLessEqualThanSymbolicShapeValue(const PrimExpr &lhs, const PrimExpr &shape)</div><div class="ttdoc">Whether we can prove lhs is smaller than possibly symbolic shape.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a5b4350d33e93a9e6bb7f26e4c6569703"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a5b4350d33e93a9e6bb7f26e4c6569703">tvm::arith::Analyzer::CanProveEqual</a></div><div class="ttdeci">bool CanProveEqual(const PrimExpr &lhs, const PrimExpr &rhs)</div><div class="ttdoc">Whether can we prove lhs == rhs.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a5e97e3abc176f85a5b8e5d0d1cb9f5e1"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a5e97e3abc176f85a5b8e5d0d1cb9f5e1">tvm::arith::Analyzer::CanProveGreaterEqual</a></div><div class="ttdeci">bool CanProveGreaterEqual(const PrimExpr &expr, int64_t lower_bound)</div><div class="ttdoc">Whether can we prove expr >= val.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a675ba44dc7d70ef5606e4147919da9f2"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a675ba44dc7d70ef5606e4147919da9f2">tvm::arith::Analyzer::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const PrimExpr &expr, bool allow_override=false)</div><div class="ttdoc">Notify all the sub-analyzers that var is created and binded to expr.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a6cdf29adeceaa20b8c3dd7c26b92cd00"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a6cdf29adeceaa20b8c3dd7c26b92cd00">tvm::arith::Analyzer::canonical_simplify</a></div><div class="ttdeci">CanonicalSimplifier canonical_simplify</div><div class="ttdoc">sub-analyzer canonical simplify</div><div class="ttdef"><b>Definition:</b> analyzer.h:649</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a7d8be689aff9dab648ca21f210d6d9c2"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a7d8be689aff9dab648ca21f210d6d9c2">tvm::arith::Analyzer::CanProve</a></div><div class="ttdeci">bool CanProve(const PrimExpr &cond, ProofStrength strength=ProofStrength::kDefault)</div><div class="ttdoc">Whether can we prove condition.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a98d3fc802f7de0ea645cea47aa20c66f"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a98d3fc802f7de0ea645cea47aa20c66f">tvm::arith::Analyzer::MarkGlobalNonNegValue</a></div><div class="ttdeci">void MarkGlobalNonNegValue(const PrimExpr &value)</div><div class="ttdoc">Mark the value as non-negative value globally in analyzer.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a9b440f852f12ad0a4d8ed5ed97054425"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a9b440f852f12ad0a4d8ed5ed97054425">tvm::arith::Analyzer::Simplify</a></div><div class="ttdeci">PrimExpr Simplify(const PrimExpr &expr, int steps=2)</div><div class="ttdoc">Simplify expr.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a9dccc7d98b8b9465390e10436d3a9178"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a9dccc7d98b8b9465390e10436d3a9178">tvm::arith::Analyzer::operator=</a></div><div class="ttdeci">Analyzer & operator=(const Analyzer &)=delete</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_acac92a9522deabe289fea99efbd9eaec"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#acac92a9522deabe289fea99efbd9eaec">tvm::arith::Analyzer::modular_set</a></div><div class="ttdeci">ModularSetAnalyzer modular_set</div><div class="ttdoc">sub-analyzer: modular set</div><div class="ttdef"><b>Definition:</b> analyzer.h:645</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_acc86c6e8c04cb0de4ff9d78e769924b2"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#acc86c6e8c04cb0de4ff9d78e769924b2">tvm::arith::Analyzer::rewrite_simplify</a></div><div class="ttdeci">RewriteSimplifier rewrite_simplify</div><div class="ttdoc">sub-analyzer rewrite simplify</div><div class="ttdef"><b>Definition:</b> analyzer.h:647</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_adb7ace66382583595724d79cc1504638"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#adb7ace66382583595724d79cc1504638">tvm::arith::Analyzer::CanProveLess</a></div><div class="ttdeci">bool CanProveLess(const PrimExpr &expr, int64_t upper_bound)</div><div class="ttdoc">Whether can we prove expr < val.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_ae8568eeee02c68849e468f8c19a2701d"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#ae8568eeee02c68849e468f8c19a2701d">tvm::arith::Analyzer::Analyzer</a></div><div class="ttdeci">Analyzer()</div><div class="ttdoc">constructor</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_af33491068003d13952289cd296ba63af"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#af33491068003d13952289cd296ba63af">tvm::arith::Analyzer::Analyzer</a></div><div class="ttdeci">Analyzer(const Analyzer &)=delete</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1CanonicalSimplifier_html"><div class="ttname"><a href="classtvm_1_1arith_1_1CanonicalSimplifier.html">tvm::arith::CanonicalSimplifier</a></div><div class="ttdoc">Canonical-form based simplifier.</div><div class="ttdef"><b>Definition:</b> analyzer.h:419</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html">tvm::arith::AnalyzerObj</a></div><div class="ttdoc">Analyzer that contains bunch of sub-analyzers.</div><div class="ttdef"><b>Definition:</b> analyzer.h:601</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a19f9b83800c85ab898a23220fbf000b1"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a19f9b83800c85ab898a23220fbf000b1">tvm::arith::AnalyzerObj::Simplify</a></div><div class="ttdeci">PrimExpr Simplify(const PrimExpr &expr, int steps=2)</div><div class="ttdoc">Simplify expr.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a33b289b63c0a91e11b00e98fdbfe2d53"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a33b289b63c0a91e11b00e98fdbfe2d53">tvm::arith::AnalyzerObj::CanProveGreaterEqual</a></div><div class="ttdeci">bool CanProveGreaterEqual(const PrimExpr &expr, int64_t lower_bound)</div><div class="ttdoc">Whether can we prove expr >= val.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a3d3b62509fecace627f8843256dc8c02"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a3d3b62509fecace627f8843256dc8c02">tvm::arith::AnalyzerObj::CanProveLessEqualThanSymbolicShapeValue</a></div><div class="ttdeci">bool CanProveLessEqualThanSymbolicShapeValue(const PrimExpr &lhs, const PrimExpr &shape)</div><div class="ttdoc">Whether we can prove lhs is smaller than possibly symbolic shape.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a59475536e8c1078ad57cd5089cf4ffd7"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a59475536e8c1078ad57cd5089cf4ffd7">tvm::arith::AnalyzerObj::CanProveLess</a></div><div class="ttdeci">bool CanProveLess(const PrimExpr &expr, int64_t upper_bound)</div><div class="ttdoc">Whether can we prove expr < val.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a61718b9bdfcc01483cf70d159c4f12c8"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a61718b9bdfcc01483cf70d159c4f12c8">tvm::arith::AnalyzerObj::AnalyzerObj</a></div><div class="ttdeci">AnalyzerObj()</div><div class="ttdoc">constructor</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a6dfebc27ddce54ca2f10b71c2391d607"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a6dfebc27ddce54ca2f10b71c2391d607">tvm::arith::AnalyzerObj::CanProve</a></div><div class="ttdeci">bool CanProve(const PrimExpr &cond, ProofStrength strength=ProofStrength::kDefault)</div><div class="ttdoc">Whether can we prove condition.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a7007e17a46f88e125eb649ffd40a1d8b"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a7007e17a46f88e125eb649ffd40a1d8b">tvm::arith::AnalyzerObj::const_int_bound</a></div><div class="ttdeci">ConstIntBoundAnalyzer const_int_bound</div><div class="ttdoc">sub-analyzer: const integer bound</div><div class="ttdef"><b>Definition:</b> analyzer.h:604</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a7adfc0b82669145611d8638adbf3e432"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a7adfc0b82669145611d8638adbf3e432">tvm::arith::AnalyzerObj::Bind</a></div><div class="ttdeci">void Bind(const ffi::Map< Var, Range > &variables, bool allow_override=false)</div><div class="ttdoc">Bind all the vars in the Map.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a7b48ee7d8d2d88687f7eaba43ff7b6bd"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a7b48ee7d8d2d88687f7eaba43ff7b6bd">tvm::arith::AnalyzerObj::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const Range &range, bool allow_override=false)</div><div class="ttdoc">Notify all the sub-analyzers that var is created and bound to a range.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a855fc72735981c7ceeb89e5ac851c7fe"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a855fc72735981c7ceeb89e5ac851c7fe">tvm::arith::AnalyzerObj::MarkGlobalNonNegValue</a></div><div class="ttdeci">void MarkGlobalNonNegValue(const PrimExpr &value)</div><div class="ttdoc">Mark the value as non-negative value globally in analyzer.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a945243b84edc40b89cd326e7d3cc52da"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a945243b84edc40b89cd326e7d3cc52da">tvm::arith::AnalyzerObj::rewrite_simplify</a></div><div class="ttdeci">RewriteSimplifier rewrite_simplify</div><div class="ttdoc">sub-analyzer rewrite simplify</div><div class="ttdef"><b>Definition:</b> analyzer.h:608</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_a9b3fbbc422505fa18cff90ab81d591ab"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#a9b3fbbc422505fa18cff90ab81d591ab">tvm::arith::AnalyzerObj::int_set</a></div><div class="ttdeci">IntSetAnalyzer int_set</div><div class="ttdoc">sub-analyzer: int set</div><div class="ttdef"><b>Definition:</b> analyzer.h:612</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_aa784e4543c60e2a458ab7d4aaafb23eb"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#aa784e4543c60e2a458ab7d4aaafb23eb">tvm::arith::AnalyzerObj::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const PrimExpr &expr, bool allow_override=false)</div><div class="ttdoc">Notify all the sub-analyzers that var is created and binded to expr.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_aabac046e3ed1abf7f96b446114cafa62"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#aabac046e3ed1abf7f96b446114cafa62">tvm::arith::AnalyzerObj::transitive_comparisons</a></div><div class="ttdeci">TransitiveComparisonAnalyzer transitive_comparisons</div><div class="ttdoc">sub-analyzer transitive comparisons</div><div class="ttdef"><b>Definition:</b> analyzer.h:614</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_ab90111060d30e07408083c5b28f58a68"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#ab90111060d30e07408083c5b28f58a68">tvm::arith::AnalyzerObj::CanProveEqual</a></div><div class="ttdeci">bool CanProveEqual(const PrimExpr &lhs, const PrimExpr &rhs)</div><div class="ttdoc">Whether can we prove lhs == rhs.</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_ad1cb5737d9af424de0ad43ec794d254f"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#ad1cb5737d9af424de0ad43ec794d254f">tvm::arith::AnalyzerObj::modular_set</a></div><div class="ttdeci">ModularSetAnalyzer modular_set</div><div class="ttdoc">sub-analyzer: modular set</div><div class="ttdef"><b>Definition:</b> analyzer.h:606</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_ae7f9b32e8df29a1230396bee65ca42c1"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#ae7f9b32e8df29a1230396bee65ca42c1">tvm::arith::AnalyzerObj::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL("arith.Analyzer", AnalyzerObj, ffi::Object)</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1AnalyzerObj_html_afcf97e818f5778d64ceb6e5e0fa59de7"><div class="ttname"><a href="classtvm_1_1arith_1_1AnalyzerObj.html#afcf97e818f5778d64ceb6e5e0fa59de7">tvm::arith::AnalyzerObj::canonical_simplify</a></div><div class="ttdeci">CanonicalSimplifier canonical_simplify</div><div class="ttdoc">sub-analyzer canonical simplify</div><div class="ttdef"><b>Definition:</b> analyzer.h:610</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html">tvm::arith::Analyzer</a></div><div class="ttdoc">Managed reference to AnalyzerObj.</div><div class="ttdef"><b>Definition:</b> analyzer.h:776</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_a986c5877025fcf36b25a79fb58b8c2ed"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#a986c5877025fcf36b25a79fb58b8c2ed">tvm::arith::Analyzer::Analyzer</a></div><div class="ttdeci">Analyzer(ffi::ObjectPtr< AnalyzerObj > n)</div><div class="ttdef"><b>Definition:</b> analyzer.h:780</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_ade37f587bfed0383436428182bef8a73"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#ade37f587bfed0383436428182bef8a73">tvm::arith::Analyzer::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(Analyzer, ffi::ObjectRef, AnalyzerObj)</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1Analyzer_html_ae8568eeee02c68849e468f8c19a2701d"><div class="ttname"><a href="classtvm_1_1arith_1_1Analyzer.html#ae8568eeee02c68849e468f8c19a2701d">tvm::arith::Analyzer::Analyzer</a></div><div class="ttdeci">Analyzer()</div><div class="ttdoc">Default-construct a fresh analyzer (allocates an AnalyzerObj).</div><div class="ttdef"><b>Definition:</b> analyzer.h:779</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1CanonicalSimplifier_html"><div class="ttname"><a href="classtvm_1_1arith_1_1CanonicalSimplifier.html">tvm::arith::CanonicalSimplifier</a></div><div class="ttdoc">Canonical-form based simplifier.</div><div class="ttdef"><b>Definition:</b> analyzer.h:424</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1CanonicalSimplifier_html_a2ed4ed7990499ee188e69967afb511c6"><div class="ttname"><a href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a2ed4ed7990499ee188e69967afb511c6">tvm::arith::CanonicalSimplifier::operator()</a></div><div class="ttdeci">PrimExpr operator()(const PrimExpr &expr)</div><div class="ttdoc">analyze the expr</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1CanonicalSimplifier_html_a790c032e12c7d93e9e940297b860c509"><div class="ttname"><a href="classtvm_1_1arith_1_1CanonicalSimplifier.html#a790c032e12c7d93e9e940297b860c509">tvm::arith::CanonicalSimplifier::Update</a></div><div class="ttdeci">void Update(const Var &var, const PrimExpr &new_expr, bool allow_override=false)</div><div class="ttdoc">Update binding of var to a new expression.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">tvm::arith::ConstIntBoundAnalyzer</a></div><div class="ttdoc">Analyzer to get constant integer bound over expression.</div><div class="ttdef"><b>Definition:</b> analyzer.h:130</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html">tvm::arith::ConstIntBoundAnalyzer</a></div><div class="ttdoc">Analyzer to get constant integer bound over expression.</div><div class="ttdef"><b>Definition:</b> analyzer.h:134</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_a0ec2252806be6e7abbba172b7d802e50"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a0ec2252806be6e7abbba172b7d802e50">tvm::arith::ConstIntBoundAnalyzer::IsBound</a></div><div class="ttdeci">bool IsBound(const Var &var) const</div><div class="ttdoc">Check if a variable is bound to a range.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_a5ae0699196c4bbc754bbdd4c3a6c7ca7"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a5ae0699196c4bbc754bbdd4c3a6c7ca7">tvm::arith::ConstIntBoundAnalyzer::Update</a></div><div class="ttdeci">void Update(const Var &var, const ConstIntBound &info, bool allow_override=false)</div><div class="ttdoc">Update constant int bound information of var.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_a6fe7daaad2636c1058dc9427c421fbfb"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a6fe7daaad2636c1058dc9427c421fbfb">tvm::arith::ConstIntBoundAnalyzer::BoundMapType</a></div><div class="ttdeci">std::unordered_map< PrimExpr, ConstIntBound, ffi::ObjectPtrHash, ffi::ObjectPtrEqual > BoundMapType</div><div class="ttdef"><b>Definition:</b> analyzer.h:133</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_a6fe7daaad2636c1058dc9427c421fbfb"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a6fe7daaad2636c1058dc9427c421fbfb">tvm::arith::ConstIntBoundAnalyzer::BoundMapType</a></div><div class="ttdeci">std::unordered_map< PrimExpr, ConstIntBound, ffi::ObjectPtrHash, ffi::ObjectPtrEqual > BoundMapType</div><div class="ttdef"><b>Definition:</b> analyzer.h:137</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_a7107c1d182a3ac72336d83ab50d9d1c3"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#a7107c1d182a3ac72336d83ab50d9d1c3">tvm::arith::ConstIntBoundAnalyzer::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const Range &range, bool allow_override=false)</div><div class="ttdoc">Bind variable to a range.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_aa24f8d56b331e1b9c6ed315877c4e0a2"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#aa24f8d56b331e1b9c6ed315877c4e0a2">tvm::arith::ConstIntBoundAnalyzer::operator()</a></div><div class="ttdeci">ConstIntBound operator()(const PrimExpr &expr, BoundMapType *bound)</div><div class="ttdoc">analyze the expr with the intermediate memorized to avoid redundant computation</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundAnalyzer_html_add50f8cc72f7fbf50e456d31f045d24c"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html#add50f8cc72f7fbf50e456d31f045d24c">tvm::arith::ConstIntBoundAnalyzer::operator()</a></div><div class="ttdeci">ConstIntBound operator()(const PrimExpr &expr) const</div><div class="ttdoc">analyze the expr</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html">tvm::arith::ConstIntBoundNode</a></div><div class="ttdoc">Constant integer up and lower bound(inclusive). Useful for value bound analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:85</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a0761897bf16ab73b848bf360e9b195a3"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3">tvm::arith::ConstIntBoundNode::min_value</a></div><div class="ttdeci">int64_t min_value</div><div class="ttdef"><b>Definition:</b> analyzer.h:87</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a5082bc93cb9492d7bd04a019113aa07e"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e">tvm::arith::ConstIntBoundNode::kNegInf</a></div><div class="ttdeci">static constexpr const int64_t kNegInf</div><div class="ttdoc">Number to represent -inf.</div><div class="ttdef"><b>Definition:</b> analyzer.h:103</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a7187224ffaf688dd1aa0f6069b393f92"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92">tvm::arith::ConstIntBoundNode::max_value</a></div><div class="ttdeci">int64_t max_value</div><div class="ttdef"><b>Definition:</b> analyzer.h:88</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a752addf2fa5702290ea6b3cdfa8d7bf6"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a752addf2fa5702290ea6b3cdfa8d7bf6">tvm::arith::ConstIntBoundNode::_type_s_eq_hash_kind</a></div><div class="ttdeci">static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind</div><div class="ttdef"><b>Definition:</b> analyzer.h:105</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_ab1f0577fb4a6bda9c4375120b7085a62"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">tvm::arith::ConstIntBoundNode::kPosInf</a></div><div class="ttdeci">static constexpr const int64_t kPosInf</div><div class="ttdoc">Number to represent +inf.</div><div class="ttdef"><b>Definition:</b> analyzer.h:98</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_aca33f0ba1ee62694fc839b215cf6c50d"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#aca33f0ba1ee62694fc839b215cf6c50d">tvm::arith::ConstIntBoundNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition:</b> analyzer.h:90</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html">tvm::arith::ConstIntBoundNode</a></div><div class="ttdoc">Constant integer up and lower bound(inclusive). Useful for value bound analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:89</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a0761897bf16ab73b848bf360e9b195a3"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a0761897bf16ab73b848bf360e9b195a3">tvm::arith::ConstIntBoundNode::min_value</a></div><div class="ttdeci">int64_t min_value</div><div class="ttdef"><b>Definition:</b> analyzer.h:91</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a5082bc93cb9492d7bd04a019113aa07e"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a5082bc93cb9492d7bd04a019113aa07e">tvm::arith::ConstIntBoundNode::kNegInf</a></div><div class="ttdeci">static constexpr const int64_t kNegInf</div><div class="ttdoc">Number to represent -inf.</div><div class="ttdef"><b>Definition:</b> analyzer.h:107</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a7187224ffaf688dd1aa0f6069b393f92"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a7187224ffaf688dd1aa0f6069b393f92">tvm::arith::ConstIntBoundNode::max_value</a></div><div class="ttdeci">int64_t max_value</div><div class="ttdef"><b>Definition:</b> analyzer.h:92</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_a752addf2fa5702290ea6b3cdfa8d7bf6"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#a752addf2fa5702290ea6b3cdfa8d7bf6">tvm::arith::ConstIntBoundNode::_type_s_eq_hash_kind</a></div><div class="ttdeci">static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind</div><div class="ttdef"><b>Definition:</b> analyzer.h:109</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_ab1f0577fb4a6bda9c4375120b7085a62"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ab1f0577fb4a6bda9c4375120b7085a62">tvm::arith::ConstIntBoundNode::kPosInf</a></div><div class="ttdeci">static constexpr const int64_t kPosInf</div><div class="ttdoc">Number to represent +inf.</div><div class="ttdef"><b>Definition:</b> analyzer.h:102</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_aca33f0ba1ee62694fc839b215cf6c50d"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#aca33f0ba1ee62694fc839b215cf6c50d">tvm::arith::ConstIntBoundNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition:</b> analyzer.h:94</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBoundNode_html_ad44212e4427821c0488dad282ccb260c"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBoundNode.html#ad44212e4427821c0488dad282ccb260c">tvm::arith::ConstIntBoundNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL("arith.ConstIntBound", ConstIntBoundNode, ffi::Object)</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html">tvm::arith::ConstIntBound</a></div><div class="ttdoc">reference class to ConstIntBoundNode</div><div class="ttdef"><b>Definition:</b> analyzer.h:113</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html">tvm::arith::ConstIntBound</a></div><div class="ttdoc">reference class to ConstIntBoundNode</div><div class="ttdef"><b>Definition:</b> analyzer.h:117</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html_a3005b4ef003296d7bef02190f5932928"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html#a3005b4ef003296d7bef02190f5932928">tvm::arith::ConstIntBound::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE(ConstIntBound, ffi::ObjectRef, ConstIntBoundNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html_ac2368aa444fafe5f030ac2674148c5fa"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html#ac2368aa444fafe5f030ac2674148c5fa">tvm::arith::ConstIntBound::kNegInf</a></div><div class="ttdeci">static constexpr const int64_t kNegInf</div><div class="ttdef"><b>Definition:</b> analyzer.h:123</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html_ac2368aa444fafe5f030ac2674148c5fa"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html#ac2368aa444fafe5f030ac2674148c5fa">tvm::arith::ConstIntBound::kNegInf</a></div><div class="ttdeci">static constexpr const int64_t kNegInf</div><div class="ttdef"><b>Definition:</b> analyzer.h:127</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html_aefb417203cf5c5996d7ed664051aaba3"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html#aefb417203cf5c5996d7ed664051aaba3">tvm::arith::ConstIntBound::ConstIntBound</a></div><div class="ttdeci">ConstIntBound(int64_t min_value, int64_t max_value)</div><div class="ttdoc">constructor by fields.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html_af2dbef4ddb3a0895bab046d18ff85ab8"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html#af2dbef4ddb3a0895bab046d18ff85ab8">tvm::arith::ConstIntBound::kPosInf</a></div><div class="ttdeci">static constexpr const int64_t kPosInf</div><div class="ttdef"><b>Definition:</b> analyzer.h:122</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ConstraintContext_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstraintContext.html">tvm::arith::ConstraintContext</a></div><div class="ttdoc">Constraint context.</div><div class="ttdef"><b>Definition:</b> analyzer.h:548</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html">tvm::arith::IntSetAnalyzer</a></div><div class="ttdoc">Integer set analyzer.</div><div class="ttdef"><b>Definition:</b> analyzer.h:574</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstIntBound_html_af2dbef4ddb3a0895bab046d18ff85ab8"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstIntBound.html#af2dbef4ddb3a0895bab046d18ff85ab8">tvm::arith::ConstIntBound::kPosInf</a></div><div class="ttdeci">static constexpr const int64_t kPosInf</div><div class="ttdef"><b>Definition:</b> analyzer.h:126</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ConstraintContext_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ConstraintContext.html">tvm::arith::ConstraintContext</a></div><div class="ttdoc">Constraint context.</div><div class="ttdef"><b>Definition:</b> analyzer.h:802</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html">tvm::arith::IntSetAnalyzer</a></div><div class="ttdoc">Integer set analyzer.</div><div class="ttdef"><b>Definition:</b> analyzer.h:540</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html_a096433dd7bde50f73eed4854af8b6111"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a096433dd7bde50f73eed4854af8b6111">tvm::arith::IntSetAnalyzer::EnterConstraint</a></div><div class="ttdeci">std::function< void()> EnterConstraint(const PrimExpr &constraint)</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html_a9a201c941931807b4b88eedc4f8c03f4"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#a9a201c941931807b4b88eedc4f8c03f4">tvm::arith::IntSetAnalyzer::Update</a></div><div class="ttdeci">void Update(const Var &var, const IntSet &new_interval_set, bool allow_override=false)</div><div class="ttdoc">Update binding of var to a new expression.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html_ab0ded402c93fc89cba57015b6f3f4d8d"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab0ded402c93fc89cba57015b6f3f4d8d">tvm::arith::IntSetAnalyzer::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const Range &new_range, bool allow_override=false)</div><div class="ttdoc">Update binding of var to a new expression.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html_ab84b89220625f2b2bc7c69c860e42155"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#ab84b89220625f2b2bc7c69c860e42155">tvm::arith::IntSetAnalyzer::operator()</a></div><div class="ttdeci">IntSet operator()(const PrimExpr &expr, const ffi::Map< Var, IntSet > &dom_map)</div><div class="ttdoc">Find a symbolic integer set that contains all possible values of expr given the domain of each variab.. [...]
<div class="ttc" id="aclasstvm_1_1arith_1_1IntSetAnalyzer_html_af4274caf7f5a6af64fbafc2f2465f591"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSetAnalyzer.html#af4274caf7f5a6af64fbafc2f2465f591">tvm::arith::IntSetAnalyzer::operator()</a></div><div class="ttdeci">IntSet operator()(const PrimExpr &expr)</div><div class="ttdoc">Find a symbolic integer set that contains all possible values of expr given the domain of each variab...</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1IntSet_html"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSet.html">tvm::arith::IntSet</a></div><div class="ttdoc">Managed reference to IntSetNode.</div><div class="ttdef"><b>Definition:</b> int_set.h:66</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">tvm::arith::ModularSetAnalyzer</a></div><div class="ttdoc">Analyzer to get modular information over expression.</div><div class="ttdef"><b>Definition:</b> analyzer.h:236</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1IntSet_html"><div class="ttname"><a href="classtvm_1_1arith_1_1IntSet.html">tvm::arith::IntSet</a></div><div class="ttdoc">Managed reference to IntSetNode.</div><div class="ttdef"><b>Definition:</b> int_set.h:67</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetAnalyzer.html">tvm::arith::ModularSetAnalyzer</a></div><div class="ttdoc">Analyzer to get modular information over expression.</div><div class="ttdef"><b>Definition:</b> analyzer.h:240</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetAnalyzer_html_a04156fac580981f3005af3b8e676720d"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a04156fac580981f3005af3b8e676720d">tvm::arith::ModularSetAnalyzer::Update</a></div><div class="ttdeci">void Update(const Var &var, const ModularSet &info, bool allow_override=false)</div><div class="ttdoc">Update constant int bound information of var.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetAnalyzer_html_a57c3c62ebc821f5f01bc2b43f06488da"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetAnalyzer.html#a57c3c62ebc821f5f01bc2b43f06488da">tvm::arith::ModularSetAnalyzer::operator()</a></div><div class="ttdeci">ModularSet operator()(const PrimExpr &expr)</div><div class="ttdoc">analyze the expr</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html">tvm::arith::ModularSetNode</a></div><div class="ttdoc">Range of a linear integer function. Use to do specify the possible index values.</div><div class="ttdef"><b>Definition:</b> analyzer.h:204</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_a0531d08d8529454c726a9a20a2002ee6"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6">tvm::arith::ModularSetNode::coeff</a></div><div class="ttdeci">int64_t coeff</div><div class="ttdoc">linear co-efficient</div><div class="ttdef"><b>Definition:</b> analyzer.h:207</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_a680e547835e5062f0c88e0f982bcc805"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#a680e547835e5062f0c88e0f982bcc805">tvm::arith::ModularSetNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition:</b> analyzer.h:211</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html">tvm::arith::ModularSetNode</a></div><div class="ttdoc">Range of a linear integer function. Use to do specify the possible index values.</div><div class="ttdef"><b>Definition:</b> analyzer.h:208</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_a0531d08d8529454c726a9a20a2002ee6"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#a0531d08d8529454c726a9a20a2002ee6">tvm::arith::ModularSetNode::coeff</a></div><div class="ttdeci">int64_t coeff</div><div class="ttdoc">linear co-efficient</div><div class="ttdef"><b>Definition:</b> analyzer.h:211</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_a680e547835e5062f0c88e0f982bcc805"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#a680e547835e5062f0c88e0f982bcc805">tvm::arith::ModularSetNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition:</b> analyzer.h:215</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_ab5e5f8aa92fe0e785bd24ae47f29fd4e"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#ab5e5f8aa92fe0e785bd24ae47f29fd4e">tvm::arith::ModularSetNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL("arith.ModularSet", ModularSetNode, ffi::Object)</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_ac08e3992efa956f31feaf12cd360b578"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#ac08e3992efa956f31feaf12cd360b578">tvm::arith::ModularSetNode::_type_s_eq_hash_kind</a></div><div class="ttdeci">static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind</div><div class="ttdef"><b>Definition:</b> analyzer.h:218</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_afe63e5586712774be5935e86121431ad"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad">tvm::arith::ModularSetNode::base</a></div><div class="ttdeci">int64_t base</div><div class="ttdoc">The base.</div><div class="ttdef"><b>Definition:</b> analyzer.h:209</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSet_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSet.html">tvm::arith::ModularSet</a></div><div class="ttdoc">reference of ModularSetNode</div><div class="ttdef"><b>Definition:</b> analyzer.h:226</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_ac08e3992efa956f31feaf12cd360b578"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#ac08e3992efa956f31feaf12cd360b578">tvm::arith::ModularSetNode::_type_s_eq_hash_kind</a></div><div class="ttdeci">static constexpr TVMFFISEqHashKind _type_s_eq_hash_kind</div><div class="ttdef"><b>Definition:</b> analyzer.h:222</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSetNode_html_afe63e5586712774be5935e86121431ad"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSetNode.html#afe63e5586712774be5935e86121431ad">tvm::arith::ModularSetNode::base</a></div><div class="ttdeci">int64_t base</div><div class="ttdoc">The base.</div><div class="ttdef"><b>Definition:</b> analyzer.h:213</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSet_html"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSet.html">tvm::arith::ModularSet</a></div><div class="ttdoc">reference of ModularSetNode</div><div class="ttdef"><b>Definition:</b> analyzer.h:230</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSet_html_a476321601d927da2e672e36eec8ec444"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSet.html#a476321601d927da2e672e36eec8ec444">tvm::arith::ModularSet::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE(ModularSet, ffi::ObjectRef, ModularSetNode)</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1ModularSet_html_a9f54896d98169246c6a24cc338fde500"><div class="ttname"><a href="classtvm_1_1arith_1_1ModularSet.html#a9f54896d98169246c6a24cc338fde500">tvm::arith::ModularSet::ModularSet</a></div><div class="ttdeci">ModularSet(int64_t coeff, int64_t base)</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html">tvm::arith::RewriteSimplifier</a></div><div class="ttdoc">Rewrite-rule based simplifier.</div><div class="ttdef"><b>Definition:</b> analyzer.h:274</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html">tvm::arith::RewriteSimplifier</a></div><div class="ttdoc">Rewrite-rule based simplifier.</div><div class="ttdef"><b>Definition:</b> analyzer.h:278</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a01dda385f4e0bb0e1155c76c2d28cb96"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a01dda385f4e0bb0e1155c76c2d28cb96">tvm::arith::RewriteSimplifier::EnterConstraint</a></div><div class="ttdeci">std::function< void()> EnterConstraint(const PrimExpr &constraint)</div><div class="ttdoc">Update the internal state to enter constraint.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a2066e6d9a5b71d482c73542d0ca8c7a3"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a2066e6d9a5b71d482c73542d0ca8c7a3">tvm::arith::RewriteSimplifier::GetEnabledExtensions</a></div><div class="ttdeci">Extension GetEnabledExtensions() const</div><div class="ttdoc">Return the currently enabled extensions.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a418674df0487f883db23b9ebe208f598"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a418674df0487f883db23b9ebe208f598">tvm::arith::RewriteSimplifier::GetStatsCounters</a></div><div class="ttdeci">ffi::ObjectRef GetStatsCounters() const</div><div class="ttdoc">Return the statistics counters.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a44b7c12d6a5d9adfc4ee4cee8d935e38"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a44b7c12d6a5d9adfc4ee4cee8d935e38">tvm::arith::RewriteSimplifier::SetEnabledExtensions</a></div><div class="ttdeci">void SetEnabledExtensions(Extension flags)</div><div class="ttdoc">Enable an optional extension or extensions.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a5e6752c0702dc2d3e4235797d9d3ac7b"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a5e6752c0702dc2d3e4235797d9d3ac7b">tvm::arith::RewriteSimplifier::Update</a></div><div class="ttdeci">void Update(const Var &var, const PrimExpr &new_expr, bool allow_override=false)</div><div class="ttdoc">Update binding of var to a new expression.</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4e"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">tvm::arith::RewriteSimplifier::Extension</a></div><div class="ttdeci">Extension</div><div class="ttdoc">Flags to enable more computationally-intensive simplifications.</div><div class="ttdef"><b>Definition:</b> analyzer.h:312</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b">tvm::arith::RewriteSimplifier::kNone</a></div><div class="ttdeci">@ kNone</div><div class="ttdef"><b>Definition:</b> analyzer.h:314</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b">tvm::arith::RewriteSimplifier::kApplyConstraintsToBooleanBranches</a></div><div class="ttdeci">@ kApplyConstraintsToBooleanBranches</div><div class="ttdef"><b>Definition:</b> analyzer.h:342</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568">tvm::arith::RewriteSimplifier::kTransitivelyProveInequalities</a></div><div class="ttdeci">@ kTransitivelyProveInequalities</div><div class="ttdef"><b>Definition:</b> analyzer.h:321</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23">tvm::arith::RewriteSimplifier::kComparisonOfProductAndSum</a></div><div class="ttdeci">@ kComparisonOfProductAndSum</div><div class="ttdef"><b>Definition:</b> analyzer.h:371</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e">tvm::arith::RewriteSimplifier::kConvertBooleanToAndOfOrs</a></div><div class="ttdeci">@ kConvertBooleanToAndOfOrs</div><div class="ttdef"><b>Definition:</b> analyzer.h:329</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4e"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4e">tvm::arith::RewriteSimplifier::Extension</a></div><div class="ttdeci">Extension</div><div class="ttdoc">Flags to enable more computationally-intensive simplifications.</div><div class="ttdef"><b>Definition:</b> analyzer.h:316</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea237e1cb407cd81dfc9608651eee87b3b">tvm::arith::RewriteSimplifier::kNone</a></div><div class="ttdeci">@ kNone</div><div class="ttdef"><b>Definition:</b> analyzer.h:318</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea254331b07f4bdf970d7f28f480da637b">tvm::arith::RewriteSimplifier::kApplyConstraintsToBooleanBranches</a></div><div class="ttdeci">@ kApplyConstraintsToBooleanBranches</div><div class="ttdef"><b>Definition:</b> analyzer.h:346</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4ea775c43159049079d4a71cd788f4d1568">tvm::arith::RewriteSimplifier::kTransitivelyProveInequalities</a></div><div class="ttdeci">@ kTransitivelyProveInequalities</div><div class="ttdef"><b>Definition:</b> analyzer.h:325</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eaf2a72591e015241f111c915110ad0b23">tvm::arith::RewriteSimplifier::kComparisonOfProductAndSum</a></div><div class="ttdeci">@ kComparisonOfProductAndSum</div><div class="ttdef"><b>Definition:</b> analyzer.h:375</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a6705af5099418b968ded40d79102ad4eafd77a96599dad627a7c1d88292aa578e">tvm::arith::RewriteSimplifier::kConvertBooleanToAndOfOrs</a></div><div class="ttdeci">@ kConvertBooleanToAndOfOrs</div><div class="ttdef"><b>Definition:</b> analyzer.h:333</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_a95dd28018de6b7aa1a5a7ee76f3ba178"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#a95dd28018de6b7aa1a5a7ee76f3ba178">tvm::arith::RewriteSimplifier::SetMaximumRewriteSteps</a></div><div class="ttdeci">void SetMaximumRewriteSteps(int64_t maximum)</div><div class="ttdoc">Set the maximum allowed number of rewrite steps.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_aef5b3e9793a5b459c9f457efef179e4f"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#aef5b3e9793a5b459c9f457efef179e4f">tvm::arith::RewriteSimplifier::ResetStatsCounters</a></div><div class="ttdeci">void ResetStatsCounters()</div><div class="ttdoc">Reset the statistics counters.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1RewriteSimplifier_html_af91d307afc0c857751171a68d6d2b043"><div class="ttname"><a href="classtvm_1_1arith_1_1RewriteSimplifier.html#af91d307afc0c857751171a68d6d2b043">tvm::arith::RewriteSimplifier::operator()</a></div><div class="ttdeci">PrimExpr operator()(const PrimExpr &expr)</div><div class="ttdoc">analyze the expr</div></div>
-<div class="ttc" id="aclasstvm_1_1arith_1_1TransitiveComparisonAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">tvm::arith::TransitiveComparisonAnalyzer</a></div><div class="ttdoc">Using previously specified knowns, compare the expressions provided.</div><div class="ttdef"><b>Definition:</b> analyzer.h:476</div></div>
+<div class="ttc" id="aclasstvm_1_1arith_1_1TransitiveComparisonAnalyzer_html"><div class="ttname"><a href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html">tvm::arith::TransitiveComparisonAnalyzer</a></div><div class="ttdoc">Using previously specified knowns, compare the expressions provided.</div><div class="ttdef"><b>Definition:</b> analyzer.h:481</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1TransitiveComparisonAnalyzer_html_a1a57e873676402922a7af5b8e1991f00"><div class="ttname"><a href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#a1a57e873676402922a7af5b8e1991f00">tvm::arith::TransitiveComparisonAnalyzer::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const Range &range, bool allow_override=false)</div><div class="ttdoc">Bind a variable as being within a specified range.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1TransitiveComparisonAnalyzer_html_ab0c67cf201be8b57460cc155e5ff352a"><div class="ttname"><a href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab0c67cf201be8b57460cc155e5ff352a">tvm::arith::TransitiveComparisonAnalyzer::EnterConstraint</a></div><div class="ttdeci">std::function< void()> EnterConstraint(const PrimExpr &constraint)</div><div class="ttdoc">Update the internal state to enter constraint.</div></div>
<div class="ttc" id="aclasstvm_1_1arith_1_1TransitiveComparisonAnalyzer_html_ab397bc32c73753205e70d63b71738779"><div class="ttname"><a href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html#ab397bc32c73753205e70d63b71738779">tvm::arith::TransitiveComparisonAnalyzer::Bind</a></div><div class="ttdeci">void Bind(const Var &var, const PrimExpr &expr, bool allow_override=false)</div><div class="ttdoc">Bind a variable as being equal to a known expression.</div></div>
@@ -535,10 +551,10 @@ $(function() {
<div class="ttc" id="aclasstvm_1_1tirx_1_1Var_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1Var.html">tvm::tirx::Var</a></div><div class="ttdoc">a named variable in TIR</div><div class="ttdef"><b>Definition:</b> var.h:77</div></div>
<div class="ttc" id="aint__set_8h_html"><div class="ttname"><a href="int__set_8h.html">int_set.h</a></div><div class="ttdoc">Integer set.</div></div>
<div class="ttc" id="air_2expr_8h_html"><div class="ttname"><a href="ir_2expr_8h.html">expr.h</a></div><div class="ttdoc">Base expr nodes in TVM.</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_a038b0205b1c66d27c9dff7703e359339"><div class="ttname"><a href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339">tvm::arith::ProofStrength</a></div><div class="ttdeci">ProofStrength</div><div class="ttdoc">The strength used in top-level condition proves.</div><div class="ttdef"><b>Definition:</b> analyzer.h:70</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_a038b0205b1c66d27c9dff7703e359339"><div class="ttname"><a href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339">tvm::arith::ProofStrength</a></div><div class="ttdeci">ProofStrength</div><div class="ttdoc">The strength used in top-level condition proves.</div><div class="ttdef"><b>Definition:</b> analyzer.h:74</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a038b0205b1c66d27c9dff7703e359339a3f67e3bf6c5ae9efc290f80011f65b80"><div class="ttname"><a href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339a3f67e3bf6c5ae9efc290f80011f65b80">tvm::arith::ProofStrength::kSymbolicBound</a></div><div class="ttdeci">@ kSymbolicBound</div><div class="ttdoc">Prove using symbolic bound analysis.</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a038b0205b1c66d27c9dff7703e359339a6867faeaa475fda467e48267db2bb8a8"><div class="ttname"><a href="namespacetvm_1_1arith.html#a038b0205b1c66d27c9dff7703e359339a6867faeaa475fda467e48267db2bb8a8">tvm::arith::ProofStrength::kDefault</a></div><div class="ttdeci">@ kDefault</div><div class="ttdoc">default strength, can be used in.</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">tvm::arith::CompareResult</a></div><div class="ttdeci">CompareResult</div><div class="ttdoc">Structure for representing result of known.</div><div class="ttdef"><b>Definition:</b> analyzer.h:452</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0">tvm::arith::CompareResult</a></div><div class="ttdeci">CompareResult</div><div class="ttdoc">Structure for representing result of known.</div><div class="ttdef"><b>Definition:</b> analyzer.h:457</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0a03e3ad128c41e04acc6a0e59fdf11a58"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a03e3ad128c41e04acc6a0e59fdf11a58">tvm::arith::CompareResult::kNE</a></div><div class="ttdeci">@ kNE</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0a1893df55d7fc768f2336fdcb7c7b9c37"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a1893df55d7fc768f2336fdcb7c7b9c37">tvm::arith::CompareResult::kLE</a></div><div class="ttdeci">@ kLE</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0a7db2fe13b438b1005c70fcc9ab826b3b"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0a7db2fe13b438b1005c70fcc9ab826b3b">tvm::arith::CompareResult::kEQ</a></div><div class="ttdeci">@ kEQ</div></div>
@@ -546,16 +562,16 @@ $(function() {
<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0ac0275be4f85005f8ef340d3d5be8d361"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0ac0275be4f85005f8ef340d3d5be8d361">tvm::arith::CompareResult::kGE</a></div><div class="ttdeci">@ kGE</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0add0f23f162dcf68bf7bc761ac13040ae"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0add0f23f162dcf68bf7bc761ac13040ae">tvm::arith::CompareResult::kLT</a></div><div class="ttdeci">@ kLT</div></div>
<div class="ttc" id="anamespacetvm_1_1arith_html_a1d555a0cc363f669a49fad7e5f7d69d0af9f8d006118de5ad04dd7c000b8f3b91"><div class="ttname"><a href="namespacetvm_1_1arith.html#a1d555a0cc363f669a49fad7e5f7d69d0af9f8d006118de5ad04dd7c000b8f3b91">tvm::arith::CompareResult::kInconsistent</a></div><div class="ttdeci">@ kInconsistent</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_a660ff1fdbb08fea19a922157cadad7a7"><div class="ttname"><a href="namespacetvm_1_1arith.html#a660ff1fdbb08fea19a922157cadad7a7">tvm::arith::operator|</a></div><div class="ttdeci">constexpr CompareResult operator|(CompareResult lhs, CompareResult rhs)</div><div class="ttdef"><b>Definition:</b> analyzer.h:466</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_ac6a38da661cd3681eb85abe1cd810422"><div class="ttname"><a href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422">tvm::arith::DivMode</a></div><div class="ttdeci">DivMode</div><div class="ttdef"><b>Definition:</b> analyzer.h:56</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432"><div class="ttname"><a href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432">tvm::arith::kTruncDiv</a></div><div class="ttdeci">@ kTruncDiv</div><div class="ttdoc">Truncated division.</div><div class="ttdef"><b>Definition:</b> analyzer.h:58</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20"><div class="ttname"><a href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20">tvm::arith::kFloorDiv</a></div><div class="ttdeci">@ kFloorDiv</div><div class="ttdoc">Floor division.</div><div class="ttdef"><b>Definition:</b> analyzer.h:60</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_aca8806e355ad3dd5f1df9c1eca9aac9da8812c1a077255594d23bc1c2f3af3979"><div class="ttname"><a href="namespacetvm_1_1arith.html#aca8806e355ad3dd5f1df9c1eca9aac9da8812c1a077255594d23bc1c2f3af3979">tvm::arith::kUnknown</a></div><div class="ttdeci">@ kUnknown</div><div class="ttdef"><b>Definition:</b> int_set.h:50</div></div>
-<div class="ttc" id="anamespacetvm_1_1arith_html_ae300654bf1788008de90f1e77fbaa7fe"><div class="ttname"><a href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe">tvm::arith::operator&</a></div><div class="ttdeci">constexpr CompareResult operator&(CompareResult lhs, CompareResult rhs)</div><div class="ttdef"><b>Definition:</b> analyzer.h:463</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_a660ff1fdbb08fea19a922157cadad7a7"><div class="ttname"><a href="namespacetvm_1_1arith.html#a660ff1fdbb08fea19a922157cadad7a7">tvm::arith::operator|</a></div><div class="ttdeci">constexpr CompareResult operator|(CompareResult lhs, CompareResult rhs)</div><div class="ttdef"><b>Definition:</b> analyzer.h:471</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_ac6a38da661cd3681eb85abe1cd810422"><div class="ttname"><a href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422">tvm::arith::DivMode</a></div><div class="ttdeci">DivMode</div><div class="ttdef"><b>Definition:</b> analyzer.h:60</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432"><div class="ttname"><a href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aa6da1e276448319d25de8fe181872432">tvm::arith::kTruncDiv</a></div><div class="ttdeci">@ kTruncDiv</div><div class="ttdoc">Truncated division.</div><div class="ttdef"><b>Definition:</b> analyzer.h:62</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20"><div class="ttname"><a href="namespacetvm_1_1arith.html#ac6a38da661cd3681eb85abe1cd810422aad0250170b362173e1e2a2e3a6f13d20">tvm::arith::kFloorDiv</a></div><div class="ttdeci">@ kFloorDiv</div><div class="ttdoc">Floor division.</div><div class="ttdef"><b>Definition:</b> analyzer.h:64</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_aca8806e355ad3dd5f1df9c1eca9aac9da8812c1a077255594d23bc1c2f3af3979"><div class="ttname"><a href="namespacetvm_1_1arith.html#aca8806e355ad3dd5f1df9c1eca9aac9da8812c1a077255594d23bc1c2f3af3979">tvm::arith::kUnknown</a></div><div class="ttdeci">@ kUnknown</div><div class="ttdef"><b>Definition:</b> int_set.h:51</div></div>
+<div class="ttc" id="anamespacetvm_1_1arith_html_ae300654bf1788008de90f1e77fbaa7fe"><div class="ttname"><a href="namespacetvm_1_1arith.html#ae300654bf1788008de90f1e77fbaa7fe">tvm::arith::operator&</a></div><div class="ttdeci">constexpr CompareResult operator&(CompareResult lhs, CompareResult rhs)</div><div class="ttdef"><b>Definition:</b> analyzer.h:468</div></div>
<div class="ttc" id="anamespacetvm_1_1te_html_ae0c71f84710b436cbe0b32289d0838f4"><div class="ttname"><a href="namespacetvm_1_1te.html#ae0c71f84710b436cbe0b32289d0838f4">tvm::te::var</a></div><div class="ttdeci">Var var(std::string name_hint, DataType t=DataType::Int(32))</div><div class="ttdoc">Construct a new Var expression.</div></div>
<div class="ttc" id="anamespacetvm_1_1tirx_html_ae97ec08fd3edb5b1a83e46171c4a7939"><div class="ttname"><a href="namespacetvm_1_1tirx.html#ae97ec08fd3edb5b1a83e46171c4a7939">tvm::tirx::maximum</a></div><div class="ttdeci">const Op & maximum()</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &src, DataType dtype, const std::string name="T_shape", const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &src, DataType dtype, const std::string name="T_shape", const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1983</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
<div class="ttc" id="anamespacetvm_html_a0df5ca82d2c566f628ebb2f1e84a3fcb"><div class="ttname"><a href="namespacetvm.html#a0df5ca82d2c566f628ebb2f1e84a3fcb">tvm::max</a></div><div class="ttdeci">PrimExpr max(PrimExpr a, PrimExpr b, Span span=Span())</div><div class="ttdoc">take maximum of two values</div></div>
<div class="ttc" id="anamespacetvm_html_a3b37fa55ea93d6868751a2441996b072"><div class="ttname"><a href="namespacetvm.html#a3b37fa55ea93d6868751a2441996b072">tvm::min_value</a></div><div class="ttdeci">PrimExpr min_value(const DataType &dtype, Span span=Span())</div></div>
<div class="ttc" id="anamespacetvm_html_a4f1398024c0af23699447ef910b654b8"><div class="ttname"><a href="namespacetvm.html#a4f1398024c0af23699447ef910b654b8">tvm::max_value</a></div><div class="ttdeci">PrimExpr max_value(const DataType &dtype, Span span=Span())</div></div>
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index a063a620c18..49311733fb6 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -71,34 +71,35 @@ $(function() {
<tr id="row_0_0_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1arith.html" target="_self">arith</a></td><td class="desc">Namespace of arithmetic analysis </td></tr>
<tr id="row_0_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_self">ConstIntBoundNode</a></td><td class="desc">Constant integer up and lower bound(inclusive). Useful for value bound analysis </td></tr>
<tr id="row_0_0_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstIntBound.html" target="_self">ConstIntBound</a></td><td class="desc">Reference class to <a class="el" href="classtvm_1_1arith_1_1ConstIntBoundNode.html" title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">ConstIntBoundNode</a> </td></tr>
-<tr id="row_0_0_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html" target="_self">ConstIntBoundAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> to get constant integer bound over expression </td></tr>
+<tr id="row_0_0_2_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstIntBoundAnalyzer.html" target="_self">ConstIntBoundAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Managed reference to AnalyzerObj.">Analyzer</a> to get constant integer bound over expression </td></tr>
<tr id="row_0_0_3_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html" target="_self">ModularSetNode</a></td><td class="desc"><a class="el" href="classtvm_1_1Range.html" title="Range container">Range</a> of a linear integer function. Use to do specify the possible index values </td></tr>
<tr id="row_0_0_4_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ModularSet.html" target="_self">ModularSet</a></td><td class="desc">Reference of <a class="el" href="classtvm_1_1arith_1_1ModularSetNode.html" title="Range of a linear integer function. Use to do specify the possible index values.">ModularSetNode</a> </td></tr>
-<tr id="row_0_0_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html" target="_self">ModularSetAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> to get modular information over expression </td></tr>
+<tr id="row_0_0_5_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ModularSetAnalyzer.html" target="_self">ModularSetAnalyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Managed reference to AnalyzerObj.">Analyzer</a> to get modular information over expression </td></tr>
<tr id="row_0_0_6_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1RewriteSimplifier.html" target="_self">RewriteSimplifier</a></td><td class="desc">Rewrite-rule based simplifier </td></tr>
<tr id="row_0_0_7_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1CanonicalSimplifier.html" target="_self">CanonicalSimplifier</a></td><td class="desc">Canonical-form based simplifier </td></tr>
<tr id="row_0_0_8_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1TransitiveComparisonAnalyzer.html" target="_self">TransitiveComparisonAnalyzer</a></td><td class="desc">Using previously specified knowns, compare the expressions provided </td></tr>
-<tr id="row_0_0_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html" target="_self">ConstraintContext</a></td><td class="desc">Constraint context </td></tr>
-<tr id="row_0_0_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">IntSetAnalyzer</a></td><td class="desc">Integer set analyzer </td></tr>
-<tr id="row_0_0_11_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" target="_self">Analyzer</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Analyzer that contains bunch of sub-analyzers.">Analyzer</a> that contains bunch of sub-analyzers </td></tr>
-<tr id="row_0_0_12_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" target="_self">IntSetNode</a></td><td class="desc">Base class of all Integer set containers. represent a set of integers in one dimension </td></tr>
-<tr id="row_0_0_13_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSet.html" target="_self">IntSet</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" title="Base class of all Integer set containers. represent a set of integers in one dimension.">IntSetNode</a> </td></tr>
-<tr id="row_0_0_14_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_self">IntGroupBoundsNode</a></td><td class="desc">Represent integer grouped bounds which are classified into lower bounds (inclusive), upper bounds (inclusive) and equalities. It also contains coefficient as a multiplier for the bounds, i.e., [...]
-<tr id="row_0_0_15_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html" target="_self">IntGroupBounds</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">IntGroupBoundsNod [...]
-<tr id="row_0_0_16_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_self">IntConstraintsNode</a></td><td class="desc">Represent integer constrains including (integer) variables, their ranges and the relations between them (either equations or inequalities) </td></tr>
-<tr id="row_0_0_17_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html" target="_self">IntConstraints</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html" title="Represent integer constrains including (integer) variables, their ranges and the relations between th..."> [...]
-<tr id="row_0_0_18_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_self">IntConstraintsTransformNode</a></td><td class="desc">We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a >= 0, b >= 0} and {m - n [...]
-<tr id="row_0_0_19_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html" target="_self">IntConstraintsTransform</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" title="We can have different set of variables to represent the same constraints. For e [...]
-<tr id="row_0_0_20_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html" target="_self">IterMapExprNode</a></td><td class="desc">Base class of all iter map expressions </td></tr>
-<tr id="row_0_0_21_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html" target="_self">IterMapExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html" title="Base class of all iter map expressions.">IterMapExprNode</a> </td></tr>
-<tr id="row_0_0_22_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html" target="_self">IterMarkNode</a></td><td class="desc">Mark the source as an iterator in [0, extent) </td></tr>
-<tr id="row_0_0_23_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMark.html" target="_self">IterMark</a></td><td class="desc">Managed reference to IterMarkExprNode </td></tr>
-<tr id="row_0_0_24_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html" target="_self">IterSplitExprNode</a></td><td class="desc">Split of an iterator </td></tr>
-<tr id="row_0_0_25_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_self">IterSplitExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html" title="Split of an iterator.">IterSplitExprNode</a> </td></tr>
-<tr id="row_0_0_26_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html" target="_self">IterSumExprNode</a></td><td class="desc">Fuse multiple iterators by summing them with scaling </td></tr>
-<tr id="row_0_0_27_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html" target="_self">IterSumExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html" title="Fuse multiple iterators by summing them with scaling.">IterSumExprNode</a> </td></tr>
-<tr id="row_0_0_28_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_self">IterMapResultNode</a></td><td class="desc">Result of DetectIterMap </td></tr>
-<tr id="row_0_0_29_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapResult.html" target="_self">IterMapResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html" title="Result of DetectIterMap.">IterMapResultNode</a> </td></tr>
+<tr id="row_0_0_9_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetAnalyzer.html" target="_self">IntSetAnalyzer</a></td><td class="desc">Integer set analyzer </td></tr>
+<tr id="row_0_0_10_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1AnalyzerObj.html" target="_self">AnalyzerObj</a></td><td class="desc"><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" title="Managed reference to AnalyzerObj.">Analyzer</a> that contains bunch of sub-analyzers </td></tr>
+<tr id="row_0_0_11_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1Analyzer.html" target="_self">Analyzer</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1AnalyzerObj.html" title="Analyzer that contains bunch of sub-analyzers.">AnalyzerObj</a> </td></tr>
+<tr id="row_0_0_12_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1ConstraintContext.html" target="_self">ConstraintContext</a></td><td class="desc">Constraint context </td></tr>
+<tr id="row_0_0_13_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" target="_self">IntSetNode</a></td><td class="desc">Base class of all Integer set containers. represent a set of integers in one dimension </td></tr>
+<tr id="row_0_0_14_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntSet.html" target="_self">IntSet</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntSetNode.html" title="Base class of all Integer set containers. represent a set of integers in one dimension.">IntSetNode</a> </td></tr>
+<tr id="row_0_0_15_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_self">IntGroupBoundsNode</a></td><td class="desc">Represent integer grouped bounds which are classified into lower bounds (inclusive), upper bounds (inclusive) and equalities. It also contains coefficient as a multiplier for the bounds, i.e., [...]
+<tr id="row_0_0_16_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntGroupBounds.html" target="_self">IntGroupBounds</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">IntGroupBoundsNod [...]
+<tr id="row_0_0_17_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_self">IntConstraintsNode</a></td><td class="desc">Represent integer constrains including (integer) variables, their ranges and the relations between them (either equations or inequalities) </td></tr>
+<tr id="row_0_0_18_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraints.html" target="_self">IntConstraints</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntConstraintsNode.html" title="Represent integer constrains including (integer) variables, their ranges and the relations between th..."> [...]
+<tr id="row_0_0_19_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_self">IntConstraintsTransformNode</a></td><td class="desc">We can have different set of variables to represent the same constraints. For example, the following two systems are equivalent, {a + b = 0 | a >= 0, b >= 0} and {m - n [...]
+<tr id="row_0_0_20_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransform.html" target="_self">IntConstraintsTransform</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" title="We can have different set of variables to represent the same constraints. For e [...]
+<tr id="row_0_0_21_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html" target="_self">IterMapExprNode</a></td><td class="desc">Base class of all iter map expressions </td></tr>
+<tr id="row_0_0_22_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapExpr.html" target="_self">IterMapExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterMapExprNode.html" title="Base class of all iter map expressions.">IterMapExprNode</a> </td></tr>
+<tr id="row_0_0_23_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMarkNode.html" target="_self">IterMarkNode</a></td><td class="desc">Mark the source as an iterator in [0, extent) </td></tr>
+<tr id="row_0_0_24_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMark.html" target="_self">IterMark</a></td><td class="desc">Managed reference to IterMarkExprNode </td></tr>
+<tr id="row_0_0_25_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html" target="_self">IterSplitExprNode</a></td><td class="desc">Split of an iterator </td></tr>
+<tr id="row_0_0_26_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSplitExpr.html" target="_self">IterSplitExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterSplitExprNode.html" title="Split of an iterator.">IterSplitExprNode</a> </td></tr>
+<tr id="row_0_0_27_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html" target="_self">IterSumExprNode</a></td><td class="desc">Fuse multiple iterators by summing them with scaling </td></tr>
+<tr id="row_0_0_28_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterSumExpr.html" target="_self">IterSumExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterSumExprNode.html" title="Fuse multiple iterators by summing them with scaling.">IterSumExprNode</a> </td></tr>
+<tr id="row_0_0_29_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_self">IterMapResultNode</a></td><td class="desc">Result of DetectIterMap </td></tr>
+<tr id="row_0_0_30_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1arith_1_1IterMapResult.html" target="_self">IterMapResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1arith_1_1IterMapResultNode.html" title="Result of DetectIterMap.">IterMapResultNode</a> </td></tr>
<tr id="row_0_1_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_0_1_" class="arrow" onclick="toggleFolder('0_1_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1ffi.html" target="_self">ffi</a></td><td class="desc"></td></tr>
<tr id="row_0_1_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html" target="_self">TypeTraits< PrimExpr ></a></td><td class="desc"></td></tr>
<tr id="row_0_1_1_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html" target="_self">TypeTraits< IntImm ></a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/arg__info_8h_source.html b/docs/reference/api/doxygen/arg__info_8h_source.html
index b9bb5351841..9371c904fe0 100644
--- a/docs/reference/api/doxygen/arg__info_8h_source.html
+++ b/docs/reference/api/doxygen/arg__info_8h_source.html
@@ -176,8 +176,8 @@ $(function() {
<div class="ttc" id="adata__type_8h_html"><div class="ttname"><a href="data__type_8h.html">data_type.h</a></div></div>
<div class="ttc" id="amodule_8h_html"><div class="ttname"><a href="module_8h.html">module.h</a></div><div class="ttdoc">IRModule that holds the functions and type definitions.</div></div>
<div class="ttc" id="anamespacetvm_1_1topi_html_aaa95d3ad68932ab206efbe0a326db6a2"><div class="ttname"><a href="namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2">tvm::topi::mod</a></div><div class="ttdeci">tvm::PrimExpr mod(const tvm::PrimExpr &a, const tvm::PrimExpr &b)</div><div class="ttdef"><b>Definition:</b> broadcast.h:308</div></div>
-<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &src, DataType dtype, const std::string name="T_shape", const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1984</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_1_1topi_html_af30c02f3a3f37c7963b3af60fb9c72a1"><div class="ttname"><a href="namespacetvm_1_1topi.html#af30c02f3a3f37c7963b3af60fb9c72a1">tvm::topi::shape</a></div><div class="ttdeci">Tensor shape(const Tensor &src, DataType dtype, const std::string name="T_shape", const std::string tag=kInjective)</div><div class="ttdoc">Get the shape of input tensor.</div><div class="ttdef"><b>Definition:</b> transform.h:1983</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
<div class="ttc" id="atirx_2function_8h_html"><div class="ttname"><a href="tirx_2function_8h.html">function.h</a></div><div class="ttdoc">TIR Function.</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/reference/api/doxygen/array__utils_8h.html b/docs/reference/api/doxygen/array__utils_8h.html
index 8e89d5abe19..cc75f4161a8 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="6032" height="1455"><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="6070" height="1455"><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 d10a8442c78..c1dbff2f1cf 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="4524pt" height="1091pt"
- viewBox="0.00 0.00 4524.00 1091.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="4552pt" height="1091pt"
+ viewBox="0.00 0.00 4552.00 1091.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 1087)">
<title>include/tvm/topi/detail/array_utils.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1087 4520,-1087 4520,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1087 4548,-1087 4548,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="3703.5,-1052.5 3703.5,-1082.5 3830.5,-1082.5 3830.5,-1052.5 3703.5,-1052.5"/>
-<text text-anchor="start" x="3711.5" y="-1070.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="3767" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00">/array_utils.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="1255.5,-1052.5 1255.5,-1082.5 1382.5,-1082.5 1382.5,-1052.5 1255.5,-1052.5"/>
+<text text-anchor="start" x="1263.5" y="-1070.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="1319" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00">/array_utils.h</text>
</a>
</g>
</g>
@@ -23,2129 +23,2141 @@
<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="3713.5,-996.5 3713.5,-1015.5 3820.5,-1015.5 3820.5,-996.5 3713.5,-996.5"/>
-<text text-anchor="middle" x="3767" y="-1003.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/operation.h</text>
+<polygon fill="white" stroke="black" points="1265.5,-996.5 1265.5,-1015.5 1372.5,-1015.5 1372.5,-996.5 1265.5,-996.5"/>
+<text text-anchor="middle" x="1319" y="-1003.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/operation.h</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge">
<title>Node1->Node2</title>
-<path fill="none" stroke="midnightblue" d="M3767,-1052.4C3767,-1044.47 3767,-1034.46 3767,-1025.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3770.5,-1025.66 3767,-1015.66 3763.5,-1025.66 3770.5,-1025.66"/>
+<path fill="none" stroke="midnightblue" d="M1319,-1052.4C1319,-1044.47 1319,-1034.46 1319,-1025.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1322.5,-1025.66 1319,-1015.66 1315.5,-1025.66 1322.5,-1025.66"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="analyzer_8h.html" target="_top" xlink:title="Algebra expression simplifications.">
-<polygon fill="white" stroke="black" points="3852.5,-884.5 3852.5,-903.5 3967.5,-903.5 3967.5,-884.5 3852.5,-884.5"/>
-<text text-anchor="middle" x="3910" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/analyzer.h</text>
+<polygon fill="white" stroke="black" points="809.5,-884.5 809.5,-903.5 924.5,-903.5 924.5,-884.5 809.5,-884.5"/>
+<text text-anchor="middle" x="867" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/analyzer.h</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge">
<title>Node2->Node3</title>
-<path fill="none" stroke="midnightblue" d="M3782.18,-996.4C3796.9,-987.82 3819.64,-973.95 3838,-960 3858.4,-944.5 3879.98,-924.47 3894.14,-910.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3896.85,-913 3901.55,-903.51 3891.95,-908 3896.85,-913"/>
+<path fill="none" stroke="midnightblue" d="M1265.37,-1005.48C1194.81,-1004.49 1067.92,-997.04 967,-960 935.48,-948.43 903.77,-925.44 884.75,-910.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="886.9,-907.37 876.96,-903.71 882.45,-912.77 886.9,-907.37"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3715,-56.5 3715,-86.5 3813,-86.5 3813,-56.5 3715,-56.5"/>
-<text text-anchor="start" x="3723" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="3764" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1091,-56.5 1091,-86.5 1189,-86.5 1189,-56.5 1091,-56.5"/>
+<text text-anchor="start" x="1099" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="1140" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
</a>
</g>
</g>
<!-- Node2->Node7 -->
-<g id="edge180" class="edge">
+<g id="edge182" class="edge">
<title>Node2->Node7</title>
-<path fill="none" stroke="midnightblue" d="M3820.79,-1004.79C3912.9,-1003.39 4106.26,-995.98 4265,-960 4345.92,-941.66 4440,-977.97 4440,-895 4440,-895 4440,-895 4440,-316.5 4440,-228.97 4375.23,-222.02 4299,-179 4229.35,-139.69 4205.92,-141.01 4128,-123 4071.35,-109.9 3910.82,-89.85 3823.07,-79.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.35,-75.9 3813,-78.2 3822.52,-82.85 3823.35,-75.9"/>
+<path fill="none" stroke="midnightblue" d="M1265.19,-1003.65C1045.62,-997.73 224.73,-971.22 132,-904 80.4,-866.6 76,-835.73 76,-772 76,-772 76,-772 76,-658 76,-568.5 190,-581.5 190,-492 190,-492 190,-492 190,-434 190,-290.49 616.78,-157.83 756,-123 868.76,-94.79 1004.34,-81.65 1080.49,-76.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1081.11,-79.56 1090.84,-75.36 1080.61,-72.58 1081.11,-79.56"/>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="cow_8h.html" target="_top" xlink:title="Copy-on-write helper macro for IR ffi::ObjectRef types.">
-<polygon fill="white" stroke="black" points="1986.5,-179.5 1986.5,-198.5 2063.5,-198.5 2063.5,-179.5 1986.5,-179.5"/>
-<text text-anchor="middle" x="2025" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cow.h</text>
+<polygon fill="white" stroke="black" points="1944.5,-179.5 1944.5,-198.5 2021.5,-198.5 2021.5,-179.5 1944.5,-179.5"/>
+<text text-anchor="middle" x="1983" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cow.h</text>
</a>
</g>
</g>
<!-- Node2->Node17 -->
-<g id="edge181" class="edge">
+<g id="edge183" class="edge">
<title>Node2->Node17</title>
-<path fill="none" stroke="midnightblue" d="M3713.24,-1004.9C3396.36,-1003.98 1786,-994.38 1786,-895 1786,-895 1786,-895 1786,-831.5 1786,-558.99 1965.77,-532.44 2023,-266 2027.11,-246.87 2027.13,-224.42 2026.42,-208.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2029.89,-208.32 2025.79,-198.56 2022.9,-208.75 2029.89,-208.32"/>
+<path fill="none" stroke="midnightblue" d="M1313.2,-996.09C1305.76,-983.5 1294.52,-959.81 1301,-940 1310.59,-910.68 1320.21,-905.84 1342,-884 1473.13,-752.58 1931.2,-554.66 2015,-389 2029.75,-359.85 1995.66,-381.57 1973,-266 1969.21,-246.66 1973.15,-224.27 1977.14,-208.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1980.58,-209.53 1979.95,-198.95 1973.85,-207.61 1980.58,-209.53"/>
</g>
<!-- Node24 -->
<g id="node24" class="node">
<title>Node24</title>
<g id="a_node24"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3037,-62 3037,-81 3081,-81 3081,-62 3037,-62"/>
-<text text-anchor="middle" x="3059" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="3593,-62 3593,-81 3637,-81 3637,-62 3593,-62"/>
+<text text-anchor="middle" x="3615" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node2->Node24 -->
-<g id="edge245" class="edge">
+<g id="edge247" class="edge">
<title>Node2->Node24</title>
-<path fill="none" stroke="midnightblue" d="M3775.17,-996.38C3790.93,-978.81 3824,-936.94 3824,-895 3824,-895 3824,-895 3824,-546 3824,-448 3787.11,-428.91 3767,-333 3757.96,-289.87 3766.51,-276.61 3752,-235 3742.56,-207.93 3741.29,-198.19 3720,-179 3674.17,-137.7 3652.7,-138.55 3593,-123 3407.6,-74.71 3175.31,-71.42 3091.24,-71.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.02,-68.49 3081.05,-72.08 3091.08,-75.49 3091.02,-68.49"/>
+<path fill="none" stroke="midnightblue" d="M1372.62,-1004.62C1793.05,-1001.48 4544,-977.79 4544,-895 4544,-895 4544,-895 4544,-249.5 4544,-139.34 4297.83,-126.07 4281,-123 4040.2,-79.07 3743.7,-73.25 3647.07,-72.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.08,-69.06 3637.06,-72.5 3647.04,-76.06 3647.08,-69.06"/>
</g>
<!-- Node25 -->
<g id="node25" class="node">
<title>Node25</title>
<g id="a_node25"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3911.5,-62 3911.5,-81 3958.5,-81 3958.5,-62 3911.5,-62"/>
-<text text-anchor="middle" x="3935" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
+<polygon fill="white" stroke="#bfbfbf" points="261.5,-62 261.5,-81 308.5,-81 308.5,-62 261.5,-62"/>
+<text text-anchor="middle" x="285" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node2->Node25 -->
-<g id="edge247" class="edge">
+<g id="edge249" class="edge">
<title>Node2->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3820.64,-1003.02C3945.98,-998.06 4255.05,-983.75 4356,-960 4430.72,-942.42 4516,-971.76 4516,-895 4516,-895 4516,-895 4516,-188 4516,-75.7 4093.19,-70.95 3968.94,-71.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3968.82,-68.48 3958.86,-72.08 3968.89,-75.48 3968.82,-68.48"/>
+<path fill="none" stroke="midnightblue" d="M1265.21,-1004.1C1078.92,-1000.77 461.99,-987.86 266,-960 145.51,-942.87 0,-1016.7 0,-895 0,-895 0,-895 0,-188 0,-151.28 19.87,-142.47 51,-123 114.06,-83.55 203.31,-74.58 251.31,-72.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="251.58,-76.24 261.47,-72.45 251.37,-69.25 251.58,-76.24"/>
</g>
<!-- Node34 -->
<g id="node34" class="node">
<title>Node34</title>
<g id="a_node34"><a xlink:href="tirx_2expr_8h.html" target="_top" xlink:title="TIR expressions.">
-<polygon fill="white" stroke="black" points="944.5,-761.5 944.5,-780.5 1033.5,-780.5 1033.5,-761.5 944.5,-761.5"/>
-<text text-anchor="middle" x="989" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/expr.h</text>
+<polygon fill="white" stroke="black" points="3397.5,-761.5 3397.5,-780.5 3486.5,-780.5 3486.5,-761.5 3397.5,-761.5"/>
+<text text-anchor="middle" x="3442" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/expr.h</text>
</a>
</g>
</g>
<!-- Node2->Node34 -->
-<g id="edge243" class="edge">
+<g id="edge245" class="edge">
<title>Node2->Node34</title>
-<path fill="none" stroke="midnightblue" d="M3713.4,-1005.04C3397.48,-1005.15 1775.4,-1003.54 1279,-960 1038.73,-938.93 890.52,-1042.58 748,-848 699.73,-782.11 849.14,-771.86 934.23,-771.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="934.28,-774.67 944.27,-771.13 934.26,-767.67 934.28,-774.67"/>
+<path fill="none" stroke="midnightblue" d="M1372.81,-1003.83C1661.12,-997.35 3025.51,-963.96 3443,-904 3554.42,-888 3619.75,-935.96 3690,-848 3742.78,-781.91 3584.63,-771.89 3496.64,-771.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3496.55,-767.74 3486.54,-771.2 3496.53,-774.74 3496.55,-767.74"/>
</g>
<!-- Node39 -->
<g id="node39" class="node">
<title>Node39</title>
<g id="a_node39"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3585.5,-241 3585.5,-260 3678.5,-260 3678.5,-241 3585.5,-241"/>
-<text text-anchor="middle" x="3632" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="752.5,-241 752.5,-260 845.5,-260 845.5,-241 752.5,-241"/>
+<text text-anchor="middle" x="799" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
</a>
</g>
</g>
<!-- Node2->Node39 -->
-<g id="edge246" class="edge">
+<g id="edge248" class="edge">
<title>Node2->Node39</title>
-<path fill="none" stroke="midnightblue" d="M3820.6,-1003.95C3950.03,-1000.16 4273.85,-982.83 4340,-904 4345.71,-897.19 4340.28,-892.88 4340,-884 4336.89,-784.3 4326,-759.75 4326,-660 4326,-660 4326,-660 4326,-602 4326,-416.25 4213.09,-354.82 4035,-302 3915.15,-266.45 3768.02,-255.92 3688.87,-252.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3688.76,-249.3 3678.63,-252.43 3688.5,-256.29 3688.76,-249.3"/>
+<path fill="none" stroke="midnightblue" d="M1265.44,-998.82C1170.14,-986.33 981,-954.09 981,-895 981,-895 981,-895 981,-490 981,-385.78 869.8,-298.77 821.24,-265.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="822.94,-262.67 812.68,-260.04 819.06,-268.49 822.94,-262.67"/>
</g>
<!-- Node41 -->
<g id="node41" class="node">
<title>Node41</title>
<g id="a_node41"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n-dimensional array, to represent a memory buffer.">
-<polygon fill="white" stroke="black" points="1434.5,-705.5 1434.5,-724.5 1529.5,-724.5 1529.5,-705.5 1434.5,-705.5"/>
-<text text-anchor="middle" x="1482" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/buffer.h</text>
+<polygon fill="white" stroke="black" points="3598.5,-705.5 3598.5,-724.5 3693.5,-724.5 3693.5,-705.5 3598.5,-705.5"/>
+<text text-anchor="middle" x="3646" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/buffer.h</text>
</a>
</g>
</g>
<!-- Node2->Node41 -->
-<g id="edge242" class="edge">
+<g id="edge244" class="edge">
<title>Node2->Node41</title>
-<path fill="none" stroke="midnightblue" d="M3713.32,-1005.27C3435.98,-1006.47 2163.22,-1009.13 1772,-960 1644.81,-944.03 1491,-1023.19 1491,-895 1491,-895 1491,-895 1491,-831.5 1491,-797.26 1487.02,-757.48 1484.35,-734.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1487.82,-734.18 1483.14,-724.68 1480.87,-735.02 1487.82,-734.18"/>
+<path fill="none" stroke="midnightblue" d="M1372.7,-1004.34C1760.47,-999.39 4117,-966.38 4117,-895 4117,-895 4117,-895 4117,-831.5 4117,-747.36 3829.87,-724.2 3703.98,-718.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3703.91,-714.58 3693.75,-717.61 3703.58,-721.57 3703.91,-714.58"/>
</g>
<!-- Node61 -->
<g id="node61" class="node">
<title>Node61</title>
<g id="a_node61"><a xlink:href="te_2tensor_8h.html" target="_top" xlink:title="Dataflow tensor object.">
-<polygon fill="white" stroke="black" points="3664.5,-940.5 3664.5,-959.5 3755.5,-959.5 3755.5,-940.5 3664.5,-940.5"/>
-<text text-anchor="middle" x="3710" y="-947.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/tensor.h</text>
+<polygon fill="white" stroke="black" points="1310.5,-940.5 1310.5,-959.5 1401.5,-959.5 1401.5,-940.5 1310.5,-940.5"/>
+<text text-anchor="middle" x="1356" y="-947.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/te/tensor.h</text>
</a>
</g>
</g>
<!-- Node2->Node61 -->
-<g id="edge182" class="edge">
+<g id="edge184" class="edge">
<title>Node2->Node61</title>
-<path fill="none" stroke="midnightblue" d="M3757.84,-996.32C3749.5,-988.42 3736.97,-976.55 3726.82,-966.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3728.99,-964.17 3719.32,-959.83 3724.18,-969.25 3728.99,-964.17"/>
+<path fill="none" stroke="midnightblue" d="M1325.11,-996.08C1330.28,-988.53 1337.85,-977.49 1344.19,-968.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1347.24,-969.98 1350,-959.75 1341.46,-966.02 1347.24,-969.98"/>
</g>
<!-- Node65 -->
<g id="node65" class="node">
<title>Node65</title>
<g id="a_node65"><a xlink:href="tirx_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr.">
-<polygon fill="white" stroke="black" points="934,-884.5 934,-903.5 1014,-903.5 1014,-884.5 934,-884.5"/>
-<text text-anchor="middle" x="974" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/op.h</text>
+<polygon fill="white" stroke="black" points="3354,-884.5 3354,-903.5 3434,-903.5 3434,-884.5 3354,-884.5"/>
+<text text-anchor="middle" x="3394" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/op.h</text>
</a>
</g>
</g>
<!-- Node2->Node65 -->
-<g id="edge244" class="edge">
+<g id="edge246" class="edge">
<title>Node2->Node65</title>
-<path fill="none" stroke="midnightblue" d="M3713.09,-1004.74C3411.65,-1003.16 1932.05,-993.77 1477,-960 1310.43,-947.64 1114.54,-917.91 1024.23,-903.34"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1024.7,-899.87 1014.27,-901.72 1023.58,-906.78 1024.7,-899.87"/>
+<path fill="none" stroke="midnightblue" d="M1372.65,-1002.89C1602.63,-993.71 2527.96,-955.39 3287,-904 3305.59,-902.74 3325.97,-901.09 3343.91,-899.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3344.22,-903.04 3353.88,-898.69 3343.62,-896.07 3344.22,-903.04"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="int__set_8h.html" target="_top" xlink:title="Integer set.">
-<polygon fill="white" stroke="black" points="1814.5,-823 1814.5,-842 1921.5,-842 1921.5,-823 1814.5,-823"/>
-<text text-anchor="middle" x="1868" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
+<polygon fill="white" stroke="black" points="2907.5,-823 2907.5,-842 3014.5,-842 3014.5,-823 2907.5,-823"/>
+<text text-anchor="middle" x="2961" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
</a>
</g>
</g>
<!-- Node3->Node4 -->
<g id="edge3" class="edge">
<title>Node3->Node4</title>
-<path fill="none" stroke="midnightblue" d="M3852.3,-893.14C3568.76,-893.62 2321.38,-893.08 1936,-848 1928.16,-847.08 1919.89,-845.69 1911.92,-844.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1912.54,-840.67 1902.04,-842.06 1911.11,-847.53 1912.54,-840.67"/>
+<path fill="none" stroke="midnightblue" d="M924.79,-893.18C1212.99,-893.87 2496.81,-894.23 2893,-848 2900.84,-847.09 2909.11,-845.69 2917.08,-844.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2917.89,-847.53 2926.96,-842.07 2916.46,-840.68 2917.89,-847.53"/>
</g>
<!-- Node5 -->
<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="1168.5,-241 1168.5,-260 1247.5,-260 1247.5,-241 1168.5,-241"/>
-<text text-anchor="middle" x="1208" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="3258.5,-241 3258.5,-260 3337.5,-260 3337.5,-241 3258.5,-241"/>
+<text text-anchor="middle" x="3298" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
</a>
</g>
</g>
<!-- Node3->Node5 -->
-<g id="edge174" class="edge">
+<g id="edge175" class="edge">
<title>Node3->Node5</title>
-<path fill="none" stroke="midnightblue" d="M3852.31,-891.82C3661.51,-887.7 3052.01,-872.89 2857,-848 2480.51,-799.95 2388.32,-768.29 2022,-669 1791.66,-606.57 1719.09,-619.6 1512,-501 1395.86,-434.49 1392.68,-382.81 1286,-302 1268.26,-288.56 1247,-274.95 1231.15,-265.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1232.88,-262.2 1222.52,-260.01 1229.26,-268.19 1232.88,-262.2"/>
+<path fill="none" stroke="midnightblue" d="M924.5,-892.88C1096.83,-892.09 1623.99,-886.46 2059,-848 2164.72,-838.65 3005,-822.13 3005,-716 3005,-716 3005,-716 3005,-658 3005,-472.3 3208.71,-313.66 3276.42,-266.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3278.81,-268.66 3285.03,-260.09 3274.82,-262.91 3278.81,-268.66"/>
</g>
<!-- Node3->Node7 -->
-<g id="edge173" class="edge">
+<g id="edge174" class="edge">
<title>Node3->Node7</title>
-<path fill="none" stroke="midnightblue" d="M3967.62,-890.65C4019.31,-886.68 4096.16,-876.1 4157,-848 4205.46,-825.62 4250,-825.38 4250,-772 4250,-772 4250,-772 4250,-602 4250,-372.81 4257.17,-238.14 4059,-123 4038.94,-111.34 3903.27,-91.37 3823.08,-80.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.49,-76.88 3813.11,-79 3822.54,-83.82 3823.49,-76.88"/>
+<path fill="none" stroke="midnightblue" d="M809.39,-892.72C665.91,-890.46 304,-874.6 304,-772 304,-772 304,-772 304,-434 304,-299.74 692.89,-159.85 822,-123 910.4,-97.77 1016.45,-84.12 1081,-77.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1081.39,-81.06 1090.99,-76.59 1080.7,-74.09 1081.39,-81.06"/>
+</g>
+<!-- Node11 -->
+<g id="node11" class="node">
+<title>Node11</title>
+<g id="a_node11"><a xlink:title=" ">
+<polygon fill="white" stroke="#bfbfbf" points="2702.5,-123.5 2702.5,-142.5 2783.5,-142.5 2783.5,-123.5 2702.5,-123.5"/>
+<text text-anchor="middle" x="2743" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
+</a>
+</g>
+</g>
+<!-- Node3->Node11 -->
+<g id="edge173" class="edge">
+<title>Node3->Node11</title>
+<path fill="none" stroke="midnightblue" d="M901.56,-884.41C1148.62,-822.98 2637.18,-452.66 2646,-445 2735.71,-367.09 2743.51,-207.61 2743.42,-152.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2746.91,-152.59 2743.3,-142.63 2739.91,-152.67 2746.91,-152.59"/>
+</g>
+<!-- Node16 -->
+<g id="node16" class="node">
+<title>Node16</title>
+<g id="a_node16"><a xlink:title=" ">
+<polygon fill="white" stroke="#bfbfbf" points="737.5,-62 737.5,-81 782.5,-81 782.5,-62 737.5,-62"/>
+<text text-anchor="middle" x="760" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+</a>
+</g>
+</g>
+<!-- Node3->Node16 -->
+<g id="edge180" class="edge">
+<title>Node3->Node16</title>
+<path fill="none" stroke="midnightblue" d="M809.36,-891.07C672.35,-886.12 335.23,-871.67 290,-848 251.38,-827.79 228,-815.59 228,-772 228,-772 228,-772 228,-434 228,-373.84 174.98,-357.58 198,-302 251.55,-172.72 325.39,-170.54 457,-123 551.24,-88.96 670.37,-77.68 727.08,-74.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="727.47,-77.58 737.25,-73.49 727.06,-70.59 727.47,-77.58"/>
</g>
<!-- Node3->Node25 -->
-<g id="edge179" class="edge">
+<g id="edge181" class="edge">
<title>Node3->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3967.51,-893C4056.07,-891.81 4220.19,-884.58 4264,-848 4291.19,-825.3 4288,-807.42 4288,-772 4288,-772 4288,-772 4288,-602 4288,-466.68 4368.69,-434.25 4340,-302 4327.27,-243.3 4318.01,-228.51 4284,-179 4264.25,-150.24 4259.91,-139.18 4229,-123 4143.22,-78.1 4025.94,-71.85 3968.91,-71.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3968.64,-68.24 3958.66,-71.79 3968.67,-75.24 3968.64,-68.24"/>
+<path fill="none" stroke="midnightblue" d="M809.36,-892.16C663.17,-889.55 286.26,-879.8 240,-848 163.98,-795.73 152,-752.26 152,-660 152,-660 152,-660 152,-490 152,-406.63 76,-401.87 76,-318.5 76,-318.5 76,-318.5 76,-188 76,-108.8 192.38,-83.49 251.45,-75.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="251.93,-79.21 261.43,-74.53 251.08,-72.26 251.93,-79.21"/>
</g>
<!-- Node33 -->
<g id="node33" class="node">
<title>Node33</title>
<g id="a_node33"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="687,-179.5 687,-198.5 731,-198.5 731,-179.5 687,-179.5"/>
-<text text-anchor="middle" x="709" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
+<polygon fill="white" stroke="#bfbfbf" points="4205,-179.5 4205,-198.5 4249,-198.5 4249,-179.5 4205,-179.5"/>
+<text text-anchor="middle" x="4227" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
</a>
</g>
</g>
<!-- Node3->Node33 -->
-<g id="edge176" class="edge">
+<g id="edge177" class="edge">
<title>Node3->Node33</title>
-<path fill="none" stroke="midnightblue" d="M3852.47,-892.85C3484.59,-891.81 1468.38,-884.44 1197,-848 1142.97,-840.74 765.42,-757.97 722,-725 695.35,-704.76 684,-693.46 684,-660 684,-660 684,-660 684,-434 684,-349.54 699.01,-249.48 705.77,-208.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="709.22,-209.27 707.44,-198.83 702.32,-208.11 709.22,-209.27"/>
+<path fill="none" stroke="midnightblue" d="M924.62,-892.76C1266.06,-891.25 3017.18,-881.9 3254,-848 3305.98,-840.56 3316.5,-827.26 3368,-817 3454.46,-799.78 4155,-804.16 4155,-716 4155,-716 4155,-716 4155,-658 4155,-480.94 4209,-442.24 4226,-266 4227.86,-246.74 4227.92,-224.61 4227.63,-209.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4231.12,-208.82 4227.36,-198.92 4224.12,-209.01 4231.12,-208.82"/>
</g>
<!-- Node3->Node39 -->
-<g id="edge178" class="edge">
+<g id="edge179" class="edge">
<title>Node3->Node39</title>
-<path fill="none" stroke="midnightblue" d="M3967.72,-891.11C4045.13,-885.15 4173,-861.71 4173,-772 4173,-772 4173,-772 4173,-434 4173,-324.51 4067.55,-340.36 3965,-302 3872.28,-267.31 3756.55,-256.42 3688.8,-253.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3688.91,-249.52 3678.75,-252.55 3688.58,-256.51 3688.91,-249.52"/>
+<path fill="none" stroke="midnightblue" d="M867,-884.49C867,-864.74 867,-814.22 867,-772 867,-772 867,-772 867,-490 867,-404.63 826.21,-308.43 807.81,-269.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="810.95,-267.83 803.46,-260.34 804.64,-270.87 810.95,-267.83"/>
</g>
<!-- Node49 -->
<g id="node49" class="node">
<title>Node49</title>
<g id="a_node49"><a xlink:href="with__context_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python's with syntax.">
-<polygon fill="white" stroke="black" points="3833.5,-369.5 3833.5,-388.5 3954.5,-388.5 3954.5,-369.5 3833.5,-369.5"/>
-<text text-anchor="middle" x="3894" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/with_context.h</text>
+<polygon fill="white" stroke="black" points="636.5,-369.5 636.5,-388.5 757.5,-388.5 757.5,-369.5 636.5,-369.5"/>
+<text text-anchor="middle" x="697" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/with_context.h</text>
</a>
</g>
</g>
<!-- Node3->Node49 -->
-<g id="edge175" class="edge">
+<g id="edge176" class="edge">
<title>Node3->Node49</title>
-<path fill="none" stroke="midnightblue" d="M3913.43,-884.35C3920.91,-864.72 3938,-815.12 3938,-772 3938,-772 3938,-772 3938,-490 3938,-455.04 3918.6,-418.01 3905.57,-397.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3908.49,-395.15 3900.12,-388.65 3902.61,-398.95 3908.49,-395.15"/>
+<path fill="none" stroke="midnightblue" d="M820.03,-884.43C763.77,-871.13 677,-839.66 677,-772 677,-772 677,-772 677,-490 677,-457.44 685.59,-420.32 691.51,-398.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="694.94,-399.32 694.3,-388.74 688.21,-397.41 694.94,-399.32"/>
</g>
<!-- Node51 -->
<g id="node51" class="node">
<title>Node51</title>
<g id="a_node51"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3776,-308 3776,-327 3834,-327 3834,-308 3776,-308"/>
-<text text-anchor="middle" x="3805" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
+<polygon fill="white" stroke="#bfbfbf" points="720,-308 720,-327 778,-327 778,-308 720,-308"/>
+<text text-anchor="middle" x="749" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
</a>
</g>
</g>
<!-- Node3->Node51 -->
-<g id="edge177" class="edge">
+<g id="edge178" class="edge">
<title>Node3->Node51</title>
-<path fill="none" stroke="midnightblue" d="M3908.77,-884.21C3906.1,-864.3 3900,-814.16 3900,-772 3900,-772 3900,-772 3900,-546 3900,-468.67 3852.32,-461.35 3825,-389 3818.55,-371.91 3813.04,-351.81 3809.45,-337.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3812.75,-336.23 3807,-327.34 3805.95,-337.88 3812.75,-336.23"/>
+<path fill="none" stroke="midnightblue" d="M856.75,-884.47C836.01,-866.18 791,-820.87 791,-772 791,-772 791,-772 791,-434 791,-397.36 772.11,-357.91 759.66,-335.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="762.57,-333.95 754.49,-327.09 756.53,-337.49 762.57,-333.95"/>
</g>
<!-- Node4->Node5 -->
<g id="edge4" class="edge">
<title>Node4->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1845.96,-822.88C1779.88,-796.57 1578.86,-712.95 1430,-613 1362.28,-567.53 1292,-573.57 1292,-492 1292,-492 1292,-492 1292,-378 1292,-331.34 1251.85,-288.73 1227.06,-266.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1229.21,-264.11 1219.33,-260.28 1224.67,-269.43 1229.21,-264.11"/>
+<path fill="none" stroke="midnightblue" d="M2973.22,-822.88C2985.79,-813.57 3005.4,-797.82 3019,-781 3126.33,-648.28 3126.66,-596.65 3205,-445 3238.02,-381.08 3274.12,-303.54 3289.88,-269.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3293.11,-270.62 3294.09,-260.07 3286.74,-267.7 3293.11,-270.62"/>
</g>
<!-- Node4->Node34 -->
<g id="edge48" class="edge">
<title>Node4->Node34</title>
-<path fill="none" stroke="midnightblue" d="M1814.34,-827.87C1657.75,-817.27 1202.49,-786.45 1044.09,-775.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1043.87,-772.21 1033.65,-775.02 1043.39,-779.19 1043.87,-772.21"/>
+<path fill="none" stroke="midnightblue" d="M3014.63,-823.99C3031.39,-821.69 3049.96,-819.19 3067,-817 3180.59,-802.42 3313.74,-786.79 3386.89,-778.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3387.7,-781.75 3397.23,-777.13 3386.9,-774.8 3387.7,-781.75"/>
</g>
<!-- Node4->Node39 -->
<g id="edge172" class="edge">
<title>Node4->Node39</title>
-<path fill="none" stroke="midnightblue" d="M1921.79,-828.5C2174.9,-814 3240.19,-748.62 3364,-669 3523.57,-566.38 3465.95,-452.08 3582,-302 3591.77,-289.37 3604.44,-276.6 3614.58,-267.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3617.08,-269.52 3622.06,-260.18 3612.34,-264.37 3617.08,-269.52"/>
+<path fill="none" stroke="midnightblue" d="M2907.32,-828.88C2710.8,-818.94 2031.2,-781.17 1822,-725 1477.05,-632.39 1402.79,-565 1092,-389 1053.6,-367.25 1045.35,-359.42 1010,-333 992.54,-319.95 991.29,-312.15 972,-302 968.96,-300.4 888.86,-277.28 838.73,-262.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="839.41,-259.44 828.83,-260.05 837.48,-266.17 839.41,-259.44"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1238,-179.5 1238,-198.5 1374,-198.5 1374,-179.5 1238,-179.5"/>
-<text text-anchor="middle" x="1306" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/dataclass.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3145,-179.5 3145,-198.5 3281,-198.5 3281,-179.5 3145,-179.5"/>
+<text text-anchor="middle" x="3213" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/dataclass.h</text>
</a>
</g>
</g>
<!-- Node5->Node6 -->
<g id="edge5" class="edge">
<title>Node5->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1222.04,-240.98C1238.05,-231.25 1264.45,-215.23 1283.37,-203.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1285.25,-206.69 1291.99,-198.51 1281.62,-200.71 1285.25,-206.69"/>
+<path fill="none" stroke="midnightblue" d="M3285.82,-240.98C3272.19,-231.43 3249.87,-215.81 3233.53,-204.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3235.36,-201.38 3225.16,-198.51 3231.34,-207.11 3235.36,-201.38"/>
</g>
<!-- Node5->Node7 -->
<g id="edge6" class="edge">
<title>Node5->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1247.8,-247.87C1448.3,-239.64 2340.38,-202.96 2399,-199 2905.26,-164.83 3515.02,-99.84 3704.75,-79.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3705.24,-82.53 3714.8,-77.96 3704.47,-75.57 3705.24,-82.53"/>
+<path fill="none" stroke="midnightblue" d="M3273.86,-240.95C3266.31,-238.62 3257.89,-236.37 3250,-235 2930.36,-179.69 2844.76,-219.32 2521,-199 2194.03,-178.47 2109.07,-197.36 1786,-143 1751.56,-137.21 1744.41,-129.01 1710,-123 1525.5,-90.79 1303.62,-78.63 1199.47,-74.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1199.29,-70.95 1189.16,-74.06 1199.02,-77.95 1199.29,-70.95"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1054.5,-179.5 1054.5,-198.5 1143.5,-198.5 1143.5,-179.5 1054.5,-179.5"/>
-<text text-anchor="middle" x="1099" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3421.5,-179.5 3421.5,-198.5 3510.5,-198.5 3510.5,-179.5 3421.5,-179.5"/>
+<text text-anchor="middle" x="3466" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
</a>
</g>
</g>
<!-- Node5->Node8 -->
<g id="edge7" class="edge">
<title>Node5->Node8</title>
-<path fill="none" stroke="midnightblue" d="M1192.38,-240.98C1174.41,-231.17 1144.68,-214.93 1123.59,-203.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1125.04,-200.23 1114.59,-198.51 1121.69,-206.37 1125.04,-200.23"/>
+<path fill="none" stroke="midnightblue" d="M3322.07,-240.98C3351.01,-230.72 3399.76,-213.46 3432.4,-201.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3433.72,-205.15 3441.97,-198.51 3431.38,-198.55 3433.72,-205.15"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="cast_8h.html" target="_top" xlink:title="Value casting helpers.">
-<polygon fill="white" stroke="black" points="2234,-179.5 2234,-198.5 2312,-198.5 2312,-179.5 2234,-179.5"/>
-<text text-anchor="middle" x="2273" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cast.h</text>
+<polygon fill="white" stroke="black" points="2530,-179.5 2530,-198.5 2608,-198.5 2608,-179.5 2530,-179.5"/>
+<text text-anchor="middle" x="2569" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cast.h</text>
</a>
</g>
</g>
<!-- Node5->Node9 -->
<g id="edge8" class="edge">
<title>Node5->Node9</title>
-<path fill="none" stroke="midnightblue" d="M1247.81,-247.28C1412.74,-238.06 2042.33,-202.89 2223.79,-192.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2224.05,-196.24 2233.84,-192.19 2223.66,-189.25 2224.05,-196.24"/>
+<path fill="none" stroke="midnightblue" d="M3273.35,-240.88C3265.93,-238.61 3257.71,-236.4 3250,-235 3128.57,-212.94 2753.81,-196.99 2618.43,-191.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2618.47,-188.31 2608.34,-191.42 2618.2,-195.3 2618.47,-188.31"/>
</g>
<!-- Node5->Node17 -->
<g id="edge16" class="edge">
<title>Node5->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1247.75,-247.17C1389.79,-238.81 1869.07,-210.26 1976.11,-198.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1976.76,-202.3 1986.29,-197.67 1975.95,-195.34 1976.76,-202.3"/>
+<path fill="none" stroke="midnightblue" d="M3273.87,-240.89C3266.32,-238.55 3257.9,-236.31 3250,-235 3128.43,-214.83 2249.89,-195.51 2031.87,-190.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2031.76,-187.49 2021.69,-190.78 2031.62,-194.49 2031.76,-187.49"/>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<title>Node18</title>
<g id="a_node18"><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="1722.5,-123.5 1722.5,-142.5 1839.5,-142.5 1839.5,-123.5 1722.5,-123.5"/>
-<text text-anchor="middle" x="1781" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
+<polygon fill="white" stroke="black" points="2840.5,-123.5 2840.5,-142.5 2957.5,-142.5 2957.5,-123.5 2840.5,-123.5"/>
+<text text-anchor="middle" x="2899" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
</a>
</g>
</g>
<!-- Node5->Node18 -->
<g id="edge19" class="edge">
<title>Node5->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1207.7,-240.89C1207.69,-225.68 1210.1,-194.22 1229,-179 1270.56,-145.52 1654.89,-148.27 1708,-143 1709.47,-142.85 1710.95,-142.7 1712.45,-142.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1712.89,-146.02 1722.46,-141.47 1712.14,-139.06 1712.89,-146.02"/>
+<path fill="none" stroke="midnightblue" d="M3269.85,-240.93C3263.33,-238.96 3256.43,-236.9 3250,-235 3137.42,-201.8 3004.14,-163.81 2938.95,-145.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2939.66,-141.87 2929.09,-142.51 2937.75,-148.61 2939.66,-141.87"/>
</g>
<!-- Node5->Node24 -->
<g id="edge46" class="edge">
<title>Node5->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1247.71,-247.84C1439.93,-239.77 2266.64,-204.87 2321,-199 2462.91,-183.68 2904.41,-101.56 3027.09,-78.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3027.81,-81.94 3036.99,-76.65 3026.51,-75.06 3027.81,-81.94"/>
+<path fill="none" stroke="midnightblue" d="M3311.29,-240.97C3332.53,-227.41 3375.55,-200.32 3413,-179 3475.09,-143.65 3549.87,-105.29 3588.7,-85.68"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3590.42,-88.73 3597.77,-81.11 3587.27,-82.48 3590.42,-88.73"/>
</g>
<!-- Node26 -->
<g id="node26" class="node">
<title>Node26</title>
<g id="a_node26"><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="1888,-179.5 1888,-198.5 1968,-198.5 1968,-179.5 1888,-179.5"/>
-<text text-anchor="middle" x="1928" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
+<polygon fill="white" stroke="black" points="2895,-179.5 2895,-198.5 2975,-198.5 2975,-179.5 2895,-179.5"/>
+<text text-anchor="middle" x="2935" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
</a>
</g>
</g>
<!-- Node5->Node26 -->
<g id="edge29" class="edge">
<title>Node5->Node26</title>
-<path fill="none" stroke="midnightblue" d="M1247.74,-246.22C1370.28,-236.09 1742.22,-205.35 1877.83,-194.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1878.27,-197.62 1887.94,-193.31 1877.69,-190.65 1878.27,-197.62"/>
+<path fill="none" stroke="midnightblue" d="M3272.29,-240.92C3265.13,-238.76 3257.31,-236.6 3250,-235 3135.6,-209.99 3104.76,-216.63 2989,-199 2987.73,-198.81 2986.45,-198.61 2985.15,-198.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2985.51,-194.92 2975.08,-196.81 2984.41,-201.83 2985.51,-194.92"/>
</g>
<!-- Node30 -->
<g id="node30" class="node">
<title>Node30</title>
<g id="a_node30"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="945.5,-62 945.5,-81 1014.5,-81 1014.5,-62 945.5,-62"/>
-<text text-anchor="middle" x="980" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
+<polygon fill="white" stroke="#bfbfbf" points="1572.5,-62 1572.5,-81 1641.5,-81 1641.5,-62 1572.5,-62"/>
+<text text-anchor="middle" x="1607" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
</a>
</g>
</g>
<!-- Node5->Node30 -->
<g id="edge47" class="edge">
<title>Node5->Node30</title>
-<path fill="none" stroke="midnightblue" d="M1203.35,-240.77C1195.02,-225.94 1176.12,-195.78 1152,-179 1109.78,-149.62 1084.95,-171.31 1042,-143 1020.61,-128.9 1002.12,-105.54 991.03,-89.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="993.87,-87.56 985.38,-81.21 988.06,-91.46 993.87,-87.56"/>
+<path fill="none" stroke="midnightblue" d="M3271.74,-241C3264.72,-238.88 3257.11,-236.73 3250,-235 3164.79,-214.29 3141.44,-218.75 3056,-199 3023.64,-191.52 3016.17,-187.25 2984,-179 2916.33,-161.65 2896.56,-167.12 2831,-143 2812.72,-136.28 2810.83,-127.97 2792,-123 2763.92,-115.58 1864.34,-81.99 1651.72,-74.14"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1651.67,-70.64 1641.55,-73.77 1651.41,-77.64 1651.67,-70.64"/>
</g>
<!-- Node31 -->
<g id="node31" class="node">
<title>Node31</title>
<g id="a_node31"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="60,-179.5 60,-198.5 124,-198.5 124,-179.5 60,-179.5"/>
-<text text-anchor="middle" x="92" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
+<polygon fill="white" stroke="#bfbfbf" points="4376,-179.5 4376,-198.5 4440,-198.5 4440,-179.5 4376,-179.5"/>
+<text text-anchor="middle" x="4408" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
<!-- Node5->Node31 -->
<g id="edge43" class="edge">
<title>Node5->Node31</title>
-<path fill="none" stroke="midnightblue" d="M1168.28,-247.38C995.72,-238.18 311.81,-201.72 134.28,-192.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="134.22,-188.75 124.04,-191.71 133.84,-195.74 134.22,-188.75"/>
+<path fill="none" stroke="midnightblue" d="M3337.78,-247.51C3469.14,-240.93 3900.99,-219.1 4258,-199 4294.35,-196.95 4335.64,-194.46 4365.69,-192.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4366.05,-196.11 4375.82,-192 4365.62,-189.12 4366.05,-196.11"/>
</g>
<!-- Node32 -->
<g id="node32" class="node">
<title>Node32</title>
<g id="a_node32"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1392.5,-179.5 1392.5,-198.5 1457.5,-198.5 1457.5,-179.5 1392.5,-179.5"/>
-<text text-anchor="middle" x="1425" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="3299.5,-179.5 3299.5,-198.5 3364.5,-198.5 3364.5,-179.5 3299.5,-179.5"/>
+<text text-anchor="middle" x="3332" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
</a>
</g>
</g>
<!-- Node5->Node32 -->
<g id="edge44" class="edge">
<title>Node5->Node32</title>
-<path fill="none" stroke="midnightblue" d="M1239.09,-240.98C1277.28,-230.5 1342.17,-212.71 1384.3,-201.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1385.25,-204.53 1393.97,-198.51 1383.4,-197.78 1385.25,-204.53"/>
+<path fill="none" stroke="midnightblue" d="M3302.87,-240.98C3307.87,-232.23 3315.79,-218.37 3322.11,-207.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3325.22,-208.93 3327.14,-198.51 3319.14,-205.46 3325.22,-208.93"/>
</g>
<!-- Node5->Node33 -->
<g id="edge45" class="edge">
<title>Node5->Node33</title>
-<path fill="none" stroke="midnightblue" d="M1168.43,-244.78C1072.5,-233.34 829.01,-204.31 741.19,-193.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="741.38,-190.34 731.04,-192.63 740.56,-197.29 741.38,-190.34"/>
+<path fill="none" stroke="midnightblue" d="M3337.62,-246.96C3492.21,-237.06 4053.24,-201.13 4194.53,-192.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4194.94,-195.56 4204.7,-191.43 4194.5,-188.57 4194.94,-195.56"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2497.5,-123.5 2497.5,-142.5 2574.5,-142.5 2574.5,-123.5 2497.5,-123.5"/>
-<text text-anchor="middle" x="2536" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2410.5,-123.5 2410.5,-142.5 2487.5,-142.5 2487.5,-123.5 2410.5,-123.5"/>
+<text text-anchor="middle" x="2449" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
</a>
</g>
</g>
<!-- Node9->Node10 -->
<g id="edge9" class="edge">
<title>Node9->Node10</title>
-<path fill="none" stroke="midnightblue" d="M2312.09,-179.97C2358.68,-170.41 2436.55,-154.42 2487.09,-144.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2488.03,-147.42 2497.12,-141.98 2486.63,-140.56 2488.03,-147.42"/>
-</g>
-<!-- Node11 -->
-<g id="node11" class="node">
-<title>Node11</title>
-<g id="a_node11"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2092.5,-123.5 2092.5,-142.5 2173.5,-142.5 2173.5,-123.5 2092.5,-123.5"/>
-<text text-anchor="middle" x="2133" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
-</a>
-</g>
+<path fill="none" stroke="midnightblue" d="M2549.99,-179.44C2530.41,-170.64 2499.69,-156.81 2477.27,-146.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2478.48,-143.43 2467.93,-142.52 2475.61,-149.81 2478.48,-143.43"/>
</g>
<!-- Node9->Node11 -->
<g id="edge10" class="edge">
<title>Node9->Node11</title>
-<path fill="none" stroke="midnightblue" d="M2250.82,-179.44C2227.57,-170.48 2190.85,-156.31 2164.58,-146.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2165.67,-142.85 2155.08,-142.52 2163.15,-149.38 2165.67,-142.85"/>
+<path fill="none" stroke="midnightblue" d="M2596.57,-179.44C2626.1,-170.28 2673.12,-155.69 2705.88,-145.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2707.04,-148.82 2715.56,-142.52 2704.97,-142.14 2707.04,-148.82"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1497.5,-62 1497.5,-81 1586.5,-81 1586.5,-62 1497.5,-62"/>
-<text text-anchor="middle" x="1542" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3135.5,-62 3135.5,-81 3224.5,-81 3224.5,-62 3135.5,-62"/>
+<text text-anchor="middle" x="3180" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
</a>
</g>
</g>
<!-- Node9->Node12 -->
<g id="edge11" class="edge">
<title>Node9->Node12</title>
-<path fill="none" stroke="midnightblue" d="M2233.6,-183.91C2217.6,-182.3 2198.92,-180.49 2182,-179 1973.74,-160.71 1916.37,-191.44 1713,-143 1658.93,-130.12 1599.8,-102.43 1567.17,-85.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1568.43,-82.55 1557.93,-81.08 1565.22,-88.77 1568.43,-82.55"/>
+<path fill="none" stroke="midnightblue" d="M2608.05,-186.27C2736.61,-180.4 3139.67,-160.67 3161,-143 3176.07,-130.52 3179.87,-107.45 3180.52,-91.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3184.02,-91.09 3180.56,-81.08 3177.02,-91.06 3184.02,-91.09"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1166.5,-62 1166.5,-81 1249.5,-81 1249.5,-62 1166.5,-62"/>
-<text text-anchor="middle" x="1208" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2340.5,-62 2340.5,-81 2423.5,-81 2423.5,-62 2340.5,-62"/>
+<text text-anchor="middle" x="2382" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
</a>
</g>
</g>
<!-- Node9->Node13 -->
<g id="edge12" class="edge">
<title>Node9->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2233.63,-183.58C2217.63,-181.92 2198.95,-180.16 2182,-179 2129.03,-175.39 1268.53,-176.08 1227,-143 1211.69,-130.81 1207.94,-107.68 1207.37,-91.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1210.87,-91.15 1207.38,-81.15 1203.87,-91.15 1210.87,-91.15"/>
+<path fill="none" stroke="midnightblue" d="M2561.15,-179.48C2548.48,-166.09 2522.25,-139.91 2496,-123 2471,-106.9 2440,-93.53 2416.65,-84.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2417.73,-81.28 2407.14,-81.06 2415.29,-87.84 2417.73,-81.28"/>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2230.5,-123.5 2230.5,-142.5 2321.5,-142.5 2321.5,-123.5 2230.5,-123.5"/>
-<text text-anchor="middle" x="2276" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2262.5,-123.5 2262.5,-142.5 2353.5,-142.5 2353.5,-123.5 2262.5,-123.5"/>
+<text text-anchor="middle" x="2308" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
</a>
</g>
</g>
<!-- Node9->Node14 -->
<g id="edge13" class="edge">
<title>Node9->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2273.5,-179.08C2273.89,-172.01 2274.45,-161.86 2274.95,-152.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2278.45,-152.93 2275.51,-142.75 2271.46,-152.54 2278.45,-152.93"/>
+<path fill="none" stroke="midnightblue" d="M2529.93,-179.92C2484.56,-170.53 2409.57,-155.01 2359.48,-144.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2360,-141.19 2349.5,-142.59 2358.59,-148.04 2360,-141.19"/>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2378.5,-123.5 2378.5,-142.5 2479.5,-142.5 2479.5,-123.5 2378.5,-123.5"/>
-<text text-anchor="middle" x="2429" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2544.5,-123.5 2544.5,-142.5 2645.5,-142.5 2645.5,-123.5 2544.5,-123.5"/>
+<text text-anchor="middle" x="2595" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
</a>
</g>
</g>
<!-- Node9->Node15 -->
<g id="edge14" class="edge">
<title>Node9->Node15</title>
-<path fill="none" stroke="midnightblue" d="M2297.72,-179.44C2323.85,-170.4 2365.26,-156.06 2394.58,-145.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2396.09,-149.1 2404.4,-142.52 2393.8,-142.48 2396.09,-149.1"/>
-</g>
-<!-- Node16 -->
-<g id="node16" class="node">
-<title>Node16</title>
-<g id="a_node16"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2472.5,-62 2472.5,-81 2517.5,-81 2517.5,-62 2472.5,-62"/>
-<text text-anchor="middle" x="2495" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
-</a>
-</g>
+<path fill="none" stroke="midnightblue" d="M2573.29,-179.08C2576.85,-171.69 2582.02,-160.95 2586.42,-151.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2589.6,-153.28 2590.79,-142.75 2583.29,-150.24 2589.6,-153.28"/>
</g>
<!-- Node9->Node16 -->
<g id="edge15" class="edge">
<title>Node9->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2284.17,-179.39C2301.74,-166.12 2337.22,-140.37 2370,-123 2400.31,-106.94 2436.88,-92.72 2462.61,-83.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2463.98,-86.72 2472.24,-80.09 2461.65,-80.12 2463.98,-86.72"/>
+<path fill="none" stroke="midnightblue" d="M2529.6,-186.95C2392.48,-183.14 1923.5,-168.95 1537,-143 1461.84,-137.95 930.59,-88.44 792.66,-75.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="792.97,-72.07 782.69,-74.62 792.32,-79.04 792.97,-72.07"/>
</g>
<!-- Node17->Node14 -->
<g id="edge17" class="edge">
<title>Node17->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2063.67,-179.68C2107.45,-170.26 2178.88,-154.9 2226.64,-144.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2227.42,-148.03 2236.46,-142.51 2225.95,-141.19 2227.42,-148.03"/>
+<path fill="none" stroke="midnightblue" d="M2021.56,-181.59C2078.78,-172.09 2186.47,-154.19 2252.27,-143.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2253.16,-146.66 2262.45,-141.57 2252.01,-139.75 2253.16,-146.66"/>
</g>
<!-- Node17->Node16 -->
<g id="edge18" class="edge">
<title>Node17->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2062.72,-179.47C2095.16,-171.62 2142.94,-158.8 2183,-143 2201.12,-135.85 2203.56,-129.28 2222,-123 2305.87,-94.42 2410.07,-80.85 2462.14,-75.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.54,-78.94 2472.14,-74.47 2461.84,-71.98 2462.54,-78.94"/>
+<path fill="none" stroke="midnightblue" d="M1944.22,-185.62C1848.5,-179.63 1593.34,-162.98 1381,-143 1155.51,-121.78 884.88,-88.29 792.63,-76.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="792.88,-73.16 782.52,-75.37 792.01,-80.1 792.88,-73.16"/>
</g>
<!-- Node18->Node7 -->
<g id="edge22" class="edge">
<title>Node18->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1839.55,-126.42C1854.97,-125.12 1871.6,-123.86 1887,-123 2071.76,-112.68 3405.35,-80.94 3704.54,-73.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3704.82,-77.39 3714.74,-73.65 3704.66,-70.39 3704.82,-77.39"/>
+<path fill="none" stroke="midnightblue" d="M2840.45,-126.49C2824.73,-125.17 2807.73,-123.89 2792,-123 2246.42,-92.09 2109.18,-104.36 1563,-87 1433.23,-82.88 1281.09,-77.54 1199.27,-74.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1199.29,-71.12 1189.17,-74.26 1199.04,-78.12 1199.29,-71.12"/>
</g>
<!-- Node18->Node16 -->
<g id="edge27" class="edge">
<title>Node18->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1839.55,-124.55C1844.43,-124 1849.3,-123.47 1854,-123 2086.6,-99.51 2367.62,-80.66 2462.17,-74.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.5,-78.06 2472.26,-73.93 2462.05,-71.07 2462.5,-78.06"/>
+<path fill="none" stroke="midnightblue" d="M2840.46,-126.41C2824.73,-125.09 2807.73,-123.83 2792,-123 2032.88,-83.12 1841.75,-112.1 1082,-87 976.17,-83.5 850.87,-77.25 792.7,-74.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="792.8,-70.73 782.64,-73.71 792.44,-77.72 792.8,-70.73"/>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="199,-62 199,-81 333,-81 333,-62 199,-62"/>
-<text text-anchor="middle" x="266" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4135,-62 4135,-81 4269,-81 4269,-62 4135,-62"/>
+<text text-anchor="middle" x="4202" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
</a>
</g>
</g>
<!-- Node18->Node19 -->
<g id="edge20" class="edge">
<title>Node18->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1722.08,-129.69C1486.19,-120.42 609.93,-86.01 343.4,-75.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="343.18,-72.03 333.05,-75.13 342.91,-79.02 343.18,-72.03"/>
+<path fill="none" stroke="midnightblue" d="M2957.56,-126.58C2972.98,-125.27 2989.61,-123.98 3005,-123 3427.18,-96.18 3934.06,-80.1 4124.59,-74.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4124.89,-78.12 4134.78,-74.33 4124.69,-71.12 4124.89,-78.12"/>
</g>
<!-- Node20 -->
<g id="node20" class="node">
<title>Node20</title>
<g id="a_node20"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="782.5,-62 782.5,-81 883.5,-81 883.5,-62 782.5,-62"/>
-<text text-anchor="middle" x="833" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2031.5,-62 2031.5,-81 2132.5,-81 2132.5,-62 2031.5,-62"/>
+<text text-anchor="middle" x="2082" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
</a>
</g>
</g>
<!-- Node18->Node20 -->
<g id="edge21" class="edge">
<title>Node18->Node20</title>
-<path fill="none" stroke="midnightblue" d="M1722.36,-129.54C1556.99,-122.5 1089.08,-101.82 936,-87 922.26,-85.67 907.54,-83.84 893.65,-81.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="894.1,-78.46 883.71,-80.53 893.13,-85.39 894.1,-78.46"/>
+<path fill="none" stroke="midnightblue" d="M2840.46,-124.5C2835.57,-123.96 2830.7,-123.45 2826,-123 2693.8,-110.37 2295.65,-85.55 2142.73,-76.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2142.78,-72.69 2132.58,-75.57 2142.35,-79.67 2142.78,-72.69"/>
</g>
<!-- Node21 -->
<g id="node21" class="node">
<title>Node21</title>
<g id="a_node21"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1604.5,-62 1604.5,-81 1717.5,-81 1717.5,-62 1604.5,-62"/>
-<text text-anchor="middle" x="1661" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="2678.5,-62 2678.5,-81 2791.5,-81 2791.5,-62 2678.5,-62"/>
+<text text-anchor="middle" x="2735" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
</a>
</g>
</g>
<!-- Node18->Node21 -->
<g id="edge23" class="edge">
<title>Node18->Node21</title>
-<path fill="none" stroke="midnightblue" d="M1763.81,-123.48C1743.76,-113.53 1710.4,-96.99 1687.14,-85.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1688.68,-82.32 1678.16,-81.01 1685.57,-88.59 1688.68,-82.32"/>
+<path fill="none" stroke="midnightblue" d="M2875.5,-123.48C2847.37,-113.27 2800.07,-96.11 2768.21,-84.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2769.05,-81.13 2758.45,-81.01 2766.66,-87.71 2769.05,-81.13"/>
</g>
<!-- Node23 -->
<g id="node23" class="node">
<title>Node23</title>
<g id="a_node23"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1753.5,-62 1753.5,-81 1808.5,-81 1808.5,-62 1753.5,-62"/>
-<text text-anchor="middle" x="1781" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="2871.5,-62 2871.5,-81 2926.5,-81 2926.5,-62 2871.5,-62"/>
+<text text-anchor="middle" x="2899" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
</a>
</g>
</g>
<!-- Node18->Node23 -->
<g id="edge25" class="edge">
<title>Node18->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1781,-123.48C1781,-115.08 1781,-101.98 1781,-91.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1784.5,-91.01 1781,-81.01 1777.5,-91.01 1784.5,-91.01"/>
+<path fill="none" stroke="midnightblue" d="M2899,-123.48C2899,-115.08 2899,-101.98 2899,-91.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2902.5,-91.01 2899,-81.01 2895.5,-91.01 2902.5,-91.01"/>
</g>
<!-- Node18->Node24 -->
<g id="edge26" class="edge">
<title>Node18->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1839.56,-126.59C1854.98,-125.28 1871.61,-123.98 1887,-123 2338.18,-94.14 2888.15,-77.36 3026.33,-73.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3026.74,-76.9 3036.64,-73.12 3026.54,-69.9 3026.74,-76.9"/>
+<path fill="none" stroke="midnightblue" d="M2957.59,-127C2973.01,-125.69 2989.63,-124.29 3005,-123 3225.81,-104.49 3491.63,-82.63 3582.63,-75.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3583.16,-78.62 3592.84,-74.32 3582.59,-71.65 3583.16,-78.62"/>
</g>
<!-- Node18->Node25 -->
<g id="edge28" class="edge">
<title>Node18->Node25</title>
-<path fill="none" stroke="midnightblue" d="M1839.55,-126.33C1854.97,-125.03 1871.6,-123.8 1887,-123 2746,-78.59 2964.15,-149.83 3822,-87 3848.74,-85.04 3878.84,-81.09 3901.24,-77.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3901.9,-81.25 3911.27,-76.31 3900.86,-74.33 3901.9,-81.25"/>
+<path fill="none" stroke="midnightblue" d="M2840.46,-126.37C2824.74,-125.05 2807.73,-123.8 2792,-123 1875.71,-76.52 1645.18,-110.01 728,-87 575.13,-83.17 392.64,-76.55 318.64,-73.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="318.65,-70.27 308.53,-73.4 318.39,-77.27 318.65,-70.27"/>
</g>
<!-- Node22 -->
<g id="node22" class="node">
<title>Node22</title>
<g id="a_node22"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1618,-0.5 1618,-19.5 1704,-19.5 1704,-0.5 1618,-0.5"/>
-<text text-anchor="middle" x="1661" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2692,-0.5 2692,-19.5 2778,-19.5 2778,-0.5 2692,-0.5"/>
+<text text-anchor="middle" x="2735" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
</a>
</g>
</g>
<!-- Node21->Node22 -->
<g id="edge24" class="edge">
<title>Node21->Node22</title>
-<path fill="none" stroke="midnightblue" d="M1661,-61.98C1661,-53.58 1661,-40.48 1661,-29.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1664.5,-29.51 1661,-19.51 1657.5,-29.51 1664.5,-29.51"/>
+<path fill="none" stroke="midnightblue" d="M2735,-61.98C2735,-53.58 2735,-40.48 2735,-29.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2738.5,-29.51 2735,-19.51 2731.5,-29.51 2738.5,-29.51"/>
</g>
<!-- Node26->Node7 -->
<g id="edge32" class="edge">
<title>Node26->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1968.05,-180.36C1971.41,-179.85 1974.76,-179.39 1978,-179 2245.91,-147.05 2314.71,-159.71 2584,-143 2721.36,-134.47 2755.64,-131.43 2893,-123 3198.31,-104.27 3563.95,-83.66 3704.74,-75.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3705.09,-79.28 3714.88,-75.23 3704.7,-72.29 3705.09,-79.28"/>
+<path fill="none" stroke="midnightblue" d="M2894.94,-186.91C2729.93,-182.31 2102.25,-163.8 1905,-143 1851.67,-137.37 1839.23,-129.54 1786,-123 1570.8,-96.56 1313.48,-81.31 1199.43,-75.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1199.34,-71.87 1189.18,-74.86 1198.98,-78.87 1199.34,-71.87"/>
</g>
<!-- Node26->Node11 -->
<g id="edge30" class="edge">
<title>Node26->Node11</title>
-<path fill="none" stroke="midnightblue" d="M1960.48,-179.44C1995.72,-170.16 2052.1,-155.31 2090.76,-145.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2091.89,-148.45 2100.67,-142.52 2090.11,-141.68 2091.89,-148.45"/>
+<path fill="none" stroke="midnightblue" d="M2904.58,-179.44C2871.72,-170.2 2819.22,-155.44 2783.03,-145.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2783.85,-141.85 2773.28,-142.52 2781.96,-148.59 2783.85,-141.85"/>
</g>
<!-- Node26->Node18 -->
<g id="edge33" class="edge">
<title>Node26->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1904.71,-179.44C1880.19,-170.44 1841.4,-156.19 1813.8,-146.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1814.78,-142.68 1804.18,-142.52 1812.36,-149.25 1814.78,-142.68"/>
+<path fill="none" stroke="midnightblue" d="M2929.06,-179.08C2924.02,-171.53 2916.66,-160.49 2910.49,-151.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2913.29,-149.13 2904.83,-142.75 2907.47,-153.01 2913.29,-149.13"/>
</g>
<!-- Node26->Node19 -->
<g id="edge31" class="edge">
<title>Node26->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1887.8,-186.34C1766.06,-181.23 1390.69,-164.69 1080,-143 808.98,-124.08 487.86,-94.01 343.31,-80.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="343.5,-76.56 333.21,-79.09 342.83,-83.53 343.5,-76.56"/>
+<path fill="none" stroke="midnightblue" d="M2975.01,-184.35C3154.15,-168.02 3884.22,-101.47 4124.74,-79.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4125.16,-83.02 4134.8,-78.63 4124.53,-76.05 4125.16,-83.02"/>
</g>
<!-- Node26->Node24 -->
<g id="edge42" class="edge">
<title>Node26->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1950.01,-179.49C1972.68,-170.65 2008.98,-156.27 2040,-143 2059.75,-134.55 2063.13,-128.09 2084,-123 2177.26,-100.26 2869,-78.22 3026.95,-73.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3027.09,-76.95 3036.98,-73.15 3026.88,-69.95 3027.09,-76.95"/>
+<path fill="none" stroke="midnightblue" d="M2975.16,-183.85C3038.23,-177.06 3164.22,-162.36 3270,-143 3308.6,-135.94 3317.62,-131.2 3356,-123 3437.39,-105.61 3533.7,-87.47 3582.76,-78.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3583.57,-81.81 3592.77,-76.56 3582.3,-74.93 3583.57,-81.81"/>
</g>
<!-- Node27 -->
<g id="node27" class="node">
<title>Node27</title>
<g id="a_node27"><a xlink:href="data__type_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1376,-123.5 1376,-142.5 1514,-142.5 1514,-123.5 1376,-123.5"/>
-<text text-anchor="middle" x="1445" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
+<polygon fill="white" stroke="black" points="3014,-123.5 3014,-142.5 3152,-142.5 3152,-123.5 3014,-123.5"/>
+<text text-anchor="middle" x="3083" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
</a>
</g>
</g>
<!-- Node26->Node27 -->
<g id="edge34" class="edge">
<title>Node26->Node27</title>
-<path fill="none" stroke="midnightblue" d="M1887.65,-183.49C1807.89,-174.57 1628.77,-154.55 1524.47,-142.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1524.64,-139.38 1514.31,-141.75 1523.86,-146.34 1524.64,-139.38"/>
+<path fill="none" stroke="midnightblue" d="M2958.45,-179.44C2983.13,-170.44 3022.19,-156.19 3049.98,-146.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3051.46,-149.23 3059.66,-142.52 3049.06,-142.66 3051.46,-149.23"/>
</g>
<!-- Node27->Node12 -->
<g id="edge36" class="edge">
<title>Node27->Node12</title>
-<path fill="none" stroke="midnightblue" d="M1458.9,-123.48C1474.67,-113.8 1500.64,-97.87 1519.35,-86.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1521.43,-89.22 1528.13,-81.01 1517.77,-83.25 1521.43,-89.22"/>
+<path fill="none" stroke="midnightblue" d="M3096.9,-123.48C3112.67,-113.8 3138.64,-97.87 3157.35,-86.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3159.43,-89.22 3166.13,-81.01 3155.77,-83.25 3159.43,-89.22"/>
</g>
<!-- Node27->Node13 -->
<g id="edge37" class="edge">
<title>Node27->Node13</title>
-<path fill="none" stroke="midnightblue" d="M1409.73,-123.45C1373.03,-114.51 1313.93,-100.01 1263,-87 1258.69,-85.9 1254.18,-84.73 1249.7,-83.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1250.53,-80.17 1239.97,-81.02 1248.76,-86.94 1250.53,-80.17"/>
+<path fill="none" stroke="midnightblue" d="M3013.72,-124.34C3009.08,-123.87 3004.47,-123.42 3000,-123 2799.36,-104.14 2748.83,-103.77 2548,-87 2509.76,-83.81 2466.58,-80.03 2433.85,-77.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2433.88,-73.62 2423.61,-76.22 2433.26,-80.59 2433.88,-73.62"/>
</g>
<!-- Node27->Node21 -->
<g id="edge38" class="edge">
<title>Node27->Node21</title>
-<path fill="none" stroke="midnightblue" d="M1475.95,-123.48C1513.88,-113.03 1578.28,-95.29 1620.22,-83.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1621.4,-87.04 1630.11,-81.01 1619.54,-80.29 1621.4,-87.04"/>
+<path fill="none" stroke="midnightblue" d="M3033.14,-123.48C2970.22,-112.72 2862.1,-94.23 2794.8,-82.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2795.21,-79.24 2784.77,-81.01 2794.03,-86.14 2795.21,-79.24"/>
</g>
<!-- Node27->Node24 -->
<g id="edge40" class="edge">
<title>Node27->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1514.09,-129.45C1792.92,-119.17 2829.73,-80.95 3026.61,-73.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3027,-77.18 3036.86,-73.32 3026.74,-70.19 3027,-77.18"/>
+<path fill="none" stroke="midnightblue" d="M3152,-124.28C3268.07,-111.3 3497.99,-85.59 3582.69,-76.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3583.19,-79.58 3592.74,-74.99 3582.41,-72.62 3583.19,-79.58"/>
</g>
<!-- Node28 -->
<g id="node28" class="node">
<title>Node28</title>
<g id="a_node28"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1340.5,-62 1340.5,-81 1479.5,-81 1479.5,-62 1340.5,-62"/>
-<text text-anchor="middle" x="1410" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2978.5,-62 2978.5,-81 3117.5,-81 3117.5,-62 2978.5,-62"/>
+<text text-anchor="middle" x="3048" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
</a>
</g>
</g>
<!-- Node27->Node28 -->
<g id="edge35" class="edge">
<title>Node27->Node28</title>
-<path fill="none" stroke="midnightblue" d="M1439.99,-123.48C1434.84,-114.73 1426.69,-100.87 1420.18,-89.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1423.09,-87.85 1415.01,-81.01 1417.06,-91.4 1423.09,-87.85"/>
+<path fill="none" stroke="midnightblue" d="M3077.99,-123.48C3072.84,-114.73 3064.69,-100.87 3058.18,-89.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3061.09,-87.85 3053.01,-81.01 3055.06,-91.4 3061.09,-87.85"/>
</g>
<!-- Node29 -->
<g id="node29" class="node">
<title>Node29</title>
<g id="a_node29"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1272,-62 1272,-81 1322,-81 1322,-62 1272,-62"/>
-<text text-anchor="middle" x="1297" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
+<polygon fill="white" stroke="#bfbfbf" points="2557,-62 2557,-81 2607,-81 2607,-62 2557,-62"/>
+<text text-anchor="middle" x="2582" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
</a>
</g>
</g>
<!-- Node27->Node29 -->
<g id="edge39" class="edge">
<title>Node27->Node29</title>
-<path fill="none" stroke="midnightblue" d="M1422.65,-123.38C1399.61,-114.45 1362.69,-100.01 1331,-87 1329.41,-86.35 1327.78,-85.67 1326.13,-84.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1327.31,-81.68 1316.74,-81.03 1324.59,-88.13 1327.31,-81.68"/>
+<path fill="none" stroke="midnightblue" d="M3013.67,-124.48C2896.36,-111.74 2671.12,-87.29 2669,-87 2651.83,-84.64 2632.83,-81.53 2616.98,-78.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2617.52,-75.34 2607.07,-77.07 2616.32,-82.23 2617.52,-75.34"/>
</g>
<!-- Node27->Node30 -->
<g id="edge41" class="edge">
<title>Node27->Node30</title>
-<path fill="none" stroke="midnightblue" d="M1378.38,-123.48C1282.17,-111.16 1106.88,-88.74 1024.73,-78.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1025.08,-74.74 1014.72,-76.94 1024.19,-81.68 1025.08,-74.74"/>
+<path fill="none" stroke="midnightblue" d="M3013.74,-126.22C2998.05,-125.03 2981.46,-123.88 2966,-123 2832.57,-115.39 1872.1,-81.74 1651.9,-74.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1651.8,-70.56 1641.69,-73.71 1651.56,-77.55 1651.8,-70.56"/>
</g>
<!-- Node34->Node5 -->
<g id="edge65" class="edge">
<title>Node34->Node5</title>
-<path fill="none" stroke="midnightblue" d="M991.73,-761.45C1009.74,-705.28 1112.28,-388.82 1164,-302 1171.63,-289.2 1182.64,-276.56 1191.74,-267.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1194.24,-269.58 1198.82,-260.03 1189.28,-264.64 1194.24,-269.58"/>
+<path fill="none" stroke="midnightblue" d="M3438.49,-761.32C3431.4,-742.96 3416,-698.66 3416,-660 3416,-660 3416,-660 3416,-434 3416,-369.18 3392.61,-354.06 3354,-302 3343.93,-288.42 3329.78,-275.7 3318.22,-266.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3320.04,-263.4 3310,-260.04 3315.75,-268.93 3320.04,-263.4"/>
</g>
<!-- Node34->Node8 -->
<g id="edge51" class="edge">
<title>Node34->Node8</title>
-<path fill="none" stroke="midnightblue" d="M988.87,-761.44C988.6,-742.94 988,-697.81 988,-660 988,-660 988,-660 988,-490 988,-406.21 939.83,-378.5 974,-302 994.36,-256.43 1043.43,-221.7 1073.68,-203.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1075.5,-206.7 1082.41,-198.67 1072,-200.64 1075.5,-206.7"/>
+<path fill="none" stroke="midnightblue" d="M3486.59,-765.48C3578.68,-755.05 3784.24,-725.75 3820,-669 3824.74,-661.48 3822.87,-657.41 3820,-649 3818.85,-645.63 3543.16,-289.61 3479.16,-206.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3481.62,-204.45 3472.73,-198.69 3476.09,-208.74 3481.62,-204.45"/>
</g>
<!-- Node34->Node16 -->
<g id="edge171" class="edge">
<title>Node34->Node16</title>
-<path fill="none" stroke="midnightblue" d="M984.49,-761.49C963.23,-720.54 874,-539.18 874,-380 874,-380 874,-380 874,-316.5 874,-221.38 949.78,-214.55 1038,-179 1146.46,-135.29 1446.65,-154.73 1563,-143 1629.92,-136.25 1646.07,-129.62 1713,-123 2002.6,-94.38 2354.21,-78.33 2462.01,-73.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.4,-77.31 2472.24,-73.4 2462.11,-70.32 2462.4,-77.31"/>
+<path fill="none" stroke="midnightblue" d="M3397.28,-770.02C3169.74,-769.95 2138.89,-767.24 1822,-725 1231.75,-646.33 1003.18,-743.87 525,-389 430.02,-318.52 421.78,-193.16 517,-123 550.06,-98.64 668.64,-82.55 727.03,-75.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="727.65,-79.38 737.2,-74.8 726.87,-72.43 727.65,-79.38"/>
</g>
<!-- Node34->Node17 -->
<g id="edge64" class="edge">
<title>Node34->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1010.04,-761.37C1105.66,-722.19 1508.88,-557.22 1841,-425 1881.79,-408.76 1901.03,-419.1 1933,-389 1987.73,-337.46 2012.77,-247 2021.36,-208.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2024.79,-209.01 2023.43,-198.51 2017.94,-207.57 2024.79,-209.01"/>
+<path fill="none" stroke="midnightblue" d="M3397.2,-767.59C3161.09,-754.29 2072,-685.49 2072,-548 2072,-548 2072,-548 2072,-378 2072,-342.58 2070.33,-329.5 2048,-302 2027.42,-276.67 2000.66,-294.06 1984,-266 1973.71,-248.67 1975.34,-224.96 1978.34,-208.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1981.79,-209.24 1980.49,-198.72 1974.95,-207.75 1981.79,-209.24"/>
</g>
<!-- Node34->Node19 -->
<g id="edge49" class="edge">
<title>Node34->Node19</title>
-<path fill="none" stroke="midnightblue" d="M944.09,-768.14C830.02,-763.14 531.41,-748.17 435,-725 371.44,-709.73 357.5,-698.17 299,-669 160.8,-600.09 0,-646.43 0,-492 0,-492 0,-492 0,-188 0,-105.13 109.98,-81.07 188.5,-74.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="189.17,-77.92 198.88,-73.68 188.64,-70.94 189.17,-77.92"/>
+<path fill="none" stroke="midnightblue" d="M3486.67,-769.12C3624.29,-766.11 4040.41,-754.74 4172,-725 4236.96,-710.32 4254.12,-703.65 4311,-669 4485.91,-562.47 4506,-456.3 4506,-251.5 4506,-251.5 4506,-251.5 4506,-188 4506,-136.49 4351.56,-99.73 4262.84,-82.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4263.36,-79.4 4252.88,-81 4262.07,-86.28 4263.36,-79.4"/>
</g>
<!-- Node34->Node21 -->
<g id="edge72" class="edge">
<title>Node34->Node21</title>
-<path fill="none" stroke="midnightblue" d="M958.23,-761.44C938.57,-754.53 913.88,-742.95 898,-725 842.77,-662.57 836,-631.35 836,-548 836,-548 836,-548 836,-434 836,-344.91 815.13,-311.96 860,-235 881.13,-198.75 896.56,-193.31 936,-179 1181.7,-89.83 1270.87,-211.91 1523,-143 1567.15,-130.93 1613.56,-103.78 1639.73,-86.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1641.98,-89.62 1648.41,-81.21 1638.13,-83.77 1641.98,-89.62"/>
+<path fill="none" stroke="midnightblue" d="M3446.21,-761.17C3452.16,-748.66 3463.4,-725.08 3473,-705 3504.48,-639.19 3516.45,-624.55 3544,-557 3607.44,-401.42 3658.55,-296.04 3538,-179 3416.47,-61 3328.9,-145.42 3161,-123 3093.29,-113.96 2903.86,-91.94 2801.94,-80.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2802.09,-76.68 2791.75,-79.02 2801.29,-83.64 2802.09,-76.68"/>
</g>
<!-- Node34->Node24 -->
<g id="edge169" class="edge">
<title>Node34->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1033.67,-768.04C1357.32,-753.7 3330,-663.84 3330,-604 3330,-604 3330,-604 3330,-546 3330,-521.12 3200.75,-140.43 3183,-123 3157.71,-98.16 3118.54,-84.99 3091.01,-78.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.6,-74.95 3081.08,-76.2 3090.08,-81.79 3091.6,-74.95"/>
+<path fill="none" stroke="midnightblue" d="M3486.82,-769.98C3609.24,-769.41 3947.01,-764.23 4050,-725 4209.08,-664.41 4354,-662.23 4354,-492 4354,-492 4354,-492 4354,-316.5 4354,-241.97 4320.62,-219.42 4258,-179 4154.63,-112.28 3762.9,-82.06 3647.3,-74.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.5,-70.98 3637.3,-73.83 3647.05,-77.97 3647.5,-70.98"/>
</g>
<!-- Node34->Node27 -->
<g id="edge73" class="edge">
<title>Node34->Node27</title>
-<path fill="none" stroke="midnightblue" d="M944.33,-769.67C889.49,-767.68 794.82,-759.04 722,-725 681.74,-706.18 646,-704.45 646,-660 646,-660 646,-660 646,-434 646,-319.78 593.7,-256.07 678,-179 732.62,-129.07 1253.39,-147.96 1365.58,-142.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1365.9,-146.25 1375.66,-142.14 1365.46,-139.27 1365.9,-146.25"/>
+<path fill="none" stroke="midnightblue" d="M3486.73,-770.84C3621.1,-772.16 4012,-766.83 4012,-660 4012,-660 4012,-660 4012,-378 4012,-278.93 3930.37,-277.76 3841,-235 3722.1,-178.11 3331.6,-148.71 3162.38,-138.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3162.48,-134.88 3152.29,-137.77 3162.06,-141.87 3162.48,-134.88"/>
</g>
<!-- Node34->Node31 -->
<g id="edge166" class="edge">
<title>Node34->Node31</title>
-<path fill="none" stroke="midnightblue" d="M944.41,-770.73C766.1,-771.15 114,-747.56 114,-380 114,-380 114,-380 114,-316.5 114,-277.45 103.7,-232.61 97.19,-208.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="100.56,-207.21 94.52,-198.5 93.81,-209.07 100.56,-207.21"/>
+<path fill="none" stroke="midnightblue" d="M3486.86,-770.24C3620.11,-770.44 4011.67,-767.34 4131,-725 4277.55,-673.01 4392,-647.5 4392,-492 4392,-492 4392,-492 4392,-316.5 4392,-277.9 4399.42,-233.19 4404.16,-208.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4407.64,-209.03 4406.16,-198.54 4400.78,-207.66 4407.64,-209.03"/>
</g>
<!-- Node34->Node33 -->
<g id="edge168" class="edge">
<title>Node34->Node33</title>
-<path fill="none" stroke="midnightblue" d="M944.41,-767.44C881.29,-762.92 770.31,-751.39 741,-725 718.63,-704.86 722,-690.1 722,-660 722,-660 722,-660 722,-490 722,-406.21 745.89,-385.2 736,-302 732,-268.36 721.47,-230.2 714.81,-208.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="718.12,-207.1 711.81,-198.59 711.44,-209.17 718.12,-207.1"/>
+<path fill="none" stroke="midnightblue" d="M3486.57,-769.05C3615.31,-765.97 3981.45,-754.65 4026,-725 4118.98,-663.11 4203.87,-296.32 4222.99,-208.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4226.43,-209.42 4225.12,-198.91 4219.59,-207.94 4226.43,-209.42"/>
</g>
<!-- Node35 -->
<g id="node35" class="node">
<title>Node35</title>
<g id="a_node35"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2203.5,-241 2203.5,-260 2334.5,-260 2334.5,-241 2203.5,-241"/>
-<text text-anchor="middle" x="2269" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3109.5,-241 3109.5,-260 3240.5,-260 3240.5,-241 3109.5,-241"/>
+<text text-anchor="middle" x="3175" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
</a>
</g>
</g>
<!-- Node34->Node35 -->
<g id="edge50" class="edge">
<title>Node34->Node35</title>
-<path fill="none" stroke="midnightblue" d="M1033.5,-766.65C1126.99,-759.56 1350.63,-742.24 1538,-725 1625.2,-716.98 1646.83,-713.33 1734,-705 2036.28,-676.11 2125.99,-717.75 2411,-613 2508.08,-577.32 2562.32,-590.01 2615,-501 2647.81,-445.56 2555.77,-463.03 2525,-445 2437.74,-393.87 2430.06,-361.1 2348,-302 2329.78,-288.88 2308.26,-275.24 2292.29,-265.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2293.95,-262.36 2283.59,-260.16 2290.32,-268.34 2293.95,-262.36"/>
+<path fill="none" stroke="midnightblue" d="M3432.71,-761.49C3391.75,-723.27 3227.09,-561.77 3174,-389 3161.42,-348.07 3166.96,-296.99 3171.4,-270.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3174.87,-270.59 3173.19,-260.13 3167.98,-269.35 3174.87,-270.59"/>
</g>
<!-- Node36 -->
<g id="node36" class="node">
<title>Node36</title>
<g id="a_node36"><a xlink:href="attrs_8h.html" target="_top" xlink:title="Helpers for attribute objects.">
-<polygon fill="white" stroke="black" points="1802,-308 1802,-327 1882,-327 1882,-308 1802,-308"/>
-<text text-anchor="middle" x="1842" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attrs.h</text>
+<polygon fill="white" stroke="black" points="2176,-308 2176,-327 2256,-327 2256,-308 2176,-308"/>
+<text text-anchor="middle" x="2216" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attrs.h</text>
</a>
</g>
</g>
<!-- Node34->Node36 -->
<g id="edge52" class="edge">
<title>Node34->Node36</title>
-<path fill="none" stroke="midnightblue" d="M1003.83,-761.26C1066.85,-724.15 1312.81,-579.58 1392,-537 1539.4,-457.75 1577.68,-440.49 1729,-369 1757.39,-355.59 1790.19,-341.03 1813.11,-331.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1814.52,-334.21 1822.29,-327.01 1811.72,-327.8 1814.52,-334.21"/>
+<path fill="none" stroke="midnightblue" d="M3417.9,-761.44C3376.03,-746.98 3286.87,-718.03 3209,-705 3031.2,-675.26 2547.77,-720.43 2403,-613 2301.06,-537.36 2240.69,-388.17 2222.16,-336.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2225.45,-335.38 2218.84,-327.1 2218.84,-337.69 2225.45,-335.38"/>
</g>
<!-- Node34->Node39 -->
<g id="edge170" class="edge">
<title>Node34->Node39</title>
-<path fill="none" stroke="midnightblue" d="M1033.63,-769.33C1349.85,-764.42 3242.17,-732.47 3344,-669 3363.71,-656.72 3527.76,-318.6 3544,-302 3559.97,-285.67 3582.35,-272.92 3600.54,-264.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3602.22,-267.41 3609.88,-260.09 3599.33,-261.03 3602.22,-267.41"/>
+<path fill="none" stroke="midnightblue" d="M3397.37,-769.78C3192.4,-768.58 2339.99,-761.44 2076,-725 1956.3,-708.48 1812,-780.84 1812,-660 1812,-660 1812,-660 1812,-546 1812,-391.13 1275.35,-450.01 1133,-389 1091.42,-371.18 1084.46,-359.78 1048,-333 1030.43,-320.1 1029.6,-311.54 1010,-302 944.46,-270.11 920.64,-283.97 850,-266 846.1,-265.01 842.04,-263.93 837.99,-262.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="838.62,-259.37 828.05,-260.06 836.75,-266.11 838.62,-259.37"/>
</g>
<!-- Node40 -->
<g id="node40" class="node">
<title>Node40</title>
<g id="a_node40"><a xlink:href="node__functor_8h.html" target="_top" xlink:title="Defines the Functor data structures.">
-<polygon fill="white" stroke="black" points="1236.5,-123.5 1236.5,-142.5 1357.5,-142.5 1357.5,-123.5 1236.5,-123.5"/>
-<text text-anchor="middle" x="1297" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/node_functor.h</text>
+<polygon fill="white" stroke="black" points="1546.5,-123.5 1546.5,-142.5 1667.5,-142.5 1667.5,-123.5 1546.5,-123.5"/>
+<text text-anchor="middle" x="1607" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/node_functor.h</text>
</a>
</g>
</g>
<!-- Node34->Node40 -->
<g id="edge66" class="edge">
<title>Node34->Node40</title>
-<path fill="none" stroke="midnightblue" d="M944.23,-768.08C860.95,-763.91 685.75,-752.12 632,-725 596.36,-707.02 570,-699.92 570,-660 570,-660 570,-660 570,-490 570,-396.51 463.29,-420.36 430,-333 412.93,-288.21 437.17,-264.42 475,-235 591.42,-144.46 1049.1,-134.17 1226.35,-133.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1226.36,-137.16 1236.35,-133.64 1226.34,-130.16 1226.36,-137.16"/>
+<path fill="none" stroke="midnightblue" d="M3397.19,-770.04C3190.68,-769.44 2331.58,-758.11 2115,-613 2007.02,-540.66 2009.17,-489.7 1927,-389 1895.8,-350.76 1899.41,-328.84 1858,-302 1803.73,-266.82 1771.69,-300.52 1717,-266 1670.06,-236.38 1633.25,-180.08 1616.63,-151.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1619.59,-149.66 1611.62,-142.69 1613.5,-153.11 1619.59,-149.66"/>
</g>
<!-- Node34->Node41 -->
<g id="edge74" class="edge">
<title>Node34->Node41</title>
-<path fill="none" stroke="midnightblue" d="M1033.62,-765.11C1123.13,-755.31 1324.52,-733.25 1424.06,-722.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1424.68,-725.8 1434.24,-721.23 1423.92,-718.84 1424.68,-725.8"/>
+<path fill="none" stroke="midnightblue" d="M3474.32,-761.44C3509.39,-752.16 3565.5,-737.31 3603.96,-727.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3605.06,-730.46 3613.83,-724.52 3603.26,-723.69 3605.06,-730.46"/>
</g>
<!-- Node59 -->
<g id="node59" class="node">
<title>Node59</title>
<g id="a_node59"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR.">
-<polygon fill="white" stroke="black" points="1358.5,-308 1358.5,-327 1441.5,-327 1441.5,-308 1358.5,-308"/>
-<text text-anchor="middle" x="1400" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/var.h</text>
+<polygon fill="white" stroke="black" points="3406.5,-308 3406.5,-327 3489.5,-327 3489.5,-308 3406.5,-308"/>
+<text text-anchor="middle" x="3448" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/var.h</text>
</a>
</g>
</g>
<!-- Node34->Node59 -->
<g id="edge165" class="edge">
<title>Node34->Node59</title>
-<path fill="none" stroke="midnightblue" d="M999.5,-761.39C1010.05,-752.59 1026.63,-738.35 1040,-725 1183.76,-581.5 1340.56,-391.58 1386.6,-335.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1389.43,-337.12 1393.02,-327.15 1384,-332.7 1389.43,-337.12"/>
+<path fill="none" stroke="midnightblue" d="M3486.68,-763.56C3510.03,-757.68 3536.66,-746.44 3551,-725 3555.94,-717.61 3553.43,-713.55 3551,-705 3528.59,-626.1 3454,-630.02 3454,-548 3454,-548 3454,-548 3454,-434 3454,-399.82 3451.35,-360.02 3449.57,-337.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3453.05,-336.87 3448.76,-327.19 3446.08,-337.43 3453.05,-336.87"/>
</g>
<!-- Node60 -->
<g id="node60" class="node">
<title>Node60</title>
<g id="a_node60"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="750,-705.5 750,-724.5 810,-724.5 810,-705.5 750,-705.5"/>
-<text text-anchor="middle" x="780" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
+<polygon fill="white" stroke="#bfbfbf" points="3482,-705.5 3482,-724.5 3542,-724.5 3542,-705.5 3482,-705.5"/>
+<text text-anchor="middle" x="3512" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node34->Node60 -->
<g id="edge167" class="edge">
<title>Node34->Node60</title>
-<path fill="none" stroke="midnightblue" d="M955.88,-761.44C919.04,-751.92 859.5,-736.54 820.06,-726.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="820.8,-722.93 810.25,-723.82 819.05,-729.71 820.8,-722.93"/>
+<path fill="none" stroke="midnightblue" d="M3453.25,-761.32C3463.8,-753.18 3479.8,-740.84 3492.44,-731.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3494.77,-733.71 3500.55,-724.83 3490.49,-728.17 3494.77,-733.71"/>
</g>
<!-- Node36->Node5 -->
<g id="edge59" class="edge">
<title>Node36->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1801.86,-312.38C1690.77,-301 1379.47,-269.08 1257.71,-256.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1257.86,-253.09 1247.56,-255.56 1257.15,-260.06 1257.86,-253.09"/>
+<path fill="none" stroke="midnightblue" d="M2256.08,-315.12C2434.35,-308.92 3150.88,-283.13 3250,-266 3254.56,-265.21 3259.3,-264.13 3263.95,-262.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3265.21,-266.18 3273.86,-260.05 3263.28,-259.45 3265.21,-266.18"/>
</g>
<!-- Node36->Node7 -->
<g id="edge57" class="edge">
<title>Node36->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1882.32,-316.6C2013.45,-316.44 2439.49,-312.15 2788,-266 3090.28,-225.97 3159.4,-179.7 3459,-123 3544.17,-106.88 3643.27,-91 3704.83,-81.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3705.4,-84.93 3714.75,-79.94 3704.33,-78.01 3705.4,-84.93"/>
+<path fill="none" stroke="midnightblue" d="M2186.28,-307.98C2161.51,-299.89 2126.19,-285.99 2100,-266 2060.55,-235.89 2073.49,-202.91 2030,-179 1904.58,-110.05 1845.77,-188.28 1710,-143 1693.37,-137.45 1692.68,-128.4 1676,-123 1588.62,-94.74 1319.53,-80.11 1199.2,-74.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1199.21,-71.33 1189.07,-74.4 1198.91,-78.32 1199.21,-71.33"/>
</g>
<!-- Node36->Node16 -->
<g id="edge63" class="edge">
<title>Node36->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1843.82,-307.78C1849.91,-279.01 1869.66,-188.45 1879,-179 1920.55,-136.98 1952.79,-166.53 2007,-143 2022.73,-136.17 2023.76,-128.52 2040,-123 2118.55,-96.3 2371.57,-79.56 2462.27,-74.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.72,-77.78 2472.5,-73.71 2462.32,-70.79 2462.72,-77.78"/>
+<path fill="none" stroke="midnightblue" d="M2175.92,-309.78C1964.87,-274.42 984.82,-110.18 792.72,-77.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="793.12,-74.5 782.68,-76.3 791.96,-81.41 793.12,-74.5"/>
</g>
<!-- Node36->Node17 -->
<g id="edge58" class="edge">
<title>Node36->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1854.58,-307.81C1885.53,-286.41 1965.64,-231.03 2003.97,-204.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2006.1,-207.32 2012.33,-198.76 2002.12,-201.56 2006.1,-207.32"/>
+<path fill="none" stroke="midnightblue" d="M2184.49,-307.95C2133.71,-294.13 2039.09,-268.2 2036,-266 2014.95,-251.05 1999.46,-224.97 1990.84,-207.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1993.99,-206.07 1986.56,-198.52 1987.66,-209.06 1993.99,-206.07"/>
</g>
<!-- Node36->Node20 -->
<g id="edge56" class="edge">
<title>Node36->Node20</title>
-<path fill="none" stroke="midnightblue" d="M1801.97,-313.67C1728.8,-307.9 1576.85,-292.99 1532,-266 1490.41,-240.98 1508.46,-202.5 1466,-179 1387.53,-135.56 1152.03,-160.18 1064,-143 991.46,-128.84 909.3,-100.76 865.15,-84.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="866.15,-81.27 855.55,-81.1 863.73,-87.84 866.15,-81.27"/>
+<path fill="none" stroke="midnightblue" d="M2198.05,-307.94C2181.98,-299.42 2158.88,-284.89 2145,-266 2134.32,-251.47 2100.61,-137.04 2087.39,-91.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2090.69,-90.12 2084.56,-81.48 2083.97,-92.06 2090.69,-90.12"/>
</g>
<!-- Node36->Node24 -->
<g id="edge60" class="edge">
<title>Node36->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1882.02,-312.63C1916.04,-309.44 1966.19,-304.97 2010,-302 2171.38,-291.04 2582.52,-313.94 2737,-266 2852.68,-230.1 2864.61,-184.43 2969,-123 2990.96,-110.08 3016.3,-95.93 3034.48,-85.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3036.2,-88.95 3043.28,-81.07 3032.83,-82.82 3036.2,-88.95"/>
+<path fill="none" stroke="midnightblue" d="M2256.01,-314.79C2345.59,-310.51 2568.84,-297.37 2753,-266 2911.01,-239.09 2945.95,-211.08 3103,-179 3201.79,-158.82 3228.7,-165.47 3327,-143 3357.29,-136.08 3363.95,-130.91 3394,-123 3460.81,-105.42 3539.9,-88.2 3583.02,-79.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3583.86,-82.52 3592.93,-77.04 3582.42,-75.67 3583.86,-82.52"/>
</g>
<!-- Node36->Node30 -->
<g id="edge61" class="edge">
<title>Node36->Node30</title>
-<path fill="none" stroke="midnightblue" d="M1801.91,-313.06C1734.11,-306.64 1600.37,-291.15 1561,-266 1521.21,-240.57 1540.83,-202.74 1500,-179 1426.29,-136.14 1199.87,-166.82 1118,-143 1074.06,-130.21 1027.58,-103.29 1001.34,-86.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1002.93,-83.53 992.63,-81.05 999.14,-89.41 1002.93,-83.53"/>
+<path fill="none" stroke="midnightblue" d="M2196.16,-307.92C2177.47,-299.2 2149.36,-284.37 2129,-266 2070.65,-213.36 2092.76,-162.8 2025,-123 1962.58,-86.33 1746.51,-76.17 1651.93,-73.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1651.91,-69.95 1641.82,-73.18 1651.72,-76.95 1651.91,-69.95"/>
</g>
<!-- Node36->Node35 -->
<g id="edge53" class="edge">
<title>Node36->Node35</title>
-<path fill="none" stroke="midnightblue" d="M1870.98,-307.99C1879.04,-305.82 1887.82,-303.65 1896,-302 1997.88,-281.51 2117.11,-266.99 2192.83,-258.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2193.64,-262.36 2203.22,-257.84 2192.91,-255.4 2193.64,-262.36"/>
+<path fill="none" stroke="midnightblue" d="M2256.24,-313.97C2370.02,-306.78 2703.84,-285.51 2981,-266 3019.94,-263.26 3063.27,-260.04 3099.08,-257.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3099.75,-260.79 3109.46,-256.54 3099.22,-253.81 3099.75,-260.79"/>
</g>
<!-- Node37 -->
<g id="node37" class="node">
<title>Node37</title>
<g id="a_node37"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1570.5,-235.5 1570.5,-265.5 1697.5,-265.5 1697.5,-235.5 1570.5,-235.5"/>
-<text text-anchor="start" x="1578.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
-<text text-anchor="middle" x="1634" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2154.5,-235.5 2154.5,-265.5 2281.5,-265.5 2281.5,-235.5 2154.5,-235.5"/>
+<text text-anchor="start" x="2162.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
+<text text-anchor="middle" x="2218" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
</a>
</g>
</g>
<!-- Node36->Node37 -->
<g id="edge54" class="edge">
<title>Node36->Node37</title>
-<path fill="none" stroke="midnightblue" d="M1814.38,-307.87C1782.42,-297.88 1729.03,-281.2 1688.61,-268.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1689.48,-265.17 1678.89,-265.53 1687.39,-271.85 1689.48,-265.17"/>
+<path fill="none" stroke="midnightblue" d="M2216.27,-307.73C2216.52,-299.54 2216.91,-286.92 2217.25,-275.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2220.76,-275.69 2217.57,-265.59 2213.76,-275.48 2220.76,-275.69"/>
</g>
<!-- Node38 -->
<g id="node38" class="node">
<title>Node38</title>
<g id="a_node38"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1715.5,-235.5 1715.5,-265.5 1842.5,-265.5 1842.5,-235.5 1715.5,-235.5"/>
-<text text-anchor="start" x="1723.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
-<text text-anchor="middle" x="1779" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2299.5,-235.5 2299.5,-265.5 2426.5,-265.5 2426.5,-235.5 2299.5,-235.5"/>
+<text text-anchor="start" x="2307.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
+<text text-anchor="middle" x="2363" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
</a>
</g>
</g>
<!-- Node36->Node38 -->
<g id="edge55" class="edge">
<title>Node36->Node38</title>
-<path fill="none" stroke="midnightblue" d="M1833.5,-307.73C1824.91,-298.86 1811.29,-284.81 1799.81,-272.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1802.13,-270.33 1792.66,-265.59 1797.1,-275.21 1802.13,-270.33"/>
+<path fill="none" stroke="midnightblue" d="M2235.52,-307.87C2257.48,-298.16 2293.78,-282.11 2322.03,-269.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2323.54,-272.77 2331.27,-265.53 2320.71,-266.37 2323.54,-272.77"/>
</g>
<!-- Node36->Node39 -->
<g id="edge62" class="edge">
<title>Node36->Node39</title>
-<path fill="none" stroke="midnightblue" d="M1882.32,-315.04C2116.48,-306.53 3300.51,-263.54 3575.08,-253.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3575.35,-257.06 3585.22,-253.2 3575.1,-250.06 3575.35,-257.06"/>
+<path fill="none" stroke="midnightblue" d="M2175.87,-314.66C1976.17,-305.5 1089.7,-264.83 855.76,-254.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="855.91,-250.61 845.76,-253.65 855.59,-257.6 855.91,-250.61"/>
</g>
<!-- Node40->Node13 -->
<g id="edge67" class="edge">
<title>Node40->Node13</title>
-<path fill="none" stroke="midnightblue" d="M1284.25,-123.48C1269.97,-113.93 1246.6,-98.31 1229.49,-86.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1230.99,-83.66 1220.73,-81.01 1227.1,-89.48 1230.99,-83.66"/>
+<path fill="none" stroke="midnightblue" d="M1667.81,-127.33C1815.62,-115.98 2191.7,-87.11 2329.97,-76.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2330.58,-79.96 2340.28,-75.7 2330.04,-72.98 2330.58,-79.96"/>
</g>
<!-- Node40->Node16 -->
<g id="edge70" class="edge">
<title>Node40->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1357.67,-123.89C1360.82,-123.56 1363.95,-123.26 1367,-123 1799.12,-85.61 2326.9,-75.13 2462.19,-72.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.36,-76.47 2472.31,-72.81 2462.25,-69.47 2462.36,-76.47"/>
+<path fill="none" stroke="midnightblue" d="M1546.43,-127.74C1380.13,-116.06 920.45,-83.77 793.09,-74.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="793.04,-71.31 782.82,-74.1 792.55,-78.3 793.04,-71.31"/>
</g>
<!-- Node40->Node25 -->
<g id="edge71" class="edge">
<title>Node40->Node25</title>
-<path fill="none" stroke="midnightblue" d="M1357.66,-123.77C1360.82,-123.48 1363.94,-123.22 1367,-123 2455.46,-45.3 2733.53,-164.57 3822,-87 3848.74,-85.09 3878.84,-81.14 3901.25,-77.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3901.9,-81.29 3911.27,-76.34 3900.86,-74.36 3901.9,-81.29"/>
+<path fill="none" stroke="midnightblue" d="M1546.33,-129.27C1315.53,-118.88 496.42,-82.02 319.04,-74.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="319.13,-70.53 308.98,-73.58 318.81,-77.53 319.13,-70.53"/>
</g>
<!-- Node40->Node29 -->
<g id="edge68" class="edge">
<title>Node40->Node29</title>
-<path fill="none" stroke="midnightblue" d="M1297,-123.48C1297,-115.08 1297,-101.98 1297,-91.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1300.5,-91.01 1297,-81.01 1293.5,-91.01 1300.5,-91.01"/>
+<path fill="none" stroke="midnightblue" d="M1667.61,-129.56C1804.16,-123.89 2146.29,-108.59 2432,-87 2471.32,-84.03 2516.34,-79.53 2546.71,-76.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2547.24,-79.8 2556.81,-75.26 2546.5,-72.83 2547.24,-79.8"/>
</g>
<!-- Node40->Node30 -->
<g id="edge69" class="edge">
<title>Node40->Node30</title>
-<path fill="none" stroke="midnightblue" d="M1251.58,-123.48C1191.06,-112.11 1084.62,-92.14 1024.54,-80.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1025.07,-77.4 1014.6,-78.99 1023.78,-84.28 1025.07,-77.4"/>
+<path fill="none" stroke="midnightblue" d="M1607,-123.48C1607,-115.08 1607,-101.98 1607,-91.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1610.5,-91.01 1607,-81.01 1603.5,-91.01 1610.5,-91.01"/>
</g>
<!-- Node41->Node5 -->
<g id="edge78" class="edge">
<title>Node41->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1445.62,-705.49C1381.25,-688.02 1254,-641.64 1254,-548 1254,-548 1254,-548 1254,-378 1254,-336.9 1232.29,-292.57 1218.7,-268.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1221.57,-266.82 1213.46,-260 1215.55,-270.39 1221.57,-266.82"/>
+<path fill="none" stroke="midnightblue" d="M3645.74,-705.44C3645.2,-686.94 3644,-641.82 3644,-604 3644,-604 3644,-604 3644,-546 3644,-419.85 3600.15,-377.37 3499,-302 3454.79,-269.06 3391.5,-257.46 3347.81,-253.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3347.95,-249.96 3337.7,-252.63 3347.38,-256.93 3347.95,-249.96"/>
</g>
<!-- Node41->Node7 -->
<g id="edge76" class="edge">
<title>Node41->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1529.58,-712.61C1680.49,-708.06 2161.95,-692.59 2560,-669 2884.39,-649.78 2969.06,-669.84 3289,-613 3469.51,-580.93 3511.92,-558.51 3686,-501 3776.29,-471.17 3795.34,-453.7 3886,-425 3947.66,-405.48 3973.21,-424.91 4027,-389 4125.69,-323.11 4106.7,-182.44 4004,-123 3973.82,-105.53 3884.03,-89.75 3823.25,-80.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.42,-77.13 3813.01,-79.13 3822.39,-84.05 3823.42,-77.13"/>
+<path fill="none" stroke="midnightblue" d="M3598.2,-708.94C3583.11,-707.49 3566.37,-706.02 3551,-705 3130.73,-677.13 3022.62,-715.47 2604,-669 2393.72,-645.66 865.24,-438.69 743,-266 735.04,-254.75 735.32,-246.44 743,-235 748.23,-227.2 991.77,-130.78 1094.76,-90.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1096.26,-93.43 1104.28,-86.51 1093.69,-86.91 1096.26,-93.43"/>
</g>
<!-- Node41->Node8 -->
<g id="edge77" class="edge">
<title>Node41->Node8</title>
-<path fill="none" stroke="midnightblue" d="M1441.12,-705.47C1399.39,-696.3 1337.88,-681.37 1317,-669 1287.25,-651.37 1282.28,-641.7 1263,-613 1168.71,-472.68 1117.24,-270.3 1103.08,-208.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1106.47,-207.71 1100.86,-198.72 1099.64,-209.25 1106.47,-207.71"/>
+<path fill="none" stroke="midnightblue" d="M3693.93,-707.16C3749.63,-696.18 3834,-668.85 3834,-604 3834,-604 3834,-604 3834,-434 3834,-416.85 3589.23,-275.57 3575,-266 3543.7,-244.96 3507.93,-219.8 3486.16,-204.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3488.18,-201.51 3478,-198.57 3484.13,-207.21 3488.18,-201.51"/>
</g>
<!-- Node41->Node19 -->
<g id="edge75" class="edge">
<title>Node41->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1434.27,-710.42C1196.59,-691.31 152,-591.77 152,-318.5 152,-318.5 152,-318.5 152,-188 152,-139.2 204.19,-103.56 237.95,-85.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="239.61,-88.69 246.92,-81.02 236.42,-82.46 239.61,-88.69"/>
+<path fill="none" stroke="midnightblue" d="M3693.7,-708.57C3736.05,-702.57 3798.95,-690.74 3850,-669 3891.28,-651.42 3899.7,-641.92 3934,-613 4070.14,-498.23 4222.47,-304.81 4258,-199 4271.75,-158.06 4238.56,-112.23 4217.58,-88.57"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4220.12,-86.16 4210.77,-81.17 4214.97,-90.9 4220.12,-86.16"/>
</g>
<!-- Node41->Node24 -->
<g id="edge164" class="edge">
<title>Node41->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1529.95,-711.73C1816.66,-698.08 3292,-626.74 3292,-604 3292,-604 3292,-604 3292,-546 3292,-354.44 3610.61,-346.68 3518,-179 3495.41,-138.09 3472.92,-138.97 3429,-123 3309.81,-79.68 3156.74,-73.08 3091.16,-72.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.06,-68.87 3081.04,-72.3 3091.01,-75.87 3091.06,-68.87"/>
+<path fill="none" stroke="midnightblue" d="M3693.51,-709.14C3730.18,-703.69 3781.06,-692.35 3820,-669 3936,-599.44 3976.87,-571.01 4026,-445 4038.27,-413.53 4028.99,-402.65 4026,-369 4015.61,-252.1 4034.28,-176.85 3930,-123 3880.97,-97.68 3717.41,-81.18 3647.33,-75.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.56,-71.62 3637.3,-74.26 3646.97,-78.59 3647.56,-71.62"/>
</g>
<!-- Node42 -->
<g id="node42" class="node">
<title>Node42</title>
<g id="a_node42"><a xlink:href="layout_8h.html" target="_top" xlink:title="Definition of layout.">
-<polygon fill="white" stroke="black" points="2031,-649.5 2031,-668.5 2129,-668.5 2129,-649.5 2031,-649.5"/>
-<text text-anchor="middle" x="2080" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/layout.h</text>
+<polygon fill="white" stroke="black" points="2613,-649.5 2613,-668.5 2711,-668.5 2711,-649.5 2613,-649.5"/>
+<text text-anchor="middle" x="2662" y="-656.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/layout.h</text>
</a>
</g>
</g>
<!-- Node41->Node42 -->
<g id="edge79" class="edge">
<title>Node41->Node42</title>
-<path fill="none" stroke="midnightblue" d="M1529.67,-709.69C1638.03,-699.91 1902.55,-676.02 2020.98,-665.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2021.31,-668.81 2030.96,-664.43 2020.68,-661.84 2021.31,-668.81"/>
+<path fill="none" stroke="midnightblue" d="M3598.19,-709.06C3583.11,-707.61 3566.37,-706.12 3551,-705 3238.98,-682.33 2864.54,-667.38 2721.5,-662.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2721.32,-658.6 2711.2,-661.73 2721.06,-665.6 2721.32,-658.6"/>
</g>
<!-- Node41->Node59 -->
<g id="edge163" class="edge">
<title>Node41->Node59</title>
-<path fill="none" stroke="midnightblue" d="M1487.28,-705.23C1497.73,-687.04 1520,-643.6 1520,-604 1520,-604 1520,-604 1520,-546 1520,-462.65 1504.77,-438 1458,-369 1448.36,-354.77 1433.74,-342.08 1421.6,-332.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1423.46,-330.01 1413.3,-327.02 1419.38,-335.69 1423.46,-330.01"/>
+<path fill="none" stroke="midnightblue" d="M3633.92,-705.39C3597.61,-678.43 3492,-591.44 3492,-492 3492,-492 3492,-492 3492,-434 3492,-397.16 3472.21,-357.78 3459.17,-335.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3461.98,-333.73 3453.75,-327.06 3456.02,-337.41 3461.98,-333.73"/>
</g>
<!-- Node42->Node14 -->
<g id="edge83" class="edge">
<title>Node42->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2086.99,-649.22C2093.59,-640.51 2103.31,-626.54 2109,-613 2175.79,-454.18 2076.54,-360.11 2195,-235 2235.04,-192.71 2285.93,-245.5 2321,-199 2333.79,-182.05 2314.69,-161.85 2297.57,-148.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2299.61,-145.67 2289.48,-142.57 2295.46,-151.31 2299.61,-145.67"/>
+<path fill="none" stroke="midnightblue" d="M2618.48,-649.47C2568.4,-636.83 2493,-607.86 2493,-548 2493,-548 2493,-548 2493,-316.5 2493,-278.74 2491.81,-265.1 2469,-235 2435.94,-191.37 2378.11,-161.87 2341.5,-146.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2342.36,-143.08 2331.78,-142.56 2339.72,-149.57 2342.36,-143.08"/>
</g>
<!-- Node42->Node19 -->
<g id="edge80" class="edge">
<title>Node42->Node19</title>
-<path fill="none" stroke="midnightblue" d="M2030.9,-652.83C1733.88,-620.91 190,-445.64 190,-251.5 190,-251.5 190,-251.5 190,-188 190,-146.31 224.98,-108.03 247.48,-87.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="249.86,-90.28 255.11,-81.08 245.27,-85 249.86,-90.28"/>
+<path fill="none" stroke="midnightblue" d="M2711.25,-654.33C2890.88,-639.26 3523.99,-571.13 3977,-333 4084.96,-276.25 4116.03,-249.76 4175,-143 4184.29,-126.18 4191.8,-105.5 4196.51,-90.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4199.94,-91.67 4199.56,-81.08 4193.25,-89.6 4199.94,-91.67"/>
</g>
<!-- Node42->Node20 -->
<g id="edge82" class="edge">
<title>Node42->Node20</title>
-<path fill="none" stroke="midnightblue" d="M2031,-649.64C1764.15,-603.98 495.61,-384.77 430,-333 371.82,-287.08 320.15,-237.24 366,-179 415.81,-115.74 657.5,-87.24 772.26,-77.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="772.64,-80.6 782.3,-76.25 772.03,-73.62 772.64,-80.6"/>
+<path fill="none" stroke="midnightblue" d="M2612.72,-657.03C2541.17,-652.71 2417,-632.97 2417,-548 2417,-548 2417,-548 2417,-378 2417,-313.94 2469.55,-288.94 2435,-235 2425.47,-220.12 2195.16,-120.78 2111.78,-85.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2112.94,-81.86 2102.37,-81.16 2110.19,-88.3 2112.94,-81.86"/>
</g>
<!-- Node43 -->
<g id="node43" class="node">
<title>Node43</title>
<g id="a_node43"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1966,-593.5 1966,-612.5 2100,-612.5 2100,-593.5 1966,-593.5"/>
-<text text-anchor="middle" x="2033" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tuple.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2735,-593.5 2735,-612.5 2869,-612.5 2869,-593.5 2735,-593.5"/>
+<text text-anchor="middle" x="2802" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tuple.h</text>
</a>
</g>
</g>
<!-- Node42->Node43 -->
<g id="edge81" class="edge">
<title>Node42->Node43</title>
-<path fill="none" stroke="midnightblue" d="M2072.24,-649.08C2065.46,-641.3 2055.46,-629.8 2047.24,-620.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2049.82,-618 2040.62,-612.75 2044.54,-622.59 2049.82,-618"/>
+<path fill="none" stroke="midnightblue" d="M2684.18,-649.44C2707.43,-640.48 2744.15,-626.31 2770.42,-616.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2771.85,-619.38 2779.92,-612.52 2769.33,-612.85 2771.85,-619.38"/>
</g>
<!-- Node44 -->
<g id="node44" class="node">
<title>Node44</title>
<g id="a_node44"><a xlink:href="attr__registry__map_8h.html" target="_top" xlink:title="Attribute map used in registry.">
-<polygon fill="white" stroke="black" points="2662.5,-302.5 2662.5,-332.5 2771.5,-332.5 2771.5,-302.5 2662.5,-302.5"/>
-<text text-anchor="start" x="2670.5" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attr_registry</text>
-<text text-anchor="middle" x="2717" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
+<polygon fill="white" stroke="black" points="1214.5,-302.5 1214.5,-332.5 1323.5,-332.5 1323.5,-302.5 1214.5,-302.5"/>
+<text text-anchor="start" x="1222.5" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attr_registry</text>
+<text text-anchor="middle" x="1269" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
</a>
</g>
</g>
<!-- Node42->Node44 -->
<g id="edge84" class="edge">
<title>Node42->Node44</title>
-<path fill="none" stroke="midnightblue" d="M2129.13,-654.59C2229.53,-645.43 2461.7,-612.78 2615,-501 2669.81,-461.04 2698.95,-382.18 2710.69,-342.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2714.13,-343.21 2713.49,-332.63 2707.39,-341.3 2714.13,-343.21"/>
+<path fill="none" stroke="midnightblue" d="M2612.94,-651.34C2560.57,-643.79 2475.36,-630.27 2403,-613 2124.99,-546.63 2069.1,-476.75 1788,-425 1729.62,-414.25 1295.53,-432.36 1255,-389 1243.33,-376.51 1248.16,-357.2 1255.17,-341.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1258.5,-343.11 1259.94,-332.62 1252.27,-339.93 1258.5,-343.11"/>
</g>
<!-- Node45 -->
<g id="node45" class="node">
<title>Node45</title>
<g id="a_node45"><a xlink:href="module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions.">
-<polygon fill="white" stroke="black" points="2237.5,-537.5 2237.5,-556.5 2332.5,-556.5 2332.5,-537.5 2237.5,-537.5"/>
-<text text-anchor="middle" x="2285" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
+<polygon fill="white" stroke="black" points="2683.5,-537.5 2683.5,-556.5 2778.5,-556.5 2778.5,-537.5 2683.5,-537.5"/>
+<text text-anchor="middle" x="2731" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
</a>
</g>
</g>
<!-- Node42->Node45 -->
<g id="edge88" class="edge">
<title>Node42->Node45</title>
-<path fill="none" stroke="midnightblue" d="M2096.09,-649.37C2131.71,-630.25 2217.48,-584.23 2260.1,-561.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2261.83,-564.4 2268.99,-556.59 2258.52,-558.24 2261.83,-564.4"/>
+<path fill="none" stroke="midnightblue" d="M2667.41,-649.37C2678.75,-631.3 2705.17,-589.18 2720.14,-565.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2723.26,-566.92 2725.61,-556.59 2717.33,-563.2 2723.26,-566.92"/>
</g>
<!-- Node57 -->
<g id="node57" class="node">
<title>Node57</title>
<g id="a_node57"><a xlink:href="exec__scope_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2638,-593.5 2638,-612.5 2762,-612.5 2762,-593.5 2638,-593.5"/>
-<text text-anchor="middle" x="2700" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/exec_scope.h</text>
+<polygon fill="white" stroke="black" points="2555,-593.5 2555,-612.5 2679,-612.5 2679,-593.5 2555,-593.5"/>
+<text text-anchor="middle" x="2617" y="-600.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/exec_scope.h</text>
</a>
</g>
</g>
<!-- Node42->Node57 -->
<g id="edge151" class="edge">
<title>Node42->Node57</title>
-<path fill="none" stroke="midnightblue" d="M2129.17,-653.72C2238.06,-644.23 2500.01,-621.42 2627.65,-610.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2628.06,-613.78 2637.71,-609.42 2627.45,-606.81 2628.06,-613.78"/>
+<path fill="none" stroke="midnightblue" d="M2654.57,-649.08C2648.15,-641.38 2638.69,-630.03 2630.88,-620.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2633.38,-618.19 2624.29,-612.75 2628.01,-622.67 2633.38,-618.19"/>
</g>
<!-- Node42->Node59 -->
<g id="edge162" class="edge">
<title>Node42->Node59</title>
-<path fill="none" stroke="midnightblue" d="M2053.19,-649.37C2027.99,-640.98 1989.41,-627.42 1957,-613 1745.21,-518.74 1701.03,-477.18 1496,-369 1472.06,-356.37 1444.75,-342 1425.39,-331.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1426.79,-328.62 1416.31,-327.07 1423.54,-334.81 1426.79,-328.62"/>
+<path fill="none" stroke="midnightblue" d="M2711.05,-651.61C2755.5,-644.92 2822.37,-632.62 2878,-613 3104.15,-533.24 3353.06,-379.35 3426.5,-332.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3428.42,-335.35 3434.95,-327 3424.64,-329.46 3428.42,-335.35"/>
</g>
<!-- Node44->Node8 -->
<g id="edge85" class="edge">
<title>Node44->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2662.49,-310.29C2603.31,-302.81 2506.35,-288.37 2425,-266 2387.83,-255.78 2381.79,-242.62 2344,-235 2100.98,-186.02 1476.59,-211.56 1229,-199 1204.3,-197.75 1176.99,-195.92 1153.8,-194.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1154.03,-190.75 1143.8,-193.51 1153.52,-197.73 1154.03,-190.75"/>
+<path fill="none" stroke="midnightblue" d="M1323.61,-313.49C1382.26,-310.32 1478.21,-305.34 1561,-302 2075.5,-281.23 2205.21,-300.08 2719,-266 2978.99,-248.75 3288.38,-212.11 3411.53,-196.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3411.97,-200.34 3421.47,-195.64 3411.11,-193.39 3411.97,-200.34"/>
</g>
<!-- Node44->Node16 -->
<g id="edge86" class="edge">
<title>Node44->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2717.56,-302.2C2718.06,-276.48 2716.73,-221.17 2699,-179 2686.73,-149.82 2681.03,-141.01 2655,-123 2615.93,-95.96 2561.68,-82.88 2527.47,-76.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.96,-73.48 2517.53,-75.32 2526.84,-80.39 2527.96,-73.48"/>
+<path fill="none" stroke="midnightblue" d="M1214.48,-309.36C1161.85,-301.64 1080.32,-287.48 1012,-266 980.94,-256.23 763.22,-170.64 746,-143 736.03,-126.99 742.71,-105.32 749.86,-90.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="753.15,-91.5 754.68,-81.01 746.95,-88.25 753.15,-91.5"/>
</g>
<!-- Node44->Node25 -->
<g id="edge87" class="edge">
<title>Node44->Node25</title>
-<path fill="none" stroke="midnightblue" d="M2771.65,-312.54C2855.32,-305.96 3019.99,-290.98 3158,-266 3449.58,-213.23 3794.27,-114.19 3901.49,-82.51"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3902.81,-85.77 3911.4,-79.58 3900.82,-79.06 3902.81,-85.77"/>
+<path fill="none" stroke="midnightblue" d="M1214.16,-309.04C1121.58,-296.34 942.99,-271.37 930,-266 908.56,-257.14 909.01,-244.85 888,-235 793.52,-190.71 762.05,-200.74 660,-179 572.09,-160.27 547.38,-167.84 461,-143 406.87,-127.44 346.47,-101.18 312.37,-85.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="313.61,-82.2 303.07,-81.16 310.66,-88.55 313.61,-82.2"/>
</g>
<!-- Node45->Node5 -->
<g id="edge94" class="edge">
<title>Node45->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2248.19,-537.43C2209.89,-528.48 2148.19,-513.96 2095,-501 1896.02,-452.51 1844.41,-447.03 1648,-389 1611.07,-378.09 1517.15,-352.61 1484,-333 1466.4,-322.59 1468.33,-311.07 1450,-302 1369.84,-262.33 1338.68,-288.05 1252,-266 1248.62,-265.14 1245.13,-264.16 1241.66,-263.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1242.62,-259.75 1232.03,-260.09 1240.52,-266.43 1242.62,-259.75"/>
+<path fill="none" stroke="midnightblue" d="M2760.65,-537.46C2781.19,-530.36 2808.13,-518.55 2827,-501 2876.25,-455.2 2850.9,-413.87 2901,-369 3021.46,-261.1 3092.9,-304.42 3250,-266 3253.84,-265.06 3257.82,-264 3261.79,-262.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3262.86,-266.22 3271.48,-260.06 3260.9,-259.5 3262.86,-266.22"/>
</g>
<!-- Node45->Node7 -->
<g id="edge91" class="edge">
<title>Node45->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2332.92,-543.11C2604.04,-526.56 3935.8,-442.76 4003,-389 4076.77,-329.98 4075.04,-265.04 4036,-179 4020.38,-144.58 4005.55,-140.4 3972,-123 3925.28,-98.76 3866.58,-85.89 3823.46,-79.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.81,-75.73 3813.41,-77.73 3822.79,-82.66 3823.81,-75.73"/>
+<path fill="none" stroke="midnightblue" d="M2683.46,-538.14C2680.26,-537.72 2677.09,-537.33 2674,-537 2400.01,-507.47 2329.94,-519.77 2055,-501 2035.15,-499.64 640.51,-403.61 627,-389 574.21,-331.91 642.53,-273.65 710,-235 834.23,-163.83 995.51,-112.61 1080.91,-88.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1082.01,-91.65 1090.69,-85.57 1080.11,-84.91 1082.01,-91.65"/>
</g>
<!-- Node45->Node8 -->
<g id="edge92" class="edge">
<title>Node45->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2237.26,-539.35C2181.9,-531.39 2088.01,-517.09 2008,-501 1711.68,-441.41 1637.93,-421.76 1349,-333 1263.41,-306.71 1231.84,-318.08 1159,-266 1137.17,-250.39 1119.23,-224.69 1108.82,-207.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1111.65,-205.47 1103.59,-198.6 1105.61,-209 1111.65,-205.47"/>
+<path fill="none" stroke="midnightblue" d="M2778.76,-537.62C2817.07,-530.17 2871.89,-517.83 2918,-501 3027.7,-460.97 3292.83,-333.66 3388,-266 3412.67,-248.46 3436.99,-223.14 3451.75,-206.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3454.58,-208.7 3458.55,-198.88 3449.32,-204.09 3454.58,-208.7"/>
</g>
<!-- Node45->Node16 -->
<g id="edge149" class="edge">
<title>Node45->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2309.04,-537.47C2380.08,-510.75 2588.94,-421.12 2666,-266 2705.58,-186.32 2581.04,-113.89 2523.04,-85.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2524.54,-82.2 2514.01,-81.01 2521.5,-88.5 2524.54,-82.2"/>
+<path fill="none" stroke="midnightblue" d="M2683.47,-538.07C2680.27,-537.67 2677.09,-537.3 2674,-537 2272.96,-497.51 2170.34,-523.85 1768,-501 1430.74,-481.85 1345.9,-480.88 1010,-445 987.69,-442.62 631.13,-396.55 610,-389 557,-370.08 503.64,-356.41 518,-302 547.18,-191.39 675.46,-114.81 732.5,-85.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="734.28,-88.65 741.65,-81.03 731.14,-82.39 734.28,-88.65"/>
</g>
<!-- Node45->Node17 -->
<g id="edge93" class="edge">
<title>Node45->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2271.08,-537.31C2259.3,-529.27 2242.81,-516.27 2233,-501 2216.74,-475.68 2214,-466.1 2214,-436 2214,-436 2214,-436 2214,-378 2214,-300.19 2171.79,-285.97 2113,-235 2096.92,-221.06 2075.76,-210.06 2058.23,-202.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2059.49,-199.16 2048.91,-198.54 2056.79,-205.62 2059.49,-199.16"/>
+<path fill="none" stroke="midnightblue" d="M2684.2,-537.44C2630.96,-527.47 2547.45,-511.09 2517,-501 2316.72,-434.65 2278.57,-388.21 2086,-302 2049.3,-285.57 2029.19,-296.51 2003,-266 1989.28,-250.02 1984.83,-225.68 1983.47,-208.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1986.95,-208.43 1982.94,-198.63 1979.96,-208.8 1986.95,-208.43"/>
</g>
<!-- Node45->Node18 -->
<g id="edge144" class="edge">
<title>Node45->Node18</title>
-<path fill="none" stroke="midnightblue" d="M2237.4,-541.79C2022.8,-521.6 1151.04,-426.12 1045,-199 1041.24,-190.95 1038.89,-185.45 1045,-179 1095.73,-125.44 1634.51,-149.52 1708,-143 1709.47,-142.87 1710.96,-142.73 1712.46,-142.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1712.87,-146.07 1722.47,-141.57 1712.16,-139.1 1712.87,-146.07"/>
+<path fill="none" stroke="midnightblue" d="M2725.93,-537.49C2719.15,-524.97 2708.66,-500.94 2715,-481 2750.44,-369.47 2819.8,-373.08 2867,-266 2882.96,-229.78 2876.28,-217.37 2886,-179 2888.25,-170.12 2891.04,-160.34 2893.45,-152.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2896.81,-153.16 2896.34,-142.58 2890.11,-151.15 2896.81,-153.16"/>
</g>
<!-- Node45->Node19 -->
<g id="edge89" class="edge">
<title>Node45->Node19</title>
-<path fill="none" stroke="midnightblue" d="M2237.27,-542.21C1944.88,-518.8 405.72,-393.03 327,-333 250.75,-274.85 257.81,-141.07 263.4,-91.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="266.91,-91.59 264.67,-81.24 259.97,-90.73 266.91,-91.59"/>
+<path fill="none" stroke="midnightblue" d="M2778.62,-538.86C2835.43,-530.26 2933.25,-515.19 3017,-501 3340.78,-446.14 3420.67,-426.47 3744,-369 3835.94,-352.66 3868.06,-375.91 3951,-333 4067.37,-272.79 4160.77,-137.71 4191.35,-89.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4194.41,-91.49 4196.76,-81.16 4188.48,-87.77 4194.41,-91.49"/>
</g>
<!-- Node45->Node24 -->
<g id="edge146" class="edge">
<title>Node45->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2332.6,-545.54C2398.04,-543.56 2518.66,-535.1 2615,-501 2631.17,-495.28 2632.03,-487.26 2648,-481 2742.83,-443.84 3004.21,-430.99 3097,-389 3190.16,-346.84 3221.15,-276.71 3191,-179 3182.68,-152.02 3181.28,-142.64 3161,-123 3141.18,-103.81 3112.64,-90.53 3090.79,-82.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.87,-79.09 3081.27,-79.06 3089.53,-85.69 3091.87,-79.09"/>
+<path fill="none" stroke="midnightblue" d="M2776.31,-537.44C2822.19,-528.68 2895.14,-514.46 2958,-501 3105.17,-469.47 3140.33,-454.06 3288,-425 3439.13,-395.26 3477.53,-390.81 3630,-369 3695.16,-359.68 3873.42,-375.12 3924,-333 3997.72,-271.6 3957.39,-170.44 3874,-123 3800.58,-81.23 3698.56,-73.43 3647.23,-72.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.12,-68.84 3637.07,-72.2 3647.02,-75.84 3647.12,-68.84"/>
</g>
<!-- Node45->Node25 -->
<g id="edge150" class="edge">
<title>Node45->Node25</title>
-<path fill="none" stroke="midnightblue" d="M2332.76,-545.03C2623.74,-538.56 4149.44,-496.93 4264,-333 4303.21,-276.9 4304.26,-234.35 4264,-179 4194.61,-83.6 4037.92,-71.91 3968.82,-71.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3968.5,-68.13 3958.51,-71.67 3968.53,-75.13 3968.5,-68.13"/>
+<path fill="none" stroke="midnightblue" d="M2683.47,-538.03C2680.27,-537.64 2677.09,-537.29 2674,-537 2116.61,-485.24 1973.64,-536.73 1415,-501 1164.06,-484.95 1100.91,-480.7 852,-445 718.6,-425.87 680.95,-434.21 554,-389 409.54,-337.56 325.73,-340.24 266,-199 252.83,-167.87 256.1,-156.09 263,-123 265.38,-111.59 270.48,-99.59 275.17,-90.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="278.39,-91.55 279.96,-81.07 272.2,-88.29 278.39,-91.55"/>
</g>
<!-- Node45->Node26 -->
<g id="edge145" class="edge">
<title>Node45->Node26</title>
-<path fill="none" stroke="midnightblue" d="M2268.67,-537.49C2254.09,-529.37 2232.66,-516.17 2217,-501 2139.14,-425.58 2151.44,-379.84 2076,-302 2036.57,-261.32 1981.5,-223.69 1950.86,-204.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1952.51,-201.01 1942.18,-198.63 1948.77,-206.93 1952.51,-201.01"/>
+<path fill="none" stroke="midnightblue" d="M2726.84,-537.37C2721.19,-524.29 2712.87,-499.05 2723,-481 2738.04,-454.21 2760.11,-466.55 2782,-445 2810.47,-416.97 2807.56,-402.05 2830,-369 2861.8,-322.15 2877.72,-315.62 2905,-266 2915.33,-247.21 2923.92,-224.12 2929.22,-208.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2932.58,-209.35 2932.35,-198.75 2925.92,-207.18 2932.58,-209.35"/>
</g>
<!-- Node45->Node35 -->
<g id="edge90" class="edge">
<title>Node45->Node35</title>
-<path fill="none" stroke="midnightblue" d="M2298.92,-537.31C2310.7,-529.27 2327.19,-516.27 2337,-501 2353.26,-475.68 2356,-466.1 2356,-436 2356,-436 2356,-436 2356,-378 2356,-330.82 2314.41,-288.41 2288.75,-266.73"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2290.69,-263.8 2280.73,-260.19 2286.27,-269.23 2290.69,-263.8"/>
+<path fill="none" stroke="midnightblue" d="M2778.79,-537.61C2810.51,-530.76 2852.34,-519.17 2886,-501 2953.41,-464.61 2969.96,-449.46 3017,-389 3043.49,-354.96 3028.82,-331.8 3060,-302 3079.45,-283.41 3106.86,-271.01 3130.04,-263.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3131.23,-266.45 3139.69,-260.06 3129.09,-259.78 3131.23,-266.45"/>
</g>
<!-- Node45->Node39 -->
<g id="edge147" class="edge">
<title>Node45->Node39</title>
-<path fill="none" stroke="midnightblue" d="M2332.71,-541.11C2402.24,-533.76 2535.41,-518.79 2648,-501 2908.18,-459.88 2975.43,-456.68 3230,-389 3371.03,-351.51 3534.18,-289.84 3601.02,-263.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3602.5,-266.94 3610.54,-260.03 3599.95,-260.42 3602.5,-266.94"/>
+<path fill="none" stroke="midnightblue" d="M2683.46,-538.18C2680.26,-537.75 2677.09,-537.35 2674,-537 2451.77,-511.53 2393.69,-530.77 2172,-501 1999.57,-477.84 1960.57,-447.11 1788,-425 1654.41,-407.89 1312,-427.71 1183,-389 1135.32,-374.69 1126.97,-361.27 1086,-333 1068.06,-320.62 1067.79,-311.13 1048,-302 966.78,-264.55 937.12,-286.25 850,-266 845.81,-265.03 841.46,-263.93 837.13,-262.78"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="837.77,-259.32 827.2,-260.05 835.91,-266.07 837.77,-259.32"/>
</g>
<!-- Node46 -->
<g id="node46" class="node">
<title>Node46</title>
<g id="a_node46"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes.">
-<polygon fill="white" stroke="black" points="1738,-369.5 1738,-388.5 1836,-388.5 1836,-369.5 1738,-369.5"/>
-<text text-anchor="middle" x="1787" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
+<polygon fill="white" stroke="black" points="2910,-369.5 2910,-388.5 3008,-388.5 3008,-369.5 2910,-369.5"/>
+<text text-anchor="middle" x="2959" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
</a>
</g>
</g>
<!-- Node45->Node46 -->
<g id="edge95" class="edge">
<title>Node45->Node46</title>
-<path fill="none" stroke="midnightblue" d="M2259.27,-537.42C2176.54,-509.85 1917.22,-423.41 1822.28,-391.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1823.17,-388.37 1812.57,-388.52 1820.95,-395.01 1823.17,-388.37"/>
+<path fill="none" stroke="midnightblue" d="M2773.22,-537.49C2799.83,-530.69 2833.95,-519.22 2860,-501 2900.43,-472.72 2933.36,-423.59 2949.06,-397.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2952.17,-399.09 2954.21,-388.7 2946.13,-395.55 2952.17,-399.09"/>
</g>
<!-- Node47 -->
<g id="node47" class="node">
<title>Node47</title>
<g id="a_node47"><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="2494,-481.5 2494,-500.5 2606,-500.5 2606,-481.5 2494,-481.5"/>
-<text text-anchor="middle" x="2550" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
+<polygon fill="white" stroke="black" points="2526,-481.5 2526,-500.5 2638,-500.5 2638,-481.5 2526,-481.5"/>
+<text text-anchor="middle" x="2582" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
</a>
</g>
</g>
<!-- Node45->Node47 -->
<g id="edge103" class="edge">
<title>Node45->Node47</title>
-<path fill="none" stroke="midnightblue" d="M2326.99,-537.44C2373.41,-527.98 2448.23,-512.74 2498.24,-502.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2499.11,-505.94 2508.21,-500.52 2497.71,-499.08 2499.11,-505.94"/>
+<path fill="none" stroke="midnightblue" d="M2707.39,-537.44C2682.54,-528.44 2643.23,-514.19 2615.25,-504.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2616.09,-500.63 2605.5,-500.52 2613.71,-507.21 2616.09,-500.63"/>
</g>
<!-- Node56 -->
<g id="node56" class="node">
<title>Node56</title>
<g id="a_node56"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2242,-481.5 2242,-500.5 2328,-500.5 2328,-481.5 2242,-481.5"/>
-<text text-anchor="middle" x="2285" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
+<polygon fill="white" stroke="#bfbfbf" points="2732,-481.5 2732,-500.5 2818,-500.5 2818,-481.5 2732,-481.5"/>
+<text text-anchor="middle" x="2775" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
</a>
</g>
</g>
<!-- Node45->Node56 -->
<g id="edge148" class="edge">
<title>Node45->Node56</title>
-<path fill="none" stroke="midnightblue" d="M2285,-537.08C2285,-530.01 2285,-519.86 2285,-510.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2288.5,-510.75 2285,-500.75 2281.5,-510.75 2288.5,-510.75"/>
+<path fill="none" stroke="midnightblue" d="M2738.27,-537.08C2744.54,-529.38 2753.79,-518.03 2761.43,-508.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2764.27,-510.71 2767.87,-500.75 2758.84,-506.29 2764.27,-510.71"/>
</g>
<!-- Node46->Node5 -->
<g id="edge100" class="edge">
<title>Node46->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1737.73,-370.11C1700.95,-363.16 1650.03,-351.26 1608,-333 1584.71,-322.88 1583.88,-310.63 1560,-302 1434.54,-256.65 1392.97,-291.36 1262,-266 1256.95,-265.02 1251.67,-263.83 1246.48,-262.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1247.25,-259.13 1236.69,-260.02 1245.49,-265.91 1247.25,-259.13"/>
+<path fill="none" stroke="midnightblue" d="M2977.35,-369.37C3009.21,-354.56 3077.02,-323.79 3136,-302 3147.83,-297.63 3216.26,-276.53 3260.32,-263.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3261.59,-266.29 3270.13,-260.02 3259.54,-259.6 3261.59,-266.29"/>
</g>
<!-- Node46->Node8 -->
<g id="edge98" class="edge">
<title>Node46->Node8</title>
-<path fill="none" stroke="midnightblue" d="M1767.5,-369.45C1726.39,-351.54 1631.84,-311 1598,-302 1485.26,-272.01 1451.05,-294.81 1338,-266 1300.24,-256.38 1292.98,-247.27 1256,-235 1217.63,-222.27 1173.3,-209.76 1141.56,-201.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1142.28,-197.75 1131.71,-198.53 1140.46,-204.51 1142.28,-197.75"/>
+<path fill="none" stroke="midnightblue" d="M2993.36,-369.43C3075.67,-348.7 3282.08,-295.36 3347,-266 3384.47,-249.06 3423.92,-221.69 3446.68,-204.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3448.92,-207.53 3454.81,-198.72 3444.71,-201.93 3448.92,-207.53"/>
</g>
<!-- Node46->Node19 -->
<g id="edge96" class="edge">
<title>Node46->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1737.69,-377.92C1508.89,-377.36 556.53,-372.65 430,-333 366.36,-313.06 304,-318.19 304,-251.5 304,-251.5 304,-251.5 304,-188 304,-151.75 286.91,-112.17 275.65,-90.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="278.73,-88.37 270.97,-81.16 272.54,-91.64 278.73,-88.37"/>
+<path fill="none" stroke="midnightblue" d="M3008.03,-376.37C3190.74,-370.21 3823.62,-347.89 3864,-333 3901.75,-319.08 4118.84,-141.19 4183.7,-87.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4186.01,-90.28 4191.49,-81.21 4181.55,-84.88 4186.01,-90.28"/>
</g>
<!-- Node46->Node24 -->
<g id="edge101" class="edge">
<title>Node46->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1836.03,-370.23C1839.06,-369.8 1842.07,-369.39 1845,-369 2053.99,-341.39 2587.08,-329.78 2788,-266 2895.51,-231.87 2926.3,-218.61 3010,-143 3026.88,-127.75 3041.04,-105.64 3049.73,-90.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3052.92,-91.72 3054.63,-81.26 3046.77,-88.37 3052.92,-91.72"/>
+<path fill="none" stroke="midnightblue" d="M3008.25,-376.28C3191.6,-369.8 3824.91,-346.45 3841,-333 3869.53,-309.14 3860,-288.69 3860,-251.5 3860,-251.5 3860,-251.5 3860,-188 3860,-95.12 3714.17,-76.81 3647.53,-73.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.32,-69.78 3637.17,-72.83 3647.01,-76.77 3647.32,-69.78"/>
</g>
<!-- Node46->Node30 -->
<g id="edge102" class="edge">
<title>Node46->Node30</title>
-<path fill="none" stroke="midnightblue" d="M1737.95,-376.18C1594.08,-369.95 1176.58,-345.3 1070,-266 1011.29,-222.32 989.6,-130.86 982.75,-91.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="986.18,-90.58 981.14,-81.26 979.26,-91.69 986.18,-90.58"/>
+<path fill="none" stroke="midnightblue" d="M2909.74,-377.33C2759.62,-374.94 2309.48,-365.2 2167,-333 2090.2,-315.64 2074.86,-298.19 2003,-266 1861.15,-202.45 1695.08,-117.92 1632.54,-85.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1633.9,-82.48 1623.41,-81.01 1630.7,-88.7 1633.9,-82.48"/>
</g>
<!-- Node46->Node35 -->
<g id="edge97" class="edge">
<title>Node46->Node35</title>
-<path fill="none" stroke="midnightblue" d="M1808.85,-369.44C1848.44,-354.19 1934.91,-322.02 2010,-302 2075.29,-284.6 2151.32,-270.48 2204.04,-261.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2204.65,-265.09 2213.94,-260 2203.5,-258.19 2204.65,-265.09"/>
+<path fill="none" stroke="midnightblue" d="M2959.28,-369.31C2960.28,-353.55 2964.69,-320.19 2984,-302 2994.35,-292.25 3071.42,-273.94 3124.44,-262.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3125.35,-265.64 3134.37,-260.08 3123.85,-258.8 3125.35,-265.64"/>
</g>
<!-- Node46->Node36 -->
<g id="edge99" class="edge">
<title>Node46->Node36</title>
-<path fill="none" stroke="midnightblue" d="M1794.88,-369.48C1803.29,-360.37 1816.82,-345.74 1827.23,-334.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1829.92,-336.73 1834.13,-327.01 1824.78,-331.98 1829.92,-336.73"/>
+<path fill="none" stroke="midnightblue" d="M2909.96,-374.07C2775.5,-363.31 2401.97,-333.39 2266.17,-322.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2266.3,-319.02 2256.05,-321.71 2265.74,-325.99 2266.3,-319.02"/>
</g>
<!-- Node47->Node5 -->
<g id="edge105" class="edge">
<title>Node47->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2494,-486.15C2327.61,-474.28 1838.37,-436.2 1686,-389 1667.77,-383.35 1665.71,-376.1 1648,-369 1593.94,-347.32 1573.62,-359.96 1522,-333 1502.68,-322.91 1503.91,-310.87 1484,-302 1388.69,-259.54 1353.45,-290.41 1252,-266 1248.53,-265.17 1244.95,-264.19 1241.39,-263.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1242.13,-259.7 1231.54,-260.05 1240.04,-266.38 1242.13,-259.7"/>
+<path fill="none" stroke="midnightblue" d="M2603.76,-481.36C2626.19,-472.42 2662.13,-457.96 2693,-445 2840,-383.27 2868.92,-346.57 3022,-302 3120.5,-273.32 3150,-288.89 3250,-266 3253.94,-265.1 3258.04,-264.04 3262.1,-262.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3263.38,-266.2 3272.02,-260.06 3261.44,-259.47 3263.38,-266.2"/>
</g>
<!-- Node47->Node7 -->
<g id="edge104" class="edge">
<title>Node47->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2606.39,-486.9C2868.64,-472.39 3957.53,-410.91 3985,-389 3995.58,-380.56 4022,-263.72 4022,-251.5 4022,-251.5 4022,-251.5 4022,-188 4022,-144.67 3899.26,-106.17 3823.1,-86.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.69,-82.98 3813.14,-83.9 3821.96,-89.77 3823.69,-82.98"/>
+<path fill="none" stroke="midnightblue" d="M2525.96,-484.36C2404.75,-472.29 2109.16,-443.55 1861,-425 1726.47,-414.94 1376.98,-446.63 1255,-389 1162.94,-345.51 1138.37,-300.18 1127,-199 1123.23,-165.43 1121.45,-156.47 1126,-123 1127.19,-114.25 1129.49,-104.88 1131.89,-96.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1135.29,-97.46 1134.9,-86.87 1128.6,-95.39 1135.29,-97.46"/>
</g>
<!-- Node48 -->
<g id="node48" class="node">
<title>Node48</title>
<g id="a_node48"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object.">
-<polygon fill="white" stroke="black" points="2534,-425.5 2534,-444.5 2644,-444.5 2644,-425.5 2534,-425.5"/>
-<text text-anchor="middle" x="2589" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
+<polygon fill="white" stroke="black" points="2527,-425.5 2527,-444.5 2637,-444.5 2637,-425.5 2527,-425.5"/>
+<text text-anchor="middle" x="2582" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
</a>
</g>
</g>
<!-- Node47->Node48 -->
<g id="edge106" class="edge">
<title>Node47->Node48</title>
-<path fill="none" stroke="midnightblue" d="M2556.44,-481.08C2561.95,-473.46 2570.03,-462.26 2576.76,-452.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2579.66,-454.91 2582.68,-444.75 2573.99,-450.81 2579.66,-454.91"/>
+<path fill="none" stroke="midnightblue" d="M2582,-481.08C2582,-474.01 2582,-463.86 2582,-454.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2585.5,-454.75 2582,-444.75 2578.5,-454.75 2585.5,-454.75"/>
</g>
<!-- Node48->Node5 -->
<g id="edge109" class="edge">
<title>Node48->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2533.98,-433.85C2369.34,-432.98 1882.43,-427.17 1729,-389 1708.55,-383.91 1705.75,-376.36 1686,-369 1631.43,-348.66 1611.62,-359.96 1560,-333 1540.68,-322.91 1542,-310.66 1522,-302 1410.9,-253.92 1370,-293.06 1252,-266 1248.52,-265.2 1244.93,-264.25 1241.37,-263.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1242.11,-259.78 1231.52,-260.14 1240.03,-266.46 1242.11,-259.78"/>
+<path fill="none" stroke="midnightblue" d="M2594.12,-425.21C2628.81,-400.59 2732.24,-330.89 2830,-302 3009.67,-248.91 3066,-301.28 3250,-266 3254.45,-265.15 3259.07,-264.04 3263.61,-262.82"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3264.69,-266.15 3273.33,-260.02 3262.75,-259.43 3264.69,-266.15"/>
</g>
<!-- Node48->Node7 -->
<g id="edge107" class="edge">
<title>Node48->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2644.41,-433.22C2898.46,-429.52 3940.45,-412.9 3964,-389 4058.44,-293.15 3869.35,-145.34 3793.53,-92.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3795.51,-89.41 3785.29,-86.59 3791.52,-95.16 3795.51,-89.41"/>
+<path fill="none" stroke="midnightblue" d="M2526.84,-429.46C2508.44,-427.99 2487.84,-426.38 2469,-425 2045.49,-394.07 1933.48,-420.7 1518,-333 1491.64,-327.44 1307.21,-281.25 1285,-266 1219.46,-221 1171.54,-136.68 1151.03,-95.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1154.08,-94.11 1146.52,-86.68 1147.8,-97.2 1154.08,-94.11"/>
</g>
<!-- Node48->Node9 -->
<g id="edge108" class="edge">
<title>Node48->Node9</title>
-<path fill="none" stroke="midnightblue" d="M2581.36,-425.3C2561.65,-403.15 2506.91,-343.42 2454,-302 2402.05,-261.33 2334.52,-222.91 2298.41,-203.39"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2299.99,-200.26 2289.52,-198.62 2296.68,-206.43 2299.99,-200.26"/>
+<path fill="none" stroke="midnightblue" d="M2581.54,-425.32C2579.67,-390.18 2572.63,-258.12 2570,-208.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2573.48,-208.38 2569.46,-198.58 2566.49,-208.75 2573.48,-208.38"/>
</g>
<!-- Node48->Node24 -->
<g id="edge143" class="edge">
<title>Node48->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2644.3,-429.31C2767.93,-418.76 3056.66,-393.69 3066,-389 3159.98,-341.81 3207.06,-279.15 3175,-179 3165.91,-150.59 3159.25,-143.93 3138,-123 3122.68,-107.91 3102.14,-94.95 3085.85,-85.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3087.28,-82.74 3076.81,-81.1 3083.98,-88.91 3087.28,-82.74"/>
+<path fill="none" stroke="midnightblue" d="M2637.2,-430.79C2884.34,-416.29 3878.15,-356.58 3900,-333 3965.2,-262.61 3924.07,-183.98 3850,-123 3819.36,-97.77 3704.48,-82.15 3647.49,-75.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.55,-72.28 3637.23,-74.68 3646.79,-79.24 3647.55,-72.28"/>
</g>
<!-- Node48->Node46 -->
<g id="edge110" class="edge">
<title>Node48->Node46</title>
-<path fill="none" stroke="midnightblue" d="M2533.78,-432.43C2411.7,-428.57 2109.48,-416.92 1846.14,-389.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1846.32,-385.52 1836.01,-387.93 1845.58,-392.48 1846.32,-385.52"/>
+<path fill="none" stroke="midnightblue" d="M2637.22,-426.09C2707.3,-416.05 2827.7,-398.81 2899.68,-388.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2900.53,-391.91 2909.93,-387.03 2899.54,-384.98 2900.53,-391.91"/>
</g>
<!-- Node48->Node49 -->
<g id="edge111" class="edge">
<title>Node48->Node49</title>
-<path fill="none" stroke="midnightblue" d="M2644.24,-431.71C2852.54,-423.09 3590.39,-392.56 3823.13,-382.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.32,-386.43 3833.17,-382.52 3823.03,-379.43 3823.32,-386.43"/>
+<path fill="none" stroke="midnightblue" d="M2526.86,-432.42C2256.46,-424.67 1071.39,-390.73 767.97,-382.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="767.65,-378.52 757.55,-381.73 767.45,-385.52 767.65,-378.52"/>
</g>
<!-- Node52 -->
<g id="node52" class="node">
<title>Node52</title>
<g id="a_node52"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API.">
-<polygon fill="white" stroke="black" points="2543.5,-235.5 2543.5,-265.5 2656.5,-265.5 2656.5,-235.5 2543.5,-235.5"/>
-<text text-anchor="start" x="2551.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
-<text text-anchor="middle" x="2600" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="black" points="2597.5,-235.5 2597.5,-265.5 2710.5,-265.5 2710.5,-235.5 2597.5,-235.5"/>
+<text text-anchor="start" x="2605.5" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
+<text text-anchor="middle" x="2654" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
</a>
</g>
</g>
<!-- Node48->Node52 -->
<g id="edge117" class="edge">
<title>Node48->Node52</title>
-<path fill="none" stroke="midnightblue" d="M2589.53,-425.2C2591.15,-398.39 2596.05,-317.09 2598.53,-275.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2602.04,-275.89 2599.14,-265.69 2595.05,-275.47 2602.04,-275.89"/>
+<path fill="none" stroke="midnightblue" d="M2585.47,-425.2C2596.12,-398.22 2628.53,-316.05 2644.67,-275.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2647.99,-276.28 2648.4,-265.69 2641.47,-273.71 2647.99,-276.28"/>
</g>
<!-- Node53 -->
<g id="node53" class="node">
<title>Node53</title>
<g id="a_node53"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry.">
-<polygon fill="white" stroke="black" points="2921,-369.5 2921,-388.5 3057,-388.5 3057,-369.5 2921,-369.5"/>
-<text text-anchor="middle" x="2989" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target_kind.h</text>
+<polygon fill="white" stroke="black" points="1264,-369.5 1264,-388.5 1400,-388.5 1400,-369.5 1264,-369.5"/>
+<text text-anchor="middle" x="1332" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target_kind.h</text>
</a>
</g>
</g>
<!-- Node48->Node53 -->
<g id="edge124" class="edge">
<title>Node48->Node53</title>
-<path fill="none" stroke="midnightblue" d="M2644.2,-426.55C2714.76,-417.02 2837.14,-400.5 2915.52,-389.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2916.36,-393.34 2925.81,-388.53 2915.43,-386.4 2916.36,-393.34"/>
+<path fill="none" stroke="midnightblue" d="M2526.85,-429.16C2508.47,-427.67 2487.86,-426.12 2469,-425 2071.51,-401.31 1595.09,-387.03 1410.45,-382.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1410.38,-378.52 1400.29,-381.75 1410.19,-385.52 1410.38,-378.52"/>
</g>
<!-- Node49->Node16 -->
<g id="edge115" class="edge">
<title>Node49->Node16</title>
-<path fill="none" stroke="midnightblue" d="M3889.78,-369.03C3882.21,-353.7 3865.04,-322.16 3843,-302 3797.36,-260.24 3778.62,-257.52 3721,-235 3624.62,-197.33 3596.15,-200.83 3495,-179 3360.71,-150.02 3327.27,-140.44 3191,-123 2936.79,-90.46 2627.45,-77.22 2527.68,-73.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.74,-70.1 2517.62,-73.24 2527.49,-77.09 2527.74,-70.1"/>
+<path fill="none" stroke="midnightblue" d="M672.53,-369.44C656.43,-362.38 636.62,-350.63 627,-333 620.4,-320.91 623.42,-315.31 627,-302 650.59,-214.26 716.8,-125.46 745.94,-89.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="748.88,-91.28 752.5,-81.32 743.46,-86.84 748.88,-91.28"/>
</g>
<!-- Node49->Node25 -->
<g id="edge116" class="edge">
<title>Node49->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3913.1,-369.35C3928.6,-361.59 3950.23,-348.96 3965,-333 4010.77,-283.53 4019.74,-264.41 4036,-199 4044.15,-166.22 4053.76,-151.73 4036,-123 4021.37,-99.32 3991.89,-86.37 3968.55,-79.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3969.22,-76.09 3958.65,-76.89 3967.41,-82.86 3969.22,-76.09"/>
+<path fill="none" stroke="midnightblue" d="M636.24,-370.37C543.65,-355.31 368.66,-312.69 280,-199 255.53,-167.62 268.17,-117.35 277.67,-90.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="281.04,-91.6 281.32,-81.01 274.5,-89.11 281.04,-91.6"/>
</g>
<!-- Node49->Node32 -->
<g id="edge113" class="edge">
<title>Node49->Node32</title>
-<path fill="none" stroke="midnightblue" d="M3833.35,-378.37C3681.34,-378.6 3271.99,-374.91 2934,-333 2865.15,-324.46 2849.54,-312.8 2781,-302 2640.5,-279.86 2599.74,-305.15 2463,-266 2432.23,-257.19 2429.05,-242.78 2398,-235 2307.08,-212.21 1643.78,-195.14 1467.78,-190.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1467.69,-187.48 1457.61,-190.74 1467.52,-194.47 1467.69,-187.48"/>
+<path fill="none" stroke="midnightblue" d="M757.52,-377.06C1007.94,-373.04 1963.96,-356.44 2265,-333 2499.96,-314.71 2557.32,-296.57 2791,-266 3009.63,-237.4 3067.85,-237.36 3289.49,-198.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3290.24,-202.39 3299.49,-197.23 3289.04,-195.49 3290.24,-202.39"/>
</g>
<!-- Node50 -->
<g id="node50" class="node">
<title>Node50</title>
<g id="a_node50"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3890.5,-308 3890.5,-327 3955.5,-327 3955.5,-308 3890.5,-308"/>
-<text text-anchor="middle" x="3923" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
+<polygon fill="white" stroke="#bfbfbf" points="636.5,-308 636.5,-327 701.5,-327 701.5,-308 636.5,-308"/>
+<text text-anchor="middle" x="669" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
</a>
</g>
</g>
<!-- Node49->Node50 -->
<g id="edge112" class="edge">
<title>Node49->Node50</title>
-<path fill="none" stroke="midnightblue" d="M3898.15,-369.48C3902.38,-360.82 3909.04,-347.15 3914.4,-336.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3917.62,-337.53 3918.85,-327.01 3911.33,-334.46 3917.62,-337.53"/>
+<path fill="none" stroke="midnightblue" d="M692.99,-369.48C688.91,-360.82 682.48,-347.15 677.3,-336.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="680.43,-334.57 673,-327.01 674.1,-337.55 680.43,-334.57"/>
</g>
<!-- Node49->Node51 -->
<g id="edge114" class="edge">
<title>Node49->Node51</title>
-<path fill="none" stroke="midnightblue" d="M3881.25,-369.48C3866.97,-359.93 3843.6,-344.31 3826.49,-332.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3827.99,-329.66 3817.73,-327.01 3824.1,-335.48 3827.99,-329.66"/>
+<path fill="none" stroke="midnightblue" d="M704.45,-369.48C712.33,-360.46 724.94,-346.02 734.74,-334.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="737.62,-336.84 741.56,-327.01 732.35,-332.24 737.62,-336.84"/>
</g>
<!-- Node52->Node8 -->
<g id="edge121" class="edge">
<title>Node52->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2543.37,-244.36C2506.77,-241.21 2458.11,-237.34 2415,-235 1888.42,-206.39 1755.7,-225.22 1229,-199 1204.3,-197.77 1176.99,-195.95 1153.8,-194.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1154.03,-190.77 1143.8,-193.53 1153.51,-197.76 1154.03,-190.77"/>
+<path fill="none" stroke="midnightblue" d="M2710.51,-246.07C2832.01,-238.57 3127.07,-219.73 3374,-199 3385.99,-197.99 3398.86,-196.8 3411.05,-195.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3411.49,-199.1 3421.1,-194.64 3410.81,-192.13 3411.49,-199.1"/>
</g>
<!-- Node52->Node10 -->
<g id="edge118" class="edge">
<title>Node52->Node10</title>
-<path fill="none" stroke="midnightblue" d="M2599.5,-235.36C2598.43,-220.45 2595.11,-196.71 2585,-179 2578.27,-167.21 2567.38,-156.76 2557.58,-148.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2559.47,-145.94 2549.38,-142.7 2555.25,-151.52 2559.47,-145.94"/>
+<path fill="none" stroke="midnightblue" d="M2604.28,-235.5C2578.38,-227.02 2546.82,-214.78 2521,-199 2498.9,-185.49 2477.36,-164.75 2463.69,-150.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2465.97,-147.65 2456.61,-142.7 2460.84,-152.41 2465.97,-147.65"/>
</g>
<!-- Node52->Node13 -->
<g id="edge119" class="edge">
<title>Node52->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2543.12,-237.37C2538.36,-236.51 2533.6,-235.71 2529,-235 2375.75,-211.46 2330.4,-243.92 2182,-199 2163.73,-193.47 2162.44,-183.93 2144,-179 2093.84,-165.58 1246.53,-179.9 1210,-143 1196.84,-129.71 1198.67,-107.18 1202.29,-91.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1205.72,-91.88 1204.92,-81.32 1198.96,-90.08 1205.72,-91.88"/>
+<path fill="none" stroke="midnightblue" d="M2597.3,-242.34C2538.16,-231.65 2447.68,-205.54 2401,-143 2389.76,-127.94 2385.17,-106.69 2383.29,-91.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2386.75,-90.82 2382.32,-81.19 2379.78,-91.48 2386.75,-90.82"/>
</g>
<!-- Node52->Node15 -->
<g id="edge120" class="edge">
<title>Node52->Node15</title>
-<path fill="none" stroke="midnightblue" d="M2579.03,-235.34C2546.26,-213.2 2483.25,-170.64 2450.29,-148.38"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2452.08,-145.37 2441.84,-142.67 2448.16,-151.17 2452.08,-145.37"/>
+<path fill="none" stroke="midnightblue" d="M2646.77,-235.34C2635.99,-214.24 2615.74,-174.6 2604.02,-151.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2607.09,-149.98 2599.43,-142.67 2600.86,-153.17 2607.09,-149.98"/>
</g>
<!-- Node52->Node21 -->
<g id="edge122" class="edge">
<title>Node52->Node21</title>
-<path fill="none" stroke="midnightblue" d="M2543.5,-237.52C2538.6,-236.61 2533.72,-235.76 2529,-235 2394.68,-213.37 2355.88,-236.16 2225,-199 2204.72,-193.24 2202.39,-184.34 2182,-179 2080.88,-152.53 1804.43,-193.66 1713,-143 1692.07,-131.4 1677.22,-107.43 1668.89,-90.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1671.94,-88.94 1664.55,-81.35 1665.6,-91.89 1671.94,-88.94"/>
+<path fill="none" stroke="midnightblue" d="M2656.51,-235.12C2661.16,-210.87 2672.53,-160.79 2693,-123 2699.89,-110.28 2710.26,-97.77 2718.98,-88.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2721.66,-90.64 2726.08,-81.01 2716.62,-85.78 2721.66,-90.64"/>
</g>
<!-- Node52->Node24 -->
<g id="edge123" class="edge">
<title>Node52->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2623.83,-235.46C2668.05,-209.92 2766.38,-155.51 2855,-123 2914.08,-101.33 2986.16,-85.93 3026.9,-78.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3027.6,-81.63 3036.79,-76.35 3026.32,-74.74 3027.6,-81.63"/>
+<path fill="none" stroke="midnightblue" d="M2679.31,-235.41C2710.28,-218.89 2764.81,-192.1 2815,-179 2973.15,-137.71 3021.05,-176.66 3181,-143 3208.92,-137.12 3214.19,-129.38 3242,-123 3366.28,-94.46 3517.82,-80.09 3582.85,-74.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3583.19,-78.35 3592.89,-74.08 3582.64,-71.37 3583.19,-78.35"/>
</g>
<!-- Node53->Node7 -->
<g id="edge126" class="edge">
<title>Node53->Node7</title>
-<path fill="none" stroke="midnightblue" d="M3023.47,-369.49C3092.2,-352.24 3250.88,-310.94 3381,-266 3517.99,-218.69 3559.56,-218.94 3683,-143 3705.45,-129.19 3727.8,-109.14 3743.32,-93.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3746.17,-96.04 3750.78,-86.5 3741.23,-91.09 3746.17,-96.04"/>
+<path fill="none" stroke="midnightblue" d="M1341.62,-369.17C1356.93,-354.05 1383.45,-322.83 1366,-302 1307.45,-232.09 1226.75,-332.17 1164,-266 1120.27,-219.89 1127.77,-137.36 1134.88,-96.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1138.33,-97.22 1136.74,-86.74 1131.45,-95.92 1138.33,-97.22"/>
</g>
<!-- Node53->Node16 -->
<g id="edge141" class="edge">
<title>Node53->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2972.27,-369.44C2959.29,-361.81 2942.19,-349.32 2934,-333 2903.26,-271.77 2960.36,-238.85 2927,-179 2905.51,-140.45 2886.13,-139.01 2845,-123 2734.4,-79.95 2591.25,-73.12 2527.78,-72.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.62,-68.86 2517.59,-72.28 2527.56,-75.86 2527.62,-68.86"/>
+<path fill="none" stroke="midnightblue" d="M1335.19,-369.3C1340.25,-353.81 1348,-321.3 1332,-302 1276.86,-235.5 1225.15,-285.5 1141,-266 1031.86,-240.71 1002.74,-238.76 898,-199 871.61,-188.98 802.64,-164.2 784,-143 771.22,-128.47 765.18,-106.83 762.37,-91.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="765.81,-90.73 760.84,-81.38 758.89,-91.79 765.81,-90.73"/>
</g>
<!-- Node53->Node20 -->
<g id="edge125" class="edge">
<title>Node53->Node20</title>
-<path fill="none" stroke="midnightblue" d="M2920.64,-378.02C2650.91,-377.81 1660.13,-374.17 1349,-333 1222.58,-316.27 1184.26,-322.64 1070,-266 973.99,-218.41 882.12,-125.66 847.49,-88.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="849.98,-86.02 840.63,-81.04 844.84,-90.77 849.98,-86.02"/>
+<path fill="none" stroke="midnightblue" d="M1400.09,-374.72C1503.37,-369.03 1689.81,-355.73 1710,-333 1719.15,-322.7 1716.5,-314.15 1710,-302 1696.39,-276.57 1669.61,-291.43 1656,-266 1649.5,-253.85 1649.4,-247.09 1656,-235 1693.47,-166.32 1927.06,-106.82 2031.56,-83.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2032.56,-86.63 2041.56,-81.04 2031.04,-79.8 2032.56,-86.63"/>
</g>
<!-- Node53->Node21 -->
<g id="edge138" class="edge">
<title>Node53->Node21</title>
-<path fill="none" stroke="midnightblue" d="M2920.71,-377.61C2700.78,-376.02 2012.51,-368.28 1793,-333 1766.51,-328.74 1577.13,-287.44 1561,-266 1515.59,-205.62 1601.96,-121.63 1642.09,-87.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1644.42,-90.27 1649.88,-81.19 1639.95,-84.88 1644.42,-90.27"/>
+<path fill="none" stroke="midnightblue" d="M1400.09,-374.5C1496.93,-368.81 1669.13,-355.81 1727,-333 1834.02,-290.83 1829.32,-224.41 1935,-179 2215.61,-58.43 2312.43,-120.54 2616,-87 2632.87,-85.14 2651.08,-82.99 2668.05,-80.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2668.93,-84.34 2678.43,-79.66 2668.08,-77.39 2668.93,-84.34"/>
</g>
<!-- Node53->Node25 -->
<g id="edge142" class="edge">
<title>Node53->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3057.07,-376.59C3234.76,-371.75 3707.7,-350.99 3835,-266 3897.25,-224.44 3923.02,-131.48 3931.51,-91.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3934.98,-91.92 3933.5,-81.43 3928.11,-90.56 3934.98,-91.92"/>
+<path fill="none" stroke="midnightblue" d="M1283.09,-369.45C1232.66,-360.58 1151.77,-346.17 1082,-333 908.18,-300.18 437.29,-264.79 309,-143 294.81,-129.53 289.01,-107.36 286.64,-91.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="290.08,-90.77 285.45,-81.24 283.13,-91.58 290.08,-90.77"/>
</g>
<!-- Node53->Node39 -->
<g id="edge140" class="edge">
<title>Node53->Node39</title>
-<path fill="none" stroke="midnightblue" d="M3032.44,-369.45C3146.45,-347.02 3454.03,-286.51 3578.57,-262.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3579.49,-265.4 3588.63,-260.03 3578.14,-258.53 3579.49,-265.4"/>
+<path fill="none" stroke="midnightblue" d="M1269.17,-369.49C1229.36,-362.71 1177.37,-351.26 1134,-333 1110.59,-323.15 1109.72,-311.08 1086,-302 991.02,-265.63 959.77,-285.77 860,-266 854.46,-264.9 848.66,-263.65 842.94,-262.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="843.31,-258.86 832.78,-260.01 841.73,-265.68 843.31,-258.86"/>
</g>
<!-- Node53->Node44 -->
<g id="edge127" class="edge">
<title>Node53->Node44</title>
-<path fill="none" stroke="midnightblue" d="M2950.03,-369.48C2906.14,-359.88 2834.14,-344.12 2781.76,-332.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2782.41,-329.23 2771.89,-330.51 2780.92,-336.06 2782.41,-329.23"/>
+<path fill="none" stroke="midnightblue" d="M1322.97,-369.48C1314.76,-361.72 1302.29,-349.94 1291.41,-339.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1293.52,-336.84 1283.85,-332.52 1288.71,-341.93 1293.52,-336.84"/>
</g>
<!-- Node53->Node51 -->
<g id="edge139" class="edge">
<title>Node53->Node51</title>
-<path fill="none" stroke="midnightblue" d="M3057.17,-373.03C3221.66,-361.04 3636.29,-330.8 3765.76,-321.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3766.27,-324.83 3775.99,-320.62 3765.76,-317.85 3766.27,-324.83"/>
+<path fill="none" stroke="midnightblue" d="M1263.9,-377.58C1160.75,-375.77 959.2,-367.62 792,-333 788.31,-332.24 784.5,-331.25 780.74,-330.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="781.63,-326.76 771.03,-327.07 779.5,-333.44 781.63,-326.76"/>
</g>
<!-- Node54 -->
<g id="node54" class="node">
<title>Node54</title>
<g id="a_node54"><a xlink:href="config__schema_8h.html" target="_top" xlink:title="Minimal schema for dynamic config canonicalization and validation.">
-<polygon fill="white" stroke="black" points="2942.5,-308 2942.5,-327 3073.5,-327 3073.5,-308 2942.5,-308"/>
-<text text-anchor="middle" x="3008" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/config_schema.h</text>
+<polygon fill="white" stroke="black" points="1570.5,-308 1570.5,-327 1701.5,-327 1701.5,-308 1570.5,-308"/>
+<text text-anchor="middle" x="1636" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/config_schema.h</text>
</a>
</g>
</g>
<!-- Node53->Node54 -->
<g id="edge128" class="edge">
<title>Node53->Node54</title>
-<path fill="none" stroke="midnightblue" d="M2991.72,-369.48C2994.43,-360.99 2998.67,-347.7 3002.15,-336.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3005.57,-337.6 3005.28,-327.01 2998.91,-335.47 3005.57,-337.6"/>
+<path fill="none" stroke="midnightblue" d="M1375.56,-369.48C1430.19,-358.78 1523.81,-340.46 1582.67,-328.94"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1583.38,-332.36 1592.53,-327.01 1582.04,-325.5 1583.38,-332.36"/>
</g>
<!-- Node54->Node7 -->
<g id="edge131" class="edge">
<title>Node54->Node7</title>
-<path fill="none" stroke="midnightblue" d="M3042.89,-307.92C3077.47,-298.99 3131.69,-283.82 3177,-266 3258.2,-234.06 3271.22,-209.44 3353,-179 3474.9,-133.63 3624.02,-100.21 3704.92,-83.82"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3705.8,-87.21 3714.92,-81.81 3704.42,-80.35 3705.8,-87.21"/>
+<path fill="none" stroke="midnightblue" d="M1589.51,-307.96C1513.4,-293.96 1370.34,-267.5 1368,-266 1328,-240.42 1338.26,-213.84 1306,-179 1279.63,-150.52 1271.38,-144.4 1239,-123 1220.91,-111.04 1199.61,-99.85 1181.42,-91.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1182.76,-87.82 1172.22,-86.68 1179.75,-94.14 1182.76,-87.82"/>
</g>
<!-- Node54->Node16 -->
<g id="edge136" class="edge">
<title>Node54->Node16</title>
-<path fill="none" stroke="midnightblue" d="M3015.82,-308C3023.93,-298.56 3036.1,-282.46 3041,-266 3059.15,-205.03 3080.28,-167.68 3035,-123 2998.84,-87.32 2639.88,-75.91 2528.07,-73.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.82,-69.7 2517.74,-72.96 2527.66,-76.7 2527.82,-69.7"/>
+<path fill="none" stroke="midnightblue" d="M1570.32,-308.04C1509.01,-299.55 1415.18,-284.99 1335,-266 1154.43,-223.22 1110.94,-204.89 936,-143 883.75,-124.52 824.09,-99.85 789.38,-85.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="790.43,-81.77 779.86,-81.07 787.69,-88.21 790.43,-81.77"/>
</g>
<!-- Node54->Node20 -->
<g id="edge130" class="edge">
<title>Node54->Node20</title>
-<path fill="none" stroke="midnightblue" d="M2942.16,-309.38C2919.6,-306.98 2894.2,-304.33 2871,-302 2702.2,-285.07 2651,-322.38 2491,-266 2467.4,-257.68 2467.55,-243.45 2444,-235 2301.81,-183.97 2249.14,-247.31 2106,-199 2089.75,-193.52 2089.43,-183.92 2073,-179 1869.14,-117.89 1326.56,-173.93 1116,-143 1081.02,-137.86 1073.28,-131.65 1039,-123 983.75,-109.05 920.03,-93.52 878.26,-83.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="878.94,-79.97 868.39,-81.02 877.29,-86.77 878.94,-79.97"/>
+<path fill="none" stroke="midnightblue" d="M1622.13,-307.76C1600.33,-292.92 1562.28,-261.77 1580,-235 1629.68,-159.96 1898.8,-104.39 2021.26,-82.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2021.99,-86.03 2031.23,-80.84 2020.78,-79.13 2021.99,-86.03"/>
</g>
<!-- Node54->Node24 -->
<g id="edge133" class="edge">
<title>Node54->Node24</title>
-<path fill="none" stroke="midnightblue" d="M3050.42,-307.97C3090.13,-299.02 3145.21,-283.8 3158,-266 3201.81,-205.03 3117.73,-121.96 3078.08,-87.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3079.84,-84.86 3069.92,-81.12 3075.34,-90.23 3079.84,-84.86"/>
+<path fill="none" stroke="midnightblue" d="M1701.64,-314.67C1929.05,-308.16 2671.92,-285.52 2719,-266 2737.89,-258.17 2735.77,-246.02 2753,-235 2807.04,-200.45 2823.89,-195 2886,-179 3032.72,-141.2 3078.66,-182.25 3225,-143 3246.14,-137.33 3248.98,-129.09 3270,-123 3381.9,-90.61 3520.52,-78.38 3582.46,-74.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3583,-77.78 3592.76,-73.65 3582.56,-70.79 3583,-77.78"/>
</g>
<!-- Node54->Node25 -->
<g id="edge137" class="edge">
<title>Node54->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3073.66,-312.23C3217.51,-300.88 3568.9,-262.17 3835,-143 3866.77,-128.77 3898.85,-103.86 3917.82,-87.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3920.29,-90.28 3925.57,-81.09 3915.71,-84.98 3920.29,-90.28"/>
+<path fill="none" stroke="midnightblue" d="M1570.22,-310.49C1486.49,-302.43 1337.49,-286.69 1211,-266 859.4,-208.49 438.77,-109.5 318.56,-80.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="319.36,-77.22 308.82,-78.28 317.72,-84.03 319.36,-77.22"/>
</g>
<!-- Node54->Node30 -->
<g id="edge134" class="edge">
<title>Node54->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2942.43,-309.55C2812.82,-295.81 2536.18,-266.45 2535,-266 2512.61,-257.57 2513.4,-243.4 2491,-235 2345.81,-180.59 2292.4,-243.92 2144,-199 2125.73,-193.47 2124.43,-183.94 2106,-179 1910.74,-126.63 1396.01,-178.57 1197,-143 1127.83,-130.64 1050.34,-101.56 1009.26,-84.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1010.45,-81.57 999.87,-81.01 1007.79,-88.05 1010.45,-81.57"/>
+<path fill="none" stroke="midnightblue" d="M1590.2,-307.97C1519.17,-294.63 1390.23,-269.95 1387,-266 1343.94,-213.33 1388.91,-181.63 1466,-123 1494.33,-101.46 1532.67,-88.52 1562.22,-81.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1563.35,-84.46 1572.27,-78.75 1561.73,-77.65 1563.35,-84.46"/>
</g>
<!-- Node54->Node35 -->
<g id="edge129" class="edge">
<title>Node54->Node35</title>
-<path fill="none" stroke="midnightblue" d="M2942.42,-310.73C2805.55,-298.69 2490.19,-270.96 2344.86,-258.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2344.97,-254.67 2334.7,-257.28 2344.35,-261.64 2344.97,-254.67"/>
+<path fill="none" stroke="midnightblue" d="M1701.82,-314.89C1897.04,-309.94 2489.89,-293.56 2981,-266 3019.98,-263.81 3063.31,-260.64 3099.11,-257.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3099.79,-261.28 3109.49,-257 3099.24,-254.31 3099.79,-261.28"/>
</g>
<!-- Node54->Node39 -->
<g id="edge135" class="edge">
<title>Node54->Node39</title>
-<path fill="none" stroke="midnightblue" d="M3073.6,-309.67C3196.46,-296.87 3459.29,-269.49 3575.15,-257.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3575.64,-260.89 3585.23,-256.37 3574.92,-253.93 3575.64,-260.89"/>
+<path fill="none" stroke="midnightblue" d="M1570.32,-311.4C1410.94,-299.02 1005.77,-267.56 855.88,-255.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="855.78,-252.4 845.54,-255.11 855.24,-259.38 855.78,-252.4"/>
</g>
<!-- Node55 -->
<g id="node55" class="node">
<title>Node55</title>
<g id="a_node55"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3093,-241 3093,-260 3149,-260 3149,-241 3093,-241"/>
-<text text-anchor="middle" x="3121" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="1396,-241 1396,-260 1452,-260 1452,-241 1396,-241"/>
+<text text-anchor="middle" x="1424" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
</a>
</g>
</g>
<!-- Node54->Node55 -->
<g id="edge132" class="edge">
<title>Node54->Node55</title>
-<path fill="none" stroke="midnightblue" d="M3023.24,-307.73C3042.22,-296.82 3074.85,-278.05 3097.15,-265.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3099.08,-268.15 3106,-260.13 3095.59,-262.08 3099.08,-268.15"/>
+<path fill="none" stroke="midnightblue" d="M1605.78,-307.96C1571.7,-298.22 1514.66,-281.62 1466,-266 1463.4,-265.17 1460.72,-264.29 1458.03,-263.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1458.96,-260.01 1448.37,-260.11 1456.72,-266.64 1458.96,-260.01"/>
</g>
<!-- Node57->Node16 -->
<g id="edge161" class="edge">
<title>Node57->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2726.16,-593.49C2744.04,-586.4 2766.94,-574.6 2781,-557 2799.79,-533.48 2800,-522.1 2800,-492 2800,-492 2800,-492 2800,-378 2800,-252.74 2780.99,-197.09 2680,-123 2634.26,-89.45 2567.46,-78.19 2527.89,-74.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.99,-70.9 2517.73,-73.55 2527.4,-77.88 2527.99,-70.9"/>
+<path fill="none" stroke="midnightblue" d="M2554.88,-598.82C2229.34,-581.72 728.31,-497.44 554,-389 453.41,-326.42 456.82,-210.21 537,-123 562.37,-95.41 671.64,-81.05 727.24,-75.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="727.67,-78.88 737.28,-74.42 726.99,-71.92 727.67,-78.88"/>
</g>
<!-- Node57->Node24 -->
<g id="edge160" class="edge">
<title>Node57->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2719.4,-593.45C2739.75,-584.45 2772.68,-569.84 2801,-557 3047.5,-445.26 3098.94,-392.52 3354,-302 3414.95,-280.37 3455.32,-317.08 3495,-266 3605.97,-123.14 3210.15,-83.2 3091.58,-74.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.53,-71.04 3081.31,-73.83 3091.04,-78.02 3091.53,-71.04"/>
+<path fill="none" stroke="midnightblue" d="M2665.37,-593.48C2818.19,-566.36 3304.16,-478.53 3703,-389 3738.34,-381.07 3746.73,-377.22 3782,-369 3856.79,-351.57 3893.18,-383.54 3951,-333 4023.16,-269.92 3986.61,-168.01 3902,-123 3818.25,-78.45 3703.22,-72.07 3647.66,-71.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.36,-68.34 3637.37,-71.87 3647.38,-75.34 3647.36,-68.34"/>
</g>
<!-- Node57->Node45 -->
<g id="edge153" class="edge">
<title>Node57->Node45</title>
-<path fill="none" stroke="midnightblue" d="M2637.87,-593.92C2558.02,-583.53 2420.45,-565.62 2342.77,-555.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2343.04,-552.02 2332.68,-554.2 2342.14,-558.96 2343.04,-552.02"/>
+<path fill="none" stroke="midnightblue" d="M2635.06,-593.44C2653.57,-584.68 2682.58,-570.94 2703.86,-560.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2705.48,-563.96 2713.02,-556.52 2702.49,-557.63 2705.48,-563.96"/>
</g>
<!-- Node58 -->
<g id="node58" class="node">
<title>Node58</title>
<g id="a_node58"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2628,-537.5 2628,-556.5 2772,-556.5 2772,-537.5 2628,-537.5"/>
-<text text-anchor="middle" x="2700" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/variant.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2521,-537.5 2521,-556.5 2665,-556.5 2665,-537.5 2521,-537.5"/>
+<text text-anchor="middle" x="2593" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/variant.h</text>
</a>
</g>
</g>
<!-- Node57->Node58 -->
<g id="edge152" class="edge">
<title>Node57->Node58</title>
-<path fill="none" stroke="midnightblue" d="M2700,-593.08C2700,-586.01 2700,-575.86 2700,-566.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2703.5,-566.75 2700,-556.75 2696.5,-566.75 2703.5,-566.75"/>
+<path fill="none" stroke="midnightblue" d="M2613.04,-593.08C2609.79,-585.77 2605.08,-575.18 2601.05,-566.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2604.15,-564.47 2596.89,-556.75 2597.75,-567.31 2604.15,-564.47"/>
</g>
<!-- Node57->Node59 -->
<g id="edge154" class="edge">
<title>Node57->Node59</title>
-<path fill="none" stroke="midnightblue" d="M2637.9,-598.97C2547.44,-593.91 2374.36,-581.74 2229,-557 2024.12,-522.13 1975.91,-498.18 1775,-445 1686.59,-421.6 1662.73,-420.83 1577,-389 1557.24,-381.66 1553.43,-377.17 1534,-369 1500.32,-354.84 1461.15,-340.3 1433.89,-330.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1435.02,-327.16 1424.42,-327.08 1432.66,-333.75 1435.02,-327.16"/>
+<path fill="none" stroke="midnightblue" d="M2650.63,-593.44C2684.99,-584.61 2739.84,-570.3 2787,-557 2870.5,-533.45 2891.9,-529.05 2974,-501 3143.75,-443 3343.04,-361.94 3417.72,-331.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3419.51,-334.13 3427.42,-327.08 3416.84,-327.67 3419.51,-334.13"/>
</g>
<!-- Node59->Node5 -->
<g id="edge156" class="edge">
<title>Node59->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1374.5,-307.87C1340.7,-296.42 1280.9,-276.18 1242.92,-263.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1243.89,-259.96 1233.3,-260.06 1241.65,-266.59 1243.89,-259.96"/>
+<path fill="none" stroke="midnightblue" d="M3428.08,-307.87C3402.31,-296.7 3357.18,-277.15 3327.45,-264.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3328.57,-260.93 3318,-260.17 3325.79,-267.35 3328.57,-260.93"/>
</g>
<!-- Node59->Node17 -->
<g id="edge155" class="edge">
<title>Node59->Node17</title>
-<path fill="none" stroke="midnightblue" d="M1412.65,-307.94C1438.94,-290.66 1501.94,-251.82 1561,-235 1736.34,-185.06 1791.2,-222.75 1976.22,-198.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1976.83,-202.39 1986.28,-197.6 1975.91,-195.45 1976.83,-202.39"/>
+<path fill="none" stroke="midnightblue" d="M3406.19,-316.13C3281.35,-314.59 2900.57,-306.64 2588,-266 2519.2,-257.06 2503.61,-245.34 2435,-235 2288.99,-213 2114.76,-199.11 2031.71,-193.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2031.78,-189.73 2021.56,-192.52 2031.29,-196.71 2031.78,-189.73"/>
</g>
<!-- Node59->Node24 -->
<g id="edge159" class="edge">
<title>Node59->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1441.58,-314.97C1658.48,-306.96 2650.88,-270.12 2666,-266 2730.94,-248.32 2872,-151.45 2933,-123 2964.49,-108.31 3001.5,-93.79 3027.22,-84.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3028.69,-87.31 3036.83,-80.53 3026.24,-80.75 3028.69,-87.31"/>
+<path fill="none" stroke="midnightblue" d="M3467.2,-307.95C3484.49,-299.43 3509.63,-284.9 3526,-266 3573.16,-211.53 3600.09,-127.89 3610.26,-91.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3613.7,-91.74 3612.89,-81.18 3606.93,-89.94 3613.7,-91.74"/>
</g>
<!-- Node59->Node27 -->
<g id="edge157" class="edge">
<title>Node59->Node27</title>
-<path fill="none" stroke="midnightblue" d="M1358.33,-311.94C1309.34,-305.64 1226.18,-291.98 1159,-266 1099.55,-243.01 1002.52,-226.51 1045,-179 1090.98,-127.58 1279.14,-149.19 1365.61,-142.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1366,-146.31 1375.64,-141.91 1365.36,-139.34 1366,-146.31"/>
+<path fill="none" stroke="midnightblue" d="M3459.01,-307.87C3487.23,-284.75 3557.37,-220.41 3520,-179 3496.54,-153 3281.85,-141.15 3162.37,-136.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3162.3,-133.02 3152.17,-136.14 3162.03,-140.01 3162.3,-133.02"/>
</g>
<!-- Node59->Node32 -->
<g id="edge158" class="edge">
<title>Node59->Node32</title>
-<path fill="none" stroke="midnightblue" d="M1382.39,-307.87C1367.48,-299.48 1347.12,-285.18 1338,-266 1332.09,-253.56 1330.84,-246.77 1338,-235 1347.83,-218.85 1365.53,-208.24 1382.41,-201.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1384.02,-204.54 1392.19,-197.8 1381.6,-197.97 1384.02,-204.54"/>
+<path fill="none" stroke="midnightblue" d="M3440.03,-307.81C3420.82,-286.86 3371.76,-233.35 3346.9,-206.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3349.37,-203.76 3340.03,-198.76 3344.21,-208.49 3349.37,-203.76"/>
</g>
<!-- Node61->Node7 -->
-<g id="edge197" class="edge">
+<g id="edge199" class="edge">
<title>Node61->Node7</title>
-<path fill="none" stroke="midnightblue" d="M3755.55,-946.68C3877.18,-939.61 4205.98,-914.65 4288,-848 4357.94,-791.16 4364,-750.12 4364,-660 4364,-660 4364,-660 4364,-316.5 4364,-166.33 4226.33,-179.04 4087,-123 4040.32,-104.22 3903.38,-87.23 3823.59,-78.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.52,-75.03 3813.2,-77.44 3822.77,-81.99 3823.52,-75.03"/>
+<path fill="none" stroke="midnightblue" d="M1310.47,-948.43C1110.04,-945.47 312.98,-928.64 240,-848 77.98,-668.97 386.64,-424.87 623,-235 645.08,-217.26 825.04,-131.69 852,-123 928.92,-98.22 1021.54,-84.73 1080.59,-78.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1081.3,-81.52 1090.86,-76.95 1080.53,-74.56 1081.3,-81.52"/>
</g>
<!-- Node61->Node16 -->
-<g id="edge240" class="edge">
+<g id="edge242" class="edge">
<title>Node61->Node16</title>
-<path fill="none" stroke="midnightblue" d="M3710,-940.31C3710,-921.06 3710,-873.4 3710,-833.5 3710,-833.5 3710,-833.5 3710,-770 3710,-641.91 3634,-620.09 3634,-492 3634,-492 3634,-492 3634,-378 3634,-322.74 3675.69,-319.87 3688,-266 3691.07,-252.57 3696.85,-245.56 3688,-235 3685.14,-231.58 3060.42,-123.59 3056,-123 2856.15,-96.35 2614.31,-79.87 2527.76,-74.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.72,-70.96 2517.52,-73.83 2527.29,-77.94 2527.72,-70.96"/>
+<path fill="none" stroke="midnightblue" d="M1310.37,-948.61C1137.74,-946.89 524.71,-938.43 333,-904 232.36,-885.93 114,-935.75 114,-833.5 114,-833.5 114,-833.5 114,-249.5 114,-120.98 595.59,-82.44 727.14,-74.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="727.61,-77.79 737.39,-73.7 727.2,-70.8 727.61,-77.79"/>
</g>
<!-- Node61->Node24 -->
-<g id="edge238" class="edge">
+<g id="edge240" class="edge">
<title>Node61->Node24</title>
-<path fill="none" stroke="midnightblue" d="M3714.97,-940.34C3725.27,-921.53 3748,-875.3 3748,-833.5 3748,-833.5 3748,-833.5 3748,-602 3748,-482.28 3737.11,-452.68 3734,-333 3733.64,-319.23 3733.43,-315.77 3734,-302 3734.67,-285.96 3736.33,-282.04 3737,-266 3737.57,-252.23 3741.36,-248.07 3737,-235 3727.16,-205.49 3720.15,-197.31 3695,-179 3633.06,-133.93 3606.78,-139.62 3532,-123 3369.15,-86.82 3168.8,-76.29 3091.52,-73.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.57,-69.96 3081.45,-73.11 3091.32,-76.96 3091.57,-69.96"/>
+<path fill="none" stroke="midnightblue" d="M1401.74,-948.56C1789.11,-944.71 4506,-914.82 4506,-833.5 4506,-833.5 4506,-833.5 4506,-434 4506,-317.87 4532.97,-259.22 4449,-179 4389.8,-122.44 3793.65,-83.21 3647.31,-74.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3647.37,-70.88 3637.18,-73.78 3646.96,-77.87 3647.37,-70.88"/>
</g>
<!-- Node61->Node25 -->
-<g id="edge241" class="edge">
+<g id="edge243" class="edge">
<title>Node61->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3755.76,-949.14C3841.08,-948.41 4029.71,-942.17 4183,-904 4246.03,-888.31 4267.54,-888.9 4318,-848 4372.02,-804.21 4402,-785.54 4402,-716 4402,-716 4402,-716 4402,-546 4402,-464.86 4478,-461.14 4478,-380 4478,-380 4478,-380 4478,-188 4478,-83.44 4087.93,-73.15 3969.01,-72.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3968.69,-68.94 3958.68,-72.4 3968.67,-75.94 3968.69,-68.94"/>
+<path fill="none" stroke="midnightblue" d="M1310.26,-948.45C1094.29,-945.69 184.76,-932.44 132,-904 68.6,-869.83 38,-844.02 38,-772 38,-772 38,-772 38,-188 38,-94.99 183.51,-76.71 251.16,-73.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="251.48,-76.73 261.32,-72.8 251.17,-69.74 251.48,-76.73"/>
</g>
<!-- Node61->Node30 -->
-<g id="edge239" class="edge">
+<g id="edge241" class="edge">
<title>Node61->Node30</title>
-<path fill="none" stroke="midnightblue" d="M3664.34,-948.8C3242.87,-946.81 46,-928.62 46,-833.5 46,-833.5 46,-833.5 46,-770 46,-599.45 114.39,-563.44 214,-425 321.47,-275.64 377.09,-249.63 547,-179 618.04,-149.47 839.78,-101.6 935.39,-81.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="936.25,-85.06 945.33,-79.6 934.82,-78.21 936.25,-85.06"/>
+<path fill="none" stroke="midnightblue" d="M1356,-940.31C1356,-921.06 1356,-873.4 1356,-833.5 1356,-833.5 1356,-833.5 1356,-546 1356,-463.88 1424.11,-449.72 1409,-369 1403.12,-337.6 1402.3,-327.45 1383,-302 1366.89,-280.75 1346.93,-289.85 1335,-266 1328.84,-253.68 1330.64,-248.07 1335,-235 1356.39,-170.84 1379.2,-156.4 1438,-123 1477.14,-100.77 1527.05,-87.42 1562.46,-80.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1563.37,-83.47 1572.49,-78.08 1562,-76.6 1563.37,-83.47"/>
</g>
<!-- Node61->Node34 -->
-<g id="edge198" class="edge">
+<g id="edge200" class="edge">
<title>Node61->Node34</title>
-<path fill="none" stroke="midnightblue" d="M3664.32,-948.62C3338.18,-945.72 1368.93,-925.13 1116,-848 1073.72,-835.11 1030.92,-805.22 1007.38,-787.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1009.36,-784.11 999.35,-780.66 1005.02,-789.6 1009.36,-784.11"/>
+<path fill="none" stroke="midnightblue" d="M1401.78,-948.76C1654.99,-947.13 2885.85,-934.78 3254,-848 3314.45,-833.75 3380.86,-803.05 3416.31,-785.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3418.12,-788.35 3425.46,-780.71 3414.96,-782.1 3418.12,-788.35"/>
</g>
<!-- Node62 -->
<g id="node62" class="node">
<title>Node62</title>
<g id="a_node62"><a xlink:href="bound_8h.html" target="_top" xlink:title="Bound deducers.">
-<polygon fill="white" stroke="black" points="2187,-884.5 2187,-903.5 2291,-903.5 2291,-884.5 2187,-884.5"/>
-<text text-anchor="middle" x="2239" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/bound.h</text>
+<polygon fill="white" stroke="black" points="2432,-884.5 2432,-903.5 2536,-903.5 2536,-884.5 2432,-884.5"/>
+<text text-anchor="middle" x="2484" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/bound.h</text>
</a>
</g>
</g>
<!-- Node61->Node62 -->
-<g id="edge183" class="edge">
+<g id="edge185" class="edge">
<title>Node61->Node62</title>
-<path fill="none" stroke="midnightblue" d="M3664.36,-947.32C3450.54,-939.48 2547.93,-906.34 2301.43,-897.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2301.34,-893.79 2291.22,-896.92 2301.08,-900.78 2301.34,-893.79"/>
+<path fill="none" stroke="midnightblue" d="M1401.62,-946.82C1578.35,-938.36 2218.23,-907.72 2421.54,-897.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2421.92,-901.48 2431.74,-897.5 2421.59,-894.48 2421.92,-901.48"/>
</g>
<!-- Node61->Node65 -->
-<g id="edge199" class="edge">
+<g id="edge201" class="edge">
<title>Node61->Node65</title>
-<path fill="none" stroke="midnightblue" d="M3664.25,-949.27C3408.54,-950.55 2130.52,-954.05 1088,-904 1067.06,-902.99 1044,-901.29 1024.13,-899.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1024.32,-896.13 1014.06,-898.77 1023.72,-903.11 1024.32,-896.13"/>
+<path fill="none" stroke="midnightblue" d="M1401.65,-948.96C1614.93,-948.54 2534.42,-944.38 3287,-904 3305.6,-903 3325.99,-901.41 3343.93,-899.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3344.25,-903.33 3353.9,-898.95 3343.63,-896.36 3344.25,-903.33"/>
</g>
<!-- Node62->Node4 -->
-<g id="edge184" class="edge">
+<g id="edge186" class="edge">
<title>Node62->Node4</title>
-<path fill="none" stroke="midnightblue" d="M2186.83,-886.26C2126.32,-878.22 2023.66,-863.84 1936,-848 1929.61,-846.84 1922.9,-845.53 1916.29,-844.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1916.54,-840.66 1906.04,-842.05 1915.12,-847.52 1916.54,-840.66"/>
+<path fill="none" stroke="midnightblue" d="M2536.2,-888.95C2614.17,-882.51 2765.53,-868.55 2893,-848 2899.89,-846.89 2907.13,-845.54 2914.21,-844.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2915.34,-847.46 2924.42,-842 2913.92,-840.61 2915.34,-847.46"/>
</g>
<!-- Node62->Node5 -->
-<g id="edge185" class="edge">
+<g id="edge187" class="edge">
<title>Node62->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2186.76,-890.73C2104.76,-886.45 1941.15,-875.09 1805,-848 1477.97,-782.94 1178,-769.44 1178,-436 1178,-436 1178,-436 1178,-378 1178,-338.66 1191.91,-294.25 1200.78,-269.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1204.18,-270.82 1204.44,-260.23 1197.63,-268.34 1204.18,-270.82"/>
+<path fill="none" stroke="midnightblue" d="M2536.27,-891.47C2663.73,-887.35 2983.03,-874.49 3023,-848 3072.2,-815.39 3270.31,-364.31 3281,-333 3288.13,-312.11 3292.8,-287.13 3295.41,-270.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3298.91,-270.65 3296.9,-260.25 3291.99,-269.64 3298.91,-270.65"/>
</g>
<!-- Node62->Node34 -->
-<g id="edge186" class="edge">
+<g id="edge188" class="edge">
<title>Node62->Node34</title>
-<path fill="none" stroke="midnightblue" d="M2186.9,-892.96C2003.6,-892.47 1389.26,-887.84 1197,-848 1159.26,-840.18 1152.17,-830.33 1116,-817 1084.8,-805.51 1049.1,-792.9 1023.51,-783.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1024.48,-780.6 1013.89,-780.61 1022.18,-787.21 1024.48,-780.6"/>
+<path fill="none" stroke="midnightblue" d="M2536.1,-893.86C2637.66,-894.46 2868.65,-890.5 3057,-848 3094.6,-839.51 3100.71,-826.77 3138,-817 3223.5,-794.6 3325.65,-782.35 3387.09,-776.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3387.71,-779.95 3397.34,-775.53 3387.06,-772.98 3387.71,-779.95"/>
</g>
<!-- Node62->Node39 -->
-<g id="edge196" class="edge">
+<g id="edge198" class="edge">
<title>Node62->Node39</title>
-<path fill="none" stroke="midnightblue" d="M2291.36,-891.13C2540.75,-881.87 3596,-838.74 3596,-772 3596,-772 3596,-772 3596,-378 3596,-338.02 3612.84,-293.55 3623.48,-269.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3626.76,-270.7 3627.73,-260.15 3620.39,-267.79 3626.76,-270.7"/>
+<path fill="none" stroke="midnightblue" d="M2431.72,-892.79C2239.71,-891.73 1580.18,-885.36 1494,-848 1414.27,-813.43 1007.38,-348.55 934,-302 917.22,-291.35 869.3,-274.48 835.34,-263.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="836.32,-259.84 825.73,-260.04 834.13,-266.49 836.32,-259.84"/>
</g>
<!-- Node63 -->
<g id="node63" class="node">
<title>Node63</title>
<g id="a_node63"><a xlink:href="tirx_2stmt_8h.html" target="_top" xlink:title="TIR statements.">
-<polygon fill="white" stroke="black" points="2866,-823 2866,-842 2956,-842 2956,-823 2866,-823"/>
-<text text-anchor="middle" x="2911" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/stmt.h</text>
+<polygon fill="white" stroke="black" points="1960,-823 1960,-842 2050,-842 2050,-823 1960,-823"/>
+<text text-anchor="middle" x="2005" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/stmt.h</text>
</a>
</g>
</g>
<!-- Node62->Node63 -->
-<g id="edge187" class="edge">
+<g id="edge189" class="edge">
<title>Node62->Node63</title>
-<path fill="none" stroke="midnightblue" d="M2291.17,-888.38C2415.35,-877.39 2727.6,-849.74 2855.28,-838.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2855.95,-841.89 2865.6,-837.52 2855.33,-834.92 2855.95,-841.89"/>
+<path fill="none" stroke="midnightblue" d="M2431.83,-886.52C2340.68,-875.2 2153.29,-851.92 2060.12,-840.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2060.4,-836.86 2050.05,-839.1 2059.54,-843.8 2060.4,-836.86"/>
</g>
<!-- Node63->Node7 -->
-<g id="edge188" class="edge">
+<g id="edge190" class="edge">
<title>Node63->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2956.02,-830.52C3082.47,-827.36 3438.81,-815.54 3550,-781 3724.72,-726.72 3891.8,-556.19 4053,-389 4074.78,-366.41 4084.38,-362.15 4096,-333 4112.18,-292.44 4110.45,-278.03 4103,-235 4092.9,-176.69 4082.8,-151.61 4031,-123 3996.04,-103.69 3890.54,-87.83 3823.09,-79.31"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3823.38,-75.82 3813.02,-78.05 3822.51,-82.76 3823.38,-75.82"/>
+<path fill="none" stroke="midnightblue" d="M1964.24,-822.99C1921.51,-813.77 1852.58,-798.09 1794,-781 1548.43,-709.37 1492.77,-673.63 1250,-593 1108.34,-545.95 702.32,-506.3 610,-389 565.41,-332.34 604.26,-279.49 661,-235 661.71,-234.44 777.18,-179.37 778,-179 836.5,-152.7 849.88,-142.43 911,-123 967.57,-105.02 1033.98,-91.14 1080.68,-82.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1081.42,-85.94 1090.63,-80.71 1080.16,-79.06 1081.42,-85.94"/>
</g>
<!-- Node63->Node16 -->
-<g id="edge195" class="edge">
+<g id="edge197" class="edge">
<title>Node63->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2956.44,-826.47C3085.34,-811.59 3444,-765.71 3444,-716 3444,-716 3444,-716 3444,-490 3444,-369.67 3013.06,-454.32 2912,-389 2786.42,-307.83 2837.43,-194.31 2706,-123 2648.16,-91.62 2571,-79.55 2527.83,-75.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2527.91,-71.54 2517.62,-74.06 2527.23,-78.51 2527.91,-71.54"/>
+<path fill="none" stroke="midnightblue" d="M1959.63,-827.61C1708,-804.95 487.98,-680.84 290,-389 252.03,-333.04 24.79,-399.71 491,-123 566.69,-78.07 673.69,-71.72 727.05,-71.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="727.27,-75.15 737.29,-71.71 727.31,-68.15 727.27,-75.15"/>
</g>
<!-- Node63->Node24 -->
-<g id="edge193" class="edge">
+<g id="edge195" class="edge">
<title>Node63->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2956.29,-831.3C3050.76,-830.01 3275.24,-822.43 3458,-781 3539.32,-762.57 3634,-799.39 3634,-716 3634,-716 3634,-716 3634,-658 3634,-582.31 3672,-567.69 3672,-492 3672,-492 3672,-492 3672,-378 3672,-342.58 3680.39,-333.8 3696,-302 3704.59,-284.51 3715.18,-284.59 3721,-266 3725.12,-252.85 3728.5,-246.56 3721,-235 3654.51,-132.52 3587.7,-155.7 3470,-123 3332.91,-84.91 3162.14,-75.53 3091.7,-73.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3091.38,-69.73 3081.28,-72.93 3091.17,-76.72 3091.38,-69.73"/>
+<path fill="none" stroke="midnightblue" d="M2050.17,-826.52C2278.36,-800.44 3301.43,-672.01 3506,-445 3602.21,-338.24 3613.77,-150.82 3614.94,-91.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3618.45,-91.13 3615.06,-81.09 3611.45,-91.05 3618.45,-91.13"/>
</g>
<!-- Node63->Node30 -->
-<g id="edge194" class="edge">
+<g id="edge196" class="edge">
<title>Node63->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2865.93,-830.16C2648.83,-823.4 1709.6,-790.82 1425,-725 1161.65,-664.1 1061.55,-583.5 960,-333 925.44,-247.75 958.19,-134.07 973.29,-90.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="976.62,-91.61 976.7,-81.02 970.03,-89.25 976.62,-91.61"/>
+<path fill="none" stroke="midnightblue" d="M1967.58,-822.96C1871.21,-798.53 1622,-718.83 1622,-548 1622,-548 1622,-548 1622,-490 1622,-368.65 1894.68,-397.65 1820,-302 1779.4,-250 1734.37,-296.74 1676,-266 1603.01,-227.56 1570.88,-218.21 1537,-143 1526.12,-118.84 1553.5,-98.29 1577.14,-85.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1578.89,-88.76 1586.26,-81.14 1575.75,-82.5 1578.89,-88.76"/>
</g>
<!-- Node63->Node34 -->
-<g id="edge190" class="edge">
+<g id="edge192" class="edge">
<title>Node63->Node34</title>
-<path fill="none" stroke="midnightblue" d="M2865.85,-830.1C2608.36,-822.13 1326.85,-782.46 1044.21,-773.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1043.91,-770.2 1033.81,-773.39 1043.7,-777.2 1043.91,-770.2"/>
+<path fill="none" stroke="midnightblue" d="M2050.38,-829.62C2262.52,-820.84 3155.84,-783.85 3387.13,-774.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3387.48,-777.76 3397.32,-773.85 3387.19,-770.77 3387.48,-777.76"/>
</g>
<!-- Node63->Node42 -->
-<g id="edge191" class="edge">
+<g id="edge193" class="edge">
<title>Node63->Node42</title>
-<path fill="none" stroke="midnightblue" d="M2915.83,-822.89C2923.32,-808.24 2935.39,-778.35 2920,-761 2868.16,-702.56 2322.36,-671.5 2139.4,-662.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2139.32,-659.16 2129.16,-662.18 2138.98,-666.15 2139.32,-659.16"/>
+<path fill="none" stroke="midnightblue" d="M2037.58,-823C2146.38,-794.6 2497.15,-703.03 2619.46,-671.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2620.43,-674.47 2629.22,-668.56 2618.66,-667.7 2620.43,-674.47"/>
</g>
<!-- Node63->Node57 -->
-<g id="edge189" class="edge">
+<g id="edge191" class="edge">
<title>Node63->Node57</title>
-<path fill="none" stroke="midnightblue" d="M2918.71,-822.93C2929.96,-809.32 2948.36,-782.15 2937,-761 2894.48,-681.83 2792.57,-635.86 2737.24,-615.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2738.4,-612.61 2727.81,-612.6 2736.08,-619.21 2738.4,-612.61"/>
+<path fill="none" stroke="midnightblue" d="M1979.66,-822.92C1947.9,-810.81 1900.02,-787.25 1921,-761 1998.63,-663.91 2382.39,-622.55 2544.51,-609.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2545.18,-612.68 2554.86,-608.38 2544.61,-605.7 2545.18,-612.68"/>
</g>
<!-- Node64 -->
<g id="node64" class="node">
<title>Node64</title>
<g id="a_node64"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2855,-761.5 2855,-780.5 2911,-780.5 2911,-761.5 2855,-761.5"/>
-<text text-anchor="middle" x="2883" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">optional</text>
+<polygon fill="white" stroke="#bfbfbf" points="1930,-761.5 1930,-780.5 1986,-780.5 1986,-761.5 1930,-761.5"/>
+<text text-anchor="middle" x="1958" y="-768.5" font-family="Helvetica,sans-Serif" font-size="10.00">optional</text>
</a>
</g>
</g>
<!-- Node63->Node64 -->
-<g id="edge192" class="edge">
+<g id="edge194" class="edge">
<title>Node63->Node64</title>
-<path fill="none" stroke="midnightblue" d="M2906.99,-822.98C2902.91,-814.32 2896.48,-800.65 2891.3,-789.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2894.43,-788.07 2887,-780.51 2888.1,-791.05 2894.43,-788.07"/>
+<path fill="none" stroke="midnightblue" d="M1998.27,-822.98C1991.22,-814.05 1979.97,-799.81 1971.15,-788.64"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1973.67,-786.19 1964.72,-780.51 1968.17,-790.53 1973.67,-786.19"/>
</g>
<!-- Node65->Node5 -->
-<g id="edge200" class="edge">
+<g id="edge202" class="edge">
<title>Node65->Node5</title>
-<path fill="none" stroke="midnightblue" d="M999.16,-884.38C1015.42,-877.34 1035.29,-865.65 1045,-848 1069.78,-802.95 1026,-621.06 1026,-604 1026,-604 1026,-604 1026,-490 1026,-385.78 1137.2,-298.77 1185.76,-265.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1187.94,-268.49 1194.32,-260.04 1184.06,-262.67 1187.94,-268.49"/>
+<path fill="none" stroke="midnightblue" d="M3387.4,-884.24C3381.23,-875.54 3372.34,-861.58 3368,-848 3293.77,-615.81 3368.88,-539.96 3316,-302 3313.56,-291.04 3309.43,-279.2 3305.74,-269.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3308.88,-268.18 3301.87,-260.24 3302.4,-270.83 3308.88,-268.18"/>
</g>
<!-- Node65->Node26 -->
-<g id="edge218" class="edge">
+<g id="edge220" class="edge">
<title>Node65->Node26</title>
-<path fill="none" stroke="midnightblue" d="M1014.2,-891.44C1124.82,-886.87 1432.01,-872.31 1530,-848 1603.24,-829.83 1625.61,-826.24 1686,-781 1741.84,-739.17 1786,-729.77 1786,-660 1786,-660 1786,-660 1786,-546 1786,-450.41 1897.88,-477.9 1933,-389 1957.52,-326.93 1942.2,-245.28 1933.2,-208.9"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1936.46,-207.55 1930.55,-198.76 1929.69,-209.32 1936.46,-207.55"/>
+<path fill="none" stroke="midnightblue" d="M3353.93,-891.16C3289.93,-887.4 3168.71,-876.6 3138,-848 3112.52,-824.27 3119,-806.82 3119,-772 3119,-772 3119,-772 3119,-658 3119,-504.11 2952.4,-534.05 2901,-389 2890.89,-360.46 2910.12,-360.86 2927,-266 2930.41,-246.85 2932.54,-224.7 2933.73,-209.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2937.25,-209.17 2934.47,-198.95 2930.27,-208.67 2937.25,-209.17"/>
</g>
<!-- Node65->Node30 -->
-<g id="edge237" class="edge">
+<g id="edge239" class="edge">
<title>Node65->Node30</title>
-<path fill="none" stroke="midnightblue" d="M933.96,-892.66C818.35,-891.24 485.8,-884.04 384,-848 203.87,-784.22 76,-739.09 76,-548 76,-548 76,-548 76,-316.5 76,-224.5 353.66,-148.7 442,-123 634.65,-66.96 692.84,-111.33 892,-87 906.08,-85.28 921.36,-82.93 935.17,-80.63"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="936.14,-84.01 945.41,-78.89 934.96,-77.11 936.14,-84.01"/>
+<path fill="none" stroke="midnightblue" d="M3353.99,-892.67C3115.58,-890.64 1886.86,-878.69 1722,-848 1622.77,-829.53 1508,-872.93 1508,-772 1508,-772 1508,-772 1508,-714 1508,-632.86 1584,-629.14 1584,-548 1584,-548 1584,-548 1584,-490 1584,-400.53 1680,-417.29 1710,-333 1714.62,-320.02 1717.83,-313.34 1710,-302 1684.35,-264.84 1652.44,-291.24 1615,-266 1581.36,-243.32 1574.57,-233.36 1553,-199 1534.31,-169.22 1514.38,-153.99 1531,-123 1540.2,-105.84 1558.08,-93.52 1574.18,-85.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1575.83,-88.44 1583.38,-81.01 1572.85,-82.11 1575.83,-88.44"/>
</g>
<!-- Node65->Node31 -->
-<g id="edge235" class="edge">
+<g id="edge237" class="edge">
<title>Node65->Node31</title>
-<path fill="none" stroke="midnightblue" d="M933.86,-893.28C776.98,-894.07 210.78,-893.68 146,-848 30.19,-766.34 38,-689.71 38,-548 38,-548 38,-548 38,-316.5 38,-278.74 46.01,-269.21 62,-235 66.56,-225.24 73.07,-215.18 78.85,-207.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="81.81,-208.95 84.94,-198.83 76.18,-204.79 81.81,-208.95"/>
+<path fill="none" stroke="midnightblue" d="M3434.14,-892.78C3629.12,-891.18 4468,-878.13 4468,-772 4468,-772 4468,-772 4468,-602 4468,-526.31 4430,-511.69 4430,-436 4430,-436 4430,-436 4430,-316.5 4430,-277.45 4419.7,-232.61 4413.19,-208.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4416.56,-207.21 4410.52,-198.5 4409.81,-209.07 4416.56,-207.21"/>
</g>
<!-- Node65->Node33 -->
-<g id="edge236" class="edge">
+<g id="edge238" class="edge">
<title>Node65->Node33</title>
-<path fill="none" stroke="midnightblue" d="M934,-890.62C825.19,-883.04 532,-854.94 532,-772 532,-772 532,-772 532,-490 532,-408.44 589.42,-405.39 627,-333 648.91,-290.79 644.58,-275.2 670,-235 676.55,-224.65 685.39,-214.23 693,-206.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="695.67,-208.31 700.07,-198.66 690.62,-203.46 695.67,-208.31"/>
+<path fill="none" stroke="midnightblue" d="M3434.07,-891.03C3576.57,-883.46 4057.4,-853.02 4191,-781 4259.06,-744.31 4316,-737.32 4316,-660 4316,-660 4316,-660 4316,-378 4316,-308.98 4266.39,-238.23 4241.25,-206.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4243.64,-204.19 4234.59,-198.68 4238.22,-208.63 4243.64,-204.19"/>
</g>
<!-- Node65->Node34 -->
-<g id="edge222" class="edge">
+<g id="edge224" class="edge">
<title>Node65->Node34</title>
-<path fill="none" stroke="midnightblue" d="M933.77,-892.13C859.52,-889.11 712.7,-875.77 761,-817 782.52,-790.81 874.02,-779.62 934.36,-775.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="934.78,-778.49 944.5,-774.28 934.27,-771.51 934.78,-778.49"/>
+<path fill="none" stroke="midnightblue" d="M3434.2,-888.86C3460.53,-883.83 3493.1,-872.69 3510,-848 3517.78,-836.63 3516.52,-829.14 3510,-817 3502.38,-802.82 3488.1,-792.35 3474.59,-785.1"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3475.97,-781.88 3465.45,-780.59 3472.87,-788.16 3475.97,-781.88"/>
</g>
<!-- Node65->Node63 -->
-<g id="edge228" class="edge">
+<g id="edge230" class="edge">
<title>Node65->Node63</title>
-<path fill="none" stroke="midnightblue" d="M1014.01,-891.77C1260.26,-884.21 2569.06,-844 2855.56,-835.2"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2855.82,-838.7 2865.7,-834.89 2855.6,-831.7 2855.82,-838.7"/>
+<path fill="none" stroke="midnightblue" d="M3353.93,-891.28C3156.58,-882.83 2288.3,-845.64 2060.1,-835.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2060.18,-832.36 2050.04,-835.43 2059.88,-839.35 2060.18,-832.36"/>
</g>
<!-- Node66 -->
<g id="node66" class="node">
<title>Node66</title>
<g id="a_node66"><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="1854,-369.5 1854,-388.5 1924,-388.5 1924,-369.5 1854,-369.5"/>
-<text text-anchor="middle" x="1889" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/op.h</text>
+<polygon fill="white" stroke="black" points="1936,-369.5 1936,-388.5 2006,-388.5 2006,-369.5 1936,-369.5"/>
+<text text-anchor="middle" x="1971" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/op.h</text>
</a>
</g>
</g>
<!-- Node65->Node66 -->
-<g id="edge201" class="edge">
+<g id="edge203" class="edge">
<title>Node65->Node66</title>
-<path fill="none" stroke="midnightblue" d="M1014.03,-890.33C1162.35,-879.92 1672,-839.26 1672,-772 1672,-772 1672,-772 1672,-602 1672,-495.81 1800.54,-421.57 1859.76,-393.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1861.42,-396.09 1868.97,-388.66 1858.44,-389.76 1861.42,-396.09"/>
+<path fill="none" stroke="midnightblue" d="M3353.83,-892.91C3150.43,-892.29 2232.91,-887.3 1951,-848 1829.83,-831.11 1765.58,-872.18 1684,-781 1631.07,-721.84 1660,-683.39 1660,-604 1660,-604 1660,-604 1660,-546 1660,-426.91 1839.69,-392.95 1925.9,-383.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1926.34,-386.99 1935.93,-382.48 1925.62,-380.02 1926.34,-386.99"/>
</g>
<!-- Node68 -->
<g id="node68" class="node">
<title>Node68</title>
<g id="a_node68"><a xlink:href="tirx_2builtin_8h.html" target="_top" xlink:title="TIR builtin intrinsics.">
-<polygon fill="white" stroke="black" points="1206,-823 1206,-842 1304,-842 1304,-823 1206,-823"/>
-<text text-anchor="middle" x="1255" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/builtin.h</text>
+<polygon fill="white" stroke="black" points="3147,-823 3147,-842 3245,-842 3245,-823 3147,-823"/>
+<text text-anchor="middle" x="3196" y="-830" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/builtin.h</text>
</a>
</g>
</g>
<!-- Node65->Node68 -->
-<g id="edge219" class="edge">
+<g id="edge221" class="edge">
<title>Node65->Node68</title>
-<path fill="none" stroke="midnightblue" d="M1014.26,-884.48C1064.44,-873.85 1150.23,-855.68 1204.69,-844.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1205.76,-847.5 1214.81,-842.01 1204.31,-840.66 1205.76,-847.5"/>
+<path fill="none" stroke="midnightblue" d="M3365.63,-884.48C3331.08,-874.09 3272.58,-856.51 3234.12,-844.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3234.9,-841.54 3224.32,-842.01 3232.89,-848.24 3234.9,-841.54"/>
</g>
<!-- Node69 -->
<g id="node69" class="node">
<title>Node69</title>
<g id="a_node69"><a xlink:href="tirx_2op__attr__types_8h.html" target="_top" xlink:title="Attribute types in the Op registry for TIR ops.">
-<polygon fill="white" stroke="black" points="484,-308 484,-327 618,-327 618,-308 484,-308"/>
-<text text-anchor="middle" x="551" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/op_attr_types.h</text>
+<polygon fill="white" stroke="black" points="3698,-308 3698,-327 3832,-327 3832,-308 3698,-308"/>
+<text text-anchor="middle" x="3765" y="-315" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/op_attr_types.h</text>
</a>
</g>
</g>
<!-- Node65->Node69 -->
-<g id="edge223" class="edge">
+<g id="edge225" class="edge">
<title>Node65->Node69</title>
-<path fill="none" stroke="midnightblue" d="M933.81,-893.64C853.32,-893.93 667.25,-889.57 518,-848 395.63,-813.92 334.96,-827.55 260,-725 198.32,-640.61 228,-596.53 228,-492 228,-492 228,-492 228,-434 228,-380.27 388.44,-344.91 483.17,-328.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="483.97,-332.12 493.25,-327.01 482.81,-325.22 483.97,-332.12"/>
+<path fill="none" stroke="midnightblue" d="M3434.21,-888.34C3589.1,-870.25 4139.95,-804.5 4169,-781 4192.94,-761.63 4193,-746.8 4193,-716 4193,-716 4193,-716 4193,-658 4193,-462.53 3915.59,-361.75 3807.44,-329.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3808.1,-326.43 3797.52,-327.02 3806.16,-333.16 3808.1,-326.43"/>
</g>
<!-- Node71 -->
<g id="node71" class="node">
<title>Node71</title>
<g id="a_node71"><a xlink:href="cuda_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="770,-817.5 770,-847.5 894,-847.5 894,-817.5 770,-817.5"/>
-<text text-anchor="start" x="778" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/target_builtin</text>
-<text text-anchor="middle" x="832" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">/cuda.h</text>
+<polygon fill="white" stroke="black" points="3557,-817.5 3557,-847.5 3681,-847.5 3681,-817.5 3557,-817.5"/>
+<text text-anchor="start" x="3565" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/target_builtin</text>
+<text text-anchor="middle" x="3619" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">/cuda.h</text>
</a>
</g>
</g>
<!-- Node65->Node71 -->
-<g id="edge229" class="edge">
+<g id="edge231" class="edge">
<title>Node65->Node71</title>
-<path fill="none" stroke="midnightblue" d="M948.75,-884.48C926.49,-875.93 893.99,-862.5 868.87,-851.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="870.2,-848.34 859.64,-847.52 867.39,-854.75 870.2,-848.34"/>
+<path fill="none" stroke="midnightblue" d="M3421.34,-884.48C3453.21,-875.53 3506.81,-861.25 3550.2,-850.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3551.33,-853.4 3560.14,-847.52 3549.59,-846.62 3551.33,-853.4"/>
</g>
<!-- Node72 -->
<g id="node72" class="node">
<title>Node72</title>
<g id="a_node72"><a xlink:href="trn_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="912,-817.5 912,-847.5 1036,-847.5 1036,-817.5 912,-817.5"/>
-<text text-anchor="start" x="920" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/target_builtin</text>
-<text text-anchor="middle" x="974" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">/trn.h</text>
+<polygon fill="white" stroke="black" points="3377,-817.5 3377,-847.5 3501,-847.5 3501,-817.5 3377,-817.5"/>
+<text text-anchor="start" x="3385" y="-835.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/target_builtin</text>
+<text text-anchor="middle" x="3439" y="-824.5" font-family="Helvetica,sans-Serif" font-size="10.00">/trn.h</text>
</a>
</g>
</g>
<!-- Node65->Node72 -->
-<g id="edge232" class="edge">
+<g id="edge234" class="edge">
<title>Node65->Node72</title>
-<path fill="none" stroke="midnightblue" d="M969.1,-884.48C967.57,-877.47 966.99,-867.19 967.36,-857.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="970.86,-857.77 968.17,-847.52 963.88,-857.21 970.86,-857.77"/>
+<path fill="none" stroke="midnightblue" d="M3395.55,-884.48C3399.64,-876.87 3407.77,-865.4 3416.01,-855.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3418.77,-857.42 3422.56,-847.52 3413.43,-852.89 3418.77,-857.42"/>
</g>
<!-- Node66->Node5 -->
-<g id="edge213" class="edge">
+<g id="edge215" class="edge">
<title>Node66->Node5</title>
-<path fill="none" stroke="midnightblue" d="M1853.74,-370.52C1799.5,-358.98 1700.15,-337.66 1684,-333 1644.96,-321.73 1637.49,-311.55 1598,-302 1565.59,-294.16 1355.48,-268.87 1257.79,-257.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1257.92,-253.83 1247.58,-256.13 1257.1,-260.78 1257.92,-253.83"/>
+<path fill="none" stroke="midnightblue" d="M2006.12,-376.97C2104.09,-373.78 2388.56,-362.5 2623,-333 2698.77,-323.47 2716.28,-311.89 2792,-302 2994.46,-275.55 3049.33,-303.74 3250,-266 3254.45,-265.16 3259.08,-264.07 3263.62,-262.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3264.7,-266.18 3273.34,-260.06 3262.76,-259.46 3264.7,-266.18"/>
</g>
<!-- Node66->Node7 -->
-<g id="edge204" class="edge">
+<g id="edge206" class="edge">
<title>Node66->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1924.04,-378.3C2096.21,-379.53 2853.37,-381.99 3083,-333 3119.08,-325.3 3125.64,-315.44 3160,-302 3366.7,-221.13 3614.71,-128.17 3716.68,-90.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3717.94,-93.38 3726.09,-86.61 3715.5,-86.82 3717.94,-93.38"/>
+<path fill="none" stroke="midnightblue" d="M1935.99,-371.21C1931.3,-370.4 1926.54,-369.64 1922,-369 1762.35,-346.42 1711.79,-390.1 1561,-333 1538.97,-324.66 1539.61,-311.38 1518,-302 1441.96,-269 1408.15,-305 1335,-266 1255.69,-223.71 1256.02,-186.09 1192,-123 1182.2,-113.34 1171.28,-102.71 1161.99,-93.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1164.25,-91.03 1154.62,-86.59 1159.38,-96.06 1164.25,-91.03"/>
</g>
<!-- Node66->Node13 -->
-<g id="edge202" class="edge">
+<g id="edge204" class="edge">
<title>Node66->Node13</title>
-<path fill="none" stroke="midnightblue" d="M1853.54,-370.19C1850.66,-369.73 1847.79,-369.32 1845,-369 1769.36,-360.34 528.13,-387.54 475,-333 444.61,-301.8 449.9,-270.6 475,-235 514.99,-178.29 995.65,-103.48 1156.18,-79.93"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1156.89,-83.36 1166.28,-78.45 1155.88,-76.44 1156.89,-83.36"/>
+<path fill="none" stroke="midnightblue" d="M1971.63,-369.02C1972.23,-353.67 1971.32,-322.11 1956,-302 1934.32,-273.54 1902.81,-296.43 1884,-266 1860.44,-227.87 1896.4,-201.77 1935,-179 1969.19,-158.83 2220.42,-105.65 2330.53,-82.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2331.33,-86.39 2340.42,-80.94 2329.92,-79.53 2331.33,-86.39"/>
</g>
<!-- Node66->Node16 -->
-<g id="edge216" class="edge">
+<g id="edge218" class="edge">
<title>Node66->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1853.7,-370.06C1809.85,-360.02 1737.68,-342.85 1712,-333 1684.34,-322.39 1680.15,-313.85 1653,-302 1608.94,-282.77 1578.77,-305.24 1551,-266 1543.04,-254.75 1543.98,-246.86 1551,-235 1577.34,-190.49 1604.28,-196.36 1653,-179 1736.02,-149.42 1764.57,-171.41 1848,-143 1866.44,-136.72 1868.27,-128.35 1887,-123 1996.65,-91.66 2352,-77.31 2462.14,-73.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.43,-77.04 2472.31,-73.2 2462.2,-70.04 2462.43,-77.04"/>
+<path fill="none" stroke="midnightblue" d="M1935.84,-375.98C1858.97,-371.23 1670.28,-357.88 1514,-333 1445.9,-322.16 1277.14,-285.53 1211,-266 1060.89,-221.66 1022.47,-209.98 881,-143 844.92,-125.92 805.34,-101.74 781.6,-86.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="783.33,-83.56 773.03,-81.09 779.54,-89.44 783.33,-83.56"/>
</g>
<!-- Node66->Node20 -->
-<g id="edge203" class="edge">
+<g id="edge205" class="edge">
<title>Node66->Node20</title>
-<path fill="none" stroke="midnightblue" d="M1853.54,-370.19C1850.66,-369.73 1847.79,-369.32 1845,-369 1768.14,-360.21 506.99,-388.4 453,-333 336.4,-213.34 663.06,-115.52 787.26,-83.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="788.41,-86.89 797.24,-81.03 786.69,-80.1 788.41,-86.89"/>
+<path fill="none" stroke="midnightblue" d="M1968.78,-369.38C1964.2,-353.44 1952.14,-319.39 1929,-302 1867.69,-255.94 1727.67,-298.94 1770,-235 1836.51,-134.54 1924.74,-209.81 2025,-143 2045.39,-129.41 2062.06,-106.28 2072,-90.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2075.2,-91.69 2077.28,-81.31 2069.18,-88.13 2075.2,-91.69"/>
</g>
<!-- Node66->Node24 -->
-<g id="edge215" class="edge">
+<g id="edge217" class="edge">
<title>Node66->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1924.18,-375.76C2069.67,-366.15 2624.34,-326.22 2788,-266 2898.42,-225.37 3004.55,-127.04 3043.43,-88.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3046.11,-90.71 3050.68,-81.15 3041.14,-85.77 3046.11,-90.71"/>
+<path fill="none" stroke="midnightblue" d="M2006.08,-375.29C2081.48,-369.27 2264.5,-353.7 2417,-333 2504.57,-321.11 2722.53,-284.25 2809,-266 2928.29,-240.82 2957.89,-232.9 3075,-199 3102.41,-191.07 3108.24,-185.6 3136,-179 3240.08,-154.25 3269.54,-166.07 3374,-143 3450.18,-126.18 3537.63,-98.42 3583.36,-83.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3584.62,-86.51 3593,-80.02 3582.4,-79.87 3584.62,-86.51"/>
</g>
<!-- Node66->Node25 -->
-<g id="edge217" class="edge">
+<g id="edge219" class="edge">
<title>Node66->Node25</title>
-<path fill="none" stroke="midnightblue" d="M1924.24,-377.82C2072.06,-376.82 2656.47,-370.56 3135,-333 3381.82,-313.63 3456.52,-353.82 3688,-266 3791.22,-226.84 3885.82,-128.4 3920.75,-89.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3923.67,-91.07 3927.63,-81.24 3918.41,-86.46 3923.67,-91.07"/>
+<path fill="none" stroke="midnightblue" d="M1935.66,-377.36C1804.71,-374.76 1347.28,-363.64 1205,-333 1167.32,-324.89 1161.27,-311.85 1124,-302 1021.42,-274.88 983.75,-311.7 888,-266 869.55,-257.19 872.31,-244.1 854,-235 775.48,-195.96 745.98,-216.23 660,-199 544.1,-175.77 509.73,-186.96 400,-143 363.89,-128.53 326.22,-103.16 304.22,-87.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="306.18,-84.22 296.07,-81.08 302.02,-89.84 306.18,-84.22"/>
</g>
<!-- Node66->Node26 -->
-<g id="edge214" class="edge">
+<g id="edge216" class="edge">
<title>Node66->Node26</title>
-<path fill="none" stroke="midnightblue" d="M1890.78,-369.43C1896.7,-340.87 1915.88,-248.43 1924.15,-208.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1927.61,-209.12 1926.21,-198.62 1920.75,-207.7 1927.61,-209.12"/>
+<path fill="none" stroke="midnightblue" d="M2006.22,-373.08C2156.16,-352.11 2734.59,-271.07 2753,-266 2810.69,-250.1 2874.42,-220.5 2909.07,-203.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2911.08,-206.21 2918.45,-198.6 2907.94,-199.96 2911.08,-206.21"/>
</g>
<!-- Node66->Node36 -->
-<g id="edge206" class="edge">
+<g id="edge208" class="edge">
<title>Node66->Node36</title>
-<path fill="none" stroke="midnightblue" d="M1882.27,-369.48C1875.22,-360.55 1863.97,-346.31 1855.15,-335.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1857.67,-332.69 1848.72,-327.01 1852.17,-337.03 1857.67,-332.69"/>
+<path fill="none" stroke="midnightblue" d="M2006.1,-369.48C2049.49,-358.94 2123.41,-340.99 2170.95,-329.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2172.07,-332.77 2180.96,-327.01 2170.42,-325.97 2172.07,-332.77"/>
</g>
<!-- Node66->Node44 -->
-<g id="edge205" class="edge">
+<g id="edge207" class="edge">
<title>Node66->Node44</title>
-<path fill="none" stroke="midnightblue" d="M1924.22,-376.1C2025.17,-370.57 2324.19,-353.55 2572,-333 2598.26,-330.82 2627.15,-328.02 2652.19,-325.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2652.71,-328.92 2662.3,-324.41 2651.99,-321.96 2652.71,-328.92"/>
+<path fill="none" stroke="midnightblue" d="M1935.71,-375.01C1824.18,-365.56 1478.19,-336.23 1333.57,-323.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1333.77,-320.48 1323.51,-323.12 1333.18,-327.45 1333.77,-320.48"/>
</g>
<!-- Node67 -->
<g id="node67" class="node">
<title>Node67</title>
<g id="a_node67"><a xlink:href="env__func_8h.html" target="_top" xlink:title="Serializable global function used in IR.">
-<polygon fill="white" stroke="black" points="1896,-123.5 1896,-142.5 1998,-142.5 1998,-123.5 1896,-123.5"/>
-<text text-anchor="middle" x="1947" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/env_func.h</text>
+<polygon fill="white" stroke="black" points="1914,-123.5 1914,-142.5 2016,-142.5 2016,-123.5 1914,-123.5"/>
+<text text-anchor="middle" x="1965" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/env_func.h</text>
</a>
</g>
</g>
<!-- Node66->Node67 -->
-<g id="edge207" class="edge">
+<g id="edge209" class="edge">
<title>Node66->Node67</title>
-<path fill="none" stroke="midnightblue" d="M1871.8,-369.43C1840.6,-354.16 1772.32,-321.98 1712,-302 1646.51,-280.31 1603.76,-320.15 1561,-266 1552.46,-255.19 1552.58,-245.91 1561,-235 1581.44,-208.53 1790.7,-164.52 1892.27,-144.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1893.2,-147.88 1902.34,-142.52 1891.86,-141.01 1893.2,-147.88"/>
+<path fill="none" stroke="midnightblue" d="M1965.12,-369.35C1953.77,-353.35 1927.17,-319.19 1896,-302 1830.66,-265.96 1778.77,-324.15 1732,-266 1679.1,-200.22 1818.43,-161.35 1903.94,-144.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1904.68,-147.73 1913.82,-142.39 1903.34,-140.86 1904.68,-147.73"/>
</g>
<!-- Node67->Node7 -->
-<g id="edge209" class="edge">
+<g id="edge211" class="edge">
<title>Node67->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1998.05,-128.21C2023.81,-126.41 2055.55,-124.36 2084,-123 2718.12,-92.65 3487.8,-77.41 3704.64,-73.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3704.91,-77.02 3714.84,-73.34 3704.78,-70.02 3704.91,-77.02"/>
+<path fill="none" stroke="midnightblue" d="M1913.93,-127.36C1897.37,-125.9 1878.91,-124.33 1862,-123 1615.88,-103.64 1322.26,-84.25 1199.03,-76.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1199.25,-72.79 1189.05,-75.64 1198.8,-79.77 1199.25,-72.79"/>
</g>
<!-- Node67->Node16 -->
-<g id="edge212" class="edge">
+<g id="edge214" class="edge">
<title>Node67->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1998.07,-124.76C2002.78,-124.15 2007.48,-123.55 2012,-123 2181.07,-102.46 2384.05,-82.89 2462.16,-75.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2462.71,-79.02 2472.34,-74.6 2462.05,-72.05 2462.71,-79.02"/>
+<path fill="none" stroke="midnightblue" d="M1913.99,-129.48C1710.39,-119.43 958.85,-82.32 792.67,-74.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="792.74,-70.61 782.58,-73.62 792.4,-77.6 792.74,-70.61"/>
</g>
<!-- Node67->Node20 -->
-<g id="edge208" class="edge">
+<g id="edge210" class="edge">
<title>Node67->Node20</title>
-<path fill="none" stroke="midnightblue" d="M1895.91,-126.85C1880.52,-125.44 1863.59,-124.02 1848,-123 1443.21,-96.63 1340.02,-123.32 936,-87 922.25,-85.76 907.53,-83.97 893.64,-82.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="894.09,-78.6 883.7,-80.67 893.11,-85.53 894.09,-78.6"/>
+<path fill="none" stroke="midnightblue" d="M1981.76,-123.48C2001.22,-113.58 2033.55,-97.14 2056.21,-85.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2057.94,-88.66 2065.27,-81.01 2054.77,-82.42 2057.94,-88.66"/>
</g>
<!-- Node67->Node21 -->
-<g id="edge210" class="edge">
+<g id="edge212" class="edge">
<title>Node67->Node21</title>
-<path fill="none" stroke="midnightblue" d="M1906.02,-123.48C1854.84,-112.83 1767.27,-94.61 1711.86,-83.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1712.4,-79.62 1701.9,-81.01 1710.98,-86.47 1712.4,-79.62"/>
+<path fill="none" stroke="midnightblue" d="M2016.14,-129.38C2126.06,-123.54 2392.98,-108.28 2616,-87 2632.9,-85.39 2651.11,-83.33 2668.08,-81.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2668.97,-84.69 2678.47,-80 2668.12,-77.75 2668.97,-84.69"/>
</g>
<!-- Node67->Node24 -->
-<g id="edge211" class="edge">
+<g id="edge213" class="edge">
<title>Node67->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1998.05,-127.16C2014.61,-125.69 2033.08,-124.16 2050,-123 2434.26,-96.61 2901.74,-78.33 3026.91,-73.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3027.11,-77.17 3036.97,-73.3 3026.85,-70.17 3027.11,-77.17"/>
+<path fill="none" stroke="midnightblue" d="M2016.08,-130.24C2187.88,-124.29 2760.63,-104.4 3234,-87 3363.08,-82.26 3516.75,-76.32 3582.52,-73.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3582.81,-77.26 3592.67,-73.37 3582.54,-70.26 3582.81,-77.26"/>
</g>
<!-- Node68->Node34 -->
-<g id="edge221" class="edge">
+<g id="edge223" class="edge">
<title>Node68->Node34</title>
-<path fill="none" stroke="midnightblue" d="M1218.03,-822.94C1209.49,-820.97 1200.43,-818.9 1192,-817 1139.41,-805.12 1079.1,-791.79 1037.96,-782.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1038.46,-779.26 1027.94,-780.53 1036.95,-786.1 1038.46,-779.26"/>
+<path fill="none" stroke="midnightblue" d="M3231.25,-822.98C3274.9,-812.42 3349.34,-794.41 3397.06,-782.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3397.92,-786.26 3406.82,-780.51 3396.28,-779.46 3397.92,-786.26"/>
</g>
<!-- Node68->Node66 -->
-<g id="edge220" class="edge">
+<g id="edge222" class="edge">
<title>Node68->Node66</title>
-<path fill="none" stroke="midnightblue" d="M1304.25,-826.2C1367.17,-816.83 1475.43,-791.54 1538,-725 1558.71,-702.98 1558,-690.23 1558,-660 1558,-660 1558,-660 1558,-546 1558,-481.85 1759.14,-416.84 1847.83,-391.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1848.9,-394.63 1857.56,-388.52 1846.99,-387.9 1848.9,-394.63"/>
+<path fill="none" stroke="midnightblue" d="M3146.91,-827.29C2934.06,-809 2100.58,-736.77 2076,-725 2008.24,-692.57 1958,-679.12 1958,-604 1958,-604 1958,-604 1958,-490 1958,-457.58 1963.64,-420.15 1967.49,-398.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1970.93,-398.99 1969.3,-388.52 1964.05,-397.72 1970.93,-398.99"/>
</g>
<!-- Node69->Node5 -->
-<g id="edge226" class="edge">
+<g id="edge228" class="edge">
<title>Node69->Node5</title>
-<path fill="none" stroke="midnightblue" d="M618.22,-309.85C750.45,-296.77 1041.6,-267.96 1158.24,-256.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1158.71,-259.89 1168.31,-255.43 1158.02,-252.93 1158.71,-259.89"/>
+<path fill="none" stroke="midnightblue" d="M3703.47,-307.94C3609.93,-294.92 3433.79,-270.4 3347.78,-258.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3348.14,-254.95 3337.75,-257.03 3347.18,-261.88 3348.14,-254.95"/>
</g>
<!-- Node69->Node8 -->
-<g id="edge225" class="edge">
+<g id="edge227" class="edge">
<title>Node69->Node8</title>
-<path fill="none" stroke="midnightblue" d="M588.24,-307.9C685.2,-285.52 945.38,-225.46 1052.22,-200.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1053.12,-204.18 1062.07,-198.52 1051.54,-197.36 1053.12,-204.18"/>
+<path fill="none" stroke="midnightblue" d="M3744.45,-307.81C3692.58,-285.86 3556.21,-228.17 3495.68,-202.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3496.87,-199.26 3486.3,-198.59 3494.15,-205.71 3496.87,-199.26"/>
</g>
<!-- Node69->Node20 -->
-<g id="edge224" class="edge">
+<g id="edge226" class="edge">
<title>Node69->Node20</title>
-<path fill="none" stroke="midnightblue" d="M553.95,-307.87C562.44,-284.2 589.09,-217.47 632,-179 682.74,-133.51 756.4,-100.96 799.03,-84.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="800.28,-87.84 808.4,-81.04 797.81,-81.29 800.28,-87.84"/>
+<path fill="none" stroke="midnightblue" d="M3754.12,-307.88C3721.21,-282.4 3618.91,-207.43 3520,-179 3299.48,-115.62 3226.02,-204.6 3005,-143 2986.24,-137.77 2984.8,-128.11 2966,-123 2829.61,-85.95 2472.1,-95.11 2331,-87 2266.69,-83.3 2193.05,-79.01 2142.63,-76.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2142.74,-72.56 2132.55,-75.47 2142.33,-79.55 2142.74,-72.56"/>
</g>
<!-- Node70 -->
<g id="node70" class="node">
<title>Node70</title>
<g id="a_node70"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="484.5,-241 484.5,-260 541.5,-260 541.5,-241 484.5,-241"/>
-<text text-anchor="middle" x="513" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">ostream</text>
+<polygon fill="white" stroke="#bfbfbf" points="3774.5,-241 3774.5,-260 3831.5,-260 3831.5,-241 3774.5,-241"/>
+<text text-anchor="middle" x="3803" y="-248" font-family="Helvetica,sans-Serif" font-size="10.00">ostream</text>
</a>
</g>
</g>
<!-- Node69->Node70 -->
-<g id="edge227" class="edge">
+<g id="edge229" class="edge">
<title>Node69->Node70</title>
-<path fill="none" stroke="midnightblue" d="M545.88,-307.73C540.06,-297.79 530.44,-281.34 523.11,-268.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="526.11,-266.99 518.04,-260.13 520.07,-270.53 526.11,-266.99"/>
+<path fill="none" stroke="midnightblue" d="M3770.12,-307.73C3775.94,-297.79 3785.56,-281.34 3792.89,-268.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3795.93,-270.53 3797.96,-260.13 3789.89,-266.99 3795.93,-270.53"/>
</g>
<!-- Node71->Node34 -->
-<g id="edge230" class="edge">
+<g id="edge232" class="edge">
<title>Node71->Node34</title>
-<path fill="none" stroke="midnightblue" d="M869.21,-817.4C895.78,-807.33 931.19,-793.91 956.61,-784.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="958.04,-787.47 966.16,-780.66 955.56,-780.93 958.04,-787.47"/>
+<path fill="none" stroke="midnightblue" d="M3577.05,-817.4C3546.6,-807.16 3505.87,-793.47 3477.13,-783.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3478.09,-780.44 3467.5,-780.57 3475.86,-787.07 3478.09,-780.44"/>
</g>
<!-- Node71->Node65 -->
-<g id="edge231" class="edge">
+<g id="edge233" class="edge">
<title>Node71->Node65</title>
-<path fill="none" stroke="midnightblue" d="M871.3,-847.52C896.32,-857.47 927.84,-870.7 949.41,-880.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="948,-883.54 958.56,-884.48 950.89,-877.16 948,-883.54"/>
+<path fill="none" stroke="midnightblue" d="M3571.8,-847.52C3533.35,-858.05 3479.45,-872.27 3441.04,-881.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3439.98,-878.64 3431.14,-884.48 3441.69,-885.43 3439.98,-878.64"/>
</g>
<!-- Node72->Node34 -->
-<g id="edge233" class="edge">
+<g id="edge235" class="edge">
<title>Node72->Node34</title>
-<path fill="none" stroke="midnightblue" d="M977.55,-817.4C979.58,-809.38 982.13,-799.23 984.32,-790.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="987.77,-791.21 986.82,-780.66 980.98,-789.5 987.77,-791.21"/>
+<path fill="none" stroke="midnightblue" d="M3439.71,-817.4C3440.11,-809.47 3440.62,-799.46 3441.05,-790.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3444.56,-790.82 3441.56,-780.66 3437.56,-790.47 3444.56,-790.82"/>
</g>
<!-- Node72->Node65 -->
-<g id="edge234" class="edge">
+<g id="edge236" class="edge">
<title>Node72->Node65</title>
-<path fill="none" stroke="midnightblue" d="M979.83,-847.52C980.87,-855.59 981.03,-865.81 980.3,-874.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="976.83,-874.09 978.9,-884.48 983.76,-875.06 976.83,-874.09"/>
+<path fill="none" stroke="midnightblue" d="M3434.22,-847.52C3428.72,-856.3 3420.22,-867.65 3412.33,-876.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3409.49,-874.72 3405.35,-884.48 3414.67,-879.44 3409.49,-874.72"/>
</g>
</g>
</svg>
diff --git a/docs/reference/api/doxygen/array__utils_8h_source.html b/docs/reference/api/doxygen/array__utils_8h_source.html
index ee12fad2e63..e1a3d417f25 100644
--- a/docs/reference/api/doxygen/array__utils_8h_source.html
+++ b/docs/reference/api/doxygen/array__utils_8h_source.html
@@ -114,7 +114,7 @@ $(function() {
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span> } <span class="comment">// namespace tvm</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span> <span class="preprocessor">#endif </span><span class="comment">// TVM_TOPI_DETAIL_ARRAY_UTILS_H_</span></div>
<div class="ttc" id="anamespacetvm_1_1te_html"><div class="ttname"><a href="namespacetvm_1_1te.html">tvm::te</a></div><div class="ttdoc">Tensor expression language DSL.</div><div class="ttdef"><b>Definition:</b> extracted_task.h:32</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
<div class="ttc" id="aoperation_8h_html"><div class="ttname"><a href="operation_8h.html">operation.h</a></div><div class="ttdoc">Operation node can generate one or multiple Tensors.</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/reference/api/doxygen/async__structs_8h_source.html b/docs/reference/api/doxygen/async__structs_8h_source.html
index 11dbfdf7e1b..ea1e98e901a 100644
--- a/docs/reference/api/doxygen/async__structs_8h_source.html
+++ b/docs/reference/api/doxygen/async__structs_8h_source.html
@@ -187,7 +187,7 @@ $(function() {
<div class="ttc" id="aclasstvm_1_1tirx_1_1Pipeline_html_acb8a143d3dcd9f4d260fc51b242c6891"><div class="ttname"><a href="classtvm_1_1tirx_1_1Pipeline.html#acb8a143d3dcd9f4d260fc51b242c6891">tvm::tirx::Pipeline::Pipeline</a></div><div class="ttdeci">Pipeline(ExecScope thread_scope, size_t depth=0, bool separate_pc=false, ffi::String name_hint="", ffi::Map< ffi::String, tvm::tirx::Buffer > workspace={}, ffi::Map< ffi::String, ffi::Any > schedule_config={})</div></div>
<div class="ttc" id="aexec__scope_8h_html"><div class="ttname"><a href="exec__scope_8h.html">exec_scope.h</a></div></div>
<div class="ttc" id="amodule_8h_html"><div class="ttname"><a href="module_8h.html">module.h</a></div><div class="ttdoc">IRModule that holds the functions and type definitions.</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/attr__registry__map_8h_source.html b/docs/reference/api/doxygen/attr__registry__map_8h_source.html
index e5fac721630..95996da3c52 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h_source.html
+++ b/docs/reference/api/doxygen/attr__registry__map_8h_source.html
@@ -171,7 +171,7 @@ $(function() {
<div class="ttc" id="aclasstvm_1_1AttrRegistryMap_html_aefe7933b03f49eac54bec961e75f8650"><div class="ttname"><a href="classtvm_1_1AttrRegistryMap.html#aefe7933b03f49eac54bec961e75f8650">tvm::AttrRegistryMap::AttrRegistryMap</a></div><div class="ttdeci">AttrRegistryMap(const AttrRegistryMapContainerMap< KeyType > &map)</div><div class="ttdoc">constructor</div><div class="ttdef"><b>Definition:</b> attr_registry_map.h:111</div></div>
<div class="ttc" id="aclasstvm_1_1AttrRegistry_html"><div class="ttname"><a href="classtvm_1_1AttrRegistry.html">tvm::AttrRegistry</a></div><div class="ttdef"><b>Definition:</b> instruction.h:30</div></div>
<div class="ttc" id="aclasstvm_1_1OpRegEntry_html"><div class="ttname"><a href="classtvm_1_1OpRegEntry.html">tvm::OpRegEntry</a></div><div class="ttdoc">Helper structure to register operators.</div><div class="ttdef"><b>Definition:</b> op.h:206</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/attrs_8h_source.html b/docs/reference/api/doxygen/attrs_8h_source.html
index 4939223155f..70b5e4ac6c1 100644
--- a/docs/reference/api/doxygen/attrs_8h_source.html
+++ b/docs/reference/api/doxygen/attrs_8h_source.html
@@ -262,7 +262,7 @@ $(function() {
<div class="ttc" id="aclasstvm_1_1DictAttrs_html_af63d14a1a6ffeb1c6fc403f46df8c13a"><div class="ttname"><a href="classtvm_1_1DictAttrs.html#af63d14a1a6ffeb1c6fc403f46df8c13a">tvm::DictAttrs::GetAttr</a></div><div class="ttdeci">ffi::Optional< TObjectRef > GetAttr(const std::string &attr_key, TObjectRef default_value) const</div><div class="ttdef"><b>Definition:</b> attrs.h:179</div></div>
<div class="ttc" id="acow_8h_html"><div class="ttname"><a href="cow_8h.html">cow.h</a></div><div class="ttdoc">Copy-on-write helper macro for IR ffi::ObjectRef types.</div></div>
<div class="ttc" id="air_2expr_8h_html"><div class="ttname"><a href="ir_2expr_8h.html">expr.h</a></div><div class="ttdoc">Base expr nodes in TVM.</div></div>
-<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:37</div></div>
+<div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition:</b> analyzer.h:39</div></div>
<div class="ttc" id="anamespacetvm_html_a31d64ff4720a3ed13273776208ab1391"><div class="ttname"><a href="namespacetvm.html#a31d64ff4720a3ed13273776208ab1391">tvm::WithAttrs</a></div><div class="ttdeci">TFunc WithAttrs(TFunc input, ffi::Map< ffi::String, Any > attrs)</div><div class="ttdoc">Copy the function or module, but overrides the attributes with the entries from attrs.</div><div class="ttdef"><b>Definition:</b> attrs.h:268</div></div>
<div class="ttc" id="anamespacetvm_html_a61b12b12e74b3984360d40547aa7ab29"><div class="ttname"><a href="namespacetvm.html#a61b12b12e74b3984360d40547aa7ab29">tvm::WithAttr</a></div><div class="ttdeci">TFunc WithAttr(TFunc input, const std::string &attr_key, Any attr_value)</div><div class="ttdoc">Copy the function or module, but overrides the attribute value key with the value.</div><div class="ttdef"><b>Definition:</b> attrs.h:246</div></div>
<div class="ttc" id="anamespacetvm_html_a7e2bc626db8be997b1562c79df3d9e11"><div class="ttname"><a href="namespacetvm.html#a7e2bc626db8be997b1562c79df3d9e11">tvm::WithoutAttr</a></div><div class="ttdeci">TFunc WithoutAttr(TFunc input, const std::string &attr_key)</div><div class="ttdoc">Copy the function or module, but removes the specified attribute.</div><div class="ttdef"><b>Definition:</b> attrs.h:310</div></div>
diff --git a/docs/reference/api/doxygen/axis__group__graph_8h.html b/docs/reference/api/doxygen/axis__group__graph_8h.html
index 93a9e5341cd..b668472aac5 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="8284" height="1723"><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="8542" height="1723"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
@@ -147,9 +147,9 @@ Typedefs</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
-<tr class="memitem:a169f1ba5726abaea8701bd929e72a8de"><td class="memItemLeft" align="right" valign="top">Var </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tirx.html#a169f1ba5726abaea8701bd929e72a8de">tvm::tirx::GetShardingVarFromIndex</a> (PrimExpr index, ffi::Map< Var, Range > var_range, arith::Analyzer *analyzer)</td></tr>
-<tr class="memdesc:a169f1ba5726abaea8701bd929e72a8de"><td class="mdescLeft"> </td><td class="mdescRight">Suppose we want to shard a buffer along a specific dimension, we need to know how to rewrite the access index of the buffer. To make it simple, we only support the case that the access can be rewritten by changing the extent of an iter var. <a href="namespacetvm_1_1tirx.html#a169f1ba5726abaea8701bd929e72a8de">More...</a><br /></td></tr>
-<tr class="separator:a169f1ba5726abaea8701bd929e72a8de"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a9688bfdd5cc9741579c3d6cb2fe60fb5"><td class="memItemLeft" align="right" valign="top">Var </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1tirx.html#a9688bfdd5cc9741579c3d6cb2fe60fb5">tvm::tirx::GetShardingVarFromIndex</a> (PrimExpr index, ffi::Map< Var, Range > var_range, const arith::Analyzer &analyzer)</td></tr>
+<tr class="memdesc:a9688bfdd5cc9741579c3d6cb2fe60fb5"><td class="mdescLeft"> </td><td class="mdescRight">Suppose we want to shard a buffer along a specific dimension, we need to know how to rewrite the access index of the buffer. To make it simple, we only support the case that the access can be rewritten by changing the extent of an iter var. <a href="namespacetvm_1_1tirx.html#a9688bfdd5cc9741579c3d6cb2fe60fb5">More...</a><br /></td></tr>
+<tr class="separator:a9688bfdd5cc9741579c3d6cb2fe60fb5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6f5144f8b55b6c50c6cc8661a32f9045"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1relax_1_1distributed.html#a6f5144f8b55b6c50c6cc8661a32f9045">tvm::relax::distributed::BuildAxisGraphUnary</a> (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph)</td></tr>
<tr class="separator:a6f5144f8b55b6c50c6cc8661a32f9045"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a439ec1cbbc7bed014def33d39b0ab55d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1relax_1_1distributed.html#a439ec1cbbc7bed014def33d39b0ab55d">tvm::relax::distributed::BuildAxisGraphBinary</a> (const Var &output_var, const Call &call, distributed::AxisGroupGraph *axis_group_graph)</td></tr>
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 eb99be8877e..6c51914cdc1 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="6213pt" height="1292pt"
- viewBox="0.00 0.00 6212.50 1292.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="6406pt" height="1292pt"
+ viewBox="0.00 0.00 6405.50 1292.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 1288)">
<title>include/tvm/relax/distributed/axis_group_graph.h</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1288 6208.5,-1288 6208.5,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1288 6401.5,-1288 6401.5,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="4722,-1253.5 4722,-1283.5 4880,-1283.5 4880,-1253.5 4722,-1253.5"/>
-<text text-anchor="start" x="4730" y="-1271.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
-<text text-anchor="middle" x="4801" y="-1260.5" font-family="Helvetica,sans-Serif" font-size="10.00">/axis_group_graph.h</text>
+<polygon fill="#bfbfbf" stroke="black" points="2081,-1253.5 2081,-1283.5 2239,-1283.5 2239,-1253.5 2081,-1253.5"/>
+<text text-anchor="start" x="2089" y="-1271.5" font-family="Helvetica,sans-Serif" font-size="10.00">include/tvm/relax/distributed</text>
+<text text-anchor="middle" x="2160" y="-1260.5" font-family="Helvetica,sans-Serif" font-size="10.00">/axis_group_graph.h</text>
</a>
</g>
</g>
@@ -23,2918 +23,2930 @@
<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-affine mapping patterns.">
-<polygon fill="white" stroke="black" points="4017,-951.5 4017,-981.5 4131,-981.5 4131,-951.5 4017,-951.5"/>
-<text text-anchor="start" x="4025" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/iter_affine</text>
-<text text-anchor="middle" x="4074" y="-958.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
+<polygon fill="white" stroke="black" points="1097,-951.5 1097,-981.5 1211,-981.5 1211,-951.5 1097,-951.5"/>
+<text text-anchor="start" x="1105" y="-969.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/iter_affine</text>
+<text text-anchor="middle" x="1154" y="-958.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge">
<title>Node1->Node2</title>
-<path fill="none" stroke="midnightblue" d="M4721.59,-1257.46C4609.93,-1241.09 4420,-1203.99 4420,-1141 4420,-1141 4420,-1141 4420,-1083 4420,-1024.84 4241.85,-990.68 4141.22,-976.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4141.53,-972.53 4131.13,-974.58 4140.54,-979.46 4141.53,-972.53"/>
+<path fill="none" stroke="midnightblue" d="M2080.87,-1261.9C1927.94,-1248.79 1583.56,-1208.07 1319,-1094 1260.28,-1068.68 1203.81,-1017.82 1174.6,-988.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1176.97,-986.32 1167.44,-981.7 1172.01,-991.26 1176.97,-986.32"/>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<title>Node16</title>
<g id="a_node16"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4874.5,-62 4874.5,-81 4919.5,-81 4919.5,-62 4874.5,-62"/>
-<text text-anchor="middle" x="4897" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
+<polygon fill="white" stroke="#bfbfbf" points="5351.5,-62 5351.5,-81 5396.5,-81 5396.5,-62 5351.5,-62"/>
+<text text-anchor="middle" x="5374" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">utility</text>
</a>
</g>
</g>
<!-- Node1->Node16 -->
-<g id="edge344" class="edge">
+<g id="edge346" class="edge">
<title>Node1->Node16</title>
-<path fill="none" stroke="midnightblue" d="M4880.39,-1266.52C5134.87,-1263.05 5916.26,-1249.78 5959,-1217 5987.11,-1195.44 5983,-1176.42 5983,-1141 5983,-1141 5983,-1141 5983,-193.5 5983,-84.74 5111.6,-73.74 4929.94,-72.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4929.7,-69.12 4919.68,-72.57 4929.66,-76.12 4929.7,-69.12"/>
+<path fill="none" stroke="midnightblue" d="M2239.08,-1267.23C2813.9,-1265.05 6328,-1247.36 6328,-1141 6328,-1141 6328,-1141 6328,-193.5 6328,-161.05 6334.36,-143.25 6309,-123 6230.53,-60.35 5503.71,-110.15 5406,-87 5403.78,-86.47 5401.53,-85.79 5399.3,-85.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5400.43,-81.69 5389.85,-81.14 5397.77,-88.17 5400.43,-81.69"/>
</g>
<!-- Node24 -->
<g id="node24" class="node">
<title>Node24</title>
<g id="a_node24"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2600,-62 2600,-81 2644,-81 2644,-62 2600,-62"/>
-<text text-anchor="middle" x="2622" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
+<polygon fill="white" stroke="#bfbfbf" points="2820,-62 2820,-81 2864,-81 2864,-62 2820,-62"/>
+<text text-anchor="middle" x="2842" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node1->Node24 -->
-<g id="edge340" class="edge">
+<g id="edge342" class="edge">
<title>Node1->Node24</title>
-<path fill="none" stroke="midnightblue" d="M4880.08,-1267.07C5139.03,-1264.61 5945,-1248.34 5945,-1141 5945,-1141 5945,-1141 5945,-669 5945,-580.41 5391.99,-224.55 5316,-179 5263.44,-147.49 5249.84,-136.21 5190,-123 4948.88,-69.79 3214.82,-94.17 2968,-87 2852.63,-83.65 2715.72,-77.17 2654.45,-74.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2654.42,-70.63 2644.26,-73.63 2654.07,-77.62 2654.42,-70.63"/>
+<path fill="none" stroke="midnightblue" d="M2239.03,-1266.08C2473.92,-1261.56 3165.32,-1246.09 3389,-1217 3537.39,-1197.7 3717,-1290.64 3717,-1141 3717,-1141 3717,-1141 3717,-904 3717,-796.87 3648.14,-785.22 3628,-680 3607.52,-572.97 3652,-544.97 3652,-436 3652,-436 3652,-436 3652,-378 3652,-274.45 3551.09,-295.25 3460,-246 3428.31,-228.86 3194.69,-132.72 3160,-123 3057.9,-94.38 2932.51,-80.45 2874.4,-75.15"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2874.62,-71.65 2864.35,-74.26 2874.01,-78.63 2874.62,-71.65"/>
</g>
<!-- Node25 -->
<g id="node25" class="node">
<title>Node25</title>
<g id="a_node25"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="5769.5,-62 5769.5,-81 5816.5,-81 5816.5,-62 5769.5,-62"/>
-<text text-anchor="middle" x="5793" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
+<polygon fill="white" stroke="#bfbfbf" points="1356.5,-62 1356.5,-81 1403.5,-81 1403.5,-62 1356.5,-62"/>
+<text text-anchor="middle" x="1380" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node1->Node25 -->
-<g id="edge345" class="edge">
+<g id="edge347" class="edge">
<title>Node1->Node25</title>
-<path fill="none" stroke="midnightblue" d="M4880.01,-1266.04C5127.4,-1261.2 5876.99,-1244.43 5983,-1217 6056.12,-1198.08 6135,-1216.53 6135,-1141 6135,-1141 6135,-1141 6135,-193.5 6135,-128.51 5912.7,-89.66 5826.55,-77.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5826.9,-73.56 5816.51,-75.61 5825.91,-80.49 5826.9,-73.56"/>
+<path fill="none" stroke="midnightblue" d="M2080.87,-1266.78C1759.19,-1263.64 558.75,-1249.8 392,-1217 297.88,-1198.49 190,-1236.92 190,-1141 190,-1141 190,-1141 190,-322 190,-162.74 334.82,-166.59 488,-123 653.75,-75.83 1203.83,-72.5 1346.15,-72.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1346.42,-75.94 1356.43,-72.44 1346.43,-68.94 1346.42,-75.94"/>
</g>
<!-- Node31 -->
<g id="node31" class="node">
<title>Node31</title>
<g id="a_node31"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="706,-185 706,-204 770,-204 770,-185 706,-185"/>
-<text text-anchor="middle" x="738" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
+<polygon fill="white" stroke="#bfbfbf" points="1882,-185 1882,-204 1946,-204 1946,-185 1882,-185"/>
+<text text-anchor="middle" x="1914" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">algorithm</text>
</a>
</g>
</g>
<!-- Node1->Node31 -->
-<g id="edge338" class="edge">
+<g id="edge340" class="edge">
<title>Node1->Node31</title>
-<path fill="none" stroke="midnightblue" d="M4721.94,-1267.47C4112.83,-1266.97 190,-1259.18 190,-1141 190,-1141 190,-1141 190,-1083 190,-997.39 266,-991.61 266,-906 266,-906 266,-906 266,-842.5 266,-641.91 608,-748.59 608,-548 608,-548 608,-548 608,-322 608,-266.41 669.82,-227.33 708.2,-208.43"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="709.87,-211.51 717.4,-204.06 706.87,-205.19 709.87,-211.51"/>
+<path fill="none" stroke="midnightblue" d="M2080.78,-1265.07C1769.47,-1255 647,-1213.65 647,-1141 647,-1141 647,-1141 647,-904 647,-687.95 1216.24,-387.61 1419,-313 1581.49,-253.21 1785.38,-216.09 1871.99,-201.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1872.64,-205.42 1881.96,-200.37 1871.53,-198.51 1872.64,-205.42"/>
</g>
<!-- Node33 -->
<g id="node33" class="node">
<title>Node33</title>
<g id="a_node33"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="568,-185 568,-204 612,-204 612,-185 568,-185"/>
-<text text-anchor="middle" x="590" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
+<polygon fill="white" stroke="#bfbfbf" points="1630,-185 1630,-204 1674,-204 1674,-185 1630,-185"/>
+<text text-anchor="middle" x="1652" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">limits</text>
</a>
</g>
</g>
<!-- Node1->Node33 -->
-<g id="edge339" class="edge">
+<g id="edge341" class="edge">
<title>Node1->Node33</title>
-<path fill="none" stroke="midnightblue" d="M4721.74,-1267.65C4166.82,-1268.55 872.99,-1271.55 432,-1217 287.79,-1199.16 114,-1286.31 114,-1141 114,-1141 114,-1141 114,-725 114,-585.63 483.31,-280.97 571.33,-210.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="573.54,-213.05 579.16,-204.07 569.17,-207.58 573.54,-213.05"/>
+<path fill="none" stroke="midnightblue" d="M2080.91,-1268.07C1829.04,-1269.33 1047.8,-1268.84 801,-1217 711.18,-1198.14 609,-1232.78 609,-1141 609,-1141 609,-1141 609,-1027 609,-939.14 533,-932.36 533,-844.5 533,-844.5 533,-844.5 533,-781 533,-673.27 606.19,-665.36 686,-593 898.06,-400.74 992.07,-396.04 1266,-313 1342.82,-289.71 1371.17,-312.84 1443,-277 1461.59,-267.72 1459.67,-255.8 1478,-246 1533.52,-216.32 1555.15,-229.52 1615,-210 1617.27,-209.26 1619.6,-208.46 1621.94,-207.62"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1623.28,-210.85 1631.41,-204.06 1620.82,-204.3 1623.28,-210.85"/>
</g>
<!-- Node39 -->
<g id="node39" class="node">
<title>Node39</title>
<g id="a_node39"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3788.5,-123.5 3788.5,-142.5 3881.5,-142.5 3881.5,-123.5 3788.5,-123.5"/>
-<text text-anchor="middle" x="3835" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
+<polygon fill="white" stroke="#bfbfbf" points="1025.5,-123.5 1025.5,-142.5 1118.5,-142.5 1118.5,-123.5 1025.5,-123.5"/>
+<text text-anchor="middle" x="1072" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_map</text>
</a>
</g>
</g>
<!-- Node1->Node39 -->
-<g id="edge342" class="edge">
+<g id="edge344" class="edge">
<title>Node1->Node39</title>
-<path fill="none" stroke="midnightblue" d="M4722.06,-1253.46C4661.78,-1237.67 4589,-1205.29 4589,-1141 4589,-1141 4589,-1141 4589,-904 4589,-763.48 4608.49,-710.88 4532,-593 4354.85,-319.99 4209.49,-342.34 3928,-179 3907.26,-166.96 3882.82,-155.23 3864.2,-146.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3865.6,-143.55 3855.04,-142.64 3862.73,-149.94 3865.6,-143.55"/>
+<path fill="none" stroke="midnightblue" d="M2080.78,-1266.6C1780.02,-1262.95 718.26,-1248 570,-1217 480.98,-1198.39 380,-1231.95 380,-1141 380,-1141 380,-1141 380,-322 380,-190.82 848.98,-148.21 1014.78,-137.25"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1015.5,-140.71 1025.25,-136.57 1015.05,-133.72 1015.5,-140.71"/>
</g>
<!-- Node56 -->
<g id="node56" class="node">
<title>Node56</title>
<g id="a_node56"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4701,-481.5 4701,-500.5 4787,-500.5 4787,-481.5 4701,-481.5"/>
-<text text-anchor="middle" x="4744" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
+<polygon fill="white" stroke="#bfbfbf" points="1714,-481.5 1714,-500.5 1800,-500.5 1800,-481.5 1714,-481.5"/>
+<text text-anchor="middle" x="1757" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">unordered_set</text>
</a>
</g>
</g>
<!-- Node1->Node56 -->
-<g id="edge343" class="edge">
+<g id="edge345" class="edge">
<title>Node1->Node56</title>
-<path fill="none" stroke="midnightblue" d="M4880.38,-1265.34C5110.38,-1258.04 5761,-1229.57 5761,-1141 5761,-1141 5761,-1141 5761,-842.5 5761,-498.72 5209.16,-559.82 5102,-537 4995.21,-514.26 4867.88,-501.62 4797.48,-495.88"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4797.35,-492.35 4787.1,-495.04 4796.79,-499.33 4797.35,-492.35"/>
+<path fill="none" stroke="midnightblue" d="M2080.98,-1267.47C1771.35,-1267.01 654.68,-1262.23 595,-1217 566.77,-1195.6 571,-1176.42 571,-1141 571,-1141 571,-1141 571,-1027 571,-897.33 1525.27,-569.82 1721.85,-503.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1723.04,-507.02 1731.4,-500.52 1720.81,-500.39 1723.04,-507.02"/>
</g>
<!-- Node62 -->
<g id="node62" class="node">
<title>Node62</title>
<g id="a_node62"><a xlink:href="distributed_2struct__info_8h.html" target="_top" xlink:title="Struct info for DTensor (Distributed Tensor)">
-<polygon fill="white" stroke="black" points="3929.5,-1186.5 3929.5,-1216.5 4048.5,-1216.5 4048.5,-1186.5 3929.5,-1186.5"/>
-<text text-anchor="start" x="3937.5" y="-1204.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/distributed</text>
-<text text-anchor="middle" x="3989" y="-1193.5" font-family="Helvetica,sans-Serif" font-size="10.00">/struct_info.h</text>
+<polygon fill="white" stroke="black" points="2100.5,-1186.5 2100.5,-1216.5 2219.5,-1216.5 2219.5,-1186.5 2100.5,-1186.5"/>
+<text text-anchor="start" x="2108.5" y="-1204.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/distributed</text>
+<text text-anchor="middle" x="2160" y="-1193.5" font-family="Helvetica,sans-Serif" font-size="10.00">/struct_info.h</text>
</a>
</g>
</g>
<!-- Node1->Node62 -->
-<g id="edge189" class="edge">
+<g id="edge191" class="edge">
<title>Node1->Node62</title>
-<path fill="none" stroke="midnightblue" d="M4721.66,-1261.15C4562.99,-1248.45 4208.9,-1220.1 4058.61,-1208.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4058.82,-1204.58 4048.58,-1207.27 4058.26,-1211.56 4058.82,-1204.58"/>
+<path fill="none" stroke="midnightblue" d="M2160,-1253.4C2160,-1245.64 2160,-1235.81 2160,-1226.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2163.5,-1226.58 2160,-1216.58 2156.5,-1226.58 2163.5,-1226.58"/>
</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="2088.5,-957 2088.5,-976 2185.5,-976 2185.5,-957 2088.5,-957"/>
-<text text-anchor="middle" x="2137" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/expr.h</text>
+<polygon fill="white" stroke="black" points="2748.5,-957 2748.5,-976 2845.5,-976 2845.5,-957 2748.5,-957"/>
+<text text-anchor="middle" x="2797" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/relax/expr.h</text>
</a>
</g>
</g>
<!-- Node1->Node69 -->
-<g id="edge313" class="edge">
+<g id="edge315" class="edge">
<title>Node1->Node69</title>
-<path fill="none" stroke="midnightblue" d="M4721.98,-1267.88C4287.42,-1269.44 2208,-1270.16 2208,-1141 2208,-1141 2208,-1141 2208,-1083 2208,-1042.3 2175.61,-1003.89 2154.58,-983.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2156.84,-980.56 2147.17,-976.23 2152.03,-985.65 2156.84,-980.56"/>
+<path fill="none" stroke="midnightblue" d="M2239.26,-1265.09C2551.44,-1255.1 3679,-1213.96 3679,-1141 3679,-1141 3679,-1141 3679,-1083 3679,-999.74 3053.17,-974.8 2855.85,-969"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2855.77,-965.5 2845.68,-968.71 2855.57,-972.49 2855.77,-965.5"/>
</g>
<!-- Node90 -->
<g id="node90" class="node">
<title>Node90</title>
<g id="a_node90"><a xlink:href="tirx_2function_8h.html" target="_top" xlink:title="TIR Function.">
-<polygon fill="white" stroke="black" points="4747.5,-895.5 4747.5,-914.5 4854.5,-914.5 4854.5,-895.5 4747.5,-895.5"/>
-<text text-anchor="middle" x="4801" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/function.h</text>
+<polygon fill="white" stroke="black" points="3951.5,-895.5 3951.5,-914.5 4058.5,-914.5 4058.5,-895.5 3951.5,-895.5"/>
+<text text-anchor="middle" x="4005" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/function.h</text>
</a>
</g>
</g>
<!-- Node1->Node90 -->
-<g id="edge314" class="edge">
+<g id="edge316" class="edge">
<title>Node1->Node90</title>
-<path fill="none" stroke="midnightblue" d="M4801,-1253.46C4801,-1230.12 4801,-1181.85 4801,-1141 4801,-1141 4801,-1141 4801,-1027 4801,-990.71 4801,-948.31 4801,-924.56"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4804.5,-924.51 4801,-914.51 4797.5,-924.51 4804.5,-924.51"/>
+<path fill="none" stroke="midnightblue" d="M2239.09,-1267.71C2538.1,-1268.12 3589.69,-1266.02 3731,-1217 3784.75,-1198.35 3834,-1197.89 3834,-1141 3834,-1141 3834,-1141 3834,-1027 3834,-965.97 3907.48,-932.96 3958.1,-917.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3959.28,-920.76 3967.9,-914.59 3957.31,-914.04 3959.28,-920.76"/>
</g>
<!-- Node91 -->
<g id="node91" class="node">
<title>Node91</title>
<g id="a_node91"><a xlink:href="stmt__functor_8h.html" target="_top" xlink:title="Functors for tirx stmts utility functions to call common functors.">
-<polygon fill="white" stroke="black" points="5341.5,-957 5341.5,-976 5470.5,-976 5470.5,-957 5341.5,-957"/>
-<text text-anchor="middle" x="5406" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/stmt_functor.h</text>
+<polygon fill="white" stroke="black" points="3940.5,-957 3940.5,-976 4069.5,-976 4069.5,-957 3940.5,-957"/>
+<text text-anchor="middle" x="4005" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/stmt_functor.h</text>
</a>
</g>
</g>
<!-- Node1->Node91 -->
-<g id="edge324" class="edge">
+<g id="edge326" class="edge">
<title>Node1->Node91</title>
-<path fill="none" stroke="midnightblue" d="M4872.19,-1253.49C4964.27,-1233.28 5113,-1192.65 5113,-1141 5113,-1141 5113,-1141 5113,-1083 5113,-1032.84 5263.52,-995.25 5348.79,-977.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5349.48,-981.41 5358.6,-976.02 5348.11,-974.54 5349.48,-981.41"/>
+<path fill="none" stroke="midnightblue" d="M2239.03,-1266.58C2562.51,-1262.65 3772.15,-1246.04 3848,-1217 3896.89,-1198.28 3938,-1193.35 3938,-1141 3938,-1141 3938,-1141 3938,-1083 3938,-1042.89 3968.61,-1004.23 3988.45,-983.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3991.14,-985.64 3995.68,-976.07 3986.17,-980.72 3991.14,-985.64"/>
</g>
<!-- Node94 -->
<g id="node94" class="node">
<title>Node94</title>
<g id="a_node94"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="6163.5,-1192 6163.5,-1211 6204.5,-1211 6204.5,-1192 6163.5,-1192"/>
-<text text-anchor="middle" x="6184" y="-1199" font-family="Helvetica,sans-Serif" font-size="10.00">tuple</text>
+<polygon fill="white" stroke="#bfbfbf" points="6356.5,-1192 6356.5,-1211 6397.5,-1211 6397.5,-1192 6356.5,-1192"/>
+<text text-anchor="middle" x="6377" y="-1199" font-family="Helvetica,sans-Serif" font-size="10.00">tuple</text>
</a>
</g>
</g>
<!-- Node1->Node94 -->
-<g id="edge341" class="edge">
+<g id="edge343" class="edge">
<title>Node1->Node94</title>
-<path fill="none" stroke="midnightblue" d="M4880.4,-1266.16C5150.73,-1261.39 6025.45,-1243.99 6149,-1217 6151.68,-1216.41 6154.41,-1215.64 6157.11,-1214.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="6158.49,-1217.96 6166.59,-1211.14 6156,-1211.42 6158.49,-1217.96"/>
+<path fill="none" stroke="midnightblue" d="M2239.13,-1267.4C2797.93,-1266.56 6133.51,-1259.79 6342,-1217 6344.84,-1216.42 6347.74,-1215.61 6350.59,-1214.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="6351.88,-1217.92 6359.97,-1211.08 6349.38,-1211.38 6351.88,-1217.92"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="analyzer_8h.html" target="_top" xlink:title="Algebra expression simplifications.">
-<polygon fill="white" stroke="black" points="2734.5,-895.5 2734.5,-914.5 2849.5,-914.5 2849.5,-895.5 2734.5,-895.5"/>
-<text text-anchor="middle" x="2792" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/analyzer.h</text>
+<polygon fill="white" stroke="black" points="1010.5,-895.5 1010.5,-914.5 1125.5,-914.5 1125.5,-895.5 1010.5,-895.5"/>
+<text text-anchor="middle" x="1068" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/analyzer.h</text>
</a>
</g>
</g>
<!-- Node2->Node3 -->
<g id="edge2" class="edge">
<title>Node2->Node3</title>
-<path fill="none" stroke="midnightblue" d="M4016.84,-962.85C3807.84,-953.15 3085.52,-919.62 2859.89,-909.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2860,-905.65 2849.84,-908.68 2859.67,-912.64 2860,-905.65"/>
+<path fill="none" stroke="midnightblue" d="M1133.62,-951.4C1120.09,-942.04 1102.39,-929.79 1088.78,-920.38"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1090.73,-917.47 1080.51,-914.66 1086.75,-923.23 1090.73,-917.47"/>
</g>
<!-- Node5 -->
<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="1930.5,-252 1930.5,-271 2009.5,-271 2009.5,-252 1930.5,-252"/>
-<text text-anchor="middle" x="1970" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
+<polygon fill="white" stroke="black" points="2442.5,-252 2442.5,-271 2521.5,-271 2521.5,-252 2442.5,-252"/>
+<text text-anchor="middle" x="2482" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/expr.h</text>
</a>
</g>
</g>
<!-- Node2->Node5 -->
-<g id="edge187" class="edge">
+<g id="edge189" class="edge">
<title>Node2->Node5</title>
-<path fill="none" stroke="midnightblue" d="M4016.76,-964.82C3830.56,-962.31 3225.24,-951.66 2726,-915 2498.14,-898.27 2438.72,-905.36 2215,-859 2116.16,-838.52 2086.51,-840.53 1998,-792 1964.27,-773.5 1951.18,-769.35 1932,-736 1863.06,-616.13 1927.49,-562.62 1941,-425 1945.9,-375.08 1944.28,-362.01 1955,-313 1957.36,-302.22 1960.82,-290.39 1963.83,-280.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1967.17,-281.93 1966.94,-271.34 1960.52,-279.76 1967.17,-281.93"/>
+<path fill="none" stroke="midnightblue" d="M1179.73,-951.44C1308.31,-881.28 1894.19,-562.47 2380,-313 2405.34,-299.99 2434.49,-285.61 2455.12,-275.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2456.77,-278.63 2464.23,-271.1 2453.71,-272.34 2456.77,-278.63"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="850,-56.5 850,-86.5 948,-86.5 948,-56.5 850,-56.5"/>
-<text text-anchor="start" x="858" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
-<text text-anchor="middle" x="899" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="388,-56.5 388,-86.5 486,-86.5 486,-56.5 388,-56.5"/>
+<text text-anchor="start" x="396" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/reflection</text>
+<text text-anchor="middle" x="437" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/registry.h</text>
</a>
</g>
</g>
<!-- Node2->Node7 -->
-<g id="edge180" class="edge">
+<g id="edge182" class="edge">
<title>Node2->Node7</title>
-<path fill="none" stroke="midnightblue" d="M4016.71,-965.41C3573.49,-964.5 704.09,-954.92 551,-859 484.17,-817.12 380,-626.87 380,-548 380,-548 380,-548 380,-490 380,-411.09 341.86,-388.13 366,-313 398.65,-211.35 418.35,-172.41 513,-123 541.35,-108.2 738.73,-87.69 839.74,-77.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="840.17,-81.47 849.79,-77.03 839.51,-74.5 840.17,-81.47"/>
+<path fill="none" stroke="midnightblue" d="M1097,-965.96C1005.37,-965.28 820.48,-958.05 671,-915 616.75,-899.38 605.89,-887.22 557,-859 457.13,-801.34 201.4,-651.28 135,-557 78.69,-477.04 -2.37,-196.62 62,-123 82.46,-99.6 277.61,-83.2 377.98,-76.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="378.24,-79.73 387.98,-75.55 377.76,-72.74 378.24,-79.73"/>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="cow_8h.html" target="_top" xlink:title="Copy-on-write helper macro for IR ffi::ObjectRef types.">
-<polygon fill="white" stroke="black" points="5167.5,-185 5167.5,-204 5244.5,-204 5244.5,-185 5167.5,-185"/>
-<text text-anchor="middle" x="5206" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cow.h</text>
+<polygon fill="white" stroke="black" points="5018.5,-185 5018.5,-204 5095.5,-204 5095.5,-185 5018.5,-185"/>
+<text text-anchor="middle" x="5057" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cow.h</text>
</a>
</g>
</g>
<!-- Node2->Node17 -->
-<g id="edge181" class="edge">
+<g id="edge183" class="edge">
<title>Node2->Node17</title>
-<path fill="none" stroke="midnightblue" d="M4131.35,-965.82C4364.4,-966.79 5233.43,-966.84 5344,-915 5415.52,-881.47 5463,-861.99 5463,-783 5463,-783 5463,-783 5463,-669 5463,-466.63 5279.43,-268.11 5222.58,-211.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5224.73,-208.69 5215.15,-204.18 5219.82,-213.69 5224.73,-208.69"/>
+<path fill="none" stroke="midnightblue" d="M1211.05,-965.39C1509.04,-964.61 2917.1,-958.7 4068,-915 4204.14,-909.83 5287,-919.24 5287,-783 5287,-783 5287,-783 5287,-669 5287,-472.71 5292.73,-390.62 5160,-246 5143.38,-227.89 5118.83,-215.5 5097.87,-207.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5098.83,-204.15 5088.23,-204.07 5096.46,-210.74 5098.83,-204.15"/>
</g>
<!-- Node59 -->
<g id="node59" class="node">
<title>Node59</title>
<g id="a_node59"><a xlink:href="var_8h.html" target="_top" xlink:title="Variables in the TIR.">
-<polygon fill="white" stroke="black" points="3783.5,-425.5 3783.5,-444.5 3866.5,-444.5 3866.5,-425.5 3783.5,-425.5"/>
-<text text-anchor="middle" x="3825" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/var.h</text>
+<polygon fill="white" stroke="black" points="4237.5,-425.5 4237.5,-444.5 4320.5,-444.5 4320.5,-425.5 4237.5,-425.5"/>
+<text text-anchor="middle" x="4279" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/var.h</text>
</a>
</g>
</g>
<!-- Node2->Node59 -->
-<g id="edge188" class="edge">
+<g id="edge190" class="edge">
<title>Node2->Node59</title>
-<path fill="none" stroke="midnightblue" d="M4073.28,-951.31C4070.1,-899.81 4054.2,-719.08 3983,-593 3947.56,-530.25 3880,-475.67 3845.85,-450.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3847.71,-447.63 3837.55,-444.61 3843.61,-453.3 3847.71,-447.63"/>
+<path fill="none" stroke="midnightblue" d="M1211.18,-964.93C1537.88,-961.55 3161.3,-943.47 3382,-915 3488.49,-901.26 3513.19,-886.41 3617,-859 3765.19,-819.87 4260,-762.77 4260,-609.5 4260,-609.5 4260,-609.5 4260,-546 4260,-513.49 4268.16,-476.35 4273.78,-454.61"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4277.22,-455.32 4276.44,-444.75 4270.46,-453.5 4277.22,-455.32"/>
</g>
<!-- Node61 -->
<g id="node61" class="node">
<title>Node61</title>
<g id="a_node61"><a xlink:href="diagnostic_8h.html" target="_top" xlink:title="A new diagnostic interface for TVM error reporting.">
-<polygon fill="white" stroke="black" points="4415,-599 4415,-618 4523,-618 4523,-599 4415,-599"/>
-<text text-anchor="middle" x="4469" y="-606" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/diagnostic.h</text>
+<polygon fill="white" stroke="black" points="1109,-599 1109,-618 1217,-618 1217,-599 1109,-599"/>
+<text text-anchor="middle" x="1163" y="-606" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/diagnostic.h</text>
</a>
</g>
</g>
<!-- Node2->Node61 -->
-<g id="edge182" class="edge">
+<g id="edge184" class="edge">
<title>Node2->Node61</title>
-<path fill="none" stroke="midnightblue" d="M4084.52,-951.08C4109.12,-917.79 4173.15,-833.68 4236,-772 4292.62,-716.43 4308.88,-703.85 4375,-660 4396.53,-645.72 4422.49,-632.02 4441.67,-622.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4443.32,-625.59 4450.76,-618.04 4440.24,-619.3 4443.32,-625.59"/>
+<path fill="none" stroke="midnightblue" d="M1154,-951.34C1154,-928.75 1154,-883.15 1154,-844.5 1154,-844.5 1154,-844.5 1154,-725 1154,-690.76 1157.98,-650.98 1160.65,-628.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1164.13,-628.52 1161.86,-618.18 1157.18,-627.68 1164.13,-628.52"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="int__set_8h.html" target="_top" xlink:title="Integer set.">
-<polygon fill="white" stroke="black" points="2702.5,-834 2702.5,-853 2809.5,-853 2809.5,-834 2702.5,-834"/>
-<text text-anchor="middle" x="2756" y="-841" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
+<polygon fill="white" stroke="black" points="2174.5,-834 2174.5,-853 2281.5,-853 2281.5,-834 2174.5,-834"/>
+<text text-anchor="middle" x="2228" y="-841" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/arith/int_set.h</text>
</a>
</g>
</g>
<!-- Node3->Node4 -->
<g id="edge3" class="edge">
<title>Node3->Node4</title>
-<path fill="none" stroke="midnightblue" d="M2786.84,-895.48C2781.55,-886.73 2773.16,-872.87 2766.47,-861.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2769.32,-859.75 2761.15,-853.01 2763.33,-863.38 2769.32,-859.75"/>
+<path fill="none" stroke="midnightblue" d="M1125.52,-904.58C1287.6,-905.58 1761.64,-904.09 2152,-859 2160.82,-857.98 2170.16,-856.52 2179.15,-854.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2179.93,-858.33 2189.12,-853.06 2178.64,-851.45 2179.93,-858.33"/>
</g>
<!-- Node3->Node5 -->
-<g id="edge174" class="edge">
+<g id="edge175" class="edge">
<title>Node3->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2734.17,-898.22C2541.88,-878.21 1936,-808.71 1936,-727 1936,-727 1936,-727 1936,-607.5 1936,-482.16 1958.5,-332.44 1966.89,-280.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1970.36,-281.44 1968.54,-271 1963.45,-280.3 1970.36,-281.44"/>
+<path fill="none" stroke="midnightblue" d="M1121.5,-895.46C1350.29,-857.91 2243.34,-700.41 2433,-501 2453.74,-479.19 2452,-466.1 2452,-436 2452,-436 2452,-436 2452,-378 2452,-342.59 2465.37,-302.97 2474.26,-280.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2477.51,-281.86 2478.08,-271.28 2471.04,-279.2 2477.51,-281.86"/>
</g>
<!-- Node3->Node7 -->
-<g id="edge173" class="edge">
+<g id="edge174" class="edge">
<title>Node3->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2734.34,-903.52C2388.4,-900.56 601.33,-884.06 551,-859 458.57,-812.97 266,-595.26 266,-492 266,-492 266,-492 266,-434 266,-282.78 262.92,-177.45 404,-123 409.05,-121.05 709.3,-91.23 839.66,-78.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="840.26,-81.81 849.87,-77.34 839.57,-74.84 840.26,-81.81"/>
+<path fill="none" stroke="midnightblue" d="M1010.32,-900.19C930,-894.18 789.13,-880.87 743,-859 733.29,-854.4 180.61,-342.7 176,-333 135.91,-248.7 112.97,-188.98 179,-123 206.33,-95.69 310.36,-82.41 377.68,-76.56"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="378.07,-80.03 387.74,-75.71 377.49,-73.06 378.07,-80.03"/>
+</g>
+<!-- Node11 -->
+<g id="node11" class="node">
+<title>Node11</title>
+<g id="a_node11"><a xlink:title=" ">
+<polygon fill="white" stroke="#bfbfbf" points="2336.5,-123.5 2336.5,-142.5 2417.5,-142.5 2417.5,-123.5 2336.5,-123.5"/>
+<text text-anchor="middle" x="2377" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
+</a>
+</g>
+</g>
+<!-- Node3->Node11 -->
+<g id="edge173" class="edge">
+<title>Node3->Node11</title>
+<path fill="none" stroke="midnightblue" d="M1078.35,-895.27C1129.18,-852.64 1358.14,-663.37 1565,-537 1857.06,-358.59 2238.86,-192.49 2347.19,-146.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2348.68,-149.69 2356.53,-142.57 2345.95,-143.24 2348.68,-149.69"/>
+</g>
+<!-- Node3->Node16 -->
+<g id="edge180" class="edge">
+<title>Node3->Node16</title>
+<path fill="none" stroke="midnightblue" d="M1125.71,-903.86C1458.67,-902.89 3122.85,-896.22 3224,-859 3244.46,-851.47 3241.85,-836.32 3262,-828 3285.92,-818.12 4163.25,-738.6 4189,-736 4431.71,-711.51 4500.13,-745.9 4735,-680 5057.92,-589.4 5128.43,-506.5 5373,-277 5427.05,-226.28 5469.08,-189.82 5437,-123 5429.46,-107.29 5414.39,-94.93 5400.87,-86.37"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5402.27,-83.13 5391.88,-81.06 5398.71,-89.16 5402.27,-83.13"/>
</g>
<!-- Node3->Node25 -->
-<g id="edge179" class="edge">
+<g id="edge181" class="edge">
<title>Node3->Node25</title>
-<path fill="none" stroke="midnightblue" d="M2849.58,-903.95C3256.03,-903.48 5678.49,-899.02 5742,-859 5998.6,-697.29 5929.76,-512.41 5953,-210 5954.06,-196.26 5959.51,-191.15 5953,-179 5926.31,-129.18 5864.91,-98.67 5826.4,-83.72"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5827.26,-80.3 5816.67,-80.08 5824.81,-86.86 5827.26,-80.3"/>
+<path fill="none" stroke="midnightblue" d="M1010.33,-900.69C935.28,-895.48 809.09,-883.34 770,-859 753.29,-848.6 371.88,-295.78 366,-277 361.88,-263.85 359.48,-258.14 366,-246 412.93,-158.71 458.01,-154.42 552,-123 702.94,-72.55 1210.41,-71.57 1346.29,-72.24"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1346.48,-75.75 1356.5,-72.3 1346.52,-68.75 1346.48,-75.75"/>
</g>
<!-- Node3->Node33 -->
-<g id="edge176" class="edge">
+<g id="edge177" class="edge">
<title>Node3->Node33</title>
-<path fill="none" stroke="midnightblue" d="M2734.16,-903.36C2499.02,-900.55 1621.63,-888.21 1501,-859 1194.92,-784.89 1100.24,-760.63 860,-557 731.82,-448.35 755.35,-372.72 645,-246 633.87,-233.22 619.77,-220.33 608.64,-210.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="610.7,-207.93 600.79,-204.17 606.19,-213.29 610.7,-207.93"/>
+<path fill="none" stroke="midnightblue" d="M1069.23,-895.21C1071.9,-875.3 1078,-825.16 1078,-783 1078,-783 1078,-783 1078,-607.5 1078,-440.88 1158.62,-382.63 1310,-313 1379.38,-281.09 1407.44,-306.19 1478,-277 1501.47,-267.29 1503.44,-257.66 1526,-246 1564.27,-226.22 1576.02,-226.05 1616,-210 1617.63,-209.34 1619.31,-208.67 1621,-207.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1622.71,-211.08 1630.68,-204.1 1620.1,-204.58 1622.71,-211.08"/>
</g>
<!-- Node3->Node39 -->
-<g id="edge178" class="edge">
+<g id="edge179" class="edge">
<title>Node3->Node39</title>
-<path fill="none" stroke="midnightblue" d="M2849.71,-902.86C3057.47,-897.98 3755,-874.78 3755,-783 3755,-783 3755,-783 3755,-490 3755,-459.77 3758,-449.99 3775,-425 3789.4,-403.82 3803.76,-408.8 3820,-389 3837.77,-367.33 3839.99,-359.54 3849,-333 3857.13,-309.06 3856.77,-302.18 3859,-277 3860.72,-257.63 3860.17,-187.73 3858,-179 3855.62,-169.44 3850.9,-159.6 3846.35,-151.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3849.23,-149.57 3841.06,-142.82 3843.24,-153.19 3849.23,-149.57"/>
+<path fill="none" stroke="midnightblue" d="M1019.3,-895.44C962.12,-882.26 875,-851.02 875,-783 875,-783 875,-783 875,-669 875,-449.07 786.01,-332 944,-179 963.33,-160.28 990.91,-149.3 1015.51,-142.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1016.58,-146.23 1025.49,-140.49 1014.95,-139.43 1016.58,-146.23"/>
</g>
<!-- Node49 -->
<g id="node49" class="node">
<title>Node49</title>
<g id="a_node49"><a xlink:href="with__context_8h.html" target="_top" xlink:title="RAII wrapper function to enter and exit a context object similar to python's with syntax.">
-<polygon fill="white" stroke="black" points="3417.5,-252 3417.5,-271 3538.5,-271 3538.5,-252 3417.5,-252"/>
-<text text-anchor="middle" x="3478" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/with_context.h</text>
+<polygon fill="white" stroke="black" points="712.5,-252 712.5,-271 833.5,-271 833.5,-252 712.5,-252"/>
+<text text-anchor="middle" x="773" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/with_context.h</text>
</a>
</g>
</g>
<!-- Node3->Node49 -->
-<g id="edge175" class="edge">
+<g id="edge176" class="edge">
<title>Node3->Node49</title>
-<path fill="none" stroke="midnightblue" d="M2849.58,-900.26C3018.85,-888.51 3503,-849.13 3503,-783 3503,-783 3503,-783 3503,-669 3503,-564.08 3465,-540.92 3465,-436 3465,-436 3465,-436 3465,-378 3465,-343.65 3470.75,-303.91 3474.6,-281.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3478.07,-281.61 3476.35,-271.16 3471.18,-280.4 3478.07,-281.61"/>
+<path fill="none" stroke="midnightblue" d="M1010.29,-902.67C931.25,-897.42 799,-874.92 799,-783 799,-783 799,-783 799,-725 799,-549.25 758.58,-508.37 747,-333 746.41,-324.13 744.91,-321.64 747,-313 749.83,-301.33 755.84,-289.35 761.38,-279.98"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="764.48,-281.62 766.82,-271.29 758.54,-277.91 764.48,-281.62"/>
</g>
<!-- Node51 -->
<g id="node51" class="node">
<title>Node51</title>
<g id="a_node51"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3597,-185 3597,-204 3655,-204 3655,-185 3597,-185"/>
-<text text-anchor="middle" x="3626" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
+<polygon fill="white" stroke="#bfbfbf" points="758,-185 758,-204 816,-204 816,-185 758,-185"/>
+<text text-anchor="middle" x="787" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">memory</text>
</a>
</g>
</g>
<!-- Node3->Node51 -->
-<g id="edge177" class="edge">
+<g id="edge178" class="edge">
<title>Node3->Node51</title>
-<path fill="none" stroke="midnightblue" d="M2849.61,-904.14C2952.55,-903.35 3174.42,-896.9 3357,-859 3459.11,-837.81 3579,-887.29 3579,-783 3579,-783 3579,-783 3579,-546 3579,-418.14 3610.1,-266.36 3621.7,-214.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3625.19,-214.64 3623.98,-204.11 3618.36,-213.1 3625.19,-214.64"/>
+<path fill="none" stroke="midnightblue" d="M1010.25,-899.32C944.51,-893.08 842.07,-880.26 810,-859 776.5,-836.79 761,-823.19 761,-783 761,-783 761,-783 761,-725 761,-524.23 715.92,-477.36 703,-277 702.11,-263.25 696.22,-257.99 703,-246 709.28,-234.9 736.98,-219.5 758.88,-208.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="760.67,-211.65 768.13,-204.13 757.61,-205.35 760.67,-211.65"/>
</g>
<!-- Node4->Node5 -->
<g id="edge4" class="edge">
<title>Node4->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2702.49,-839.84C2531.9,-830.66 2012,-796.93 2012,-727 2012,-727 2012,-727 2012,-669 2012,-510.48 2024.5,-467.72 1990,-313 1987.5,-301.78 1982.84,-289.79 1978.65,-280.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1981.8,-278.77 1974.41,-271.17 1975.45,-281.72 1981.8,-278.77"/>
+<path fill="none" stroke="midnightblue" d="M2255.94,-833.98C2322.68,-811.94 2490.94,-746.09 2559,-624 2614.43,-524.57 2566.24,-478.46 2535,-369 2527.83,-343.86 2528.57,-336.44 2517,-313 2511.13,-301.11 2502.71,-288.86 2495.6,-279.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2498.21,-277.06 2489.31,-271.3 2492.68,-281.35 2498.21,-277.06"/>
</g>
<!-- Node34 -->
<g id="node34" class="node">
<title>Node34</title>
<g id="a_node34"><a xlink:href="tirx_2expr_8h.html" target="_top" xlink:title="TIR expressions.">
-<polygon fill="white" stroke="black" points="2254.5,-772.5 2254.5,-791.5 2343.5,-791.5 2343.5,-772.5 2254.5,-772.5"/>
-<text text-anchor="middle" x="2299" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/expr.h</text>
+<polygon fill="white" stroke="black" points="3468.5,-772.5 3468.5,-791.5 3557.5,-791.5 3557.5,-772.5 3468.5,-772.5"/>
+<text text-anchor="middle" x="3513" y="-779.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/expr.h</text>
</a>
</g>
</g>
<!-- Node4->Node34 -->
<g id="edge48" class="edge">
<title>Node4->Node34</title>
-<path fill="none" stroke="midnightblue" d="M2702.23,-835.5C2614.63,-824.09 2442.02,-801.62 2353.77,-790.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2354.06,-786.64 2343.7,-788.82 2353.16,-793.58 2354.06,-786.64"/>
+<path fill="none" stroke="midnightblue" d="M2281.58,-840.02C2490.26,-830.36 3247.5,-795.29 3458.24,-785.54"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3458.61,-789.02 3468.44,-785.06 3458.29,-782.03 3458.61,-789.02"/>
</g>
<!-- Node4->Node39 -->
<g id="edge172" class="edge">
<title>Node4->Node39</title>
-<path fill="none" stroke="midnightblue" d="M2809.78,-838.91C2969,-827.56 3427,-789.5 3427,-727 3427,-727 3427,-727 3427,-490 3427,-318.68 3681.18,-513.37 3799,-389 3861.78,-322.73 3847.32,-199.97 3838.89,-152.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3842.29,-152.14 3836.98,-142.97 3835.42,-153.45 3842.29,-152.14"/>
+<path fill="none" stroke="midnightblue" d="M2207.91,-833.9C2077.54,-777.95 1350.61,-463.99 1148,-333 1114.83,-311.56 1099.07,-311.01 1079,-277 1055.8,-237.69 1062.28,-181.2 1067.8,-152.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1071.25,-153.01 1069.87,-142.5 1064.4,-151.57 1071.25,-153.01"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1874,-185 1874,-204 2010,-204 2010,-185 1874,-185"/>
-<text text-anchor="middle" x="1942" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/dataclass.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2488,-185 2488,-204 2624,-204 2624,-185 2488,-185"/>
+<text text-anchor="middle" x="2556" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/dataclass.h</text>
</a>
</g>
</g>
<!-- Node5->Node6 -->
<g id="edge5" class="edge">
<title>Node5->Node6</title>
-<path fill="none" stroke="midnightblue" d="M1966.22,-251.73C1962.03,-241.99 1955.13,-225.98 1949.77,-213.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1952.89,-211.93 1945.72,-204.13 1946.46,-214.7 1952.89,-211.93"/>
+<path fill="none" stroke="midnightblue" d="M2491.98,-251.73C2503.85,-241.31 2523.89,-223.71 2538.38,-210.97"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2540.97,-213.36 2546.18,-204.13 2536.36,-208.1 2540.97,-213.36"/>
</g>
<!-- Node5->Node7 -->
<g id="edge6" class="edge">
<title>Node5->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1930.19,-260.85C1831.42,-260.93 1567.65,-256.41 1354,-210 1314.3,-201.38 1307.1,-190.03 1268,-179 1192,-157.56 1169.46,-166.29 1094,-143 1071.92,-136.18 1067.61,-131.2 1046,-123 1015.08,-111.26 980.08,-99.19 951.99,-89.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="952.95,-86.42 942.36,-86.59 950.74,-93.07 952.95,-86.42"/>
+<path fill="none" stroke="midnightblue" d="M2442.47,-260.31C2272.26,-259.24 1601.22,-252.36 1395,-210 1287.13,-187.84 1270.61,-146.4 1163,-123 1036.33,-95.46 646.27,-79.62 496.45,-74.42"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.2,-70.91 486.09,-74.07 495.96,-77.91 496.2,-70.91"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2808.5,-123.5 2808.5,-142.5 2897.5,-142.5 2897.5,-123.5 2808.5,-123.5"/>
-<text text-anchor="middle" x="2853" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3501.5,-123.5 3501.5,-142.5 3590.5,-142.5 3590.5,-123.5 3501.5,-123.5"/>
+<text text-anchor="middle" x="3546" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/string.h</text>
</a>
</g>
</g>
<!-- Node5->Node8 -->
<g id="edge7" class="edge">
<title>Node5->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2009.74,-257.57C2148.94,-247.27 2606.95,-213.23 2622,-210 2661.72,-201.47 2669.48,-191.91 2708,-179 2743.88,-166.97 2785.12,-154.28 2814.43,-145.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2815.69,-148.73 2824.26,-142.5 2813.68,-142.02 2815.69,-148.73"/>
+<path fill="none" stroke="midnightblue" d="M2521.77,-255.77C2684.95,-236.37 3303.41,-162.84 3491.44,-140.49"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3491.86,-143.96 3501.38,-139.31 3491.04,-137.01 3491.86,-143.96"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="cast_8h.html" target="_top" xlink:title="Value casting helpers.">
-<polygon fill="white" stroke="black" points="2332,-185 2332,-204 2410,-204 2410,-185 2332,-185"/>
-<text text-anchor="middle" x="2371" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cast.h</text>
+<polygon fill="white" stroke="black" points="4354,-185 4354,-204 4432,-204 4432,-185 4354,-185"/>
+<text text-anchor="middle" x="4393" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/cast.h</text>
</a>
</g>
</g>
<!-- Node5->Node9 -->
<g id="edge8" class="edge">
<title>Node5->Node9</title>
-<path fill="none" stroke="midnightblue" d="M2009.55,-254.09C2083.26,-242.14 2241.44,-216.5 2321.87,-203.46"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2322.44,-206.92 2331.75,-201.86 2321.32,-200.01 2322.44,-206.92"/>
+<path fill="none" stroke="midnightblue" d="M2521.83,-257.06C2562.54,-253.67 2627.63,-248.65 2684,-246 3404.72,-212.16 3588.72,-278.16 4307,-210 4319.01,-208.86 4331.88,-207.03 4343.9,-205.04"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4344.51,-208.49 4353.77,-203.34 4343.32,-201.59 4344.51,-208.49"/>
</g>
<!-- Node5->Node17 -->
<g id="edge16" class="edge">
<title>Node5->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2009.82,-256.94C2050.53,-253.47 2115.62,-248.37 2172,-246 3447.41,-192.28 3769.11,-274.95 5044,-210 5082.17,-208.06 5125.26,-204.11 5157.4,-200.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5157.85,-204.3 5167.43,-199.79 5157.13,-197.34 5157.85,-204.3"/>
+<path fill="none" stroke="midnightblue" d="M2521.82,-256.98C2562.54,-253.54 2627.62,-248.47 2684,-246 3191.8,-223.8 4464.84,-256.39 4971,-210 4983.13,-208.89 4996.14,-207.04 5008.26,-205.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5008.94,-208.47 5018.2,-203.32 5007.76,-201.57 5008.94,-208.47"/>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<title>Node18</title>
<g id="a_node18"><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="1250.5,-123.5 1250.5,-142.5 1367.5,-142.5 1367.5,-123.5 1250.5,-123.5"/>
-<text text-anchor="middle" x="1309" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
+<polygon fill="white" stroke="black" points="2162.5,-123.5 2162.5,-142.5 2279.5,-142.5 2279.5,-123.5 2162.5,-123.5"/>
+<text text-anchor="middle" x="2221" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/source_map.h</text>
</a>
</g>
</g>
<!-- Node5->Node18 -->
<g id="edge19" class="edge">
<title>Node5->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1939.47,-251.9C1881.13,-235.72 1749.55,-200.43 1637,-179 1588.81,-169.82 1459.05,-152.88 1377.93,-142.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1378.16,-139.1 1367.8,-141.32 1377.28,-146.05 1378.16,-139.1"/>
+<path fill="none" stroke="midnightblue" d="M2453.07,-251.94C2424.44,-243.02 2379.71,-227.86 2343,-210 2305.56,-191.78 2265.1,-165.03 2241.46,-148.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2243.18,-145.53 2232.98,-142.65 2239.15,-151.26 2243.18,-145.53"/>
</g>
<!-- Node5->Node24 -->
<g id="edge46" class="edge">
<title>Node5->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1986.47,-251.93C2016.32,-236.52 2081.49,-203.49 2138,-179 2201.77,-151.36 2216.79,-140.68 2284,-123 2394.15,-94.02 2529.17,-80.1 2589.82,-74.96"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.24,-78.44 2599.92,-74.12 2589.66,-71.46 2590.24,-78.44"/>
+<path fill="none" stroke="midnightblue" d="M2513.65,-251.91C2551.72,-241.24 2613.01,-222.87 2633,-210 2677.42,-181.41 2670.35,-152.76 2714,-123 2743.75,-102.71 2782.85,-88.81 2809.97,-80.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2811.07,-84.13 2819.73,-78.02 2809.15,-77.4 2811.07,-84.13"/>
</g>
<!-- Node26 -->
<g id="node26" class="node">
<title>Node26</title>
<g id="a_node26"><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="1548,-185 1548,-204 1628,-204 1628,-185 1548,-185"/>
-<text text-anchor="middle" x="1588" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
+<polygon fill="white" stroke="black" points="2352,-185 2352,-204 2432,-204 2432,-185 2352,-185"/>
+<text text-anchor="middle" x="2392" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/type.h</text>
</a>
</g>
</g>
<!-- Node5->Node26 -->
<g id="edge29" class="edge">
<title>Node5->Node26</title>
-<path fill="none" stroke="midnightblue" d="M1930.2,-253.73C1860.16,-241.81 1715.02,-217.11 1638.2,-204.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1638.73,-200.58 1628.28,-202.35 1637.56,-207.48 1638.73,-200.58"/>
+<path fill="none" stroke="midnightblue" d="M2469.86,-251.73C2455.15,-241.11 2430.14,-223.05 2412.44,-210.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2414.1,-207.14 2403.95,-204.13 2410,-212.82 2414.1,-207.14"/>
</g>
<!-- Node30 -->
<g id="node30" class="node">
<title>Node30</title>
<g id="a_node30"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4482.5,-62 4482.5,-81 4551.5,-81 4551.5,-62 4482.5,-62"/>
-<text text-anchor="middle" x="4517" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
+<polygon fill="white" stroke="#bfbfbf" points="5911.5,-62 5911.5,-81 5980.5,-81 5980.5,-62 5911.5,-62"/>
+<text text-anchor="middle" x="5946" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">type_traits</text>
</a>
</g>
</g>
<!-- Node5->Node30 -->
<g id="edge47" class="edge">
<title>Node5->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2009.82,-256.99C2050.54,-253.56 2115.62,-248.49 2172,-246 2292.68,-240.67 4234.06,-255.41 4346,-210 4364.65,-202.44 4363.68,-192.05 4379,-179 4419.36,-144.61 4469.11,-107.41 4496.49,-87.36"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4498.86,-89.96 4504.88,-81.24 4494.74,-84.31 4498.86,-89.96"/>
+<path fill="none" stroke="midnightblue" d="M2521.82,-256.96C2562.54,-253.5 2627.62,-248.42 2684,-246 3825.73,-197.07 4114.31,-279.08 5255,-210 5289.8,-207.89 5847.74,-158.44 5879,-143 5903.27,-131.01 5923.42,-106.39 5935.09,-89.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5938.02,-91.57 5940.67,-81.31 5932.2,-87.68 5938.02,-91.57"/>
</g>
<!-- Node5->Node31 -->
<g id="edge43" class="edge">
<title>Node5->Node31</title>
-<path fill="none" stroke="midnightblue" d="M1930.32,-259.43C1737.05,-254.13 898.81,-230.18 784,-210 779.73,-209.25 775.31,-208.21 770.97,-207.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="771.69,-203.59 761.11,-204.09 769.69,-210.3 771.69,-203.59"/>
+<path fill="none" stroke="midnightblue" d="M2442.06,-255.93C2338.56,-244.09 2062.39,-212.48 1956.31,-200.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1956.62,-196.86 1946.29,-199.2 1955.83,-203.81 1956.62,-196.86"/>
</g>
<!-- Node32 -->
<g id="node32" class="node">
<title>Node32</title>
<g id="a_node32"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3430.5,-185 3430.5,-204 3495.5,-204 3495.5,-185 3430.5,-185"/>
-<text text-anchor="middle" x="3463" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
+<polygon fill="white" stroke="#bfbfbf" points="3872.5,-185 3872.5,-204 3937.5,-204 3937.5,-185 3872.5,-185"/>
+<text text-anchor="middle" x="3905" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">functional</text>
</a>
</g>
</g>
<!-- Node5->Node32 -->
<g id="edge44" class="edge">
<title>Node5->Node32</title>
-<path fill="none" stroke="midnightblue" d="M2009.83,-257.17C2050.55,-253.87 2115.64,-248.92 2172,-246 2676.02,-219.93 2803.28,-241.37 3307,-210 3345.41,-207.61 3389.03,-203.43 3420.35,-200.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3420.9,-203.63 3430.48,-199.11 3420.17,-196.67 3420.9,-203.63"/>
+<path fill="none" stroke="midnightblue" d="M2521.84,-257.28C2562.56,-254.07 2627.66,-249.18 2684,-246 3072.6,-224.06 3170.12,-226.15 3559,-210 3667.97,-205.48 3796.24,-200.08 3861.74,-197.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3862.24,-200.81 3872.08,-196.89 3861.94,-193.81 3862.24,-200.81"/>
</g>
<!-- Node5->Node33 -->
<g id="edge45" class="edge">
<title>Node5->Node33</title>
-<path fill="none" stroke="midnightblue" d="M1930.36,-259.44C1743.05,-254.33 945.3,-231.7 697,-210 671.76,-207.79 643.34,-203.88 622.14,-200.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="622.48,-197.18 612.06,-199.11 621.41,-204.1 622.48,-197.18"/>
+<path fill="none" stroke="midnightblue" d="M2442.25,-257.39C2299.46,-246.2 1814.12,-208.2 1684.21,-198.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1684.35,-194.52 1674.11,-197.23 1683.8,-201.5 1684.35,-194.52"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2402.5,-123.5 2402.5,-142.5 2479.5,-142.5 2479.5,-123.5 2402.5,-123.5"/>
-<text text-anchor="middle" x="2441" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4065.5,-123.5 4065.5,-142.5 4142.5,-142.5 4142.5,-123.5 4065.5,-123.5"/>
+<text text-anchor="middle" x="4104" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/any.h</text>
</a>
</g>
</g>
<!-- Node9->Node10 -->
<g id="edge9" class="edge">
<title>Node9->Node10</title>
-<path fill="none" stroke="midnightblue" d="M2381.03,-184.98C2392.05,-175.61 2409.96,-160.38 2423.34,-149.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2425.64,-151.65 2430.99,-142.51 2421.1,-146.32 2425.64,-151.65"/>
-</g>
-<!-- Node11 -->
-<g id="node11" class="node">
-<title>Node11</title>
-<g id="a_node11"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1652.5,-123.5 1652.5,-142.5 1733.5,-142.5 1733.5,-123.5 1652.5,-123.5"/>
-<text text-anchor="middle" x="1693" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/cast.h</text>
-</a>
-</g>
+<path fill="none" stroke="midnightblue" d="M4353.72,-185.41C4301.56,-174.68 4209.46,-155.71 4152.87,-144.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4153.23,-140.56 4142.73,-141.97 4151.82,-147.42 4153.23,-140.56"/>
</g>
<!-- Node9->Node11 -->
<g id="edge10" class="edge">
<title>Node9->Node11</title>
-<path fill="none" stroke="midnightblue" d="M2331.8,-188.75C2306.25,-185.74 2272.17,-181.89 2242,-179 2039.63,-159.64 1988.52,-160.79 1786,-143 1772.35,-141.8 1757.58,-140.41 1743.92,-139.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1744.02,-135.59 1733.73,-138.1 1743.34,-142.55 1744.02,-135.59"/>
+<path fill="none" stroke="midnightblue" d="M4353.77,-185.66C4339.15,-183.07 4322.37,-180.47 4307,-179 4115.44,-160.71 2714.28,-139.02 2428,-134.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2427.95,-131.25 2417.9,-134.6 2427.85,-138.25 2427.95,-131.25"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1937.5,-62 1937.5,-81 2026.5,-81 2026.5,-62 1937.5,-62"/>
-<text text-anchor="middle" x="1982" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4250.5,-62 4250.5,-81 4339.5,-81 4339.5,-62 4250.5,-62"/>
+<text text-anchor="middle" x="4295" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/dtype.h</text>
</a>
</g>
</g>
<!-- Node9->Node12 -->
<g id="edge11" class="edge">
<title>Node9->Node12</title>
-<path fill="none" stroke="midnightblue" d="M2331.82,-189.12C2240.76,-178.78 2021.57,-153 2009,-143 1993.16,-130.41 1986.61,-107.36 1983.9,-91.06"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1987.36,-90.5 1982.57,-81.05 1980.42,-91.42 1987.36,-90.5"/>
+<path fill="none" stroke="midnightblue" d="M4371.37,-184.99C4353.41,-176.83 4328.53,-162.82 4314,-143 4302.89,-127.85 4298.28,-106.61 4296.36,-91.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4299.82,-90.78 4295.36,-81.17 4292.85,-91.46 4299.82,-90.78"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2112.5,-62 2112.5,-81 2195.5,-81 2195.5,-62 2112.5,-62"/>
-<text text-anchor="middle" x="2154" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4560.5,-62 4560.5,-81 4643.5,-81 4643.5,-62 4560.5,-62"/>
+<text text-anchor="middle" x="4602" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/error.h</text>
</a>
</g>
</g>
<!-- Node9->Node13 -->
<g id="edge12" class="edge">
<title>Node9->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2355.74,-184.99C2318.63,-164.3 2223.42,-111.21 2178.35,-86.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2179.97,-82.97 2169.53,-81.16 2176.56,-89.09 2179.97,-82.97"/>
+<path fill="none" stroke="midnightblue" d="M4381.46,-184.92C4364.21,-171.06 4335.41,-143.27 4352,-123 4376.55,-92.99 4484.51,-80.41 4550.27,-75.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4550.72,-78.93 4560.44,-74.72 4550.22,-71.95 4550.72,-78.93"/>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<title>Node14</title>
<g id="a_node14"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4963.5,-123.5 4963.5,-142.5 5054.5,-142.5 5054.5,-123.5 4963.5,-123.5"/>
-<text text-anchor="middle" x="5009" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4470.5,-123.5 4470.5,-142.5 4561.5,-142.5 4561.5,-123.5 4470.5,-123.5"/>
+<text text-anchor="middle" x="4516" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/object.h</text>
</a>
</g>
</g>
<!-- Node9->Node14 -->
<g id="edge13" class="edge">
<title>Node9->Node14</title>
-<path fill="none" stroke="midnightblue" d="M2410.25,-185.7C2425.14,-183.07 2442.29,-180.44 2458,-179 2522.27,-173.11 4585.12,-140.63 4953.12,-134.87"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4953.31,-138.37 4963.26,-134.71 4953.2,-131.37 4953.31,-138.37"/>
+<path fill="none" stroke="midnightblue" d="M4410.62,-184.98C4431.17,-175.03 4465.36,-158.49 4489.21,-146.96"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4490.93,-150.01 4498.41,-142.51 4487.88,-143.71 4490.93,-150.01"/>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2650.5,-123.5 2650.5,-142.5 2751.5,-142.5 2751.5,-123.5 2650.5,-123.5"/>
-<text text-anchor="middle" x="2701" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4160.5,-123.5 4160.5,-142.5 4261.5,-142.5 4261.5,-123.5 4160.5,-123.5"/>
+<text text-anchor="middle" x="4211" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/optional.h</text>
</a>
</g>
</g>
<!-- Node9->Node15 -->
<g id="edge14" class="edge">
<title>Node9->Node15</title>
-<path fill="none" stroke="midnightblue" d="M2410.15,-186.44C2468.04,-176 2576.83,-156.39 2643.7,-144.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2644.43,-147.76 2653.65,-142.54 2643.19,-140.87 2644.43,-147.76"/>
+<path fill="none" stroke="midnightblue" d="M4366.92,-184.98C4335.43,-174.68 4282.3,-157.31 4246.94,-145.75"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4247.62,-142.29 4237.03,-142.51 4245.45,-148.94 4247.62,-142.29"/>
</g>
<!-- Node9->Node16 -->
<g id="edge15" class="edge">
<title>Node9->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2395.64,-184.99C2442.77,-169.19 2549.29,-135.75 2642,-123 3064.54,-64.9 4134.68,-100.2 4561,-87 4672.21,-83.56 4804.03,-77.21 4864.16,-74.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4864.38,-77.68 4874.19,-73.68 4864.03,-70.69 4864.38,-77.68"/>
+<path fill="none" stroke="midnightblue" d="M4394.45,-184.7C4397.53,-169.19 4406.31,-137.26 4428,-123 4490.85,-81.68 5028.89,-91.02 5104,-87 5189.56,-82.42 5290.36,-77 5341.18,-74.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.45,-77.76 5351.24,-73.73 5341.07,-70.77 5341.45,-77.76"/>
</g>
<!-- Node17->Node14 -->
<g id="edge17" class="edge">
<title>Node17->Node14</title>
-<path fill="none" stroke="midnightblue" d="M5177.77,-184.98C5143.4,-174.59 5085.19,-157.01 5046.92,-145.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5047.76,-142.05 5037.17,-142.51 5045.73,-148.75 5047.76,-142.05"/>
+<path fill="none" stroke="midnightblue" d="M5018.13,-186.37C5003.4,-183.82 4986.46,-181.07 4971,-179 4827.54,-159.83 4657.61,-145.14 4571.7,-138.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4571.9,-134.78 4561.65,-137.47 4571.34,-141.76 4571.9,-134.78"/>
</g>
<!-- Node17->Node16 -->
<g id="edge18" class="edge">
<title>Node17->Node16</title>
-<path fill="none" stroke="midnightblue" d="M5190.63,-184.8C5164.99,-170.53 5111.59,-141.86 5064,-123 5018.32,-104.9 4963.48,-89.46 4929.42,-80.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4930.11,-77.14 4919.56,-78.04 4928.37,-83.92 4930.11,-77.14"/>
+<path fill="none" stroke="midnightblue" d="M5039.32,-184.87C5014.46,-171.63 4974.32,-145.47 4994,-123 5016.78,-96.99 5253.03,-79.93 5341.12,-74.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.58,-77.91 5351.35,-73.8 5341.15,-70.92 5341.58,-77.91"/>
</g>
<!-- Node18->Node7 -->
<g id="edge22" class="edge">
<title>Node18->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1250.26,-123.48C1172.49,-112.19 1036.12,-92.4 958.15,-81.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="958.41,-77.58 948.01,-79.61 957.4,-84.51 958.41,-77.58"/>
+<path fill="none" stroke="midnightblue" d="M2162.41,-128.84C2126.74,-126.98 2080.25,-124.67 2039,-123 1436.79,-98.62 706.84,-79.34 496.38,-73.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.26,-70.48 486.17,-73.73 496.08,-77.48 496.26,-70.48"/>
</g>
<!-- Node18->Node16 -->
<g id="edge27" class="edge">
<title>Node18->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1367.52,-130.16C1434.2,-128.13 1546.44,-124.9 1643,-123 2939.74,-97.53 3264.51,-122.96 4561,-87 4672.22,-83.91 4804.04,-77.39 4864.16,-74.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4864.39,-77.75 4874.19,-73.73 4864.02,-70.76 4864.39,-77.75"/>
+<path fill="none" stroke="midnightblue" d="M2279.54,-126.32C2295.26,-125 2312.27,-123.76 2328,-123 3560.43,-63.25 3870.8,-128.09 5104,-87 5189.63,-84.15 5290.4,-77.99 5341.2,-74.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.51,-78.18 5351.26,-74.03 5341.05,-71.2 5341.51,-78.18"/>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1443,-62 1443,-81 1577,-81 1577,-62 1443,-62"/>
-<text text-anchor="middle" x="1510" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="3704,-62 3704,-81 3838,-81 3838,-62 3704,-62"/>
+<text text-anchor="middle" x="3771" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/array.h</text>
</a>
</g>
</g>
<!-- Node18->Node19 -->
<g id="edge20" class="edge">
<title>Node18->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1337.8,-123.48C1372.87,-113.09 1432.26,-95.51 1471.31,-83.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1472.66,-87.2 1481.26,-81.01 1470.67,-80.49 1472.66,-87.2"/>
+<path fill="none" stroke="midnightblue" d="M2279.55,-126.55C2295.27,-125.23 2312.28,-123.94 2328,-123 2849.02,-91.99 3477.08,-78.02 3693.4,-73.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3693.76,-77.37 3703.69,-73.68 3693.63,-70.38 3693.76,-77.37"/>
</g>
<!-- Node20 -->
<g id="node20" class="node">
<title>Node20</title>
<g id="a_node20"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="639.5,-62 639.5,-81 740.5,-81 740.5,-62 639.5,-62"/>
-<text text-anchor="middle" x="690" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="1735.5,-62 1735.5,-81 1836.5,-81 1836.5,-62 1735.5,-62"/>
+<text text-anchor="middle" x="1786" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/function.h</text>
</a>
</g>
</g>
<!-- Node18->Node20 -->
<g id="edge21" class="edge">
<title>Node18->Node20</title>
-<path fill="none" stroke="midnightblue" d="M1250.49,-126.38C1133.06,-115.09 869.75,-89.78 750.61,-78.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="750.86,-74.83 740.57,-77.36 750.19,-81.8 750.86,-74.83"/>
+<path fill="none" stroke="midnightblue" d="M2162.33,-123.98C2079.85,-112.69 1930.36,-92.25 1846.76,-80.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1847.04,-77.32 1836.66,-79.43 1846.09,-84.25 1847.04,-77.32"/>
</g>
<!-- Node21 -->
<g id="node21" class="node">
<title>Node21</title>
<g id="a_node21"><a xlink:href="runtime_2base_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="323.5,-62 323.5,-81 436.5,-81 436.5,-62 323.5,-62"/>
-<text text-anchor="middle" x="380" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
+<polygon fill="white" stroke="black" points="2069.5,-62 2069.5,-81 2182.5,-81 2182.5,-62 2069.5,-62"/>
+<text text-anchor="middle" x="2126" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/base.h</text>
</a>
</g>
</g>
<!-- Node18->Node21 -->
<g id="edge23" class="edge">
<title>Node18->Node21</title>
-<path fill="none" stroke="midnightblue" d="M1250.18,-128.23C1085.54,-117.69 620.78,-87.92 446.83,-76.78"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="446.98,-73.28 436.78,-76.14 446.54,-80.27 446.98,-73.28"/>
+<path fill="none" stroke="midnightblue" d="M2207.39,-123.48C2191.94,-113.8 2166.51,-97.87 2148.18,-86.39"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2149.92,-83.35 2139.59,-81.01 2146.2,-89.28 2149.92,-83.35"/>
</g>
<!-- Node23 -->
<g id="node23" class="node">
<title>Node23</title>
<g id="a_node23"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="1281.5,-62 1281.5,-81 1336.5,-81 1336.5,-62 1281.5,-62"/>
-<text text-anchor="middle" x="1309" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="2200.5,-62 2200.5,-81 2255.5,-81 2255.5,-62 2200.5,-62"/>
+<text text-anchor="middle" x="2228" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
</a>
</g>
</g>
<!-- Node18->Node23 -->
<g id="edge25" class="edge">
<title>Node18->Node23</title>
-<path fill="none" stroke="midnightblue" d="M1309,-123.48C1309,-115.08 1309,-101.98 1309,-91.16"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1312.5,-91.01 1309,-81.01 1305.5,-91.01 1312.5,-91.01"/>
+<path fill="none" stroke="midnightblue" d="M2222,-123.48C2222.99,-115.08 2224.53,-101.98 2225.8,-91.16"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2229.31,-91.35 2227,-81.01 2222.35,-90.53 2229.31,-91.35"/>
</g>
<!-- Node18->Node24 -->
<g id="edge26" class="edge">
<title>Node18->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1367.77,-129.94C1589.06,-122.17 2365.19,-94.63 2476,-87 2515.15,-84.3 2560.06,-79.6 2589.62,-76.28"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.23,-79.74 2599.77,-75.13 2589.44,-72.78 2590.23,-79.74"/>
+<path fill="none" stroke="midnightblue" d="M2279.55,-124.62C2284.44,-124.05 2289.3,-123.51 2294,-123 2489.63,-101.93 2725.15,-82.08 2809.77,-75.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2810.11,-78.61 2819.79,-74.3 2809.54,-71.63 2810.11,-78.61"/>
</g>
<!-- Node18->Node25 -->
<g id="edge28" class="edge">
<title>Node18->Node25</title>
-<path fill="none" stroke="midnightblue" d="M1367.52,-130.14C1434.2,-128.09 1546.44,-124.83 1643,-123 3103.27,-95.33 3468.61,-107.25 4929,-87 5252.3,-82.52 5643.61,-75.3 5759.28,-73.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5759.36,-76.64 5769.29,-72.95 5759.23,-69.64 5759.36,-76.64"/>
+<path fill="none" stroke="midnightblue" d="M2162.2,-127.84C1998.67,-116.27 1542.14,-83.97 1413.89,-74.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1414.09,-71.4 1403.87,-74.19 1413.6,-78.39 1414.09,-71.4"/>
</g>
<!-- Node22 -->
<g id="node22" class="node">
<title>Node22</title>
<g id="a_node22"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="337,-0.5 337,-19.5 423,-19.5 423,-0.5 337,-0.5"/>
-<text text-anchor="middle" x="380" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2083,-0.5 2083,-19.5 2169,-19.5 2169,-0.5 2083,-0.5"/>
+<text text-anchor="middle" x="2126" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/c_api.h</text>
</a>
</g>
</g>
<!-- Node21->Node22 -->
<g id="edge24" class="edge">
<title>Node21->Node22</title>
-<path fill="none" stroke="midnightblue" d="M380,-61.98C380,-53.58 380,-40.48 380,-29.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="383.5,-29.51 380,-19.51 376.5,-29.51 383.5,-29.51"/>
+<path fill="none" stroke="midnightblue" d="M2126,-61.98C2126,-53.58 2126,-40.48 2126,-29.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2129.5,-29.51 2126,-19.51 2122.5,-29.51 2129.5,-29.51"/>
</g>
<!-- Node26->Node7 -->
<g id="edge32" class="edge">
<title>Node26->Node7</title>
-<path fill="none" stroke="midnightblue" d="M1559.31,-185C1551.18,-182.81 1542.29,-180.61 1534,-179 1405.22,-153.93 1370.03,-166.77 1241,-143 1204.53,-136.28 1196.21,-130.97 1160,-123 1090.98,-107.81 1011.14,-92.72 958.13,-83.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="958.68,-79.6 948.22,-81.25 957.43,-86.48 958.68,-79.6"/>
+<path fill="none" stroke="midnightblue" d="M2351.57,-190.39C2216.09,-180.02 1765.67,-145.99 1393,-123 1053.81,-102.07 646.59,-82.36 496.39,-75.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.17,-71.76 486.02,-74.78 495.84,-78.75 496.17,-71.76"/>
</g>
<!-- Node26->Node11 -->
<g id="edge30" class="edge">
<title>Node26->Node11</title>
-<path fill="none" stroke="midnightblue" d="M1603.04,-184.98C1620.28,-175.21 1648.74,-159.08 1669.03,-147.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1671.01,-150.48 1677.98,-142.51 1667.56,-144.39 1671.01,-150.48"/>
+<path fill="none" stroke="midnightblue" d="M2389.85,-184.98C2387.71,-176.49 2384.36,-163.2 2381.62,-152.32"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2384.98,-151.35 2379.15,-142.51 2378.2,-153.06 2384.98,-151.35"/>
</g>
<!-- Node26->Node18 -->
<g id="edge33" class="edge">
<title>Node26->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1557.53,-184.95C1549.87,-182.9 1541.66,-180.79 1534,-179 1477.2,-165.71 1411.77,-152.9 1366.16,-144.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1366.64,-140.9 1356.16,-142.51 1365.35,-147.78 1366.64,-140.9"/>
+<path fill="none" stroke="midnightblue" d="M2367.5,-184.98C2338.04,-174.72 2288.42,-157.46 2255.2,-145.9"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2256.05,-142.49 2245.45,-142.51 2253.75,-149.1 2256.05,-142.49"/>
</g>
<!-- Node26->Node19 -->
<g id="edge31" class="edge">
<title>Node26->Node19</title>
-<path fill="none" stroke="midnightblue" d="M1582.39,-184.8C1569.57,-164.91 1537.95,-115.85 1521.05,-89.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1523.92,-87.63 1515.56,-81.12 1518.04,-91.42 1523.92,-87.63"/>
+<path fill="none" stroke="midnightblue" d="M2432.22,-186.41C2446.92,-183.93 2463.69,-181.2 2479,-179 2683.29,-149.58 2734.45,-141.71 2940,-123 3216.74,-97.81 3546.52,-81.97 3693.57,-75.65"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3694,-79.13 3703.84,-75.21 3693.7,-72.14 3694,-79.13"/>
</g>
<!-- Node26->Node24 -->
<g id="edge42" class="edge">
<title>Node26->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1591.74,-184.8C1599,-169.14 1616.64,-136.58 1643,-123 1725.35,-80.57 2383.59,-93.58 2476,-87 2515.15,-84.21 2560.06,-79.53 2589.62,-76.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.23,-79.69 2599.77,-75.1 2589.44,-72.74 2590.23,-79.69"/>
+<path fill="none" stroke="midnightblue" d="M2398.61,-184.77C2410.82,-169.37 2438.55,-137.61 2470,-123 2530.26,-95 2730.54,-79.57 2809.55,-74.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2810.1,-77.92 2819.86,-73.79 2809.66,-70.93 2810.1,-77.92"/>
</g>
<!-- Node27 -->
<g id="node27" class="node">
<title>Node27</title>
<g id="a_node27"><a xlink:href="data__type_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2018,-123.5 2018,-142.5 2156,-142.5 2156,-123.5 2018,-123.5"/>
-<text text-anchor="middle" x="2087" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
+<polygon fill="white" stroke="black" points="4732,-123.5 4732,-142.5 4870,-142.5 4870,-123.5 4732,-123.5"/>
+<text text-anchor="middle" x="4801" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/data_type.h</text>
</a>
</g>
</g>
<!-- Node26->Node27 -->
<g id="edge34" class="edge">
<title>Node26->Node27</title>
-<path fill="none" stroke="midnightblue" d="M1628.41,-188.68C1710.9,-178.85 1899.96,-156.3 2007.8,-143.44"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2008.46,-146.89 2017.98,-142.23 2007.64,-139.94 2008.46,-146.89"/>
+<path fill="none" stroke="midnightblue" d="M2432.12,-185.54C2446.81,-182.96 2463.6,-180.41 2479,-179 2942.03,-136.66 4106.23,-156.09 4571,-143 4621.12,-141.59 4677.36,-139.4 4721.69,-137.53"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4721.98,-141.02 4731.82,-137.1 4721.68,-134.03 4721.98,-141.02"/>
</g>
<!-- Node27->Node12 -->
<g id="edge36" class="edge">
<title>Node27->Node12</title>
-<path fill="none" stroke="midnightblue" d="M2071.96,-123.48C2054.72,-113.71 2026.26,-97.58 2005.97,-86.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2007.44,-82.89 1997.02,-81.01 2003.99,-88.98 2007.44,-82.89"/>
+<path fill="none" stroke="midnightblue" d="M4731.97,-123.88C4630.31,-111.93 4442.38,-89.83 4349.66,-78.93"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4349.98,-75.44 4339.64,-77.75 4349.16,-82.39 4349.98,-75.44"/>
</g>
<!-- Node27->Node13 -->
<g id="edge37" class="edge">
<title>Node27->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2096.6,-123.48C2107.05,-114.2 2123.97,-99.17 2136.74,-87.83"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2139.27,-90.27 2144.42,-81.01 2134.62,-85.03 2139.27,-90.27"/>
+<path fill="none" stroke="midnightblue" d="M4772.49,-123.48C4737.76,-113.09 4678.96,-95.51 4640.31,-83.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4641.04,-80.52 4630.46,-81.01 4639.04,-87.23 4641.04,-80.52"/>
</g>
<!-- Node27->Node21 -->
<g id="edge38" class="edge">
<title>Node27->Node21</title>
-<path fill="none" stroke="midnightblue" d="M2017.57,-130.11C1766.39,-123.21 905.26,-99.23 630,-87 567.83,-84.24 497.03,-80.03 446.68,-76.86"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="446.77,-73.36 436.57,-76.22 446.33,-80.34 446.77,-73.36"/>
+<path fill="none" stroke="midnightblue" d="M4731.94,-126.15C4714.97,-124.91 4696.84,-123.75 4680,-123 4127.6,-98.48 2741.27,-150.65 2192,-87 2184.38,-86.12 2176.35,-84.74 2168.62,-83.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2169.19,-79.72 2158.68,-81.05 2167.72,-86.57 2169.19,-79.72"/>
</g>
<!-- Node27->Node24 -->
<g id="edge40" class="edge">
<title>Node27->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2156.12,-124.31C2272.87,-111.33 2504.73,-85.54 2589.77,-76.08"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.3,-79.55 2599.85,-74.96 2589.52,-72.59 2590.3,-79.55"/>
+<path fill="none" stroke="midnightblue" d="M4731.75,-124.07C4727.1,-123.66 4722.48,-123.3 4718,-123 4338.59,-97.37 3091.26,-76.49 2874.32,-73.01"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2874.27,-69.51 2864.22,-72.85 2874.16,-76.51 2874.27,-69.51"/>
</g>
<!-- Node28 -->
<g id="node28" class="node">
<title>Node28</title>
<g id="a_node28"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2327.5,-62 2327.5,-81 2466.5,-81 2466.5,-62 2327.5,-62"/>
-<text text-anchor="middle" x="2397" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4955.5,-62 4955.5,-81 5094.5,-81 5094.5,-62 4955.5,-62"/>
+<text text-anchor="middle" x="5025" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/shape.h</text>
</a>
</g>
</g>
<!-- Node27->Node28 -->
<g id="edge35" class="edge">
<title>Node27->Node28</title>
-<path fill="none" stroke="midnightblue" d="M2131.42,-123.48C2187.12,-112.78 2282.6,-94.46 2342.62,-82.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2343.51,-86.33 2352.67,-81.01 2342.19,-79.46 2343.51,-86.33"/>
+<path fill="none" stroke="midnightblue" d="M4833.09,-123.48C4872.6,-112.98 4939.78,-95.14 4983.26,-83.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4984.2,-86.96 4992.97,-81.01 4982.4,-80.19 4984.2,-86.96"/>
</g>
<!-- Node29 -->
<g id="node29" class="node">
<title>Node29</title>
<g id="a_node29"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3355,-62 3355,-81 3405,-81 3405,-62 3355,-62"/>
-<text text-anchor="middle" x="3380" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
+<polygon fill="white" stroke="#bfbfbf" points="5415,-62 5415,-81 5465,-81 5465,-62 5415,-62"/>
+<text text-anchor="middle" x="5440" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
</a>
</g>
</g>
<!-- Node27->Node29 -->
<g id="edge39" class="edge">
<title>Node27->Node29</title>
-<path fill="none" stroke="midnightblue" d="M2156.23,-129.2C2321.44,-122.45 2751.75,-104.58 3111,-87 3194.73,-82.9 3293.09,-77.43 3344.54,-74.52"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3345,-78 3354.79,-73.94 3344.6,-71.01 3345,-78"/>
+<path fill="none" stroke="midnightblue" d="M4870.05,-128.14C5017.75,-119.71 5355.09,-99.39 5406,-87 5408.51,-86.39 5411.07,-85.61 5413.6,-84.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5415.05,-87.93 5423.08,-81.01 5412.49,-81.41 5415.05,-87.93"/>
</g>
<!-- Node27->Node30 -->
<g id="edge41" class="edge">
<title>Node27->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2156.19,-129.86C2218.41,-127.97 2312.31,-125.17 2394,-123 3228.88,-100.83 4248.56,-78.35 4472.26,-73.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4472.39,-76.97 4482.31,-73.25 4472.24,-69.97 4472.39,-76.97"/>
+<path fill="none" stroke="midnightblue" d="M4870.05,-128.41C5082.91,-117.35 5725.25,-83.97 5901.08,-74.83"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5901.46,-78.32 5911.26,-74.31 5901.1,-71.33 5901.46,-78.32"/>
</g>
<!-- Node34->Node5 -->
<g id="edge65" class="edge">
<title>Node34->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2283.31,-772.4C2256.33,-756.31 2204,-718.94 2204,-671 2204,-671 2204,-671 2204,-490 2204,-378.13 2064.81,-303.5 2001.13,-275.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2002.16,-271.84 1991.59,-271.07 1999.37,-278.26 2002.16,-271.84"/>
+<path fill="none" stroke="midnightblue" d="M3468.32,-778.69C3354.04,-770.14 3060,-730.41 3060,-548 3060,-548 3060,-548 3060,-490 3060,-436.99 3007.02,-449.48 2960,-425 2863.07,-374.55 2832.24,-376.5 2732,-333 2712.66,-324.61 2708.89,-319.98 2689,-313 2636.44,-294.56 2574.09,-280.34 2531.65,-271.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2532.07,-268.27 2521.58,-269.75 2530.7,-275.14 2532.07,-268.27"/>
</g>
<!-- Node34->Node8 -->
<g id="edge51" class="edge">
<title>Node34->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2340.11,-772.47C2452.8,-746.6 2766.4,-657.45 2890,-445 2934.6,-368.34 2917.36,-323.93 2875,-246 2863.26,-224.4 2843.27,-232.34 2833,-210 2824.22,-190.91 2833.24,-167.28 2841.83,-151.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2844.9,-153.16 2846.95,-142.77 2838.87,-149.61 2844.9,-153.16"/>
+<path fill="none" stroke="midnightblue" d="M3531.87,-772.39C3547.5,-764.56 3569.56,-751.83 3585,-736 3730.23,-587.07 3768.17,-533.66 3823,-333 3833.99,-292.8 3818.45,-274.46 3788,-246 3758.92,-218.82 3739.95,-230.77 3706,-210 3687.41,-198.63 3686.93,-189.81 3668,-179 3642.58,-164.49 3611.62,-153.13 3587.25,-145.46"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3588.17,-142.08 3577.59,-142.5 3586.12,-148.78 3588.17,-142.08"/>
</g>
<!-- Node34->Node16 -->
<g id="edge171" class="edge">
<title>Node34->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2343.77,-780.3C2513.61,-777.46 3134.39,-765.57 3645,-736 4472.31,-688.08 4797.42,-863.25 5477,-389 5557.63,-332.73 5587.06,-306.28 5607,-210 5616.58,-163.76 5589.31,-141.83 5546,-123 5433.56,-74.11 5045.5,-71.82 4929.81,-72.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4929.77,-68.75 4919.78,-72.3 4929.8,-75.75 4929.77,-68.75"/>
+<path fill="none" stroke="midnightblue" d="M3557.65,-781.14C3661.23,-780.74 3925.53,-775.56 4142,-736 4172.57,-730.41 4178.44,-721.62 4209,-716 4422.89,-676.67 4488.59,-742.15 4697,-680 4773.45,-657.2 4780.92,-624.98 4854,-593 4900.74,-572.55 4917.97,-580.99 4963,-557 5018.49,-527.43 5378.25,-264.27 5410,-210 5429.66,-176.41 5434.05,-159.3 5420,-123 5414.59,-109.04 5403.33,-96.56 5393.31,-87.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5395.55,-84.82 5385.66,-81.01 5391.02,-90.16 5395.55,-84.82"/>
</g>
<!-- Node34->Node17 -->
<g id="edge64" class="edge">
<title>Node34->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2343.6,-780.87C2526.67,-780.11 3238.35,-774.67 3822,-736 4064.08,-719.96 4123.9,-707.07 4365,-680 4570.11,-656.97 4622.92,-660.85 4826,-624 4950.2,-601.46 5023.18,-655.6 5102,-557 5188.32,-449.02 5033.85,-363.3 5107,-246 5118.76,-227.15 5139.97,-215.04 5159.75,-207.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5161.05,-210.67 5169.3,-204.03 5158.7,-204.08 5161.05,-210.67"/>
+<path fill="none" stroke="midnightblue" d="M3557.76,-779.76C3654.51,-776.58 3890.09,-766.16 4085,-736 4123.78,-730 4132.42,-723.17 4171,-716 4430.62,-667.73 4546.18,-781.69 4758,-624 4792.6,-598.24 4776.11,-572.22 4801,-537 4813.88,-518.78 4821.04,-517.56 4836,-501 4923.14,-404.56 4957.01,-388.38 5024,-277 5036.26,-256.61 5045.83,-230.84 5051.43,-213.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5054.85,-214.59 5054.53,-204 5048.18,-212.48 5054.85,-214.59"/>
</g>
<!-- Node34->Node19 -->
<g id="edge49" class="edge">
<title>Node34->Node19</title>
-<path fill="none" stroke="midnightblue" d="M2254.1,-777.5C2207.31,-772.62 2132.66,-761.32 2073,-736 1864,-647.29 1340.09,-347.28 1241,-143 1237.12,-135 1235.32,-129.84 1241,-123 1253.29,-108.19 1357.72,-91.91 1432.77,-81.94"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1433.23,-85.41 1442.69,-80.64 1432.32,-78.47 1433.23,-85.41"/>
+<path fill="none" stroke="midnightblue" d="M3533.32,-772.46C3612.02,-738.19 3898.2,-602.08 4015,-389 4045.55,-333.27 4059.66,-290.22 4014,-246 3952.57,-186.51 3894.23,-260.19 3825,-210 3786.33,-181.97 3775.35,-121.97 3772.23,-91.34"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3775.7,-90.84 3771.38,-81.16 3768.73,-91.42 3775.7,-90.84"/>
</g>
<!-- Node34->Node21 -->
<g id="edge72" class="edge">
<title>Node34->Node21</title>
-<path fill="none" stroke="midnightblue" d="M2254.31,-779.13C2065.42,-770.31 1315.24,-725.87 727,-557 542.06,-503.91 434.43,-549.29 328,-389 263.32,-291.58 339.75,-141.01 369.3,-90.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="372.44,-91.62 374.53,-81.23 366.42,-88.04 372.44,-91.62"/>
+<path fill="none" stroke="midnightblue" d="M3468.35,-774.76C3406.65,-766.12 3291.86,-750 3194,-736 3191.32,-735.62 2424.53,-624.98 2422,-624 2330.95,-588.77 2296.65,-580.51 2240,-501 2215.2,-466.19 2147.62,-169.26 2130.16,-91.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2133.48,-90 2127.88,-81 2126.64,-91.52 2133.48,-90"/>
</g>
<!-- Node34->Node24 -->
<g id="edge169" class="edge">
<title>Node34->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2307.17,-772.38C2322.93,-754.81 2356,-712.94 2356,-671 2356,-671 2356,-671 2356,-546 2356,-411.53 2597.54,-438.4 2549,-313 2534.46,-275.44 2523,-265.92 2488,-246 2418.99,-206.71 2363.17,-271.55 2313,-210 2304.29,-199.32 2309.03,-192.19 2313,-179 2321.59,-150.43 2325.13,-139.48 2350,-123 2388.98,-97.17 2526.05,-81.41 2589.42,-75.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.01,-78.81 2599.64,-74.4 2589.36,-71.84 2590.01,-78.81"/>
+<path fill="none" stroke="midnightblue" d="M3502.01,-772.37C3492.55,-764.17 3479.56,-750.92 3474,-736 3470.89,-727.67 3472.46,-724.75 3474,-716 3497.02,-585.57 3576,-568.44 3576,-436 3576,-436 3576,-436 3576,-378 3576,-371.6 3392.82,-248.67 3387,-246 3328.21,-219.05 3306.11,-233.87 3246,-210 3171.86,-180.56 3163.83,-150.64 3089,-123 3014.76,-95.58 2922.16,-81.7 2874.18,-75.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2874.43,-72.42 2864.09,-74.74 2873.62,-79.37 2874.43,-72.42"/>
</g>
<!-- Node34->Node27 -->
<g id="edge73" class="edge">
<title>Node34->Node27</title>
-<path fill="none" stroke="midnightblue" d="M2254.19,-778.92C2213.04,-775.15 2151.83,-764.72 2107,-736 1995.53,-664.6 1979.28,-621.28 1924,-501 1863.24,-368.8 1772.9,-291.64 1865,-179 1883.02,-156.96 1951.69,-145.45 2007.94,-139.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2008.31,-143.1 2017.92,-138.63 2007.62,-136.13 2008.31,-143.1"/>
+<path fill="none" stroke="midnightblue" d="M3557.86,-779.14C3668.14,-774.26 3950.1,-759.77 4041,-736 4061.78,-730.56 4064.3,-721.75 4085,-716 4154.22,-696.76 4678.64,-678.89 4725,-624 4833.48,-495.56 4680.06,-411.24 4711,-246 4716.88,-214.6 4717.31,-204.15 4737,-179 4747.1,-166.09 4761.91,-155.35 4774.73,-147.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4776.69,-150.51 4783.63,-142.5 4773.21,-144.44 4776.69,-150.51"/>
</g>
<!-- Node34->Node31 -->
<g id="edge166" class="edge">
<title>Node34->Node31</title>
-<path fill="none" stroke="midnightblue" d="M2254.26,-775.89C2201.49,-769.28 2111.41,-756.16 2036,-736 1966.45,-717.41 1950.95,-706.47 1884,-680 1434.69,-502.37 895.68,-265.27 766.71,-208.23"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="768.04,-204.99 757.48,-204.14 765.21,-211.39 768.04,-204.99"/>
+<path fill="none" stroke="midnightblue" d="M3468.21,-779.41C3373.07,-775.58 3143.99,-764.03 2954,-736 2795.66,-712.64 2760.24,-683.97 2602,-660 2422.02,-632.74 2361.97,-694.18 2194,-624 2165.63,-612.15 2003.68,-467.75 1983,-445 1962.6,-422.56 1955.28,-417.15 1944,-389 1919.8,-328.61 1915.02,-250.38 1914.14,-214.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1917.64,-214.3 1913.98,-204.35 1910.64,-214.41 1917.64,-214.3"/>
</g>
<!-- Node34->Node33 -->
<g id="edge168" class="edge">
<title>Node34->Node33</title>
-<path fill="none" stroke="midnightblue" d="M2254.29,-776.91C2078.07,-759.41 1417.64,-680.6 936,-445 860.62,-408.13 847.47,-387.9 784,-333 742.88,-297.43 742.43,-277.34 698,-246 684.74,-236.65 647.23,-219.82 620.13,-208.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="621.26,-204.84 610.69,-204.14 618.51,-211.28 621.26,-204.84"/>
+<path fill="none" stroke="midnightblue" d="M3468.44,-780.48C3360.52,-778.7 3076.8,-770.78 2843,-736 2734.23,-719.82 2708.74,-706.44 2602,-680 2568.1,-671.6 2560.39,-666.12 2526,-660 2359.41,-630.37 2303.74,-687.75 2147,-624 1919.2,-531.35 1888.83,-451.95 1716,-277 1695.73,-256.48 1675.75,-229.7 1663.64,-212.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1666.36,-210.32 1657.78,-204.11 1660.61,-214.32 1666.36,-210.32"/>
</g>
<!-- Node35 -->
<g id="node35" class="node">
<title>Node35</title>
<g id="a_node35"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4011.5,-123.5 4011.5,-142.5 4142.5,-142.5 4142.5,-123.5 4011.5,-123.5"/>
-<text text-anchor="middle" x="4077" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2948.5,-123.5 2948.5,-142.5 3079.5,-142.5 3079.5,-123.5 2948.5,-123.5"/>
+<text text-anchor="middle" x="3014" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/map.h</text>
</a>
</g>
</g>
<!-- Node34->Node35 -->
<g id="edge50" class="edge">
<title>Node34->Node35</title>
-<path fill="none" stroke="midnightblue" d="M2343.52,-781.49C2490.49,-782.59 2973.34,-782.2 3369,-736 3630.2,-705.5 3694.16,-684.86 3950,-624 4056.07,-598.77 4094.17,-615.78 4186,-557 4219.65,-535.46 4241.03,-520.33 4234,-481 4209.69,-344.92 4120.38,-199.68 4088.45,-150.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4091.31,-148.97 4082.86,-142.58 4085.47,-152.84 4091.31,-148.97"/>
+<path fill="none" stroke="midnightblue" d="M3523.99,-772.37C3533.45,-764.17 3546.44,-750.92 3552,-736 3555.11,-727.67 3554.56,-724.51 3552,-716 3479.54,-474.68 3445.05,-385.15 3235,-246 3181.08,-210.28 3150.61,-241.28 3094,-210 3066.59,-194.85 3041.56,-168.05 3027.05,-150.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3029.48,-148.1 3020.46,-142.54 3024.04,-152.51 3029.48,-148.1"/>
</g>
<!-- Node36 -->
<g id="node36" class="node">
<title>Node36</title>
<g id="a_node36"><a xlink:href="attrs_8h.html" target="_top" xlink:title="Helpers for attribute objects.">
-<polygon fill="white" stroke="black" points="2460,-313.5 2460,-332.5 2540,-332.5 2540,-313.5 2460,-313.5"/>
-<text text-anchor="middle" x="2500" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attrs.h</text>
+<polygon fill="white" stroke="black" points="2974,-313.5 2974,-332.5 3054,-332.5 3054,-313.5 2974,-313.5"/>
+<text text-anchor="middle" x="3014" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attrs.h</text>
</a>
</g>
</g>
<!-- Node34->Node36 -->
<g id="edge52" class="edge">
<title>Node34->Node36</title>
-<path fill="none" stroke="midnightblue" d="M2300.02,-772.02C2303.97,-736.55 2318,-602.62 2318,-492 2318,-492 2318,-492 2318,-434 2318,-372.26 2395.66,-344.24 2449.52,-332.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2450.55,-335.6 2459.61,-330.11 2449.1,-328.75 2450.55,-335.6"/>
+<path fill="none" stroke="midnightblue" d="M3468.26,-774.21C3384.41,-760.22 3212,-724.9 3212,-671 3212,-671 3212,-671 3212,-490 3212,-478.42 3083.05,-377.42 3033.28,-338.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3035.26,-335.98 3025.21,-332.63 3030.98,-341.52 3035.26,-335.98"/>
</g>
<!-- Node34->Node39 -->
<g id="edge170" class="edge">
<title>Node34->Node39</title>
-<path fill="none" stroke="midnightblue" d="M2343.55,-780.92C2539.25,-779.98 3313,-770 3313,-671 3313,-671 3313,-671 3313,-607.5 3313,-515.01 3335.84,-475.99 3413,-425 3481,-380.07 3715.26,-441.03 3778,-389 3801.17,-369.79 3797,-354.1 3797,-324 3797,-324 3797,-324 3797,-260.5 3797,-220.35 3814.78,-175.95 3826.01,-151.89"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3829.29,-153.15 3830.49,-142.63 3822.99,-150.1 3829.29,-153.15"/>
+<path fill="none" stroke="midnightblue" d="M3468.5,-780.15C3349.18,-777.49 3012.3,-767.55 2734,-736 2028.45,-656 1829.82,-636.75 1188,-333 1167.05,-323.08 1114.59,-295.01 1100,-277 1070.63,-240.72 1069.05,-182.46 1070.46,-152.74"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1073.97,-152.74 1071.12,-142.54 1066.98,-152.29 1073.97,-152.74"/>
</g>
<!-- Node40 -->
<g id="node40" class="node">
<title>Node40</title>
<g id="a_node40"><a xlink:href="node__functor_8h.html" target="_top" xlink:title="Defines the Functor data structures.">
-<polygon fill="white" stroke="black" points="5377.5,-123.5 5377.5,-142.5 5498.5,-142.5 5498.5,-123.5 5377.5,-123.5"/>
-<text text-anchor="middle" x="5438" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/node_functor.h</text>
+<polygon fill="white" stroke="black" points="5682.5,-123.5 5682.5,-142.5 5803.5,-142.5 5803.5,-123.5 5682.5,-123.5"/>
+<text text-anchor="middle" x="5743" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/node_functor.h</text>
</a>
</g>
</g>
<!-- Node34->Node40 -->
<g id="edge66" class="edge">
<title>Node34->Node40</title>
-<path fill="none" stroke="midnightblue" d="M2343.5,-779.77C2497.78,-775.41 3023.94,-759.65 3458,-736 3635.51,-726.33 4079.63,-702.3 4256,-680 4304.86,-673.82 4316.16,-666.37 4365,-660 4466.89,-646.71 4730.01,-660.67 4826,-624 4885.54,-601.26 4886.31,-571.34 4940,-537 5175.4,-386.43 5348.39,-458.08 5477,-210 5483.34,-197.77 5481.82,-191.91 5477,-179 5472.83,-167.81 5464.48,-157.56 5456.58,-149.68"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5458.7,-146.87 5448.99,-142.63 5453.94,-152 5458.7,-146.87"/>
+<path fill="none" stroke="midnightblue" d="M3557.57,-778.42C3666.9,-772.01 3957.12,-754.55 4199,-736 4480.38,-714.42 5433,-718.21 5433,-436 5433,-436 5433,-436 5433,-378 5433,-286.27 5535.66,-326.33 5613,-277 5655.95,-249.6 5673.19,-248.97 5706,-210 5720.58,-192.69 5731.02,-168.65 5737.02,-152.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5740.34,-153.37 5740.32,-142.77 5733.73,-151.07 5740.34,-153.37"/>
</g>
<!-- Node41 -->
<g id="node41" class="node">
<title>Node41</title>
<g id="a_node41"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n-dimensional array, to represent a memory buffer.">
-<polygon fill="white" stroke="black" points="2666.5,-716.5 2666.5,-735.5 2761.5,-735.5 2761.5,-716.5 2666.5,-716.5"/>
-<text text-anchor="middle" x="2714" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/buffer.h</text>
+<polygon fill="white" stroke="black" points="3909.5,-716.5 3909.5,-735.5 4004.5,-735.5 4004.5,-716.5 3909.5,-716.5"/>
+<text text-anchor="middle" x="3957" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/buffer.h</text>
</a>
</g>
</g>
<!-- Node34->Node41 -->
<g id="edge74" class="edge">
<title>Node34->Node41</title>
-<path fill="none" stroke="midnightblue" d="M2343.81,-775.17C2419.46,-765.33 2572.43,-745.42 2656.1,-734.53"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2656.73,-737.98 2666.2,-733.22 2655.83,-731.04 2656.73,-737.98"/>
+<path fill="none" stroke="midnightblue" d="M3557.61,-775.58C3638.6,-765.72 3809.74,-744.91 3899.42,-734"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3899.91,-737.47 3909.42,-732.79 3899.07,-730.52 3899.91,-737.47"/>
</g>
<!-- Node34->Node59 -->
<g id="edge165" class="edge">
<title>Node34->Node59</title>
-<path fill="none" stroke="midnightblue" d="M2343.56,-780.34C2528.72,-777.45 3232.08,-764.63 3327,-736 3535.58,-673.08 3746.46,-502.99 3807.48,-451.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3809.76,-453.84 3815.08,-444.68 3805.21,-448.52 3809.76,-453.84"/>
+<path fill="none" stroke="midnightblue" d="M3557.79,-778.72C3672.95,-772.62 3973.21,-755.08 4014,-736 4045.88,-721.09 4045.22,-705 4070,-680 4094.56,-655.22 4101.7,-649.96 4125,-624 4179.6,-563.15 4239.78,-486.7 4265.81,-453.13"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4268.86,-454.9 4272.21,-444.85 4263.32,-450.62 4268.86,-454.9"/>
</g>
<!-- Node60 -->
<g id="node60" class="node">
<title>Node60</title>
<g id="a_node60"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2116,-716.5 2116,-735.5 2176,-735.5 2176,-716.5 2116,-716.5"/>
-<text text-anchor="middle" x="2146" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
+<polygon fill="white" stroke="#bfbfbf" points="3483,-716.5 3483,-735.5 3543,-735.5 3543,-716.5 3483,-716.5"/>
+<text text-anchor="middle" x="3513" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node34->Node60 -->
<g id="edge167" class="edge">
<title>Node34->Node60</title>
-<path fill="none" stroke="midnightblue" d="M2274.76,-772.44C2249.13,-763.4 2208.51,-749.06 2179.76,-738.92"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2180.72,-735.54 2170.13,-735.52 2178.39,-742.15 2180.72,-735.54"/>
+<path fill="none" stroke="midnightblue" d="M3513,-772.08C3513,-765.01 3513,-754.86 3513,-745.99"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3516.5,-745.75 3513,-735.75 3509.5,-745.75 3516.5,-745.75"/>
</g>
<!-- Node36->Node5 -->
<g id="edge59" class="edge">
<title>Node36->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2459.7,-318.02C2443.62,-316.44 2424.93,-314.62 2408,-313 2237.37,-296.66 2192.71,-307.33 2024,-277 2018.82,-276.07 2013.41,-274.88 2008.1,-273.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2008.66,-270.12 1998.1,-271.01 2006.91,-276.9 2008.66,-270.12"/>
+<path fill="none" stroke="midnightblue" d="M2973.94,-315.04C2969.25,-314.31 2964.52,-313.61 2960,-313 2805.9,-292.21 2766.6,-293.62 2612,-277 2585.43,-274.14 2555.81,-270.85 2531.57,-268.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2531.86,-264.63 2521.53,-266.99 2531.08,-271.59 2531.86,-264.63"/>
</g>
<!-- Node36->Node7 -->
<g id="edge57" class="edge">
<title>Node36->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2459.86,-318.02C2397.79,-311.52 2274.92,-297.28 2172,-277 2117.96,-266.35 2106.39,-254.74 2052,-246 1811.89,-207.42 1747.4,-239.49 1506,-210 1485.05,-207.44 1152.25,-148.96 1132,-143 1109.83,-136.48 1105.86,-130.5 1084,-123 1042.55,-108.77 994.82,-95.83 958.22,-86.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="958.76,-83.13 948.21,-84.1 957.06,-89.92 958.76,-83.13"/>
+<path fill="none" stroke="midnightblue" d="M2973.86,-321.77C2670.89,-319.95 753.8,-307.26 703,-277 637.25,-237.84 684.27,-172.6 626,-123 589.88,-92.25 536.92,-80.02 496.24,-75.26"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.49,-71.77 486.18,-74.2 495.76,-78.73 496.49,-71.77"/>
</g>
<!-- Node36->Node16 -->
<g id="edge63" class="edge">
<title>Node36->Node16</title>
-<path fill="none" stroke="midnightblue" d="M2540.23,-317.19C2554.93,-315.6 2571.7,-313.99 2587,-313 3200.15,-273.36 3356.94,-330.94 3969,-277 4167.8,-259.48 4216.75,-246.25 4413,-210 4549.91,-184.71 4585.85,-183.65 4719,-143 4773.25,-126.44 4834.27,-100.63 4868.93,-85.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4870.69,-88.31 4878.39,-81.03 4867.83,-81.92 4870.69,-88.31"/>
+<path fill="none" stroke="midnightblue" d="M3054.34,-321.47C3315.44,-318 4761.79,-297.96 4957,-277 5035.09,-268.62 5236.89,-250.79 5304,-210 5336.45,-190.28 5340.38,-177.14 5357,-143 5365,-126.56 5369.39,-106.09 5371.7,-91.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5375.22,-91.54 5373.13,-81.15 5368.29,-90.57 5375.22,-91.54"/>
</g>
<!-- Node36->Node17 -->
<g id="edge58" class="edge">
<title>Node36->Node17</title>
-<path fill="none" stroke="midnightblue" d="M2540.23,-317.15C2554.92,-315.56 2571.69,-313.96 2587,-313 3315.53,-267.41 3499.97,-313.76 4229,-277 4417.79,-267.48 4888.83,-228 5077,-210 5103.6,-207.46 5133.23,-204.16 5157.38,-201.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5157.84,-204.82 5167.37,-200.18 5157.03,-197.87 5157.84,-204.82"/>
+<path fill="none" stroke="midnightblue" d="M3054.06,-321.35C3324.38,-316.96 4872.83,-291.21 4919,-277 4943.27,-269.53 4945.25,-259.11 4967,-246 4988.69,-232.93 5013.87,-218.89 5032.07,-208.95"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5033.78,-212 5040.9,-204.14 5030.44,-205.85 5033.78,-212"/>
</g>
<!-- Node36->Node20 -->
<g id="edge56" class="edge">
<title>Node36->Node20</title>
-<path fill="none" stroke="midnightblue" d="M2459.84,-318.67C2353.32,-309.75 2070.45,-285.4 2052,-277 2033.68,-268.66 2037.51,-253.89 2019,-246 1877.35,-185.6 1480.03,-227.16 1327,-210 1153.53,-190.54 1110.23,-181.63 940,-143 863.22,-125.58 774.9,-99.13 726.48,-84.07"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="727.36,-80.68 716.77,-81.04 725.27,-87.36 727.36,-80.68"/>
+<path fill="none" stroke="midnightblue" d="M2973.84,-318.6C2891.08,-311.29 2707.35,-293.43 2684,-277 2643.85,-248.74 2671.23,-209.81 2633,-179 2559.12,-119.47 2520.48,-139.24 2427,-123 2316.59,-103.82 1985.11,-83.66 1847.22,-75.86"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1847.02,-72.34 1836.84,-75.27 1846.63,-79.33 1847.02,-72.34"/>
</g>
<!-- Node36->Node24 -->
<g id="edge60" class="edge">
<title>Node36->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2498.4,-313.19C2494.93,-296.93 2485.11,-262.37 2462,-246 2355.46,-170.55 2102.04,-286.58 2176,-179 2178.46,-175.42 2317.81,-124.14 2322,-123 2417.53,-96.92 2534.06,-81.95 2589.58,-75.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.28,-79.25 2599.84,-74.7 2589.52,-72.3 2590.28,-79.25"/>
+<path fill="none" stroke="midnightblue" d="M3011.98,-313.43C3007.77,-297.57 2996.54,-263.64 2974,-246 2921.37,-204.81 2869.21,-262.61 2828,-210 2800.59,-175.01 2820.18,-118.66 2833.1,-90.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2836.31,-91.58 2837.46,-81.05 2830,-88.56 2836.31,-91.58"/>
</g>
<!-- Node36->Node30 -->
<g id="edge61" class="edge">
<title>Node36->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2540.23,-317.22C2554.93,-315.64 2571.7,-314.02 2587,-313 3115.4,-277.73 3249.76,-314.51 3778,-277 3844.69,-272.26 4315.05,-237.49 4376,-210 4435.6,-183.12 4484.83,-119.68 4505.93,-89.29"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4508.84,-91.24 4511.56,-81 4503.05,-87.31 4508.84,-91.24"/>
+<path fill="none" stroke="midnightblue" d="M3054.36,-321.46C3325.45,-317.82 4876.85,-296.26 5086,-277 5131.97,-272.77 5868.12,-169.38 5906,-143 5924,-130.46 5934.91,-107.06 5940.69,-90.67"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5944.04,-91.69 5943.77,-81.09 5937.37,-89.54 5944.04,-91.69"/>
</g>
<!-- Node36->Node35 -->
<g id="edge53" class="edge">
<title>Node36->Node35</title>
-<path fill="none" stroke="midnightblue" d="M2540.25,-317.46C2554.95,-315.91 2571.71,-314.24 2587,-313 2856.81,-291.07 2931.64,-339.59 3195,-277 3221.73,-270.65 3395.3,-185.48 3422,-179 3476.97,-165.66 3840.56,-145.95 4001.07,-137.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4001.53,-141.25 4011.34,-137.25 4001.18,-134.26 4001.53,-141.25"/>
+<path fill="none" stroke="midnightblue" d="M3015.66,-313.18C3018.01,-298.07 3020.62,-266.86 3007,-246 2988.95,-218.35 2958.77,-238.45 2942,-210 2935.01,-198.13 2935.32,-191.05 2942,-179 2950.09,-164.41 2965.1,-153.92 2979.34,-146.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2980.89,-149.9 2988.5,-142.53 2977.95,-143.55 2980.89,-149.9"/>
</g>
<!-- Node37 -->
<g id="node37" class="node">
<title>Node37</title>
<g id="a_node37"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2180.5,-246.5 2180.5,-276.5 2307.5,-276.5 2307.5,-246.5 2180.5,-246.5"/>
-<text text-anchor="start" x="2188.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
-<text text-anchor="middle" x="2244" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2692.5,-246.5 2692.5,-276.5 2819.5,-276.5 2819.5,-246.5 2692.5,-246.5"/>
+<text text-anchor="start" x="2700.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
+<text text-anchor="middle" x="2756" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_equal.h</text>
</a>
</g>
</g>
<!-- Node36->Node37 -->
<g id="edge54" class="edge">
<title>Node36->Node37</title>
-<path fill="none" stroke="midnightblue" d="M2463.32,-313.48C2424.52,-304.46 2362.35,-290.01 2314.1,-278.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2314.87,-275.38 2304.33,-276.52 2313.28,-282.2 2314.87,-275.38"/>
+<path fill="none" stroke="midnightblue" d="M2977.03,-313.48C2937.93,-304.46 2875.28,-290.01 2826.64,-278.79"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2827.34,-275.36 2816.81,-276.52 2825.76,-282.18 2827.34,-275.36"/>
</g>
<!-- Node38 -->
<g id="node38" class="node">
<title>Node38</title>
<g id="a_node38"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="2325.5,-246.5 2325.5,-276.5 2452.5,-276.5 2452.5,-246.5 2325.5,-246.5"/>
-<text text-anchor="start" x="2333.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
-<text text-anchor="middle" x="2389" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="2837.5,-246.5 2837.5,-276.5 2964.5,-276.5 2964.5,-246.5 2837.5,-246.5"/>
+<text text-anchor="start" x="2845.5" y="-264.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/extra/structural</text>
+<text text-anchor="middle" x="2901" y="-253.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hash.h</text>
</a>
</g>
</g>
<!-- Node36->Node38 -->
<g id="edge55" class="edge">
<title>Node36->Node38</title>
-<path fill="none" stroke="midnightblue" d="M2484.1,-313.48C2468.5,-305.12 2444.2,-292.09 2424.07,-281.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2425.63,-278.16 2415.16,-276.52 2422.32,-284.33 2425.63,-278.16"/>
+<path fill="none" stroke="midnightblue" d="M2997.81,-313.48C2981.93,-305.12 2957.2,-292.09 2936.7,-281.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2938.11,-278.09 2927.63,-276.52 2934.85,-284.28 2938.11,-278.09"/>
</g>
<!-- Node36->Node39 -->
<g id="edge62" class="edge">
<title>Node36->Node39</title>
-<path fill="none" stroke="midnightblue" d="M2540.25,-317.52C2554.95,-315.97 2571.72,-314.3 2587,-313 2828.44,-292.53 2894.27,-328.67 3131,-277 3212.77,-259.15 3231.82,-246.78 3307,-210 3330.83,-198.34 3332.82,-187.35 3358,-179 3396.99,-166.07 3659.82,-146.3 3777.83,-137.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3778.38,-141.42 3788.11,-137.22 3777.89,-134.43 3778.38,-141.42"/>
+<path fill="none" stroke="midnightblue" d="M2973.91,-321.7C2719.38,-319.68 1336.49,-307.34 1253,-277 1232.19,-269.44 1231.46,-259.62 1214,-246 1193.26,-229.81 1187.72,-226.22 1167,-210 1140.17,-189 1109.44,-164.29 1090.37,-148.89"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1092.46,-146.08 1082.49,-142.51 1088.06,-151.52 1092.46,-146.08"/>
</g>
<!-- Node40->Node13 -->
<g id="edge67" class="edge">
<title>Node40->Node13</title>
-<path fill="none" stroke="midnightblue" d="M5377.44,-130.34C5303.48,-128.36 5174.56,-125.06 5064,-123 3844.11,-100.32 3537.56,-148.45 2319,-87 2281.03,-85.09 2238.28,-81.28 2205.81,-78.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2205.95,-74.55 2195.65,-77.02 2205.24,-81.51 2205.95,-74.55"/>
+<path fill="none" stroke="midnightblue" d="M5682.46,-128.84C5481.81,-118.38 4840.75,-84.95 4653.7,-75.2"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4653.75,-71.69 4643.58,-74.67 4653.38,-78.68 4653.75,-71.69"/>
</g>
<!-- Node40->Node16 -->
<g id="edge70" class="edge">
<title>Node40->Node16</title>
-<path fill="none" stroke="midnightblue" d="M5377.42,-124.67C5372.55,-124.1 5367.69,-123.54 5363,-123 5200.79,-104.48 5006.61,-83.97 4930.2,-75.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4930.11,-72.44 4919.8,-74.88 4929.38,-79.4 4930.11,-72.44"/>
+<path fill="none" stroke="midnightblue" d="M5682.26,-124.36C5588.81,-112.53 5419.1,-90.76 5406,-87 5404.07,-86.45 5402.1,-85.79 5400.14,-85.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5401.17,-81.72 5390.59,-81.13 5398.49,-88.18 5401.17,-81.72"/>
</g>
<!-- Node40->Node25 -->
<g id="edge71" class="edge">
<title>Node40->Node25</title>
-<path fill="none" stroke="midnightblue" d="M5488.86,-123.48C5562.44,-111.14 5696.61,-88.66 5759.18,-78.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5760.02,-81.58 5769.3,-76.47 5758.86,-74.67 5760.02,-81.58"/>
+<path fill="none" stroke="midnightblue" d="M5682.26,-130.83C5584.33,-128.97 5385.49,-125.31 5217,-123 3665.51,-101.73 3277.11,-127.49 1726,-87 1611.52,-84.01 1475.84,-77.44 1413.89,-74.28"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1414.07,-70.78 1403.9,-73.76 1413.71,-77.77 1414.07,-70.78"/>
</g>
<!-- Node40->Node29 -->
<g id="edge68" class="edge">
<title>Node40->Node29</title>
-<path fill="none" stroke="midnightblue" d="M5377.15,-128.78C5340.12,-126.91 5291.84,-124.6 5249,-123 4508.8,-95.38 3603.16,-76.87 3415.16,-73.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3415.09,-69.68 3405.03,-72.98 3414.96,-76.68 3415.09,-69.68"/>
+<path fill="none" stroke="midnightblue" d="M5699.59,-123.48C5639.17,-111.61 5530.91,-90.35 5475.21,-79.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5475.62,-75.93 5465.13,-77.43 5474.27,-82.8 5475.62,-75.93"/>
</g>
<!-- Node40->Node30 -->
<g id="edge69" class="edge">
<title>Node40->Node30</title>
-<path fill="none" stroke="midnightblue" d="M5377.32,-126.98C5360.39,-125.63 5341.98,-124.21 5325,-123 5034.15,-102.33 4684.08,-82 4561.77,-75.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4561.85,-71.53 4551.67,-74.45 4561.45,-78.52 4561.85,-71.53"/>
+<path fill="none" stroke="midnightblue" d="M5772.08,-123.48C5807.58,-113.07 5867.75,-95.44 5907.17,-83.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5908.36,-87.18 5916.97,-81.01 5906.39,-80.46 5908.36,-87.18"/>
</g>
<!-- Node41->Node5 -->
<g id="edge78" class="edge">
<title>Node41->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2685.43,-716.38C2620.31,-695.87 2457.6,-639.6 2342,-557 2218.74,-468.93 2231.66,-394.55 2104,-313 2087.36,-302.37 2039.79,-285.49 2006.08,-274.21"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2007.13,-270.87 1996.54,-271.05 2004.93,-277.52 2007.13,-270.87"/>
+<path fill="none" stroke="midnightblue" d="M3932.49,-716.45C3828.75,-680.34 3415.55,-536.94 3074,-425 3023.51,-408.45 3010.54,-405.4 2960,-389 2858.4,-356.03 2835.21,-340.52 2732,-313 2663.35,-294.7 2582.55,-279.5 2531.8,-270.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2532.2,-267.22 2521.75,-268.98 2531.01,-274.12 2532.2,-267.22"/>
</g>
<!-- Node41->Node7 -->
<g id="edge76" class="edge">
<title>Node41->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2666.33,-719.14C2605.65,-711.43 2497.68,-696.86 2406,-680 2293.16,-659.25 2265.9,-649.32 2154,-624 1700.26,-521.32 1578.2,-527.21 1134,-389 1033.8,-357.82 754.53,-297.77 697,-210 656.13,-147.65 766.56,-106.11 839.83,-86.19"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="841.13,-89.46 849.9,-83.52 839.33,-82.7 841.13,-89.46"/>
+<path fill="none" stroke="midnightblue" d="M3909.23,-723.59C3713.15,-717.46 2951.04,-690.43 2328,-624 1965.49,-585.35 1876.82,-559.63 1517,-501 1087.76,-431.06 959.7,-487.06 553,-333 508.59,-316.18 492.16,-313.68 462,-277 441.81,-252.45 444.04,-240.99 437,-210 428.42,-172.2 428.71,-161.69 431,-123 431.51,-114.42 432.5,-105.06 433.53,-96.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="437.03,-96.98 434.87,-86.61 430.09,-96.06 437.03,-96.98"/>
</g>
<!-- Node41->Node8 -->
<g id="edge77" class="edge">
<title>Node41->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2723.34,-716.34C2757.59,-684.04 2877.51,-566.25 2939,-445 2979.06,-366 3003.19,-316.83 2950,-246 2920.12,-206.21 2872.98,-250.44 2844,-210 2832.07,-193.34 2837.78,-169.17 2844.2,-152.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2847.62,-153.51 2848.35,-142.94 2841.19,-150.74 2847.62,-153.51"/>
+<path fill="none" stroke="midnightblue" d="M3961.84,-716.32C3971.87,-697.48 3994,-651.19 3994,-609.5 3994,-609.5 3994,-609.5 3994,-434 3994,-350.41 4051.66,-301.32 3989,-246 3909.79,-176.07 3852.79,-247.49 3754,-210 3730.26,-200.99 3729.15,-189.44 3706,-179 3671.94,-163.63 3631.4,-152.3 3599.65,-144.85"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3600.2,-141.39 3589.67,-142.57 3598.64,-148.21 3600.2,-141.39"/>
</g>
<!-- Node41->Node19 -->
<g id="edge75" class="edge">
<title>Node41->Node19</title>
-<path fill="none" stroke="midnightblue" d="M2667.64,-716.47C2524.55,-689.17 2078.92,-596.71 1737,-445 1608.15,-387.83 1563.84,-345.22 1524,-210 1515.45,-180.98 1515.1,-173.09 1512,-143 1510.2,-125.51 1509.79,-105.46 1509.77,-91.22"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1513.27,-91.23 1509.83,-81.21 1506.27,-91.19 1513.27,-91.23"/>
+<path fill="none" stroke="midnightblue" d="M3965.88,-716.41C3974.31,-707.84 3986.89,-693.97 3995,-680 4038.33,-605.37 4133.89,-398.48 4122,-313 4117.74,-282.34 4126.23,-266.46 4103,-246 4022.38,-175.01 3954.85,-267.32 3864,-210 3818.41,-181.24 3789.8,-121.11 3777.69,-90.8"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3780.82,-89.18 3773.97,-81.1 3774.28,-91.69 3780.82,-89.18"/>
</g>
<!-- Node41->Node24 -->
<g id="edge164" class="edge">
<title>Node41->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2713.75,-716.31C2713.21,-697.06 2712,-649.41 2712,-609.5 2712,-609.5 2712,-609.5 2712,-434 2712,-384.3 2749.07,-381.48 2760,-333 2768.51,-295.28 2785.67,-274.91 2760,-246 2670.25,-144.92 2547.75,-311.08 2458,-210 2448.85,-199.7 2451.43,-191.11 2458,-179 2473.1,-151.19 2553.16,-107.42 2595.57,-85.67"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2597.18,-88.78 2604.51,-81.13 2594.01,-82.54 2597.18,-88.78"/>
+<path fill="none" stroke="midnightblue" d="M3951.9,-716.35C3941.33,-697.58 3918,-651.41 3918,-609.5 3918,-609.5 3918,-609.5 3918,-434 3918,-407.55 3795.11,-258.86 3772,-246 3639.23,-172.09 3573.87,-264.44 3432,-210 3370.5,-186.4 3373.48,-146.65 3312,-123 3231.6,-92.08 2966.98,-77.91 2874.36,-73.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2874.34,-70.31 2864.19,-73.37 2874.03,-77.3 2874.34,-70.31"/>
</g>
<!-- Node42 -->
<g id="node42" class="node">
<title>Node42</title>
<g id="a_node42"><a xlink:href="layout_8h.html" target="_top" xlink:title="Definition of layout.">
-<polygon fill="white" stroke="black" points="4149,-660.5 4149,-679.5 4247,-679.5 4247,-660.5 4149,-660.5"/>
-<text text-anchor="middle" x="4198" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/layout.h</text>
+<polygon fill="white" stroke="black" points="4288,-660.5 4288,-679.5 4386,-679.5 4386,-660.5 4288,-660.5"/>
+<text text-anchor="middle" x="4337" y="-667.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/layout.h</text>
</a>
</g>
</g>
<!-- Node41->Node42 -->
<g id="edge79" class="edge">
<title>Node41->Node42</title>
-<path fill="none" stroke="midnightblue" d="M2761.69,-723.26C2981.54,-715.26 3896.75,-681.96 4138.97,-673.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4139.12,-676.64 4148.99,-672.78 4138.87,-669.65 4139.12,-676.64"/>
+<path fill="none" stroke="midnightblue" d="M4004.74,-718.22C4074.04,-708.37 4202.42,-690.12 4277.69,-679.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4278.54,-682.84 4287.95,-677.97 4277.56,-675.91 4278.54,-682.84"/>
</g>
<!-- Node41->Node59 -->
<g id="edge163" class="edge">
<title>Node41->Node59</title>
-<path fill="none" stroke="midnightblue" d="M2761.88,-717.07C2808.62,-709 2881.61,-695.48 2944,-680 3240.95,-606.31 3306.31,-555.69 3603,-481 3660.97,-466.41 3728.36,-453.28 3773.56,-445.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3774.2,-448.46 3783.42,-443.23 3772.95,-441.57 3774.2,-448.46"/>
+<path fill="none" stroke="midnightblue" d="M3980.12,-716.47C3999.05,-708.77 4025.9,-696.18 4046,-680 4134.83,-608.48 4122.73,-556.73 4208,-481 4221.78,-468.76 4239.25,-457.64 4253.41,-449.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4255.14,-452.56 4262.17,-444.63 4251.73,-446.45 4255.14,-452.56"/>
</g>
<!-- Node42->Node14 -->
<g id="edge83" class="edge">
<title>Node42->Node14</title>
-<path fill="none" stroke="midnightblue" d="M4247.04,-664.74C4339.07,-656.46 4530.85,-637.83 4558,-624 4635.61,-584.47 4629.93,-542.1 4692,-481 4771.15,-403.08 4783.72,-373.29 4877,-313 4939.69,-272.48 4962.47,-275.59 5031,-246 5068.29,-229.9 5092.64,-243.91 5115,-210 5122.58,-198.5 5122.6,-190.49 5115,-179 5103.48,-161.6 5083.74,-150.91 5064.39,-144.35"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5065.25,-140.95 5054.66,-141.36 5063.19,-147.64 5065.25,-140.95"/>
+<path fill="none" stroke="midnightblue" d="M4339.96,-660.16C4360.42,-598.99 4481.04,-238.49 4509.83,-152.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4513.22,-153.35 4513.07,-142.75 4506.58,-151.12 4513.22,-153.35"/>
</g>
<!-- Node42->Node19 -->
<g id="edge80" class="edge">
<title>Node42->Node19</title>
-<path fill="none" stroke="midnightblue" d="M4148.81,-668.26C3919.1,-664.1 2929.59,-638.69 2133,-501 1927.36,-465.46 1851.85,-502.92 1677,-389 1592.83,-334.16 1581.09,-301.21 1539,-210 1520.66,-170.26 1513.79,-118.71 1511.31,-91.4"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1514.79,-90.98 1510.5,-81.29 1507.81,-91.54 1514.79,-90.98"/>
+<path fill="none" stroke="midnightblue" d="M4349.08,-660.42C4397.37,-625.03 4574,-484.59 4574,-324 4574,-324 4574,-324 4574,-260.5 4574,-199.37 4613.32,-167.1 4571,-123 4546.21,-97.17 4044.18,-80.23 3848.31,-74.58"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3848.19,-71.08 3838.1,-74.29 3847.99,-78.08 3848.19,-71.08"/>
</g>
<!-- Node42->Node20 -->
<g id="edge82" class="edge">
<title>Node42->Node20</title>
-<path fill="none" stroke="midnightblue" d="M4148.92,-669.03C3972.1,-668.78 3351.17,-664.85 2841,-624 2330.75,-583.14 1002.4,-583.5 556,-333 455.52,-276.62 329.95,-211.27 404,-123 432.13,-89.47 553.61,-78.19 628.91,-74.41"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="629.39,-77.89 639.21,-73.92 629.06,-70.9 629.39,-77.89"/>
+<path fill="none" stroke="midnightblue" d="M4287.93,-668.6C3997.56,-666.14 2513.73,-652.21 2422,-624 2237.95,-567.39 2195.71,-523.59 2058,-389 1983.65,-316.34 2027.98,-253.03 1955,-179 1927.06,-150.66 1906.99,-163.71 1873,-143 1846.47,-126.83 1819.15,-103.37 1802.37,-88.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1804.74,-85.45 1795.03,-81.21 1799.98,-90.58 1804.74,-85.45"/>
</g>
<!-- Node43 -->
<g id="node43" class="node">
<title>Node43</title>
<g id="a_node43"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4225,-599 4225,-618 4359,-618 4359,-599 4225,-599"/>
-<text text-anchor="middle" x="4292" y="-606" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tuple.h</text>
+<polygon fill="white" stroke="#bfbfbf" points="4440,-599 4440,-618 4574,-618 4574,-599 4440,-599"/>
+<text text-anchor="middle" x="4507" y="-606" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ffi/container/tuple.h</text>
</a>
</g>
</g>
<!-- Node42->Node43 -->
<g id="edge81" class="edge">
<title>Node42->Node43</title>
-<path fill="none" stroke="midnightblue" d="M4211.47,-660.48C4226.68,-650.84 4251.69,-635.02 4269.8,-623.55"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4271.98,-626.31 4278.56,-618.01 4268.24,-620.4 4271.98,-626.31"/>
+<path fill="none" stroke="midnightblue" d="M4361.36,-660.48C4390.64,-650.22 4439.97,-632.96 4473,-621.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4474.41,-624.62 4482.69,-618.01 4472.09,-618.01 4474.41,-624.62"/>
</g>
<!-- Node44 -->
<g id="node44" class="node">
<title>Node44</title>
<g id="a_node44"><a xlink:href="attr__registry__map_8h.html" target="_top" xlink:title="Attribute map used in registry.">
-<polygon fill="white" stroke="black" points="4925.5,-179.5 4925.5,-209.5 5034.5,-209.5 5034.5,-179.5 4925.5,-179.5"/>
-<text text-anchor="start" x="4933.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attr_registry</text>
-<text text-anchor="middle" x="4980" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
+<polygon fill="white" stroke="black" points="3440.5,-179.5 3440.5,-209.5 3549.5,-209.5 3549.5,-179.5 3440.5,-179.5"/>
+<text text-anchor="start" x="3448.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/attr_registry</text>
+<text text-anchor="middle" x="3495" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_map.h</text>
</a>
</g>
</g>
<!-- Node42->Node44 -->
<g id="edge84" class="edge">
<title>Node42->Node44</title>
-<path fill="none" stroke="midnightblue" d="M4247.27,-664.92C4334.55,-657.33 4509.31,-640.3 4532,-624 4567.03,-598.84 4553.28,-574.27 4575,-537 4590.14,-511.01 4592.83,-503.31 4613,-481 4629.71,-462.51 4639.32,-463.52 4656,-445 4727.36,-365.77 4703.16,-307.87 4790,-246 4826.7,-219.86 4876.07,-207.25 4915.29,-201.17"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4915.89,-204.62 4925.28,-199.72 4914.89,-197.69 4915.89,-204.62"/>
+<path fill="none" stroke="midnightblue" d="M4330.98,-660.45C4320.41,-645.75 4297.4,-615.15 4274,-593 4085.67,-414.78 4043.9,-346.79 3805,-246 3724.76,-212.15 3623.99,-200.88 3559.53,-197.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3559.67,-193.69 3549.5,-196.66 3559.31,-200.68 3559.67,-193.69"/>
</g>
<!-- Node45 -->
<g id="node45" class="node">
<title>Node45</title>
<g id="a_node45"><a xlink:href="module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions.">
-<polygon fill="white" stroke="black" points="4081.5,-537.5 4081.5,-556.5 4176.5,-556.5 4176.5,-537.5 4081.5,-537.5"/>
-<text text-anchor="middle" x="4129" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
+<polygon fill="white" stroke="black" points="2442.5,-537.5 2442.5,-556.5 2537.5,-556.5 2537.5,-537.5 2442.5,-537.5"/>
+<text text-anchor="middle" x="2490" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/module.h</text>
</a>
</g>
</g>
<!-- Node42->Node45 -->
<g id="edge88" class="edge">
<title>Node42->Node45</title>
-<path fill="none" stroke="midnightblue" d="M4193.04,-660.3C4181.75,-640.5 4153.97,-591.78 4138.98,-565.49"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4141.91,-563.58 4133.92,-556.62 4135.83,-567.04 4141.91,-563.58"/>
+<path fill="none" stroke="midnightblue" d="M4287.6,-665.76C4028.47,-648.79 2827.49,-570.11 2548.16,-551.81"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2548.05,-548.3 2537.85,-551.13 2547.6,-555.28 2548.05,-548.3"/>
</g>
<!-- Node57 -->
<g id="node57" class="node">
<title>Node57</title>
<g id="a_node57"><a xlink:href="exec__scope_8h.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4693,-599 4693,-618 4817,-618 4817,-599 4693,-599"/>
-<text text-anchor="middle" x="4755" y="-606" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/exec_scope.h</text>
+<polygon fill="white" stroke="black" points="4592,-599 4592,-618 4716,-618 4716,-599 4592,-599"/>
+<text text-anchor="middle" x="4654" y="-606" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/tirx/exec_scope.h</text>
</a>
</g>
</g>
<!-- Node42->Node57 -->
<g id="edge151" class="edge">
<title>Node42->Node57</title>
-<path fill="none" stroke="midnightblue" d="M4247.43,-663.72C4346.03,-653.19 4567.53,-629.53 4682.56,-617.24"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4683.11,-620.7 4692.68,-616.16 4682.37,-613.74 4683.11,-620.7"/>
+<path fill="none" stroke="midnightblue" d="M4385.14,-660.5C4434.77,-651.66 4514.37,-637.28 4583,-624 4589.56,-622.73 4596.45,-621.36 4603.25,-620"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4604,-623.42 4613.1,-618 4602.61,-616.56 4604,-623.42"/>
</g>
<!-- Node42->Node59 -->
<g id="edge162" class="edge">
<title>Node42->Node59</title>
-<path fill="none" stroke="midnightblue" d="M4189.16,-660.25C4159.14,-630.98 4057.37,-535.25 3957,-481 3929.52,-466.15 3896.21,-454.84 3869.93,-447.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3870.8,-443.88 3860.23,-444.55 3868.91,-450.62 3870.8,-443.88"/>
+<path fill="none" stroke="midnightblue" d="M4337.34,-660.38C4338.1,-633.01 4338.17,-546.07 4312,-481 4307.86,-470.7 4300.81,-460.61 4294.3,-452.6"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4296.77,-450.11 4287.59,-444.82 4291.46,-454.68 4296.77,-450.11"/>
</g>
<!-- Node44->Node8 -->
<g id="edge85" class="edge">
<title>Node44->Node8</title>
-<path fill="none" stroke="midnightblue" d="M4925.48,-192.26C4611.81,-185.09 3047.48,-149.16 2946,-143 2933.73,-142.25 2920.57,-141.16 2908.13,-139.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2908.18,-136.48 2897.89,-139 2907.5,-143.45 2908.18,-136.48"/>
+<path fill="none" stroke="midnightblue" d="M3507.09,-179.4C3514.57,-170.66 3524.22,-159.41 3532.03,-150.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3534.73,-152.53 3538.58,-142.66 3529.41,-147.97 3534.73,-152.53"/>
</g>
<!-- Node44->Node16 -->
<g id="edge86" class="edge">
<title>Node44->Node16</title>
-<path fill="none" stroke="midnightblue" d="M4970.15,-179.14C4954.76,-156.71 4925.07,-113.42 4908.64,-89.47"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4911.41,-87.32 4902.87,-81.05 4905.64,-91.28 4911.41,-87.32"/>
+<path fill="none" stroke="midnightblue" d="M3549.69,-182.73C3634.42,-166.55 3802.68,-136.45 3947,-123 4459.25,-75.27 4589.99,-108.8 5104,-87 5189.6,-83.37 5290.39,-77.55 5341.19,-74.5"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.48,-77.99 5351.25,-73.9 5341.06,-71 5341.48,-77.99"/>
</g>
<!-- Node44->Node25 -->
<g id="edge87" class="edge">
<title>Node44->Node25</title>
-<path fill="none" stroke="midnightblue" d="M5034.86,-181.17C5039.62,-180.35 5044.39,-179.6 5049,-179 5199.49,-159.34 5594.41,-209.16 5731,-143 5754.42,-131.65 5772.74,-107.04 5783.22,-90.12"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5786.41,-91.6 5788.46,-81.2 5780.37,-88.05 5786.41,-91.6"/>
+<path fill="none" stroke="midnightblue" d="M3440.19,-181.37C3362.5,-164.77 3215.72,-135.61 3089,-123 2485.99,-63 2331.64,-107.69 1726,-87 1611.55,-83.09 1475.86,-76.97 1413.9,-74.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1414.06,-70.6 1403.91,-73.63 1413.73,-77.59 1414.06,-70.6"/>
</g>
<!-- Node45->Node5 -->
<g id="edge94" class="edge">
<title>Node45->Node5</title>
-<path fill="none" stroke="midnightblue" d="M4081.26,-544.55C3905.2,-538.77 3275.84,-514.21 2762,-445 2634.07,-427.77 2602.95,-417.31 2477,-389 2378.14,-366.78 2351.15,-367.84 2256,-333 2236.96,-326.03 2234.27,-319.3 2215,-313 2129.15,-284.94 2102.62,-298.9 2015,-277 2011.55,-276.14 2007.98,-275.15 2004.43,-274.11"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2005.17,-270.68 1994.59,-271.08 2003.11,-277.37 2005.17,-270.68"/>
+<path fill="none" stroke="midnightblue" d="M2490,-537.44C2490,-518.94 2490,-473.81 2490,-436 2490,-436 2490,-436 2490,-378 2490,-343.78 2486.46,-304 2484.09,-281.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2487.57,-280.75 2483.01,-271.18 2480.61,-281.5 2487.57,-280.75"/>
</g>
<!-- Node45->Node7 -->
<g id="edge91" class="edge">
<title>Node45->Node7</title>
-<path fill="none" stroke="midnightblue" d="M4081.27,-545.69C3796.81,-543.73 2330.73,-532.16 2133,-501 2102.3,-496.16 2096.42,-487.33 2066,-481 1935.39,-453.82 1899.88,-465.11 1768,-445 1632.4,-424.32 1285.9,-389.69 1161,-333 1153.26,-329.49 925.81,-150.01 921,-143 911.51,-129.19 905.98,-111.1 902.83,-96.71"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="906.21,-95.71 900.87,-86.56 899.33,-97.04 906.21,-95.71"/>
+<path fill="none" stroke="midnightblue" d="M2442.21,-544.49C2341.86,-540.85 2102.04,-529.67 1903,-501 1860.72,-494.91 1851.09,-488.24 1809,-481 1500.62,-427.96 1421.13,-430.57 1111,-389 928.28,-364.51 880.71,-369.48 700,-333 606.16,-314.05 567.02,-336.48 492,-277 436.89,-233.31 433.43,-140.73 435.2,-96.72"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="438.7,-96.81 435.74,-86.64 431.71,-96.44 438.7,-96.81"/>
</g>
<!-- Node45->Node8 -->
<g id="edge92" class="edge">
<title>Node45->Node8</title>
-<path fill="none" stroke="midnightblue" d="M4125.35,-537.2C4116.22,-515.93 4090.57,-460.85 4056,-425 3917.39,-281.24 3869.92,-240.72 3680,-179 3524.69,-128.53 3108.88,-154.87 2946,-143 2933.74,-142.11 2920.59,-140.95 2908.15,-139.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2908.19,-136.26 2897.9,-138.78 2907.52,-143.23 2908.19,-136.26"/>
+<path fill="none" stroke="midnightblue" d="M2537.71,-543.97C2701.57,-536.48 3240.03,-507.56 3400,-445 3521.28,-397.57 3542.45,-336.09 3575,-210 3578.44,-196.66 3578.89,-192.22 3575,-179 3571.99,-168.76 3565.85,-158.66 3559.99,-150.63"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3562.59,-148.27 3553.67,-142.54 3557.07,-152.58 3562.59,-148.27"/>
</g>
<!-- Node45->Node16 -->
<g id="edge149" class="edge">
<title>Node45->Node16</title>
-<path fill="none" stroke="midnightblue" d="M4168.86,-537.5C4364.72,-495.32 5218.52,-306.76 5287,-210 5376.41,-83.67 5038.69,-72.6 4929.8,-72.25"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4929.7,-68.75 4919.7,-72.25 4929.7,-75.75 4929.7,-68.75"/>
+<path fill="none" stroke="midnightblue" d="M2537.63,-545.91C2694.28,-545.24 3207.68,-540 3630,-501 3801.85,-485.13 4999.28,-317.66 5167,-277 5189.27,-271.6 5345.38,-225.77 5362,-210 5391.36,-182.13 5394.82,-163.06 5389,-123 5387.41,-112.08 5383.99,-100.24 5380.82,-90.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5384.09,-89.52 5377.45,-81.27 5377.49,-91.86 5384.09,-89.52"/>
</g>
<!-- Node45->Node17 -->
<g id="edge93" class="edge">
<title>Node45->Node17</title>
-<path fill="none" stroke="midnightblue" d="M4151.93,-537.45C4186.06,-524.8 4252.28,-500.47 4309,-481 4628.18,-371.46 4708.4,-345.02 5031,-246 5076.81,-231.94 5129.71,-216.83 5165.25,-206.84"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5166.56,-210.11 5175.24,-204.04 5164.67,-203.37 5166.56,-210.11"/>
+<path fill="none" stroke="midnightblue" d="M2537.57,-546.52C2687.34,-547.62 3162.32,-546.96 3552,-501 3727.38,-480.31 3768.23,-456.43 3942,-425 4239.52,-371.19 4313.4,-353.64 4613,-313 4765.33,-292.34 4815.07,-336.05 4957,-277 4977.12,-268.63 4978.11,-259.77 4995,-246 5009.69,-234.03 5026.34,-220.46 5038.68,-210.41"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5040.92,-213.1 5046.47,-204.08 5036.5,-207.68 5040.92,-213.1"/>
</g>
<!-- Node45->Node18 -->
<g id="edge144" class="edge">
<title>Node45->Node18</title>
-<path fill="none" stroke="midnightblue" d="M4081.37,-545.72C3830.12,-544.13 2656.7,-534.97 2295,-501 2218.54,-493.82 1682.79,-421.04 1613,-389 1482.43,-329.06 1362.84,-197.54 1323,-150.85"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1325.43,-148.31 1316.31,-142.92 1320.08,-152.82 1325.43,-148.31"/>
+<path fill="none" stroke="midnightblue" d="M2442.23,-541.33C2387.18,-535.04 2301.2,-522.13 2277,-501 2172.81,-409.99 2203.97,-213.6 2216.75,-152.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2220.17,-153.26 2218.89,-142.74 2213.34,-151.76 2220.17,-153.26"/>
</g>
<!-- Node45->Node19 -->
<g id="edge89" class="edge">
<title>Node45->Node19</title>
-<path fill="none" stroke="midnightblue" d="M4081.4,-545.68C3828.54,-543.85 2648.32,-533.6 2489,-501 2080.95,-417.5 1635.71,-150.93 1532.3,-86.58"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1533.96,-83.49 1523.62,-81.16 1530.25,-89.43 1533.96,-83.49"/>
+<path fill="none" stroke="midnightblue" d="M2537.55,-543.67C2657.37,-536.15 2978.91,-505.72 3215,-389 3335.31,-329.52 3339.01,-275.78 3432,-179 3457.5,-152.46 3460.04,-139.38 3493,-123 3556.09,-91.65 3635.9,-79.58 3693.8,-75.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3694.26,-78.5 3703.98,-74.28 3693.76,-71.52 3694.26,-78.5"/>
</g>
<!-- Node45->Node24 -->
<g id="edge146" class="edge">
<title>Node45->Node24</title>
-<path fill="none" stroke="midnightblue" d="M4144.45,-537.44C4225.23,-491.69 4589.97,-272.57 4444,-123 4415.36,-93.65 3008.99,-88.36 2968,-87 2852.64,-83.18 2715.73,-76.93 2654.46,-74.05"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2654.41,-70.54 2644.26,-73.57 2654.08,-77.54 2654.41,-70.54"/>
+<path fill="none" stroke="midnightblue" d="M2494.55,-537.23C2513.92,-500.23 2592.32,-353.78 2675,-246 2720.74,-186.38 2738.52,-176.78 2791,-123 2802.4,-111.32 2815.49,-98.37 2825.55,-88.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2828.17,-90.84 2832.88,-81.35 2823.28,-85.83 2828.17,-90.84"/>
</g>
<!-- Node45->Node25 -->
<g id="edge150" class="edge">
<title>Node45->Node25</title>
-<path fill="none" stroke="midnightblue" d="M4176.59,-540.61C4401.34,-514.7 5357,-399.07 5629,-277 5717.09,-237.47 5757.74,-229.81 5800,-143 5807.97,-126.63 5804.38,-105.61 5799.94,-90.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5803.23,-89.61 5796.7,-81.26 5796.6,-91.86 5803.23,-89.61"/>
+<path fill="none" stroke="midnightblue" d="M2442.15,-541.35C2193.48,-516.69 1056.56,-397.85 962,-277 917.3,-219.88 955.39,-162.84 1016,-123 1069.97,-87.52 1266.27,-76.57 1346,-73.55"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1346.58,-77.03 1356.45,-73.17 1346.33,-70.03 1346.58,-77.03"/>
</g>
<!-- Node45->Node26 -->
<g id="edge145" class="edge">
<title>Node45->Node26</title>
-<path fill="none" stroke="midnightblue" d="M4081.31,-545.59C3843.48,-543.39 2783.96,-532.01 2456,-501 2247.08,-481.25 2197.51,-456.23 1990,-425 1874.21,-407.57 1833.86,-441.11 1729,-389 1666.24,-357.81 1655.5,-336.21 1618,-277 1605.43,-257.15 1597.04,-231.26 1592.41,-214.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1595.75,-212.97 1589.9,-204.13 1588.96,-214.69 1595.75,-212.97"/>
+<path fill="none" stroke="midnightblue" d="M2442.17,-544.24C2401.78,-540.61 2344.1,-530.21 2303,-501 2278.88,-483.86 2275.34,-473.39 2267,-445 2256.2,-408.23 2251.48,-384.28 2286,-313 2291.75,-301.13 2348.47,-241 2376.49,-211.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2379.19,-213.91 2383.57,-204.26 2374.13,-209.07 2379.19,-213.91"/>
</g>
<!-- Node45->Node35 -->
<g id="edge90" class="edge">
<title>Node45->Node35</title>
-<path fill="none" stroke="midnightblue" d="M4134.84,-537.31C4146.38,-519.26 4171,-476.07 4171,-436 4171,-436 4171,-436 4171,-378 4171,-294.52 4111.45,-289.82 4087,-210 4081.22,-191.14 4078.78,-168.64 4077.75,-153.04"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4081.23,-152.43 4077.21,-142.63 4074.24,-152.8 4081.23,-152.43"/>
+<path fill="none" stroke="midnightblue" d="M2513.44,-537.39C2620.83,-497.92 3060.87,-336.06 3063,-333 3068.07,-325.7 3065.27,-321.59 3063,-313 3054.27,-279.9 3042.37,-275.5 3025,-246 3015.48,-229.84 3008.08,-228.05 3003,-210 2997.54,-190.61 3002.36,-167.62 3007.23,-152.05"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3010.54,-153.18 3010.48,-142.59 3003.92,-150.91 3010.54,-153.18"/>
</g>
<!-- Node45->Node39 -->
<g id="edge147" class="edge">
<title>Node45->Node39</title>
-<path fill="none" stroke="midnightblue" d="M4129.2,-537.29C4129.33,-516.68 4127.67,-463.75 4109,-425 4047.07,-296.47 3907.88,-186.69 3855.47,-148.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3857.44,-145.55 3847.28,-142.54 3853.35,-151.23 3857.44,-145.55"/>
+<path fill="none" stroke="midnightblue" d="M2443.8,-537.41C2302.88,-511.27 1865.99,-430.71 1503,-369 1403.59,-352.1 1376.49,-358.76 1279,-333 1210.2,-314.82 1183.91,-322.27 1129,-277 1090.6,-245.34 1077.91,-184.08 1073.84,-153.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1077.27,-152.27 1072.67,-142.73 1070.32,-153.07 1077.27,-152.27"/>
</g>
<!-- Node46 -->
<g id="node46" class="node">
<title>Node46</title>
<g id="a_node46"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes.">
-<polygon fill="white" stroke="black" points="3671,-369.5 3671,-388.5 3769,-388.5 3769,-369.5 3671,-369.5"/>
-<text text-anchor="middle" x="3720" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
+<polygon fill="white" stroke="black" points="3108,-369.5 3108,-388.5 3206,-388.5 3206,-369.5 3108,-369.5"/>
+<text text-anchor="middle" x="3157" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/function.h</text>
</a>
</g>
</g>
<!-- Node45->Node46 -->
<g id="edge95" class="edge">
<title>Node45->Node46</title>
-<path fill="none" stroke="midnightblue" d="M4118.34,-537.38C4108.08,-528.79 4092.49,-514.91 4081,-501 4055.56,-470.2 4066.52,-446.73 4033,-425 3992.22,-398.56 3858.13,-387.17 3779.31,-382.66"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3779.22,-379.15 3769.04,-382.09 3778.83,-386.14 3779.22,-379.15"/>
+<path fill="none" stroke="midnightblue" d="M2524.46,-537.42C2636.16,-509.62 2988.23,-422 3112.79,-391"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3113.89,-394.34 3122.75,-388.52 3112.2,-387.54 3113.89,-394.34"/>
</g>
<!-- Node47 -->
<g id="node47" class="node">
<title>Node47</title>
<g id="a_node47"><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="2498,-481.5 2498,-500.5 2610,-500.5 2610,-481.5 2498,-481.5"/>
-<text text-anchor="middle" x="2554" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
+<polygon fill="white" stroke="black" points="2312,-481.5 2312,-500.5 2424,-500.5 2424,-481.5 2312,-481.5"/>
+<text text-anchor="middle" x="2368" y="-488.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/global_info.h</text>
</a>
</g>
</g>
<!-- Node45->Node47 -->
<g id="edge103" class="edge">
<title>Node45->Node47</title>
-<path fill="none" stroke="midnightblue" d="M4081.43,-544.37C3854.71,-536.6 2883.87,-503.31 2620.27,-494.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2620.2,-490.77 2610.08,-493.92 2619.96,-497.76 2620.2,-490.77"/>
+<path fill="none" stroke="midnightblue" d="M2470.67,-537.44C2450.68,-528.6 2419.26,-514.69 2396.44,-504.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2397.8,-501.36 2387.24,-500.52 2394.97,-507.76 2397.8,-501.36"/>
</g>
<!-- Node45->Node56 -->
<g id="edge148" class="edge">
<title>Node45->Node56</title>
-<path fill="none" stroke="midnightblue" d="M4176.75,-541.81C4289.61,-531.9 4572.26,-507.08 4690.59,-496.69"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4691.19,-500.15 4700.84,-495.79 4690.57,-493.18 4691.19,-500.15"/>
+<path fill="none" stroke="midnightblue" d="M2442.35,-543.03C2336.25,-536.34 2072.49,-519.22 1852,-501 1838.45,-499.88 1823.82,-498.55 1810.2,-497.27"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1810.3,-493.76 1800.02,-496.3 1809.64,-500.73 1810.3,-493.76"/>
</g>
<!-- Node46->Node5 -->
<g id="edge100" class="edge">
<title>Node46->Node5</title>
-<path fill="none" stroke="midnightblue" d="M3670.72,-377.58C3464.13,-375.6 2667.03,-365.94 2418,-333 2379.1,-327.85 2370.66,-319.73 2332,-313 2196.22,-289.35 2159.36,-302.94 2024,-277 2018.95,-276.03 2013.67,-274.84 2008.48,-273.57"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2009.24,-270.15 1998.68,-271.04 2007.49,-276.93 2009.24,-270.15"/>
+<path fill="none" stroke="midnightblue" d="M3120.29,-369.48C3062.28,-356.21 2945.73,-330.32 2846,-313 2734.34,-293.61 2602.39,-276.81 2532.06,-268.35"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2532.07,-264.83 2521.73,-267.11 2531.24,-271.78 2532.07,-264.83"/>
</g>
<!-- Node46->Node8 -->
<g id="edge98" class="edge">
<title>Node46->Node8</title>
-<path fill="none" stroke="midnightblue" d="M3706.85,-369.35C3684.74,-353.91 3640.87,-319.24 3624,-277 3618.89,-264.21 3618.39,-258.59 3624,-246 3633.73,-224.15 3654.27,-231.85 3664,-210 3669.61,-197.41 3673.5,-188.98 3664,-179 3636.48,-150.06 2985.83,-145.92 2946,-143 2933.74,-142.1 2920.59,-140.94 2908.15,-139.76"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2908.19,-136.25 2897.9,-138.77 2907.52,-143.22 2908.19,-136.25"/>
+<path fill="none" stroke="midnightblue" d="M3198.64,-369.45C3232.93,-361.78 3282.47,-349.24 3324,-333 3433.79,-290.07 3497.96,-310.85 3559,-210 3569.69,-192.34 3562.78,-168.38 3555.6,-152.11"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3558.54,-150.15 3551.02,-142.68 3552.24,-153.21 3558.54,-150.15"/>
</g>
<!-- Node46->Node19 -->
<g id="edge96" class="edge">
<title>Node46->Node19</title>
-<path fill="none" stroke="midnightblue" d="M3670.86,-378.07C3467.58,-378.07 2691.75,-375.25 2451,-333 2422.48,-327.99 2417.14,-319.83 2389,-313 2294,-289.93 2263.25,-312.08 2172,-277 2096.63,-248.02 2093.87,-209.26 2019,-179 1943.76,-148.59 1919.46,-159.48 1840,-143 1740.08,-122.28 1623.36,-97.12 1558.96,-83.15"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="1559.6,-79.71 1549.08,-81.01 1558.11,-86.55 1559.6,-79.71"/>
+<path fill="none" stroke="midnightblue" d="M3174.1,-369.37C3188.8,-361.37 3209.96,-348.39 3225,-333 3281.55,-275.16 3263.97,-235.35 3322,-179 3357.16,-144.86 3370.75,-139.21 3417,-123 3508.76,-90.83 3620.76,-79.12 3693.88,-74.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3694.14,-78.37 3703.93,-74.33 3693.75,-71.38 3694.14,-78.37"/>
</g>
<!-- Node46->Node24 -->
<g id="edge101" class="edge">
<title>Node46->Node24</title>
-<path fill="none" stroke="midnightblue" d="M3769.03,-371.95C3928.26,-351.26 4416.66,-279.01 4346,-179 4262.08,-60.23 4134.76,-128.66 2968,-87 2852.65,-82.88 2715.73,-76.79 2654.46,-73.99"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2654.41,-70.49 2644.26,-73.53 2654.09,-77.48 2654.41,-70.49"/>
+<path fill="none" stroke="midnightblue" d="M3162.62,-369.45C3170.39,-356.48 3182.32,-331.38 3172,-313 3128.93,-236.31 3074.23,-261.62 3003,-210 2947.19,-169.56 2886.77,-114.6 2858.43,-88.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2860.69,-85.4 2851.01,-81.1 2855.89,-90.5 2860.69,-85.4"/>
</g>
<!-- Node46->Node30 -->
<g id="edge102" class="edge">
<title>Node46->Node30</title>
-<path fill="none" stroke="midnightblue" d="M3769.04,-375.85C3871.71,-370 4115.44,-349.02 4305,-277 4398.23,-241.58 4426.75,-223.95 4485,-143 4496.62,-126.85 4505.51,-105.79 4510.93,-90.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4514.28,-91.92 4514.26,-81.33 4507.67,-89.63 4514.28,-91.92"/>
+<path fill="none" stroke="midnightblue" d="M3206.06,-377.39C3434.14,-374.2 4413.56,-356.29 5212,-277 5534.6,-244.96 5701.35,-373.8 5929,-143 5942.38,-129.44 5945.88,-107.29 5946.51,-91.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5950.01,-91.23 5946.56,-81.21 5943.01,-91.2 5950.01,-91.23"/>
</g>
<!-- Node46->Node35 -->
<g id="edge97" class="edge">
<title>Node46->Node35</title>
-<path fill="none" stroke="midnightblue" d="M3732.71,-369.32C3785.73,-333.07 3989.71,-193.66 4056.03,-148.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4058.17,-151.11 4064.45,-142.58 4054.22,-145.33 4058.17,-151.11"/>
+<path fill="none" stroke="midnightblue" d="M3173.33,-369.39C3185.96,-361.72 3202.5,-349.21 3210,-333 3213.73,-324.93 3212.84,-321.42 3210,-313 3198.04,-277.54 3190.2,-266.67 3159,-246 3105.08,-210.28 3059,-260.02 3018,-210 3004.94,-194.07 3006.3,-169.37 3009.36,-152.48"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3012.79,-153.19 3011.49,-142.68 3005.95,-151.71 3012.79,-153.19"/>
</g>
<!-- Node46->Node36 -->
<g id="edge99" class="edge">
<title>Node46->Node36</title>
-<path fill="none" stroke="midnightblue" d="M3670.8,-377.16C3513.04,-374.23 3005.73,-362.94 2587,-333 2575.17,-332.15 2562.46,-330.99 2550.5,-329.77"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2550.55,-326.26 2540.24,-328.7 2549.82,-333.22 2550.55,-326.26"/>
+<path fill="none" stroke="midnightblue" d="M3134.34,-369.44C3110.6,-360.48 3073.09,-346.31 3046.26,-336.18"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3047.14,-332.77 3036.55,-332.52 3044.67,-339.32 3047.14,-332.77"/>
</g>
<!-- Node47->Node5 -->
<g id="edge105" class="edge">
<title>Node47->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2536.58,-481.48C2467.84,-447.92 2217.41,-326 2180,-313 2112.79,-289.65 2093.04,-294.23 2024,-277 2019.7,-275.93 2015.21,-274.77 2010.75,-273.61"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2011.64,-270.22 2001.08,-271.05 2009.85,-276.99 2011.64,-270.22"/>
+<path fill="none" stroke="midnightblue" d="M2373.99,-481.36C2379.92,-472.53 2388.95,-458.26 2395,-445 2420.59,-388.86 2407.57,-366.67 2438,-313 2445.26,-300.2 2456.1,-287.71 2465.2,-278.36"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2467.68,-280.82 2472.32,-271.3 2462.75,-275.85 2467.68,-280.82"/>
</g>
<!-- Node47->Node7 -->
<g id="edge104" class="edge">
<title>Node47->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2497.96,-483.54C2396.6,-471.85 2176.04,-446.42 1990,-425 1850.89,-408.98 1812.91,-422.7 1677,-389 1592.04,-367.94 1393.64,-271.8 1310,-246 1242.01,-225.03 1221.65,-232.05 1154,-210 1117.93,-198.24 1030.04,-161.63 997,-143 970.92,-128.29 943.43,-108.04 924.22,-93.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="926.29,-90.19 916.27,-86.73 921.94,-95.68 926.29,-90.19"/>
+<path fill="none" stroke="midnightblue" d="M2311.81,-485.85C2110.97,-470.68 1410.05,-414.81 836,-333 801.78,-328.12 559.54,-294.95 530,-277 465.79,-238 445.56,-141.91 439.47,-96.73"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="442.93,-96.15 438.24,-86.65 435.98,-97 442.93,-96.15"/>
</g>
<!-- Node48 -->
<g id="node48" class="node">
<title>Node48</title>
<g id="a_node48"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object.">
-<polygon fill="white" stroke="black" points="2771,-425.5 2771,-444.5 2881,-444.5 2881,-425.5 2771,-425.5"/>
-<text text-anchor="middle" x="2826" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
+<polygon fill="white" stroke="black" points="2276,-425.5 2276,-444.5 2386,-444.5 2386,-425.5 2276,-425.5"/>
+<text text-anchor="middle" x="2331" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target.h</text>
</a>
</g>
</g>
<!-- Node47->Node48 -->
<g id="edge106" class="edge">
<title>Node47->Node48</title>
-<path fill="none" stroke="midnightblue" d="M2597.1,-481.44C2644.85,-471.96 2721.86,-456.67 2773.19,-446.48"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2773.98,-449.9 2783.1,-444.52 2772.61,-443.03 2773.98,-449.9"/>
+<path fill="none" stroke="midnightblue" d="M2361.89,-481.08C2356.72,-473.53 2349.15,-462.49 2342.81,-453.23"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2345.54,-451.02 2337,-444.75 2339.76,-454.98 2345.54,-451.02"/>
</g>
<!-- Node48->Node5 -->
<g id="edge109" class="edge">
<title>Node48->Node5</title>
-<path fill="none" stroke="midnightblue" d="M2778.81,-425.44C2659.03,-403.62 2349.46,-346.71 2304,-333 2281.87,-326.33 2278.25,-319.26 2256,-313 2155.56,-284.73 2126.09,-298.56 2024,-277 2019.26,-276 2014.32,-274.84 2009.44,-273.62"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2010.13,-270.18 1999.57,-271.06 2008.37,-276.96 2010.13,-270.18"/>
+<path fill="none" stroke="midnightblue" d="M2334.14,-425.44C2342.25,-404.24 2365.71,-348.47 2400,-313 2415.3,-297.18 2436.54,-284.28 2453.57,-275.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2455.14,-278.6 2462.54,-271.01 2452.03,-272.33 2455.14,-278.6"/>
</g>
<!-- Node48->Node7 -->
<g id="edge107" class="edge">
<title>Node48->Node7</title>
-<path fill="none" stroke="midnightblue" d="M2770.85,-433.37C2562.34,-430.75 1828.94,-419.45 1729,-389 1612.77,-353.59 1609.99,-288.07 1496,-246 1399.76,-210.48 1368.01,-232.87 1268,-210 1217.77,-198.51 1094.04,-161.64 1046,-143 1006.83,-127.8 963.66,-106.53 934.3,-91.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="935.76,-88.14 925.28,-86.63 932.53,-94.35 935.76,-88.14"/>
+<path fill="none" stroke="midnightblue" d="M2275.83,-430.67C2165.07,-423.85 1907.8,-407.41 1692,-389 1629.86,-383.7 630.6,-305.26 575,-277 500.96,-239.37 459.91,-141.43 444.35,-96.12"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="447.65,-94.94 441.18,-86.55 441,-97.14 447.65,-94.94"/>
</g>
<!-- Node48->Node9 -->
<g id="edge108" class="edge">
<title>Node48->Node9</title>
-<path fill="none" stroke="midnightblue" d="M2825.94,-425.09C2825.2,-394.45 2818.29,-292.74 2760,-246 2707.27,-203.72 2524.91,-219.56 2458,-210 2445.8,-208.26 2432.68,-206.18 2420.41,-204.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2420.79,-200.66 2410.35,-202.46 2419.63,-207.56 2420.79,-200.66"/>
+<path fill="none" stroke="midnightblue" d="M2386.01,-434.29C2582.55,-434.46 3267.99,-427.8 3823,-333 4025.14,-298.47 4262.11,-233.14 4353.92,-206.87"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4354.98,-210.2 4363.62,-204.08 4353.05,-203.48 4354.98,-210.2"/>
</g>
<!-- Node48->Node24 -->
<g id="edge143" class="edge">
<title>Node48->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2831.42,-425.27C2848.79,-396.07 2899.4,-300.52 2854,-246 2811.24,-194.64 2749.21,-262.61 2708,-210 2699.5,-199.15 2701.55,-191.18 2708,-179 2721.33,-153.84 2747.67,-168.16 2761,-143 2765.16,-135.14 2766.1,-130.28 2761,-123 2737,-88.75 2687.28,-77.64 2654.27,-74.09"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2654.47,-70.59 2644.2,-73.18 2653.85,-77.57 2654.47,-70.59"/>
+<path fill="none" stroke="midnightblue" d="M2332.1,-425.32C2333.92,-412.6 2338.15,-388.31 2346,-369 2369.28,-311.74 2474.51,-182.14 2479,-179 2585.03,-104.9 2742.79,-81.78 2809.91,-75.06"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2810.25,-78.54 2819.88,-74.11 2809.59,-71.57 2810.25,-78.54"/>
</g>
<!-- Node48->Node46 -->
<g id="edge110" class="edge">
<title>Node48->Node46</title>
-<path fill="none" stroke="midnightblue" d="M2881.25,-430.66C3040.03,-421.07 3496.73,-393.49 3660.59,-383.59"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3661.18,-387.06 3670.96,-382.96 3660.76,-380.07 3661.18,-387.06"/>
+<path fill="none" stroke="midnightblue" d="M2386.16,-430.39C2535,-420.66 2943.95,-393.93 3097.6,-383.88"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3098.03,-387.36 3107.78,-383.22 3097.58,-380.38 3098.03,-387.36"/>
</g>
<!-- Node48->Node49 -->
<g id="edge111" class="edge">
<title>Node48->Node49</title>
-<path fill="none" stroke="midnightblue" d="M2858.33,-425.5C2966.3,-397.1 3314.41,-305.53 3435.78,-273.6"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3436.69,-276.98 3445.47,-271.06 3434.91,-270.22 3436.69,-276.98"/>
+<path fill="none" stroke="midnightblue" d="M2275.8,-428.71C2126.31,-414.31 1701.11,-372.78 1348,-333 1166.22,-312.52 952.49,-285.55 843.97,-271.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="844.17,-268.15 833.8,-270.35 843.28,-275.1 844.17,-268.15"/>
</g>
<!-- Node52 -->
<g id="node52" class="node">
<title>Node52</title>
<g id="a_node52"><a xlink:href="device__api_8h.html" target="_top" xlink:title="Abstract device memory management API.">
-<polygon fill="white" stroke="black" points="2466.5,-179.5 2466.5,-209.5 2579.5,-209.5 2579.5,-179.5 2466.5,-179.5"/>
-<text text-anchor="start" x="2474.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
-<text text-anchor="middle" x="2523" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
+<polygon fill="white" stroke="black" points="4184.5,-179.5 4184.5,-209.5 4297.5,-209.5 4297.5,-179.5 4184.5,-179.5"/>
+<text text-anchor="start" x="4192.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/runtime/device</text>
+<text text-anchor="middle" x="4241" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">_api.h</text>
</a>
</g>
</g>
<!-- Node48->Node52 -->
<g id="edge117" class="edge">
<title>Node48->Node52</title>
-<path fill="none" stroke="midnightblue" d="M2828.02,-425.06C2835.39,-391.46 2859.2,-273.25 2836,-246 2820.23,-227.48 2677.03,-210.46 2589.88,-201.7"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2590.1,-198.2 2579.8,-200.7 2589.41,-205.17 2590.1,-198.2"/>
+<path fill="none" stroke="midnightblue" d="M2386.14,-432.91C2553.57,-429.31 3054.45,-416.5 3215,-389 3435.24,-351.28 3477.59,-288.31 3697,-246 3786.68,-228.71 4049.3,-208.85 4173.91,-200.08"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4174.35,-203.56 4184.08,-199.36 4173.86,-196.57 4174.35,-203.56"/>
</g>
<!-- Node53 -->
<g id="node53" class="node">
<title>Node53</title>
<g id="a_node53"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry.">
-<polygon fill="white" stroke="black" points="3633,-252 3633,-271 3769,-271 3769,-252 3633,-252"/>
-<text text-anchor="middle" x="3701" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target_kind.h</text>
+<polygon fill="white" stroke="black" points="1262,-252 1262,-271 1398,-271 1398,-252 1262,-252"/>
+<text text-anchor="middle" x="1330" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/target/target_kind.h</text>
</a>
</g>
</g>
<!-- Node48->Node53 -->
<g id="edge124" class="edge">
<title>Node48->Node53</title>
-<path fill="none" stroke="midnightblue" d="M2869.39,-425.5C3015.25,-396.91 3487.64,-304.32 3647.53,-272.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3648.47,-276.36 3657.61,-271.01 3647.12,-269.49 3648.47,-276.36"/>
+<path fill="none" stroke="midnightblue" d="M2281.36,-425.5C2114,-396.82 1570.84,-303.76 1389.53,-272.7"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1390.09,-269.24 1379.64,-271.01 1388.91,-276.14 1390.09,-269.24"/>
</g>
<!-- Node49->Node16 -->
<g id="edge115" class="edge">
<title>Node49->Node16</title>
-<path fill="none" stroke="midnightblue" d="M3538.67,-253.74C3564.89,-251.01 3595.93,-248.03 3624,-246 3799.94,-233.28 4244.71,-247.86 4417,-210 4452.63,-202.17 4458.64,-191.27 4493,-179 4572.7,-150.55 4593.24,-144.85 4675,-123 4741.85,-105.14 4821.09,-88.09 4864.51,-79.1"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4865.4,-82.48 4874.49,-77.04 4863.99,-75.63 4865.4,-82.48"/>
+<path fill="none" stroke="midnightblue" d="M833.55,-257.67C907.5,-254.33 1036.41,-248.85 1147,-246 1224.76,-243.99 3873.69,-236.01 3947,-210 4005.74,-189.15 3998.49,-144.48 4057,-123 4166.27,-82.89 4987.71,-92.12 5104,-87 5189.6,-83.23 5290.38,-77.47 5341.19,-74.47"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.47,-77.96 5351.25,-73.87 5341.06,-70.97 5341.47,-77.96"/>
</g>
<!-- Node49->Node25 -->
<g id="edge116" class="edge">
<title>Node49->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3538.66,-253.58C3564.87,-250.83 3595.92,-247.87 3624,-246 4093.9,-214.71 4213.68,-248.97 4683,-210 4787.55,-201.32 4812.51,-188.33 4917,-179 5088.95,-163.65 5529.7,-198.97 5693,-143 5710.54,-136.99 5750.66,-106.4 5774.4,-87.54"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5776.72,-90.17 5782.34,-81.19 5772.35,-84.7 5776.72,-90.17"/>
+<path fill="none" stroke="midnightblue" d="M782.34,-251.7C792.86,-241.73 810.38,-224.93 825,-210 861.96,-172.25 858.75,-146.63 906,-123 983.42,-84.29 1250.81,-75.12 1346.01,-73.07"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1346.31,-76.56 1356.23,-72.86 1346.16,-69.56 1346.31,-76.56"/>
</g>
<!-- Node49->Node32 -->
<g id="edge113" class="edge">
<title>Node49->Node32</title>
-<path fill="none" stroke="midnightblue" d="M3475.98,-251.73C3473.75,-242.09 3470.11,-226.3 3467.25,-213.91"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3470.65,-213.08 3464.99,-204.13 3463.83,-214.66 3470.65,-213.08"/>
+<path fill="none" stroke="midnightblue" d="M833.55,-257.71C907.5,-254.4 1036.41,-248.97 1147,-246 2218.73,-217.23 2487.31,-240.45 3559,-210 3668.02,-206.9 3796.27,-200.91 3861.75,-197.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3862.28,-201.17 3872.09,-197.17 3861.93,-194.17 3862.28,-201.17"/>
</g>
<!-- Node50 -->
<g id="node50" class="node">
<title>Node50</title>
<g id="a_node50"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="3513.5,-185 3513.5,-204 3578.5,-204 3578.5,-185 3513.5,-185"/>
-<text text-anchor="middle" x="3546" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
+<polygon fill="white" stroke="#bfbfbf" points="674.5,-185 674.5,-204 739.5,-204 739.5,-185 674.5,-185"/>
+<text text-anchor="middle" x="707" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">exception</text>
</a>
</g>
</g>
<!-- Node49->Node50 -->
<g id="edge112" class="edge">
<title>Node49->Node50</title>
-<path fill="none" stroke="midnightblue" d="M3487.17,-251.73C3497.98,-241.4 3516.15,-224.04 3529.44,-211.33"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3532.16,-213.57 3536.97,-204.13 3527.33,-208.51 3532.16,-213.57"/>
+<path fill="none" stroke="midnightblue" d="M764.1,-251.73C753.61,-241.4 735.98,-224.04 723.08,-211.33"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="725.34,-208.65 715.76,-204.13 720.43,-213.64 725.34,-208.65"/>
</g>
<!-- Node49->Node51 -->
<g id="edge114" class="edge">
<title>Node49->Node51</title>
-<path fill="none" stroke="midnightblue" d="M3497.65,-251.87C3523.09,-240.7 3567.6,-221.15 3596.95,-208.26"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3598.52,-211.39 3606.27,-204.17 3595.7,-204.98 3598.52,-211.39"/>
+<path fill="none" stroke="midnightblue" d="M774.89,-251.73C776.97,-242.09 780.37,-226.3 783.04,-213.91"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="786.46,-214.64 785.14,-204.13 779.61,-213.17 786.46,-214.64"/>
</g>
<!-- Node52->Node8 -->
<g id="edge121" class="edge">
<title>Node52->Node8</title>
-<path fill="none" stroke="midnightblue" d="M2579.55,-181.79C2584.44,-180.83 2589.3,-179.89 2594,-179 2664.42,-165.69 2745.9,-151.78 2798.38,-143.01"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2799.18,-146.42 2808.47,-141.33 2798.03,-139.52 2799.18,-146.42"/>
+<path fill="none" stroke="midnightblue" d="M4184.42,-188.66C4053.32,-177.43 3730.12,-149.76 3600.79,-138.69"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3600.98,-135.19 3590.72,-137.83 3600.38,-142.17 3600.98,-135.19"/>
</g>
<!-- Node52->Node10 -->
<g id="edge118" class="edge">
<title>Node52->Node10</title>
-<path fill="none" stroke="midnightblue" d="M2503.57,-179.4C2490.79,-170.13 2474.11,-158.03 2461.19,-148.65"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2463.08,-145.7 2452.93,-142.66 2458.97,-151.36 2463.08,-145.7"/>
+<path fill="none" stroke="midnightblue" d="M4208.53,-179.4C4185.65,-169.46 4155.27,-156.26 4133.16,-146.66"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4134.5,-143.43 4123.93,-142.66 4131.71,-149.85 4134.5,-143.43"/>
</g>
<!-- Node52->Node13 -->
<g id="edge119" class="edge">
<title>Node52->Node13</title>
-<path fill="none" stroke="midnightblue" d="M2520.29,-179.33C2516.38,-162.99 2507.48,-136.63 2489,-123 2466.6,-106.48 2294.23,-86.79 2205.87,-77.64"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2206.09,-74.14 2195.79,-76.6 2205.38,-81.11 2206.09,-74.14"/>
+<path fill="none" stroke="midnightblue" d="M4184.24,-181.54C4133.16,-170.2 4064.93,-153.4 4057,-143 4051.61,-135.93 4051.01,-129.57 4057,-123 4073.5,-104.9 4416.89,-83.2 4549.96,-75.44"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4550.52,-78.91 4560.3,-74.84 4550.11,-71.92 4550.52,-78.91"/>
</g>
<!-- Node52->Node15 -->
<g id="edge120" class="edge">
<title>Node52->Node15</title>
-<path fill="none" stroke="midnightblue" d="M2565.18,-179.4C2595.81,-169.16 2636.77,-155.47 2665.67,-145.81"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2666.98,-149.06 2675.36,-142.57 2664.77,-142.42 2666.98,-149.06"/>
+<path fill="none" stroke="midnightblue" d="M4233.89,-179.4C4229.71,-171.11 4224.39,-160.55 4219.93,-151.71"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="4222.99,-150.01 4215.37,-142.66 4216.74,-153.16 4222.99,-150.01"/>
</g>
<!-- Node52->Node21 -->
<g id="edge122" class="edge">
<title>Node52->Node21</title>
-<path fill="none" stroke="midnightblue" d="M2466.46,-184.36C2451.1,-182.23 2434.45,-180.22 2419,-179 2207.84,-162.35 718.06,-196.05 513,-143 469.74,-131.81 424.93,-104.11 399.94,-86.95"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="401.87,-84.03 391.67,-81.16 397.85,-89.76 401.87,-84.03"/>
+<path fill="none" stroke="midnightblue" d="M4184.49,-181.58C4179.59,-180.66 4174.72,-179.79 4170,-179 4048.43,-158.65 4017.19,-159.25 3895,-143 3829.2,-134.25 3813.17,-128.22 3747,-123 3057.85,-68.63 2878.35,-169.55 2192,-87 2184.47,-86.09 2176.53,-84.72 2168.87,-83.17"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2169.53,-79.74 2159.02,-81.06 2168.07,-86.58 2169.53,-79.74"/>
</g>
<!-- Node52->Node24 -->
<g id="edge123" class="edge">
<title>Node52->Node24</title>
-<path fill="none" stroke="midnightblue" d="M2552.82,-179.4C2568.21,-170.79 2586.17,-158.46 2598,-143 2609.65,-127.78 2615.85,-106.55 2619.01,-91.37"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2622.53,-91.61 2620.88,-81.15 2615.64,-90.36 2622.53,-91.61"/>
+<path fill="none" stroke="midnightblue" d="M4186.35,-179.49C4119.2,-162.92 4001.55,-135.94 3899,-123 3497,-72.28 3003.14,-71.47 2874.07,-72.22"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2874.03,-68.72 2864.06,-72.28 2874.08,-75.72 2874.03,-68.72"/>
</g>
<!-- Node53->Node7 -->
<g id="edge126" class="edge">
<title>Node53->Node7</title>
-<path fill="none" stroke="midnightblue" d="M3632.91,-253.09C3606.43,-250.46 3575.83,-247.73 3548,-246 3004.36,-212.29 2866.51,-245.65 2323,-210 2187.48,-201.11 2154.16,-192.32 2019,-179 1913.04,-168.56 1175.01,-98.64 958.54,-78.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="958.62,-74.63 948.33,-77.17 957.96,-81.6 958.62,-74.63"/>
+<path fill="none" stroke="midnightblue" d="M1321.27,-251.93C1294.8,-226.58 1212.03,-151.92 1127,-123 1010.95,-83.53 641.35,-74.9 496.27,-73.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.26,-69.52 486.22,-72.9 496.17,-76.52 496.26,-69.52"/>
</g>
<!-- Node53->Node16 -->
<g id="edge141" class="edge">
<title>Node53->Node16</title>
-<path fill="none" stroke="midnightblue" d="M3769.04,-258.66C3934.72,-253.79 4355.55,-238.87 4493,-210 4603.22,-186.85 4624.2,-158.74 4731,-123 4777.08,-107.58 4831,-91.54 4864.58,-81.79"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4865.69,-85.11 4874.32,-78.97 4863.74,-78.39 4865.69,-85.11"/>
+<path fill="none" stroke="midnightblue" d="M1398.06,-259.54C1852.85,-253.08 4433.31,-216.16 4441,-210 4472.05,-185.14 4431.44,-148.46 4462,-123 4463.08,-122.1 5177.99,-83.16 5341.13,-74.29"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.69,-77.76 5351.49,-73.72 5341.31,-70.77 5341.69,-77.76"/>
</g>
<!-- Node53->Node20 -->
<g id="edge125" class="edge">
<title>Node53->Node20</title>
-<path fill="none" stroke="midnightblue" d="M3632.92,-252.92C3606.44,-250.27 3575.84,-247.57 3548,-246 2656.38,-195.84 2428.48,-289.59 1539,-210 1233.11,-182.63 870.71,-110.48 740.06,-83.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="740.46,-79.69 729.96,-81.06 739.03,-86.54 740.46,-79.69"/>
+<path fill="none" stroke="midnightblue" d="M1334.43,-251.87C1343.46,-235.15 1365.66,-198.29 1395,-179 1498.3,-111.06 1644.03,-86.21 1725.25,-77.31"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1725.74,-80.78 1735.31,-76.25 1725,-73.82 1725.74,-80.78"/>
</g>
<!-- Node53->Node21 -->
<g id="edge138" class="edge">
<title>Node53->Node21</title>
-<path fill="none" stroke="midnightblue" d="M3632.92,-252.89C3606.45,-250.24 3575.84,-247.54 3548,-246 2543.18,-190.48 2288.89,-264.27 1284,-210 1134.25,-201.91 1097.45,-191.41 948,-179 839.63,-170 560.24,-185.14 460,-143 432.24,-131.33 407.46,-106.03 393.08,-89.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="395.6,-86.68 386.55,-81.18 390.19,-91.13 395.6,-86.68"/>
+<path fill="none" stroke="midnightblue" d="M1375.27,-251.92C1428.75,-241.42 1514.24,-223.39 1544,-210 1565.82,-200.19 1566.09,-188.6 1588,-179 1696.27,-131.56 1732.06,-146.01 1848,-123 1923.08,-108.1 2009.91,-92.6 2066.28,-82.77"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2067.19,-86.17 2076.44,-81 2065.99,-79.27 2067.19,-86.17"/>
</g>
<!-- Node53->Node25 -->
<g id="edge142" class="edge">
<title>Node53->Node25</title>
-<path fill="none" stroke="midnightblue" d="M3769.44,-258.36C4034.32,-250 4980.56,-219.62 5044,-210 5096.34,-202.07 5106.75,-187.52 5159,-179 5224.81,-168.27 5702.41,-179.82 5758,-143 5775.76,-131.24 5784.87,-107.67 5789.27,-91.02"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5792.68,-91.82 5791.54,-81.28 5785.87,-90.23 5792.68,-91.82"/>
+<path fill="none" stroke="midnightblue" d="M1327.6,-251.79C1323.84,-236.71 1317.61,-204.9 1324,-179 1332.43,-144.86 1353.99,-109.57 1367.76,-89.4"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1370.76,-91.22 1373.64,-81.02 1365.03,-87.2 1370.76,-91.22"/>
</g>
<!-- Node53->Node39 -->
<g id="edge140" class="edge">
<title>Node53->Node39</title>
-<path fill="none" stroke="midnightblue" d="M3709.43,-251.74C3724.08,-236.59 3755.33,-204.66 3783,-179 3793.94,-168.85 3806.6,-157.88 3816.68,-149.32"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3819.07,-151.88 3824.46,-142.76 3814.56,-146.53 3819.07,-151.88"/>
+<path fill="none" stroke="midnightblue" d="M1312.27,-251.81C1267.79,-230 1151.29,-172.88 1098.58,-147.03"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1100.04,-143.85 1089.52,-142.59 1096.95,-150.13 1100.04,-143.85"/>
</g>
<!-- Node53->Node44 -->
<g id="edge127" class="edge">
<title>Node53->Node44</title>
-<path fill="none" stroke="midnightblue" d="M3769.14,-258.78C3945.5,-254.03 4431.32,-239.15 4835,-210 4861.28,-208.1 4890.18,-205.35 4915.21,-202.75"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4915.74,-206.21 4925.32,-201.69 4915.01,-199.25 4915.74,-206.21"/>
+<path fill="none" stroke="midnightblue" d="M1398.07,-258.46C1722.82,-248.71 3112.08,-207 3430.01,-197.45"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="3430.53,-200.94 3440.42,-197.14 3430.32,-193.94 3430.53,-200.94"/>
</g>
<!-- Node53->Node51 -->
<g id="edge139" class="edge">
<title>Node53->Node51</title>
-<path fill="none" stroke="midnightblue" d="M3690.89,-251.73C3678.85,-241.31 3658.55,-223.71 3643.85,-210.97"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3645.8,-208.03 3635.95,-204.13 3641.22,-213.32 3645.8,-208.03"/>
+<path fill="none" stroke="midnightblue" d="M1262.54,-251.99C1246.62,-250 1229.71,-247.91 1214,-246 1071.04,-228.61 901.04,-208.75 825.95,-200.02"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="826.34,-196.54 816,-198.86 825.53,-203.49 826.34,-196.54"/>
</g>
<!-- Node54 -->
<g id="node54" class="node">
<title>Node54</title>
<g id="a_node54"><a xlink:href="config__schema_8h.html" target="_top" xlink:title="Minimal schema for dynamic config canonicalization and validation.">
-<polygon fill="white" stroke="black" points="4205.5,-185 4205.5,-204 4336.5,-204 4336.5,-185 4205.5,-185"/>
-<text text-anchor="middle" x="4271" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/config_schema.h</text>
+<polygon fill="white" stroke="black" points="1404.5,-185 1404.5,-204 1535.5,-204 1535.5,-185 1404.5,-185"/>
+<text text-anchor="middle" x="1470" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">tvm/ir/config_schema.h</text>
</a>
</g>
</g>
<!-- Node53->Node54 -->
<g id="edge128" class="edge">
<title>Node53->Node54</title>
-<path fill="none" stroke="midnightblue" d="M3769.19,-252.72C3876.36,-240.5 4083.49,-216.88 4195.2,-204.14"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4195.83,-207.59 4205.37,-202.98 4195.04,-200.64 4195.83,-207.59"/>
+<path fill="none" stroke="midnightblue" d="M1348.59,-251.87C1372.54,-240.75 1414.39,-221.32 1442.15,-208.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1443.74,-211.55 1451.33,-204.17 1440.79,-205.2 1443.74,-211.55"/>
</g>
<!-- Node54->Node7 -->
<g id="edge131" class="edge">
<title>Node54->Node7</title>
-<path fill="none" stroke="midnightblue" d="M4205.43,-191.89C4094.12,-189.16 3861.07,-183.5 3664,-179 2928.46,-162.21 2743.32,-188.57 2009,-143 1922.05,-137.6 1900.85,-129.85 1814,-123 1491.45,-97.57 1103.93,-80.67 958.22,-74.8"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="958.28,-71.3 948.15,-74.4 958,-78.3 958.28,-71.3"/>
+<path fill="none" stroke="midnightblue" d="M1460.28,-184.99C1441.73,-169.35 1399.33,-136.39 1357,-123 1195.78,-72.01 673.4,-70.8 496.33,-71.92"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="496.14,-68.42 486.16,-71.99 496.19,-75.42 496.14,-68.42"/>
</g>
<!-- Node54->Node16 -->
<g id="edge136" class="edge">
<title>Node54->Node16</title>
-<path fill="none" stroke="midnightblue" d="M4277.44,-184.64C4289.35,-169.02 4316.51,-136.93 4348,-123 4395.23,-102.11 4752.99,-80.55 4864.15,-74.3"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4864.63,-77.78 4874.42,-73.72 4864.24,-70.79 4864.63,-77.78"/>
+<path fill="none" stroke="midnightblue" d="M1535.7,-186.16C1562.17,-183.48 1593,-180.69 1621,-179 2272.46,-139.78 2436.81,-167.14 3089,-143 3268.65,-136.35 3313.34,-129.45 3493,-123 4208.72,-97.29 4388.34,-114.21 5104,-87 5189.62,-83.75 5290.39,-77.76 5341.2,-74.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5341.49,-78.08 5351.25,-73.96 5341.05,-71.1 5341.49,-78.08"/>
</g>
<!-- Node54->Node20 -->
<g id="edge130" class="edge">
<title>Node54->Node20</title>
-<path fill="none" stroke="midnightblue" d="M4205.43,-191.84C4094.12,-189.04 3861.07,-183.27 3664,-179 3458.45,-174.55 2017.43,-172.75 1814,-143 1781.14,-138.19 1774.81,-128.14 1742,-123 1346.07,-60.96 1240.84,-114.16 841,-87 811.29,-84.98 778.38,-81.92 750.88,-79.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="750.93,-75.61 740.62,-78.07 750.21,-82.58 750.93,-75.61"/>
+<path fill="none" stroke="midnightblue" d="M1492.22,-184.99C1547.16,-163.95 1689.57,-109.42 1753.77,-84.84"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1755.29,-88.01 1763.38,-81.16 1752.79,-81.47 1755.29,-88.01"/>
</g>
<!-- Node54->Node24 -->
<g id="edge133" class="edge">
<title>Node54->Node24</title>
-<path fill="none" stroke="midnightblue" d="M4260.71,-184.9C4241.08,-169.08 4196.28,-135.86 4152,-123 4025.61,-86.3 3099.53,-91.76 2968,-87 2852.66,-82.83 2715.73,-76.76 2654.46,-73.98"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2654.41,-70.48 2644.26,-73.52 2654.09,-77.47 2654.41,-70.48"/>
+<path fill="none" stroke="midnightblue" d="M1514.41,-185C1594.8,-169.95 1769.91,-138.74 1919,-123 2266.45,-86.31 2690.46,-75.5 2809.54,-73.09"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2809.86,-76.58 2819.79,-72.89 2809.72,-69.59 2809.86,-76.58"/>
</g>
<!-- Node54->Node25 -->
<g id="edge137" class="edge">
<title>Node54->Node25</title>
-<path fill="none" stroke="midnightblue" d="M4336.63,-190.99C4594.64,-181.12 5525.98,-145.37 5541,-143 5621.23,-130.36 5712.31,-100.99 5759.95,-84.42"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="5761.16,-87.71 5769.44,-81.09 5758.84,-81.1 5761.16,-87.71"/>
+<path fill="none" stroke="midnightblue" d="M1463.53,-184.8C1448.67,-164.83 1411.92,-115.42 1392.5,-89.3"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1395.19,-87.06 1386.41,-81.12 1389.57,-91.24 1395.19,-87.06"/>
</g>
<!-- Node54->Node30 -->
<g id="edge134" class="edge">
<title>Node54->Node30</title>
-<path fill="none" stroke="midnightblue" d="M4274.02,-184.6C4279.62,-169.5 4293.07,-138.96 4315,-123 4361.55,-89.14 4428.34,-77.86 4472.19,-74.18"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4472.55,-77.66 4482.27,-73.43 4472.04,-70.68 4472.55,-77.66"/>
+<path fill="none" stroke="midnightblue" d="M1535.69,-185.94C1562.15,-183.22 1592.99,-180.46 1621,-179 1737.29,-172.93 5700.98,-174.81 5813,-143 5829.5,-138.31 5831,-131.32 5846,-123 5870.27,-109.55 5898.54,-95.4 5918.82,-85.52"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5920.61,-88.54 5928.08,-81.03 5917.56,-82.24 5920.61,-88.54"/>
</g>
<!-- Node54->Node35 -->
<g id="edge129" class="edge">
<title>Node54->Node35</title>
-<path fill="none" stroke="midnightblue" d="M4243.2,-184.98C4209.35,-174.59 4152.03,-157.01 4114.35,-145.45"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4115.33,-142.1 4104.74,-142.51 4113.28,-148.79 4115.33,-142.1"/>
+<path fill="none" stroke="midnightblue" d="M1535.71,-186.28C1562.17,-183.61 1593.01,-180.79 1621,-179 2122.94,-146.83 2728.16,-137.23 2938.01,-134.76"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2938.34,-138.26 2948.3,-134.64 2938.26,-131.26 2938.34,-138.26"/>
</g>
<!-- Node54->Node39 -->
<g id="edge135" class="edge">
<title>Node54->Node39</title>
-<path fill="none" stroke="midnightblue" d="M4208.53,-184.98C4123.74,-173.4 3973.45,-152.89 3891.74,-141.74"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="3892.02,-138.25 3881.64,-140.36 3891.07,-145.18 3892.02,-138.25"/>
+<path fill="none" stroke="midnightblue" d="M1412.98,-184.98C1337.33,-173.67 1204.56,-153.82 1128.95,-142.51"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="1129.08,-138.99 1118.67,-140.98 1128.05,-145.92 1129.08,-138.99"/>
</g>
<!-- Node55 -->
<g id="node55" class="node">
<title>Node55</title>
<g id="a_node55"><a xlink:title=" ">
-<polygon fill="white" stroke="#bfbfbf" points="4357,-123.5 4357,-142.5 4413,-142.5 4413,-123.5 4357,-123.5"/>
-<text text-anchor="middle" x="4385" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
+<polygon fill="white" stroke="#bfbfbf" points="561,-123.5 561,-142.5 617,-142.5 617,-123.5 561,-123.5"/>
+<text text-anchor="middle" x="589" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">sstream</text>
</a>
</g>
</g>
<!-- Node54->Node55 -->
<g id="edge132" class="edge">
<title>Node54->Node55</title>
-<path fill="none" stroke="midnightblue" d="M4287.33,-184.98C4306.21,-175.12 4337.51,-158.79 4359.58,-147.27"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4361.45,-150.24 4368.7,-142.51 4358.21,-144.03 4361.45,-150.24"/>
+<path fill="none" stroke="midnightblue" d="M1404.14,-189.05C1230.5,-177.32 764.17,-145.83 627.28,-136.59"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="627.47,-133.09 617.26,-135.91 627,-140.07 627.47,-133.09"/>
</g>
<!-- Node57->Node16 -->
<g id="edge161" class="edge">
<title>Node57->Node16</title>
-<path fill="none" stroke="midnightblue" d="M4773.17,-598.86C4801.6,-585.38 4858.38,-558.67 4907,-537 5214.78,-399.85 5452.34,-517.1 5591,-210 5612.99,-161.29 5558.42,-140.72 5508,-123 5399.77,-84.96 5040.56,-75.17 4929.8,-73.03"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4929.65,-69.53 4919.58,-72.85 4929.52,-76.53 4929.65,-69.53"/>
+<path fill="none" stroke="midnightblue" d="M4665.8,-598.92C4694.6,-578.07 4771,-523.33 4837,-481 4960.12,-402.03 4986.64,-373.09 5120,-313 5167.67,-291.52 5183.06,-295.39 5232,-277 5302.25,-250.6 5338.33,-267.13 5387,-210 5412.55,-180.01 5414.43,-160.99 5404,-123 5400.68,-110.9 5393.62,-98.77 5387.19,-89.43"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="5389.85,-87.14 5381.12,-81.13 5384.19,-91.27 5389.85,-87.14"/>
</g>
<!-- Node57->Node24 -->
<g id="edge160" class="edge">
<title>Node57->Node24</title>
-<path fill="none" stroke="midnightblue" d="M4762.26,-598.75C4799.43,-554.44 4973.99,-352.85 5159,-246 5198.1,-223.42 5228.35,-247.16 5254,-210 5261.83,-198.66 5262.51,-189.84 5254,-179 5212.48,-126.08 5170.46,-165.29 5107,-143 5087.11,-136.02 5084.54,-127.73 5064,-123 4837.01,-70.75 3200.82,-93.88 2968,-87 2852.63,-83.59 2715.72,-77.14 2654.45,-74.13"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="2654.42,-70.62 2644.26,-73.62 2654.07,-77.61 2654.42,-70.62"/>
+<path fill="none" stroke="midnightblue" d="M4618.05,-598.99C4570.32,-585.31 4492,-553.48 4492,-492 4492,-492 4492,-492 4492,-378 4492,-263.21 4375.41,-291.45 4270,-246 4170.27,-203 4140.86,-203.25 4035,-179 3583.61,-75.58 3014.76,-71.5 2874.4,-72.19"/>
+<polygon fill="midnightblue" stroke="midnightblue" points="2874.29,-68.69 2864.31,-72.25 2874.33,-75.69 2874.29,-68.69"/>
</g>
<!-- Node57->Node45 -->
<g id="edge153" class="edge">
<title>Node57->Node45</title>
-<path fill="none" stroke="midnightblue" d="M4692.98,-601.6C4571.7,-590.08 4304.75,-564.7 4186.88,-553.5"/>
-<polygon fill="midnightblue" stroke="midnightblue" points="4186.91,-549.99 4176.62,-552.53 4186.25,-556.96 4186.91,-549.99"/>
... 221735 lines suppressed ...