You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2025/05/06 16:49:54 UTC
(tvm-site) branch asf-site updated: deploying docs (apache/tvm@fa26a05162c933729cb99eaaaf0e716fee553502)
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 c07a2ee188 deploying docs (apache/tvm@fa26a05162c933729cb99eaaaf0e716fee553502)
c07a2ee188 is described below
commit c07a2ee188e6ac23fc8e3fba6a3ec396a6281882
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Tue May 6 16:49:47 2025 +0000
deploying docs (apache/tvm@fa26a05162c933729cb99eaaaf0e716fee553502)
---
.../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip | Bin 23868 -> 23868 bytes
.../tir_transformation.zip | Bin 15579 -> 15579 bytes
.../relax_creation.zip | Bin 22392 -> 22392 bytes
.../relax_transformation.zip | Bin 11460 -> 11460 bytes
.../optimize_llm.zip | Bin 54065 -> 54065 bytes
.../e2e_opt_model.zip | Bin 11213 -> 11213 bytes
.../quick_start.zip | Bin 16274 -> 16274 bytes
.../tir_creation.zip | Bin 24343 -> 24343 bytes
.../cross_compilation_and_rpc.zip | Bin 21652 -> 21652 bytes
.../customize_opt.zip | Bin 19789 -> 19789 bytes
.../relax/tutorials/sg_execution_times.rst.txt | 6 +-
.../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 | 2 +-
.../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 | 10 +-
docs/_sources/sg_execution_times.rst.txt | 22 +-
docs/commit_hash | 2 +-
docs/deep_dive/relax/tutorials/relax_creation.html | 16 +-
.../relax/tutorials/relax_transformation.html | 15 +-
.../relax/tutorials/sg_execution_times.html | 6 +-
.../tensor_ir/tutorials/sg_execution_times.html | 6 +-
.../tensor_ir/tutorials/tir_creation.html | 44 +-
.../tensor_ir/tutorials/tir_transformation.html | 23 +-
docs/genindex.html | 2 +
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 | 2 +-
docs/how_to/tutorials/customize_opt.html | 4 +-
docs/how_to/tutorials/e2e_opt_model.html | 11 +-
docs/how_to/tutorials/sg_execution_times.html | 10 +-
docs/objects.inv | Bin 17270 -> 17279 bytes
docs/reference/api/doxygen/annotated.html | 381 +-
docs/reference/api/doxygen/classes.html | 2 +-
.../api/doxygen/classtvm_1_1BaseAttrsNode.html | 10 +-
.../classtvm_1_1BaseAttrsNode__inherit__graph.svg | 3336 +++---
.../api/doxygen/classtvm_1_1runtime_1_1Object.html | 2 +-
...asstvm_1_1runtime_1_1Object__inherit__graph.svg | 11879 +++++++++----------
docs/reference/api/doxygen/functions_a.html | 2 +-
docs/reference/api/doxygen/functions_func_g.html | 4 +-
docs/reference/api/doxygen/functions_func_t.html | 3 +-
docs/reference/api/doxygen/functions_g.html | 2 +-
docs/reference/api/doxygen/functions_i.html | 5 +-
docs/reference/api/doxygen/functions_k.html | 4 +-
docs/reference/api/doxygen/functions_t.html | 17 +-
docs/reference/api/doxygen/functions_vars_i.html | 3 +
docs/reference/api/doxygen/hierarchy.html | 258 +-
docs/reference/api/doxygen/inherit_graph_203.svg | 16 +-
docs/reference/api/doxygen/inherit_graph_205.svg | 24 +-
docs/reference/api/doxygen/inherit_graph_35.svg | 8 +-
docs/reference/api/doxygen/inherit_graph_99.svg | 7083 +++++------
docs/reference/api/doxygen/inherits.html | 2 +-
docs/reference/api/doxygen/manipulate_8h.html | 3 +
.../api/doxygen/manipulate_8h_source.html | 103 +-
docs/reference/api/doxygen/namespaces.html | 381 +-
.../api/doxygen/namespacetvm_1_1relax.html | 3 +
docs/reference/api/doxygen/search/all_10.js | 340 +-
docs/reference/api/doxygen/search/all_11.js | 464 +-
docs/reference/api/doxygen/search/all_12.js | 14 +-
docs/reference/api/doxygen/search/all_13.js | 426 +-
docs/reference/api/doxygen/search/all_14.js | 796 +-
docs/reference/api/doxygen/search/all_15.js | 981 +-
docs/reference/api/doxygen/search/all_16.js | 134 +-
docs/reference/api/doxygen/search/all_17.js | 252 +-
docs/reference/api/doxygen/search/all_18.js | 106 +-
docs/reference/api/doxygen/search/all_19.js | 2 +-
docs/reference/api/doxygen/search/all_1a.js | 118 +-
docs/reference/api/doxygen/search/all_2.js | 680 +-
docs/reference/api/doxygen/search/all_3.js | 388 +-
docs/reference/api/doxygen/search/all_4.js | 497 +-
docs/reference/api/doxygen/search/all_5.js | 478 +-
docs/reference/api/doxygen/search/all_6.js | 304 +-
docs/reference/api/doxygen/search/all_7.js | 604 +-
docs/reference/api/doxygen/search/all_8.js | 305 +-
docs/reference/api/doxygen/search/all_9.js | 66 +-
docs/reference/api/doxygen/search/all_a.js | 610 +-
docs/reference/api/doxygen/search/all_b.js | 8 +-
docs/reference/api/doxygen/search/all_c.js | 588 +-
docs/reference/api/doxygen/search/all_d.js | 254 +-
docs/reference/api/doxygen/search/all_e.js | 408 +-
docs/reference/api/doxygen/search/all_f.js | 168 +-
docs/reference/api/doxygen/search/classes_0.js | 383 +-
docs/reference/api/doxygen/search/classes_1.js | 130 +-
docs/reference/api/doxygen/search/classes_10.js | 74 +-
docs/reference/api/doxygen/search/classes_11.js | 238 +-
docs/reference/api/doxygen/search/classes_12.js | 250 +-
docs/reference/api/doxygen/search/classes_13.js | 8 +-
docs/reference/api/doxygen/search/classes_14.js | 46 +-
docs/reference/api/doxygen/search/classes_15.js | 32 +-
docs/reference/api/doxygen/search/classes_2.js | 104 +-
docs/reference/api/doxygen/search/classes_3.js | 134 +-
docs/reference/api/doxygen/search/classes_4.js | 78 +-
docs/reference/api/doxygen/search/classes_5.js | 68 +-
docs/reference/api/doxygen/search/classes_6.js | 32 +-
docs/reference/api/doxygen/search/classes_7.js | 8 +-
docs/reference/api/doxygen/search/classes_8.js | 152 +-
docs/reference/api/doxygen/search/classes_9.js | 4 +-
docs/reference/api/doxygen/search/classes_a.js | 58 +-
docs/reference/api/doxygen/search/classes_b.js | 123 +-
docs/reference/api/doxygen/search/classes_c.js | 36 +-
docs/reference/api/doxygen/search/classes_d.js | 166 +-
docs/reference/api/doxygen/search/classes_e.js | 180 +-
docs/reference/api/doxygen/search/classes_f.js | 2 +-
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 | 6 +-
docs/reference/api/doxygen/search/defines_7.js | 4 +-
docs/reference/api/doxygen/search/defines_8.js | 168 +-
docs/reference/api/doxygen/search/defines_9.js | 2 +-
docs/reference/api/doxygen/search/enums_0.js | 6 +-
docs/reference/api/doxygen/search/enums_1.js | 6 +-
docs/reference/api/doxygen/search/enums_2.js | 6 +-
docs/reference/api/doxygen/search/enums_3.js | 10 +-
docs/reference/api/doxygen/search/enums_4.js | 6 +-
docs/reference/api/doxygen/search/enums_5.js | 4 +-
docs/reference/api/doxygen/search/enums_6.js | 4 +-
docs/reference/api/doxygen/search/enums_7.js | 2 +-
docs/reference/api/doxygen/search/enums_8.js | 2 +-
docs/reference/api/doxygen/search/enums_9.js | 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 | 8 +-
docs/reference/api/doxygen/search/enums_e.js | 10 +-
docs/reference/api/doxygen/search/enums_f.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_0.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_1.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_2.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_3.js | 2 +-
docs/reference/api/doxygen/search/enumvalues_4.js | 452 +-
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 | 32 +-
docs/reference/api/doxygen/search/files_10.js | 34 +-
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 | 18 +-
docs/reference/api/doxygen/search/files_3.js | 30 +-
docs/reference/api/doxygen/search/files_4.js | 18 +-
docs/reference/api/doxygen/search/files_5.js | 12 +-
docs/reference/api/doxygen/search/files_6.js | 6 +-
docs/reference/api/doxygen/search/files_7.js | 24 +-
docs/reference/api/doxygen/search/files_8.js | 6 +-
docs/reference/api/doxygen/search/files_9.js | 18 +-
docs/reference/api/doxygen/search/files_a.js | 14 +-
docs/reference/api/doxygen/search/files_b.js | 12 +-
docs/reference/api/doxygen/search/files_c.js | 18 +-
docs/reference/api/doxygen/search/files_d.js | 2 +-
docs/reference/api/doxygen/search/files_e.js | 22 +-
docs/reference/api/doxygen/search/files_f.js | 50 +-
docs/reference/api/doxygen/search/functions_0.js | 12 +-
docs/reference/api/doxygen/search/functions_1.js | 276 +-
docs/reference/api/doxygen/search/functions_10.js | 222 +-
docs/reference/api/doxygen/search/functions_11.js | 8 +-
docs/reference/api/doxygen/search/functions_12.js | 244 +-
docs/reference/api/doxygen/search/functions_13.js | 416 +-
docs/reference/api/doxygen/search/functions_14.js | 390 +-
docs/reference/api/doxygen/search/functions_15.js | 116 +-
docs/reference/api/doxygen/search/functions_16.js | 144 +-
docs/reference/api/doxygen/search/functions_17.js | 60 +-
docs/reference/api/doxygen/search/functions_18.js | 2 +-
docs/reference/api/doxygen/search/functions_19.js | 118 +-
docs/reference/api/doxygen/search/functions_2.js | 184 +-
docs/reference/api/doxygen/search/functions_3.js | 298 +-
docs/reference/api/doxygen/search/functions_4.js | 230 +-
docs/reference/api/doxygen/search/functions_5.js | 150 +-
docs/reference/api/doxygen/search/functions_6.js | 304 +-
docs/reference/api/doxygen/search/functions_7.js | 264 +-
docs/reference/api/doxygen/search/functions_8.js | 48 +-
docs/reference/api/doxygen/search/functions_9.js | 376 +-
docs/reference/api/doxygen/search/functions_a.js | 8 +-
docs/reference/api/doxygen/search/functions_b.js | 4 +-
docs/reference/api/doxygen/search/functions_c.js | 162 +-
docs/reference/api/doxygen/search/functions_d.js | 186 +-
docs/reference/api/doxygen/search/functions_e.js | 102 +-
docs/reference/api/doxygen/search/functions_f.js | 150 +-
docs/reference/api/doxygen/search/namespaces_0.js | 4 +-
docs/reference/api/doxygen/search/namespaces_1.js | 62 +-
docs/reference/api/doxygen/search/related_0.js | 2 +-
docs/reference/api/doxygen/search/related_1.js | 8 +-
docs/reference/api/doxygen/search/related_10.js | 8 +-
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 | 14 +-
docs/reference/api/doxygen/search/related_5.js | 6 +-
docs/reference/api/doxygen/search/related_6.js | 6 +-
docs/reference/api/doxygen/search/related_7.js | 14 +-
docs/reference/api/doxygen/search/related_8.js | 2 +-
docs/reference/api/doxygen/search/related_9.js | 24 +-
docs/reference/api/doxygen/search/related_a.js | 2 +-
docs/reference/api/doxygen/search/related_b.js | 6 +-
docs/reference/api/doxygen/search/related_c.js | 10 +-
docs/reference/api/doxygen/search/related_d.js | 24 +-
docs/reference/api/doxygen/search/related_e.js | 2 +-
docs/reference/api/doxygen/search/related_f.js | 8 +-
docs/reference/api/doxygen/search/typedefs_0.js | 4 +-
docs/reference/api/doxygen/search/typedefs_1.js | 6 +-
docs/reference/api/doxygen/search/typedefs_2.js | 6 +-
docs/reference/api/doxygen/search/typedefs_3.js | 10 +-
docs/reference/api/doxygen/search/typedefs_4.js | 14 +-
docs/reference/api/doxygen/search/typedefs_5.js | 130 +-
docs/reference/api/doxygen/search/typedefs_6.js | 16 +-
docs/reference/api/doxygen/search/typedefs_7.js | 4 +-
docs/reference/api/doxygen/search/typedefs_8.js | 4 +-
docs/reference/api/doxygen/search/typedefs_9.js | 4 +-
docs/reference/api/doxygen/search/typedefs_a.js | 16 +-
docs/reference/api/doxygen/search/typedefs_b.js | 14 +-
docs/reference/api/doxygen/search/typedefs_c.js | 8 +-
docs/reference/api/doxygen/search/typedefs_d.js | 58 +-
docs/reference/api/doxygen/search/typedefs_e.js | 4 +-
docs/reference/api/doxygen/search/variables_0.js | 18 +-
docs/reference/api/doxygen/search/variables_1.js | 70 +-
docs/reference/api/doxygen/search/variables_10.js | 2 +-
docs/reference/api/doxygen/search/variables_11.js | 88 +-
docs/reference/api/doxygen/search/variables_12.js | 134 +-
docs/reference/api/doxygen/search/variables_13.js | 106 +-
docs/reference/api/doxygen/search/variables_14.js | 8 +-
docs/reference/api/doxygen/search/variables_15.js | 62 +-
docs/reference/api/doxygen/search/variables_16.js | 16 +-
docs/reference/api/doxygen/search/variables_2.js | 68 +-
docs/reference/api/doxygen/search/variables_3.js | 86 +-
docs/reference/api/doxygen/search/variables_4.js | 110 +-
docs/reference/api/doxygen/search/variables_5.js | 62 +-
docs/reference/api/doxygen/search/variables_6.js | 116 +-
docs/reference/api/doxygen/search/variables_7.js | 12 +-
docs/reference/api/doxygen/search/variables_8.js | 10 +-
docs/reference/api/doxygen/search/variables_9.js | 93 +-
docs/reference/api/doxygen/search/variables_a.js | 132 +-
docs/reference/api/doxygen/search/variables_b.js | 40 +-
docs/reference/api/doxygen/search/variables_c.js | 94 +-
docs/reference/api/doxygen/search/variables_d.js | 34 +-
docs/reference/api/doxygen/search/variables_e.js | 36 +-
docs/reference/api/doxygen/search/variables_f.js | 76 +-
...tructtvm_1_1relax_1_1MeshgridAttrs-members.html | 126 +
.../structtvm_1_1relax_1_1MeshgridAttrs.html | 291 +
...ttvm_1_1relax_1_1MeshgridAttrs__coll__graph.svg | 235 +
...m_1_1relax_1_1MeshgridAttrs__inherit__graph.svg | 132 +
docs/reference/api/python/relax/op.html | 23 +
.../api/typedoc/classes/ArtifactCache.html | 14 +-
.../typedoc/classes/ArtifactIndexedDBCache.html | 16 +-
docs/reference/api/typedoc/classes/DLDataType.html | 14 +-
docs/reference/api/typedoc/classes/DLDevice.html | 12 +-
docs/reference/api/typedoc/classes/Instance.html | 116 +-
.../classes/LinearCongruentialGenerator.html | 16 +-
docs/reference/api/typedoc/classes/Module.html | 12 +-
docs/reference/api/typedoc/classes/NDArray.html | 30 +-
docs/reference/api/typedoc/classes/RPCServer.html | 16 +-
docs/reference/api/typedoc/classes/Scalar.html | 8 +-
docs/reference/api/typedoc/classes/TVMArray.html | 16 +-
docs/reference/api/typedoc/classes/TVMObject.html | 12 +-
.../api/typedoc/classes/VirtualMachine.html | 10 +-
.../classes/_internal_.AsyncifyHandler.html | 12 +-
.../classes/_internal_.CachedCallStack.html | 36 +-
.../classes/_internal_.CanvasRenderManager.html | 10 +-
.../typedoc/classes/_internal_.Environment.html | 14 +-
.../api/typedoc/classes/_internal_.FFILibrary.html | 22 +-
.../api/typedoc/classes/_internal_.Memory.html | 36 +-
.../typedoc/classes/_internal_.PackedFuncCell.html | 8 +-
.../typedoc/classes/_internal_.RuntimeContext.html | 60 +-
.../api/typedoc/classes/_internal_.TVMString.html | 14 +-
.../typedoc/classes/_internal_.WebGPUContext.html | 28 +-
.../enums/_internal_.AsyncifyStateKind.html | 8 +-
.../typedoc/enums/_internal_.RPCServerState.html | 14 +-
docs/reference/api/typedoc/functions/assert.html | 2 +-
.../api/typedoc/functions/createPolyfillWASI.html | 2 +-
.../api/typedoc/functions/deleteNDArrayCache.html | 2 +-
.../api/typedoc/functions/detectGPUDevice.html | 2 +-
.../api/typedoc/functions/hasNDArrayInCache.html | 2 +-
.../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 +-
.../typedoc/interfaces/GPUDeviceDetectOutput.html | 8 +-
.../api/typedoc/interfaces/InitProgressReport.html | 8 +-
.../api/typedoc/interfaces/LibraryProvider.html | 6 +-
.../interfaces/_internal_.FunctionInfo.html | 8 +-
.../interfaces/_internal_.NDArrayCacheEntry.html | 14 +-
.../interfaces/_internal_.NDArrayShardEntry.html | 10 +-
.../api/typedoc/types/InitProgressCallback.html | 2 +-
docs/reference/api/typedoc/types/PackedFunc.html | 2 +-
.../typedoc/types/_internal_.AsyncPackedFunc.html | 2 +-
.../types/_internal_.FObjectConstructor.html | 2 +-
.../types/_internal_.FTVMWasmAllocSpace.html | 2 +-
.../types/_internal_.FTVMWasmFreeSpace.html | 2 +-
.../types/_internal_.FTVMWasmPackedCFunc.html | 2 +-
.../api/typedoc/types/_internal_.Pointer.html | 2 +-
.../typedoc/types/_internal_.TVMObjectBase.html | 2 +-
docs/searchindex.js | 2 +-
docs/sg_execution_times.html | 22 +-
303 files changed, 22533 insertions(+), 21596 deletions(-)
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 7c22bd30a8..4f17beb51f 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 8337bec943..1248e5fdf1 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index 374510d589..adfd14cd89 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 aa9a1a6c21..6327f553b4 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 be47caa329..d82b80506a 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index ab2d1cda7c..35ee050616 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 b68b57a3a3..5766632939 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index 516ed54235..a314cd7fd2 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 2b396bda0c..cafc79469d 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 416443297b..4f76338d79 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 936a59d5fa..1b8f0e199f 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.229** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.225** total execution time for 2 files **from deep_dive/relax/tutorials**:
.. container::
@@ -33,8 +33,8 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
- - 00:00.144
+ - 00:00.138
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
- - 00:00.085
+ - 00:00.086
- 0.0
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst.txt
index 8a7c4276d1..9d432b97de 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.547** total execution time for 2 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.548** total execution time for 2 files **from deep_dive/tensor_ir/tutorials**:
.. container::
@@ -33,8 +33,8 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
- - 00:00.335
+ - 00:00.339
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
- - 00:00.213
+ - 00:00.209
- 0.0
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst.txt
index e3fc5e8ab8..4a6516d832 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
@@ -325,17 +325,17 @@ Now let's check the runtime dynamic shape inference:
.. code-block:: none
- [[0.9975571 1.0905217 0.7031421 1.2113101 ]
- [0.83578 0.63723207 0.7191439 0.855189 ]
- [0.892879 0.90828323 0.9944815 1.133141 ]
- [1.0089642 0.62372774 1.5369769 0.94549006]]
- [[32.54475 31.907045 35.160454 ... 36.254368 31.903097 32.70991 ]
- [33.486248 35.097843 32.876804 ... 38.546806 32.27795 33.74142 ]
- [30.734474 33.17322 32.8109 ... 36.367474 31.331383 33.624237]
+ [[1.1166773 1.5883188 1.3929324 2.1530986 ]
+ [0.78314745 1.1144596 0.92625946 1.6080372 ]
+ [1.0480632 1.5871236 1.3003529 2.1664321 ]
+ [0.9620788 1.2576687 1.0174568 2.065659 ]]
+ [[30.913954 28.788969 29.443089 ... 28.59458 28.919085 29.928106]
+ [32.742855 30.676096 32.74651 ... 32.4621 30.00852 32.969467]
+ [31.648619 30.076887 29.910618 ... 29.635672 28.670542 28.367592]
...
- [30.975565 29.121384 31.016098 ... 33.578384 31.489315 31.916813]
- [35.056816 35.246834 35.77852 ... 39.889843 35.020927 35.270588]
- [32.59336 32.277916 32.173504 ... 37.096592 30.716438 31.623701]]
+ [32.0173 28.454796 31.656862 ... 30.416824 30.634933 31.679346]
+ [35.825867 32.7133 32.121876 ... 33.543915 30.677547 33.366478]
+ [33.188526 29.762135 31.450476 ... 31.93472 31.462574 32.840675]]
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 e9f5634beb..0e30cdd222 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
@@ -123,7 +123,7 @@ original implementation.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2.3209 2.3209 2.3209 2.3209 0.0000
+ 2.3041 2.3041 2.3041 2.3041 0.0000
@@ -295,7 +295,7 @@ action involves reordering these two loops.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.9202 0.9202 0.9202 0.9202 0.0000
+ 0.8803 0.8803 0.8803 0.8803 0.0000
@@ -423,7 +423,7 @@ from the reduction update via the **decompose_reduction** primitive.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.3369 0.3369 0.3369 0.3369 0.0000
+ 0.3365 0.3365 0.3365 0.3365 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 650eaf6749..5eb4973c73 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst.txt
+++ b/docs/_sources/get_started/tutorials/ir_module.rst.txt
@@ -698,8 +698,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
.. code-block:: none
- [[ 0.01799317 0.3096516 0.16823532 0.3012477 -0.17557935 0.14053503
- -0.2014598 -0.04662175 0.11002095 -0.15976182]]
+ [[-0.23562717 0.02148947 -0.04129275 0.10365851 -0.2148844 -0.14803793
+ 0.00873017 -0.0521643 -0.12331675 -0.18843114]]
@@ -765,8 +765,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
.. code-block:: none
- [[ 0.01799313 0.3096515 0.16823535 0.30124772 -0.17557938 0.14053497
- -0.20145977 -0.04662174 0.11002088 -0.15976185]]
+ [[-0.23562722 0.02148942 -0.04129281 0.10365844 -0.21488437 -0.14803779
+ 0.00873017 -0.05216434 -0.12331678 -0.18843116]]
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst.txt b/docs/_sources/get_started/tutorials/quick_start.rst.txt
index 6bdffc5859..26a191f9b9 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst.txt
+++ b/docs/_sources/get_started/tutorials/quick_start.rst.txt
@@ -230,8 +230,8 @@ different devices.
.. code-block:: none
- [[25401.234 24847.697 26073.895 25919.68 26024.227 24884.904 24389.586
- 24032.424 26135.43 24493.555]]
+ [[24787.2 25714.123 24249.725 23856.625 25619.115 23728.037 24530.684
+ 24496.357 23837.648 23601.25 ]]
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 d4c5aa11c8..f43d7df4b9 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
Computation times
=================
-**00:09.612** total execution time for 2 files **from get_started/tutorials**:
+**00:08.593** total execution time for 2 files **from get_started/tutorials**:
.. container::
@@ -33,8 +33,8 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
- - 00:09.416
+ - 00:08.400
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
- - 00:00.196
+ - 00:00.193
- 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 d422dd8fcc..5dc21a8c1d 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
@@ -274,7 +274,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 1.292e-07 secs/op
+ 1.256e-07 secs/op
diff --git a/docs/_sources/how_to/tutorials/customize_opt.rst.txt b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
index 00cad77d07..97e347587e 100644
--- a/docs/_sources/how_to/tutorials/customize_opt.rst.txt
+++ b/docs/_sources/how_to/tutorials/customize_opt.rst.txt
@@ -420,8 +420,8 @@ We can build and deploy the optimized model to the TVM runtime.
.. code-block:: none
- [[27298.865 25794.248 24553.707 25745.469 25845.146 24836.873 24480.576
- 24592.246 25729.025 24973.574]]
+ [[25553.133 24217.898 23926.783 24723.938 25594.875 25188.926 25032.355
+ 25748.77 26500.387 25552.463]]
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 d14327f35c..d4349028c3 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst.txt
@@ -59,7 +59,7 @@ PyTorch.
.. code-block:: none
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
- 0%| | 0.00/44.7M [00:00<?, ?B/s] 35%|███▌ | 15.8M/44.7M [00:00<00:00, 165MB/s] 81%|████████▏ | 36.4M/44.7M [00:00<00:00, 195MB/s] 100%|██████████| 44.7M/44.7M [00:00<00:00, 196MB/s]
+ 0%| | 0.00/44.7M [00:00<?, ?B/s] 13%|█▎ | 5.88M/44.7M [00:00<00:00, 61.3MB/s] 27%|██▋ | 12.2M/44.7M [00:00<00:00, 63.8MB/s] 41%|████ | 18.4M/44.7M [00:00<00:00, 60.6MB/s] 55%|█████▌ | 24.6M/44.7M [00:00<00:00, 62.4MB/s] 70%|██████▉ | 31.2M/44.7M [00:00<00:00, 64.2MB/s] 84%|████████▍ | 37.5M/44.7M [00:00<00:00, 62.7MB/s] 99%|█████████▉| 44.4M/44.7M [00:00<00:00, 65.6MB/s] 100%|██████████| 44.7M/44.7M [00:00<00:00, 64.1MB/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 ff43c5e8c3..1451344797 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
=================
-**01:00.718** total execution time for 4 files **from how_to/tutorials**:
+**01:02.387** total execution time for 4 files **from how_to/tutorials**:
.. container::
@@ -33,14 +33,14 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
- - 00:58.592
+ - 00:59.778
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
- - 00:01.059
+ - 00:01.124
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
- - 00:00.698
+ - 00:01.114
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
- - 00:00.368
+ - 00:00.371
- 0.0
diff --git a/docs/_sources/sg_execution_times.rst.txt b/docs/_sources/sg_execution_times.rst.txt
index dcf68963ce..8d7c556204 100644
--- a/docs/_sources/sg_execution_times.rst.txt
+++ b/docs/_sources/sg_execution_times.rst.txt
@@ -6,7 +6,7 @@
Computation times
=================
-**01:11.106** total execution time for 10 files **from all galleries**:
+**01:11.753** total execution time for 10 files **from all galleries**:
.. container::
@@ -33,32 +33,32 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
- - 00:58.592
+ - 00:59.778
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
- - 00:09.416
+ - 00:08.400
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
- - 00:01.059
+ - 00:01.124
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
- - 00:00.698
+ - 00:01.114
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
- - 00:00.368
+ - 00:00.371
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
- - 00:00.335
+ - 00:00.339
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
- - 00:00.213
+ - 00:00.209
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
- - 00:00.196
+ - 00:00.193
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
- - 00:00.144
+ - 00:00.138
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
- - 00:00.085
+ - 00:00.086
- 0.0
diff --git a/docs/commit_hash b/docs/commit_hash
index 9f1f83153f..406c003894 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-4ef582a3319f30fac2716091f835e493ec161ffd
+fa26a05162c933729cb99eaaaf0e716fee553502
diff --git a/docs/deep_dive/relax/tutorials/relax_creation.html b/docs/deep_dive/relax/tutorials/relax_creation.html
index a8d2f47ced..056070b1ec 100644
--- a/docs/deep_dive/relax/tutorials/relax_creation.html
+++ b/docs/deep_dive/relax/tutorials/relax_creation.html
@@ -197,22 +197,10 @@
<li class="toctree-l1"><a class="reference internal" href="../../../how_to/dev/index.html">Development Guides</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Deep Dive</span></p>
-<ul class="current">
+<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../arch/index.html">Design and Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tensor_ir/index.html">TensorIR</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Relax</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="../abstraction.html">Graph Abstraction for ML Models</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../learning.html">Understand Relax Abstraction</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Relax Creation</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#create-relax-programs-using-tvmscript">Create Relax programs using TVMScript</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#create-relax-programs-using-nnmodule-api">Create Relax programs using NNModule API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#create-relax-programs-using-block-builder-api">Create Relax programs using Block Builder API</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#summary">Summary</a></li>
-</ul>
-</li>
-<li class="toctree-l2"><a class="reference internal" href="relax_transformation.html">Transformation</a></li>
-</ul>
-</li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Relax</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
<ul>
diff --git a/docs/deep_dive/relax/tutorials/relax_transformation.html b/docs/deep_dive/relax/tutorials/relax_transformation.html
index bbf5934a3e..2ac76026a0 100644
--- a/docs/deep_dive/relax/tutorials/relax_transformation.html
+++ b/docs/deep_dive/relax/tutorials/relax_transformation.html
@@ -197,21 +197,10 @@
<li class="toctree-l1"><a class="reference internal" href="../../../how_to/dev/index.html">Development Guides</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Deep Dive</span></p>
-<ul class="current">
+<ul>
<li class="toctree-l1"><a class="reference internal" href="../../../arch/index.html">Design and Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tensor_ir/index.html">TensorIR</a></li>
-<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Relax</a><ul class="current">
-<li class="toctree-l2"><a class="reference internal" href="../abstraction.html">Graph Abstraction for ML Models</a></li>
-<li class="toctree-l2"><a class="reference internal" href="../learning.html">Understand Relax Abstraction</a></li>
-<li class="toctree-l2"><a class="reference internal" href="relax_creation.html">Relax Creation</a></li>
-<li class="toctree-l2 current"><a class="current reference internal" href="#">Transformation</a><ul>
-<li class="toctree-l3"><a class="reference internal" href="#apply-transformations">Apply transformations</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#custom-passes">Custom Passes</a></li>
-<li class="toctree-l3"><a class="reference internal" href="#summary">Summary</a></li>
-</ul>
-</li>
-</ul>
-</li>
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Relax</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
<ul>
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index 9ecb9046c1..3bf91956a2 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -299,7 +299,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.229</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.225</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" />
@@ -321,11 +321,11 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="relax_creation.html#sphx-glr-deep-dive-relax-tutorials-relax-creation-py"><span class="std std-ref">Relax Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_creation.py</span></code>)</p></td>
-<td><p>00:00.144</p></td>
+<td><p>00:00.138</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="relax_transformation.html#sphx-glr-deep-dive-relax-tutorials-relax-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_transformation.py</span></code>)</p></td>
-<td><p>00:00.085</p></td>
+<td><p>00:00.086</p></td>
<td><p>0.0</p></td>
</tr>
</tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
index 7d4ce89444..9ff0ee0615 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -299,7 +299,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.547</strong> total execution time for 2 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.548</strong> total execution time for 2 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -321,11 +321,11 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
-<td><p>00:00.335</p></td>
+<td><p>00:00.339</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
-<td><p>00:00.213</p></td>
+<td><p>00:00.209</p></td>
<td><p>0.0</p></td>
</tr>
</tbody>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index 087e77f762..f8c34592f9 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -198,9 +198,29 @@
<li class="toctree-l1"><a class="reference internal" href="../../../how_to/dev/index.html">Development Guides</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Deep Dive</span></p>
-<ul>
+<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../arch/index.html">Design and Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../index.html">TensorIR</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">TensorIR</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../abstraction.html">Tensor Program Abstraction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../learning.html">Understand TensorIR Abstraction</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">TensorIR Creation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#create-tensorir-using-tvmscript">Create TensorIR using TVMScript</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#standard-format">Standard Format</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#concise-with-syntactic-sugar">Concise with Syntactic Sugar</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#interactive-with-python-variables">Interactive with Python Variables</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#tensorir-function-with-dynamic-shapes">TensorIR Function with Dynamic Shapes</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#create-tensorir-using-tensor-expression">Create TensorIR using Tensor Expression</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#create-static-shape-functions">Create Static-Shape Functions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#create-dynamic-shape-functions">Create Dynamic-Shape Functions</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="tir_transformation.html">Transformation</a></li>
+</ul>
+</li>
<li class="toctree-l1"><a class="reference internal" href="../../relax/index.html">Relax</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
@@ -497,17 +517,17 @@ be used to ascertain the shape and data type of a TensorIR.</p>
<span class="nb">print</span><span class="p">(</span><span class="n">evaluate_dynamic_shape</span><span class="p">(</span><span class="n">dyn_shape_lib</span><span class="p">,</span> <span class="n">m</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <span class="n">n</span><span class="o">=</span><span class="mi">64</span><span class="p">,</span> <a href="../../../reference/api/python/tir/tir.html#tvm.tir.IterVar" title="tvm.tir.IterVar" class="sphx-glr-ba [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[0.9975571 1.0905217 0.7031421 1.2113101 ]
- [0.83578 0.63723207 0.7191439 0.855189 ]
- [0.892879 0.90828323 0.9944815 1.133141 ]
- [1.0089642 0.62372774 1.5369769 0.94549006]]
-[[32.54475 31.907045 35.160454 ... 36.254368 31.903097 32.70991 ]
- [33.486248 35.097843 32.876804 ... 38.546806 32.27795 33.74142 ]
- [30.734474 33.17322 32.8109 ... 36.367474 31.331383 33.624237]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[1.1166773 1.5883188 1.3929324 2.1530986 ]
+ [0.78314745 1.1144596 0.92625946 1.6080372 ]
+ [1.0480632 1.5871236 1.3003529 2.1664321 ]
+ [0.9620788 1.2576687 1.0174568 2.065659 ]]
+[[30.913954 28.788969 29.443089 ... 28.59458 28.919085 29.928106]
+ [32.742855 30.676096 32.74651 ... 32.4621 30.00852 32.969467]
+ [31.648619 30.076887 29.910618 ... 29.635672 28.670542 28.367592]
...
- [30.975565 29.121384 31.016098 ... 33.578384 31.489315 31.916813]
- [35.056816 35.246834 35.77852 ... 39.889843 35.020927 35.270588]
- [32.59336 32.277916 32.173504 ... 37.096592 30.716438 31.623701]]
+ [32.0173 28.454796 31.656862 ... 30.416824 30.634933 31.679346]
+ [35.825867 32.7133 32.121876 ... 33.543915 30.677547 33.366478]
+ [33.188526 29.762135 31.450476 ... 31.93472 31.462574 32.840675]]
</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 6b492af997..3663ba9132 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -197,9 +197,22 @@
<li class="toctree-l1"><a class="reference internal" href="../../../how_to/dev/index.html">Development Guides</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Deep Dive</span></p>
-<ul>
+<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../../arch/index.html">Design and Architecture</a></li>
-<li class="toctree-l1"><a class="reference internal" href="../index.html">TensorIR</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="../index.html">TensorIR</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../abstraction.html">Tensor Program Abstraction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../learning.html">Understand TensorIR Abstraction</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tir_creation.html">TensorIR Creation</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Transformation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#initialization-schedule">Initialization Schedule</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#loop-tiling">Loop Tiling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#leverage-localities">Leverage Localities</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#rewrite-reduction">Rewrite Reduction</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#trace-the-transformation">Trace the Transformation</a></li>
+</ul>
+</li>
+</ul>
+</li>
<li class="toctree-l1"><a class="reference internal" href="../../relax/index.html">Relax</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">API Reference</span></p>
@@ -376,7 +389,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.3209 2.3209 2.3209 2.3209 0.0000
+ 2.3041 2.3041 2.3041 2.3041 0.0000
</pre></div>
</div>
<section id="initialization-schedule">
@@ -472,7 +485,7 @@ class Module:
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.9202 0.9202 0.9202 0.9202 0.0000
+ 0.8803 0.8803 0.8803 0.8803 0.0000
</pre></div>
</div>
</section>
@@ -566,7 +579,7 @@ class Module:
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.3369 0.3369 0.3369 0.3369 0.0000
+ 0.3365 0.3365 0.3365 0.3365 0.0000
</pre></div>
</div>
</section>
diff --git a/docs/genindex.html b/docs/genindex.html
index 99fb1ebdc2..6caf8e11ba 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -2504,6 +2504,8 @@
<li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.MergeCompositeFunctions">MergeCompositeFunctions() (in module tvm.relax.transform)</a>
</li>
<li><a href="reference/api/python/tir/transform.html#tvm.tir.transform.MergeSharedMemoryAllocations">MergeSharedMemoryAllocations() (in module tvm.tir.transform)</a>
+</li>
+ <li><a href="reference/api/python/relax/op.html#tvm.relax.op.meshgrid">meshgrid() (in module tvm.relax.op)</a>
</li>
<li><a href="reference/api/python/runtime/ndarray.html#tvm.runtime.ndarray.metal">metal() (in module tvm.runtime.ndarray)</a>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index f0c183d149..5f48eae957 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.01799317 0.3096516 0.16823532 0.3012477 -0.17557935 0.14053503
- -0.2014598 -0.04662175 0.11002095 -0.15976182]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.23562717 0.02148947 -0.04129275 0.10365851 -0.2148844 -0.14803793
+ 0.00873017 -0.0521643 -0.12331675 -0.18843114]]
</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.01799313 0.3096515 0.16823535 0.30124772 -0.17557938 0.14053497
- -0.20145977 -0.04662174 0.11002088 -0.15976185]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.23562722 0.02148942 -0.04129281 0.10365844 -0.21488437 -0.14803779
+ 0.00873017 -0.05216434 -0.12331678 -0.18843116]]
</pre></div>
</div>
</section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index 7ad81b1fcb..651a867b13 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -465,8 +465,8 @@ different devices.</p>
<span class="nb">print</span><span class="p">(</span><a href="../../reference/api/python/runtime/relax_vm.html#tvm.runtime.relax_vm.VirtualMachine" title="tvm.runtime.relax_vm.VirtualMachine" class="sphx-glr-backref-module-tvm-runtime-relax_vm sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">vm</span></a><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=" [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[25401.234 24847.697 26073.895 25919.68 26024.227 24884.904 24389.586
- 24032.424 26135.43 24493.555]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24787.2 25714.123 24249.725 23856.625 25619.115 23728.037 24530.684
+ 24496.357 23837.648 23601.25 ]]
</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 c255241684..739cddc287 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -299,7 +299,7 @@
<section id="computation-times">
<span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
-<p><strong>00:09.612</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:08.593</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" />
@@ -321,11 +321,11 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:09.416</p></td>
+<td><p>00:08.400</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.196</p></td>
+<td><p>00:00.193</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 5389defa39..661c23d048 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -480,7 +480,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
<span class="nb">print</span><span class="p">(</span><span class="s2">"</span><span class="si">%g</span><span class="s2"> secs/op"</span> <span class="o">%</span> <span class="n">cost</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.292e-07 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.256e-07 secs/op
</pre></div>
</div>
</section>
diff --git a/docs/how_to/tutorials/customize_opt.html b/docs/how_to/tutorials/customize_opt.html
index db2f9a83fe..cce9a456a0 100644
--- a/docs/how_to/tutorials/customize_opt.html
+++ b/docs/how_to/tutorials/customize_opt.html
@@ -614,8 +614,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>[[27298.865 25794.248 24553.707 25745.469 25845.146 24836.873 24480.576
- 24592.246 25729.025 24973.574]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[25553.133 24217.898 23926.783 24723.938 25594.875 25188.926 25032.355
+ 25748.77 26500.387 25552.463]]
</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 d36156f47f..14a311b210 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -336,9 +336,14 @@ 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]
- 35%|███▌ | 15.8M/44.7M [00:00<00:00, 165MB/s]
- 81%|████████▏ | 36.4M/44.7M [00:00<00:00, 195MB/s]
-100%|██████████| 44.7M/44.7M [00:00<00:00, 196MB/s]
+ 13%|█▎ | 5.88M/44.7M [00:00<00:00, 61.3MB/s]
+ 27%|██▋ | 12.2M/44.7M [00:00<00:00, 63.8MB/s]
+ 41%|████ | 18.4M/44.7M [00:00<00:00, 60.6MB/s]
+ 55%|█████▌ | 24.6M/44.7M [00:00<00:00, 62.4MB/s]
+ 70%|██████▉ | 31.2M/44.7M [00:00<00:00, 64.2MB/s]
+ 84%|████████▍ | 37.5M/44.7M [00:00<00:00, 62.7MB/s]
+ 99%|█████████▉| 44.4M/44.7M [00:00<00:00, 65.6MB/s]
+100%|██████████| 44.7M/44.7M [00:00<00:00, 64.1MB/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 e93bf07fa6..f48d52f6f0 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -299,7 +299,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>01:00.718</strong> total execution time for 4 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>01:02.387</strong> total execution time for 4 files <strong>from how_to/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -321,19 +321,19 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="optimize_llm.html#sphx-glr-how-to-tutorials-optimize-llm-py"><span class="std std-ref">Optimize Large Language Model</span></a> (<code class="docutils literal notranslate"><span class="pre">optimize_llm.py</span></code>)</p></td>
-<td><p>00:58.592</p></td>
+<td><p>00:59.778</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><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:01.059</p></td>
+<td><p>00:01.124</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="e2e_opt_model.html#sphx-glr-how-to-tutorials-e2e-opt-model-py"><span class="std std-ref">End-to-End Optimize Model</span></a> (<code class="docutils literal notranslate"><span class="pre">e2e_opt_model.py</span></code>)</p></td>
-<td><p>00:00.698</p></td>
+<td><p>00:01.114</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="cross_compilation_and_rpc.html#sphx-glr-how-to-tutorials-cross-compilation-and-rpc-py"><span class="std std-ref">Cross Compilation and RPC</span></a> (<code class="docutils literal notranslate"><span class="pre">cross_compilation_and_rpc.py</span></code>)</p></td>
-<td><p>00:00.368</p></td>
+<td><p>00:00.371</p></td>
<td><p>0.0</p></td>
</tr>
</tbody>
diff --git a/docs/objects.inv b/docs/objects.inv
index f03a7e122c..aa60e267d0 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/annotated.html b/docs/reference/api/doxygen/annotated.html
index ad850541da..55c58e668c 100644
--- a/docs/reference/api/doxygen/annotated.html
+++ b/docs/reference/api/doxygen/annotated.html
@@ -261,196 +261,197 @@ $(function() {
<tr id="row_1_5_26_" class="even" 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_1relax_1_1GatherElementsAttrs.html" target="_self">GatherElementsAttrs</a></td><td class="desc">Attributes used in gather_elements operators </td></tr>
<tr id="row_1_5_27_" class="even" 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_1relax_1_1GatherNDAttrs.html" target="_self">GatherNDAttrs</a></td><td class="desc">Attributes used in gather_nd operators </td></tr>
<tr id="row_1_5_28_" class="even" 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_1relax_1_1IndexPutAttrs.html" target="_self">IndexPutAttrs</a></td><td class="desc">Attributes used in index_put operator </td></tr>
-<tr id="row_1_5_29_" class="even" 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_1relax_1_1ScatterElementsAttrs.html" target="_self">ScatterElementsAttrs</a></td><td class="desc">Attributes used in scatter_elements operators </td></tr>
-<tr id="row_1_5_30_" class="even" 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_1relax_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc">Attributes used in scatter_nd operators </td></tr>
-<tr id="row_1_5_31_" class="even" 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_1relax_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one_hot operator </td></tr>
-<tr id="row_1_5_32_" class="even" 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_1relax_1_1Conv1DAttrs.html" target="_self">Conv1DAttrs</a></td><td class="desc">Attributes used in Conv1d operator </td></tr>
-<tr id="row_1_5_33_" class="even" 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_1relax_1_1Conv2DAttrs.html" target="_self">Conv2DAttrs</a></td><td class="desc">Attributes used in Conv2d operator </td></tr>
-<tr id="row_1_5_34_" class="even" 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_1relax_1_1Conv3DAttrs.html" target="_self">Conv3DAttrs</a></td><td class="desc">Attributes used in Conv3d operator </td></tr>
-<tr id="row_1_5_35_" class="even" 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_1relax_1_1Conv1DTransposeAttrs.html" target="_self">Conv1DTransposeAttrs</a></td><td class="desc">Attributes used in Conv1DTranspose operator </td></tr>
-<tr id="row_1_5_36_" class="even" 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_1relax_1_1Conv2DTransposeAttrs.html" target="_self">Conv2DTransposeAttrs</a></td><td class="desc">Attributes used in Conv2d operator </td></tr>
-<tr id="row_1_5_37_" class="even" 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_1relax_1_1Pool1DAttrs.html" target="_self">Pool1DAttrs</a></td><td class="desc">Attributes used in max_pool1d and avg_pool1d operator </td></tr>
-<tr id="row_1_5_38_" class="even" 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_1relax_1_1Pool2DAttrs.html" target="_self">Pool2DAttrs</a></td><td class="desc">Attributes used in max_pool2d and avg_pool2d operator </td></tr>
-<tr id="row_1_5_39_" class="even" 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_1relax_1_1Pool3DAttrs.html" target="_self">Pool3DAttrs</a></td><td class="desc">Attributes used in max_pool3d and avg_pool3d operator </td></tr>
-<tr id="row_1_5_40_" class="even" 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_1relax_1_1AdaptivePool1DAttrs.html" target="_self">AdaptivePool1DAttrs</a></td><td class="desc">Attributes for 1d adaptive pool operator </td></tr>
-<tr id="row_1_5_41_" class="even" 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_1relax_1_1AdaptivePool2DAttrs.html" target="_self">AdaptivePool2DAttrs</a></td><td class="desc">Attributes for 2d adaptive pool operator </td></tr>
-<tr id="row_1_5_42_" class="even" 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_1relax_1_1AdaptivePool3DAttrs.html" target="_self">AdaptivePool3DAttrs</a></td><td class="desc">Attributes for 3d adaptive pool operator </td></tr>
-<tr id="row_1_5_43_" class="even" 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_1relax_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_5_44_" class="even" 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_1relax_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
-<tr id="row_1_5_45_" class="even" 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_1relax_1_1SoftplusAttrs.html" target="_self">SoftplusAttrs</a></td><td class="desc">Attributes used in softplus operators </td></tr>
-<tr id="row_1_5_46_" class="even" 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_1relax_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes used in PReLU operator </td></tr>
-<tr id="row_1_5_47_" class="even" 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_1relax_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
-<tr id="row_1_5_48_" class="even" 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_1relax_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
-<tr id="row_1_5_49_" class="even" 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_1relax_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
-<tr id="row_1_5_50_" class="even" 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_1relax_1_1RMSNormAttrs.html" target="_self">RMSNormAttrs</a></td><td class="desc">Attributes used in rms_norm operator </td></tr>
-<tr id="row_1_5_51_" class="even" 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_1relax_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in nll_loss operator </td></tr>
-<tr id="row_1_5_52_" class="even" 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_1relax_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
-<tr id="row_1_5_53_" class="even" 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_1relax_1_1AttentionAttrs.html" target="_self">AttentionAttrs</a></td><td class="desc">Attributes used in Attention operator </td></tr>
-<tr id="row_1_5_54_" class="even" 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_1relax_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
-<tr id="row_1_5_55_" class="even" 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_1relax_1_1PixelShuffleAttrs.html" target="_self">PixelShuffleAttrs</a></td><td class="desc">Attributes used for the pixel shuffle operator </td></tr>
-<tr id="row_1_5_56_" class="even" 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_1relax_1_1CallTIRWithGradAttrs.html" target="_self">CallTIRWithGradAttrs</a></td><td class="desc">Attributes used in call_tir_with_grad </td></tr>
-<tr id="row_1_5_57_" class="even" 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_1relax_1_1CallTIRInplaceAttrs.html" target="_self">CallTIRInplaceAttrs</a></td><td class="desc">Attributes used in call_tir_inplace </td></tr>
-<tr id="row_1_5_58_" class="even" 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_1relax_1_1CallInplacePackedAttrs.html" target="_self">CallInplacePackedAttrs</a></td><td class="desc">Attributes used in call_inplace_packed </td></tr>
-<tr id="row_1_5_59_" class="even" 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_1relax_1_1ToVDeviceAttrs.html" target="_self">ToVDeviceAttrs</a></td><td class="desc">Attributes used in to_vdevice </td></tr>
-<tr id="row_1_5_60_" class="even" 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_1relax_1_1HintOnDeviceAttrs.html" target="_self">HintOnDeviceAttrs</a></td><td class="desc">Attributes used in hint_on_device </td></tr>
-<tr id="row_1_5_61_" class="even" 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_1relax_1_1QuantizeAttrs.html" target="_self">QuantizeAttrs</a></td><td class="desc">Attributes for relax.quantize/relax.dequantize operator </td></tr>
-<tr id="row_1_5_62_" class="even" 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_1relax_1_1MultinomialFromUniformAttrs.html" target="_self">MultinomialFromUniformAttrs</a></td><td class="desc">Attributes used in multinomial_from_uniform operator </td></tr>
-<tr id="row_1_5_63_" class="even" 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_1relax_1_1ArgmaxArgminAttrs.html" target="_self">ArgmaxArgminAttrs</a></td><td class="desc">Attributes for search operators </td></tr>
-<tr id="row_1_5_64_" class="even" 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_1relax_1_1SortAttrs.html" target="_self">SortAttrs</a></td><td class="desc">Attributes used in sort operator </td></tr>
-<tr id="row_1_5_65_" class="even" 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_1relax_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operator </td></tr>
-<tr id="row_1_5_66_" class="even" 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_1relax_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc">Attributes used in topk operator </td></tr>
-<tr id="row_1_5_67_" class="even" 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_1relax_1_1StatisticalAttrs.html" target="_self">StatisticalAttrs</a></td><td class="desc">Attributes for statistical operators </td></tr>
-<tr id="row_1_5_68_" class="even" 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_1relax_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in scan operators like cumsum, cumprod </td></tr>
-<tr id="row_1_5_69_" class="even" 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_1relax_1_1DataflowBlockRewriteNode.html" target="_self">DataflowBlockRewriteNode</a></td><td class="desc">Statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
-<tr id="row_1_5_70_" class="even" 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_1relax_1_1DataflowBlockRewrite.html" target="_self">DataflowBlockRewrite</a></td><td class="desc">A statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
-<tr id="row_1_5_71_" class="even" 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_1relax_1_1BlockBuilderNode.html" target="_self">BlockBuilderNode</a></td><td class="desc">A builder to build Relax binding blocks </td></tr>
-<tr id="row_1_5_72_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_5_72_" class="arrow" onclick="toggleFolder('1_5_72_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilder.html" target="_self">BlockBuilder</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_72_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BlockBuilder_1_1DisableOperatorSpecificNormalizationForTVMScript.html" target="_self">DisableOperatorSpecificNormalizationForTVMScript</a></td><td class="desc">A marker struct to disable FNormalize </td></tr>
-<tr id="row_1_5_73_" class="even" 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_1relax_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
-<tr id="row_1_5_74_" class="even" 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_1relax_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
-<tr id="row_1_5_75_" class="even" 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_1relax_1_1PairCons.html" target="_self">PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -> consumer) in graph-level matching </td></tr>
-<tr id="row_1_5_76_" class="even" 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_1relax_1_1DFConstraintNode.html" target="_self">DFConstraintNode</a></td><td class="desc">Additional constraints on the graph </td></tr>
-<tr id="row_1_5_77_" class="even" 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_1relax_1_1DFConstraint.html" target="_self">DFConstraint</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_78_" class="even" 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_1relax_1_1PatternSeqNode.html" target="_self">PatternSeqNode</a></td><td class="desc">A sequence of DFPatterns that the previous <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> is connected to the next [...]
-<tr id="row_1_5_79_" class="even" 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_1relax_1_1PatternSeq.html" target="_self">PatternSeq</a></td><td class="desc">Managed reference to pattern sequences </td></tr>
-<tr id="row_1_5_80_" class="even" 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_1relax_1_1PatternContextNode.html" target="_self">PatternContextNode</a></td><td class="desc">A context to manage the graph-level pattern matching </td></tr>
-<tr id="row_1_5_81_" class="even" 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_1relax_1_1PatternContext.html" target="_self">PatternContext</a></td><td class="desc">Managed reference to a pattern context </td></tr>
-<tr id="row_1_5_82_" class="even" 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_1relax_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc">Pattern for Relax Expression </td></tr>
-<tr id="row_1_5_83_" class="even" 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_1relax_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">Managed reference to an <a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" title="Managed reference to an ExprPattern.">ExprPattern</a> </td></tr>
-<tr id="row_1_5_84_" class="even" 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_1relax_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Variable </td></tr>
-<tr id="row_1_5_85_" class="even" 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_1relax_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1VarPattern.html" title="Managed reference to a VarPattern.">VarPattern</a> </td></tr>
-<tr id="row_1_5_86_" class="even" 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_1relax_1_1DataflowVarPatternNode.html" target="_self">DataflowVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Dataflow Variable </td></tr>
-<tr id="row_1_5_87_" class="even" 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_1relax_1_1DataflowVarPattern.html" target="_self">DataflowVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" title="Managed reference to a DataflowVarPattern.">DataflowVarPattern</a> </td></tr>
-<tr id="row_1_5_88_" class="even" 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_1relax_1_1GlobalVarPatternNode.html" target="_self">GlobalVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Global Variable </td></tr>
-<tr id="row_1_5_89_" class="even" 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_1relax_1_1GlobalVarPattern.html" target="_self">GlobalVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" title="Managed reference to a GlobalVarPattern.">GlobalVarPattern</a> </td></tr>
-<tr id="row_1_5_90_" class="even" 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_1relax_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">A Pattern to Match a Relax <a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> </td></tr>
-<tr id="row_1_5_91_" class="even" 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_1relax_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" title="Managed reference to a ConstantPattern.">ConstantPattern</a> </td></tr>
-<tr id="row_1_5_92_" class="even" 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_1relax_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc">A pattern to match a callable node in Relax </td></tr>
-<tr id="row_1_5_93_" class="even" 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_1relax_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_94_" class="even" 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_1relax_1_1PrimArrPatternNode.html" target="_self">PrimArrPatternNode</a></td><td class="desc">A pattern to match an array of <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
-<tr id="row_1_5_95_" class="even" 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_1relax_1_1PrimArrPattern.html" target="_self">PrimArrPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" title="Managed reference to a PrimArrPattern.">PrimArrPattern</a> </td></tr>
-<tr id="row_1_5_96_" class="even" 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_1relax_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">A pattern to match a Relax <a class="el" href="classtvm_1_1relax_1_1Function.html">Function</a> </td></tr>
-<tr id="row_1_5_97_" class="even" 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_1relax_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" title="A pattern to match a Relax Function.">FunctionPatternNode</a> </td></tr>
-<tr id="row_1_5_98_" class="even" 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_1relax_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc">Pattern to match a tuple of ordered expressions </td></tr>
-<tr id="row_1_5_99_" class="even" 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_1relax_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" title="Pattern to match a tuple of ordered expressions.">TuplePatternNode</a> </td></tr>
-<tr id="row_1_5_100_" class="even" 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_1relax_1_1UnorderedTuplePatternNode.html" target="_self">UnorderedTuplePatternNode</a></td><td class="desc">A pattern to match multiple expressions unorderedly </td></tr>
-<tr id="row_1_5_101_" class="even" 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_1relax_1_1UnorderedTuplePattern.html" target="_self">UnorderedTuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" title="A pattern to match multiple expressions unorderedly.">UnorderedTuplePat [...]
-<tr id="row_1_5_102_" class="even" 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_1relax_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc">A pattern to match n'th indexing to a tuple </td></tr>
-<tr id="row_1_5_103_" class="even" 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_1relax_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" title="A pattern to match n'th indexing to a tuple.">TupleGetItemPatternNode</a> [...]
-<tr id="row_1_5_104_" class="even" 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_1relax_1_1AndPatternNode.html" target="_self">AndPatternNode</a></td><td class="desc">Match a conjunction of other patterns </td></tr>
-<tr id="row_1_5_105_" class="even" 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_1relax_1_1AndPattern.html" target="_self">AndPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" title="Match a conjunction of other patterns.">AndPatternNode</a> </td></tr>
-<tr id="row_1_5_106_" class="even" 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_1relax_1_1OrPatternNode.html" target="_self">OrPatternNode</a></td><td class="desc">Match a disjunction of other patterns </td></tr>
-<tr id="row_1_5_107_" class="even" 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_1relax_1_1OrPattern.html" target="_self">OrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" title="Match a disjunction of other patterns.">OrPatternNode</a> </td></tr>
-<tr id="row_1_5_108_" class="even" 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_1relax_1_1NotPatternNode.html" target="_self">NotPatternNode</a></td><td class="desc">Pattern for rejecting a certain pattern </td></tr>
-<tr id="row_1_5_109_" class="even" 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_1relax_1_1NotPattern.html" target="_self">NotPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" title="Pattern for rejecting a certain pattern.">NotPatternNode</a> </td></tr>
-<tr id="row_1_5_110_" class="even" 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_1relax_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard Pattern is a pattern that can match anything </td></tr>
-<tr id="row_1_5_111_" class="even" 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_1relax_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" title="Wildcard Pattern is a pattern that can match anything.">WildcardPatternNode</a> </td></tr>
-<tr id="row_1_5_112_" class="even" 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_1relax_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc">Pattern for matching a certain type </td></tr>
-<tr id="row_1_5_113_" class="even" 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_1relax_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html" title="Pattern for matching a certain type.">TypePatternNode</a> </td></tr>
-<tr id="row_1_5_114_" class="even" 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_1relax_1_1StructInfoPatternNode.html" target="_self">StructInfoPatternNode</a></td><td class="desc">Pattern for matching a certain struct info </td></tr>
-<tr id="row_1_5_115_" class="even" 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_1relax_1_1StructInfoPattern.html" target="_self">StructInfoPattern</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_116_" class="even" 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_1relax_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain shape </td></tr>
-<tr id="row_1_5_117_" class="even" 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_1relax_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" title="A pattern that asserting a root pattern has a certain shape.">ShapePatternNode</a> </td></tr>
-<tr id="row_1_5_118_" class="even" 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_1relax_1_1SameShapeConstraintNode.html" target="_self">SameShapeConstraintNode</a></td><td class="desc">A pattern that asserting multiple root patterns have the same shape </td></tr>
-<tr id="row_1_5_119_" class="even" 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_1relax_1_1SameShapeConstraint.html" target="_self">SameShapeConstraint</a></td><td class="desc">Managed reference to SameShapePatternNode </td></tr>
-<tr id="row_1_5_120_" class="even" 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_1relax_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain data type </td></tr>
-<tr id="row_1_5_121_" class="even" 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_1relax_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" title="A pattern that asserting a root pattern has a certain data type.">DataTypePatternNode</a> [...]
-<tr id="row_1_5_122_" class="even" 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_1relax_1_1AttrPatternNode.html" target="_self">AttrPatternNode</a></td><td class="desc">A pattern that asserting a root pattern has certain attributes </td></tr>
-<tr id="row_1_5_123_" class="even" 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_1relax_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" title="A pattern that asserting a root pattern has certain attributes.">AttrPatternNode</a> </td></tr>
-<tr id="row_1_5_124_" class="even" 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_1relax_1_1ExternFuncPatternNode.html" target="_self">ExternFuncPatternNode</a></td><td class="desc">A pattern of external function </td></tr>
-<tr id="row_1_5_125_" class="even" 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_1relax_1_1ExternFuncPattern.html" target="_self">ExternFuncPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" title="A pattern of external function.">ExternFuncPatternNode</a> </td></tr>
-<tr id="row_1_5_126_" class="even" 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_1relax_1_1DFPatternFunctor.html" target="_self">DFPatternFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> argument </ [...]
-<tr id="row_1_5_127_" class="even" 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_1relax_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor< R(const DFPattern &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_128_" class="even" 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_1relax_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument.">DFPatt [...]
-<tr id="row_1_5_129_" class="even" 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_1relax_1_1ExecBuilderNode.html" target="_self">ExecBuilderNode</a></td><td class="desc">A builder provides api to build VM executable with instructions </td></tr>
-<tr id="row_1_5_130_" class="even" 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_1relax_1_1ExecBuilder.html" target="_self">ExecBuilder</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_131_" class="even" 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_1relax_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
-<tr id="row_1_5_132_" class="even" 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_1relax_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_133_" class="even" 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_1relax_1_1StructInfoNode.html" target="_self">StructInfoNode</a></td><td class="desc">Base type of all structure information </td></tr>
-<tr id="row_1_5_134_" class="even" 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_1relax_1_1StructInfo.html" target="_self">StructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" title="Base type of all structure information.">StructInfoNode</a> </td></tr>
-<tr id="row_1_5_135_" class="even" 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_1relax_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> corresponds to callable invocation. Corresponds to operation in computational graph terminology </td></tr>
-<tr id="row_1_5_136_" class="even" 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_1relax_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_137_" class="even" 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_1relax_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> container </td></tr>
-<tr id="row_1_5_138_" class="even" 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_1relax_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_139_" class="even" 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_1relax_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc">Get index-th field out of a tuple </td></tr>
-<tr id="row_1_5_140_" class="even" 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_1relax_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_141_" class="even" 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_1relax_1_1LeafExprNode.html" target="_self">LeafExprNode</a></td><td class="desc">Base type of all (non-function) leaf Exprs </td></tr>
-<tr id="row_1_5_142_" class="even" 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_1relax_1_1LeafExpr.html" target="_self">LeafExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
-<tr id="row_1_5_143_" class="even" 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_1relax_1_1ShapeExprNode.html" target="_self">ShapeExprNode</a></td><td class="desc">A shape expression which allows users to construct a shape containing <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
-<tr id="row_1_5_144_" class="even" 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_1relax_1_1ShapeExpr.html" target="_self">ShapeExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_145_" class="even" 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_1relax_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">The variable class for all Relax bindings </td></tr>
-<tr id="row_1_5_146_" class="even" 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_1relax_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_147_" class="even" 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_1relax_1_1DataflowVarNode.html" target="_self">DataflowVarNode</a></td><td class="desc">A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings </td></tr>
-<tr id="row_1_5_148_" class="even" 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_1relax_1_1DataflowVar.html" target="_self">DataflowVar</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_149_" class="even" 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_1relax_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> tensor </td></tr>
-<tr id="row_1_5_150_" class="even" 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_1relax_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_151_" class="even" 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_1relax_1_1PrimValueNode.html" target="_self">PrimValueNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" title="Managed reference to PrimValueNode.">PrimValue</a> </td></tr>
-<tr id="row_1_5_152_" class="even" 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_1relax_1_1PrimValue.html" target="_self">PrimValue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" title="PrimValue.">PrimValueNode</a> </td></tr>
-<tr id="row_1_5_153_" class="even" 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_1relax_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">Represent a string literal constant </td></tr>
-<tr id="row_1_5_154_" class="even" 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_1relax_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StringImm.html" title="Managed reference to StringImm.">StringImm</a> </td></tr>
-<tr id="row_1_5_155_" class="even" 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_1relax_1_1DataTypeImmNode.html" target="_self">DataTypeImmNode</a></td><td class="desc">Represent a data type constant </td></tr>
-<tr id="row_1_5_156_" class="even" 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_1relax_1_1DataTypeImm.html" target="_self">DataTypeImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" title="Managed reference to DataTypeImm.">DataTypeImm</a> </td></tr>
-<tr id="row_1_5_157_" class="even" 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_1relax_1_1BindingNode.html" target="_self">BindingNode</a></td><td class="desc">The base class of a variable binding in Relax </td></tr>
-<tr id="row_1_5_158_" class="even" 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_1relax_1_1Binding.html" target="_self">Binding</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_159_" class="even" 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_1relax_1_1MatchCastNode.html" target="_self">MatchCastNode</a></td><td class="desc">Runtime-match the value to the struct info </td></tr>
-<tr id="row_1_5_160_" class="even" 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_1relax_1_1MatchCast.html" target="_self">MatchCast</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" title="Runtime-match the value to the struct info.">MatchCastNode</a> </td></tr>
-<tr id="row_1_5_161_" class="even" 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_1relax_1_1VarBindingNode.html" target="_self">VarBindingNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_162_" class="even" 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_1relax_1_1VarBinding.html" target="_self">VarBinding</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_163_" class="even" 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_1relax_1_1BindingBlockNode.html" target="_self">BindingBlockNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_164_" class="even" 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_1relax_1_1BindingBlock.html" target="_self">BindingBlock</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_165_" class="even" 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_1relax_1_1DataflowBlockNode.html" target="_self">DataflowBlockNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_166_" class="even" 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_1relax_1_1DataflowBlock.html" target="_self">DataflowBlock</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_167_" class="even" 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_1relax_1_1SeqExprNode.html" target="_self">SeqExprNode</a></td><td class="desc">A sequence of blocks followed by an expression </td></tr>
-<tr id="row_1_5_168_" class="even" 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_1relax_1_1SeqExpr.html" target="_self">SeqExpr</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_169_" class="even" 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_1relax_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Condition expression </td></tr>
-<tr id="row_1_5_170_" class="even" 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_1relax_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_171_" class="even" 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_1relax_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">A Relax function </td></tr>
-<tr id="row_1_5_172_" class="even" 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_1relax_1_1Function.html" target="_self">Function</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_173_" class="even" 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_1relax_1_1ExternFuncNode.html" target="_self">ExternFuncNode</a></td><td class="desc">The extern function, which can represent packed function </td></tr>
-<tr id="row_1_5_174_" class="even" 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_1relax_1_1ExternFunc.html" target="_self">ExternFunc</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_175_" class="even" 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_1relax_1_1ExprFunctor.html" target="_self">ExprFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerful Visitor, since it allows you to define function signatures of Visit <a class="el" href="c [...]
-<tr id="row_1_5_176_" class="even" 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_1relax_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor< R(const Expr &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_177_" class="even" 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_1relax_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more [...]
-<tr id="row_1_5_178_" class="even" 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_1relax_1_1ExprMutatorBase.html" target="_self">ExprMutatorBase</a></td><td class="desc">A mutator works in unnormalized form </td></tr>
-<tr id="row_1_5_179_" class="even" 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_1relax_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A mutator works in normal form </td></tr>
-<tr id="row_1_5_180_" class="even" 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_1relax_1_1NestedMsg.html" target="_self">NestedMsg</a></td><td class="desc">Container that stores possibly nested message with leaf message type T </td></tr>
-<tr id="row_1_5_181_" class="even" 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_1relax_1_1ObjectStructInfoNode.html" target="_self">ObjectStructInfoNode</a></td><td class="desc">Opaque object </td></tr>
-<tr id="row_1_5_182_" class="even" 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_1relax_1_1ObjectStructInfo.html" target="_self">ObjectStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" title="Opaque object.">ObjectStructInfoNode</a> </td></tr>
-<tr id="row_1_5_183_" class="even" 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_1relax_1_1PrimStructInfoNode.html" target="_self">PrimStructInfoNode</a></td><td class="desc">Primitive value </td></tr>
-<tr id="row_1_5_184_" class="even" 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_1relax_1_1PrimStructInfo.html" target="_self">PrimStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" title="Primitive value.">PrimStructInfoNode</a> </td></tr>
-<tr id="row_1_5_185_" class="even" 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_1relax_1_1ShapeStructInfoNode.html" target="_self">ShapeStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of shape value </td></tr>
-<tr id="row_1_5_186_" class="even" 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_1relax_1_1ShapeStructInfo.html" target="_self">ShapeStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" title="StructInfo of shape value.">ShapeStructInfoNode</a> </td></tr>
-<tr id="row_1_5_187_" class="even" 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_1relax_1_1TensorStructInfoNode.html" target="_self">TensorStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of Tensor </td></tr>
-<tr id="row_1_5_188_" class="even" 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_1relax_1_1TensorStructInfo.html" target="_self">TensorStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" title="StructInfo of Tensor.">TensorStructInfoNode</a> </td></tr>
-<tr id="row_1_5_189_" class="even" 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_1relax_1_1TupleStructInfoNode.html" target="_self">TupleStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of <a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tu [...]
-<tr id="row_1_5_190_" class="even" 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_1relax_1_1TupleStructInfo.html" target="_self">TupleStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" title="StructInfo of Tuple.">TupleStructInfoNode</a> </td></tr>
-<tr id="row_1_5_191_" class="even" 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_1relax_1_1FuncStructInfoNode.html" target="_self">FuncStructInfoNode</a></td><td class="desc">Structure information about function </td></tr>
-<tr id="row_1_5_192_" class="even" 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_1relax_1_1FuncStructInfo.html" target="_self">FuncStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" title="Structure information about function.">FuncStructInfoNode</a> </td></tr>
-<tr id="row_1_5_193_" class="even" 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_1relax_1_1StructInfoFunctor.html" target="_self">StructInfoFunctor</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_194_" class="even" 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_1relax_1_1StructInfoFunctor_3_01R_07const_01StructInfo_01_6n_00_01Args_8_8_8_08_4.html" target="_self">StructInfoFunctor< R(const StructInfo &n, Args...)></a></td><td class="desc"></td></tr>
-<tr id="row_1_5_195_" class="even" 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_1relax_1_1StructInfoVisitor.html" target="_self">StructInfoVisitor</a></td><td class="desc">A struct info visitor </td></tr>
-<tr id="row_1_5_196_" class="even" 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_1relax_1_1StructInfoMutator.html" target="_self">StructInfoMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" title="StructInfoMutator that mutates struct info.">StructInfoMutator</a> that mutates struct info </td></tr>
-<tr id="row_1_5_197_" class="even" 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_1relax_1_1MatchResultNode.html" target="_self">MatchResultNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_198_" class="even" 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_1relax_1_1MatchResult.html" target="_self">MatchResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html">MatchResultNode</a> </td></tr>
-<tr id="row_1_5_199_" class="even" 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_1relax_1_1ChoiceNode.html" target="_self">ChoiceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Choice.html" title="Managed reference to ChoiceNode.">Choice</a> manages a set of keys for transformation and constraint functions </td></tr>
-<tr id="row_1_5_200_" class="even" 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_1relax_1_1Choice.html" target="_self">Choice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ChoiceNode.html" title="Choice manages a set of keys for transformation and constraint functions.">ChoiceNode</a> </td></tr>
-<tr id="row_1_5_201_" class="even" 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_1relax_1_1KnobNode.html" target="_self">KnobNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Knob.html" title="Managed reference to KnobNode.">Knob</a> manages a set of valid choices for an optimization </td></tr>
-<tr id="row_1_5_202_" class="even" 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_1relax_1_1Knob.html" target="_self">Knob</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1KnobNode.html" title="Knob manages a set of valid choices for an optimization.">KnobNode</a> </td></tr>
-<tr id="row_1_5_203_" class="even" 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_1relax_1_1TraceNode.html" target="_self">TraceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Trace.html" title="Managed reference to TraceNode.">Trace</a> manages history of optimization decisions </td></tr>
-<tr id="row_1_5_204_" class="even" 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_1relax_1_1Trace.html" target="_self">Trace</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TraceNode.html" title="Trace manages history of optimization decisions.">TraceNode</a> </td></tr>
-<tr id="row_1_5_205_" class="even" 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_1relax_1_1TuningRecordNode.html" target="_self">TuningRecordNode</a></td><td class="desc">The class of tuning records </td></tr>
-<tr id="row_1_5_206_" class="even" 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_1relax_1_1TuningRecord.html" target="_self">TuningRecord</a></td><td class="desc">The managed reference of <a class="el" href="classtvm_1_1relax_1_1TuningRecordNode.html" title="The class of tuning records.">TuningRecordNode</a> </td></tr>
-<tr id="row_1_5_207_" class="even" 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_1relax_1_1WorkloadEqual.html" target="_self">WorkloadEqual</a></td><td class="desc">The equality check for Workload </td></tr>
-<tr id="row_1_5_208_" class="even" 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_1relax_1_1DatabaseNode.html" target="_self">DatabaseNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_209_" class="even" 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_1relax_1_1Database.html" target="_self">Database</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DatabaseNode.html">DatabaseNode</a> </td></tr>
-<tr id="row_1_5_210_" class="even" 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_1relax_1_1ShapeTypeNode.html" target="_self">ShapeTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_211_" class="even" 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_1relax_1_1ShapeType.html" target="_self">ShapeType</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_212_" class="even" 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_1relax_1_1TensorTypeNode.html" target="_self">TensorTypeNode</a></td><td class="desc">Dynamic version of <a class="el" href="classtvm_1_1relax_1_1TensorType.html" title="Managed reference to TensorTypeNode.">TensorType</a> </td></tr>
-<tr id="row_1_5_213_" class="even" 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_1relax_1_1TensorType.html" target="_self">TensorType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorTypeNode.html" title="Dynamic version of TensorType.">TensorTypeNode</a> </td></tr>
-<tr id="row_1_5_214_" class="even" 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_1relax_1_1ObjectTypeNode.html" target="_self">ObjectTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_215_" class="even" 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_1relax_1_1ObjectType.html" target="_self">ObjectType</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_216_" class="even" 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_1relax_1_1PackedFuncTypeNode.html" target="_self">PackedFuncTypeNode</a></td><td class="desc"></td></tr>
-<tr id="row_1_5_217_" class="even" 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_1relax_1_1PackedFuncType.html" target="_self">PackedFuncType</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_29_" class="even" 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_1relax_1_1MeshgridAttrs.html" target="_self">MeshgridAttrs</a></td><td class="desc">Attribute used in meshgrid operator </td></tr>
+<tr id="row_1_5_30_" class="even" 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_1relax_1_1ScatterElementsAttrs.html" target="_self">ScatterElementsAttrs</a></td><td class="desc">Attributes used in scatter_elements operators </td></tr>
+<tr id="row_1_5_31_" class="even" 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_1relax_1_1ScatterNDAttrs.html" target="_self">ScatterNDAttrs</a></td><td class="desc">Attributes used in scatter_nd operators </td></tr>
+<tr id="row_1_5_32_" class="even" 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_1relax_1_1OneHotAttrs.html" target="_self">OneHotAttrs</a></td><td class="desc">Attributes used in one_hot operator </td></tr>
+<tr id="row_1_5_33_" class="even" 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_1relax_1_1Conv1DAttrs.html" target="_self">Conv1DAttrs</a></td><td class="desc">Attributes used in Conv1d operator </td></tr>
+<tr id="row_1_5_34_" class="even" 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_1relax_1_1Conv2DAttrs.html" target="_self">Conv2DAttrs</a></td><td class="desc">Attributes used in Conv2d operator </td></tr>
+<tr id="row_1_5_35_" class="even" 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_1relax_1_1Conv3DAttrs.html" target="_self">Conv3DAttrs</a></td><td class="desc">Attributes used in Conv3d operator </td></tr>
+<tr id="row_1_5_36_" class="even" 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_1relax_1_1Conv1DTransposeAttrs.html" target="_self">Conv1DTransposeAttrs</a></td><td class="desc">Attributes used in Conv1DTranspose operator </td></tr>
+<tr id="row_1_5_37_" class="even" 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_1relax_1_1Conv2DTransposeAttrs.html" target="_self">Conv2DTransposeAttrs</a></td><td class="desc">Attributes used in Conv2d operator </td></tr>
+<tr id="row_1_5_38_" class="even" 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_1relax_1_1Pool1DAttrs.html" target="_self">Pool1DAttrs</a></td><td class="desc">Attributes used in max_pool1d and avg_pool1d operator </td></tr>
+<tr id="row_1_5_39_" class="even" 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_1relax_1_1Pool2DAttrs.html" target="_self">Pool2DAttrs</a></td><td class="desc">Attributes used in max_pool2d and avg_pool2d operator </td></tr>
+<tr id="row_1_5_40_" class="even" 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_1relax_1_1Pool3DAttrs.html" target="_self">Pool3DAttrs</a></td><td class="desc">Attributes used in max_pool3d and avg_pool3d operator </td></tr>
+<tr id="row_1_5_41_" class="even" 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_1relax_1_1AdaptivePool1DAttrs.html" target="_self">AdaptivePool1DAttrs</a></td><td class="desc">Attributes for 1d adaptive pool operator </td></tr>
+<tr id="row_1_5_42_" class="even" 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_1relax_1_1AdaptivePool2DAttrs.html" target="_self">AdaptivePool2DAttrs</a></td><td class="desc">Attributes for 2d adaptive pool operator </td></tr>
+<tr id="row_1_5_43_" class="even" 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_1relax_1_1AdaptivePool3DAttrs.html" target="_self">AdaptivePool3DAttrs</a></td><td class="desc">Attributes for 3d adaptive pool operator </td></tr>
+<tr id="row_1_5_44_" class="even" 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_1relax_1_1SoftmaxAttrs.html" target="_self">SoftmaxAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_5_45_" class="even" 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_1relax_1_1LeakyReluAttrs.html" target="_self">LeakyReluAttrs</a></td><td class="desc">Attributes used in softmax operators </td></tr>
+<tr id="row_1_5_46_" class="even" 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_1relax_1_1SoftplusAttrs.html" target="_self">SoftplusAttrs</a></td><td class="desc">Attributes used in softplus operators </td></tr>
+<tr id="row_1_5_47_" class="even" 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_1relax_1_1PReluAttrs.html" target="_self">PReluAttrs</a></td><td class="desc">Attributes used in PReLU operator </td></tr>
+<tr id="row_1_5_48_" class="even" 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_1relax_1_1BatchNormAttrs.html" target="_self">BatchNormAttrs</a></td><td class="desc">Attributes used in batch_norm operator </td></tr>
+<tr id="row_1_5_49_" class="even" 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_1relax_1_1LayerNormAttrs.html" target="_self">LayerNormAttrs</a></td><td class="desc">Attributes used in layer_norm operator </td></tr>
+<tr id="row_1_5_50_" class="even" 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_1relax_1_1GroupNormAttrs.html" target="_self">GroupNormAttrs</a></td><td class="desc">Attributes used in group_norm operator </td></tr>
+<tr id="row_1_5_51_" class="even" 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_1relax_1_1RMSNormAttrs.html" target="_self">RMSNormAttrs</a></td><td class="desc">Attributes used in rms_norm operator </td></tr>
+<tr id="row_1_5_52_" class="even" 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_1relax_1_1NLLLossAttrs.html" target="_self">NLLLossAttrs</a></td><td class="desc">Attributes used in nll_loss operator </td></tr>
+<tr id="row_1_5_53_" class="even" 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_1relax_1_1DropoutAttrs.html" target="_self">DropoutAttrs</a></td><td class="desc">Attributes used in dropout operator </td></tr>
+<tr id="row_1_5_54_" class="even" 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_1relax_1_1AttentionAttrs.html" target="_self">AttentionAttrs</a></td><td class="desc">Attributes used in Attention operator </td></tr>
+<tr id="row_1_5_55_" class="even" 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_1relax_1_1PadAttrs.html" target="_self">PadAttrs</a></td><td class="desc">Attributes used for the padding operator </td></tr>
+<tr id="row_1_5_56_" class="even" 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_1relax_1_1PixelShuffleAttrs.html" target="_self">PixelShuffleAttrs</a></td><td class="desc">Attributes used for the pixel shuffle operator </td></tr>
+<tr id="row_1_5_57_" class="even" 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_1relax_1_1CallTIRWithGradAttrs.html" target="_self">CallTIRWithGradAttrs</a></td><td class="desc">Attributes used in call_tir_with_grad </td></tr>
+<tr id="row_1_5_58_" class="even" 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_1relax_1_1CallTIRInplaceAttrs.html" target="_self">CallTIRInplaceAttrs</a></td><td class="desc">Attributes used in call_tir_inplace </td></tr>
+<tr id="row_1_5_59_" class="even" 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_1relax_1_1CallInplacePackedAttrs.html" target="_self">CallInplacePackedAttrs</a></td><td class="desc">Attributes used in call_inplace_packed </td></tr>
+<tr id="row_1_5_60_" class="even" 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_1relax_1_1ToVDeviceAttrs.html" target="_self">ToVDeviceAttrs</a></td><td class="desc">Attributes used in to_vdevice </td></tr>
+<tr id="row_1_5_61_" class="even" 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_1relax_1_1HintOnDeviceAttrs.html" target="_self">HintOnDeviceAttrs</a></td><td class="desc">Attributes used in hint_on_device </td></tr>
+<tr id="row_1_5_62_" class="even" 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_1relax_1_1QuantizeAttrs.html" target="_self">QuantizeAttrs</a></td><td class="desc">Attributes for relax.quantize/relax.dequantize operator </td></tr>
+<tr id="row_1_5_63_" class="even" 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_1relax_1_1MultinomialFromUniformAttrs.html" target="_self">MultinomialFromUniformAttrs</a></td><td class="desc">Attributes used in multinomial_from_uniform operator </td></tr>
+<tr id="row_1_5_64_" class="even" 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_1relax_1_1ArgmaxArgminAttrs.html" target="_self">ArgmaxArgminAttrs</a></td><td class="desc">Attributes for search operators </td></tr>
+<tr id="row_1_5_65_" class="even" 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_1relax_1_1SortAttrs.html" target="_self">SortAttrs</a></td><td class="desc">Attributes used in sort operator </td></tr>
+<tr id="row_1_5_66_" class="even" 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_1relax_1_1ArgsortAttrs.html" target="_self">ArgsortAttrs</a></td><td class="desc">Attributes used in argsort operator </td></tr>
+<tr id="row_1_5_67_" class="even" 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_1relax_1_1TopKAttrs.html" target="_self">TopKAttrs</a></td><td class="desc">Attributes used in topk operator </td></tr>
+<tr id="row_1_5_68_" class="even" 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_1relax_1_1StatisticalAttrs.html" target="_self">StatisticalAttrs</a></td><td class="desc">Attributes for statistical operators </td></tr>
+<tr id="row_1_5_69_" class="even" 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_1relax_1_1ScanopAttrs.html" target="_self">ScanopAttrs</a></td><td class="desc">Attributes used in scan operators like cumsum, cumprod </td></tr>
+<tr id="row_1_5_70_" class="even" 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_1relax_1_1DataflowBlockRewriteNode.html" target="_self">DataflowBlockRewriteNode</a></td><td class="desc">Statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
+<tr id="row_1_5_71_" class="even" 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_1relax_1_1DataflowBlockRewrite.html" target="_self">DataflowBlockRewrite</a></td><td class="desc">A statement rewriter for <a class="el" href="classtvm_1_1relax_1_1DataflowBlock.html">relax.DataflowBlock</a> </td></tr>
+<tr id="row_1_5_72_" class="even" 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_1relax_1_1BlockBuilderNode.html" target="_self">BlockBuilderNode</a></td><td class="desc">A builder to build Relax binding blocks </td></tr>
+<tr id="row_1_5_73_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_5_73_" class="arrow" onclick="toggleFolder('1_5_73_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1BlockBuilder.html" target="_self">BlockBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_73_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1relax_1_1BlockBuilder_1_1DisableOperatorSpecificNormalizationForTVMScript.html" target="_self">DisableOperatorSpecificNormalizationForTVMScript</a></td><td class="desc">A marker struct to disable FNormalize </td></tr>
+<tr id="row_1_5_74_" class="even" 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_1relax_1_1DFPatternNode.html" target="_self">DFPatternNode</a></td><td class="desc">Base type of all dataflow patterns </td></tr>
+<tr id="row_1_5_75_" class="even" 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_1relax_1_1DFPattern.html" target="_self">DFPattern</a></td><td class="desc">Managed reference to dataflow patterns </td></tr>
+<tr id="row_1_5_76_" class="even" 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_1relax_1_1PairCons.html" target="_self">PairCons</a></td><td class="desc">Constraint of a <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> edge (producer -> consumer) in graph-level matching </td></tr>
+<tr id="row_1_5_77_" class="even" 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_1relax_1_1DFConstraintNode.html" target="_self">DFConstraintNode</a></td><td class="desc">Additional constraints on the graph </td></tr>
+<tr id="row_1_5_78_" class="even" 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_1relax_1_1DFConstraint.html" target="_self">DFConstraint</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_79_" class="even" 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_1relax_1_1PatternSeqNode.html" target="_self">PatternSeqNode</a></td><td class="desc">A sequence of DFPatterns that the previous <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> is connected to the next [...]
+<tr id="row_1_5_80_" class="even" 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_1relax_1_1PatternSeq.html" target="_self">PatternSeq</a></td><td class="desc">Managed reference to pattern sequences </td></tr>
+<tr id="row_1_5_81_" class="even" 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_1relax_1_1PatternContextNode.html" target="_self">PatternContextNode</a></td><td class="desc">A context to manage the graph-level pattern matching </td></tr>
+<tr id="row_1_5_82_" class="even" 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_1relax_1_1PatternContext.html" target="_self">PatternContext</a></td><td class="desc">Managed reference to a pattern context </td></tr>
+<tr id="row_1_5_83_" class="even" 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_1relax_1_1ExprPatternNode.html" target="_self">ExprPatternNode</a></td><td class="desc">Pattern for Relax Expression </td></tr>
+<tr id="row_1_5_84_" class="even" 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_1relax_1_1ExprPattern.html" target="_self">ExprPattern</a></td><td class="desc">Managed reference to an <a class="el" href="classtvm_1_1relax_1_1ExprPattern.html" title="Managed reference to an ExprPattern.">ExprPattern</a> </td></tr>
+<tr id="row_1_5_85_" class="even" 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_1relax_1_1VarPatternNode.html" target="_self">VarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Variable </td></tr>
+<tr id="row_1_5_86_" class="even" 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_1relax_1_1VarPattern.html" target="_self">VarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1VarPattern.html" title="Managed reference to a VarPattern.">VarPattern</a> </td></tr>
+<tr id="row_1_5_87_" class="even" 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_1relax_1_1DataflowVarPatternNode.html" target="_self">DataflowVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Dataflow Variable </td></tr>
+<tr id="row_1_5_88_" class="even" 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_1relax_1_1DataflowVarPattern.html" target="_self">DataflowVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1DataflowVarPattern.html" title="Managed reference to a DataflowVarPattern.">DataflowVarPattern</a> </td></tr>
+<tr id="row_1_5_89_" class="even" 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_1relax_1_1GlobalVarPatternNode.html" target="_self">GlobalVarPatternNode</a></td><td class="desc">A Pattern to Match a Relax Global Variable </td></tr>
+<tr id="row_1_5_90_" class="even" 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_1relax_1_1GlobalVarPattern.html" target="_self">GlobalVarPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1GlobalVarPattern.html" title="Managed reference to a GlobalVarPattern.">GlobalVarPattern</a> </td></tr>
+<tr id="row_1_5_91_" class="even" 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_1relax_1_1ConstantPatternNode.html" target="_self">ConstantPatternNode</a></td><td class="desc">A Pattern to Match a Relax <a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> </td></tr>
+<tr id="row_1_5_92_" class="even" 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_1relax_1_1ConstantPattern.html" target="_self">ConstantPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1ConstantPattern.html" title="Managed reference to a ConstantPattern.">ConstantPattern</a> </td></tr>
+<tr id="row_1_5_93_" class="even" 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_1relax_1_1CallPatternNode.html" target="_self">CallPatternNode</a></td><td class="desc">A pattern to match a callable node in Relax </td></tr>
+<tr id="row_1_5_94_" class="even" 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_1relax_1_1CallPattern.html" target="_self">CallPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_95_" class="even" 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_1relax_1_1PrimArrPatternNode.html" target="_self">PrimArrPatternNode</a></td><td class="desc">A pattern to match an array of <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
+<tr id="row_1_5_96_" class="even" 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_1relax_1_1PrimArrPattern.html" target="_self">PrimArrPattern</a></td><td class="desc">Managed reference to a <a class="el" href="classtvm_1_1relax_1_1PrimArrPattern.html" title="Managed reference to a PrimArrPattern.">PrimArrPattern</a> </td></tr>
+<tr id="row_1_5_97_" class="even" 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_1relax_1_1FunctionPatternNode.html" target="_self">FunctionPatternNode</a></td><td class="desc">A pattern to match a Relax <a class="el" href="classtvm_1_1relax_1_1Function.html">Function</a> </td></tr>
+<tr id="row_1_5_98_" class="even" 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_1relax_1_1FunctionPattern.html" target="_self">FunctionPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FunctionPatternNode.html" title="A pattern to match a Relax Function.">FunctionPatternNode</a> </td></tr>
+<tr id="row_1_5_99_" class="even" 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_1relax_1_1TuplePatternNode.html" target="_self">TuplePatternNode</a></td><td class="desc">Pattern to match a tuple of ordered expressions </td></tr>
+<tr id="row_1_5_100_" class="even" 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_1relax_1_1TuplePattern.html" target="_self">TuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TuplePatternNode.html" title="Pattern to match a tuple of ordered expressions.">TuplePatternNode</a> </td></tr>
+<tr id="row_1_5_101_" class="even" 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_1relax_1_1UnorderedTuplePatternNode.html" target="_self">UnorderedTuplePatternNode</a></td><td class="desc">A pattern to match multiple expressions unorderedly </td></tr>
+<tr id="row_1_5_102_" class="even" 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_1relax_1_1UnorderedTuplePattern.html" target="_self">UnorderedTuplePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1UnorderedTuplePatternNode.html" title="A pattern to match multiple expressions unorderedly.">UnorderedTuplePat [...]
+<tr id="row_1_5_103_" class="even" 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_1relax_1_1TupleGetItemPatternNode.html" target="_self">TupleGetItemPatternNode</a></td><td class="desc">A pattern to match n'th indexing to a tuple </td></tr>
+<tr id="row_1_5_104_" class="even" 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_1relax_1_1TupleGetItemPattern.html" target="_self">TupleGetItemPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html" title="A pattern to match n'th indexing to a tuple.">TupleGetItemPatternNode</a> [...]
+<tr id="row_1_5_105_" class="even" 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_1relax_1_1AndPatternNode.html" target="_self">AndPatternNode</a></td><td class="desc">Match a conjunction of other patterns </td></tr>
+<tr id="row_1_5_106_" class="even" 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_1relax_1_1AndPattern.html" target="_self">AndPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AndPatternNode.html" title="Match a conjunction of other patterns.">AndPatternNode</a> </td></tr>
+<tr id="row_1_5_107_" class="even" 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_1relax_1_1OrPatternNode.html" target="_self">OrPatternNode</a></td><td class="desc">Match a disjunction of other patterns </td></tr>
+<tr id="row_1_5_108_" class="even" 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_1relax_1_1OrPattern.html" target="_self">OrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1OrPatternNode.html" title="Match a disjunction of other patterns.">OrPatternNode</a> </td></tr>
+<tr id="row_1_5_109_" class="even" 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_1relax_1_1NotPatternNode.html" target="_self">NotPatternNode</a></td><td class="desc">Pattern for rejecting a certain pattern </td></tr>
+<tr id="row_1_5_110_" class="even" 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_1relax_1_1NotPattern.html" target="_self">NotPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1NotPatternNode.html" title="Pattern for rejecting a certain pattern.">NotPatternNode</a> </td></tr>
+<tr id="row_1_5_111_" class="even" 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_1relax_1_1WildcardPatternNode.html" target="_self">WildcardPatternNode</a></td><td class="desc">Wildcard Pattern is a pattern that can match anything </td></tr>
+<tr id="row_1_5_112_" class="even" 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_1relax_1_1WildcardPattern.html" target="_self">WildcardPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1WildcardPatternNode.html" title="Wildcard Pattern is a pattern that can match anything.">WildcardPatternNode</a> </td></tr>
+<tr id="row_1_5_113_" class="even" 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_1relax_1_1TypePatternNode.html" target="_self">TypePatternNode</a></td><td class="desc">Pattern for matching a certain type </td></tr>
+<tr id="row_1_5_114_" class="even" 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_1relax_1_1TypePattern.html" target="_self">TypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html" title="Pattern for matching a certain type.">TypePatternNode</a> </td></tr>
+<tr id="row_1_5_115_" class="even" 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_1relax_1_1StructInfoPatternNode.html" target="_self">StructInfoPatternNode</a></td><td class="desc">Pattern for matching a certain struct info </td></tr>
+<tr id="row_1_5_116_" class="even" 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_1relax_1_1StructInfoPattern.html" target="_self">StructInfoPattern</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_117_" class="even" 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_1relax_1_1ShapePatternNode.html" target="_self">ShapePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain shape </td></tr>
+<tr id="row_1_5_118_" class="even" 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_1relax_1_1ShapePattern.html" target="_self">ShapePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapePatternNode.html" title="A pattern that asserting a root pattern has a certain shape.">ShapePatternNode</a> </td></tr>
+<tr id="row_1_5_119_" class="even" 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_1relax_1_1SameShapeConstraintNode.html" target="_self">SameShapeConstraintNode</a></td><td class="desc">A pattern that asserting multiple root patterns have the same shape </td></tr>
+<tr id="row_1_5_120_" class="even" 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_1relax_1_1SameShapeConstraint.html" target="_self">SameShapeConstraint</a></td><td class="desc">Managed reference to SameShapePatternNode </td></tr>
+<tr id="row_1_5_121_" class="even" 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_1relax_1_1DataTypePatternNode.html" target="_self">DataTypePatternNode</a></td><td class="desc">A pattern that asserting a root pattern has a certain data type </td></tr>
+<tr id="row_1_5_122_" class="even" 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_1relax_1_1DataTypePattern.html" target="_self">DataTypePattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypePatternNode.html" title="A pattern that asserting a root pattern has a certain data type.">DataTypePatternNode</a> [...]
+<tr id="row_1_5_123_" class="even" 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_1relax_1_1AttrPatternNode.html" target="_self">AttrPatternNode</a></td><td class="desc">A pattern that asserting a root pattern has certain attributes </td></tr>
+<tr id="row_1_5_124_" class="even" 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_1relax_1_1AttrPattern.html" target="_self">AttrPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1AttrPatternNode.html" title="A pattern that asserting a root pattern has certain attributes.">AttrPatternNode</a> </td></tr>
+<tr id="row_1_5_125_" class="even" 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_1relax_1_1ExternFuncPatternNode.html" target="_self">ExternFuncPatternNode</a></td><td class="desc">A pattern of external function </td></tr>
+<tr id="row_1_5_126_" class="even" 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_1relax_1_1ExternFuncPattern.html" target="_self">ExternFuncPattern</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" title="A pattern of external function.">ExternFuncPatternNode</a> </td></tr>
+<tr id="row_1_5_127_" class="even" 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_1relax_1_1DFPatternFunctor.html" target="_self">DFPatternFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first <a class="el" href="classtvm_1_1relax_1_1DFPattern.html" title="Managed reference to dataflow patterns.">DFPattern</a> argument </ [...]
+<tr id="row_1_5_128_" class="even" 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_1relax_1_1DFPatternFunctor_3_01R_07const_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html" target="_self">DFPatternFunctor< R(const DFPattern &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_129_" class="even" 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_1relax_1_1DFPatternVisitor.html" target="_self">DFPatternVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1DFPatternFunctor.html" title="A dynamical functor that dispatches on in the first DFPattern argument.">DFPatt [...]
+<tr id="row_1_5_130_" class="even" 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_1relax_1_1ExecBuilderNode.html" target="_self">ExecBuilderNode</a></td><td class="desc">A builder provides api to build VM executable with instructions </td></tr>
+<tr id="row_1_5_131_" class="even" 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_1relax_1_1ExecBuilder.html" target="_self">ExecBuilder</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_132_" class="even" 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_1relax_1_1IdNode.html" target="_self">IdNode</a></td><td class="desc">The unique identifier of variables </td></tr>
+<tr id="row_1_5_133_" class="even" 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_1relax_1_1Id.html" target="_self">Id</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_134_" class="even" 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_1relax_1_1StructInfoNode.html" target="_self">StructInfoNode</a></td><td class="desc">Base type of all structure information </td></tr>
+<tr id="row_1_5_135_" class="even" 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_1relax_1_1StructInfo.html" target="_self">StructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StructInfoNode.html" title="Base type of all structure information.">StructInfoNode</a> </td></tr>
+<tr id="row_1_5_136_" class="even" 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_1relax_1_1CallNode.html" target="_self">CallNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Call.html">Call</a> corresponds to callable invocation. Corresponds to operation in computational graph terminology </td></tr>
+<tr id="row_1_5_137_" class="even" 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_1relax_1_1Call.html" target="_self">Call</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_138_" class="even" 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_1relax_1_1TupleNode.html" target="_self">TupleNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tuple</a> container </td></tr>
+<tr id="row_1_5_139_" class="even" 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_1relax_1_1Tuple.html" target="_self">Tuple</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_140_" class="even" 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_1relax_1_1TupleGetItemNode.html" target="_self">TupleGetItemNode</a></td><td class="desc">Get index-th field out of a tuple </td></tr>
+<tr id="row_1_5_141_" class="even" 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_1relax_1_1TupleGetItem.html" target="_self">TupleGetItem</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_142_" class="even" 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_1relax_1_1LeafExprNode.html" target="_self">LeafExprNode</a></td><td class="desc">Base type of all (non-function) leaf Exprs </td></tr>
+<tr id="row_1_5_143_" class="even" 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_1relax_1_1LeafExpr.html" target="_self">LeafExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1BaseExprNode.html" title="Base type of all the expressions.">BaseExprNode</a> </td></tr>
+<tr id="row_1_5_144_" class="even" 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_1relax_1_1ShapeExprNode.html" target="_self">ShapeExprNode</a></td><td class="desc">A shape expression which allows users to construct a shape containing <a class="el" href="classtvm_1_1PrimExpr.html" title="Reference to PrimExprNode.">PrimExpr</a> </td></tr>
+<tr id="row_1_5_145_" class="even" 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_1relax_1_1ShapeExpr.html" target="_self">ShapeExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_146_" class="even" 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_1relax_1_1VarNode.html" target="_self">VarNode</a></td><td class="desc">The variable class for all Relax bindings </td></tr>
+<tr id="row_1_5_147_" class="even" 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_1relax_1_1Var.html" target="_self">Var</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_148_" class="even" 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_1relax_1_1DataflowVarNode.html" target="_self">DataflowVarNode</a></td><td class="desc">A sub-type of the variable node used to mark dataflow variables from normal visible "function local" bindings </td></tr>
+<tr id="row_1_5_149_" class="even" 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_1relax_1_1DataflowVar.html" target="_self">DataflowVar</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_150_" class="even" 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_1relax_1_1ConstantNode.html" target="_self">ConstantNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Constant.html">Constant</a> tensor </td></tr>
+<tr id="row_1_5_151_" class="even" 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_1relax_1_1Constant.html" target="_self">Constant</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_152_" class="even" 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_1relax_1_1PrimValueNode.html" target="_self">PrimValueNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1PrimValue.html" title="Managed reference to PrimValueNode.">PrimValue</a> </td></tr>
+<tr id="row_1_5_153_" class="even" 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_1relax_1_1PrimValue.html" target="_self">PrimValue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimValueNode.html" title="PrimValue.">PrimValueNode</a> </td></tr>
+<tr id="row_1_5_154_" class="even" 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_1relax_1_1StringImmNode.html" target="_self">StringImmNode</a></td><td class="desc">Represent a string literal constant </td></tr>
+<tr id="row_1_5_155_" class="even" 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_1relax_1_1StringImm.html" target="_self">StringImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1StringImm.html" title="Managed reference to StringImm.">StringImm</a> </td></tr>
+<tr id="row_1_5_156_" class="even" 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_1relax_1_1DataTypeImmNode.html" target="_self">DataTypeImmNode</a></td><td class="desc">Represent a data type constant </td></tr>
+<tr id="row_1_5_157_" class="even" 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_1relax_1_1DataTypeImm.html" target="_self">DataTypeImm</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DataTypeImm.html" title="Managed reference to DataTypeImm.">DataTypeImm</a> </td></tr>
+<tr id="row_1_5_158_" class="even" 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_1relax_1_1BindingNode.html" target="_self">BindingNode</a></td><td class="desc">The base class of a variable binding in Relax </td></tr>
+<tr id="row_1_5_159_" class="even" 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_1relax_1_1Binding.html" target="_self">Binding</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_160_" class="even" 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_1relax_1_1MatchCastNode.html" target="_self">MatchCastNode</a></td><td class="desc">Runtime-match the value to the struct info </td></tr>
+<tr id="row_1_5_161_" class="even" 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_1relax_1_1MatchCast.html" target="_self">MatchCast</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html" title="Runtime-match the value to the struct info.">MatchCastNode</a> </td></tr>
+<tr id="row_1_5_162_" class="even" 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_1relax_1_1VarBindingNode.html" target="_self">VarBindingNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_163_" class="even" 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_1relax_1_1VarBinding.html" target="_self">VarBinding</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_164_" class="even" 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_1relax_1_1BindingBlockNode.html" target="_self">BindingBlockNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_165_" class="even" 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_1relax_1_1BindingBlock.html" target="_self">BindingBlock</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_166_" class="even" 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_1relax_1_1DataflowBlockNode.html" target="_self">DataflowBlockNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_167_" class="even" 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_1relax_1_1DataflowBlock.html" target="_self">DataflowBlock</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_168_" class="even" 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_1relax_1_1SeqExprNode.html" target="_self">SeqExprNode</a></td><td class="desc">A sequence of blocks followed by an expression </td></tr>
+<tr id="row_1_5_169_" class="even" 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_1relax_1_1SeqExpr.html" target="_self">SeqExpr</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_170_" class="even" 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_1relax_1_1IfNode.html" target="_self">IfNode</a></td><td class="desc">Condition expression </td></tr>
+<tr id="row_1_5_171_" class="even" 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_1relax_1_1If.html" target="_self">If</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_172_" class="even" 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_1relax_1_1FunctionNode.html" target="_self">FunctionNode</a></td><td class="desc">A Relax function </td></tr>
+<tr id="row_1_5_173_" class="even" 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_1relax_1_1Function.html" target="_self">Function</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_174_" class="even" 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_1relax_1_1ExternFuncNode.html" target="_self">ExternFuncNode</a></td><td class="desc">The extern function, which can represent packed function </td></tr>
+<tr id="row_1_5_175_" class="even" 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_1relax_1_1ExternFunc.html" target="_self">ExternFunc</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_176_" class="even" 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_1relax_1_1ExprFunctor.html" target="_self">ExprFunctor</a></td><td class="desc">A dynamical functor that dispatches on in the first Expr argument. You can use this as a more powerful Visitor, since it allows you to define function signatures of Visit <a class="el" href="c [...]
+<tr id="row_1_5_177_" class="even" 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_1relax_1_1ExprFunctor_3_01R_07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html" target="_self">ExprFunctor< R(const Expr &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_178_" class="even" 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_1relax_1_1ExprVisitor.html" target="_self">ExprVisitor</a></td><td class="desc">A simple visitor wrapper around <a class="el" href="classtvm_1_1relax_1_1ExprFunctor.html" title="A dynamical functor that dispatches on in the first Expr argument. You can use this as a more [...]
+<tr id="row_1_5_179_" class="even" 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_1relax_1_1ExprMutatorBase.html" target="_self">ExprMutatorBase</a></td><td class="desc">A mutator works in unnormalized form </td></tr>
+<tr id="row_1_5_180_" class="even" 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_1relax_1_1ExprMutator.html" target="_self">ExprMutator</a></td><td class="desc">A mutator works in normal form </td></tr>
+<tr id="row_1_5_181_" class="even" 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_1relax_1_1NestedMsg.html" target="_self">NestedMsg</a></td><td class="desc">Container that stores possibly nested message with leaf message type T </td></tr>
+<tr id="row_1_5_182_" class="even" 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_1relax_1_1ObjectStructInfoNode.html" target="_self">ObjectStructInfoNode</a></td><td class="desc">Opaque object </td></tr>
+<tr id="row_1_5_183_" class="even" 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_1relax_1_1ObjectStructInfo.html" target="_self">ObjectStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ObjectStructInfoNode.html" title="Opaque object.">ObjectStructInfoNode</a> </td></tr>
+<tr id="row_1_5_184_" class="even" 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_1relax_1_1PrimStructInfoNode.html" target="_self">PrimStructInfoNode</a></td><td class="desc">Primitive value </td></tr>
+<tr id="row_1_5_185_" class="even" 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_1relax_1_1PrimStructInfo.html" target="_self">PrimStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1PrimStructInfoNode.html" title="Primitive value.">PrimStructInfoNode</a> </td></tr>
+<tr id="row_1_5_186_" class="even" 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_1relax_1_1ShapeStructInfoNode.html" target="_self">ShapeStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of shape value </td></tr>
+<tr id="row_1_5_187_" class="even" 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_1relax_1_1ShapeStructInfo.html" target="_self">ShapeStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ShapeStructInfoNode.html" title="StructInfo of shape value.">ShapeStructInfoNode</a> </td></tr>
+<tr id="row_1_5_188_" class="even" 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_1relax_1_1TensorStructInfoNode.html" target="_self">TensorStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of Tensor </td></tr>
+<tr id="row_1_5_189_" class="even" 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_1relax_1_1TensorStructInfo.html" target="_self">TensorStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorStructInfoNode.html" title="StructInfo of Tensor.">TensorStructInfoNode</a> </td></tr>
+<tr id="row_1_5_190_" class="even" 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_1relax_1_1TupleStructInfoNode.html" target="_self">TupleStructInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfo.html" title="Managed reference to StructInfoNode.">StructInfo</a> of <a class="el" href="classtvm_1_1relax_1_1Tuple.html">Tu [...]
+<tr id="row_1_5_191_" class="even" 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_1relax_1_1TupleStructInfo.html" target="_self">TupleStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TupleStructInfoNode.html" title="StructInfo of Tuple.">TupleStructInfoNode</a> </td></tr>
+<tr id="row_1_5_192_" class="even" 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_1relax_1_1FuncStructInfoNode.html" target="_self">FuncStructInfoNode</a></td><td class="desc">Structure information about function </td></tr>
+<tr id="row_1_5_193_" class="even" 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_1relax_1_1FuncStructInfo.html" target="_self">FuncStructInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1FuncStructInfoNode.html" title="Structure information about function.">FuncStructInfoNode</a> </td></tr>
+<tr id="row_1_5_194_" class="even" 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_1relax_1_1StructInfoFunctor.html" target="_self">StructInfoFunctor</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_195_" class="even" 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_1relax_1_1StructInfoFunctor_3_01R_07const_01StructInfo_01_6n_00_01Args_8_8_8_08_4.html" target="_self">StructInfoFunctor< R(const StructInfo &n, Args...)></a></td><td class="desc"></td></tr>
+<tr id="row_1_5_196_" class="even" 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_1relax_1_1StructInfoVisitor.html" target="_self">StructInfoVisitor</a></td><td class="desc">A struct info visitor </td></tr>
+<tr id="row_1_5_197_" class="even" 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_1relax_1_1StructInfoMutator.html" target="_self">StructInfoMutator</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1StructInfoMutator.html" title="StructInfoMutator that mutates struct info.">StructInfoMutator</a> that mutates struct info </td></tr>
+<tr id="row_1_5_198_" class="even" 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_1relax_1_1MatchResultNode.html" target="_self">MatchResultNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_199_" class="even" 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_1relax_1_1MatchResult.html" target="_self">MatchResult</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1MatchResultNode.html">MatchResultNode</a> </td></tr>
+<tr id="row_1_5_200_" class="even" 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_1relax_1_1ChoiceNode.html" target="_self">ChoiceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Choice.html" title="Managed reference to ChoiceNode.">Choice</a> manages a set of keys for transformation and constraint functions </td></tr>
+<tr id="row_1_5_201_" class="even" 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_1relax_1_1Choice.html" target="_self">Choice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1ChoiceNode.html" title="Choice manages a set of keys for transformation and constraint functions.">ChoiceNode</a> </td></tr>
+<tr id="row_1_5_202_" class="even" 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_1relax_1_1KnobNode.html" target="_self">KnobNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Knob.html" title="Managed reference to KnobNode.">Knob</a> manages a set of valid choices for an optimization </td></tr>
+<tr id="row_1_5_203_" class="even" 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_1relax_1_1Knob.html" target="_self">Knob</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1KnobNode.html" title="Knob manages a set of valid choices for an optimization.">KnobNode</a> </td></tr>
+<tr id="row_1_5_204_" class="even" 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_1relax_1_1TraceNode.html" target="_self">TraceNode</a></td><td class="desc"><a class="el" href="classtvm_1_1relax_1_1Trace.html" title="Managed reference to TraceNode.">Trace</a> manages history of optimization decisions </td></tr>
+<tr id="row_1_5_205_" class="even" 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_1relax_1_1Trace.html" target="_self">Trace</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TraceNode.html" title="Trace manages history of optimization decisions.">TraceNode</a> </td></tr>
+<tr id="row_1_5_206_" class="even" 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_1relax_1_1TuningRecordNode.html" target="_self">TuningRecordNode</a></td><td class="desc">The class of tuning records </td></tr>
+<tr id="row_1_5_207_" class="even" 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_1relax_1_1TuningRecord.html" target="_self">TuningRecord</a></td><td class="desc">The managed reference of <a class="el" href="classtvm_1_1relax_1_1TuningRecordNode.html" title="The class of tuning records.">TuningRecordNode</a> </td></tr>
+<tr id="row_1_5_208_" class="even" 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_1relax_1_1WorkloadEqual.html" target="_self">WorkloadEqual</a></td><td class="desc">The equality check for Workload </td></tr>
+<tr id="row_1_5_209_" class="even" 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_1relax_1_1DatabaseNode.html" target="_self">DatabaseNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_210_" class="even" 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_1relax_1_1Database.html" target="_self">Database</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DatabaseNode.html">DatabaseNode</a> </td></tr>
+<tr id="row_1_5_211_" class="even" 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_1relax_1_1ShapeTypeNode.html" target="_self">ShapeTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_212_" class="even" 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_1relax_1_1ShapeType.html" target="_self">ShapeType</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_213_" class="even" 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_1relax_1_1TensorTypeNode.html" target="_self">TensorTypeNode</a></td><td class="desc">Dynamic version of <a class="el" href="classtvm_1_1relax_1_1TensorType.html" title="Managed reference to TensorTypeNode.">TensorType</a> </td></tr>
+<tr id="row_1_5_214_" class="even" 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_1relax_1_1TensorType.html" target="_self">TensorType</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1TensorTypeNode.html" title="Dynamic version of TensorType.">TensorTypeNode</a> </td></tr>
+<tr id="row_1_5_215_" class="even" 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_1relax_1_1ObjectTypeNode.html" target="_self">ObjectTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_216_" class="even" 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_1relax_1_1ObjectType.html" target="_self">ObjectType</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_217_" class="even" 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_1relax_1_1PackedFuncTypeNode.html" target="_self">PackedFuncTypeNode</a></td><td class="desc"></td></tr>
+<tr id="row_1_5_218_" class="even" 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_1relax_1_1PackedFuncType.html" target="_self">PackedFuncType</a></td><td class="desc"></td></tr>
<tr id="row_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_1_6_" class="arrow" onclick="toggleFolder('1_6_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime.html" target="_self">runtime</a></td><td class="desc"></td></tr>
<tr id="row_1_6_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_1_6_0_" class="arrow" onclick="toggleFolder('1_6_0_')">►</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacetvm_1_1runtime_1_1cuda__ipc.html" target="_self">cuda_ipc</a></td><td class="desc"></td></tr>
<tr id="row_1_6_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:64px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html" target="_self">CUDAIPCMemoryObj</a></td><td class="desc">The CUDA IPC (interprocess communication) memory object, which internally contains data pointers to CUDA IPC memory. It is be useful for efficient all-reduce implement [...]
diff --git a/docs/reference/api/doxygen/classes.html b/docs/reference/api/doxygen/classes.html
index 71be178a8b..47c72bb76e 100644
--- a/docs/reference/api/doxygen/classes.html
+++ b/docs/reference/api/doxygen/classes.html
@@ -102,7 +102,7 @@ $(function() {
<dd><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDoc.html">LambdaDoc</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1printer_1_1LambdaDocNode.html">LambdaDocNode</a> (<a class="el" href="namespacetvm_1_1script_1_1printer.html">tvm::script::printer</a>)</dd><dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tir_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> (<a class="el" [...]
<dl class="classindex odd">
<dt class="alphachar"><a name="letter_M">M</a></dt>
-<dd><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)</dd><dd><a class="el" href="classtvm_1_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)</dd><dd><a class="el" href="classtvm_1_1MapValuePath.html">MapValuePath</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1MapValuePathNode.html">MapValuePathNode</a> (<a [...]
+<dd><a class="el" href="classtvm_1_1runtime_1_1Map.html">Map</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)</dd><dd><a class="el" href="classtvm_1_1runtime_1_1MapNode.html">MapNode</a> (<a class="el" href="namespacetvm_1_1runtime.html">tvm::runtime</a>)</dd><dd><a class="el" href="classtvm_1_1MapValuePath.html">MapValuePath</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1MapValuePathNode.html">MapValuePathNode</a> (<a [...]
<dl class="classindex even">
<dt class="alphachar"><a name="letter_N">N</a></dt>
<dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">Namer</a> (<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html">tvm::script::ir_builder::details</a>)</dd><dd><a class="el" href="classtvm_1_1NameSupply.html">NameSupply</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classtvm_1_1NameSupplyNode.html">NameSupplyNode</a> (<a class="el" href="namespacetvm.html">tvm</a>)</dd><dd><a class="el" href="classt [...]
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
index 38ca969441..6302e9a1ef 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode.html
@@ -82,7 +82,7 @@ $(function() {
<div class="dynheader">
Inheritance diagram for tvm::BaseAttrsNode:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseAttrsNode__inherit__graph.svg" width="16899" height="1344"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1BaseAttrsNode__inherit__graph.svg" width="17119" height="1344"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div class="dynheader">
@@ -323,7 +323,7 @@ Additional Inherited Members</h2></td></tr>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function throws when the required field is not present. </dd></dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< HintOnDeviceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::A [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::AttrsNode< HintOnDeviceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acfba199ef906818f35432d2e5532559a">tvm::A [...]
</div>
</div>
@@ -389,7 +389,7 @@ template<typename... Args> </div>
<p>Get the field information. </p>
<dl class="section return"><dt>Returns</dt><dd>The fields in the <a class="el" href="classtvm_1_1Attrs.html" title="Managed reference to BaseAttrsNode.">Attrs</a>. </dd></dl>
-<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< HintOnDeviceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::A [...]
+<p>Implemented in <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::AttrsNode< HintOnDeviceAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acefe615381b5d881870af9db7ce6a981">tvm::A [...]
</div>
</div>
@@ -479,7 +479,7 @@ template<typename... Args> </div>
</table>
</div><div class="memdoc">
-<p>Reimplemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#a8866b613e11f531ec6db5834bb1d15ef">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< Hint [...]
+<p>Reimplemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#a8866b613e11f531ec6db5834bb1d15ef">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#a5da687ced06b4f2dfa04b142a34a9c72">tvm::AttrsNode< Hint [...]
</div>
</div>
@@ -516,7 +516,7 @@ template<typename... Args> </div>
</dd>
</dl>
-<p>Implemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#ac096af14759a1d48ecf78fd6545776e0">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< HintOn [...]
+<p>Implemented in <a class="el" href="classtvm_1_1DictAttrsNode.html#ac096af14759a1d48ecf78fd6545776e0">tvm::DictAttrsNode</a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< DerivedType ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< ScatterCollectiveAttrs ></a>, <a class="el" href="classtvm_1_1AttrsNode.html#acd05137ba529ac7cd07053e3da885205">tvm::AttrsNode< HintOn [...]
</div>
</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
index dc6f722ead..2c0ebab5e6 100644
--- a/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1BaseAttrsNode__inherit__graph.svg
@@ -4,33 +4,33 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::BaseAttrsNode Pages: 1 -->
-<svg width="12674pt" height="1008pt"
- viewBox="0.00 0.00 12673.50 1008.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="12839pt" height="1008pt"
+ viewBox="0.00 0.00 12838.50 1008.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 1004)">
<title>tvm::BaseAttrsNode</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1004 12669.5,-1004 12669.5,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1004 12834.5,-1004 12834.5,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Base class of all attribute class.">
-<polygon fill="#bfbfbf" stroke="black" points="6182,-375.5 6182,-564.5 6355,-564.5 6355,-375.5 6182,-375.5"/>
-<text text-anchor="middle" x="6268.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
-<polyline fill="none" stroke="black" points="6182,-545.5 6355,-545.5 "/>
-<text text-anchor="start" x="6190" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="6190" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6190" y="-511.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="6190" y="-500.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6190" y="-489.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="6182,-482.5 6355,-482.5 "/>
-<text text-anchor="start" x="6190" y="-470.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
-<text text-anchor="start" x="6190" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6190" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
-<text text-anchor="start" x="6190" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintDocString()</text>
-<text text-anchor="start" x="6190" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6190" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-<text text-anchor="start" x="6190" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6190" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="6190" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<polygon fill="#bfbfbf" stroke="black" points="6256,-375.5 6256,-564.5 6429,-564.5 6429,-375.5 6256,-375.5"/>
+<text text-anchor="middle" x="6342.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
+<polyline fill="none" stroke="black" points="6256,-545.5 6429,-545.5 "/>
+<text text-anchor="start" x="6264" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="6264" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6264" y="-511.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="6264" y="-500.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6264" y="-489.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="6256,-482.5 6429,-482.5 "/>
+<text text-anchor="start" x="6264" y="-470.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
+<text text-anchor="start" x="6264" y="-459.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6264" y="-448.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
+<text text-anchor="start" x="6264" y="-437.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintDocString()</text>
+<text text-anchor="start" x="6264" y="-426.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6264" y="-415.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<text text-anchor="start" x="6264" y="-404.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6264" y="-393.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="6264" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
@@ -56,8 +56,8 @@
<!-- Node1->Node3 -->
<g id="edge2" class="edge">
<title>Node1->Node3</title>
-<path fill="none" stroke="midnightblue" d="M6171.71,-468.54C5416.6,-464.76 490.47,-436.43 194.5,-339 185.65,-336.09 176.89,-332.12 168.45,-327.54"/>
-<polygon fill="none" stroke="midnightblue" points="6171.71,-472.04 6181.73,-468.59 6171.75,-465.04 6171.71,-472.04"/>
+<path fill="none" stroke="midnightblue" d="M6245.74,-468.57C5485.48,-464.97 494.24,-437.63 194.5,-339 185.65,-336.09 176.89,-332.12 168.45,-327.54"/>
+<polygon fill="none" stroke="midnightblue" points="6245.81,-472.07 6255.82,-468.61 6245.84,-465.07 6245.81,-472.07"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
@@ -81,8 +81,8 @@
<!-- Node1->Node5 -->
<g id="edge4" class="edge">
<title>Node1->Node5</title>
-<path fill="none" stroke="midnightblue" d="M6171.78,-468.57C5430.2,-465.1 667.01,-438.96 382.5,-339 374.16,-336.07 365.97,-332.09 358.11,-327.5"/>
-<polygon fill="none" stroke="midnightblue" points="6171.87,-472.08 6181.89,-468.62 6171.9,-465.08 6171.87,-472.08"/>
+<path fill="none" stroke="midnightblue" d="M6245.75,-468.6C5498.75,-465.32 670.75,-440.23 382.5,-339 374.16,-336.07 365.97,-332.09 358.11,-327.51"/>
+<polygon fill="none" stroke="midnightblue" points="6245.91,-472.1 6255.93,-468.65 6245.94,-465.1 6245.91,-472.1"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
@@ -105,8 +105,8 @@
<!-- Node1->Node7 -->
<g id="edge6" class="edge">
<title>Node1->Node7</title>
-<path fill="none" stroke="midnightblue" d="M6171.8,-468.59C5442.92,-465.28 832.52,-440.35 558.5,-339 547.58,-334.96 537.01,-328.96 527.23,-322.11"/>
-<polygon fill="none" stroke="midnightblue" points="6171.98,-472.09 6181.99,-468.64 6172.01,-465.09 6171.98,-472.09"/>
+<path fill="none" stroke="midnightblue" d="M6245.71,-468.62C5511.16,-465.5 836.23,-441.67 558.5,-339 547.58,-334.96 537.01,-328.96 527.23,-322.12"/>
+<polygon fill="none" stroke="midnightblue" points="6245.97,-472.12 6255.98,-468.66 6246,-465.12 6245.97,-472.12"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
@@ -130,19 +130,19 @@
<!-- Node1->Node9 -->
<g id="edge8" class="edge">
<title>Node1->Node9</title>
-<path fill="none" stroke="midnightblue" d="M6171.61,-468.34C5457.14,-463.31 1025.33,-428.55 758.5,-339 749.78,-336.07 741.17,-332.1 732.87,-327.51"/>
-<polygon fill="none" stroke="midnightblue" points="6171.83,-471.85 6181.86,-468.42 6171.88,-464.85 6171.83,-471.85"/>
+<path fill="none" stroke="midnightblue" d="M6245.72,-468.38C5526.09,-463.54 1029.1,-429.77 758.5,-339 749.78,-336.07 741.17,-332.1 732.87,-327.51"/>
+<polygon fill="none" stroke="midnightblue" points="6245.76,-471.88 6255.79,-468.44 6245.81,-464.88 6245.76,-471.88"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="768,-204.5 768,-327.5 949,-327.5 949,-204.5 768,-204.5"/>
-<text text-anchor="start" x="776" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherElements</text>
-<text text-anchor="middle" x="858.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="768,-297.5 949,-297.5 "/>
-<text text-anchor="middle" x="858.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="768,-278.5 949,-278.5 "/>
+<polygon fill="white" stroke="black" points="768,-204.5 768,-327.5 915,-327.5 915,-204.5 768,-204.5"/>
+<text text-anchor="start" x="776" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Meshgrid</text>
+<text text-anchor="middle" x="841.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="768,-297.5 915,-297.5 "/>
+<text text-anchor="middle" x="841.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="768,-278.5 915,-278.5 "/>
<text text-anchor="start" x="776" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
<text text-anchor="start" x="776" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
<text text-anchor="start" x="776" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
@@ -155,118 +155,118 @@
<!-- Node1->Node11 -->
<g id="edge10" class="edge">
<title>Node1->Node11</title>
-<path fill="none" stroke="midnightblue" d="M6171.8,-468.27C5472.86,-462.79 1214.04,-425.91 957.5,-339 948.95,-336.1 940.5,-332.18 932.37,-327.66"/>
-<polygon fill="none" stroke="midnightblue" points="6171.81,-471.77 6181.83,-468.35 6171.86,-464.77 6171.81,-471.77"/>
+<path fill="none" stroke="midnightblue" d="M6245.72,-468.56C5538.03,-465.08 1181.18,-439.62 923.5,-339 916.09,-336.11 908.9,-332.22 902.06,-327.75"/>
+<polygon fill="none" stroke="midnightblue" points="6245.86,-472.06 6255.88,-468.61 6245.89,-465.06 6245.86,-472.06"/>
</g>
<!-- Node13 -->
<g id="node13" class="node">
<title>Node13</title>
<g id="a_node13"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="967,-210 967,-322 1140,-322 1140,-210 967,-210"/>
-<text text-anchor="middle" x="1053.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< EinsumAttrs ></text>
-<polyline fill="none" stroke="black" points="967,-303 1140,-303 "/>
-<text text-anchor="middle" x="1053.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="967,-284 1140,-284 "/>
-<text text-anchor="start" x="975" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="975" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="975" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="975" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="975" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="975" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="933,-204.5 933,-327.5 1114,-327.5 1114,-204.5 933,-204.5"/>
+<text text-anchor="start" x="941" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherElements</text>
+<text text-anchor="middle" x="1023.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="933,-297.5 1114,-297.5 "/>
+<text text-anchor="middle" x="1023.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="933,-278.5 1114,-278.5 "/>
+<text text-anchor="start" x="941" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="941" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="941" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="941" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="941" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="941" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node13 -->
<g id="edge12" class="edge">
<title>Node1->Node13</title>
-<path fill="none" stroke="midnightblue" d="M6171.77,-468.23C5487.29,-462.57 1394.52,-425.19 1148.5,-339 1136.98,-334.96 1125.72,-328.96 1115.22,-322.12"/>
-<polygon fill="none" stroke="midnightblue" points="6171.81,-471.73 6181.84,-468.31 6171.87,-464.73 6171.81,-471.73"/>
+<path fill="none" stroke="midnightblue" d="M6245.56,-468.23C5552.82,-462.48 1374.4,-424.4 1122.5,-339 1113.95,-336.1 1105.5,-332.18 1097.37,-327.65"/>
+<polygon fill="none" stroke="midnightblue" points="6245.72,-471.73 6255.75,-468.31 6245.78,-464.73 6245.72,-471.73"/>
</g>
<!-- Node15 -->
<g id="node15" class="node">
<title>Node15</title>
<g id="a_node15"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1158,-204.5 1158,-327.5 1317,-327.5 1317,-204.5 1158,-204.5"/>
-<text text-anchor="start" x="1166" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Distribution</text>
-<text text-anchor="middle" x="1237.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="1158,-297.5 1317,-297.5 "/>
-<text text-anchor="middle" x="1237.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1158,-278.5 1317,-278.5 "/>
-<text text-anchor="start" x="1166" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="1166" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="1166" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="1166" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="1166" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="1166" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="1132,-210 1132,-322 1305,-322 1305,-210 1132,-210"/>
+<text text-anchor="middle" x="1218.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< EinsumAttrs ></text>
+<polyline fill="none" stroke="black" points="1132,-303 1305,-303 "/>
+<text text-anchor="middle" x="1218.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1132,-284 1305,-284 "/>
+<text text-anchor="start" x="1140" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="1140" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="1140" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="1140" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="1140" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="1140" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node15 -->
<g id="edge14" class="edge">
<title>Node1->Node15</title>
-<path fill="none" stroke="midnightblue" d="M6171.68,-468.22C5500.69,-462.59 1562.18,-425.9 1326.5,-339 1318.57,-336.08 1310.83,-332.14 1303.42,-327.61"/>
-<polygon fill="none" stroke="midnightblue" points="6171.76,-471.72 6181.79,-468.3 6171.82,-464.72 6171.76,-471.72"/>
+<path fill="none" stroke="midnightblue" d="M6245.63,-468.18C5567.8,-462.25 1554.91,-423.63 1313.5,-339 1301.98,-334.96 1290.72,-328.96 1280.22,-322.11"/>
+<polygon fill="none" stroke="midnightblue" points="6245.81,-471.68 6255.84,-468.27 6245.88,-464.68 6245.81,-471.68"/>
</g>
<!-- Node17 -->
<g id="node17" class="node">
<title>Node17</title>
<g id="a_node17"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1335.5,-204.5 1335.5,-327.5 1491.5,-327.5 1491.5,-204.5 1335.5,-204.5"/>
-<text text-anchor="start" x="1343.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallInplace</text>
-<text text-anchor="middle" x="1413.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">PackedAttrs ></text>
-<polyline fill="none" stroke="black" points="1335.5,-297.5 1491.5,-297.5 "/>
-<text text-anchor="middle" x="1413.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1335.5,-278.5 1491.5,-278.5 "/>
-<text text-anchor="start" x="1343.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="1343.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="1343.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="1343.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="1343.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="1343.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="1323,-204.5 1323,-327.5 1482,-327.5 1482,-204.5 1323,-204.5"/>
+<text text-anchor="start" x="1331" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Distribution</text>
+<text text-anchor="middle" x="1402.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="1323,-297.5 1482,-297.5 "/>
+<text text-anchor="middle" x="1402.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1323,-278.5 1482,-278.5 "/>
+<text text-anchor="start" x="1331" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="1331" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="1331" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="1331" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="1331" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="1331" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node17 -->
<g id="edge16" class="edge">
<title>Node1->Node17</title>
-<path fill="none" stroke="midnightblue" d="M6171.48,-468.15C5513.68,-462.16 1726.96,-424.06 1500.5,-339 1492.7,-336.07 1485.09,-332.13 1477.83,-327.59"/>
-<polygon fill="none" stroke="midnightblue" points="6171.83,-471.65 6181.86,-468.24 6171.89,-464.65 6171.83,-471.65"/>
+<path fill="none" stroke="midnightblue" d="M6245.39,-468.17C5580.77,-462.24 1722.59,-424.27 1491.5,-339 1483.58,-336.08 1475.83,-332.14 1468.42,-327.6"/>
+<polygon fill="none" stroke="midnightblue" points="6245.85,-471.67 6255.88,-468.26 6245.91,-464.67 6245.85,-471.67"/>
</g>
<!-- Node19 -->
<g id="node19" class="node">
<title>Node19</title>
<g id="a_node19"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1510,-204.5 1510,-327.5 1657,-327.5 1657,-204.5 1510,-204.5"/>
-<text text-anchor="start" x="1518" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Attention</text>
-<text text-anchor="middle" x="1583.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="1510,-297.5 1657,-297.5 "/>
-<text text-anchor="middle" x="1583.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1510,-278.5 1657,-278.5 "/>
-<text text-anchor="start" x="1518" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="1518" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="1518" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="1518" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="1518" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="1518" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="1500.5,-204.5 1500.5,-327.5 1656.5,-327.5 1656.5,-204.5 1500.5,-204.5"/>
+<text text-anchor="start" x="1508.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallInplace</text>
+<text text-anchor="middle" x="1578.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">PackedAttrs ></text>
+<polyline fill="none" stroke="black" points="1500.5,-297.5 1656.5,-297.5 "/>
+<text text-anchor="middle" x="1578.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1500.5,-278.5 1656.5,-278.5 "/>
+<text text-anchor="start" x="1508.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="1508.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="1508.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="1508.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="1508.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="1508.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node19 -->
<g id="edge18" class="edge">
<title>Node1->Node19</title>
-<path fill="none" stroke="midnightblue" d="M6171.48,-468.13C5526.94,-462.09 1882.49,-424.26 1665.5,-339 1658.09,-336.09 1650.91,-332.2 1644.08,-327.72"/>
-<polygon fill="none" stroke="midnightblue" points="6171.63,-471.63 6181.66,-468.22 6171.69,-464.63 6171.63,-471.63"/>
+<path fill="none" stroke="midnightblue" d="M6245.52,-468.1C5595.17,-461.81 1887.42,-422.42 1665.5,-339 1657.7,-336.07 1650.09,-332.13 1642.83,-327.59"/>
+<polygon fill="none" stroke="midnightblue" points="6245.75,-471.6 6255.78,-468.2 6245.82,-464.6 6245.75,-471.6"/>
</g>
<!-- Node21 -->
<g id="node21" class="node">
<title>Node21</title>
<g id="a_node21"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1675,-204.5 1675,-327.5 1826,-327.5 1826,-204.5 1675,-204.5"/>
-<text text-anchor="start" x="1683" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AllReduce</text>
-<text text-anchor="middle" x="1750.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="1675,-297.5 1826,-297.5 "/>
-<text text-anchor="middle" x="1750.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1675,-278.5 1826,-278.5 "/>
+<polygon fill="white" stroke="black" points="1675,-204.5 1675,-327.5 1822,-327.5 1822,-204.5 1675,-204.5"/>
+<text text-anchor="start" x="1683" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Attention</text>
+<text text-anchor="middle" x="1748.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="1675,-297.5 1822,-297.5 "/>
+<text text-anchor="middle" x="1748.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1675,-278.5 1822,-278.5 "/>
<text text-anchor="start" x="1683" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
<text text-anchor="start" x="1683" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
<text text-anchor="start" x="1683" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
@@ -279,1503 +279,1528 @@
<!-- Node1->Node21 -->
<g id="edge20" class="edge">
<title>Node1->Node21</title>
-<path fill="none" stroke="midnightblue" d="M6171.11,-467.97C5539.66,-461.04 2044.72,-419.2 1835.5,-339 1827.83,-336.06 1820.36,-332.11 1813.24,-327.57"/>
-<polygon fill="none" stroke="midnightblue" points="6171.5,-471.47 6181.54,-468.08 6171.58,-464.47 6171.5,-471.47"/>
+<path fill="none" stroke="midnightblue" d="M6245.88,-468.07C5609.89,-461.74 2043.01,-422.57 1830.5,-339 1823.1,-336.09 1815.91,-332.19 1809.08,-327.72"/>
+<polygon fill="none" stroke="midnightblue" points="6245.89,-471.57 6255.93,-468.17 6245.96,-464.57 6245.89,-471.57"/>
</g>
<!-- Node23 -->
<g id="node23" class="node">
<title>Node23</title>
<g id="a_node23"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="1844.5,-204.5 1844.5,-327.5 1990.5,-327.5 1990.5,-204.5 1844.5,-204.5"/>
-<text text-anchor="start" x="1852.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
-<text text-anchor="middle" x="1917.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool2DAttrs ></text>
-<polyline fill="none" stroke="black" points="1844.5,-297.5 1990.5,-297.5 "/>
-<text text-anchor="middle" x="1917.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="1844.5,-278.5 1990.5,-278.5 "/>
-<text text-anchor="start" x="1852.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="1852.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="1852.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="1852.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="1852.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="1852.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="1840,-204.5 1840,-327.5 1991,-327.5 1991,-204.5 1840,-204.5"/>
+<text text-anchor="start" x="1848" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AllReduce</text>
+<text text-anchor="middle" x="1915.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="1840,-297.5 1991,-297.5 "/>
+<text text-anchor="middle" x="1915.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="1840,-278.5 1991,-278.5 "/>
+<text text-anchor="start" x="1848" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="1848" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="1848" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="1848" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="1848" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="1848" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node23 -->
<g id="edge22" class="edge">
<title>Node1->Node23</title>
-<path fill="none" stroke="midnightblue" d="M6171.76,-467.91C5555.71,-460.71 2199.93,-418.01 1999.5,-339 1992.1,-336.08 1984.92,-332.18 1978.08,-327.7"/>
-<polygon fill="none" stroke="midnightblue" points="6171.89,-471.41 6181.93,-468.03 6171.97,-464.41 6171.89,-471.41"/>
+<path fill="none" stroke="midnightblue" d="M6245.62,-467.91C5623.13,-460.69 2205.24,-417.55 2000.5,-339 1992.83,-336.06 1985.36,-332.1 1978.24,-327.56"/>
+<polygon fill="none" stroke="midnightblue" points="6245.86,-471.41 6255.9,-468.03 6245.94,-464.41 6245.86,-471.41"/>
</g>
<!-- Node25 -->
<g id="node25" class="node">
<title>Node25</title>
<g id="a_node25"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2008.5,-210 2008.5,-322 2194.5,-322 2194.5,-210 2008.5,-210"/>
-<text text-anchor="middle" x="2101.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScatterNDAttrs ></text>
-<polyline fill="none" stroke="black" points="2008.5,-303 2194.5,-303 "/>
-<text text-anchor="middle" x="2101.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2008.5,-284 2194.5,-284 "/>
-<text text-anchor="start" x="2016.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="2016.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="2016.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="2016.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="2016.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="2016.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="2009.5,-204.5 2009.5,-327.5 2155.5,-327.5 2155.5,-204.5 2009.5,-204.5"/>
+<text text-anchor="start" x="2017.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
+<text text-anchor="middle" x="2082.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool2DAttrs ></text>
+<polyline fill="none" stroke="black" points="2009.5,-297.5 2155.5,-297.5 "/>
+<text text-anchor="middle" x="2082.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2009.5,-278.5 2155.5,-278.5 "/>
+<text text-anchor="start" x="2017.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="2017.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="2017.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="2017.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="2017.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="2017.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node25 -->
<g id="edge24" class="edge">
<title>Node1->Node25</title>
-<path fill="none" stroke="midnightblue" d="M6171.44,-469.23C5590.94,-470.15 2590.27,-468.6 2203.5,-339 2191.37,-334.94 2179.42,-328.92 2168.2,-322.07"/>
-<polygon fill="none" stroke="midnightblue" points="6171.87,-472.73 6181.86,-469.21 6171.86,-465.73 6171.87,-472.73"/>
+<path fill="none" stroke="midnightblue" d="M6245.87,-467.84C5637.88,-460.32 2360.42,-416.31 2164.5,-339 2157.1,-336.08 2149.92,-332.18 2143.09,-327.7"/>
+<polygon fill="none" stroke="midnightblue" points="6245.87,-471.34 6255.92,-467.97 6245.96,-464.34 6245.87,-471.34"/>
</g>
<!-- Node27 -->
<g id="node27" class="node">
<title>Node27</title>
<g id="a_node27"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2212.5,-210 2212.5,-322 2364.5,-322 2364.5,-210 2212.5,-210"/>
-<text text-anchor="middle" x="2288.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< InitAttrs ></text>
-<polyline fill="none" stroke="black" points="2212.5,-303 2364.5,-303 "/>
-<text text-anchor="middle" x="2288.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2212.5,-284 2364.5,-284 "/>
-<text text-anchor="start" x="2220.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="2220.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="2220.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="2220.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="2220.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="2220.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="2173.5,-210 2173.5,-322 2359.5,-322 2359.5,-210 2173.5,-210"/>
+<text text-anchor="middle" x="2266.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScatterNDAttrs ></text>
+<polyline fill="none" stroke="black" points="2173.5,-303 2359.5,-303 "/>
+<text text-anchor="middle" x="2266.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2173.5,-284 2359.5,-284 "/>
+<text text-anchor="start" x="2181.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="2181.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="2181.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="2181.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="2181.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="2181.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node27 -->
<g id="edge26" class="edge">
<title>Node1->Node27</title>
-<path fill="none" stroke="midnightblue" d="M6171.53,-467.56C5587.37,-458.69 2555.99,-409.38 2373.5,-339 2363.03,-334.96 2352.95,-329.06 2343.61,-322.34"/>
-<polygon fill="none" stroke="midnightblue" points="6171.55,-471.06 6181.6,-467.72 6171.65,-464.07 6171.55,-471.06"/>
+<path fill="none" stroke="midnightblue" d="M6245.31,-469.15C5672.22,-469.61 2746.07,-465.67 2368.5,-339 2356.38,-334.93 2344.42,-328.92 2333.2,-322.06"/>
+<polygon fill="none" stroke="midnightblue" points="6245.61,-472.65 6255.61,-469.14 6245.6,-465.65 6245.61,-472.65"/>
</g>
<!-- Node29 -->
<g id="node29" class="node">
<title>Node29</title>
<g id="a_node29"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2383,-210 2383,-322 2538,-322 2538,-210 2383,-210"/>
-<text text-anchor="middle" x="2460.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FlipAttrs ></text>
-<polyline fill="none" stroke="black" points="2383,-303 2538,-303 "/>
-<text text-anchor="middle" x="2460.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2383,-284 2538,-284 "/>
-<text text-anchor="start" x="2391" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="2391" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="2391" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="2391" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="2391" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="2391" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="2377.5,-210 2377.5,-322 2529.5,-322 2529.5,-210 2377.5,-210"/>
+<text text-anchor="middle" x="2453.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< InitAttrs ></text>
+<polyline fill="none" stroke="black" points="2377.5,-303 2529.5,-303 "/>
+<text text-anchor="middle" x="2453.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2377.5,-284 2529.5,-284 "/>
+<text text-anchor="start" x="2385.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="2385.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="2385.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="2385.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="2385.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="2385.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node29 -->
<g id="edge28" class="edge">
<title>Node1->Node29</title>
-<path fill="none" stroke="midnightblue" d="M6171.68,-469.34C5620.88,-470.75 2894.9,-471 2547.5,-339 2536.87,-334.96 2526.59,-329.06 2517.05,-322.34"/>
-<polygon fill="none" stroke="midnightblue" points="6171.97,-472.83 6181.96,-469.31 6171.95,-465.83 6171.97,-472.83"/>
+<path fill="none" stroke="midnightblue" d="M6245.52,-467.48C5669.47,-458.25 2716.47,-407.71 2538.5,-339 2528.04,-334.96 2517.95,-329.05 2508.61,-322.34"/>
+<polygon fill="none" stroke="midnightblue" points="6245.81,-470.99 6255.86,-467.65 6245.92,-463.99 6245.81,-470.99"/>
</g>
<!-- Node31 -->
<g id="node31" class="node">
<title>Node31</title>
<g id="a_node31"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2556.5,-204.5 2556.5,-327.5 2704.5,-327.5 2704.5,-204.5 2556.5,-204.5"/>
-<text text-anchor="start" x="2564.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AllGather</text>
-<text text-anchor="middle" x="2630.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="2556.5,-297.5 2704.5,-297.5 "/>
-<text text-anchor="middle" x="2630.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2556.5,-278.5 2704.5,-278.5 "/>
-<text text-anchor="start" x="2564.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="2564.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="2564.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="2564.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="2564.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="2564.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="2548,-210 2548,-322 2703,-322 2703,-210 2548,-210"/>
+<text text-anchor="middle" x="2625.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< FlipAttrs ></text>
+<polyline fill="none" stroke="black" points="2548,-303 2703,-303 "/>
+<text text-anchor="middle" x="2625.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2548,-284 2703,-284 "/>
+<text text-anchor="start" x="2556" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="2556" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="2556" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="2556" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="2556" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="2556" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node31 -->
<g id="edge30" class="edge">
<title>Node1->Node31</title>
-<path fill="none" stroke="midnightblue" d="M6171.64,-469.29C5635.39,-470.38 3042.93,-468.88 2713.5,-339 2706.05,-336.06 2698.8,-332.15 2691.91,-327.66"/>
-<polygon fill="none" stroke="midnightblue" points="6171.67,-472.79 6181.66,-469.27 6171.65,-465.79 6171.67,-472.79"/>
+<path fill="none" stroke="midnightblue" d="M6245.85,-469.24C5703.53,-470.12 3050.9,-467.75 2712.5,-339 2701.87,-334.96 2691.59,-329.05 2682.05,-322.33"/>
+<polygon fill="none" stroke="midnightblue" points="6245.99,-472.74 6255.99,-469.23 6245.98,-465.74 6245.99,-472.74"/>
</g>
<!-- Node33 -->
<g id="node33" class="node">
<title>Node33</title>
<g id="a_node33"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2722.5,-204.5 2722.5,-327.5 2868.5,-327.5 2868.5,-204.5 2722.5,-204.5"/>
-<text text-anchor="start" x="2730.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
-<text text-anchor="middle" x="2795.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool3DAttrs ></text>
-<polyline fill="none" stroke="black" points="2722.5,-297.5 2868.5,-297.5 "/>
+<polygon fill="white" stroke="black" points="2721.5,-204.5 2721.5,-327.5 2869.5,-327.5 2869.5,-204.5 2721.5,-204.5"/>
+<text text-anchor="start" x="2729.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AllGather</text>
+<text text-anchor="middle" x="2795.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="2721.5,-297.5 2869.5,-297.5 "/>
<text text-anchor="middle" x="2795.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2722.5,-278.5 2868.5,-278.5 "/>
-<text text-anchor="start" x="2730.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="2730.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="2730.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="2730.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="2730.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="2730.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polyline fill="none" stroke="black" points="2721.5,-278.5 2869.5,-278.5 "/>
+<text text-anchor="start" x="2729.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="2729.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="2729.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="2729.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="2729.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="2729.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node33 -->
<g id="edge32" class="edge">
<title>Node1->Node33</title>
-<path fill="none" stroke="midnightblue" d="M6171.51,-469.14C5649.92,-469.36 3190.35,-463.75 2877.5,-339 2870.11,-336.05 2862.94,-332.13 2856.11,-327.64"/>
-<polygon fill="none" stroke="midnightblue" points="6171.63,-472.64 6181.63,-469.13 6171.63,-465.64 6171.63,-472.64"/>
+<path fill="none" stroke="midnightblue" d="M6245.59,-469.19C5717.52,-469.71 3198.94,-465.51 2878.5,-339 2871.05,-336.06 2863.81,-332.14 2856.91,-327.65"/>
+<polygon fill="none" stroke="midnightblue" points="6245.84,-472.69 6255.84,-469.18 6245.84,-465.69 6245.84,-472.69"/>
</g>
<!-- Node35 -->
<g id="node35" class="node">
<title>Node35</title>
<g id="a_node35"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="2887,-204.5 2887,-327.5 3040,-327.5 3040,-204.5 2887,-204.5"/>
-<text text-anchor="start" x="2895" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ToVDevice</text>
-<text text-anchor="middle" x="2963.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="2887,-297.5 3040,-297.5 "/>
-<text text-anchor="middle" x="2963.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="2887,-278.5 3040,-278.5 "/>
-<text text-anchor="start" x="2895" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="2895" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="2895" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="2895" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="2895" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="2895" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="2887.5,-204.5 2887.5,-327.5 3033.5,-327.5 3033.5,-204.5 2887.5,-204.5"/>
+<text text-anchor="start" x="2895.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
+<text text-anchor="middle" x="2960.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool3DAttrs ></text>
+<polyline fill="none" stroke="black" points="2887.5,-297.5 3033.5,-297.5 "/>
+<text text-anchor="middle" x="2960.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="2887.5,-278.5 3033.5,-278.5 "/>
+<text text-anchor="start" x="2895.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="2895.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="2895.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="2895.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="2895.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="2895.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node35 -->
<g id="edge34" class="edge">
<title>Node1->Node35</title>
-<path fill="none" stroke="midnightblue" d="M6171.57,-468.83C5666.24,-467.44 3345.55,-454.75 3048.5,-339 3040.93,-336.05 3033.56,-332.13 3026.52,-327.64"/>
-<polygon fill="none" stroke="midnightblue" points="6171.74,-472.33 6181.75,-468.86 6171.76,-465.33 6171.74,-472.33"/>
+<path fill="none" stroke="midnightblue" d="M6245.65,-469.03C5732.84,-468.65 3346.41,-460.37 3042.5,-339 3035.11,-336.05 3027.94,-332.13 3021.11,-327.64"/>
+<polygon fill="none" stroke="midnightblue" points="6245.97,-472.53 6255.97,-469.03 6245.97,-465.53 6245.97,-472.53"/>
</g>
<!-- Node37 -->
<g id="node37" class="node">
<title>Node37</title>
<g id="a_node37"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3058,-204.5 3058,-327.5 3203,-327.5 3203,-204.5 3058,-204.5"/>
-<text text-anchor="start" x="3066" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< IndexPut</text>
-<text text-anchor="middle" x="3130.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="3058,-297.5 3203,-297.5 "/>
-<text text-anchor="middle" x="3130.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3058,-278.5 3203,-278.5 "/>
-<text text-anchor="start" x="3066" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="3066" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="3066" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="3066" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="3066" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="3066" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="3052,-204.5 3052,-327.5 3205,-327.5 3205,-204.5 3052,-204.5"/>
+<text text-anchor="start" x="3060" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ToVDevice</text>
+<text text-anchor="middle" x="3128.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="3052,-297.5 3205,-297.5 "/>
+<text text-anchor="middle" x="3128.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3052,-278.5 3205,-278.5 "/>
+<text text-anchor="start" x="3060" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="3060" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="3060" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="3060" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="3060" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="3060" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node37 -->
<g id="edge36" class="edge">
<title>Node1->Node37</title>
-<path fill="none" stroke="midnightblue" d="M6171.75,-468.7C5682.42,-466.66 3492.43,-451.31 3212.5,-339 3205.12,-336.04 3197.95,-332.11 3191.12,-327.61"/>
-<polygon fill="none" stroke="midnightblue" points="6171.94,-472.2 6181.96,-468.74 6171.97,-465.2 6171.94,-472.2"/>
+<path fill="none" stroke="midnightblue" d="M6245.52,-468.71C5748.78,-466.7 3501.56,-451.44 3213.5,-339 3205.93,-336.05 3198.56,-332.12 3191.52,-327.63"/>
+<polygon fill="none" stroke="midnightblue" points="6245.87,-472.21 6255.88,-468.75 6245.89,-465.21 6245.87,-472.21"/>
</g>
<!-- Node39 -->
<g id="node39" class="node">
<title>Node39</title>
<g id="a_node39"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3221.5,-204.5 3221.5,-327.5 3385.5,-327.5 3385.5,-204.5 3221.5,-204.5"/>
-<text text-anchor="start" x="3229.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ExpandDims</text>
-<text text-anchor="middle" x="3303.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="3221.5,-297.5 3385.5,-297.5 "/>
-<text text-anchor="middle" x="3303.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3221.5,-278.5 3385.5,-278.5 "/>
-<text text-anchor="start" x="3229.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="3229.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="3229.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="3229.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="3229.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="3229.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="3223,-204.5 3223,-327.5 3368,-327.5 3368,-204.5 3223,-204.5"/>
+<text text-anchor="start" x="3231" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< IndexPut</text>
+<text text-anchor="middle" x="3295.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="3223,-297.5 3368,-297.5 "/>
+<text text-anchor="middle" x="3295.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3223,-278.5 3368,-278.5 "/>
+<text text-anchor="start" x="3231" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="3231" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="3231" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="3231" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="3231" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="3231" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node39 -->
<g id="edge38" class="edge">
<title>Node1->Node39</title>
-<path fill="none" stroke="midnightblue" d="M6171.53,-468.14C5700.05,-463.49 3659.12,-437.78 3394.5,-339 3386.57,-336.04 3378.8,-332.11 3371.34,-327.62"/>
-<polygon fill="none" stroke="midnightblue" points="6171.67,-471.64 6181.71,-468.24 6171.74,-464.64 6171.67,-471.64"/>
+<path fill="none" stroke="midnightblue" d="M6245.89,-468.56C5765.74,-465.88 3648.52,-447.94 3377.5,-339 3370.12,-336.03 3362.95,-332.1 3356.13,-327.6"/>
+<polygon fill="none" stroke="midnightblue" points="6245.89,-472.06 6255.91,-468.62 6245.93,-465.06 6245.89,-472.06"/>
</g>
<!-- Node41 -->
<g id="node41" class="node">
<title>Node41</title>
<g id="a_node41"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3403.5,-210 3403.5,-322 3573.5,-322 3573.5,-210 3403.5,-210"/>
-<text text-anchor="middle" x="3488.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConcatAttrs ></text>
-<polyline fill="none" stroke="black" points="3403.5,-303 3573.5,-303 "/>
-<text text-anchor="middle" x="3488.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3403.5,-284 3573.5,-284 "/>
-<text text-anchor="start" x="3411.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="3411.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="3411.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="3411.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="3411.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="3411.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="3386.5,-204.5 3386.5,-327.5 3550.5,-327.5 3550.5,-204.5 3386.5,-204.5"/>
+<text text-anchor="start" x="3394.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ExpandDims</text>
+<text text-anchor="middle" x="3468.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="3386.5,-297.5 3550.5,-297.5 "/>
+<text text-anchor="middle" x="3468.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3386.5,-278.5 3550.5,-278.5 "/>
+<text text-anchor="start" x="3394.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="3394.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="3394.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="3394.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="3394.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="3394.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node41 -->
<g id="edge40" class="edge">
<title>Node1->Node41</title>
-<path fill="none" stroke="midnightblue" d="M6171.68,-467.73C5719.75,-461.34 3829.27,-429.36 3582.5,-339 3571.21,-334.87 3560.17,-328.86 3549.85,-322.06"/>
-<polygon fill="none" stroke="midnightblue" points="6171.72,-471.23 6181.77,-467.87 6171.82,-464.23 6171.72,-471.23"/>
+<path fill="none" stroke="midnightblue" d="M6245.61,-467.99C5783.49,-462.69 3815.13,-434.64 3559.5,-339 3551.58,-336.04 3543.8,-332.1 3536.34,-327.61"/>
+<polygon fill="none" stroke="midnightblue" points="6245.88,-471.49 6255.92,-468.11 6245.96,-464.49 6245.88,-471.49"/>
</g>
<!-- Node43 -->
<g id="node43" class="node">
<title>Node43</title>
<g id="a_node43"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3592,-210 3592,-322 3749,-322 3749,-210 3592,-210"/>
-<text text-anchor="middle" x="3670.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TriluAttrs ></text>
-<polyline fill="none" stroke="black" points="3592,-303 3749,-303 "/>
-<text text-anchor="middle" x="3670.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3592,-284 3749,-284 "/>
-<text text-anchor="start" x="3600" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="3600" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="3600" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="3600" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="3600" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="3600" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="3568.5,-210 3568.5,-322 3738.5,-322 3738.5,-210 3568.5,-210"/>
+<text text-anchor="middle" x="3653.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ConcatAttrs ></text>
+<polyline fill="none" stroke="black" points="3568.5,-303 3738.5,-303 "/>
+<text text-anchor="middle" x="3653.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3568.5,-284 3738.5,-284 "/>
+<text text-anchor="start" x="3576.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="3576.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="3576.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="3576.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="3576.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="3576.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node43 -->
<g id="edge42" class="edge">
<title>Node1->Node43</title>
-<path fill="none" stroke="midnightblue" d="M6171.6,-467.58C5737.79,-460.73 3985.33,-427.77 3757.5,-339 3746.9,-334.87 3736.64,-328.92 3727.11,-322.18"/>
-<polygon fill="none" stroke="midnightblue" points="6171.86,-471.08 6181.91,-467.74 6171.97,-464.08 6171.86,-471.08"/>
+<path fill="none" stroke="midnightblue" d="M6245.72,-467.55C5803.39,-460.48 3985.27,-426.29 3747.5,-339 3736.21,-334.86 3725.17,-328.85 3714.86,-322.04"/>
+<polygon fill="none" stroke="midnightblue" points="6245.86,-471.06 6255.92,-467.71 6245.97,-464.06 6245.86,-471.06"/>
</g>
<!-- Node45 -->
<g id="node45" class="node">
<title>Node45</title>
<g id="a_node45"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3767,-210 3767,-322 3944,-322 3944,-210 3767,-210"/>
-<text text-anchor="middle" x="3855.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SoftmaxAttrs ></text>
-<polyline fill="none" stroke="black" points="3767,-303 3944,-303 "/>
-<text text-anchor="middle" x="3855.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3767,-284 3944,-284 "/>
-<text text-anchor="start" x="3775" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="3775" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="3775" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="3775" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="3775" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="3775" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="3757,-210 3757,-322 3914,-322 3914,-210 3757,-210"/>
+<text text-anchor="middle" x="3835.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TriluAttrs ></text>
+<polyline fill="none" stroke="black" points="3757,-303 3914,-303 "/>
+<text text-anchor="middle" x="3835.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3757,-284 3914,-284 "/>
+<text text-anchor="start" x="3765" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="3765" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="3765" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="3765" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="3765" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="3765" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node45 -->
<g id="edge44" class="edge">
<title>Node1->Node45</title>
-<path fill="none" stroke="midnightblue" d="M6171.88,-466.82C5760.26,-457.09 4164.42,-414.77 3953.5,-339 3941.98,-334.86 3930.64,-328.9 3920.01,-322.16"/>
-<polygon fill="none" stroke="midnightblue" points="6171.88,-470.32 6181.96,-467.06 6172.05,-463.32 6171.88,-470.32"/>
+<path fill="none" stroke="midnightblue" d="M6245.61,-467.38C5821.67,-459.79 4141.4,-424.54 3922.5,-339 3911.91,-334.86 3901.65,-328.9 3892.12,-322.16"/>
+<polygon fill="none" stroke="midnightblue" points="6245.63,-470.88 6255.69,-467.56 6245.76,-463.88 6245.63,-470.88"/>
</g>
<!-- Node47 -->
<g id="node47" class="node">
<title>Node47</title>
<g id="a_node47"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="3962.5,-204.5 3962.5,-327.5 4108.5,-327.5 4108.5,-204.5 3962.5,-204.5"/>
-<text text-anchor="start" x="3970.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
-<text text-anchor="middle" x="4035.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool1DAttrs ></text>
-<polyline fill="none" stroke="black" points="3962.5,-297.5 4108.5,-297.5 "/>
-<text text-anchor="middle" x="4035.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="3962.5,-278.5 4108.5,-278.5 "/>
-<text text-anchor="start" x="3970.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="3970.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="3970.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="3970.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="3970.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="3970.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="3932,-210 3932,-322 4109,-322 4109,-210 3932,-210"/>
+<text text-anchor="middle" x="4020.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SoftmaxAttrs ></text>
+<polyline fill="none" stroke="black" points="3932,-303 4109,-303 "/>
+<text text-anchor="middle" x="4020.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="3932,-284 4109,-284 "/>
+<text text-anchor="start" x="3940" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="3940" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="3940" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="3940" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="3940" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="3940" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node47 -->
<g id="edge46" class="edge">
<title>Node1->Node47</title>
-<path fill="none" stroke="midnightblue" d="M6171.47,-466.83C5777.45,-457.52 4308.95,-417.8 4117.5,-339 4110.32,-336.04 4103.33,-332.19 4096.66,-327.8"/>
-<polygon fill="none" stroke="midnightblue" points="6171.62,-470.33 6181.7,-467.07 6171.78,-463.34 6171.62,-470.33"/>
+<path fill="none" stroke="midnightblue" d="M6245.71,-466.58C5844.1,-456.08 4320.4,-411.79 4118.5,-339 4106.98,-334.85 4095.65,-328.88 4085.02,-322.13"/>
+<polygon fill="none" stroke="midnightblue" points="6245.76,-470.08 6255.84,-466.84 6245.94,-463.08 6245.76,-470.08"/>
</g>
<!-- Node49 -->
<g id="node49" class="node">
<title>Node49</title>
<g id="a_node49"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4127,-204.5 4127,-327.5 4268,-327.5 4268,-204.5 4127,-204.5"/>
-<text text-anchor="start" x="4135" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Softplus</text>
-<text text-anchor="middle" x="4197.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="4127,-297.5 4268,-297.5 "/>
-<text text-anchor="middle" x="4197.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4127,-278.5 4268,-278.5 "/>
-<text text-anchor="start" x="4135" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="4135" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="4135" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="4135" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="4135" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="4135" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="4127.5,-204.5 4127.5,-327.5 4273.5,-327.5 4273.5,-204.5 4127.5,-204.5"/>
+<text text-anchor="start" x="4135.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Adaptive</text>
+<text text-anchor="middle" x="4200.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Pool1DAttrs ></text>
+<polyline fill="none" stroke="black" points="4127.5,-297.5 4273.5,-297.5 "/>
+<text text-anchor="middle" x="4200.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4127.5,-278.5 4273.5,-278.5 "/>
+<text text-anchor="start" x="4135.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="4135.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="4135.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="4135.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="4135.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="4135.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node49 -->
<g id="edge48" class="edge">
<title>Node1->Node49</title>
-<path fill="none" stroke="midnightblue" d="M6171.84,-466.4C5797.21,-455.82 4453.05,-413.02 4277.5,-339 4270.44,-336.02 4263.59,-332.15 4257.06,-327.75"/>
-<polygon fill="none" stroke="midnightblue" points="6171.75,-469.9 6181.84,-466.68 6171.95,-462.9 6171.75,-469.9"/>
+<path fill="none" stroke="midnightblue" d="M6245.77,-466.56C5862.86,-456.41 4465.17,-414.47 4282.5,-339 4275.32,-336.03 4268.34,-332.17 4261.67,-327.78"/>
+<polygon fill="none" stroke="midnightblue" points="6245.9,-470.07 6255.99,-466.83 6246.09,-463.07 6245.9,-470.07"/>
</g>
<!-- Node51 -->
<g id="node51" class="node">
<title>Node51</title>
<g id="a_node51"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4286.5,-210 4286.5,-322 4460.5,-322 4460.5,-210 4286.5,-210"/>
-<text text-anchor="middle" x="4373.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MatmulAttrs ></text>
-<polyline fill="none" stroke="black" points="4286.5,-303 4460.5,-303 "/>
-<text text-anchor="middle" x="4373.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4286.5,-284 4460.5,-284 "/>
-<text text-anchor="start" x="4294.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="4294.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="4294.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="4294.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="4294.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="4294.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="4292,-204.5 4292,-327.5 4433,-327.5 4433,-204.5 4292,-204.5"/>
+<text text-anchor="start" x="4300" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Softplus</text>
+<text text-anchor="middle" x="4362.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="4292,-297.5 4433,-297.5 "/>
+<text text-anchor="middle" x="4362.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4292,-278.5 4433,-278.5 "/>
+<text text-anchor="start" x="4300" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="4300" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="4300" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="4300" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="4300" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="4300" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node51 -->
<g id="edge50" class="edge">
<title>Node1->Node51</title>
-<path fill="none" stroke="midnightblue" d="M6171.56,-469.14C5844.65,-468.51 4785.59,-457.19 4469.5,-339 4458.28,-334.8 4447.26,-328.86 4436.91,-322.17"/>
-<polygon fill="none" stroke="midnightblue" points="6171.94,-472.64 6181.94,-469.16 6171.95,-465.64 6171.94,-472.64"/>
+<path fill="none" stroke="midnightblue" d="M6245.76,-466.07C5882.1,-454.58 4609.25,-409.61 4442.5,-339 4435.45,-336.01 4428.6,-332.14 4422.07,-327.73"/>
+<polygon fill="none" stroke="midnightblue" points="6245.88,-469.58 6255.99,-466.4 6246.1,-462.58 6245.88,-469.58"/>
</g>
<!-- Node53 -->
<g id="node53" class="node">
<title>Node53</title>
<g id="a_node53"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4478.5,-204.5 4478.5,-327.5 4654.5,-327.5 4654.5,-204.5 4478.5,-204.5"/>
-<text text-anchor="start" x="4486.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgmaxArgmin</text>
-<text text-anchor="middle" x="4566.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="4478.5,-297.5 4654.5,-297.5 "/>
-<text text-anchor="middle" x="4566.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4478.5,-278.5 4654.5,-278.5 "/>
-<text text-anchor="start" x="4486.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="4486.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="4486.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="4486.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="4486.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="4486.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="4451.5,-210 4451.5,-322 4625.5,-322 4625.5,-210 4451.5,-210"/>
+<text text-anchor="middle" x="4538.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< MatmulAttrs ></text>
+<polyline fill="none" stroke="black" points="4451.5,-303 4625.5,-303 "/>
+<text text-anchor="middle" x="4538.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4451.5,-284 4625.5,-284 "/>
+<text text-anchor="start" x="4459.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="4459.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="4459.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="4459.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="4459.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="4459.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node53 -->
<g id="edge52" class="edge">
<title>Node1->Node53</title>
-<path fill="none" stroke="midnightblue" d="M6171.79,-468.1C5868.92,-464.21 4942.28,-443.83 4663.5,-339 4655.45,-335.97 4647.49,-332.07 4639.8,-327.65"/>
-<polygon fill="none" stroke="midnightblue" points="6171.83,-471.6 6181.87,-468.23 6171.91,-464.6 6171.83,-471.6"/>
+<path fill="none" stroke="midnightblue" d="M6245.86,-468.71C5930.26,-466.67 4933.01,-451.27 4634.5,-339 4623.29,-334.78 4612.27,-328.83 4601.92,-322.13"/>
+<polygon fill="none" stroke="midnightblue" points="6245.88,-472.21 6255.9,-468.77 6245.92,-465.21 6245.88,-472.21"/>
</g>
<!-- Node55 -->
<g id="node55" class="node">
<title>Node55</title>
<g id="a_node55"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4672.5,-210 4672.5,-322 4854.5,-322 4854.5,-210 4672.5,-210"/>
-<text text-anchor="middle" x="4763.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize2DAttrs ></text>
-<polyline fill="none" stroke="black" points="4672.5,-303 4854.5,-303 "/>
-<text text-anchor="middle" x="4763.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4672.5,-284 4854.5,-284 "/>
-<text text-anchor="start" x="4680.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="4680.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="4680.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="4680.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="4680.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="4680.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="4643.5,-204.5 4643.5,-327.5 4819.5,-327.5 4819.5,-204.5 4643.5,-204.5"/>
+<text text-anchor="start" x="4651.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgmaxArgmin</text>
+<text text-anchor="middle" x="4731.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="4643.5,-297.5 4819.5,-297.5 "/>
+<text text-anchor="middle" x="4731.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4643.5,-278.5 4819.5,-278.5 "/>
+<text text-anchor="start" x="4651.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="4651.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="4651.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="4651.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="4651.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="4651.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node55 -->
<g id="edge54" class="edge">
<title>Node1->Node55</title>
-<path fill="none" stroke="midnightblue" d="M6171.67,-466.64C5894.81,-458.85 5104.29,-429.12 4863.5,-339 4852.08,-334.73 4840.79,-328.79 4830.13,-322.13"/>
-<polygon fill="none" stroke="midnightblue" points="6171.61,-470.14 6181.7,-466.92 6171.8,-463.14 6171.61,-470.14"/>
+<path fill="none" stroke="midnightblue" d="M6245.8,-467.56C5954.55,-462.14 5089.69,-437.94 4828.5,-339 4820.46,-335.95 4812.51,-332.04 4804.82,-327.61"/>
+<polygon fill="none" stroke="midnightblue" points="6245.86,-471.06 6255.92,-467.74 6245.98,-464.06 6245.86,-471.06"/>
</g>
<!-- Node57 -->
<g id="node57" class="node">
<title>Node57</title>
<g id="a_node57"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="4873,-210 4873,-322 5044,-322 5044,-210 4873,-210"/>
-<text text-anchor="middle" x="4958.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool3DAttrs ></text>
-<polyline fill="none" stroke="black" points="4873,-303 5044,-303 "/>
-<text text-anchor="middle" x="4958.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="4873,-284 5044,-284 "/>
-<text text-anchor="start" x="4881" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="4881" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="4881" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="4881" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="4881" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="4881" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="4837.5,-210 4837.5,-322 5019.5,-322 5019.5,-210 4837.5,-210"/>
+<text text-anchor="middle" x="4928.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Resize2DAttrs ></text>
+<polyline fill="none" stroke="black" points="4837.5,-303 5019.5,-303 "/>
+<text text-anchor="middle" x="4928.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="4837.5,-284 5019.5,-284 "/>
+<text text-anchor="start" x="4845.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="4845.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="4845.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="4845.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="4845.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="4845.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node57 -->
<g id="edge56" class="edge">
<title>Node1->Node57</title>
-<path fill="none" stroke="midnightblue" d="M6171.77,-465.32C5921.29,-454.73 5256.88,-419.66 5053.5,-339 5042.63,-334.69 5031.93,-328.77 5021.86,-322.17"/>
-<polygon fill="none" stroke="midnightblue" points="6171.81,-468.82 6181.95,-465.75 6172.1,-461.83 6171.81,-468.82"/>
+<path fill="none" stroke="midnightblue" d="M6245.59,-465.92C5981.1,-456.49 5251.75,-423.37 5028.5,-339 5017.09,-334.69 5005.81,-328.73 4995.16,-322.07"/>
+<polygon fill="none" stroke="midnightblue" points="6245.82,-469.43 6255.94,-466.29 6246.07,-462.44 6245.82,-469.43"/>
</g>
<!-- Node59 -->
<g id="node59" class="node">
<title>Node59</title>
<g id="a_node59"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5062.5,-204.5 5062.5,-327.5 5218.5,-327.5 5218.5,-204.5 5062.5,-204.5"/>
-<text text-anchor="start" x="5070.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayerNorm</text>
-<text text-anchor="middle" x="5140.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="5062.5,-297.5 5218.5,-297.5 "/>
-<text text-anchor="middle" x="5140.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5062.5,-278.5 5218.5,-278.5 "/>
-<text text-anchor="start" x="5070.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5070.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5070.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5070.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5070.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5070.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5038,-210 5038,-322 5209,-322 5209,-210 5038,-210"/>
+<text text-anchor="middle" x="5123.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool3DAttrs ></text>
+<polyline fill="none" stroke="black" points="5038,-303 5209,-303 "/>
+<text text-anchor="middle" x="5123.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5038,-284 5209,-284 "/>
+<text text-anchor="start" x="5046" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5046" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5046" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5046" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5046" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5046" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node59 -->
<g id="edge58" class="edge">
<title>Node1->Node59</title>
-<path fill="none" stroke="midnightblue" d="M6171.69,-463.83C5947,-450.73 5396.39,-411.96 5227.5,-339 5220.3,-335.89 5213.23,-331.99 5206.42,-327.63"/>
-<polygon fill="none" stroke="midnightblue" points="6171.63,-467.33 6181.82,-464.42 6172.04,-460.34 6171.63,-467.33"/>
+<path fill="none" stroke="midnightblue" d="M6245.54,-464.35C6008.33,-451.92 5404.52,-413.7 5218.5,-339 5207.65,-334.64 5196.96,-328.7 5186.89,-322.09"/>
+<polygon fill="none" stroke="midnightblue" points="6245.71,-467.86 6255.88,-464.88 6246.07,-460.87 6245.71,-467.86"/>
</g>
<!-- Node61 -->
<g id="node61" class="node">
<title>Node61</title>
<g id="a_node61"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5236.5,-210 5236.5,-322 5414.5,-322 5414.5,-210 5236.5,-210"/>
-<text text-anchor="middle" x="5325.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SqueezeAttrs ></text>
-<polyline fill="none" stroke="black" points="5236.5,-303 5414.5,-303 "/>
-<text text-anchor="middle" x="5325.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5236.5,-284 5414.5,-284 "/>
-<text text-anchor="start" x="5244.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5244.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5244.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5244.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5244.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5244.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5227.5,-204.5 5227.5,-327.5 5383.5,-327.5 5383.5,-204.5 5227.5,-204.5"/>
+<text text-anchor="start" x="5235.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayerNorm</text>
+<text text-anchor="middle" x="5305.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="5227.5,-297.5 5383.5,-297.5 "/>
+<text text-anchor="middle" x="5305.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5227.5,-278.5 5383.5,-278.5 "/>
+<text text-anchor="start" x="5235.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5235.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5235.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5235.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5235.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5235.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node61 -->
<g id="edge60" class="edge">
<title>Node1->Node61</title>
-<path fill="none" stroke="midnightblue" d="M6171.46,-468.89C6010.04,-465.53 5678.9,-444.92 5423.5,-339 5412.68,-334.51 5401.94,-328.58 5391.76,-322.05"/>
-<polygon fill="none" stroke="midnightblue" points="6171.78,-472.4 6181.84,-469.09 6171.91,-465.4 6171.78,-472.4"/>
+<path fill="none" stroke="midnightblue" d="M6245.88,-462.52C6035.86,-447.35 5544.44,-405.7 5392.5,-339 5385.32,-335.85 5378.26,-331.92 5371.46,-327.54"/>
+<polygon fill="none" stroke="midnightblue" points="6245.74,-466.02 6255.97,-463.24 6246.24,-459.04 6245.74,-466.02"/>
</g>
<!-- Node63 -->
<g id="node63" class="node">
<title>Node63</title>
<g id="a_node63"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5433,-210 5433,-322 5604,-322 5604,-210 5433,-210"/>
-<text text-anchor="middle" x="5518.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool2DAttrs ></text>
-<polyline fill="none" stroke="black" points="5433,-303 5604,-303 "/>
-<text text-anchor="middle" x="5518.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5433,-284 5604,-284 "/>
-<text text-anchor="start" x="5441" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5441" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5441" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5441" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5441" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5441" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5401.5,-210 5401.5,-322 5579.5,-322 5579.5,-210 5401.5,-210"/>
+<text text-anchor="middle" x="5490.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SqueezeAttrs ></text>
+<polyline fill="none" stroke="black" points="5401.5,-303 5579.5,-303 "/>
+<text text-anchor="middle" x="5490.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5401.5,-284 5579.5,-284 "/>
+<text text-anchor="start" x="5409.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5409.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5409.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5409.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5409.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5409.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node63 -->
<g id="edge62" class="edge">
<title>Node1->Node63</title>
-<path fill="none" stroke="midnightblue" d="M6171.81,-463.58C6040.04,-453.2 5799.12,-423.38 5612.5,-339 5602.29,-334.38 5592.17,-328.47 5582.56,-322.02"/>
-<polygon fill="none" stroke="midnightblue" points="6171.64,-467.08 6181.88,-464.36 6172.18,-460.1 6171.64,-467.08"/>
+<path fill="none" stroke="midnightblue" d="M6245.4,-466.4C6097.85,-459.38 5810.83,-433.57 5588.5,-339 5577.81,-334.45 5567.2,-328.54 5557.11,-322.05"/>
+<polygon fill="none" stroke="midnightblue" points="6245.63,-469.91 6255.78,-466.87 6245.95,-462.92 6245.63,-469.91"/>
</g>
<!-- Node65 -->
<g id="node65" class="node">
<title>Node65</title>
<g id="a_node65"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5622,-210 5622,-322 5795,-322 5795,-210 5622,-210"/>
-<text text-anchor="middle" x="5708.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< OneHotAttrs ></text>
-<polyline fill="none" stroke="black" points="5622,-303 5795,-303 "/>
-<text text-anchor="middle" x="5708.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5622,-284 5795,-284 "/>
-<text text-anchor="start" x="5630" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5630" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5630" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5630" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5630" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5630" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5598,-210 5598,-322 5769,-322 5769,-210 5598,-210"/>
+<text text-anchor="middle" x="5683.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool2DAttrs ></text>
+<polyline fill="none" stroke="black" points="5598,-303 5769,-303 "/>
+<text text-anchor="middle" x="5683.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5598,-284 5769,-284 "/>
+<text text-anchor="start" x="5606" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5606" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5606" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5606" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5606" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5606" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node65 -->
<g id="edge64" class="edge">
<title>Node1->Node65</title>
-<path fill="none" stroke="midnightblue" d="M6171.61,-452.71C6075.03,-434.02 5924.24,-398.08 5804.5,-339 5794.78,-334.21 5785.06,-328.39 5775.72,-322.16"/>
-<polygon fill="none" stroke="midnightblue" points="6171.17,-456.19 6181.65,-454.63 6172.49,-449.32 6171.17,-456.19"/>
+<path fill="none" stroke="midnightblue" d="M6245.71,-459.42C6129.81,-445.14 5931.98,-411.71 5777.5,-339 5767.55,-334.32 5757.65,-328.45 5748.22,-322.09"/>
+<polygon fill="none" stroke="midnightblue" points="6245.63,-462.94 6255.98,-460.66 6246.47,-455.99 6245.63,-462.94"/>
</g>
<!-- Node67 -->
<g id="node67" class="node">
<title>Node67</title>
<g id="a_node67"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="5813.5,-210 5813.5,-322 5989.5,-322 5989.5,-210 5813.5,-210"/>
-<text text-anchor="middle" x="5901.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NLLLossAttrs ></text>
-<polyline fill="none" stroke="black" points="5813.5,-303 5989.5,-303 "/>
-<text text-anchor="middle" x="5901.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="5813.5,-284 5989.5,-284 "/>
-<text text-anchor="start" x="5821.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="5821.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="5821.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="5821.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="5821.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="5821.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5787,-210 5787,-322 5960,-322 5960,-210 5787,-210"/>
+<text text-anchor="middle" x="5873.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< OneHotAttrs ></text>
+<polyline fill="none" stroke="black" points="5787,-303 5960,-303 "/>
+<text text-anchor="middle" x="5873.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5787,-284 5960,-284 "/>
+<text text-anchor="start" x="5795" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5795" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5795" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5795" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5795" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5795" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node67 -->
<g id="edge66" class="edge">
<title>Node1->Node67</title>
-<path fill="none" stroke="midnightblue" d="M6172.47,-428.14C6119.83,-404.42 6054.15,-372.64 5998.5,-339 5989.88,-333.79 5981.09,-328.01 5972.49,-322.04"/>
-<polygon fill="none" stroke="midnightblue" points="6171.25,-431.43 6181.81,-432.32 6174.11,-425.04 6171.25,-431.43"/>
+<path fill="none" stroke="midnightblue" d="M6245.93,-444.23C6168.56,-422.32 6058.6,-386.46 5969.5,-339 5960.21,-334.05 5950.86,-328.26 5941.82,-322.14"/>
+<polygon fill="none" stroke="midnightblue" points="6245.1,-447.64 6255.68,-446.97 6246.99,-440.9 6245.1,-447.64"/>
</g>
<!-- Node69 -->
<g id="node69" class="node">
<title>Node69</title>
<g id="a_node69"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6008,-204.5 6008,-327.5 6165,-327.5 6165,-204.5 6008,-204.5"/>
-<text text-anchor="start" x="6016" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BatchNorm</text>
-<text text-anchor="middle" x="6086.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="6008,-297.5 6165,-297.5 "/>
-<text text-anchor="middle" x="6086.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6008,-278.5 6165,-278.5 "/>
-<text text-anchor="start" x="6016" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6016" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6016" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6016" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6016" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6016" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="5978.5,-210 5978.5,-322 6154.5,-322 6154.5,-210 5978.5,-210"/>
+<text text-anchor="middle" x="6066.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< NLLLossAttrs ></text>
+<polyline fill="none" stroke="black" points="5978.5,-303 6154.5,-303 "/>
+<text text-anchor="middle" x="6066.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="5978.5,-284 6154.5,-284 "/>
+<text text-anchor="start" x="5986.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="5986.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="5986.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="5986.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="5986.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="5986.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node69 -->
<g id="edge68" class="edge">
<title>Node1->Node69</title>
-<path fill="none" stroke="midnightblue" d="M6177.31,-367.78C6164.96,-354.08 6152.62,-340.38 6141.19,-327.7"/>
-<polygon fill="none" stroke="midnightblue" points="6174.87,-370.31 6184.16,-375.39 6180.07,-365.62 6174.87,-370.31"/>
+<path fill="none" stroke="midnightblue" d="M6247.52,-400.3C6220.35,-380.57 6190.71,-358.98 6163.5,-339 6156.06,-333.54 6148.31,-327.83 6140.59,-322.11"/>
+<polygon fill="none" stroke="midnightblue" points="6245.73,-403.32 6255.87,-406.36 6249.84,-397.66 6245.73,-403.32"/>
</g>
<!-- Node71 -->
<g id="node71" class="node">
<title>Node71</title>
<g id="a_node71"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6183,-210 6183,-322 6354,-322 6354,-210 6183,-210"/>
-<text text-anchor="middle" x="6268.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RepeatAttrs ></text>
-<polyline fill="none" stroke="black" points="6183,-303 6354,-303 "/>
-<text text-anchor="middle" x="6268.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6183,-284 6354,-284 "/>
-<text text-anchor="start" x="6191" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6191" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6191" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6191" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6191" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6191" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="6173,-204.5 6173,-327.5 6330,-327.5 6330,-204.5 6173,-204.5"/>
+<text text-anchor="start" x="6181" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< BatchNorm</text>
+<text text-anchor="middle" x="6251.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="6173,-297.5 6330,-297.5 "/>
+<text text-anchor="middle" x="6251.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6173,-278.5 6330,-278.5 "/>
+<text text-anchor="start" x="6181" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6181" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6181" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6181" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6181" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6181" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node71 -->
<g id="edge70" class="edge">
<title>Node1->Node71</title>
-<path fill="none" stroke="midnightblue" d="M6268.5,-365.1C6268.5,-350.23 6268.5,-335.44 6268.5,-322.03"/>
-<polygon fill="none" stroke="midnightblue" points="6265,-365.39 6268.5,-375.39 6272,-365.39 6265,-365.39"/>
+<path fill="none" stroke="midnightblue" d="M6296.22,-366.26C6290.27,-353.07 6284.35,-339.91 6278.84,-327.7"/>
+<polygon fill="none" stroke="midnightblue" points="6293.03,-367.71 6300.33,-375.39 6299.41,-364.84 6293.03,-367.71"/>
</g>
<!-- Node73 -->
<g id="node73" class="node">
<title>Node73</title>
<g id="a_node73"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6372,-210 6372,-322 6543,-322 6543,-210 6372,-210"/>
-<text text-anchor="middle" x="6457.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool1DAttrs ></text>
-<polyline fill="none" stroke="black" points="6372,-303 6543,-303 "/>
-<text text-anchor="middle" x="6457.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6372,-284 6543,-284 "/>
-<text text-anchor="start" x="6380" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6380" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6380" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6380" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6380" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6380" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="6348,-210 6348,-322 6519,-322 6519,-210 6348,-210"/>
+<text text-anchor="middle" x="6433.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RepeatAttrs ></text>
+<polyline fill="none" stroke="black" points="6348,-303 6519,-303 "/>
+<text text-anchor="middle" x="6433.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6348,-284 6519,-284 "/>
+<text text-anchor="start" x="6356" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6356" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6356" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6356" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6356" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6356" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node73 -->
<g id="edge72" class="edge">
<title>Node1->Node73</title>
-<path fill="none" stroke="midnightblue" d="M6362.15,-368.91C6377.17,-352.85 6392.23,-336.76 6405.79,-322.27"/>
-<polygon fill="none" stroke="midnightblue" points="6359.53,-366.58 6355.26,-376.28 6364.64,-371.37 6359.53,-366.58"/>
+<path fill="none" stroke="midnightblue" d="M6388.92,-365.96C6395.75,-350.8 6402.55,-335.7 6408.71,-322.03"/>
+<polygon fill="none" stroke="midnightblue" points="6385.59,-364.84 6384.67,-375.39 6391.97,-367.71 6385.59,-364.84"/>
</g>
<!-- Node75 -->
<g id="node75" class="node">
<title>Node75</title>
<g id="a_node75"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6561.5,-210 6561.5,-322 6725.5,-322 6725.5,-210 6561.5,-210"/>
-<text text-anchor="middle" x="6643.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StackAttrs ></text>
-<polyline fill="none" stroke="black" points="6561.5,-303 6725.5,-303 "/>
-<text text-anchor="middle" x="6643.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6561.5,-284 6725.5,-284 "/>
-<text text-anchor="start" x="6569.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6569.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6569.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6569.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6569.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6569.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="6537,-210 6537,-322 6708,-322 6708,-210 6537,-210"/>
+<text text-anchor="middle" x="6622.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Pool1DAttrs ></text>
+<polyline fill="none" stroke="black" points="6537,-303 6708,-303 "/>
+<text text-anchor="middle" x="6622.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6537,-284 6708,-284 "/>
+<text text-anchor="start" x="6545" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6545" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6545" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6545" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6545" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6545" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node75 -->
<g id="edge74" class="edge">
<title>Node1->Node75</title>
-<path fill="none" stroke="midnightblue" d="M6364.28,-431.6C6420.48,-408.06 6491.91,-375.32 6551.5,-339 6559.9,-333.88 6568.42,-328.12 6576.71,-322.14"/>
-<polygon fill="none" stroke="midnightblue" points="6362.93,-428.37 6355.05,-435.44 6365.62,-434.83 6362.93,-428.37"/>
+<path fill="none" stroke="midnightblue" d="M6437.58,-403.16C6466.6,-382.81 6498.5,-360.17 6527.5,-339 6534.94,-333.57 6542.66,-327.85 6550.34,-322.11"/>
+<polygon fill="none" stroke="midnightblue" points="6435.26,-400.52 6429.08,-409.12 6439.28,-406.25 6435.26,-400.52"/>
</g>
<!-- Node77 -->
<g id="node77" class="node">
<title>Node77</title>
<g id="a_node77"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6743.5,-210 6743.5,-322 6915.5,-322 6915.5,-210 6743.5,-210"/>
-<text text-anchor="middle" x="6829.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScanopAttrs ></text>
-<polyline fill="none" stroke="black" points="6743.5,-303 6915.5,-303 "/>
-<text text-anchor="middle" x="6829.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6743.5,-284 6915.5,-284 "/>
-<text text-anchor="start" x="6751.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6751.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6751.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6751.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6751.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6751.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="6726.5,-210 6726.5,-322 6890.5,-322 6890.5,-210 6726.5,-210"/>
+<text text-anchor="middle" x="6808.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StackAttrs ></text>
+<polyline fill="none" stroke="black" points="6726.5,-303 6890.5,-303 "/>
+<text text-anchor="middle" x="6808.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6726.5,-284 6890.5,-284 "/>
+<text text-anchor="start" x="6734.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6734.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6734.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6734.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6734.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6734.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node77 -->
<g id="edge76" class="edge">
<title>Node1->Node77</title>
-<path fill="none" stroke="midnightblue" d="M6365.44,-453C6462.47,-434.48 6614.22,-398.64 6734.5,-339 6744.23,-334.17 6753.97,-328.3 6763.3,-322.01"/>
-<polygon fill="none" stroke="midnightblue" points="6364.52,-449.61 6355.34,-454.9 6365.82,-456.49 6364.52,-449.61"/>
+<path fill="none" stroke="midnightblue" d="M6438.84,-444.98C6516.61,-423.4 6627.37,-387.61 6716.5,-339 6725.58,-334.05 6734.7,-328.21 6743.47,-322.04"/>
+<polygon fill="none" stroke="midnightblue" points="6437.76,-441.65 6429.04,-447.67 6439.61,-448.4 6437.76,-441.65"/>
</g>
<!-- Node79 -->
<g id="node79" class="node">
<title>Node79</title>
<g id="a_node79"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="6933.5,-204.5 6933.5,-327.5 7085.5,-327.5 7085.5,-204.5 6933.5,-204.5"/>
-<text text-anchor="start" x="6941.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LeakyRelu</text>
-<text text-anchor="middle" x="7009.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="6933.5,-297.5 7085.5,-297.5 "/>
-<text text-anchor="middle" x="7009.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="6933.5,-278.5 7085.5,-278.5 "/>
-<text text-anchor="start" x="6941.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6941.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6941.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6941.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="6941.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="6941.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="6908.5,-210 6908.5,-322 7080.5,-322 7080.5,-210 6908.5,-210"/>
+<text text-anchor="middle" x="6994.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ScanopAttrs ></text>
+<polyline fill="none" stroke="black" points="6908.5,-303 7080.5,-303 "/>
+<text text-anchor="middle" x="6994.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="6908.5,-284 7080.5,-284 "/>
+<text text-anchor="start" x="6916.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6916.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6916.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6916.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="6916.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="6916.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node79 -->
<g id="edge78" class="edge">
<title>Node1->Node79</title>
-<path fill="none" stroke="midnightblue" d="M6365.26,-464.94C6497.62,-456.11 6739.75,-428.06 6924.5,-339 6931.12,-335.81 6937.65,-331.98 6943.96,-327.77"/>
-<polygon fill="none" stroke="midnightblue" points="6364.9,-461.46 6355.14,-465.6 6365.35,-468.45 6364.9,-461.46"/>
+<path fill="none" stroke="midnightblue" d="M6439.33,-458.85C6553.73,-444.09 6747.68,-410.27 6899.5,-339 6909.52,-334.3 6919.5,-328.41 6929.03,-322.05"/>
+<polygon fill="none" stroke="midnightblue" points="6438.67,-455.4 6429.19,-460.13 6439.55,-462.35 6438.67,-455.4"/>
</g>
<!-- Node81 -->
<g id="node81" class="node">
<title>Node81</title>
<g id="a_node81"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7104,-204.5 7104,-327.5 7263,-327.5 7263,-204.5 7104,-204.5"/>
-<text text-anchor="start" x="7112" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRWith</text>
-<text text-anchor="middle" x="7183.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">GradAttrs ></text>
-<polyline fill="none" stroke="black" points="7104,-297.5 7263,-297.5 "/>
-<text text-anchor="middle" x="7183.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7104,-278.5 7263,-278.5 "/>
-<text text-anchor="start" x="7112" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7112" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7112" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7112" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7112" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7112" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="7098.5,-204.5 7098.5,-327.5 7250.5,-327.5 7250.5,-204.5 7098.5,-204.5"/>
+<text text-anchor="start" x="7106.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LeakyRelu</text>
+<text text-anchor="middle" x="7174.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="7098.5,-297.5 7250.5,-297.5 "/>
+<text text-anchor="middle" x="7174.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7098.5,-278.5 7250.5,-278.5 "/>
+<text text-anchor="start" x="7106.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7106.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7106.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7106.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7106.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7106.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node81 -->
<g id="edge80" class="edge">
<title>Node1->Node81</title>
-<path fill="none" stroke="midnightblue" d="M6365.49,-469.74C6524.66,-467.52 6848.18,-448.45 7094.5,-339 7101.67,-335.81 7108.75,-331.89 7115.6,-327.55"/>
-<polygon fill="none" stroke="midnightblue" points="6365.21,-466.24 6355.25,-469.86 6365.29,-473.24 6365.21,-466.24"/>
+<path fill="none" stroke="midnightblue" d="M6439.55,-468.13C6586.85,-463.36 6872.63,-440.45 7089.5,-339 7096.33,-335.8 7103.05,-331.91 7109.54,-327.61"/>
+<polygon fill="none" stroke="midnightblue" points="6439.08,-464.64 6429.19,-468.44 6439.29,-471.64 6439.08,-464.64"/>
</g>
<!-- Node83 -->
<g id="node83" class="node">
<title>Node83</title>
<g id="a_node83"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7281.5,-204.5 7281.5,-327.5 7453.5,-327.5 7453.5,-204.5 7281.5,-204.5"/>
-<text text-anchor="start" x="7289.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRInplace</text>
-<text text-anchor="middle" x="7367.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="7281.5,-297.5 7453.5,-297.5 "/>
-<text text-anchor="middle" x="7367.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7281.5,-278.5 7453.5,-278.5 "/>
-<text text-anchor="start" x="7289.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7289.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7289.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7289.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7289.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7289.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="7269,-204.5 7269,-327.5 7428,-327.5 7428,-204.5 7269,-204.5"/>
+<text text-anchor="start" x="7277" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRWith</text>
+<text text-anchor="middle" x="7348.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">GradAttrs ></text>
+<polyline fill="none" stroke="black" points="7269,-297.5 7428,-297.5 "/>
+<text text-anchor="middle" x="7348.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7269,-278.5 7428,-278.5 "/>
+<text text-anchor="start" x="7277" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7277" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7277" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7277" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7277" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7277" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node83 -->
<g id="edge82" class="edge">
<title>Node1->Node83</title>
-<path fill="none" stroke="midnightblue" d="M6365.47,-462.74C6583.92,-447.62 7108.18,-405.41 7271.5,-339 7279.22,-335.86 7286.87,-331.95 7294.29,-327.57"/>
-<polygon fill="none" stroke="midnightblue" points="6365.04,-459.26 6355.3,-463.44 6365.52,-466.24 6365.04,-459.26"/>
+<path fill="none" stroke="midnightblue" d="M6439.43,-461.83C6644.07,-445.62 7113.43,-402.58 7259.5,-339 7266.79,-335.83 7273.97,-331.89 7280.91,-327.5"/>
+<polygon fill="none" stroke="midnightblue" points="6438.98,-458.35 6429.29,-462.62 6439.53,-465.33 6438.98,-458.35"/>
</g>
<!-- Node85 -->
<g id="node85" class="node">
<title>Node85</title>
<g id="a_node85"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7471.5,-210 7471.5,-322 7641.5,-322 7641.5,-210 7471.5,-210"/>
-<text text-anchor="middle" x="7556.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AstypeAttrs ></text>
-<polyline fill="none" stroke="black" points="7471.5,-303 7641.5,-303 "/>
-<text text-anchor="middle" x="7556.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7471.5,-284 7641.5,-284 "/>
-<text text-anchor="start" x="7479.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7479.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7479.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7479.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7479.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7479.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="7446.5,-204.5 7446.5,-327.5 7618.5,-327.5 7618.5,-204.5 7446.5,-204.5"/>
+<text text-anchor="start" x="7454.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< CallTIRInplace</text>
+<text text-anchor="middle" x="7532.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="7446.5,-297.5 7618.5,-297.5 "/>
+<text text-anchor="middle" x="7532.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7446.5,-278.5 7618.5,-278.5 "/>
+<text text-anchor="start" x="7454.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7454.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7454.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7454.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7454.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7454.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node85 -->
<g id="edge84" class="edge">
<title>Node1->Node85</title>
-<path fill="none" stroke="midnightblue" d="M6365.35,-465.16C6612.92,-454.3 7263.35,-418.78 7462.5,-339 7473.28,-334.68 7483.88,-328.76 7493.86,-322.16"/>
-<polygon fill="none" stroke="midnightblue" points="6365.13,-461.67 6355.29,-465.6 6365.44,-468.66 6365.13,-461.67"/>
+<path fill="none" stroke="midnightblue" d="M6439.37,-463.94C6671.95,-450.76 7255.96,-411.29 7436.5,-339 7444.24,-335.9 7451.9,-332.01 7459.32,-327.66"/>
+<polygon fill="none" stroke="midnightblue" points="6439.02,-460.45 6429.24,-464.51 6439.42,-467.44 6439.02,-460.45"/>
</g>
<!-- Node87 -->
<g id="node87" class="node">
<title>Node87</title>
<g id="a_node87"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7660,-204.5 7660,-327.5 7819,-327.5 7819,-204.5 7660,-204.5"/>
-<text text-anchor="start" x="7668" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PixelShuffle</text>
-<text text-anchor="middle" x="7739.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="7660,-297.5 7819,-297.5 "/>
-<text text-anchor="middle" x="7739.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7660,-278.5 7819,-278.5 "/>
-<text text-anchor="start" x="7668" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7668" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7668" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7668" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7668" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7668" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="7636.5,-210 7636.5,-322 7806.5,-322 7806.5,-210 7636.5,-210"/>
+<text text-anchor="middle" x="7721.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< AstypeAttrs ></text>
+<polyline fill="none" stroke="black" points="7636.5,-303 7806.5,-303 "/>
+<text text-anchor="middle" x="7721.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7636.5,-284 7806.5,-284 "/>
+<text text-anchor="start" x="7644.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7644.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7644.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7644.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7644.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7644.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node87 -->
<g id="edge86" class="edge">
<title>Node1->Node87</title>
-<path fill="none" stroke="midnightblue" d="M6365.37,-467.13C6639.62,-460.69 7416.67,-434.3 7650.5,-339 7658.05,-335.92 7665.46,-331.99 7672.58,-327.54"/>
-<polygon fill="none" stroke="midnightblue" points="6364.96,-463.63 6355.04,-467.36 6365.12,-470.63 6364.96,-463.63"/>
+<path fill="none" stroke="midnightblue" d="M6439.25,-466.03C6699.78,-456.95 7410.99,-424.78 7627.5,-339 7638.39,-334.68 7649.1,-328.72 7659.15,-322.06"/>
+<polygon fill="none" stroke="midnightblue" points="6438.93,-462.54 6429.06,-466.38 6439.17,-469.53 6438.93,-462.54"/>
</g>
<!-- Node89 -->
<g id="node89" class="node">
<title>Node89</title>
<g id="a_node89"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="7837.5,-210 7837.5,-322 7991.5,-322 7991.5,-210 7837.5,-210"/>
-<text text-anchor="middle" x="7914.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PadAttrs ></text>
-<polyline fill="none" stroke="black" points="7837.5,-303 7991.5,-303 "/>
-<text text-anchor="middle" x="7914.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="7837.5,-284 7991.5,-284 "/>
-<text text-anchor="start" x="7845.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="7845.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="7845.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="7845.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="7845.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="7845.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="7825,-204.5 7825,-327.5 7984,-327.5 7984,-204.5 7825,-204.5"/>
+<text text-anchor="start" x="7833" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PixelShuffle</text>
+<text text-anchor="middle" x="7904.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="7825,-297.5 7984,-297.5 "/>
+<text text-anchor="middle" x="7904.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="7825,-278.5 7984,-278.5 "/>
+<text text-anchor="start" x="7833" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="7833" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="7833" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="7833" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="7833" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="7833" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node89 -->
<g id="edge88" class="edge">
<title>Node1->Node89</title>
-<path fill="none" stroke="midnightblue" d="M6365.44,-468.45C6663.18,-465.6 7560.4,-447.94 7827.5,-339 7837.85,-334.78 7847.9,-328.87 7857.28,-322.23"/>
-<polygon fill="none" stroke="midnightblue" points="6365.07,-464.95 6355.1,-468.55 6365.14,-471.95 6365.07,-464.95"/>
+<path fill="none" stroke="midnightblue" d="M6439.69,-467.77C6726.42,-463 7564.37,-440.5 7815.5,-339 7823.05,-335.95 7830.47,-332.02 7837.6,-327.59"/>
+<polygon fill="none" stroke="midnightblue" points="6439.26,-464.28 6429.32,-467.94 6439.37,-471.28 6439.26,-464.28"/>
</g>
<!-- Node91 -->
<g id="node91" class="node">
<title>Node91</title>
<g id="a_node91"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8009.5,-210 8009.5,-322 8185.5,-322 8185.5,-210 8009.5,-210"/>
-<text text-anchor="middle" x="8097.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DropoutAttrs ></text>
-<polyline fill="none" stroke="black" points="8009.5,-303 8185.5,-303 "/>
-<text text-anchor="middle" x="8097.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8009.5,-284 8185.5,-284 "/>
-<text text-anchor="start" x="8017.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8017.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8017.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8017.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8017.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8017.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="8002.5,-210 8002.5,-322 8156.5,-322 8156.5,-210 8002.5,-210"/>
+<text text-anchor="middle" x="8079.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PadAttrs ></text>
+<polyline fill="none" stroke="black" points="8002.5,-303 8156.5,-303 "/>
+<text text-anchor="middle" x="8079.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8002.5,-284 8156.5,-284 "/>
+<text text-anchor="start" x="8010.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8010.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8010.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8010.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8010.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8010.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node91 -->
<g id="edge90" class="edge">
<title>Node1->Node91</title>
-<path fill="none" stroke="midnightblue" d="M6365.37,-468.77C6684.1,-466.92 7697.13,-452.06 8000.5,-339 8011.8,-334.79 8022.92,-328.84 8033.36,-322.14"/>
-<polygon fill="none" stroke="midnightblue" points="6365.21,-465.27 6355.23,-468.82 6365.25,-472.27 6365.21,-465.27"/>
+<path fill="none" stroke="midnightblue" d="M6439.46,-468.97C6748.71,-467.69 7707.95,-454.3 7992.5,-339 8002.86,-334.8 8012.92,-328.91 8022.29,-322.27"/>
+<polygon fill="none" stroke="midnightblue" points="6439.16,-465.47 6429.18,-469.01 6439.19,-472.47 6439.16,-465.47"/>
</g>
<!-- Node93 -->
<g id="node93" class="node">
<title>Node93</title>
<g id="a_node93"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8203.5,-210 8203.5,-322 8363.5,-322 8363.5,-210 8203.5,-210"/>
-<text text-anchor="middle" x="8283.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TopKAttrs ></text>
-<polyline fill="none" stroke="black" points="8203.5,-303 8363.5,-303 "/>
-<text text-anchor="middle" x="8283.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8203.5,-284 8363.5,-284 "/>
-<text text-anchor="start" x="8211.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8211.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8211.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8211.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8211.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8211.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="8174.5,-210 8174.5,-322 8350.5,-322 8350.5,-210 8174.5,-210"/>
+<text text-anchor="middle" x="8262.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DropoutAttrs ></text>
+<polyline fill="none" stroke="black" points="8174.5,-303 8350.5,-303 "/>
+<text text-anchor="middle" x="8262.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8174.5,-284 8350.5,-284 "/>
+<text text-anchor="start" x="8182.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8182.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8182.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8182.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8182.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8182.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node93 -->
<g id="edge92" class="edge">
<title>Node1->Node93</title>
-<path fill="none" stroke="midnightblue" d="M6365.25,-465.89C6731.84,-453.64 8023.43,-406.1 8194.5,-339 8205.23,-334.79 8215.67,-328.79 8225.39,-322.03"/>
-<polygon fill="none" stroke="midnightblue" points="6365.07,-462.39 6355.19,-466.23 6365.3,-469.39 6365.07,-462.39"/>
+<path fill="none" stroke="midnightblue" d="M6439.58,-469.19C6769.44,-468.74 7844.49,-457.95 8165.5,-339 8176.91,-334.77 8188.12,-328.77 8198.65,-322"/>
+<polygon fill="none" stroke="midnightblue" points="6439.09,-465.69 6429.1,-469.2 6439.1,-472.69 6439.09,-465.69"/>
</g>
<!-- Node95 -->
<g id="node95" class="node">
<title>Node95</title>
<g id="a_node95"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8382,-204.5 8382,-327.5 8543,-327.5 8543,-204.5 8382,-204.5"/>
-<text text-anchor="start" x="8390" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Multinomial</text>
-<text text-anchor="middle" x="8462.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">FromUniformAttrs ></text>
-<polyline fill="none" stroke="black" points="8382,-297.5 8543,-297.5 "/>
-<text text-anchor="middle" x="8462.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8382,-278.5 8543,-278.5 "/>
-<text text-anchor="start" x="8390" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8390" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8390" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8390" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8390" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8390" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="8368.5,-210 8368.5,-322 8528.5,-322 8528.5,-210 8368.5,-210"/>
+<text text-anchor="middle" x="8448.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TopKAttrs ></text>
+<polyline fill="none" stroke="black" points="8368.5,-303 8528.5,-303 "/>
+<text text-anchor="middle" x="8448.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8368.5,-284 8528.5,-284 "/>
+<text text-anchor="start" x="8376.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8376.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8376.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8376.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8376.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8376.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node95 -->
<g id="edge94" class="edge">
<title>Node1->Node95</title>
-<path fill="none" stroke="midnightblue" d="M6365.27,-466.45C6753.19,-455.78 8183.87,-411.78 8372.5,-339 8380.25,-336.01 8387.85,-332.1 8395.15,-327.64"/>
-<polygon fill="none" stroke="midnightblue" points="6365.1,-462.96 6355.2,-466.73 6365.29,-469.95 6365.1,-462.96"/>
+<path fill="none" stroke="midnightblue" d="M6439.35,-466.2C6817.1,-454.83 8179.58,-409.26 8359.5,-339 8370.24,-334.81 8380.68,-328.82 8390.41,-322.06"/>
+<polygon fill="none" stroke="midnightblue" points="6439.15,-462.71 6429.26,-466.51 6439.36,-469.7 6439.15,-462.71"/>
</g>
<!-- Node97 -->
<g id="node97" class="node">
<title>Node97</title>
<g id="a_node97"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8561,-210 8561,-322 8736,-322 8736,-210 8561,-210"/>
-<text text-anchor="middle" x="8648.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DAttrs ></text>
-<polyline fill="none" stroke="black" points="8561,-303 8736,-303 "/>
-<text text-anchor="middle" x="8648.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8561,-284 8736,-284 "/>
-<text text-anchor="start" x="8569" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8569" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8569" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8569" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8569" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8569" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="8547,-204.5 8547,-327.5 8708,-327.5 8708,-204.5 8547,-204.5"/>
+<text text-anchor="start" x="8555" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Multinomial</text>
+<text text-anchor="middle" x="8627.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">FromUniformAttrs ></text>
+<polyline fill="none" stroke="black" points="8547,-297.5 8708,-297.5 "/>
+<text text-anchor="middle" x="8627.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8547,-278.5 8708,-278.5 "/>
+<text text-anchor="start" x="8555" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8555" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8555" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8555" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8555" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8555" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node97 -->
<g id="edge96" class="edge">
<title>Node1->Node97</title>
-<path fill="none" stroke="midnightblue" d="M6365.16,-466.76C6773.27,-456.88 8343.93,-414.23 8551.5,-339 8562.94,-334.86 8574.17,-328.89 8584.7,-322.15"/>
-<polygon fill="none" stroke="midnightblue" points="6365.07,-463.26 6355.16,-467 6365.24,-470.26 6365.07,-463.26"/>
+<path fill="none" stroke="midnightblue" d="M6439.11,-466.72C6837.33,-456.87 8339.94,-414.93 8537.5,-339 8545.34,-335.98 8553.04,-332.02 8560.42,-327.5"/>
+<polygon fill="none" stroke="midnightblue" points="6438.97,-463.22 6429.06,-466.97 6439.14,-470.22 6438.97,-463.22"/>
</g>
<!-- Node99 -->
<g id="node99" class="node">
<title>Node99</title>
<g id="a_node99"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8754.5,-204.5 8754.5,-327.5 8922.5,-327.5 8922.5,-204.5 8754.5,-204.5"/>
-<text text-anchor="start" x="8762.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< VirtualDevice</text>
-<text text-anchor="middle" x="8838.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
-<polyline fill="none" stroke="black" points="8754.5,-297.5 8922.5,-297.5 "/>
-<text text-anchor="middle" x="8838.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8754.5,-278.5 8922.5,-278.5 "/>
-<text text-anchor="start" x="8762.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8762.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8762.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8762.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8762.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8762.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="8726,-210 8726,-322 8901,-322 8901,-210 8726,-210"/>
+<text text-anchor="middle" x="8813.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv3DAttrs ></text>
+<polyline fill="none" stroke="black" points="8726,-303 8901,-303 "/>
+<text text-anchor="middle" x="8813.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8726,-284 8901,-284 "/>
+<text text-anchor="start" x="8734" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8734" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8734" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8734" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8734" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8734" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node99 -->
<g id="edge98" class="edge">
<title>Node1->Node99</title>
-<path fill="none" stroke="midnightblue" d="M6365.4,-467.3C6795.24,-459.3 8518.51,-422.27 8744.5,-339 8752.6,-336.01 8760.57,-332.07 8768.24,-327.56"/>
-<polygon fill="none" stroke="midnightblue" points="6365.11,-463.8 6355.18,-467.49 6365.24,-470.8 6365.11,-463.8"/>
+<path fill="none" stroke="midnightblue" d="M6439.49,-466.98C6858.26,-457.83 8500,-417.2 8716.5,-339 8727.94,-334.87 8739.18,-328.91 8749.71,-322.17"/>
+<polygon fill="none" stroke="midnightblue" points="6439.15,-463.49 6429.23,-467.21 6439.31,-470.49 6439.15,-463.49"/>
</g>
<!-- Node101 -->
<g id="node101" class="node">
<title>Node101</title>
<g id="a_node101"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="8940.5,-204.5 8940.5,-327.5 9098.5,-327.5 9098.5,-204.5 8940.5,-204.5"/>
-<text text-anchor="start" x="8948.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< WrapParam</text>
-<text text-anchor="middle" x="9019.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="8940.5,-297.5 9098.5,-297.5 "/>
-<text text-anchor="middle" x="9019.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="8940.5,-278.5 9098.5,-278.5 "/>
-<text text-anchor="start" x="8948.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="8948.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="8948.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="8948.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="8948.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="8948.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="8919.5,-204.5 8919.5,-327.5 9087.5,-327.5 9087.5,-204.5 8919.5,-204.5"/>
+<text text-anchor="start" x="8927.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< VirtualDevice</text>
+<text text-anchor="middle" x="9003.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node ></text>
+<polyline fill="none" stroke="black" points="8919.5,-297.5 9087.5,-297.5 "/>
+<text text-anchor="middle" x="9003.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="8919.5,-278.5 9087.5,-278.5 "/>
+<text text-anchor="start" x="8927.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="8927.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="8927.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="8927.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="8927.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="8927.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node101 -->
<g id="edge100" class="edge">
<title>Node1->Node101</title>
-<path fill="none" stroke="midnightblue" d="M6365.3,-467.86C6814.98,-462.07 8688.46,-432.5 8931.5,-339 8939.24,-336.02 8946.81,-332.09 8954.05,-327.58"/>
-<polygon fill="none" stroke="midnightblue" points="6365.21,-464.36 6355.26,-467.99 6365.3,-471.36 6365.21,-464.36"/>
+<path fill="none" stroke="midnightblue" d="M6439.32,-467.5C6878.78,-460.21 8674.5,-425.35 8909.5,-339 8917.6,-336.02 8925.58,-332.08 8933.25,-327.58"/>
+<polygon fill="none" stroke="midnightblue" points="6439.14,-464 6429.19,-467.66 6439.25,-471 6439.14,-464"/>
</g>
<!-- Node103 -->
<g id="node103" class="node">
<title>Node103</title>
<g id="a_node103"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9117,-210 9117,-322 9272,-322 9272,-210 9117,-210"/>
-<text text-anchor="middle" x="9194.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TileAttrs ></text>
-<polyline fill="none" stroke="black" points="9117,-303 9272,-303 "/>
-<text text-anchor="middle" x="9194.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9117,-284 9272,-284 "/>
-<text text-anchor="start" x="9125" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9125" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9125" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9125" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9125" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9125" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="9105.5,-204.5 9105.5,-327.5 9263.5,-327.5 9263.5,-204.5 9105.5,-204.5"/>
+<text text-anchor="start" x="9113.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< WrapParam</text>
+<text text-anchor="middle" x="9184.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="9105.5,-297.5 9263.5,-297.5 "/>
+<text text-anchor="middle" x="9184.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9105.5,-278.5 9263.5,-278.5 "/>
+<text text-anchor="start" x="9113.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9113.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9113.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9113.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9113.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9113.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node103 -->
<g id="edge102" class="edge">
<title>Node1->Node103</title>
-<path fill="none" stroke="midnightblue" d="M6365.1,-468.2C6832.49,-463.87 8847.35,-439.47 9107.5,-339 9118.11,-334.9 9128.37,-328.97 9137.91,-322.24"/>
-<polygon fill="none" stroke="midnightblue" points="6364.98,-464.71 6355.01,-468.3 6365.04,-471.71 6364.98,-464.71"/>
+<path fill="none" stroke="midnightblue" d="M6439.55,-468.02C6899.09,-462.91 8844.54,-435.7 9096.5,-339 9104.24,-336.03 9111.81,-332.1 9119.06,-327.59"/>
+<polygon fill="none" stroke="midnightblue" points="6439.26,-464.53 6429.3,-468.14 6439.33,-471.53 6439.26,-464.53"/>
</g>
<!-- Node105 -->
<g id="node105" class="node">
<title>Node105</title>
<g id="a_node105"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9290.5,-204.5 9290.5,-327.5 9450.5,-327.5 9450.5,-204.5 9290.5,-204.5"/>
-<text text-anchor="start" x="9298.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StridedSlice</text>
-<text text-anchor="middle" x="9370.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="9290.5,-297.5 9450.5,-297.5 "/>
-<text text-anchor="middle" x="9370.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9290.5,-278.5 9450.5,-278.5 "/>
-<text text-anchor="start" x="9298.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9298.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9298.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9298.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9298.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9298.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="9282,-210 9282,-322 9437,-322 9437,-210 9282,-210"/>
+<text text-anchor="middle" x="9359.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< TileAttrs ></text>
+<polyline fill="none" stroke="black" points="9282,-303 9437,-303 "/>
+<text text-anchor="middle" x="9359.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9282,-284 9437,-284 "/>
+<text text-anchor="start" x="9290" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9290" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9290" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9290" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9290" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9290" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node105 -->
<g id="edge104" class="edge">
<title>Node1->Node105</title>
-<path fill="none" stroke="midnightblue" d="M6365.35,-468.39C6850.3,-464.84 9002.47,-443.32 9280.5,-339 9288.37,-336.05 9296.08,-332.13 9303.47,-327.63"/>
-<polygon fill="none" stroke="midnightblue" points="6365.21,-464.89 6355.23,-468.46 6365.26,-471.89 6365.21,-464.89"/>
+<path fill="none" stroke="midnightblue" d="M6439.44,-468.35C6916.56,-464.66 9003.44,-442.69 9272.5,-339 9283.11,-334.91 9293.38,-328.98 9302.92,-322.25"/>
+<polygon fill="none" stroke="midnightblue" points="6439.11,-464.85 6429.14,-468.43 6439.16,-471.85 6439.11,-464.85"/>
</g>
<!-- Node107 -->
<g id="node107" class="node">
<title>Node107</title>
<g id="a_node107"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9468.5,-210 9468.5,-322 9626.5,-322 9626.5,-210 9468.5,-210"/>
-<text text-anchor="middle" x="9547.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SplitAttrs ></text>
-<polyline fill="none" stroke="black" points="9468.5,-303 9626.5,-303 "/>
-<text text-anchor="middle" x="9547.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9468.5,-284 9626.5,-284 "/>
-<text text-anchor="start" x="9476.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9476.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9476.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9476.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9476.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9476.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="9455.5,-204.5 9455.5,-327.5 9615.5,-327.5 9615.5,-204.5 9455.5,-204.5"/>
+<text text-anchor="start" x="9463.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< StridedSlice</text>
+<text text-anchor="middle" x="9535.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="9455.5,-297.5 9615.5,-297.5 "/>
+<text text-anchor="middle" x="9535.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9455.5,-278.5 9615.5,-278.5 "/>
+<text text-anchor="start" x="9463.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9463.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9463.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9463.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9463.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9463.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node107 -->
<g id="edge106" class="edge">
<title>Node1->Node107</title>
-<path fill="none" stroke="midnightblue" d="M6365.34,-468.7C6867.63,-466.65 9164.33,-451.19 9459.5,-339 9470.2,-334.93 9480.57,-329.01 9490.21,-322.29"/>
-<polygon fill="none" stroke="midnightblue" points="6365.21,-465.2 6355.23,-468.74 6365.24,-472.2 6365.21,-465.2"/>
+<path fill="none" stroke="midnightblue" d="M6439.42,-468.52C6933.38,-465.59 9158.47,-446.49 9445.5,-339 9453.37,-336.05 9461.08,-332.13 9468.47,-327.64"/>
+<polygon fill="none" stroke="midnightblue" points="6439.1,-465.02 6429.12,-468.58 6439.14,-472.02 6439.1,-465.02"/>
</g>
<!-- Node109 -->
<g id="node109" class="node">
<title>Node109</title>
<g id="a_node109"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9644,-210 9644,-322 9829,-322 9829,-210 9644,-210"/>
-<text text-anchor="middle" x="9736.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RMSNormAttrs ></text>
-<polyline fill="none" stroke="black" points="9644,-303 9829,-303 "/>
-<text text-anchor="middle" x="9736.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9644,-284 9829,-284 "/>
-<text text-anchor="start" x="9652" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9652" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9652" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9652" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9652" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9652" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="9633.5,-210 9633.5,-322 9791.5,-322 9791.5,-210 9633.5,-210"/>
+<text text-anchor="middle" x="9712.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SplitAttrs ></text>
+<polyline fill="none" stroke="black" points="9633.5,-303 9791.5,-303 "/>
+<text text-anchor="middle" x="9712.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9633.5,-284 9791.5,-284 "/>
+<text text-anchor="start" x="9641.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9641.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9641.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9641.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9641.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9641.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node109 -->
<g id="edge108" class="edge">
<title>Node1->Node109</title>
-<path fill="none" stroke="midnightblue" d="M6365.45,-468.56C6884.1,-465.77 9319.18,-446.98 9635.5,-339 9647.42,-334.93 9659.17,-328.96 9670.2,-322.17"/>
-<polygon fill="none" stroke="midnightblue" points="6365.36,-465.06 6355.38,-468.61 6365.4,-472.06 6365.36,-465.06"/>
+<path fill="none" stroke="midnightblue" d="M6439.58,-468.82C6950.97,-467.36 9320.37,-454.4 9624.5,-339 9635.2,-334.94 9645.58,-329.02 9655.21,-322.3"/>
+<polygon fill="none" stroke="midnightblue" points="6439.28,-465.32 6429.29,-468.84 6439.3,-472.32 6439.28,-465.32"/>
</g>
<!-- Node111 -->
<g id="node111" class="node">
<title>Node111</title>
<g id="a_node111"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="9847.5,-204.5 9847.5,-327.5 9993.5,-327.5 9993.5,-204.5 9847.5,-204.5"/>
-<text text-anchor="start" x="9855.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Quantize</text>
-<text text-anchor="middle" x="9920.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="9847.5,-297.5 9993.5,-297.5 "/>
-<text text-anchor="middle" x="9920.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="9847.5,-278.5 9993.5,-278.5 "/>
-<text text-anchor="start" x="9855.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="9855.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="9855.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="9855.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="9855.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="9855.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="9809,-210 9809,-322 9994,-322 9994,-210 9809,-210"/>
+<text text-anchor="middle" x="9901.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< RMSNormAttrs ></text>
+<polyline fill="none" stroke="black" points="9809,-303 9994,-303 "/>
+<text text-anchor="middle" x="9901.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="9809,-284 9994,-284 "/>
+<text text-anchor="start" x="9817" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="9817" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="9817" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="9817" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="9817" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="9817" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node111 -->
<g id="edge110" class="edge">
<title>Node1->Node111</title>
-<path fill="none" stroke="midnightblue" d="M6365.31,-469.3C6902.69,-470.49 9506.67,-469.41 9837.5,-339 9844.95,-336.06 9852.2,-332.15 9859.09,-327.66"/>
-<polygon fill="none" stroke="midnightblue" points="6365.27,-465.8 6355.26,-469.28 6365.26,-472.8 6365.27,-465.8"/>
+<path fill="none" stroke="midnightblue" d="M6439.48,-468.67C6966.57,-466.42 9475.06,-449.91 9800.5,-339 9812.53,-334.9 9824.37,-328.87 9835.49,-322.01"/>
+<polygon fill="none" stroke="midnightblue" points="6439.24,-465.17 6429.25,-468.71 6439.27,-472.17 6439.24,-465.17"/>
</g>
<!-- Node113 -->
<g id="node113" class="node">
<title>Node113</title>
<g id="a_node113"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10011.5,-210 10011.5,-322 10175.5,-322 10175.5,-210 10011.5,-210"/>
-<text text-anchor="middle" x="10093.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PReluAttrs ></text>
-<polyline fill="none" stroke="black" points="10011.5,-303 10175.5,-303 "/>
-<text text-anchor="middle" x="10093.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10011.5,-284 10175.5,-284 "/>
-<text text-anchor="start" x="10019.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10019.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10019.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10019.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10019.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10019.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10012.5,-204.5 10012.5,-327.5 10158.5,-327.5 10158.5,-204.5 10012.5,-204.5"/>
+<text text-anchor="start" x="10020.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Quantize</text>
+<text text-anchor="middle" x="10085.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="10012.5,-297.5 10158.5,-297.5 "/>
+<text text-anchor="middle" x="10085.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10012.5,-278.5 10158.5,-278.5 "/>
+<text text-anchor="start" x="10020.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10020.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10020.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10020.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10020.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10020.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node113 -->
<g id="edge112" class="edge">
<title>Node1->Node113</title>
-<path fill="none" stroke="midnightblue" d="M6365.62,-469.23C6918.09,-470.06 9652.45,-467.6 10002.5,-339 10013.66,-334.9 10024.5,-328.87 10034.59,-322.01"/>
-<polygon fill="none" stroke="midnightblue" points="6365.3,-465.73 6355.3,-469.21 6365.29,-472.73 6365.3,-465.73"/>
+<path fill="none" stroke="midnightblue" d="M6439.55,-469.4C6985.61,-471.14 9662.73,-472.75 10002.5,-339 10009.96,-336.07 10017.2,-332.16 10024.1,-327.67"/>
+<polygon fill="none" stroke="midnightblue" points="6439.36,-465.9 6429.35,-469.37 6439.34,-472.9 6439.36,-465.9"/>
</g>
<!-- Node115 -->
<g id="node115" class="node">
<title>Node115</title>
<g id="a_node115"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10194,-210 10194,-322 10369,-322 10369,-210 10194,-210"/>
-<text text-anchor="middle" x="10281.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DAttrs ></text>
-<polyline fill="none" stroke="black" points="10194,-303 10369,-303 "/>
-<text text-anchor="middle" x="10281.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10194,-284 10369,-284 "/>
-<text text-anchor="start" x="10202" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10202" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10202" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10202" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10202" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10202" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10176.5,-210 10176.5,-322 10340.5,-322 10340.5,-210 10176.5,-210"/>
+<text text-anchor="middle" x="10258.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PReluAttrs ></text>
+<polyline fill="none" stroke="black" points="10176.5,-303 10340.5,-303 "/>
+<text text-anchor="middle" x="10258.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10176.5,-284 10340.5,-284 "/>
+<text text-anchor="start" x="10184.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10184.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10184.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10184.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10184.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10184.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node115 -->
<g id="edge114" class="edge">
<title>Node1->Node115</title>
-<path fill="none" stroke="midnightblue" d="M6365.23,-469.23C6932.41,-470.13 9814.18,-468.27 10184.5,-339 10196.18,-334.92 10207.63,-328.9 10218.34,-322.04"/>
-<polygon fill="none" stroke="midnightblue" points="6365.05,-465.73 6355.04,-469.21 6365.03,-472.73 6365.05,-465.73"/>
+<path fill="none" stroke="midnightblue" d="M6439.29,-469.32C6998.96,-470.67 9808.3,-470.8 10167.5,-339 10178.66,-334.91 10189.51,-328.87 10199.6,-322.02"/>
+<polygon fill="none" stroke="midnightblue" points="6439.24,-465.82 6429.24,-469.29 6439.23,-472.82 6439.24,-465.82"/>
</g>
<!-- Node117 -->
<g id="node117" class="node">
<title>Node117</title>
<g id="a_node117"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10387.5,-210 10387.5,-322 10543.5,-322 10543.5,-210 10387.5,-210"/>
-<text text-anchor="middle" x="10465.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SortAttrs ></text>
-<polyline fill="none" stroke="black" points="10387.5,-303 10543.5,-303 "/>
-<text text-anchor="middle" x="10465.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10387.5,-284 10543.5,-284 "/>
-<text text-anchor="start" x="10395.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10395.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10395.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10395.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10395.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10395.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10359,-210 10359,-322 10534,-322 10534,-210 10359,-210"/>
+<text text-anchor="middle" x="10446.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DAttrs ></text>
+<polyline fill="none" stroke="black" points="10359,-303 10534,-303 "/>
+<text text-anchor="middle" x="10446.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10359,-284 10534,-284 "/>
+<text text-anchor="start" x="10367" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10367" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10367" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10367" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10367" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10367" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node117 -->
<g id="edge116" class="edge">
<title>Node1->Node117</title>
-<path fill="none" stroke="midnightblue" d="M6365.39,-467.7C6968,-459.37 10183.74,-411.64 10377.5,-339 10388.41,-334.91 10398.96,-328.88 10408.74,-322.03"/>
-<polygon fill="none" stroke="midnightblue" points="6364.96,-464.2 6355,-467.84 6365.05,-471.2 6364.96,-464.2"/>
+<path fill="none" stroke="midnightblue" d="M6439.61,-469.31C7015.47,-470.7 9970.13,-471.27 10349.5,-339 10361.18,-334.93 10372.63,-328.91 10383.34,-322.05"/>
+<polygon fill="none" stroke="midnightblue" points="6439.28,-465.81 6429.27,-469.29 6439.26,-472.81 6439.28,-465.81"/>
</g>
<!-- Node119 -->
<g id="node119" class="node">
<title>Node119</title>
<g id="a_node119"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10562,-210 10562,-322 10737,-322 10737,-210 10562,-210"/>
-<text text-anchor="middle" x="10649.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DAttrs ></text>
-<polyline fill="none" stroke="black" points="10562,-303 10737,-303 "/>
-<text text-anchor="middle" x="10649.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10562,-284 10737,-284 "/>
-<text text-anchor="start" x="10570" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10570" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10570" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10570" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10570" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10570" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10552.5,-210 10552.5,-322 10708.5,-322 10708.5,-210 10552.5,-210"/>
+<text text-anchor="middle" x="10630.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< SortAttrs ></text>
+<polyline fill="none" stroke="black" points="10552.5,-303 10708.5,-303 "/>
+<text text-anchor="middle" x="10630.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10552.5,-284 10708.5,-284 "/>
+<text text-anchor="start" x="10560.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10560.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10560.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10560.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10560.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10560.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node119 -->
<g id="edge118" class="edge">
<title>Node1->Node119</title>
-<path fill="none" stroke="midnightblue" d="M6365.51,-467.7C6983.22,-459.23 10348.28,-409.96 10552.5,-339 10564.19,-334.94 10575.64,-328.92 10586.35,-322.07"/>
-<polygon fill="none" stroke="midnightblue" points="6365.26,-464.21 6355.31,-467.84 6365.35,-471.2 6365.26,-464.21"/>
+<path fill="none" stroke="midnightblue" d="M6439.11,-467.77C7048.82,-459.78 10344.16,-413.28 10542.5,-339 10553.41,-334.92 10563.96,-328.89 10573.74,-322.03"/>
+<polygon fill="none" stroke="midnightblue" points="6438.99,-464.27 6429.04,-467.9 6439.08,-471.27 6438.99,-464.27"/>
</g>
<!-- Node121 -->
<g id="node121" class="node">
<title>Node121</title>
<g id="a_node121"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10755.5,-210 10755.5,-322 10927.5,-322 10927.5,-210 10755.5,-210"/>
-<text text-anchor="middle" x="10841.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgsortAttrs ></text>
-<polyline fill="none" stroke="black" points="10755.5,-303 10927.5,-303 "/>
-<text text-anchor="middle" x="10841.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10755.5,-284 10927.5,-284 "/>
-<text text-anchor="start" x="10763.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10763.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10763.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10763.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10763.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10763.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10727,-210 10727,-322 10902,-322 10902,-210 10727,-210"/>
+<text text-anchor="middle" x="10814.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DAttrs ></text>
+<polyline fill="none" stroke="black" points="10727,-303 10902,-303 "/>
+<text text-anchor="middle" x="10814.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10727,-284 10902,-284 "/>
+<text text-anchor="start" x="10735" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10735" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10735" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10735" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10735" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10735" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node121 -->
<g id="edge120" class="edge">
<title>Node1->Node121</title>
-<path fill="none" stroke="midnightblue" d="M6365.31,-467.85C6998.66,-460.11 10531.72,-413.72 10745.5,-339 10757.1,-334.94 10768.46,-328.93 10779.06,-322.08"/>
-<polygon fill="none" stroke="midnightblue" points="6365.26,-464.35 6355.3,-467.97 6365.35,-471.35 6365.26,-464.35"/>
+<path fill="none" stroke="midnightblue" d="M6439.55,-467.77C7065.05,-459.6 10508.7,-411.48 10717.5,-339 10729.19,-334.94 10740.64,-328.93 10751.35,-322.08"/>
+<polygon fill="none" stroke="midnightblue" points="6439.18,-464.27 6429.23,-467.9 6439.27,-471.27 6439.18,-464.27"/>
</g>
<!-- Node123 -->
<g id="node123" class="node">
<title>Node123</title>
<g id="a_node123"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="10946,-204.5 10946,-327.5 11097,-327.5 11097,-204.5 10946,-204.5"/>
-<text text-anchor="start" x="10954" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Statistical</text>
-<text text-anchor="middle" x="11021.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="10946,-297.5 11097,-297.5 "/>
-<text text-anchor="middle" x="11021.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="10946,-278.5 11097,-278.5 "/>
-<text text-anchor="start" x="10954" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="10954" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="10954" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="10954" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="10954" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="10954" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="10920.5,-210 10920.5,-322 11092.5,-322 11092.5,-210 10920.5,-210"/>
+<text text-anchor="middle" x="11006.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< ArgsortAttrs ></text>
+<polyline fill="none" stroke="black" points="10920.5,-303 11092.5,-303 "/>
+<text text-anchor="middle" x="11006.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="10920.5,-284 11092.5,-284 "/>
+<text text-anchor="start" x="10928.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="10928.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="10928.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="10928.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="10928.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="10928.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node123 -->
<g id="edge122" class="edge">
<title>Node1->Node123</title>
-<path fill="none" stroke="midnightblue" d="M6365.31,-468.12C7014.48,-462.01 10715.49,-423.53 10936.5,-339 10944.18,-336.06 10951.65,-332.12 10958.77,-327.58"/>
-<polygon fill="none" stroke="midnightblue" points="6365.03,-464.62 6355.06,-468.22 6365.09,-471.62 6365.03,-464.62"/>
+<path fill="none" stroke="midnightblue" d="M6439.22,-467.91C7079.8,-460.47 10692.12,-415.26 10910.5,-339 10922.1,-334.95 10933.46,-328.94 10944.06,-322.09"/>
+<polygon fill="none" stroke="midnightblue" points="6439.06,-464.41 6429.1,-468.03 6439.14,-471.41 6439.06,-464.41"/>
</g>
<!-- Node125 -->
<g id="node125" class="node">
<title>Node125</title>
<g id="a_node125"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11115.5,-204.5 11115.5,-327.5 11299.5,-327.5 11299.5,-204.5 11115.5,-204.5"/>
-<text text-anchor="start" x="11123.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayoutTransform</text>
-<text text-anchor="middle" x="11207.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11115.5,-297.5 11299.5,-297.5 "/>
-<text text-anchor="middle" x="11207.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11115.5,-278.5 11299.5,-278.5 "/>
-<text text-anchor="start" x="11123.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11123.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11123.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11123.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11123.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11123.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11111,-204.5 11111,-327.5 11262,-327.5 11262,-204.5 11111,-204.5"/>
+<text text-anchor="start" x="11119" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Statistical</text>
+<text text-anchor="middle" x="11186.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11111,-297.5 11262,-297.5 "/>
+<text text-anchor="middle" x="11186.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11111,-278.5 11262,-278.5 "/>
+<text text-anchor="start" x="11119" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11119" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11119" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11119" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11119" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11119" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node125 -->
<g id="edge124" class="edge">
<title>Node1->Node125</title>
-<path fill="none" stroke="midnightblue" d="M6365.53,-467.99C7028.59,-460.88 10872.45,-416.43 11105.5,-339 11114.24,-336.1 11122.89,-332.17 11131.24,-327.65"/>
-<polygon fill="none" stroke="midnightblue" points="6365.03,-464.49 6355.07,-468.1 6365.11,-471.49 6365.03,-464.49"/>
+<path fill="none" stroke="midnightblue" d="M6439.61,-468.17C7096.99,-462.35 10875.99,-425.19 11101.5,-339 11109.18,-336.07 11116.65,-332.12 11123.77,-327.58"/>
+<polygon fill="none" stroke="midnightblue" points="6439.21,-464.68 6429.24,-468.26 6439.27,-471.68 6439.21,-464.68"/>
</g>
<!-- Node127 -->
<g id="node127" class="node">
<title>Node127</title>
<g id="a_node127"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11318,-204.5 11318,-327.5 11507,-327.5 11507,-204.5 11318,-204.5"/>
-<text text-anchor="start" x="11326" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DTranspose</text>
-<text text-anchor="middle" x="11412.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11318,-297.5 11507,-297.5 "/>
-<text text-anchor="middle" x="11412.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11318,-278.5 11507,-278.5 "/>
-<text text-anchor="start" x="11326" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11326" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11326" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11326" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11326" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11326" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11280.5,-204.5 11280.5,-327.5 11464.5,-327.5 11464.5,-204.5 11280.5,-204.5"/>
+<text text-anchor="start" x="11288.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< LayoutTransform</text>
+<text text-anchor="middle" x="11372.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11280.5,-297.5 11464.5,-297.5 "/>
+<text text-anchor="middle" x="11372.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11280.5,-278.5 11464.5,-278.5 "/>
+<text text-anchor="start" x="11288.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11288.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11288.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11288.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11288.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11288.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node127 -->
<g id="edge126" class="edge">
<title>Node1->Node127</title>
-<path fill="none" stroke="midnightblue" d="M6365.27,-468.08C7043.53,-461.41 11064.76,-418.6 11308.5,-339 11317.37,-336.1 11326.16,-332.18 11334.66,-327.66"/>
-<polygon fill="none" stroke="midnightblue" points="6365.02,-464.58 6355.05,-468.18 6365.09,-471.58 6365.02,-464.58"/>
+<path fill="none" stroke="midnightblue" d="M6439.25,-468.04C7108.72,-461.21 11032.8,-417.91 11270.5,-339 11279.24,-336.1 11287.89,-332.17 11296.24,-327.65"/>
+<polygon fill="none" stroke="midnightblue" points="6439.13,-464.54 6429.16,-468.14 6439.2,-471.54 6439.13,-464.54"/>
</g>
<!-- Node129 -->
<g id="node129" class="node">
<title>Node129</title>
<g id="a_node129"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11525,-204.5 11525,-327.5 11714,-327.5 11714,-204.5 11525,-204.5"/>
-<text text-anchor="start" x="11533" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DTranspose</text>
-<text text-anchor="middle" x="11619.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11525,-297.5 11714,-297.5 "/>
-<text text-anchor="middle" x="11619.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11525,-278.5 11714,-278.5 "/>
-<text text-anchor="start" x="11533" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11533" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11533" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11533" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11533" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11533" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11483,-204.5 11483,-327.5 11672,-327.5 11672,-204.5 11483,-204.5"/>
+<text text-anchor="start" x="11491" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv1DTranspose</text>
+<text text-anchor="middle" x="11577.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11483,-297.5 11672,-297.5 "/>
+<text text-anchor="middle" x="11577.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11483,-278.5 11672,-278.5 "/>
+<text text-anchor="start" x="11491" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11491" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11491" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11491" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11491" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11491" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node129 -->
<g id="edge128" class="edge">
<title>Node1->Node129</title>
-<path fill="none" stroke="midnightblue" d="M6365.37,-468.18C7059.88,-462.09 11261.24,-421.89 11515.5,-339 11524.48,-336.07 11533.37,-332.1 11541.96,-327.51"/>
-<polygon fill="none" stroke="midnightblue" points="6365.12,-464.68 6355.15,-468.27 6365.19,-471.68 6365.12,-464.68"/>
+<path fill="none" stroke="midnightblue" d="M6439.12,-468.12C7124,-461.72 11225.11,-420.06 11473.5,-339 11482.48,-336.07 11491.37,-332.09 11499.96,-327.5"/>
+<polygon fill="none" stroke="midnightblue" points="6439.02,-464.62 6429.05,-468.22 6439.08,-471.62 6439.02,-464.62"/>
</g>
<!-- Node131 -->
<g id="node131" class="node">
<title>Node131</title>
<g id="a_node131"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11732,-204.5 11732,-327.5 11901,-327.5 11901,-204.5 11732,-204.5"/>
-<text text-anchor="start" x="11740" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PermuteDims</text>
-<text text-anchor="middle" x="11816.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11732,-297.5 11901,-297.5 "/>
-<text text-anchor="middle" x="11816.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11732,-278.5 11901,-278.5 "/>
-<text text-anchor="start" x="11740" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11740" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11740" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11740" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11740" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11740" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11690,-204.5 11690,-327.5 11879,-327.5 11879,-204.5 11690,-204.5"/>
+<text text-anchor="start" x="11698" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< Conv2DTranspose</text>
+<text text-anchor="middle" x="11784.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11690,-297.5 11879,-297.5 "/>
+<text text-anchor="middle" x="11784.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11690,-278.5 11879,-278.5 "/>
+<text text-anchor="start" x="11698" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11698" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11698" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11698" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11698" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11698" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node131 -->
<g id="edge130" class="edge">
<title>Node1->Node131</title>
-<path fill="none" stroke="midnightblue" d="M6365.27,-468.4C7075.32,-463.78 11459.84,-431.54 11722.5,-339 11730.74,-336.1 11738.84,-332.17 11746.61,-327.65"/>
-<polygon fill="none" stroke="midnightblue" points="6365.07,-464.9 6355.09,-468.46 6365.11,-471.9 6365.07,-464.9"/>
+<path fill="none" stroke="midnightblue" d="M6439.11,-468.22C7139.75,-462.39 11421.58,-423.35 11680.5,-339 11689.48,-336.07 11698.37,-332.1 11706.96,-327.51"/>
+<polygon fill="none" stroke="midnightblue" points="6439.03,-464.72 6429.06,-468.31 6439.09,-471.72 6439.03,-464.72"/>
</g>
<!-- Node133 -->
<g id="node133" class="node">
<title>Node133</title>
<g id="a_node133"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="11918.5,-204.5 11918.5,-327.5 12076.5,-327.5 12076.5,-204.5 11918.5,-204.5"/>
-<text text-anchor="start" x="11926.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GroupNorm</text>
-<text text-anchor="middle" x="11997.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
-<polyline fill="none" stroke="black" points="11918.5,-297.5 12076.5,-297.5 "/>
-<text text-anchor="middle" x="11997.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="11918.5,-278.5 12076.5,-278.5 "/>
-<text text-anchor="start" x="11926.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="11926.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="11926.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="11926.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="11926.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="11926.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="11897,-204.5 11897,-327.5 12066,-327.5 12066,-204.5 11897,-204.5"/>
+<text text-anchor="start" x="11905" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< PermuteDims</text>
+<text text-anchor="middle" x="11981.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="11897,-297.5 12066,-297.5 "/>
+<text text-anchor="middle" x="11981.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="11897,-278.5 12066,-278.5 "/>
+<text text-anchor="start" x="11905" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="11905" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="11905" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="11905" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="11905" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="11905" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node133 -->
<g id="edge132" class="edge">
<title>Node1->Node133</title>
-<path fill="none" stroke="midnightblue" d="M6365.18,-468.56C7088.91,-465.06 11638.94,-439.11 11909.5,-339 11917.37,-336.09 11925.05,-332.16 11932.39,-327.63"/>
-<polygon fill="none" stroke="midnightblue" points="6365.04,-465.06 6355.05,-468.61 6365.07,-472.06 6365.04,-465.06"/>
+<path fill="none" stroke="midnightblue" d="M6439.2,-468.44C7155.78,-464.07 11620.23,-433.1 11887.5,-339 11895.74,-336.1 11903.84,-332.18 11911.61,-327.65"/>
+<polygon fill="none" stroke="midnightblue" points="6439.15,-464.94 6429.17,-468.5 6439.19,-471.94 6439.15,-464.94"/>
</g>
<!-- Node135 -->
<g id="node135" class="node">
<title>Node135</title>
<g id="a_node135"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12094,-210 12094,-322 12279,-322 12279,-210 12094,-210"/>
-<text text-anchor="middle" x="12186.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherNDAttrs ></text>
-<polyline fill="none" stroke="black" points="12094,-303 12279,-303 "/>
-<text text-anchor="middle" x="12186.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12094,-284 12279,-284 "/>
-<text text-anchor="start" x="12102" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12102" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12102" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12102" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12102" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12102" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<polygon fill="white" stroke="black" points="12083.5,-204.5 12083.5,-327.5 12241.5,-327.5 12241.5,-204.5 12083.5,-204.5"/>
+<text text-anchor="start" x="12091.5" y="-315.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GroupNorm</text>
+<text text-anchor="middle" x="12162.5" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs ></text>
+<polyline fill="none" stroke="black" points="12083.5,-297.5 12241.5,-297.5 "/>
+<text text-anchor="middle" x="12162.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12083.5,-278.5 12241.5,-278.5 "/>
+<text text-anchor="start" x="12091.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12091.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12091.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12091.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12091.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12091.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node135 -->
<g id="edge134" class="edge">
<title>Node1->Node135</title>
-<path fill="none" stroke="midnightblue" d="M6365.22,-468.46C7101.68,-464.14 11802.83,-432.93 12085.5,-339 12097.56,-334.99 12109.42,-329.01 12120.54,-322.17"/>
-<polygon fill="none" stroke="midnightblue" points="6365.16,-464.96 6355.18,-468.52 6365.2,-471.96 6365.16,-464.96"/>
+<path fill="none" stroke="midnightblue" d="M6439.28,-468.6C7170.04,-465.34 11799.38,-440.74 12074.5,-339 12082.37,-336.09 12090.05,-332.16 12097.39,-327.63"/>
+<polygon fill="none" stroke="midnightblue" points="6439.05,-465.1 6429.06,-468.64 6439.08,-472.1 6439.05,-465.1"/>
</g>
<!-- Node137 -->
<g id="node137" class="node">
<title>Node137</title>
-<g id="a_node137"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title="The base class of the all the Use "curiously recurring template pattern".">
-<polygon fill="white" stroke="black" points="12297.5,-210 12297.5,-322 12471.5,-322 12471.5,-210 12297.5,-210"/>
-<text text-anchor="middle" x="12384.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DerivedType ></text>
-<polyline fill="none" stroke="black" points="12297.5,-303 12471.5,-303 "/>
-<text text-anchor="middle" x="12384.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polyline fill="none" stroke="black" points="12297.5,-284 12471.5,-284 "/>
-<text text-anchor="start" x="12305.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12305.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12305.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12305.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12305.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12305.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<g id="a_node137"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="12259,-210 12259,-322 12444,-322 12444,-210 12259,-210"/>
+<text text-anchor="middle" x="12351.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< GatherNDAttrs ></text>
+<polyline fill="none" stroke="black" points="12259,-303 12444,-303 "/>
+<text text-anchor="middle" x="12351.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12259,-284 12444,-284 "/>
+<text text-anchor="start" x="12267" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12267" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12267" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12267" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12267" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12267" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
</a>
</g>
</g>
<!-- Node1->Node137 -->
<g id="edge136" class="edge">
<title>Node1->Node137</title>
-<path fill="none" stroke="midnightblue" d="M6365.3,-468.58C7116.63,-465.15 11995.51,-439.04 12287.5,-339 12299.21,-334.99 12310.67,-329 12321.38,-322.17"/>
-<polygon fill="none" stroke="midnightblue" points="6365.05,-465.09 6355.07,-468.63 6365.08,-472.09 6365.05,-465.09"/>
-</g>
-<!-- Node138 -->
-<g id="node138" class="node">
-<title>Node138</title>
-<g id="a_node138"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
-<polygon fill="white" stroke="black" points="12489.5,-193.5 12489.5,-338.5 12665.5,-338.5 12665.5,-193.5 12489.5,-193.5"/>
-<text text-anchor="middle" x="12577.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
-<polyline fill="none" stroke="black" points="12489.5,-319.5 12665.5,-319.5 "/>
-<text text-anchor="start" x="12497.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dict</text>
-<text text-anchor="start" x="12497.5" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="12489.5,-289.5 12665.5,-289.5 "/>
-<text text-anchor="start" x="12497.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12497.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="12497.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12497.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="12497.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="12497.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-<text text-anchor="start" x="12497.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="12497.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node138 -->
-<g id="edge137" class="edge">
-<title>Node1->Node138</title>
-<path fill="none" stroke="midnightblue" d="M6365.38,-468.65C7130.64,-465.69 12178.72,-442.28 12480.5,-339 12483.48,-337.98 12486.44,-336.83 12489.37,-335.58"/>
-<polygon fill="none" stroke="midnightblue" points="6365.22,-465.15 6355.23,-468.69 6365.25,-472.15 6365.22,-465.15"/>
+<path fill="none" stroke="midnightblue" d="M6439.25,-468.49C7182.41,-464.4 11963.21,-434.42 12250.5,-339 12262.66,-334.96 12274.62,-328.91 12285.82,-322"/>
+<polygon fill="none" stroke="midnightblue" points="6439.11,-464.99 6429.13,-468.55 6439.15,-471.99 6439.11,-464.99"/>
+</g>
+<!-- Node139 -->
+<g id="node139" class="node">
+<title>Node139</title>
+<g id="a_node139"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title="The base class of the all the Use "curiously recurring template pattern".">
+<polygon fill="white" stroke="black" points="12462.5,-210 12462.5,-322 12636.5,-322 12636.5,-210 12462.5,-210"/>
+<text text-anchor="middle" x="12549.5" y="-310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode< DerivedType ></text>
+<polyline fill="none" stroke="black" points="12462.5,-303 12636.5,-303 "/>
+<text text-anchor="middle" x="12549.5" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polyline fill="none" stroke="black" points="12462.5,-284 12636.5,-284 "/>
+<text text-anchor="start" x="12470.5" y="-272" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12470.5" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12470.5" y="-250" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12470.5" y="-239" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12470.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12470.5" y="-217" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node139 -->
+<g id="edge138" class="edge">
+<title>Node1->Node139</title>
+<path fill="none" stroke="midnightblue" d="M6439.28,-468.62C7197.02,-465.41 12155.89,-440.57 12452.5,-339 12464.21,-334.99 12475.67,-329.01 12486.38,-322.17"/>
+<polygon fill="none" stroke="midnightblue" points="6439.21,-465.12 6429.23,-468.66 6439.24,-472.12 6439.21,-465.12"/>
+</g>
+<!-- Node140 -->
+<g id="node140" class="node">
+<title>Node140</title>
+<g id="a_node140"><a xlink:href="classtvm_1_1DictAttrsNode.html" target="_top" xlink:title="Specialized attribute type that is backed by a map. The DictAttrsNode implements the Attrs behavior,...">
+<polygon fill="white" stroke="black" points="12654.5,-193.5 12654.5,-338.5 12830.5,-338.5 12830.5,-193.5 12654.5,-193.5"/>
+<text text-anchor="middle" x="12742.5" y="-326.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
+<polyline fill="none" stroke="black" points="12654.5,-319.5 12830.5,-319.5 "/>
+<text text-anchor="start" x="12662.5" y="-307.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dict</text>
+<text text-anchor="start" x="12662.5" y="-296.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="12654.5,-289.5 12830.5,-289.5 "/>
+<text text-anchor="start" x="12662.5" y="-277.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12662.5" y="-266.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="12662.5" y="-255.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12662.5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="12662.5" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="12662.5" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<text text-anchor="start" x="12662.5" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="12662.5" y="-200.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node140 -->
+<g id="edge139" class="edge">
+<title>Node1->Node140</title>
+<path fill="none" stroke="midnightblue" d="M6439.28,-468.68C7210.53,-465.94 12339.08,-443.81 12645.5,-339 12648.48,-337.98 12651.44,-336.84 12654.37,-335.58"/>
+<polygon fill="none" stroke="midnightblue" points="6439.04,-465.18 6429.05,-468.72 6439.06,-472.18 6439.04,-465.18"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="classtvm_1_1runtime_1_1Object.html" target="_top" xlink:title="base class of all object containers.">
-<polygon fill="white" stroke="black" points="6176.5,-601.5 6176.5,-999.5 6360.5,-999.5 6360.5,-601.5 6176.5,-601.5"/>
-<text text-anchor="middle" x="6268.5" y="-987.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Object</text>
-<polyline fill="none" stroke="black" points="6176.5,-980.5 6360.5,-980.5 "/>
-<text text-anchor="start" x="6184.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="6184.5" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_final</text>
-<text text-anchor="start" x="6184.5" y="-946.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<text text-anchor="start" x="6184.5" y="-935.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots_can</text>
-<text text-anchor="start" x="6184.5" y="-924.5" font-family="Helvetica,sans-Serif" font-size="10.00">_overflow</text>
-<text text-anchor="start" x="6184.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_visit</text>
-<text text-anchor="start" x="6184.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">_attrs</text>
-<text text-anchor="start" x="6184.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="6184.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6184.5" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="6184.5" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6184.5" y="-847.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
-<text text-anchor="start" x="6184.5" y="-836.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_index_</text>
-<text text-anchor="start" x="6184.5" y="-825.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ref_counter_</text>
-<text text-anchor="start" x="6184.5" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00"># deleter_</text>
-<polyline fill="none" stroke="black" points="6176.5,-807.5 6360.5,-807.5 "/>
-<text text-anchor="start" x="6184.5" y="-795.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_index()</text>
-<text text-anchor="start" x="6184.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKey()</text>
-<text text-anchor="start" x="6184.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="6184.5" y="-762.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInstance()</text>
-<text text-anchor="start" x="6184.5" y="-751.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
-<text text-anchor="start" x="6184.5" y="-740.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="6184.5" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="6184.5" y="-718.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="6184.5" y="-707.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="6184.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="6184.5" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="6184.5" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="6184.5" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeKey2Index()</text>
-<text text-anchor="start" x="6184.5" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="6184.5" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="6184.5" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IncRef()</text>
-<text text-anchor="start" x="6184.5" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecRef()</text>
-<text text-anchor="start" x="6184.5" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetOrAllocRuntimeTypeIndex()</text>
+<polygon fill="white" stroke="black" points="6250.5,-601.5 6250.5,-999.5 6434.5,-999.5 6434.5,-601.5 6250.5,-601.5"/>
+<text text-anchor="middle" x="6342.5" y="-987.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Object</text>
+<polyline fill="none" stroke="black" points="6250.5,-980.5 6434.5,-980.5 "/>
+<text text-anchor="start" x="6258.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="6258.5" y="-957.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_final</text>
+<text text-anchor="start" x="6258.5" y="-946.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<text text-anchor="start" x="6258.5" y="-935.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots_can</text>
+<text text-anchor="start" x="6258.5" y="-924.5" font-family="Helvetica,sans-Serif" font-size="10.00">_overflow</text>
+<text text-anchor="start" x="6258.5" y="-913.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_visit</text>
+<text text-anchor="start" x="6258.5" y="-902.5" font-family="Helvetica,sans-Serif" font-size="10.00">_attrs</text>
+<text text-anchor="start" x="6258.5" y="-891.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="6258.5" y="-880.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6258.5" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="6258.5" y="-858.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6258.5" y="-847.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
+<text text-anchor="start" x="6258.5" y="-836.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_index_</text>
+<text text-anchor="start" x="6258.5" y="-825.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ref_counter_</text>
+<text text-anchor="start" x="6258.5" y="-814.5" font-family="Helvetica,sans-Serif" font-size="10.00"># deleter_</text>
+<polyline fill="none" stroke="black" points="6250.5,-807.5 6434.5,-807.5 "/>
+<text text-anchor="start" x="6258.5" y="-795.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_index()</text>
+<text text-anchor="start" x="6258.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKey()</text>
+<text text-anchor="start" x="6258.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="6258.5" y="-762.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInstance()</text>
+<text text-anchor="start" x="6258.5" y="-751.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
+<text text-anchor="start" x="6258.5" y="-740.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="6258.5" y="-729.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="6258.5" y="-718.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="6258.5" y="-707.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
+<text text-anchor="start" x="6258.5" y="-696.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
+<text text-anchor="start" x="6258.5" y="-685.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="6258.5" y="-674.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="6258.5" y="-663.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeKey2Index()</text>
+<text text-anchor="start" x="6258.5" y="-652.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="6258.5" y="-641.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="6258.5" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IncRef()</text>
+<text text-anchor="start" x="6258.5" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecRef()</text>
+<text text-anchor="start" x="6258.5" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetOrAllocRuntimeTypeIndex()</text>
</a>
</g>
</g>
<!-- Node2->Node1 -->
<g id="edge1" class="edge">
<title>Node2->Node1</title>
-<path fill="none" stroke="midnightblue" d="M6268.5,-591.04C6268.5,-582.01 6268.5,-573.17 6268.5,-564.65"/>
-<polygon fill="none" stroke="midnightblue" points="6265,-591.3 6268.5,-601.3 6272,-591.3 6265,-591.3"/>
+<path fill="none" stroke="midnightblue" d="M6342.5,-591.04C6342.5,-582.01 6342.5,-573.17 6342.5,-564.65"/>
+<polygon fill="none" stroke="midnightblue" points="6339,-591.3 6342.5,-601.3 6346,-591.3 6339,-591.3"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
@@ -1862,1334 +1887,1353 @@
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
-<g id="a_node12"><a xlink:href="structtvm_1_1relax_1_1GatherElementsAttrs.html" target="_top" xlink:title="Attributes used in gather_elements operators.">
-<polygon fill="white" stroke="black" points="782.5,-44.5 782.5,-112.5 934.5,-112.5 934.5,-44.5 782.5,-44.5"/>
-<text text-anchor="start" x="790.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherElements</text>
-<text text-anchor="middle" x="858.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="782.5,-82.5 934.5,-82.5 "/>
-<text text-anchor="start" x="790.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="782.5,-63.5 934.5,-63.5 "/>
-<text text-anchor="start" x="790.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node12"><a xlink:href="structtvm_1_1relax_1_1MeshgridAttrs.html" target="_top" xlink:title="Attribute used in meshgrid operator.">
+<polygon fill="white" stroke="black" points="769.5,-50 769.5,-107 913.5,-107 913.5,-50 769.5,-50"/>
+<text text-anchor="middle" x="841.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MeshgridAttrs</text>
+<polyline fill="none" stroke="black" points="769.5,-88 913.5,-88 "/>
+<text text-anchor="start" x="777.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ indexing</text>
+<polyline fill="none" stroke="black" points="769.5,-69 913.5,-69 "/>
+<text text-anchor="start" x="777.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node11->Node12 -->
<g id="edge11" class="edge">
<title>Node11->Node12</title>
-<path fill="none" stroke="midnightblue" d="M858.5,-194.07C858.5,-166.01 858.5,-135.13 858.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="855,-194.26 858.5,-204.26 862,-194.26 855,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M841.5,-194.11C841.5,-163.76 841.5,-130.08 841.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="838,-194.26 841.5,-204.26 845,-194.26 838,-194.26"/>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<title>Node14</title>
-<g id="a_node14"><a xlink:href="structtvm_1_1relax_1_1EinsumAttrs.html" target="_top" xlink:title="Attributes used in einsum operator.">
-<polygon fill="white" stroke="black" points="981.5,-50 981.5,-107 1125.5,-107 1125.5,-50 981.5,-50"/>
-<text text-anchor="middle" x="1053.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::EinsumAttrs</text>
-<polyline fill="none" stroke="black" points="981.5,-88 1125.5,-88 "/>
-<text text-anchor="start" x="989.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ subscripts</text>
-<polyline fill="none" stroke="black" points="981.5,-69 1125.5,-69 "/>
-<text text-anchor="start" x="989.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node14"><a xlink:href="structtvm_1_1relax_1_1GatherElementsAttrs.html" target="_top" xlink:title="Attributes used in gather_elements operators.">
+<polygon fill="white" stroke="black" points="947.5,-44.5 947.5,-112.5 1099.5,-112.5 1099.5,-44.5 947.5,-44.5"/>
+<text text-anchor="start" x="955.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherElements</text>
+<text text-anchor="middle" x="1023.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="947.5,-82.5 1099.5,-82.5 "/>
+<text text-anchor="start" x="955.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="947.5,-63.5 1099.5,-63.5 "/>
+<text text-anchor="start" x="955.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node13->Node14 -->
<g id="edge13" class="edge">
<title>Node13->Node14</title>
-<path fill="none" stroke="midnightblue" d="M1053.5,-199.72C1053.5,-167.95 1053.5,-131.45 1053.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="1050,-199.85 1053.5,-209.85 1057,-199.85 1050,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M1023.5,-194.07C1023.5,-166.01 1023.5,-135.13 1023.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="1020,-194.26 1023.5,-204.26 1027,-194.26 1020,-194.26"/>
</g>
<!-- Node16 -->
<g id="node16" class="node">
<title>Node16</title>
-<g id="a_node16"><a xlink:href="structtvm_1_1relax_1_1DistributionAttrs.html" target="_top" xlink:title="Attributes for redistribute and annotate_sharding operator.">
-<polygon fill="white" stroke="black" points="1165.5,-39 1165.5,-118 1309.5,-118 1309.5,-39 1165.5,-39"/>
-<text text-anchor="start" x="1173.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Distribution</text>
-<text text-anchor="middle" x="1237.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="1165.5,-88 1309.5,-88 "/>
-<text text-anchor="start" x="1173.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_mesh</text>
-<text text-anchor="start" x="1173.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ placement</text>
-<polyline fill="none" stroke="black" points="1165.5,-58 1309.5,-58 "/>
-<text text-anchor="start" x="1173.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node16"><a xlink:href="structtvm_1_1relax_1_1EinsumAttrs.html" target="_top" xlink:title="Attributes used in einsum operator.">
+<polygon fill="white" stroke="black" points="1146.5,-50 1146.5,-107 1290.5,-107 1290.5,-50 1146.5,-50"/>
+<text text-anchor="middle" x="1218.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::EinsumAttrs</text>
+<polyline fill="none" stroke="black" points="1146.5,-88 1290.5,-88 "/>
+<text text-anchor="start" x="1154.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ subscripts</text>
+<polyline fill="none" stroke="black" points="1146.5,-69 1290.5,-69 "/>
+<text text-anchor="start" x="1154.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node15->Node16 -->
<g id="edge15" class="edge">
<title>Node15->Node16</title>
-<path fill="none" stroke="midnightblue" d="M1237.5,-194.14C1237.5,-168.35 1237.5,-140.17 1237.5,-118.2"/>
-<polygon fill="none" stroke="midnightblue" points="1234,-194.26 1237.5,-204.26 1241,-194.26 1234,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M1218.5,-199.72C1218.5,-167.95 1218.5,-131.45 1218.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="1215,-199.85 1218.5,-209.85 1222,-199.85 1215,-199.85"/>
</g>
<!-- Node18 -->
<g id="node18" class="node">
<title>Node18</title>
-<g id="a_node18"><a xlink:href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_top" xlink:title="Attributes used in call_inplace_packed.">
-<polygon fill="white" stroke="black" points="1332,-44.5 1332,-112.5 1493,-112.5 1493,-44.5 1332,-44.5"/>
-<text text-anchor="start" x="1340" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallInplacePacked</text>
-<text text-anchor="middle" x="1412.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="1332,-82.5 1493,-82.5 "/>
-<text text-anchor="start" x="1340" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ inplace_indices</text>
-<polyline fill="none" stroke="black" points="1332,-63.5 1493,-63.5 "/>
-<text text-anchor="start" x="1340" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node18"><a xlink:href="structtvm_1_1relax_1_1DistributionAttrs.html" target="_top" xlink:title="Attributes for redistribute and annotate_sharding operator.">
+<polygon fill="white" stroke="black" points="1330.5,-39 1330.5,-118 1474.5,-118 1474.5,-39 1330.5,-39"/>
+<text text-anchor="start" x="1338.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Distribution</text>
+<text text-anchor="middle" x="1402.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="1330.5,-88 1474.5,-88 "/>
+<text text-anchor="start" x="1338.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_mesh</text>
+<text text-anchor="start" x="1338.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ placement</text>
+<polyline fill="none" stroke="black" points="1330.5,-58 1474.5,-58 "/>
+<text text-anchor="start" x="1338.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node17->Node18 -->
<g id="edge17" class="edge">
<title>Node17->Node18</title>
-<path fill="none" stroke="midnightblue" d="M1413.12,-194.07C1412.97,-166.01 1412.8,-135.13 1412.68,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="1409.62,-194.28 1413.17,-204.26 1416.62,-194.24 1409.62,-194.28"/>
+<path fill="none" stroke="midnightblue" d="M1402.5,-194.14C1402.5,-168.35 1402.5,-140.17 1402.5,-118.2"/>
+<polygon fill="none" stroke="midnightblue" points="1399,-194.26 1402.5,-204.26 1406,-194.26 1399,-194.26"/>
</g>
<!-- Node20 -->
<g id="node20" class="node">
<title>Node20</title>
-<g id="a_node20"><a xlink:href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_top" xlink:title="Attributes used in Attention operator.">
-<polygon fill="white" stroke="black" points="1511.5,-39 1511.5,-118 1655.5,-118 1655.5,-39 1511.5,-39"/>
-<text text-anchor="middle" x="1583.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttentionAttrs</text>
-<polyline fill="none" stroke="black" points="1511.5,-99 1655.5,-99 "/>
-<text text-anchor="start" x="1519.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
-<text text-anchor="start" x="1519.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ causal_mask</text>
-<text text-anchor="start" x="1519.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ window_size</text>
-<polyline fill="none" stroke="black" points="1511.5,-58 1655.5,-58 "/>
-<text text-anchor="start" x="1519.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node20"><a xlink:href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_top" xlink:title="Attributes used in call_inplace_packed.">
+<polygon fill="white" stroke="black" points="1497,-44.5 1497,-112.5 1658,-112.5 1658,-44.5 1497,-44.5"/>
+<text text-anchor="start" x="1505" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallInplacePacked</text>
+<text text-anchor="middle" x="1577.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="1497,-82.5 1658,-82.5 "/>
+<text text-anchor="start" x="1505" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ inplace_indices</text>
+<polyline fill="none" stroke="black" points="1497,-63.5 1658,-63.5 "/>
+<text text-anchor="start" x="1505" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node19->Node20 -->
<g id="edge19" class="edge">
<title>Node19->Node20</title>
-<path fill="none" stroke="midnightblue" d="M1583.5,-194.14C1583.5,-168.35 1583.5,-140.17 1583.5,-118.2"/>
-<polygon fill="none" stroke="midnightblue" points="1580,-194.26 1583.5,-204.26 1587,-194.26 1580,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M1578.12,-194.07C1577.97,-166.01 1577.8,-135.13 1577.68,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="1574.62,-194.28 1578.17,-204.26 1581.62,-194.24 1574.62,-194.28"/>
</g>
<!-- Node22 -->
<g id="node22" class="node">
<title>Node22</title>
-<g id="a_node22"><a xlink:href="structtvm_1_1relax_1_1AllReduceAttrs.html" target="_top" xlink:title="Attributes used in allreduce operators.">
-<polygon fill="white" stroke="black" points="1678,-44.5 1678,-112.5 1823,-112.5 1823,-44.5 1678,-44.5"/>
-<text text-anchor="middle" x="1750.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllReduceAttrs</text>
-<polyline fill="none" stroke="black" points="1678,-93.5 1823,-93.5 "/>
-<text text-anchor="start" x="1686" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ op_type</text>
-<text text-anchor="start" x="1686" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ in_group</text>
-<polyline fill="none" stroke="black" points="1678,-63.5 1823,-63.5 "/>
-<text text-anchor="start" x="1686" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node22"><a xlink:href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_top" xlink:title="Attributes used in Attention operator.">
+<polygon fill="white" stroke="black" points="1676.5,-39 1676.5,-118 1820.5,-118 1820.5,-39 1676.5,-39"/>
+<text text-anchor="middle" x="1748.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttentionAttrs</text>
+<polyline fill="none" stroke="black" points="1676.5,-99 1820.5,-99 "/>
+<text text-anchor="start" x="1684.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
+<text text-anchor="start" x="1684.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ causal_mask</text>
+<text text-anchor="start" x="1684.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ window_size</text>
+<polyline fill="none" stroke="black" points="1676.5,-58 1820.5,-58 "/>
+<text text-anchor="start" x="1684.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node21->Node22 -->
<g id="edge21" class="edge">
<title>Node21->Node22</title>
-<path fill="none" stroke="midnightblue" d="M1750.5,-194.07C1750.5,-166.01 1750.5,-135.13 1750.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="1747,-194.26 1750.5,-204.26 1754,-194.26 1747,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M1748.5,-194.14C1748.5,-168.35 1748.5,-140.17 1748.5,-118.2"/>
+<polygon fill="none" stroke="midnightblue" points="1745,-194.26 1748.5,-204.26 1752,-194.26 1745,-194.26"/>
</g>
<!-- Node24 -->
<g id="node24" class="node">
<title>Node24</title>
-<g id="a_node24"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_top" xlink:title="Attributes for 2d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="1845.5,-33.5 1845.5,-123.5 1989.5,-123.5 1989.5,-33.5 1845.5,-33.5"/>
-<text text-anchor="start" x="1853.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool2</text>
-<text text-anchor="middle" x="1917.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
-<polyline fill="none" stroke="black" points="1845.5,-93.5 1989.5,-93.5 "/>
-<text text-anchor="start" x="1853.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
-<text text-anchor="start" x="1853.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="1853.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="1845.5,-52.5 1989.5,-52.5 "/>
-<text text-anchor="start" x="1853.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node24"><a xlink:href="structtvm_1_1relax_1_1AllReduceAttrs.html" target="_top" xlink:title="Attributes used in allreduce operators.">
+<polygon fill="white" stroke="black" points="1843,-44.5 1843,-112.5 1988,-112.5 1988,-44.5 1843,-44.5"/>
+<text text-anchor="middle" x="1915.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllReduceAttrs</text>
+<polyline fill="none" stroke="black" points="1843,-93.5 1988,-93.5 "/>
+<text text-anchor="start" x="1851" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ op_type</text>
+<text text-anchor="start" x="1851" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ in_group</text>
+<polyline fill="none" stroke="black" points="1843,-63.5 1988,-63.5 "/>
+<text text-anchor="start" x="1851" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node23->Node24 -->
<g id="edge23" class="edge">
<title>Node23->Node24</title>
-<path fill="none" stroke="midnightblue" d="M1917.5,-194.23C1917.5,-170.49 1917.5,-144.71 1917.5,-123.61"/>
-<polygon fill="none" stroke="midnightblue" points="1914,-194.26 1917.5,-204.26 1921,-194.26 1914,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M1915.5,-194.07C1915.5,-166.01 1915.5,-135.13 1915.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="1912,-194.26 1915.5,-204.26 1919,-194.26 1912,-194.26"/>
</g>
<!-- Node26 -->
<g id="node26" class="node">
<title>Node26</title>
-<g id="a_node26"><a xlink:href="structtvm_1_1relax_1_1ScatterNDAttrs.html" target="_top" xlink:title="Attributes used in scatter_nd operators.">
-<polygon fill="white" stroke="black" points="2028.5,-50 2028.5,-107 2174.5,-107 2174.5,-50 2028.5,-50"/>
-<text text-anchor="middle" x="2101.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterNDAttrs</text>
-<polyline fill="none" stroke="black" points="2028.5,-88 2174.5,-88 "/>
-<text text-anchor="start" x="2036.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ reduction</text>
-<polyline fill="none" stroke="black" points="2028.5,-69 2174.5,-69 "/>
-<text text-anchor="start" x="2036.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node26"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_top" xlink:title="Attributes for 2d adaptive pool operator.">
+<polygon fill="white" stroke="black" points="2010.5,-33.5 2010.5,-123.5 2154.5,-123.5 2154.5,-33.5 2010.5,-33.5"/>
+<text text-anchor="start" x="2018.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool2</text>
+<text text-anchor="middle" x="2082.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polyline fill="none" stroke="black" points="2010.5,-93.5 2154.5,-93.5 "/>
+<text text-anchor="start" x="2018.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
+<text text-anchor="start" x="2018.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="2018.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="2010.5,-52.5 2154.5,-52.5 "/>
+<text text-anchor="start" x="2018.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node25->Node26 -->
<g id="edge25" class="edge">
<title>Node25->Node26</title>
-<path fill="none" stroke="midnightblue" d="M2101.5,-199.72C2101.5,-167.95 2101.5,-131.45 2101.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="2098,-199.85 2101.5,-209.85 2105,-199.85 2098,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M2082.5,-194.23C2082.5,-170.49 2082.5,-144.71 2082.5,-123.61"/>
+<polygon fill="none" stroke="midnightblue" points="2079,-194.26 2082.5,-204.26 2086,-194.26 2079,-194.26"/>
</g>
<!-- Node28 -->
<g id="node28" class="node">
<title>Node28</title>
-<g id="a_node28"><a xlink:href="structtvm_1_1relax_1_1InitAttrs.html" target="_top" xlink:title="Attributes used in full/full_like, ones/ones_like, and zeros/zeros_like operators.">
-<polygon fill="white" stroke="black" points="2216.5,-50 2216.5,-107 2360.5,-107 2360.5,-50 2216.5,-50"/>
-<text text-anchor="middle" x="2288.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
-<polyline fill="none" stroke="black" points="2216.5,-88 2360.5,-88 "/>
-<text text-anchor="start" x="2224.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<polyline fill="none" stroke="black" points="2216.5,-69 2360.5,-69 "/>
-<text text-anchor="start" x="2224.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node28"><a xlink:href="structtvm_1_1relax_1_1ScatterNDAttrs.html" target="_top" xlink:title="Attributes used in scatter_nd operators.">
+<polygon fill="white" stroke="black" points="2193.5,-50 2193.5,-107 2339.5,-107 2339.5,-50 2193.5,-50"/>
+<text text-anchor="middle" x="2266.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterNDAttrs</text>
+<polyline fill="none" stroke="black" points="2193.5,-88 2339.5,-88 "/>
+<text text-anchor="start" x="2201.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ reduction</text>
+<polyline fill="none" stroke="black" points="2193.5,-69 2339.5,-69 "/>
+<text text-anchor="start" x="2201.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node27->Node28 -->
<g id="edge27" class="edge">
<title>Node27->Node28</title>
-<path fill="none" stroke="midnightblue" d="M2288.5,-199.72C2288.5,-167.95 2288.5,-131.45 2288.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="2285,-199.85 2288.5,-209.85 2292,-199.85 2285,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M2266.5,-199.72C2266.5,-167.95 2266.5,-131.45 2266.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="2263,-199.85 2266.5,-209.85 2270,-199.85 2263,-199.85"/>
</g>
<!-- Node30 -->
<g id="node30" class="node">
<title>Node30</title>
-<g id="a_node30"><a xlink:href="structtvm_1_1relax_1_1FlipAttrs.html" target="_top" xlink:title="Attributes used in flip operators.">
-<polygon fill="white" stroke="black" points="2388.5,-50 2388.5,-107 2532.5,-107 2532.5,-50 2388.5,-50"/>
-<text text-anchor="middle" x="2460.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
-<polyline fill="none" stroke="black" points="2388.5,-88 2532.5,-88 "/>
-<text text-anchor="start" x="2396.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="2388.5,-69 2532.5,-69 "/>
-<text text-anchor="start" x="2396.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node30"><a xlink:href="structtvm_1_1relax_1_1InitAttrs.html" target="_top" xlink:title="Attributes used in full/full_like, ones/ones_like, and zeros/zeros_like operators.">
+<polygon fill="white" stroke="black" points="2381.5,-50 2381.5,-107 2525.5,-107 2525.5,-50 2381.5,-50"/>
+<text text-anchor="middle" x="2453.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
+<polyline fill="none" stroke="black" points="2381.5,-88 2525.5,-88 "/>
+<text text-anchor="start" x="2389.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="2381.5,-69 2525.5,-69 "/>
+<text text-anchor="start" x="2389.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node29->Node30 -->
<g id="edge29" class="edge">
<title>Node29->Node30</title>
-<path fill="none" stroke="midnightblue" d="M2460.5,-199.72C2460.5,-167.95 2460.5,-131.45 2460.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="2457,-199.85 2460.5,-209.85 2464,-199.85 2457,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M2453.5,-199.72C2453.5,-167.95 2453.5,-131.45 2453.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="2450,-199.85 2453.5,-209.85 2457,-199.85 2450,-199.85"/>
</g>
<!-- Node32 -->
<g id="node32" class="node">
<title>Node32</title>
-<g id="a_node32"><a xlink:href="structtvm_1_1relax_1_1AllGatherAttrs.html" target="_top" xlink:title="Attributes used in allgather operators.">
-<polygon fill="white" stroke="black" points="2558.5,-44.5 2558.5,-112.5 2702.5,-112.5 2702.5,-44.5 2558.5,-44.5"/>
-<text text-anchor="middle" x="2630.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllGatherAttrs</text>
-<polyline fill="none" stroke="black" points="2558.5,-93.5 2702.5,-93.5 "/>
-<text text-anchor="start" x="2566.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ num_workers</text>
-<text text-anchor="start" x="2566.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ in_group</text>
-<polyline fill="none" stroke="black" points="2558.5,-63.5 2702.5,-63.5 "/>
-<text text-anchor="start" x="2566.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node32"><a xlink:href="structtvm_1_1relax_1_1FlipAttrs.html" target="_top" xlink:title="Attributes used in flip operators.">
+<polygon fill="white" stroke="black" points="2553.5,-50 2553.5,-107 2697.5,-107 2697.5,-50 2553.5,-50"/>
+<text text-anchor="middle" x="2625.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
+<polyline fill="none" stroke="black" points="2553.5,-88 2697.5,-88 "/>
+<text text-anchor="start" x="2561.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="2553.5,-69 2697.5,-69 "/>
+<text text-anchor="start" x="2561.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node31->Node32 -->
<g id="edge31" class="edge">
<title>Node31->Node32</title>
-<path fill="none" stroke="midnightblue" d="M2630.5,-194.07C2630.5,-166.01 2630.5,-135.13 2630.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="2627,-194.26 2630.5,-204.26 2634,-194.26 2627,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M2625.5,-199.72C2625.5,-167.95 2625.5,-131.45 2625.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="2622,-199.85 2625.5,-209.85 2629,-199.85 2622,-199.85"/>
</g>
<!-- Node34 -->
<g id="node34" class="node">
<title>Node34</title>
-<g id="a_node34"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="2723.5,-33.5 2723.5,-123.5 2867.5,-123.5 2867.5,-33.5 2723.5,-33.5"/>
-<text text-anchor="start" x="2731.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
-<text text-anchor="middle" x="2795.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<g id="a_node34"><a xlink:href="structtvm_1_1relax_1_1AllGatherAttrs.html" target="_top" xlink:title="Attributes used in allgather operators.">
+<polygon fill="white" stroke="black" points="2723.5,-44.5 2723.5,-112.5 2867.5,-112.5 2867.5,-44.5 2723.5,-44.5"/>
+<text text-anchor="middle" x="2795.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllGatherAttrs</text>
<polyline fill="none" stroke="black" points="2723.5,-93.5 2867.5,-93.5 "/>
-<text text-anchor="start" x="2731.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
-<text text-anchor="start" x="2731.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="2731.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="2723.5,-52.5 2867.5,-52.5 "/>
-<text text-anchor="start" x="2731.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<text text-anchor="start" x="2731.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ num_workers</text>
+<text text-anchor="start" x="2731.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ in_group</text>
+<polyline fill="none" stroke="black" points="2723.5,-63.5 2867.5,-63.5 "/>
+<text text-anchor="start" x="2731.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node33->Node34 -->
<g id="edge33" class="edge">
<title>Node33->Node34</title>
-<path fill="none" stroke="midnightblue" d="M2795.5,-194.23C2795.5,-170.49 2795.5,-144.71 2795.5,-123.61"/>
+<path fill="none" stroke="midnightblue" d="M2795.5,-194.07C2795.5,-166.01 2795.5,-135.13 2795.5,-112.51"/>
<polygon fill="none" stroke="midnightblue" points="2792,-194.26 2795.5,-204.26 2799,-194.26 2792,-194.26"/>
</g>
<!-- Node36 -->
<g id="node36" class="node">
<title>Node36</title>
-<g id="a_node36"><a xlink:href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_top" xlink:title="Attributes used in to_vdevice.">
-<polygon fill="white" stroke="black" points="2890,-50 2890,-107 3037,-107 3037,-50 2890,-50"/>
-<text text-anchor="middle" x="2963.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ToVDeviceAttrs</text>
-<polyline fill="none" stroke="black" points="2890,-88 3037,-88 "/>
-<text text-anchor="start" x="2898" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dst_vdevice</text>
-<polyline fill="none" stroke="black" points="2890,-69 3037,-69 "/>
-<text text-anchor="start" x="2898" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node36"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
+<polygon fill="white" stroke="black" points="2888.5,-33.5 2888.5,-123.5 3032.5,-123.5 3032.5,-33.5 2888.5,-33.5"/>
+<text text-anchor="start" x="2896.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
+<text text-anchor="middle" x="2960.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polyline fill="none" stroke="black" points="2888.5,-93.5 3032.5,-93.5 "/>
+<text text-anchor="start" x="2896.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
+<text text-anchor="start" x="2896.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="2896.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="2888.5,-52.5 3032.5,-52.5 "/>
+<text text-anchor="start" x="2896.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node35->Node36 -->
<g id="edge35" class="edge">
<title>Node35->Node36</title>
-<path fill="none" stroke="midnightblue" d="M2963.5,-194.11C2963.5,-163.76 2963.5,-130.08 2963.5,-107.14"/>
-<polygon fill="none" stroke="midnightblue" points="2960,-194.26 2963.5,-204.26 2967,-194.26 2960,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M2960.5,-194.23C2960.5,-170.49 2960.5,-144.71 2960.5,-123.61"/>
+<polygon fill="none" stroke="midnightblue" points="2957,-194.26 2960.5,-204.26 2964,-194.26 2957,-194.26"/>
</g>
<!-- Node38 -->
<g id="node38" class="node">
<title>Node38</title>
-<g id="a_node38"><a xlink:href="structtvm_1_1relax_1_1IndexPutAttrs.html" target="_top" xlink:title="Attributes used in index_put operator.">
-<polygon fill="white" stroke="black" points="3058.5,-50 3058.5,-107 3202.5,-107 3202.5,-50 3058.5,-50"/>
-<text text-anchor="middle" x="3130.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IndexPutAttrs</text>
-<polyline fill="none" stroke="black" points="3058.5,-88 3202.5,-88 "/>
-<text text-anchor="start" x="3066.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ accumulate</text>
-<polyline fill="none" stroke="black" points="3058.5,-69 3202.5,-69 "/>
-<text text-anchor="start" x="3066.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node38"><a xlink:href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_top" xlink:title="Attributes used in to_vdevice.">
+<polygon fill="white" stroke="black" points="3055,-50 3055,-107 3202,-107 3202,-50 3055,-50"/>
+<text text-anchor="middle" x="3128.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ToVDeviceAttrs</text>
+<polyline fill="none" stroke="black" points="3055,-88 3202,-88 "/>
+<text text-anchor="start" x="3063" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dst_vdevice</text>
+<polyline fill="none" stroke="black" points="3055,-69 3202,-69 "/>
+<text text-anchor="start" x="3063" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node37->Node38 -->
<g id="edge37" class="edge">
<title>Node37->Node38</title>
-<path fill="none" stroke="midnightblue" d="M3130.5,-194.11C3130.5,-163.76 3130.5,-130.08 3130.5,-107.14"/>
-<polygon fill="none" stroke="midnightblue" points="3127,-194.26 3130.5,-204.26 3134,-194.26 3127,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M3128.5,-194.11C3128.5,-163.76 3128.5,-130.08 3128.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="3125,-194.26 3128.5,-204.26 3132,-194.26 3125,-194.26"/>
</g>
<!-- Node40 -->
<g id="node40" class="node">
<title>Node40</title>
-<g id="a_node40"><a xlink:href="structtvm_1_1relax_1_1ExpandDimsAttrs.html" target="_top" xlink:title="Attributes used in expand_dims operators.">
-<polygon fill="white" stroke="black" points="3224.5,-50 3224.5,-107 3382.5,-107 3382.5,-50 3224.5,-50"/>
-<text text-anchor="middle" x="3303.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExpandDimsAttrs</text>
-<polyline fill="none" stroke="black" points="3224.5,-88 3382.5,-88 "/>
-<text text-anchor="start" x="3232.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="3224.5,-69 3382.5,-69 "/>
-<text text-anchor="start" x="3232.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node40"><a xlink:href="structtvm_1_1relax_1_1IndexPutAttrs.html" target="_top" xlink:title="Attributes used in index_put operator.">
+<polygon fill="white" stroke="black" points="3223.5,-50 3223.5,-107 3367.5,-107 3367.5,-50 3223.5,-50"/>
+<text text-anchor="middle" x="3295.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IndexPutAttrs</text>
+<polyline fill="none" stroke="black" points="3223.5,-88 3367.5,-88 "/>
+<text text-anchor="start" x="3231.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ accumulate</text>
+<polyline fill="none" stroke="black" points="3223.5,-69 3367.5,-69 "/>
+<text text-anchor="start" x="3231.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node39->Node40 -->
<g id="edge39" class="edge">
<title>Node39->Node40</title>
-<path fill="none" stroke="midnightblue" d="M3303.5,-194.11C3303.5,-163.76 3303.5,-130.08 3303.5,-107.14"/>
-<polygon fill="none" stroke="midnightblue" points="3300,-194.26 3303.5,-204.26 3307,-194.26 3300,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M3295.5,-194.11C3295.5,-163.76 3295.5,-130.08 3295.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="3292,-194.26 3295.5,-204.26 3299,-194.26 3292,-194.26"/>
</g>
<!-- Node42 -->
<g id="node42" class="node">
<title>Node42</title>
-<g id="a_node42"><a xlink:href="structtvm_1_1relax_1_1ConcatAttrs.html" target="_top" xlink:title="Attributes used in concat operators.">
-<polygon fill="white" stroke="black" points="3416.5,-50 3416.5,-107 3560.5,-107 3560.5,-50 3416.5,-50"/>
-<text text-anchor="middle" x="3488.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConcatAttrs</text>
-<polyline fill="none" stroke="black" points="3416.5,-88 3560.5,-88 "/>
-<text text-anchor="start" x="3424.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="3416.5,-69 3560.5,-69 "/>
-<text text-anchor="start" x="3424.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node42"><a xlink:href="structtvm_1_1relax_1_1ExpandDimsAttrs.html" target="_top" xlink:title="Attributes used in expand_dims operators.">
+<polygon fill="white" stroke="black" points="3389.5,-50 3389.5,-107 3547.5,-107 3547.5,-50 3389.5,-50"/>
+<text text-anchor="middle" x="3468.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExpandDimsAttrs</text>
+<polyline fill="none" stroke="black" points="3389.5,-88 3547.5,-88 "/>
+<text text-anchor="start" x="3397.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="3389.5,-69 3547.5,-69 "/>
+<text text-anchor="start" x="3397.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node41->Node42 -->
<g id="edge41" class="edge">
<title>Node41->Node42</title>
-<path fill="none" stroke="midnightblue" d="M3488.5,-199.72C3488.5,-167.95 3488.5,-131.45 3488.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="3485,-199.85 3488.5,-209.85 3492,-199.85 3485,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M3468.5,-194.11C3468.5,-163.76 3468.5,-130.08 3468.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="3465,-194.26 3468.5,-204.26 3472,-194.26 3465,-194.26"/>
</g>
<!-- Node44 -->
<g id="node44" class="node">
<title>Node44</title>
-<g id="a_node44"><a xlink:href="structtvm_1_1relax_1_1TriluAttrs.html" target="_top" xlink:title="Attributes used in tril and triu operator.">
-<polygon fill="white" stroke="black" points="3598.5,-50 3598.5,-107 3742.5,-107 3742.5,-50 3598.5,-50"/>
-<text text-anchor="middle" x="3670.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TriluAttrs</text>
-<polyline fill="none" stroke="black" points="3598.5,-88 3742.5,-88 "/>
-<text text-anchor="start" x="3606.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ k</text>
-<polyline fill="none" stroke="black" points="3598.5,-69 3742.5,-69 "/>
-<text text-anchor="start" x="3606.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node44"><a xlink:href="structtvm_1_1relax_1_1ConcatAttrs.html" target="_top" xlink:title="Attributes used in concat operators.">
+<polygon fill="white" stroke="black" points="3581.5,-50 3581.5,-107 3725.5,-107 3725.5,-50 3581.5,-50"/>
+<text text-anchor="middle" x="3653.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConcatAttrs</text>
+<polyline fill="none" stroke="black" points="3581.5,-88 3725.5,-88 "/>
+<text text-anchor="start" x="3589.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="3581.5,-69 3725.5,-69 "/>
+<text text-anchor="start" x="3589.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node43->Node44 -->
<g id="edge43" class="edge">
<title>Node43->Node44</title>
-<path fill="none" stroke="midnightblue" d="M3670.5,-199.72C3670.5,-167.95 3670.5,-131.45 3670.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="3667,-199.85 3670.5,-209.85 3674,-199.85 3667,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M3653.5,-199.72C3653.5,-167.95 3653.5,-131.45 3653.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="3650,-199.85 3653.5,-209.85 3657,-199.85 3650,-199.85"/>
</g>
<!-- Node46 -->
<g id="node46" class="node">
<title>Node46</title>
-<g id="a_node46"><a xlink:href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
-<polygon fill="white" stroke="black" points="3783.5,-50 3783.5,-107 3927.5,-107 3927.5,-50 3783.5,-50"/>
-<text text-anchor="middle" x="3855.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftmaxAttrs</text>
-<polyline fill="none" stroke="black" points="3783.5,-88 3927.5,-88 "/>
-<text text-anchor="start" x="3791.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="3783.5,-69 3927.5,-69 "/>
-<text text-anchor="start" x="3791.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node46"><a xlink:href="structtvm_1_1relax_1_1TriluAttrs.html" target="_top" xlink:title="Attributes used in tril and triu operator.">
+<polygon fill="white" stroke="black" points="3763.5,-50 3763.5,-107 3907.5,-107 3907.5,-50 3763.5,-50"/>
+<text text-anchor="middle" x="3835.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TriluAttrs</text>
+<polyline fill="none" stroke="black" points="3763.5,-88 3907.5,-88 "/>
+<text text-anchor="start" x="3771.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ k</text>
+<polyline fill="none" stroke="black" points="3763.5,-69 3907.5,-69 "/>
+<text text-anchor="start" x="3771.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node45->Node46 -->
<g id="edge45" class="edge">
<title>Node45->Node46</title>
-<path fill="none" stroke="midnightblue" d="M3855.5,-199.72C3855.5,-167.95 3855.5,-131.45 3855.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="3852,-199.85 3855.5,-209.85 3859,-199.85 3852,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M3835.5,-199.72C3835.5,-167.95 3835.5,-131.45 3835.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="3832,-199.85 3835.5,-209.85 3839,-199.85 3832,-199.85"/>
</g>
<!-- Node48 -->
<g id="node48" class="node">
<title>Node48</title>
-<g id="a_node48"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_top" xlink:title="Attributes for 1d adaptive pool operator.">
-<polygon fill="white" stroke="black" points="3963.5,-33.5 3963.5,-123.5 4107.5,-123.5 4107.5,-33.5 3963.5,-33.5"/>
-<text text-anchor="start" x="3971.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool1</text>
-<text text-anchor="middle" x="4035.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
-<polyline fill="none" stroke="black" points="3963.5,-93.5 4107.5,-93.5 "/>
-<text text-anchor="start" x="3971.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
-<text text-anchor="start" x="3971.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="3971.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="3963.5,-52.5 4107.5,-52.5 "/>
-<text text-anchor="start" x="3971.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node48"><a xlink:href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
+<polygon fill="white" stroke="black" points="3948.5,-50 3948.5,-107 4092.5,-107 4092.5,-50 3948.5,-50"/>
+<text text-anchor="middle" x="4020.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftmaxAttrs</text>
+<polyline fill="none" stroke="black" points="3948.5,-88 4092.5,-88 "/>
+<text text-anchor="start" x="3956.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="3948.5,-69 4092.5,-69 "/>
+<text text-anchor="start" x="3956.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node47->Node48 -->
<g id="edge47" class="edge">
<title>Node47->Node48</title>
-<path fill="none" stroke="midnightblue" d="M4035.5,-194.23C4035.5,-170.49 4035.5,-144.71 4035.5,-123.61"/>
-<polygon fill="none" stroke="midnightblue" points="4032,-194.26 4035.5,-204.26 4039,-194.26 4032,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M4020.5,-199.72C4020.5,-167.95 4020.5,-131.45 4020.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="4017,-199.85 4020.5,-209.85 4024,-199.85 4017,-199.85"/>
</g>
<!-- Node50 -->
<g id="node50" class="node">
<title>Node50</title>
-<g id="a_node50"><a xlink:href="structtvm_1_1relax_1_1SoftplusAttrs.html" target="_top" xlink:title="Attributes used in softplus operators.">
-<polygon fill="white" stroke="black" points="4125.5,-44.5 4125.5,-112.5 4269.5,-112.5 4269.5,-44.5 4125.5,-44.5"/>
-<text text-anchor="middle" x="4197.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftplusAttrs</text>
-<polyline fill="none" stroke="black" points="4125.5,-93.5 4269.5,-93.5 "/>
-<text text-anchor="start" x="4133.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ beta</text>
-<text text-anchor="start" x="4133.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ threshold</text>
-<polyline fill="none" stroke="black" points="4125.5,-63.5 4269.5,-63.5 "/>
-<text text-anchor="start" x="4133.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node50"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_top" xlink:title="Attributes for 1d adaptive pool operator.">
+<polygon fill="white" stroke="black" points="4128.5,-33.5 4128.5,-123.5 4272.5,-123.5 4272.5,-33.5 4128.5,-33.5"/>
+<text text-anchor="start" x="4136.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool1</text>
+<text text-anchor="middle" x="4200.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polyline fill="none" stroke="black" points="4128.5,-93.5 4272.5,-93.5 "/>
+<text text-anchor="start" x="4136.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_size</text>
+<text text-anchor="start" x="4136.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="4136.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="4128.5,-52.5 4272.5,-52.5 "/>
+<text text-anchor="start" x="4136.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node49->Node50 -->
<g id="edge49" class="edge">
<title>Node49->Node50</title>
-<path fill="none" stroke="midnightblue" d="M4197.5,-194.07C4197.5,-166.01 4197.5,-135.13 4197.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="4194,-194.26 4197.5,-204.26 4201,-194.26 4194,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M4200.5,-194.23C4200.5,-170.49 4200.5,-144.71 4200.5,-123.61"/>
+<polygon fill="none" stroke="midnightblue" points="4197,-194.26 4200.5,-204.26 4204,-194.26 4197,-194.26"/>
</g>
<!-- Node52 -->
<g id="node52" class="node">
<title>Node52</title>
-<g id="a_node52"><a xlink:href="structtvm_1_1relax_1_1MatmulAttrs.html" target="_top" xlink:title="Attributes for matmul operator.">
-<polygon fill="white" stroke="black" points="4301.5,-50 4301.5,-107 4445.5,-107 4445.5,-50 4301.5,-50"/>
-<text text-anchor="middle" x="4373.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatmulAttrs</text>
-<polyline fill="none" stroke="black" points="4301.5,-88 4445.5,-88 "/>
-<text text-anchor="start" x="4309.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="4301.5,-69 4445.5,-69 "/>
-<text text-anchor="start" x="4309.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node52"><a xlink:href="structtvm_1_1relax_1_1SoftplusAttrs.html" target="_top" xlink:title="Attributes used in softplus operators.">
+<polygon fill="white" stroke="black" points="4290.5,-44.5 4290.5,-112.5 4434.5,-112.5 4434.5,-44.5 4290.5,-44.5"/>
+<text text-anchor="middle" x="4362.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftplusAttrs</text>
+<polyline fill="none" stroke="black" points="4290.5,-93.5 4434.5,-93.5 "/>
+<text text-anchor="start" x="4298.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ beta</text>
+<text text-anchor="start" x="4298.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ threshold</text>
+<polyline fill="none" stroke="black" points="4290.5,-63.5 4434.5,-63.5 "/>
+<text text-anchor="start" x="4298.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node51->Node52 -->
<g id="edge51" class="edge">
<title>Node51->Node52</title>
-<path fill="none" stroke="midnightblue" d="M4373.5,-199.72C4373.5,-167.95 4373.5,-131.45 4373.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="4370,-199.85 4373.5,-209.85 4377,-199.85 4370,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M4362.5,-194.07C4362.5,-166.01 4362.5,-135.13 4362.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="4359,-194.26 4362.5,-204.26 4366,-194.26 4359,-194.26"/>
</g>
<!-- Node54 -->
<g id="node54" class="node">
<title>Node54</title>
-<g id="a_node54"><a xlink:href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_top" xlink:title="Attributes for search operators.">
-<polygon fill="white" stroke="black" points="4493.5,-39 4493.5,-118 4639.5,-118 4639.5,-39 4493.5,-39"/>
-<text text-anchor="start" x="4501.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgmaxArgmin</text>
-<text text-anchor="middle" x="4566.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="4493.5,-88 4639.5,-88 "/>
-<text text-anchor="start" x="4501.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="4501.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ keepdims</text>
-<polyline fill="none" stroke="black" points="4493.5,-58 4639.5,-58 "/>
-<text text-anchor="start" x="4501.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node54"><a xlink:href="structtvm_1_1relax_1_1MatmulAttrs.html" target="_top" xlink:title="Attributes for matmul operator.">
+<polygon fill="white" stroke="black" points="4466.5,-50 4466.5,-107 4610.5,-107 4610.5,-50 4466.5,-50"/>
+<text text-anchor="middle" x="4538.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatmulAttrs</text>
+<polyline fill="none" stroke="black" points="4466.5,-88 4610.5,-88 "/>
+<text text-anchor="start" x="4474.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="4466.5,-69 4610.5,-69 "/>
+<text text-anchor="start" x="4474.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node53->Node54 -->
<g id="edge53" class="edge">
<title>Node53->Node54</title>
-<path fill="none" stroke="midnightblue" d="M4566.5,-194.14C4566.5,-168.35 4566.5,-140.17 4566.5,-118.2"/>
-<polygon fill="none" stroke="midnightblue" points="4563,-194.26 4566.5,-204.26 4570,-194.26 4563,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M4538.5,-199.72C4538.5,-167.95 4538.5,-131.45 4538.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="4535,-199.85 4538.5,-209.85 4542,-199.85 4535,-199.85"/>
</g>
<!-- Node56 -->
<g id="node56" class="node">
<title>Node56</title>
-<g id="a_node56"><a xlink:href="structtvm_1_1relax_1_1Resize2DAttrs.html" target="_top" xlink:title="Attributes used in image resize2d operator.">
-<polygon fill="white" stroke="black" points="4668,-6 4668,-151 4859,-151 4859,-6 4668,-6"/>
-<text text-anchor="middle" x="4763.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize2DAttrs</text>
-<polyline fill="none" stroke="black" points="4668,-132 4859,-132 "/>
-<text text-anchor="start" x="4676" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00">+ roi</text>
-<text text-anchor="start" x="4676" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="4676" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ method</text>
-<text text-anchor="start" x="4676" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ coordinate_transformation_mode</text>
-<text text-anchor="start" x="4676" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ rounding_method</text>
-<text text-anchor="start" x="4676" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_alpha</text>
-<text text-anchor="start" x="4676" y="-54" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_exclude</text>
-<text text-anchor="start" x="4676" y="-43" font-family="Helvetica,sans-Serif" font-size="10.00">+ extrapolation_value</text>
-<text text-anchor="start" x="4676" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="4668,-25 4859,-25 "/>
-<text text-anchor="start" x="4676" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node56"><a xlink:href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_top" xlink:title="Attributes for search operators.">
+<polygon fill="white" stroke="black" points="4658.5,-39 4658.5,-118 4804.5,-118 4804.5,-39 4658.5,-39"/>
+<text text-anchor="start" x="4666.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgmaxArgmin</text>
+<text text-anchor="middle" x="4731.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="4658.5,-88 4804.5,-88 "/>
+<text text-anchor="start" x="4666.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="4666.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ keepdims</text>
+<polyline fill="none" stroke="black" points="4658.5,-58 4804.5,-58 "/>
+<text text-anchor="start" x="4666.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node55->Node56 -->
<g id="edge55" class="edge">
<title>Node55->Node56</title>
-<path fill="none" stroke="midnightblue" d="M4763.5,-199.74C4763.5,-184.07 4763.5,-167.25 4763.5,-151.3"/>
-<polygon fill="none" stroke="midnightblue" points="4760,-199.85 4763.5,-209.85 4767,-199.85 4760,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M4731.5,-194.14C4731.5,-168.35 4731.5,-140.17 4731.5,-118.2"/>
+<polygon fill="none" stroke="midnightblue" points="4728,-194.26 4731.5,-204.26 4735,-194.26 4728,-194.26"/>
</g>
<!-- Node58 -->
<g id="node58" class="node">
<title>Node58</title>
-<g id="a_node58"><a xlink:href="structtvm_1_1relax_1_1Pool3DAttrs.html" target="_top" xlink:title="Attributes used in max_pool3d and avg_pool3d operator.">
-<polygon fill="white" stroke="black" points="4886.5,-11.5 4886.5,-145.5 5030.5,-145.5 5030.5,-11.5 4886.5,-11.5"/>
-<text text-anchor="middle" x="4958.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool3DAttrs</text>
-<polyline fill="none" stroke="black" points="4886.5,-126.5 5030.5,-126.5 "/>
-<text text-anchor="start" x="4894.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pool_size</text>
-<text text-anchor="start" x="4894.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="4894.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="4894.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="4894.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ceil_mode</text>
-<text text-anchor="start" x="4894.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ count_include_pad</text>
-<text text-anchor="start" x="4894.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="4894.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="4886.5,-30.5 5030.5,-30.5 "/>
-<text text-anchor="start" x="4894.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node58"><a xlink:href="structtvm_1_1relax_1_1Resize2DAttrs.html" target="_top" xlink:title="Attributes used in image resize2d operator.">
+<polygon fill="white" stroke="black" points="4833,-6 4833,-151 5024,-151 5024,-6 4833,-6"/>
+<text text-anchor="middle" x="4928.5" y="-139" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize2DAttrs</text>
+<polyline fill="none" stroke="black" points="4833,-132 5024,-132 "/>
+<text text-anchor="start" x="4841" y="-120" font-family="Helvetica,sans-Serif" font-size="10.00">+ roi</text>
+<text text-anchor="start" x="4841" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="4841" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ method</text>
+<text text-anchor="start" x="4841" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ coordinate_transformation_mode</text>
+<text text-anchor="start" x="4841" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ rounding_method</text>
+<text text-anchor="start" x="4841" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_alpha</text>
+<text text-anchor="start" x="4841" y="-54" font-family="Helvetica,sans-Serif" font-size="10.00">+ cubic_exclude</text>
+<text text-anchor="start" x="4841" y="-43" font-family="Helvetica,sans-Serif" font-size="10.00">+ extrapolation_value</text>
+<text text-anchor="start" x="4841" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="4833,-25 5024,-25 "/>
+<text text-anchor="start" x="4841" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node57->Node58 -->
<g id="edge57" class="edge">
<title>Node57->Node58</title>
-<path fill="none" stroke="midnightblue" d="M4958.5,-199.7C4958.5,-182.15 4958.5,-163.16 4958.5,-145.57"/>
-<polygon fill="none" stroke="midnightblue" points="4955,-199.85 4958.5,-209.85 4962,-199.85 4955,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M4928.5,-199.74C4928.5,-184.07 4928.5,-167.25 4928.5,-151.3"/>
+<polygon fill="none" stroke="midnightblue" points="4925,-199.85 4928.5,-209.85 4932,-199.85 4925,-199.85"/>
</g>
<!-- Node60 -->
<g id="node60" class="node">
<title>Node60</title>
-<g id="a_node60"><a xlink:href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_top" xlink:title="Attributes used in layer_norm operator.">
-<polygon fill="white" stroke="black" points="5065.5,-33.5 5065.5,-123.5 5215.5,-123.5 5215.5,-33.5 5065.5,-33.5"/>
-<text text-anchor="middle" x="5140.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayerNormAttrs</text>
-<polyline fill="none" stroke="black" points="5065.5,-104.5 5215.5,-104.5 "/>
-<text text-anchor="start" x="5073.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
-<text text-anchor="start" x="5073.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
-<text text-anchor="start" x="5073.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ center</text>
-<text text-anchor="start" x="5073.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
-<polyline fill="none" stroke="black" points="5065.5,-52.5 5215.5,-52.5 "/>
-<text text-anchor="start" x="5073.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node60"><a xlink:href="structtvm_1_1relax_1_1Pool3DAttrs.html" target="_top" xlink:title="Attributes used in max_pool3d and avg_pool3d operator.">
+<polygon fill="white" stroke="black" points="5051.5,-11.5 5051.5,-145.5 5195.5,-145.5 5195.5,-11.5 5051.5,-11.5"/>
+<text text-anchor="middle" x="5123.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool3DAttrs</text>
+<polyline fill="none" stroke="black" points="5051.5,-126.5 5195.5,-126.5 "/>
+<text text-anchor="start" x="5059.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pool_size</text>
+<text text-anchor="start" x="5059.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="5059.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="5059.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="5059.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ceil_mode</text>
+<text text-anchor="start" x="5059.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ count_include_pad</text>
+<text text-anchor="start" x="5059.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="5059.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="5051.5,-30.5 5195.5,-30.5 "/>
+<text text-anchor="start" x="5059.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node59->Node60 -->
<g id="edge59" class="edge">
<title>Node59->Node60</title>
-<path fill="none" stroke="midnightblue" d="M5140.5,-194.23C5140.5,-170.49 5140.5,-144.71 5140.5,-123.61"/>
-<polygon fill="none" stroke="midnightblue" points="5137,-194.26 5140.5,-204.26 5144,-194.26 5137,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M5123.5,-199.7C5123.5,-182.15 5123.5,-163.16 5123.5,-145.57"/>
+<polygon fill="none" stroke="midnightblue" points="5120,-199.85 5123.5,-209.85 5127,-199.85 5120,-199.85"/>
</g>
<!-- Node62 -->
<g id="node62" class="node">
<title>Node62</title>
-<g id="a_node62"><a xlink:href="structtvm_1_1relax_1_1SqueezeAttrs.html" target="_top" xlink:title="Attributes used in squeeze operators.">
-<polygon fill="white" stroke="black" points="5253.5,-50 5253.5,-107 5397.5,-107 5397.5,-50 5253.5,-50"/>
-<text text-anchor="middle" x="5325.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SqueezeAttrs</text>
-<polyline fill="none" stroke="black" points="5253.5,-88 5397.5,-88 "/>
-<text text-anchor="start" x="5261.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="5253.5,-69 5397.5,-69 "/>
-<text text-anchor="start" x="5261.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node62"><a xlink:href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_top" xlink:title="Attributes used in layer_norm operator.">
+<polygon fill="white" stroke="black" points="5230.5,-33.5 5230.5,-123.5 5380.5,-123.5 5380.5,-33.5 5230.5,-33.5"/>
+<text text-anchor="middle" x="5305.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayerNormAttrs</text>
+<polyline fill="none" stroke="black" points="5230.5,-104.5 5380.5,-104.5 "/>
+<text text-anchor="start" x="5238.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
+<text text-anchor="start" x="5238.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
+<text text-anchor="start" x="5238.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ center</text>
+<text text-anchor="start" x="5238.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
+<polyline fill="none" stroke="black" points="5230.5,-52.5 5380.5,-52.5 "/>
+<text text-anchor="start" x="5238.5" y="-40.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node61->Node62 -->
<g id="edge61" class="edge">
<title>Node61->Node62</title>
-<path fill="none" stroke="midnightblue" d="M5325.5,-199.72C5325.5,-167.95 5325.5,-131.45 5325.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="5322,-199.85 5325.5,-209.85 5329,-199.85 5322,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M5305.5,-194.23C5305.5,-170.49 5305.5,-144.71 5305.5,-123.61"/>
+<polygon fill="none" stroke="midnightblue" points="5302,-194.26 5305.5,-204.26 5309,-194.26 5302,-194.26"/>
</g>
<!-- Node64 -->
<g id="node64" class="node">
<title>Node64</title>
-<g id="a_node64"><a xlink:href="structtvm_1_1relax_1_1Pool2DAttrs.html" target="_top" xlink:title="Attributes used in max_pool2d and avg_pool2d operator.">
-<polygon fill="white" stroke="black" points="5446.5,-11.5 5446.5,-145.5 5590.5,-145.5 5590.5,-11.5 5446.5,-11.5"/>
-<text text-anchor="middle" x="5518.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool2DAttrs</text>
-<polyline fill="none" stroke="black" points="5446.5,-126.5 5590.5,-126.5 "/>
-<text text-anchor="start" x="5454.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pool_size</text>
-<text text-anchor="start" x="5454.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="5454.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="5454.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="5454.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ceil_mode</text>
-<text text-anchor="start" x="5454.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ count_include_pad</text>
-<text text-anchor="start" x="5454.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="5454.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="5446.5,-30.5 5590.5,-30.5 "/>
-<text text-anchor="start" x="5454.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node64"><a xlink:href="structtvm_1_1relax_1_1SqueezeAttrs.html" target="_top" xlink:title="Attributes used in squeeze operators.">
+<polygon fill="white" stroke="black" points="5418.5,-50 5418.5,-107 5562.5,-107 5562.5,-50 5418.5,-50"/>
+<text text-anchor="middle" x="5490.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SqueezeAttrs</text>
+<polyline fill="none" stroke="black" points="5418.5,-88 5562.5,-88 "/>
+<text text-anchor="start" x="5426.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="5418.5,-69 5562.5,-69 "/>
+<text text-anchor="start" x="5426.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node63->Node64 -->
<g id="edge63" class="edge">
<title>Node63->Node64</title>
-<path fill="none" stroke="midnightblue" d="M5518.5,-199.7C5518.5,-182.15 5518.5,-163.16 5518.5,-145.57"/>
-<polygon fill="none" stroke="midnightblue" points="5515,-199.85 5518.5,-209.85 5522,-199.85 5515,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M5490.5,-199.72C5490.5,-167.95 5490.5,-131.45 5490.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="5487,-199.85 5490.5,-209.85 5494,-199.85 5487,-199.85"/>
</g>
<!-- Node66 -->
<g id="node66" class="node">
<title>Node66</title>
-<g id="a_node66"><a xlink:href="structtvm_1_1relax_1_1OneHotAttrs.html" target="_top" xlink:title="Attributes used in one_hot operator.">
-<polygon fill="white" stroke="black" points="5636.5,-44.5 5636.5,-112.5 5780.5,-112.5 5780.5,-44.5 5636.5,-44.5"/>
-<text text-anchor="middle" x="5708.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::OneHotAttrs</text>
-<polyline fill="none" stroke="black" points="5636.5,-93.5 5780.5,-93.5 "/>
-<text text-anchor="start" x="5644.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ depth</text>
-<text text-anchor="start" x="5644.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="5636.5,-63.5 5780.5,-63.5 "/>
-<text text-anchor="start" x="5644.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node66"><a xlink:href="structtvm_1_1relax_1_1Pool2DAttrs.html" target="_top" xlink:title="Attributes used in max_pool2d and avg_pool2d operator.">
+<polygon fill="white" stroke="black" points="5611.5,-11.5 5611.5,-145.5 5755.5,-145.5 5755.5,-11.5 5611.5,-11.5"/>
+<text text-anchor="middle" x="5683.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool2DAttrs</text>
+<polyline fill="none" stroke="black" points="5611.5,-126.5 5755.5,-126.5 "/>
+<text text-anchor="start" x="5619.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pool_size</text>
+<text text-anchor="start" x="5619.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="5619.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="5619.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="5619.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ceil_mode</text>
+<text text-anchor="start" x="5619.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ count_include_pad</text>
+<text text-anchor="start" x="5619.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="5619.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="5611.5,-30.5 5755.5,-30.5 "/>
+<text text-anchor="start" x="5619.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node65->Node66 -->
<g id="edge65" class="edge">
<title>Node65->Node66</title>
-<path fill="none" stroke="midnightblue" d="M5708.5,-199.63C5708.5,-170.22 5708.5,-136.76 5708.5,-112.64"/>
-<polygon fill="none" stroke="midnightblue" points="5705,-199.85 5708.5,-209.85 5712,-199.85 5705,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M5683.5,-199.7C5683.5,-182.15 5683.5,-163.16 5683.5,-145.57"/>
+<polygon fill="none" stroke="midnightblue" points="5680,-199.85 5683.5,-209.85 5687,-199.85 5680,-199.85"/>
</g>
<!-- Node68 -->
<g id="node68" class="node">
<title>Node68</title>
-<g id="a_node68"><a xlink:href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_top" xlink:title="Attributes used in nll_loss operator.">
-<polygon fill="white" stroke="black" points="5829.5,-44.5 5829.5,-112.5 5973.5,-112.5 5973.5,-44.5 5829.5,-44.5"/>
-<text text-anchor="middle" x="5901.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NLLLossAttrs</text>
-<polyline fill="none" stroke="black" points="5829.5,-93.5 5973.5,-93.5 "/>
-<text text-anchor="start" x="5837.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ reduction</text>
-<text text-anchor="start" x="5837.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ignore_index</text>
-<polyline fill="none" stroke="black" points="5829.5,-63.5 5973.5,-63.5 "/>
-<text text-anchor="start" x="5837.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node68"><a xlink:href="structtvm_1_1relax_1_1OneHotAttrs.html" target="_top" xlink:title="Attributes used in one_hot operator.">
+<polygon fill="white" stroke="black" points="5801.5,-44.5 5801.5,-112.5 5945.5,-112.5 5945.5,-44.5 5801.5,-44.5"/>
+<text text-anchor="middle" x="5873.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::OneHotAttrs</text>
+<polyline fill="none" stroke="black" points="5801.5,-93.5 5945.5,-93.5 "/>
+<text text-anchor="start" x="5809.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ depth</text>
+<text text-anchor="start" x="5809.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="5801.5,-63.5 5945.5,-63.5 "/>
+<text text-anchor="start" x="5809.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node67->Node68 -->
<g id="edge67" class="edge">
<title>Node67->Node68</title>
-<path fill="none" stroke="midnightblue" d="M5901.5,-199.63C5901.5,-170.22 5901.5,-136.76 5901.5,-112.64"/>
-<polygon fill="none" stroke="midnightblue" points="5898,-199.85 5901.5,-209.85 5905,-199.85 5898,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M5873.5,-199.63C5873.5,-170.22 5873.5,-136.76 5873.5,-112.64"/>
+<polygon fill="none" stroke="midnightblue" points="5870,-199.85 5873.5,-209.85 5877,-199.85 5870,-199.85"/>
</g>
<!-- Node70 -->
<g id="node70" class="node">
<title>Node70</title>
-<g id="a_node70"><a xlink:href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_top" xlink:title="Attributes used in batch_norm operator.">
-<polygon fill="white" stroke="black" points="6011,-22.5 6011,-134.5 6162,-134.5 6162,-22.5 6011,-22.5"/>
-<text text-anchor="middle" x="6086.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BatchNormAttrs</text>
-<polyline fill="none" stroke="black" points="6011,-115.5 6162,-115.5 "/>
-<text text-anchor="start" x="6019" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="6019" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
-<text text-anchor="start" x="6019" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ center</text>
-<text text-anchor="start" x="6019" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
-<text text-anchor="start" x="6019" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ momentum</text>
-<text text-anchor="start" x="6019" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ training</text>
-<polyline fill="none" stroke="black" points="6011,-41.5 6162,-41.5 "/>
-<text text-anchor="start" x="6019" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node70"><a xlink:href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_top" xlink:title="Attributes used in nll_loss operator.">
+<polygon fill="white" stroke="black" points="5994.5,-44.5 5994.5,-112.5 6138.5,-112.5 6138.5,-44.5 5994.5,-44.5"/>
+<text text-anchor="middle" x="6066.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NLLLossAttrs</text>
+<polyline fill="none" stroke="black" points="5994.5,-93.5 6138.5,-93.5 "/>
+<text text-anchor="start" x="6002.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ reduction</text>
+<text text-anchor="start" x="6002.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ignore_index</text>
+<polyline fill="none" stroke="black" points="5994.5,-63.5 6138.5,-63.5 "/>
+<text text-anchor="start" x="6002.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node69->Node70 -->
<g id="edge69" class="edge">
<title>Node69->Node70</title>
-<path fill="none" stroke="midnightblue" d="M6086.5,-194.12C6086.5,-174.44 6086.5,-153.37 6086.5,-134.73"/>
-<polygon fill="none" stroke="midnightblue" points="6083,-194.26 6086.5,-204.26 6090,-194.26 6083,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M6066.5,-199.63C6066.5,-170.22 6066.5,-136.76 6066.5,-112.64"/>
+<polygon fill="none" stroke="midnightblue" points="6063,-199.85 6066.5,-209.85 6070,-199.85 6063,-199.85"/>
</g>
<!-- Node72 -->
<g id="node72" class="node">
<title>Node72</title>
-<g id="a_node72"><a xlink:href="structtvm_1_1relax_1_1RepeatAttrs.html" target="_top" xlink:title="Attributes used in repeat operators.">
-<polygon fill="white" stroke="black" points="6196.5,-44.5 6196.5,-112.5 6340.5,-112.5 6340.5,-44.5 6196.5,-44.5"/>
-<text text-anchor="middle" x="6268.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RepeatAttrs</text>
-<polyline fill="none" stroke="black" points="6196.5,-93.5 6340.5,-93.5 "/>
-<text text-anchor="start" x="6204.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ repeats</text>
-<text text-anchor="start" x="6204.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="6196.5,-63.5 6340.5,-63.5 "/>
-<text text-anchor="start" x="6204.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node72"><a xlink:href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_top" xlink:title="Attributes used in batch_norm operator.">
+<polygon fill="white" stroke="black" points="6176,-22.5 6176,-134.5 6327,-134.5 6327,-22.5 6176,-22.5"/>
+<text text-anchor="middle" x="6251.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BatchNormAttrs</text>
+<polyline fill="none" stroke="black" points="6176,-115.5 6327,-115.5 "/>
+<text text-anchor="start" x="6184" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="6184" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
+<text text-anchor="start" x="6184" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ center</text>
+<text text-anchor="start" x="6184" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
+<text text-anchor="start" x="6184" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ momentum</text>
+<text text-anchor="start" x="6184" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ training</text>
+<polyline fill="none" stroke="black" points="6176,-41.5 6327,-41.5 "/>
+<text text-anchor="start" x="6184" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node71->Node72 -->
<g id="edge71" class="edge">
<title>Node71->Node72</title>
-<path fill="none" stroke="midnightblue" d="M6268.5,-199.63C6268.5,-170.22 6268.5,-136.76 6268.5,-112.64"/>
-<polygon fill="none" stroke="midnightblue" points="6265,-199.85 6268.5,-209.85 6272,-199.85 6265,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M6251.5,-194.12C6251.5,-174.44 6251.5,-153.37 6251.5,-134.73"/>
+<polygon fill="none" stroke="midnightblue" points="6248,-194.26 6251.5,-204.26 6255,-194.26 6248,-194.26"/>
</g>
<!-- Node74 -->
<g id="node74" class="node">
<title>Node74</title>
-<g id="a_node74"><a xlink:href="structtvm_1_1relax_1_1Pool1DAttrs.html" target="_top" xlink:title="Attributes used in max_pool1d and avg_pool1d operator.">
-<polygon fill="white" stroke="black" points="6385.5,-11.5 6385.5,-145.5 6529.5,-145.5 6529.5,-11.5 6385.5,-11.5"/>
-<text text-anchor="middle" x="6457.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool1DAttrs</text>
-<polyline fill="none" stroke="black" points="6385.5,-126.5 6529.5,-126.5 "/>
-<text text-anchor="start" x="6393.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pool_size</text>
-<text text-anchor="start" x="6393.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="6393.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="6393.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="6393.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ceil_mode</text>
-<text text-anchor="start" x="6393.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ count_include_pad</text>
-<text text-anchor="start" x="6393.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
-<text text-anchor="start" x="6393.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<polyline fill="none" stroke="black" points="6385.5,-30.5 6529.5,-30.5 "/>
-<text text-anchor="start" x="6393.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node74"><a xlink:href="structtvm_1_1relax_1_1RepeatAttrs.html" target="_top" xlink:title="Attributes used in repeat operators.">
+<polygon fill="white" stroke="black" points="6361.5,-44.5 6361.5,-112.5 6505.5,-112.5 6505.5,-44.5 6361.5,-44.5"/>
+<text text-anchor="middle" x="6433.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RepeatAttrs</text>
+<polyline fill="none" stroke="black" points="6361.5,-93.5 6505.5,-93.5 "/>
+<text text-anchor="start" x="6369.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ repeats</text>
+<text text-anchor="start" x="6369.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="6361.5,-63.5 6505.5,-63.5 "/>
+<text text-anchor="start" x="6369.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node73->Node74 -->
<g id="edge73" class="edge">
<title>Node73->Node74</title>
-<path fill="none" stroke="midnightblue" d="M6457.5,-199.7C6457.5,-182.15 6457.5,-163.16 6457.5,-145.57"/>
-<polygon fill="none" stroke="midnightblue" points="6454,-199.85 6457.5,-209.85 6461,-199.85 6454,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M6433.5,-199.63C6433.5,-170.22 6433.5,-136.76 6433.5,-112.64"/>
+<polygon fill="none" stroke="midnightblue" points="6430,-199.85 6433.5,-209.85 6437,-199.85 6430,-199.85"/>
</g>
<!-- Node76 -->
<g id="node76" class="node">
<title>Node76</title>
-<g id="a_node76"><a xlink:href="structtvm_1_1relax_1_1StackAttrs.html" target="_top" xlink:title="Attributes used in stack operators.">
-<polygon fill="white" stroke="black" points="6571.5,-50 6571.5,-107 6715.5,-107 6715.5,-50 6571.5,-50"/>
-<text text-anchor="middle" x="6643.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StackAttrs</text>
-<polyline fill="none" stroke="black" points="6571.5,-88 6715.5,-88 "/>
-<text text-anchor="start" x="6579.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="6571.5,-69 6715.5,-69 "/>
-<text text-anchor="start" x="6579.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node76"><a xlink:href="structtvm_1_1relax_1_1Pool1DAttrs.html" target="_top" xlink:title="Attributes used in max_pool1d and avg_pool1d operator.">
+<polygon fill="white" stroke="black" points="6550.5,-11.5 6550.5,-145.5 6694.5,-145.5 6694.5,-11.5 6550.5,-11.5"/>
+<text text-anchor="middle" x="6622.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool1DAttrs</text>
+<polyline fill="none" stroke="black" points="6550.5,-126.5 6694.5,-126.5 "/>
+<text text-anchor="start" x="6558.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pool_size</text>
+<text text-anchor="start" x="6558.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="6558.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="6558.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="6558.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ceil_mode</text>
+<text text-anchor="start" x="6558.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ count_include_pad</text>
+<text text-anchor="start" x="6558.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ layout</text>
+<text text-anchor="start" x="6558.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<polyline fill="none" stroke="black" points="6550.5,-30.5 6694.5,-30.5 "/>
+<text text-anchor="start" x="6558.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node75->Node76 -->
<g id="edge75" class="edge">
<title>Node75->Node76</title>
-<path fill="none" stroke="midnightblue" d="M6643.5,-199.72C6643.5,-167.95 6643.5,-131.45 6643.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="6640,-199.85 6643.5,-209.85 6647,-199.85 6640,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M6622.5,-199.7C6622.5,-182.15 6622.5,-163.16 6622.5,-145.57"/>
+<polygon fill="none" stroke="midnightblue" points="6619,-199.85 6622.5,-209.85 6626,-199.85 6619,-199.85"/>
</g>
<!-- Node78 -->
<g id="node78" class="node">
<title>Node78</title>
-<g id="a_node78"><a xlink:href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_top" xlink:title="Attributes used in scan operators like cumsum, cumprod.">
-<polygon fill="white" stroke="black" points="6757.5,-39 6757.5,-118 6901.5,-118 6901.5,-39 6757.5,-39"/>
-<text text-anchor="middle" x="6829.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScanopAttrs</text>
-<polyline fill="none" stroke="black" points="6757.5,-99 6901.5,-99 "/>
-<text text-anchor="start" x="6765.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="6765.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<text text-anchor="start" x="6765.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ exclusive</text>
-<polyline fill="none" stroke="black" points="6757.5,-58 6901.5,-58 "/>
-<text text-anchor="start" x="6765.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node78"><a xlink:href="structtvm_1_1relax_1_1StackAttrs.html" target="_top" xlink:title="Attributes used in stack operators.">
+<polygon fill="white" stroke="black" points="6736.5,-50 6736.5,-107 6880.5,-107 6880.5,-50 6736.5,-50"/>
+<text text-anchor="middle" x="6808.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StackAttrs</text>
+<polyline fill="none" stroke="black" points="6736.5,-88 6880.5,-88 "/>
+<text text-anchor="start" x="6744.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="6736.5,-69 6880.5,-69 "/>
+<text text-anchor="start" x="6744.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node77->Node78 -->
<g id="edge77" class="edge">
<title>Node77->Node78</title>
-<path fill="none" stroke="midnightblue" d="M6829.5,-199.62C6829.5,-172.43 6829.5,-141.79 6829.5,-118.26"/>
-<polygon fill="none" stroke="midnightblue" points="6826,-199.85 6829.5,-209.85 6833,-199.85 6826,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M6808.5,-199.72C6808.5,-167.95 6808.5,-131.45 6808.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="6805,-199.85 6808.5,-209.85 6812,-199.85 6805,-199.85"/>
</g>
<!-- Node80 -->
<g id="node80" class="node">
<title>Node80</title>
-<g id="a_node80"><a xlink:href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
-<polygon fill="white" stroke="black" points="6936.5,-50 6936.5,-107 7082.5,-107 7082.5,-50 6936.5,-50"/>
-<text text-anchor="middle" x="7009.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeakyReluAttrs</text>
-<polyline fill="none" stroke="black" points="6936.5,-88 7082.5,-88 "/>
-<text text-anchor="start" x="6944.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ alpha</text>
-<polyline fill="none" stroke="black" points="6936.5,-69 7082.5,-69 "/>
-<text text-anchor="start" x="6944.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node80"><a xlink:href="structtvm_1_1relax_1_1ScanopAttrs.html" target="_top" xlink:title="Attributes used in scan operators like cumsum, cumprod.">
+<polygon fill="white" stroke="black" points="6922.5,-39 6922.5,-118 7066.5,-118 7066.5,-39 6922.5,-39"/>
+<text text-anchor="middle" x="6994.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScanopAttrs</text>
+<polyline fill="none" stroke="black" points="6922.5,-99 7066.5,-99 "/>
+<text text-anchor="start" x="6930.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="6930.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<text text-anchor="start" x="6930.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ exclusive</text>
+<polyline fill="none" stroke="black" points="6922.5,-58 7066.5,-58 "/>
+<text text-anchor="start" x="6930.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node79->Node80 -->
<g id="edge79" class="edge">
<title>Node79->Node80</title>
-<path fill="none" stroke="midnightblue" d="M7009.5,-194.11C7009.5,-163.76 7009.5,-130.08 7009.5,-107.14"/>
-<polygon fill="none" stroke="midnightblue" points="7006,-194.26 7009.5,-204.26 7013,-194.26 7006,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M6994.5,-199.62C6994.5,-172.43 6994.5,-141.79 6994.5,-118.26"/>
+<polygon fill="none" stroke="midnightblue" points="6991,-199.85 6994.5,-209.85 6998,-199.85 6991,-199.85"/>
</g>
<!-- Node82 -->
<g id="node82" class="node">
<title>Node82</title>
-<g id="a_node82"><a xlink:href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_top" xlink:title="Attributes used in call_tir_with_grad.">
-<polygon fill="white" stroke="black" points="7107,-39 7107,-118 7260,-118 7260,-39 7107,-39"/>
-<text text-anchor="start" x="7115" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRWithGrad</text>
-<text text-anchor="middle" x="7183.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="7107,-88 7260,-88 "/>
-<text text-anchor="start" x="7115" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ te_grad_name</text>
-<text text-anchor="start" x="7115" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ te_grad_kwargs</text>
-<polyline fill="none" stroke="black" points="7107,-58 7260,-58 "/>
-<text text-anchor="start" x="7115" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node82"><a xlink:href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
+<polygon fill="white" stroke="black" points="7101.5,-50 7101.5,-107 7247.5,-107 7247.5,-50 7101.5,-50"/>
+<text text-anchor="middle" x="7174.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeakyReluAttrs</text>
+<polyline fill="none" stroke="black" points="7101.5,-88 7247.5,-88 "/>
+<text text-anchor="start" x="7109.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ alpha</text>
+<polyline fill="none" stroke="black" points="7101.5,-69 7247.5,-69 "/>
+<text text-anchor="start" x="7109.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node81->Node82 -->
<g id="edge81" class="edge">
<title>Node81->Node82</title>
-<path fill="none" stroke="midnightblue" d="M7183.5,-194.14C7183.5,-168.35 7183.5,-140.17 7183.5,-118.2"/>
-<polygon fill="none" stroke="midnightblue" points="7180,-194.26 7183.5,-204.26 7187,-194.26 7180,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M7174.5,-194.11C7174.5,-163.76 7174.5,-130.08 7174.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="7171,-194.26 7174.5,-204.26 7178,-194.26 7171,-194.26"/>
</g>
<!-- Node84 -->
<g id="node84" class="node">
<title>Node84</title>
-<g id="a_node84"><a xlink:href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_top" xlink:title="Attributes used in call_tir_inplace.">
-<polygon fill="white" stroke="black" points="7295.5,-44.5 7295.5,-112.5 7439.5,-112.5 7439.5,-44.5 7295.5,-44.5"/>
-<text text-anchor="start" x="7303.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRInplace</text>
-<text text-anchor="middle" x="7367.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="7295.5,-82.5 7439.5,-82.5 "/>
-<text text-anchor="start" x="7303.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ inplace_indices</text>
-<polyline fill="none" stroke="black" points="7295.5,-63.5 7439.5,-63.5 "/>
-<text text-anchor="start" x="7303.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node84"><a xlink:href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_top" xlink:title="Attributes used in call_tir_with_grad.">
+<polygon fill="white" stroke="black" points="7272,-39 7272,-118 7425,-118 7425,-39 7272,-39"/>
+<text text-anchor="start" x="7280" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRWithGrad</text>
+<text text-anchor="middle" x="7348.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="7272,-88 7425,-88 "/>
+<text text-anchor="start" x="7280" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ te_grad_name</text>
+<text text-anchor="start" x="7280" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ te_grad_kwargs</text>
+<polyline fill="none" stroke="black" points="7272,-58 7425,-58 "/>
+<text text-anchor="start" x="7280" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node83->Node84 -->
<g id="edge83" class="edge">
<title>Node83->Node84</title>
-<path fill="none" stroke="midnightblue" d="M7367.5,-194.07C7367.5,-166.01 7367.5,-135.13 7367.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="7364,-194.26 7367.5,-204.26 7371,-194.26 7364,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M7348.5,-194.14C7348.5,-168.35 7348.5,-140.17 7348.5,-118.2"/>
+<polygon fill="none" stroke="midnightblue" points="7345,-194.26 7348.5,-204.26 7352,-194.26 7345,-194.26"/>
</g>
<!-- Node86 -->
<g id="node86" class="node">
<title>Node86</title>
-<g id="a_node86"><a xlink:href="structtvm_1_1relax_1_1AstypeAttrs.html" target="_top" xlink:title="Attributes used in astype operator.">
-<polygon fill="white" stroke="black" points="7484.5,-50 7484.5,-107 7628.5,-107 7628.5,-50 7484.5,-50"/>
-<text text-anchor="middle" x="7556.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AstypeAttrs</text>
-<polyline fill="none" stroke="black" points="7484.5,-88 7628.5,-88 "/>
-<text text-anchor="start" x="7492.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<polyline fill="none" stroke="black" points="7484.5,-69 7628.5,-69 "/>
-<text text-anchor="start" x="7492.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node86"><a xlink:href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_top" xlink:title="Attributes used in call_tir_inplace.">
+<polygon fill="white" stroke="black" points="7460.5,-44.5 7460.5,-112.5 7604.5,-112.5 7604.5,-44.5 7460.5,-44.5"/>
+<text text-anchor="start" x="7468.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRInplace</text>
+<text text-anchor="middle" x="7532.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="7460.5,-82.5 7604.5,-82.5 "/>
+<text text-anchor="start" x="7468.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ inplace_indices</text>
+<polyline fill="none" stroke="black" points="7460.5,-63.5 7604.5,-63.5 "/>
+<text text-anchor="start" x="7468.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node85->Node86 -->
<g id="edge85" class="edge">
<title>Node85->Node86</title>
-<path fill="none" stroke="midnightblue" d="M7556.5,-199.72C7556.5,-167.95 7556.5,-131.45 7556.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="7553,-199.85 7556.5,-209.85 7560,-199.85 7553,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M7532.5,-194.07C7532.5,-166.01 7532.5,-135.13 7532.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="7529,-194.26 7532.5,-204.26 7536,-194.26 7529,-194.26"/>
</g>
<!-- Node88 -->
<g id="node88" class="node">
<title>Node88</title>
-<g id="a_node88"><a xlink:href="structtvm_1_1relax_1_1PixelShuffleAttrs.html" target="_top" xlink:title="Attributes used for the pixel shuffle operator.">
-<polygon fill="white" stroke="black" points="7667.5,-44.5 7667.5,-112.5 7811.5,-112.5 7811.5,-44.5 7667.5,-44.5"/>
-<text text-anchor="start" x="7675.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PixelShuffle</text>
-<text text-anchor="middle" x="7739.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="7667.5,-82.5 7811.5,-82.5 "/>
-<text text-anchor="start" x="7675.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ upscale_factor</text>
-<polyline fill="none" stroke="black" points="7667.5,-63.5 7811.5,-63.5 "/>
-<text text-anchor="start" x="7675.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node88"><a xlink:href="structtvm_1_1relax_1_1AstypeAttrs.html" target="_top" xlink:title="Attributes used in astype operator.">
+<polygon fill="white" stroke="black" points="7649.5,-50 7649.5,-107 7793.5,-107 7793.5,-50 7649.5,-50"/>
+<text text-anchor="middle" x="7721.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AstypeAttrs</text>
+<polyline fill="none" stroke="black" points="7649.5,-88 7793.5,-88 "/>
+<text text-anchor="start" x="7657.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="7649.5,-69 7793.5,-69 "/>
+<text text-anchor="start" x="7657.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node87->Node88 -->
<g id="edge87" class="edge">
<title>Node87->Node88</title>
-<path fill="none" stroke="midnightblue" d="M7739.5,-194.07C7739.5,-166.01 7739.5,-135.13 7739.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="7736,-194.26 7739.5,-204.26 7743,-194.26 7736,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M7721.5,-199.72C7721.5,-167.95 7721.5,-131.45 7721.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="7718,-199.85 7721.5,-209.85 7725,-199.85 7718,-199.85"/>
</g>
<!-- Node90 -->
<g id="node90" class="node">
<title>Node90</title>
-<g id="a_node90"><a xlink:href="structtvm_1_1relax_1_1PadAttrs.html" target="_top" xlink:title="Attributes used for the padding operator.">
-<polygon fill="white" stroke="black" points="7842.5,-39 7842.5,-118 7986.5,-118 7986.5,-39 7842.5,-39"/>
-<text text-anchor="middle" x="7914.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PadAttrs</text>
-<polyline fill="none" stroke="black" points="7842.5,-99 7986.5,-99 "/>
-<text text-anchor="start" x="7850.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_width</text>
-<text text-anchor="start" x="7850.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_value</text>
-<text text-anchor="start" x="7850.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_mode</text>
-<polyline fill="none" stroke="black" points="7842.5,-58 7986.5,-58 "/>
-<text text-anchor="start" x="7850.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node90"><a xlink:href="structtvm_1_1relax_1_1PixelShuffleAttrs.html" target="_top" xlink:title="Attributes used for the pixel shuffle operator.">
+<polygon fill="white" stroke="black" points="7832.5,-44.5 7832.5,-112.5 7976.5,-112.5 7976.5,-44.5 7832.5,-44.5"/>
+<text text-anchor="start" x="7840.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PixelShuffle</text>
+<text text-anchor="middle" x="7904.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="7832.5,-82.5 7976.5,-82.5 "/>
+<text text-anchor="start" x="7840.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ upscale_factor</text>
+<polyline fill="none" stroke="black" points="7832.5,-63.5 7976.5,-63.5 "/>
+<text text-anchor="start" x="7840.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node89->Node90 -->
<g id="edge89" class="edge">
<title>Node89->Node90</title>
-<path fill="none" stroke="midnightblue" d="M7914.5,-199.62C7914.5,-172.43 7914.5,-141.79 7914.5,-118.26"/>
-<polygon fill="none" stroke="midnightblue" points="7911,-199.85 7914.5,-209.85 7918,-199.85 7911,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M7904.5,-194.07C7904.5,-166.01 7904.5,-135.13 7904.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="7901,-194.26 7904.5,-204.26 7908,-194.26 7901,-194.26"/>
</g>
<!-- Node92 -->
<g id="node92" class="node">
<title>Node92</title>
-<g id="a_node92"><a xlink:href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_top" xlink:title="Attributes used in dropout operator.">
-<polygon fill="white" stroke="black" points="8025.5,-50 8025.5,-107 8169.5,-107 8169.5,-50 8025.5,-50"/>
-<text text-anchor="middle" x="8097.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DropoutAttrs</text>
-<polyline fill="none" stroke="black" points="8025.5,-88 8169.5,-88 "/>
-<text text-anchor="start" x="8033.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ rate</text>
-<polyline fill="none" stroke="black" points="8025.5,-69 8169.5,-69 "/>
-<text text-anchor="start" x="8033.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node92"><a xlink:href="structtvm_1_1relax_1_1PadAttrs.html" target="_top" xlink:title="Attributes used for the padding operator.">
+<polygon fill="white" stroke="black" points="8007.5,-39 8007.5,-118 8151.5,-118 8151.5,-39 8007.5,-39"/>
+<text text-anchor="middle" x="8079.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PadAttrs</text>
+<polyline fill="none" stroke="black" points="8007.5,-99 8151.5,-99 "/>
+<text text-anchor="start" x="8015.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_width</text>
+<text text-anchor="start" x="8015.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_value</text>
+<text text-anchor="start" x="8015.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_mode</text>
+<polyline fill="none" stroke="black" points="8007.5,-58 8151.5,-58 "/>
+<text text-anchor="start" x="8015.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node91->Node92 -->
<g id="edge91" class="edge">
<title>Node91->Node92</title>
-<path fill="none" stroke="midnightblue" d="M8097.5,-199.72C8097.5,-167.95 8097.5,-131.45 8097.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="8094,-199.85 8097.5,-209.85 8101,-199.85 8094,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M8079.5,-199.62C8079.5,-172.43 8079.5,-141.79 8079.5,-118.26"/>
+<polygon fill="none" stroke="midnightblue" points="8076,-199.85 8079.5,-209.85 8083,-199.85 8076,-199.85"/>
</g>
<!-- Node94 -->
<g id="node94" class="node">
<title>Node94</title>
-<g id="a_node94"><a xlink:href="structtvm_1_1relax_1_1TopKAttrs.html" target="_top" xlink:title="Attributes used in topk operator.">
-<polygon fill="white" stroke="black" points="8211.5,-28 8211.5,-129 8355.5,-129 8355.5,-28 8211.5,-28"/>
-<text text-anchor="middle" x="8283.5" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TopKAttrs</text>
-<polyline fill="none" stroke="black" points="8211.5,-110 8355.5,-110 "/>
-<text text-anchor="start" x="8219.5" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ k</text>
-<text text-anchor="start" x="8219.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="8219.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ largest</text>
-<text text-anchor="start" x="8219.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ ret_type</text>
-<text text-anchor="start" x="8219.5" y="-54" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<polyline fill="none" stroke="black" points="8211.5,-47 8355.5,-47 "/>
-<text text-anchor="start" x="8219.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node94"><a xlink:href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_top" xlink:title="Attributes used in dropout operator.">
+<polygon fill="white" stroke="black" points="8190.5,-50 8190.5,-107 8334.5,-107 8334.5,-50 8190.5,-50"/>
+<text text-anchor="middle" x="8262.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DropoutAttrs</text>
+<polyline fill="none" stroke="black" points="8190.5,-88 8334.5,-88 "/>
+<text text-anchor="start" x="8198.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ rate</text>
+<polyline fill="none" stroke="black" points="8190.5,-69 8334.5,-69 "/>
+<text text-anchor="start" x="8198.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node93->Node94 -->
<g id="edge93" class="edge">
<title>Node93->Node94</title>
-<path fill="none" stroke="midnightblue" d="M8283.5,-199.73C8283.5,-176.51 8283.5,-150.76 8283.5,-129.07"/>
-<polygon fill="none" stroke="midnightblue" points="8280,-199.85 8283.5,-209.85 8287,-199.85 8280,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M8262.5,-199.72C8262.5,-167.95 8262.5,-131.45 8262.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="8259,-199.85 8262.5,-209.85 8266,-199.85 8259,-199.85"/>
</g>
<!-- Node96 -->
<g id="node96" class="node">
<title>Node96</title>
-<g id="a_node96"><a xlink:href="structtvm_1_1relax_1_1MultinomialFromUniformAttrs.html" target="_top" xlink:title="Attributes used in multinomial_from_uniform operator.">
-<polygon fill="white" stroke="black" points="8384.5,-44.5 8384.5,-112.5 8540.5,-112.5 8540.5,-44.5 8384.5,-44.5"/>
-<text text-anchor="start" x="8392.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultinomialFrom</text>
-<text text-anchor="middle" x="8462.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">UniformAttrs</text>
-<polyline fill="none" stroke="black" points="8384.5,-82.5 8540.5,-82.5 "/>
-<text text-anchor="start" x="8392.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<polyline fill="none" stroke="black" points="8384.5,-63.5 8540.5,-63.5 "/>
-<text text-anchor="start" x="8392.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node96"><a xlink:href="structtvm_1_1relax_1_1TopKAttrs.html" target="_top" xlink:title="Attributes used in topk operator.">
+<polygon fill="white" stroke="black" points="8376.5,-28 8376.5,-129 8520.5,-129 8520.5,-28 8376.5,-28"/>
+<text text-anchor="middle" x="8448.5" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TopKAttrs</text>
+<polyline fill="none" stroke="black" points="8376.5,-110 8520.5,-110 "/>
+<text text-anchor="start" x="8384.5" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ k</text>
+<text text-anchor="start" x="8384.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="8384.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ largest</text>
+<text text-anchor="start" x="8384.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ ret_type</text>
+<text text-anchor="start" x="8384.5" y="-54" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="8376.5,-47 8520.5,-47 "/>
+<text text-anchor="start" x="8384.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node95->Node96 -->
<g id="edge95" class="edge">
<title>Node95->Node96</title>
-<path fill="none" stroke="midnightblue" d="M8462.5,-194.07C8462.5,-166.01 8462.5,-135.13 8462.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="8459,-194.26 8462.5,-204.26 8466,-194.26 8459,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M8448.5,-199.73C8448.5,-176.51 8448.5,-150.76 8448.5,-129.07"/>
+<polygon fill="none" stroke="midnightblue" points="8445,-199.85 8448.5,-209.85 8452,-199.85 8445,-199.85"/>
</g>
<!-- Node98 -->
<g id="node98" class="node">
<title>Node98</title>
-<g id="a_node98"><a xlink:href="structtvm_1_1relax_1_1Conv3DAttrs.html" target="_top" xlink:title="Attributes used in Conv3d operator.">
-<polygon fill="white" stroke="black" points="8576.5,-11.5 8576.5,-145.5 8720.5,-145.5 8720.5,-11.5 8576.5,-11.5"/>
-<text text-anchor="middle" x="8648.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DAttrs</text>
-<polyline fill="none" stroke="black" points="8576.5,-126.5 8720.5,-126.5 "/>
-<text text-anchor="start" x="8584.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="8584.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="8584.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="8584.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
-<text text-anchor="start" x="8584.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
-<text text-anchor="start" x="8584.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
-<text text-anchor="start" x="8584.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<text text-anchor="start" x="8584.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="8576.5,-30.5 8720.5,-30.5 "/>
-<text text-anchor="start" x="8584.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node98"><a xlink:href="structtvm_1_1relax_1_1MultinomialFromUniformAttrs.html" target="_top" xlink:title="Attributes used in multinomial_from_uniform operator.">
+<polygon fill="white" stroke="black" points="8549.5,-44.5 8549.5,-112.5 8705.5,-112.5 8705.5,-44.5 8549.5,-44.5"/>
+<text text-anchor="start" x="8557.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultinomialFrom</text>
+<text text-anchor="middle" x="8627.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">UniformAttrs</text>
+<polyline fill="none" stroke="black" points="8549.5,-82.5 8705.5,-82.5 "/>
+<text text-anchor="start" x="8557.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="8549.5,-63.5 8705.5,-63.5 "/>
+<text text-anchor="start" x="8557.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node97->Node98 -->
<g id="edge97" class="edge">
<title>Node97->Node98</title>
-<path fill="none" stroke="midnightblue" d="M8648.5,-199.7C8648.5,-182.15 8648.5,-163.16 8648.5,-145.57"/>
-<polygon fill="none" stroke="midnightblue" points="8645,-199.85 8648.5,-209.85 8652,-199.85 8645,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M8627.5,-194.07C8627.5,-166.01 8627.5,-135.13 8627.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="8624,-194.26 8627.5,-204.26 8631,-194.26 8624,-194.26"/>
</g>
<!-- Node100 -->
<g id="node100" class="node">
<title>Node100</title>
-<g id="a_node100"><a xlink:href="classtvm_1_1VirtualDeviceNode.html" target="_top" xlink:title="Describes at compile time the constraints on where data is to be stored at runtime down to the (virtu...">
-<polygon fill="white" stroke="black" points="8766.5,-17 8766.5,-140 8910.5,-140 8910.5,-17 8766.5,-17"/>
-<text text-anchor="middle" x="8838.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VirtualDeviceNode</text>
-<polyline fill="none" stroke="black" points="8766.5,-121 8910.5,-121 "/>
-<text text-anchor="start" x="8774.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ virtual_device_id</text>
-<text text-anchor="start" x="8774.5" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
-<text text-anchor="start" x="8774.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ memory_scope</text>
-<polyline fill="none" stroke="black" points="8766.5,-80 8910.5,-80 "/>
-<text text-anchor="start" x="8774.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_type()</text>
-<text text-anchor="start" x="8774.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsFullyUnconstrained()</text>
-<text text-anchor="start" x="8774.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsFullyConstrained()</text>
-<text text-anchor="start" x="8774.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ ToDevice()</text>
-<text text-anchor="start" x="8774.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node100"><a xlink:href="structtvm_1_1relax_1_1Conv3DAttrs.html" target="_top" xlink:title="Attributes used in Conv3d operator.">
+<polygon fill="white" stroke="black" points="8741.5,-11.5 8741.5,-145.5 8885.5,-145.5 8885.5,-11.5 8741.5,-11.5"/>
+<text text-anchor="middle" x="8813.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DAttrs</text>
+<polyline fill="none" stroke="black" points="8741.5,-126.5 8885.5,-126.5 "/>
+<text text-anchor="start" x="8749.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="8749.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="8749.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="8749.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
+<text text-anchor="start" x="8749.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
+<text text-anchor="start" x="8749.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
+<text text-anchor="start" x="8749.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<text text-anchor="start" x="8749.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="8741.5,-30.5 8885.5,-30.5 "/>
+<text text-anchor="start" x="8749.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node99->Node100 -->
<g id="edge99" class="edge">
<title>Node99->Node100</title>
-<path fill="none" stroke="midnightblue" d="M8838.5,-193.95C8838.5,-176.17 8838.5,-157.27 8838.5,-140.06"/>
-<polygon fill="none" stroke="midnightblue" points="8835,-194.26 8838.5,-204.26 8842,-194.26 8835,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M8813.5,-199.7C8813.5,-182.15 8813.5,-163.16 8813.5,-145.57"/>
+<polygon fill="none" stroke="midnightblue" points="8810,-199.85 8813.5,-209.85 8817,-199.85 8810,-199.85"/>
</g>
<!-- Node102 -->
<g id="node102" class="node">
<title>Node102</title>
-<g id="a_node102"><a xlink:href="structtvm_1_1relax_1_1WrapParamAttrs.html" target="_top" xlink:title="Attributes used in wrap_param operator.">
-<polygon fill="white" stroke="black" points="8943.5,-50 8943.5,-107 9095.5,-107 9095.5,-50 8943.5,-50"/>
-<text text-anchor="middle" x="9019.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::WrapParamAttrs</text>
-<polyline fill="none" stroke="black" points="8943.5,-88 9095.5,-88 "/>
-<text text-anchor="start" x="8951.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<polyline fill="none" stroke="black" points="8943.5,-69 9095.5,-69 "/>
-<text text-anchor="start" x="8951.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node102"><a xlink:href="classtvm_1_1VirtualDeviceNode.html" target="_top" xlink:title="Describes at compile time the constraints on where data is to be stored at runtime down to the (virtu...">
+<polygon fill="white" stroke="black" points="8931.5,-17 8931.5,-140 9075.5,-140 9075.5,-17 8931.5,-17"/>
+<text text-anchor="middle" x="9003.5" y="-128" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VirtualDeviceNode</text>
+<polyline fill="none" stroke="black" points="8931.5,-121 9075.5,-121 "/>
+<text text-anchor="start" x="8939.5" y="-109" font-family="Helvetica,sans-Serif" font-size="10.00">+ virtual_device_id</text>
+<text text-anchor="start" x="8939.5" y="-98" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
+<text text-anchor="start" x="8939.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ memory_scope</text>
+<polyline fill="none" stroke="black" points="8931.5,-80 9075.5,-80 "/>
+<text text-anchor="start" x="8939.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_type()</text>
+<text text-anchor="start" x="8939.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsFullyUnconstrained()</text>
+<text text-anchor="start" x="8939.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsFullyConstrained()</text>
+<text text-anchor="start" x="8939.5" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ ToDevice()</text>
+<text text-anchor="start" x="8939.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node101->Node102 -->
<g id="edge101" class="edge">
<title>Node101->Node102</title>
-<path fill="none" stroke="midnightblue" d="M9019.5,-194.11C9019.5,-163.76 9019.5,-130.08 9019.5,-107.14"/>
-<polygon fill="none" stroke="midnightblue" points="9016,-194.26 9019.5,-204.26 9023,-194.26 9016,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M9003.5,-193.95C9003.5,-176.17 9003.5,-157.27 9003.5,-140.06"/>
+<polygon fill="none" stroke="midnightblue" points="9000,-194.26 9003.5,-204.26 9007,-194.26 9000,-194.26"/>
</g>
<!-- Node104 -->
<g id="node104" class="node">
<title>Node104</title>
-<g id="a_node104"><a xlink:href="structtvm_1_1relax_1_1TileAttrs.html" target="_top" xlink:title="Attributes used in tile operators.">
-<polygon fill="white" stroke="black" points="9122.5,-50 9122.5,-107 9266.5,-107 9266.5,-50 9122.5,-50"/>
-<text text-anchor="middle" x="9194.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TileAttrs</text>
-<polyline fill="none" stroke="black" points="9122.5,-88 9266.5,-88 "/>
-<text text-anchor="start" x="9130.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ repeats</text>
-<polyline fill="none" stroke="black" points="9122.5,-69 9266.5,-69 "/>
-<text text-anchor="start" x="9130.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node104"><a xlink:href="structtvm_1_1relax_1_1WrapParamAttrs.html" target="_top" xlink:title="Attributes used in wrap_param operator.">
+<polygon fill="white" stroke="black" points="9108.5,-50 9108.5,-107 9260.5,-107 9260.5,-50 9108.5,-50"/>
+<text text-anchor="middle" x="9184.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::WrapParamAttrs</text>
+<polyline fill="none" stroke="black" points="9108.5,-88 9260.5,-88 "/>
+<text text-anchor="start" x="9116.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="9108.5,-69 9260.5,-69 "/>
+<text text-anchor="start" x="9116.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node103->Node104 -->
<g id="edge103" class="edge">
<title>Node103->Node104</title>
-<path fill="none" stroke="midnightblue" d="M9194.5,-199.72C9194.5,-167.95 9194.5,-131.45 9194.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="9191,-199.85 9194.5,-209.85 9198,-199.85 9191,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M9184.5,-194.11C9184.5,-163.76 9184.5,-130.08 9184.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="9181,-194.26 9184.5,-204.26 9188,-194.26 9181,-194.26"/>
</g>
<!-- Node106 -->
<g id="node106" class="node">
<title>Node106</title>
-<g id="a_node106"><a xlink:href="structtvm_1_1relax_1_1StridedSliceAttrs.html" target="_top" xlink:title="Attributes used in strided_slice operator.">
-<polygon fill="white" stroke="black" points="9298.5,-44.5 9298.5,-112.5 9442.5,-112.5 9442.5,-44.5 9298.5,-44.5"/>
-<text text-anchor="start" x="9306.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StridedSlice</text>
-<text text-anchor="middle" x="9370.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="9298.5,-82.5 9442.5,-82.5 "/>
-<text text-anchor="start" x="9306.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ assume_inbound</text>
-<polyline fill="none" stroke="black" points="9298.5,-63.5 9442.5,-63.5 "/>
-<text text-anchor="start" x="9306.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node106"><a xlink:href="structtvm_1_1relax_1_1TileAttrs.html" target="_top" xlink:title="Attributes used in tile operators.">
+<polygon fill="white" stroke="black" points="9287.5,-50 9287.5,-107 9431.5,-107 9431.5,-50 9287.5,-50"/>
+<text text-anchor="middle" x="9359.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TileAttrs</text>
+<polyline fill="none" stroke="black" points="9287.5,-88 9431.5,-88 "/>
+<text text-anchor="start" x="9295.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ repeats</text>
+<polyline fill="none" stroke="black" points="9287.5,-69 9431.5,-69 "/>
+<text text-anchor="start" x="9295.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node105->Node106 -->
<g id="edge105" class="edge">
<title>Node105->Node106</title>
-<path fill="none" stroke="midnightblue" d="M9370.5,-194.07C9370.5,-166.01 9370.5,-135.13 9370.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="9367,-194.26 9370.5,-204.26 9374,-194.26 9367,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M9359.5,-199.72C9359.5,-167.95 9359.5,-131.45 9359.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="9356,-199.85 9359.5,-209.85 9363,-199.85 9356,-199.85"/>
</g>
<!-- Node108 -->
<g id="node108" class="node">
<title>Node108</title>
-<g id="a_node108"><a xlink:href="structtvm_1_1relax_1_1SplitAttrs.html" target="_top" xlink:title="Attributes used in split operator.">
-<polygon fill="white" stroke="black" points="9475.5,-44.5 9475.5,-112.5 9619.5,-112.5 9619.5,-44.5 9475.5,-44.5"/>
-<text text-anchor="middle" x="9547.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SplitAttrs</text>
-<polyline fill="none" stroke="black" points="9475.5,-93.5 9619.5,-93.5 "/>
-<text text-anchor="start" x="9483.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ indices_or_sections</text>
-<text text-anchor="start" x="9483.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="9475.5,-63.5 9619.5,-63.5 "/>
-<text text-anchor="start" x="9483.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node108"><a xlink:href="structtvm_1_1relax_1_1StridedSliceAttrs.html" target="_top" xlink:title="Attributes used in strided_slice operator.">
+<polygon fill="white" stroke="black" points="9463.5,-44.5 9463.5,-112.5 9607.5,-112.5 9607.5,-44.5 9463.5,-44.5"/>
+<text text-anchor="start" x="9471.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StridedSlice</text>
+<text text-anchor="middle" x="9535.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="9463.5,-82.5 9607.5,-82.5 "/>
+<text text-anchor="start" x="9471.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ assume_inbound</text>
+<polyline fill="none" stroke="black" points="9463.5,-63.5 9607.5,-63.5 "/>
+<text text-anchor="start" x="9471.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node107->Node108 -->
<g id="edge107" class="edge">
<title>Node107->Node108</title>
-<path fill="none" stroke="midnightblue" d="M9547.5,-199.63C9547.5,-170.22 9547.5,-136.76 9547.5,-112.64"/>
-<polygon fill="none" stroke="midnightblue" points="9544,-199.85 9547.5,-209.85 9551,-199.85 9544,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M9535.5,-194.07C9535.5,-166.01 9535.5,-135.13 9535.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="9532,-194.26 9535.5,-204.26 9539,-194.26 9532,-194.26"/>
</g>
<!-- Node110 -->
<g id="node110" class="node">
<title>Node110</title>
-<g id="a_node110"><a xlink:href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_top" xlink:title="Attributes used in rms_norm operator.">
-<polygon fill="white" stroke="black" points="9664,-44.5 9664,-112.5 9809,-112.5 9809,-44.5 9664,-44.5"/>
-<text text-anchor="middle" x="9736.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RMSNormAttrs</text>
-<polyline fill="none" stroke="black" points="9664,-93.5 9809,-93.5 "/>
-<text text-anchor="start" x="9672" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
-<text text-anchor="start" x="9672" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
-<polyline fill="none" stroke="black" points="9664,-63.5 9809,-63.5 "/>
-<text text-anchor="start" x="9672" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node110"><a xlink:href="structtvm_1_1relax_1_1SplitAttrs.html" target="_top" xlink:title="Attributes used in split operator.">
+<polygon fill="white" stroke="black" points="9640.5,-44.5 9640.5,-112.5 9784.5,-112.5 9784.5,-44.5 9640.5,-44.5"/>
+<text text-anchor="middle" x="9712.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SplitAttrs</text>
+<polyline fill="none" stroke="black" points="9640.5,-93.5 9784.5,-93.5 "/>
+<text text-anchor="start" x="9648.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ indices_or_sections</text>
+<text text-anchor="start" x="9648.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="9640.5,-63.5 9784.5,-63.5 "/>
+<text text-anchor="start" x="9648.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node109->Node110 -->
<g id="edge109" class="edge">
<title>Node109->Node110</title>
-<path fill="none" stroke="midnightblue" d="M9736.5,-199.63C9736.5,-170.22 9736.5,-136.76 9736.5,-112.64"/>
-<polygon fill="none" stroke="midnightblue" points="9733,-199.85 9736.5,-209.85 9740,-199.85 9733,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M9712.5,-199.63C9712.5,-170.22 9712.5,-136.76 9712.5,-112.64"/>
+<polygon fill="none" stroke="midnightblue" points="9709,-199.85 9712.5,-209.85 9716,-199.85 9709,-199.85"/>
</g>
<!-- Node112 -->
<g id="node112" class="node">
<title>Node112</title>
-<g id="a_node112"><a xlink:href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_top" xlink:title="Attributes for relax.quantize/relax.dequantize operator.">
-<polygon fill="white" stroke="black" points="9848.5,-44.5 9848.5,-112.5 9992.5,-112.5 9992.5,-44.5 9848.5,-44.5"/>
-<text text-anchor="middle" x="9920.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::QuantizeAttrs</text>
-<polyline fill="none" stroke="black" points="9848.5,-93.5 9992.5,-93.5 "/>
-<text text-anchor="start" x="9856.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<text text-anchor="start" x="9856.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="9848.5,-63.5 9992.5,-63.5 "/>
-<text text-anchor="start" x="9856.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node112"><a xlink:href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_top" xlink:title="Attributes used in rms_norm operator.">
+<polygon fill="white" stroke="black" points="9829,-44.5 9829,-112.5 9974,-112.5 9974,-44.5 9829,-44.5"/>
+<text text-anchor="middle" x="9901.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RMSNormAttrs</text>
+<polyline fill="none" stroke="black" points="9829,-93.5 9974,-93.5 "/>
+<text text-anchor="start" x="9837" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
+<text text-anchor="start" x="9837" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
+<polyline fill="none" stroke="black" points="9829,-63.5 9974,-63.5 "/>
+<text text-anchor="start" x="9837" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node111->Node112 -->
<g id="edge111" class="edge">
<title>Node111->Node112</title>
-<path fill="none" stroke="midnightblue" d="M9920.5,-194.07C9920.5,-166.01 9920.5,-135.13 9920.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="9917,-194.26 9920.5,-204.26 9924,-194.26 9917,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M9901.5,-199.63C9901.5,-170.22 9901.5,-136.76 9901.5,-112.64"/>
+<polygon fill="none" stroke="midnightblue" points="9898,-199.85 9901.5,-209.85 9905,-199.85 9898,-199.85"/>
</g>
<!-- Node114 -->
<g id="node114" class="node">
<title>Node114</title>
-<g id="a_node114"><a xlink:href="structtvm_1_1relax_1_1PReluAttrs.html" target="_top" xlink:title="Attributes used in PReLU operator.">
-<polygon fill="white" stroke="black" points="10021.5,-50 10021.5,-107 10165.5,-107 10165.5,-50 10021.5,-50"/>
-<text text-anchor="middle" x="10093.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PReluAttrs</text>
-<polyline fill="none" stroke="black" points="10021.5,-88 10165.5,-88 "/>
-<text text-anchor="start" x="10029.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<polyline fill="none" stroke="black" points="10021.5,-69 10165.5,-69 "/>
-<text text-anchor="start" x="10029.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node114"><a xlink:href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_top" xlink:title="Attributes for relax.quantize/relax.dequantize operator.">
+<polygon fill="white" stroke="black" points="10013.5,-44.5 10013.5,-112.5 10157.5,-112.5 10157.5,-44.5 10013.5,-44.5"/>
+<text text-anchor="middle" x="10085.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::QuantizeAttrs</text>
+<polyline fill="none" stroke="black" points="10013.5,-93.5 10157.5,-93.5 "/>
+<text text-anchor="start" x="10021.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<text text-anchor="start" x="10021.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="10013.5,-63.5 10157.5,-63.5 "/>
+<text text-anchor="start" x="10021.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node113->Node114 -->
<g id="edge113" class="edge">
<title>Node113->Node114</title>
-<path fill="none" stroke="midnightblue" d="M10093.5,-199.72C10093.5,-167.95 10093.5,-131.45 10093.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="10090,-199.85 10093.5,-209.85 10097,-199.85 10090,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M10085.5,-194.07C10085.5,-166.01 10085.5,-135.13 10085.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="10082,-194.26 10085.5,-204.26 10089,-194.26 10082,-194.26"/>
</g>
<!-- Node116 -->
<g id="node116" class="node">
<title>Node116</title>
-<g id="a_node116"><a xlink:href="structtvm_1_1relax_1_1Conv2DAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
-<polygon fill="white" stroke="black" points="10209.5,-11.5 10209.5,-145.5 10353.5,-145.5 10353.5,-11.5 10209.5,-11.5"/>
-<text text-anchor="middle" x="10281.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DAttrs</text>
-<polyline fill="none" stroke="black" points="10209.5,-126.5 10353.5,-126.5 "/>
-<text text-anchor="start" x="10217.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="10217.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="10217.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="10217.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
-<text text-anchor="start" x="10217.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
-<text text-anchor="start" x="10217.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
-<text text-anchor="start" x="10217.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<text text-anchor="start" x="10217.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="10209.5,-30.5 10353.5,-30.5 "/>
-<text text-anchor="start" x="10217.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node116"><a xlink:href="structtvm_1_1relax_1_1PReluAttrs.html" target="_top" xlink:title="Attributes used in PReLU operator.">
+<polygon fill="white" stroke="black" points="10186.5,-50 10186.5,-107 10330.5,-107 10330.5,-50 10186.5,-50"/>
+<text text-anchor="middle" x="10258.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PReluAttrs</text>
+<polyline fill="none" stroke="black" points="10186.5,-88 10330.5,-88 "/>
+<text text-anchor="start" x="10194.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<polyline fill="none" stroke="black" points="10186.5,-69 10330.5,-69 "/>
+<text text-anchor="start" x="10194.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node115->Node116 -->
<g id="edge115" class="edge">
<title>Node115->Node116</title>
-<path fill="none" stroke="midnightblue" d="M10281.5,-199.7C10281.5,-182.15 10281.5,-163.16 10281.5,-145.57"/>
-<polygon fill="none" stroke="midnightblue" points="10278,-199.85 10281.5,-209.85 10285,-199.85 10278,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M10258.5,-199.72C10258.5,-167.95 10258.5,-131.45 10258.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="10255,-199.85 10258.5,-209.85 10262,-199.85 10255,-199.85"/>
</g>
<!-- Node118 -->
<g id="node118" class="node">
<title>Node118</title>
-<g id="a_node118"><a xlink:href="structtvm_1_1relax_1_1SortAttrs.html" target="_top" xlink:title="Attributes used in sort operator.">
-<polygon fill="white" stroke="black" points="10393.5,-44.5 10393.5,-112.5 10537.5,-112.5 10537.5,-44.5 10393.5,-44.5"/>
-<text text-anchor="middle" x="10465.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SortAttrs</text>
-<polyline fill="none" stroke="black" points="10393.5,-93.5 10537.5,-93.5 "/>
-<text text-anchor="start" x="10401.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="10401.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ descending</text>
-<polyline fill="none" stroke="black" points="10393.5,-63.5 10537.5,-63.5 "/>
-<text text-anchor="start" x="10401.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node118"><a xlink:href="structtvm_1_1relax_1_1Conv2DAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
+<polygon fill="white" stroke="black" points="10374.5,-11.5 10374.5,-145.5 10518.5,-145.5 10518.5,-11.5 10374.5,-11.5"/>
+<text text-anchor="middle" x="10446.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DAttrs</text>
+<polyline fill="none" stroke="black" points="10374.5,-126.5 10518.5,-126.5 "/>
+<text text-anchor="start" x="10382.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="10382.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="10382.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="10382.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
+<text text-anchor="start" x="10382.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
+<text text-anchor="start" x="10382.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
+<text text-anchor="start" x="10382.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<text text-anchor="start" x="10382.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="10374.5,-30.5 10518.5,-30.5 "/>
+<text text-anchor="start" x="10382.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node117->Node118 -->
<g id="edge117" class="edge">
<title>Node117->Node118</title>
-<path fill="none" stroke="midnightblue" d="M10465.5,-199.63C10465.5,-170.22 10465.5,-136.76 10465.5,-112.64"/>
-<polygon fill="none" stroke="midnightblue" points="10462,-199.85 10465.5,-209.85 10469,-199.85 10462,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M10446.5,-199.7C10446.5,-182.15 10446.5,-163.16 10446.5,-145.57"/>
+<polygon fill="none" stroke="midnightblue" points="10443,-199.85 10446.5,-209.85 10450,-199.85 10443,-199.85"/>
</g>
<!-- Node120 -->
<g id="node120" class="node">
<title>Node120</title>
-<g id="a_node120"><a xlink:href="structtvm_1_1relax_1_1Conv1DAttrs.html" target="_top" xlink:title="Attributes used in Conv1d operator.">
-<polygon fill="white" stroke="black" points="10577.5,-11.5 10577.5,-145.5 10721.5,-145.5 10721.5,-11.5 10577.5,-11.5"/>
-<text text-anchor="middle" x="10649.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DAttrs</text>
-<polyline fill="none" stroke="black" points="10577.5,-126.5 10721.5,-126.5 "/>
-<text text-anchor="start" x="10585.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="10585.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="10585.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="10585.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
-<text text-anchor="start" x="10585.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
-<text text-anchor="start" x="10585.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
-<text text-anchor="start" x="10585.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<text text-anchor="start" x="10585.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="10577.5,-30.5 10721.5,-30.5 "/>
-<text text-anchor="start" x="10585.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node120"><a xlink:href="structtvm_1_1relax_1_1SortAttrs.html" target="_top" xlink:title="Attributes used in sort operator.">
+<polygon fill="white" stroke="black" points="10558.5,-44.5 10558.5,-112.5 10702.5,-112.5 10702.5,-44.5 10558.5,-44.5"/>
+<text text-anchor="middle" x="10630.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SortAttrs</text>
+<polyline fill="none" stroke="black" points="10558.5,-93.5 10702.5,-93.5 "/>
+<text text-anchor="start" x="10566.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="10566.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ descending</text>
+<polyline fill="none" stroke="black" points="10558.5,-63.5 10702.5,-63.5 "/>
+<text text-anchor="start" x="10566.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node119->Node120 -->
<g id="edge119" class="edge">
<title>Node119->Node120</title>
-<path fill="none" stroke="midnightblue" d="M10649.5,-199.7C10649.5,-182.15 10649.5,-163.16 10649.5,-145.57"/>
-<polygon fill="none" stroke="midnightblue" points="10646,-199.85 10649.5,-209.85 10653,-199.85 10646,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M10630.5,-199.63C10630.5,-170.22 10630.5,-136.76 10630.5,-112.64"/>
+<polygon fill="none" stroke="midnightblue" points="10627,-199.85 10630.5,-209.85 10634,-199.85 10627,-199.85"/>
</g>
<!-- Node122 -->
<g id="node122" class="node">
<title>Node122</title>
-<g id="a_node122"><a xlink:href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_top" xlink:title="Attributes used in argsort operator.">
-<polygon fill="white" stroke="black" points="10769.5,-39 10769.5,-118 10913.5,-118 10913.5,-39 10769.5,-39"/>
-<text text-anchor="middle" x="10841.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgsortAttrs</text>
-<polyline fill="none" stroke="black" points="10769.5,-99 10913.5,-99 "/>
-<text text-anchor="start" x="10777.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="10777.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ descending</text>
-<text text-anchor="start" x="10777.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
-<polyline fill="none" stroke="black" points="10769.5,-58 10913.5,-58 "/>
-<text text-anchor="start" x="10777.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node122"><a xlink:href="structtvm_1_1relax_1_1Conv1DAttrs.html" target="_top" xlink:title="Attributes used in Conv1d operator.">
+<polygon fill="white" stroke="black" points="10742.5,-11.5 10742.5,-145.5 10886.5,-145.5 10886.5,-11.5 10742.5,-11.5"/>
+<text text-anchor="middle" x="10814.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DAttrs</text>
+<polyline fill="none" stroke="black" points="10742.5,-126.5 10886.5,-126.5 "/>
+<text text-anchor="start" x="10750.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="10750.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="10750.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="10750.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
+<text text-anchor="start" x="10750.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
+<text text-anchor="start" x="10750.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
+<text text-anchor="start" x="10750.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<text text-anchor="start" x="10750.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="10742.5,-30.5 10886.5,-30.5 "/>
+<text text-anchor="start" x="10750.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node121->Node122 -->
<g id="edge121" class="edge">
<title>Node121->Node122</title>
-<path fill="none" stroke="midnightblue" d="M10841.5,-199.62C10841.5,-172.43 10841.5,-141.79 10841.5,-118.26"/>
-<polygon fill="none" stroke="midnightblue" points="10838,-199.85 10841.5,-209.85 10845,-199.85 10838,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M10814.5,-199.7C10814.5,-182.15 10814.5,-163.16 10814.5,-145.57"/>
+<polygon fill="none" stroke="midnightblue" points="10811,-199.85 10814.5,-209.85 10818,-199.85 10811,-199.85"/>
</g>
<!-- Node124 -->
<g id="node124" class="node">
<title>Node124</title>
-<g id="a_node124"><a xlink:href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_top" xlink:title="Attributes for statistical operators.">
-<polygon fill="white" stroke="black" points="10949,-44.5 10949,-112.5 11094,-112.5 11094,-44.5 10949,-44.5"/>
-<text text-anchor="middle" x="11021.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StatisticalAttrs</text>
-<polyline fill="none" stroke="black" points="10949,-93.5 11094,-93.5 "/>
-<text text-anchor="start" x="10957" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
-<text text-anchor="start" x="10957" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ keepdims</text>
-<polyline fill="none" stroke="black" points="10949,-63.5 11094,-63.5 "/>
-<text text-anchor="start" x="10957" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node124"><a xlink:href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_top" xlink:title="Attributes used in argsort operator.">
+<polygon fill="white" stroke="black" points="10934.5,-39 10934.5,-118 11078.5,-118 11078.5,-39 10934.5,-39"/>
+<text text-anchor="middle" x="11006.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgsortAttrs</text>
+<polyline fill="none" stroke="black" points="10934.5,-99 11078.5,-99 "/>
+<text text-anchor="start" x="10942.5" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="10942.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ descending</text>
+<text text-anchor="start" x="10942.5" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ dtype</text>
+<polyline fill="none" stroke="black" points="10934.5,-58 11078.5,-58 "/>
+<text text-anchor="start" x="10942.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node123->Node124 -->
<g id="edge123" class="edge">
<title>Node123->Node124</title>
-<path fill="none" stroke="midnightblue" d="M11021.5,-194.07C11021.5,-166.01 11021.5,-135.13 11021.5,-112.51"/>
-<polygon fill="none" stroke="midnightblue" points="11018,-194.26 11021.5,-204.26 11025,-194.26 11018,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M11006.5,-199.62C11006.5,-172.43 11006.5,-141.79 11006.5,-118.26"/>
+<polygon fill="none" stroke="midnightblue" points="11003,-199.85 11006.5,-209.85 11010,-199.85 11003,-199.85"/>
</g>
<!-- Node126 -->
<g id="node126" class="node">
<title>Node126</title>
-<g id="a_node126"><a xlink:href="structtvm_1_1relax_1_1LayoutTransformAttrs.html" target="_top" xlink:title="Attributes used in layout_transform operator.">
-<polygon fill="white" stroke="black" points="11130,-28 11130,-129 11285,-129 11285,-28 11130,-28"/>
-<text text-anchor="start" x="11138" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayoutTransform</text>
-<text text-anchor="middle" x="11207.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="11130,-99 11285,-99 "/>
-<text text-anchor="start" x="11138" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ index_map</text>
-<text text-anchor="start" x="11138" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_value</text>
-<text text-anchor="start" x="11138" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis_separators</text>
-<text text-anchor="start" x="11138" y="-54" font-family="Helvetica,sans-Serif" font-size="10.00">+ input_axis_separators</text>
-<polyline fill="none" stroke="black" points="11130,-47 11285,-47 "/>
-<text text-anchor="start" x="11138" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node126"><a xlink:href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_top" xlink:title="Attributes for statistical operators.">
+<polygon fill="white" stroke="black" points="11114,-44.5 11114,-112.5 11259,-112.5 11259,-44.5 11114,-44.5"/>
+<text text-anchor="middle" x="11186.5" y="-100.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StatisticalAttrs</text>
+<polyline fill="none" stroke="black" points="11114,-93.5 11259,-93.5 "/>
+<text text-anchor="start" x="11122" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis</text>
+<text text-anchor="start" x="11122" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ keepdims</text>
+<polyline fill="none" stroke="black" points="11114,-63.5 11259,-63.5 "/>
+<text text-anchor="start" x="11122" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node125->Node126 -->
<g id="edge125" class="edge">
<title>Node125->Node126</title>
-<path fill="none" stroke="midnightblue" d="M11207.5,-194.13C11207.5,-172.48 11207.5,-149.16 11207.5,-129.23"/>
-<polygon fill="none" stroke="midnightblue" points="11204,-194.26 11207.5,-204.26 11211,-194.26 11204,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M11186.5,-194.07C11186.5,-166.01 11186.5,-135.13 11186.5,-112.51"/>
+<polygon fill="none" stroke="midnightblue" points="11183,-194.26 11186.5,-204.26 11190,-194.26 11183,-194.26"/>
</g>
<!-- Node128 -->
<g id="node128" class="node">
<title>Node128</title>
-<g id="a_node128"><a xlink:href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv1DTranspose operator.">
-<polygon fill="white" stroke="black" points="11332.5,-0.5 11332.5,-156.5 11492.5,-156.5 11492.5,-0.5 11332.5,-0.5"/>
-<text text-anchor="start" x="11340.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DTranspose</text>
-<text text-anchor="middle" x="11412.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="11332.5,-126.5 11492.5,-126.5 "/>
-<text text-anchor="start" x="11340.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="11340.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="11340.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_padding</text>
-<text text-anchor="start" x="11340.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="11340.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
-<text text-anchor="start" x="11340.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
-<text text-anchor="start" x="11340.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
-<text text-anchor="start" x="11340.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<text text-anchor="start" x="11340.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="11332.5,-19.5 11492.5,-19.5 "/>
-<text text-anchor="start" x="11340.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node128"><a xlink:href="structtvm_1_1relax_1_1LayoutTransformAttrs.html" target="_top" xlink:title="Attributes used in layout_transform operator.">
+<polygon fill="white" stroke="black" points="11295,-28 11295,-129 11450,-129 11450,-28 11295,-28"/>
+<text text-anchor="start" x="11303" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayoutTransform</text>
+<text text-anchor="middle" x="11372.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="11295,-99 11450,-99 "/>
+<text text-anchor="start" x="11303" y="-87" font-family="Helvetica,sans-Serif" font-size="10.00">+ index_map</text>
+<text text-anchor="start" x="11303" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ pad_value</text>
+<text text-anchor="start" x="11303" y="-65" font-family="Helvetica,sans-Serif" font-size="10.00">+ axis_separators</text>
+<text text-anchor="start" x="11303" y="-54" font-family="Helvetica,sans-Serif" font-size="10.00">+ input_axis_separators</text>
+<polyline fill="none" stroke="black" points="11295,-47 11450,-47 "/>
+<text text-anchor="start" x="11303" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node127->Node128 -->
<g id="edge127" class="edge">
<title>Node127->Node128</title>
-<path fill="none" stroke="midnightblue" d="M11412.5,-194.11C11412.5,-181.85 11412.5,-169.04 11412.5,-156.62"/>
-<polygon fill="none" stroke="midnightblue" points="11409,-194.26 11412.5,-204.26 11416,-194.26 11409,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M11372.5,-194.13C11372.5,-172.48 11372.5,-149.16 11372.5,-129.23"/>
+<polygon fill="none" stroke="midnightblue" points="11369,-194.26 11372.5,-204.26 11376,-194.26 11369,-194.26"/>
</g>
<!-- Node130 -->
<g id="node130" class="node">
<title>Node130</title>
-<g id="a_node130"><a xlink:href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
-<polygon fill="white" stroke="black" points="11539.5,-0.5 11539.5,-156.5 11699.5,-156.5 11699.5,-0.5 11539.5,-0.5"/>
-<text text-anchor="start" x="11547.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DTranspose</text>
-<text text-anchor="middle" x="11619.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
-<polyline fill="none" stroke="black" points="11539.5,-126.5 11699.5,-126.5 "/>
-<text text-anchor="start" x="11547.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
-<text text-anchor="start" x="11547.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
-<text text-anchor="start" x="11547.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_padding</text>
-<text text-anchor="start" x="11547.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
-<text text-anchor="start" x="11547.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
-<text text-anchor="start" x="11547.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
-<text text-anchor="start" x="11547.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
-<text text-anchor="start" x="11547.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
-<text text-anchor="start" x="11547.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
-<polyline fill="none" stroke="black" points="11539.5,-19.5 11699.5,-19.5 "/>
-<text text-anchor="start" x="11547.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node130"><a xlink:href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv1DTranspose operator.">
+<polygon fill="white" stroke="black" points="11497.5,-0.5 11497.5,-156.5 11657.5,-156.5 11657.5,-0.5 11497.5,-0.5"/>
+<text text-anchor="start" x="11505.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DTranspose</text>
+<text text-anchor="middle" x="11577.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="11497.5,-126.5 11657.5,-126.5 "/>
+<text text-anchor="start" x="11505.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="11505.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="11505.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_padding</text>
+<text text-anchor="start" x="11505.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="11505.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
+<text text-anchor="start" x="11505.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
+<text text-anchor="start" x="11505.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
+<text text-anchor="start" x="11505.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<text text-anchor="start" x="11505.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="11497.5,-19.5 11657.5,-19.5 "/>
+<text text-anchor="start" x="11505.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node129->Node130 -->
<g id="edge129" class="edge">
<title>Node129->Node130</title>
-<path fill="none" stroke="midnightblue" d="M11619.5,-194.11C11619.5,-181.85 11619.5,-169.04 11619.5,-156.62"/>
-<polygon fill="none" stroke="midnightblue" points="11616,-194.26 11619.5,-204.26 11623,-194.26 11616,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M11577.5,-194.11C11577.5,-181.85 11577.5,-169.04 11577.5,-156.62"/>
+<polygon fill="none" stroke="midnightblue" points="11574,-194.26 11577.5,-204.26 11581,-194.26 11574,-194.26"/>
</g>
<!-- Node132 -->
<g id="node132" class="node">
<title>Node132</title>
-<g id="a_node132"><a xlink:href="structtvm_1_1relax_1_1PermuteDimsAttrs.html" target="_top" xlink:title="Attributes used in permute_dims operator.">
-<polygon fill="white" stroke="black" points="11735,-50 11735,-107 11898,-107 11898,-50 11735,-50"/>
-<text text-anchor="middle" x="11816.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PermuteDimsAttrs</text>
-<polyline fill="none" stroke="black" points="11735,-88 11898,-88 "/>
-<text text-anchor="start" x="11743" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
-<polyline fill="none" stroke="black" points="11735,-69 11898,-69 "/>
-<text text-anchor="start" x="11743" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node132"><a xlink:href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
+<polygon fill="white" stroke="black" points="11704.5,-0.5 11704.5,-156.5 11864.5,-156.5 11864.5,-0.5 11704.5,-0.5"/>
+<text text-anchor="start" x="11712.5" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DTranspose</text>
+<text text-anchor="middle" x="11784.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polyline fill="none" stroke="black" points="11704.5,-126.5 11864.5,-126.5 "/>
+<text text-anchor="start" x="11712.5" y="-114.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ strides</text>
+<text text-anchor="start" x="11712.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding</text>
+<text text-anchor="start" x="11712.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ output_padding</text>
+<text text-anchor="start" x="11712.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dilation</text>
+<text text-anchor="start" x="11712.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ groups</text>
+<text text-anchor="start" x="11712.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ data_layout</text>
+<text text-anchor="start" x="11712.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kernel_layout</text>
+<text text-anchor="start" x="11712.5" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_layout</text>
+<text text-anchor="start" x="11712.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_dtype</text>
+<polyline fill="none" stroke="black" points="11704.5,-19.5 11864.5,-19.5 "/>
+<text text-anchor="start" x="11712.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node131->Node132 -->
<g id="edge131" class="edge">
<title>Node131->Node132</title>
-<path fill="none" stroke="midnightblue" d="M11816.5,-194.11C11816.5,-163.76 11816.5,-130.08 11816.5,-107.14"/>
-<polygon fill="none" stroke="midnightblue" points="11813,-194.26 11816.5,-204.26 11820,-194.26 11813,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M11784.5,-194.11C11784.5,-181.85 11784.5,-169.04 11784.5,-156.62"/>
+<polygon fill="none" stroke="midnightblue" points="11781,-194.26 11784.5,-204.26 11788,-194.26 11781,-194.26"/>
</g>
<!-- Node134 -->
<g id="node134" class="node">
<title>Node134</title>
-<g id="a_node134"><a xlink:href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_top" xlink:title="Attributes used in group_norm operator.">
-<polygon fill="white" stroke="black" points="11921.5,-22.5 11921.5,-134.5 12073.5,-134.5 12073.5,-22.5 11921.5,-22.5"/>
-<text text-anchor="middle" x="11997.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GroupNormAttrs</text>
-<polyline fill="none" stroke="black" points="11921.5,-115.5 12073.5,-115.5 "/>
-<text text-anchor="start" x="11929.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ num_groups</text>
-<text text-anchor="start" x="11929.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ channel_axis</text>
-<text text-anchor="start" x="11929.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
-<text text-anchor="start" x="11929.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
-<text text-anchor="start" x="11929.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ center</text>
-<text text-anchor="start" x="11929.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
-<polyline fill="none" stroke="black" points="11921.5,-41.5 12073.5,-41.5 "/>
-<text text-anchor="start" x="11929.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node134"><a xlink:href="structtvm_1_1relax_1_1PermuteDimsAttrs.html" target="_top" xlink:title="Attributes used in permute_dims operator.">
+<polygon fill="white" stroke="black" points="11900,-50 11900,-107 12063,-107 12063,-50 11900,-50"/>
+<text text-anchor="middle" x="11981.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PermuteDimsAttrs</text>
+<polyline fill="none" stroke="black" points="11900,-88 12063,-88 "/>
+<text text-anchor="start" x="11908" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
+<polyline fill="none" stroke="black" points="11900,-69 12063,-69 "/>
+<text text-anchor="start" x="11908" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node133->Node134 -->
<g id="edge133" class="edge">
<title>Node133->Node134</title>
-<path fill="none" stroke="midnightblue" d="M11997.5,-194.12C11997.5,-174.44 11997.5,-153.37 11997.5,-134.73"/>
-<polygon fill="none" stroke="midnightblue" points="11994,-194.26 11997.5,-204.26 12001,-194.26 11994,-194.26"/>
+<path fill="none" stroke="midnightblue" d="M11981.5,-194.11C11981.5,-163.76 11981.5,-130.08 11981.5,-107.14"/>
+<polygon fill="none" stroke="midnightblue" points="11978,-194.26 11981.5,-204.26 11985,-194.26 11978,-194.26"/>
</g>
<!-- Node136 -->
<g id="node136" class="node">
<title>Node136</title>
-<g id="a_node136"><a xlink:href="structtvm_1_1relax_1_1GatherNDAttrs.html" target="_top" xlink:title="Attributes used in gather_nd operators.">
-<polygon fill="white" stroke="black" points="12114.5,-50 12114.5,-107 12258.5,-107 12258.5,-50 12114.5,-50"/>
-<text text-anchor="middle" x="12186.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherNDAttrs</text>
-<polyline fill="none" stroke="black" points="12114.5,-88 12258.5,-88 "/>
-<text text-anchor="start" x="12122.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ batch_dims</text>
-<polyline fill="none" stroke="black" points="12114.5,-69 12258.5,-69 "/>
-<text text-anchor="start" x="12122.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+<g id="a_node136"><a xlink:href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_top" xlink:title="Attributes used in group_norm operator.">
+<polygon fill="white" stroke="black" points="12086.5,-22.5 12086.5,-134.5 12238.5,-134.5 12238.5,-22.5 12086.5,-22.5"/>
+<text text-anchor="middle" x="12162.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GroupNormAttrs</text>
+<polyline fill="none" stroke="black" points="12086.5,-115.5 12238.5,-115.5 "/>
+<text text-anchor="start" x="12094.5" y="-103.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ num_groups</text>
+<text text-anchor="start" x="12094.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ channel_axis</text>
+<text text-anchor="start" x="12094.5" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ axes</text>
+<text text-anchor="start" x="12094.5" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ epsilon</text>
+<text text-anchor="start" x="12094.5" y="-59.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ center</text>
+<text text-anchor="start" x="12094.5" y="-48.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ scale</text>
+<polyline fill="none" stroke="black" points="12086.5,-41.5 12238.5,-41.5 "/>
+<text text-anchor="start" x="12094.5" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
</a>
</g>
</g>
<!-- Node135->Node136 -->
<g id="edge135" class="edge">
<title>Node135->Node136</title>
-<path fill="none" stroke="midnightblue" d="M12186.5,-199.72C12186.5,-167.95 12186.5,-131.45 12186.5,-107.09"/>
-<polygon fill="none" stroke="midnightblue" points="12183,-199.85 12186.5,-209.85 12190,-199.85 12183,-199.85"/>
+<path fill="none" stroke="midnightblue" d="M12162.5,-194.12C12162.5,-174.44 12162.5,-153.37 12162.5,-134.73"/>
+<polygon fill="none" stroke="midnightblue" points="12159,-194.26 12162.5,-204.26 12166,-194.26 12159,-194.26"/>
+</g>
+<!-- Node138 -->
+<g id="node138" class="node">
+<title>Node138</title>
+<g id="a_node138"><a xlink:href="structtvm_1_1relax_1_1GatherNDAttrs.html" target="_top" xlink:title="Attributes used in gather_nd operators.">
+<polygon fill="white" stroke="black" points="12279.5,-50 12279.5,-107 12423.5,-107 12423.5,-50 12279.5,-50"/>
+<text text-anchor="middle" x="12351.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherNDAttrs</text>
+<polyline fill="none" stroke="black" points="12279.5,-88 12423.5,-88 "/>
+<text text-anchor="start" x="12287.5" y="-76" font-family="Helvetica,sans-Serif" font-size="10.00">+ batch_dims</text>
+<polyline fill="none" stroke="black" points="12279.5,-69 12423.5,-69 "/>
+<text text-anchor="start" x="12287.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_ATTRS()</text>
+</a>
+</g>
+</g>
+<!-- Node137->Node138 -->
+<g id="edge137" class="edge">
+<title>Node137->Node138</title>
+<path fill="none" stroke="midnightblue" d="M12351.5,-199.72C12351.5,-167.95 12351.5,-131.45 12351.5,-107.09"/>
+<polygon fill="none" stroke="midnightblue" points="12348,-199.85 12351.5,-209.85 12355,-199.85 12348,-199.85"/>
</g>
</g>
</svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object.html b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object.html
index f9609dd396..4ef5f4b00b 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object.html
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object.html
@@ -87,7 +87,7 @@ $(function() {
<div class="dynheader">
Inheritance diagram for tvm::runtime::Object:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1Object__inherit__graph.svg" width="50090" height="1483"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1runtime_1_1Object__inherit__graph.svg" width="50310" height="1483"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div class="dynheader">
diff --git a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__inherit__graph.svg
index 41c9b23d86..05fb809eed 100644
--- a/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1runtime_1_1Object__inherit__graph.svg
@@ -4,52 +4,52 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::runtime::Object Pages: 1 -->
-<svg width="37567pt" height="1112pt"
- viewBox="0.00 0.00 37567.00 1112.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="37732pt" height="1112pt"
+ viewBox="0.00 0.00 37732.00 1112.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 1108)">
<title>tvm::runtime::Object</title>
-<polygon fill="white" stroke="transparent" points="-4,4 -4,-1108 37563,-1108 37563,4 -4,4"/>
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1108 37728,-1108 37728,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="base class of all object containers.">
-<polygon fill="#bfbfbf" stroke="black" points="24737.5,-705.5 24737.5,-1103.5 24921.5,-1103.5 24921.5,-705.5 24737.5,-705.5"/>
-<text text-anchor="middle" x="24829.5" y="-1091.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Object</text>
-<polyline fill="none" stroke="black" points="24737.5,-1084.5 24921.5,-1084.5 "/>
-<text text-anchor="start" x="24745.5" y="-1072.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="24745.5" y="-1061.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_final</text>
-<text text-anchor="start" x="24745.5" y="-1050.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<text text-anchor="start" x="24745.5" y="-1039.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots_can</text>
-<text text-anchor="start" x="24745.5" y="-1028.5" font-family="Helvetica,sans-Serif" font-size="10.00">_overflow</text>
-<text text-anchor="start" x="24745.5" y="-1017.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_visit</text>
-<text text-anchor="start" x="24745.5" y="-1006.5" font-family="Helvetica,sans-Serif" font-size="10.00">_attrs</text>
-<text text-anchor="start" x="24745.5" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="24745.5" y="-984.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="24745.5" y="-973.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="24745.5" y="-962.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="24745.5" y="-951.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
-<text text-anchor="start" x="24745.5" y="-940.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_index_</text>
-<text text-anchor="start" x="24745.5" y="-929.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ref_counter_</text>
-<text text-anchor="start" x="24745.5" y="-918.5" font-family="Helvetica,sans-Serif" font-size="10.00"># deleter_</text>
-<polyline fill="none" stroke="black" points="24737.5,-911.5 24921.5,-911.5 "/>
-<text text-anchor="start" x="24745.5" y="-899.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_index()</text>
-<text text-anchor="start" x="24745.5" y="-888.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKey()</text>
-<text text-anchor="start" x="24745.5" y="-877.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKeyHash()</text>
-<text text-anchor="start" x="24745.5" y="-866.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInstance()</text>
-<text text-anchor="start" x="24745.5" y="-855.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
-<text text-anchor="start" x="24745.5" y="-844.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="24745.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="24745.5" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
-<text text-anchor="start" x="24745.5" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="24745.5" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
-<text text-anchor="start" x="24745.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2Key()</text>
-<text text-anchor="start" x="24745.5" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2KeyHash()</text>
-<text text-anchor="start" x="24745.5" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeKey2Index()</text>
-<text text-anchor="start" x="24745.5" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _GetOrAllocRuntimeTypeIndex()</text>
-<text text-anchor="start" x="24745.5" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RuntimeTypeIndex()</text>
-<text text-anchor="start" x="24745.5" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IncRef()</text>
-<text text-anchor="start" x="24745.5" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecRef()</text>
-<text text-anchor="start" x="24745.5" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetOrAllocRuntimeTypeIndex()</text>
+<polygon fill="#bfbfbf" stroke="black" points="24902.5,-705.5 24902.5,-1103.5 25086.5,-1103.5 25086.5,-705.5 24902.5,-705.5"/>
+<text text-anchor="middle" x="24994.5" y="-1091.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::Object</text>
+<polyline fill="none" stroke="black" points="24902.5,-1084.5 25086.5,-1084.5 "/>
+<text text-anchor="start" x="24910.5" y="-1072.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="24910.5" y="-1061.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_final</text>
+<text text-anchor="start" x="24910.5" y="-1050.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<text text-anchor="start" x="24910.5" y="-1039.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots_can</text>
+<text text-anchor="start" x="24910.5" y="-1028.5" font-family="Helvetica,sans-Serif" font-size="10.00">_overflow</text>
+<text text-anchor="start" x="24910.5" y="-1017.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_visit</text>
+<text text-anchor="start" x="24910.5" y="-1006.5" font-family="Helvetica,sans-Serif" font-size="10.00">_attrs</text>
+<text text-anchor="start" x="24910.5" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="24910.5" y="-984.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="24910.5" y="-973.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="24910.5" y="-962.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="24910.5" y="-951.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
+<text text-anchor="start" x="24910.5" y="-940.5" font-family="Helvetica,sans-Serif" font-size="10.00"># type_index_</text>
+<text text-anchor="start" x="24910.5" y="-929.5" font-family="Helvetica,sans-Serif" font-size="10.00"># ref_counter_</text>
+<text text-anchor="start" x="24910.5" y="-918.5" font-family="Helvetica,sans-Serif" font-size="10.00"># deleter_</text>
+<polyline fill="none" stroke="black" points="24902.5,-911.5 25086.5,-911.5 "/>
+<text text-anchor="start" x="24910.5" y="-899.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_index()</text>
+<text text-anchor="start" x="24910.5" y="-888.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKey()</text>
+<text text-anchor="start" x="24910.5" y="-877.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTypeKeyHash()</text>
+<text text-anchor="start" x="24910.5" y="-866.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsInstance()</text>
+<text text-anchor="start" x="24910.5" y="-855.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ unique()</text>
+<text text-anchor="start" x="24910.5" y="-844.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="24910.5" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="24910.5" y="-822.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Object()</text>
+<text text-anchor="start" x="24910.5" y="-811.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
+<text text-anchor="start" x="24910.5" y="-800.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ operator=()</text>
+<text text-anchor="start" x="24910.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2Key()</text>
+<text text-anchor="start" x="24910.5" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeIndex2KeyHash()</text>
+<text text-anchor="start" x="24910.5" y="-767.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TypeKey2Index()</text>
+<text text-anchor="start" x="24910.5" y="-756.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _GetOrAllocRuntimeTypeIndex()</text>
+<text text-anchor="start" x="24910.5" y="-745.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RuntimeTypeIndex()</text>
+<text text-anchor="start" x="24910.5" y="-734.5" font-family="Helvetica,sans-Serif" font-size="10.00"># IncRef()</text>
+<text text-anchor="start" x="24910.5" y="-723.5" font-family="Helvetica,sans-Serif" font-size="10.00"># DecRef()</text>
+<text text-anchor="start" x="24910.5" y="-712.5" font-family="Helvetica,sans-Serif" font-size="10.00"># GetOrAllocRuntimeTypeIndex()</text>
</a>
</g>
</g>
@@ -57,3648 +57,3648 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="classtvm_1_1AttrFieldInfoNode.html" target="_top" xlink:title="Information about attribute fields in string representations.">
-<polygon fill="white" stroke="black" points="6176.5,-424.5 6176.5,-580.5 6352.5,-580.5 6352.5,-424.5 6176.5,-424.5"/>
-<text text-anchor="middle" x="6264.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrFieldInfoNode</text>
-<polyline fill="none" stroke="black" points="6176.5,-561.5 6352.5,-561.5 "/>
-<text text-anchor="start" x="6184.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="6184.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_info</text>
-<text text-anchor="start" x="6184.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ description</text>
-<text text-anchor="start" x="6184.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="6184.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="6184.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6184.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="6184.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="6176.5,-465.5 6352.5,-465.5 "/>
-<text text-anchor="start" x="6184.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6184.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="6184.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<polygon fill="white" stroke="black" points="6246.5,-424.5 6246.5,-580.5 6422.5,-580.5 6422.5,-424.5 6246.5,-424.5"/>
+<text text-anchor="middle" x="6334.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrFieldInfoNode</text>
+<polyline fill="none" stroke="black" points="6246.5,-561.5 6422.5,-561.5 "/>
+<text text-anchor="start" x="6254.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="6254.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ type_info</text>
+<text text-anchor="start" x="6254.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ description</text>
+<text text-anchor="start" x="6254.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="6254.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="6254.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6254.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="6254.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="6246.5,-465.5 6422.5,-465.5 "/>
+<text text-anchor="start" x="6254.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6254.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="6254.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node2 -->
<g id="edge1" class="edge">
<title>Node1->Node2</title>
-<path fill="none" stroke="midnightblue" d="M24727.16,-903.61C23272.18,-905.02 6785.43,-915.5 6361.5,-669 6328.25,-649.66 6305.25,-614.09 6290.03,-580.86"/>
-<polygon fill="none" stroke="midnightblue" points="24727.32,-907.11 24737.32,-903.6 24727.31,-900.11 24727.32,-907.11"/>
+<path fill="none" stroke="midnightblue" d="M24892.19,-903.62C23433.39,-905.12 6857.68,-916.79 6431.5,-669 6398.25,-649.67 6375.25,-614.09 6360.03,-580.86"/>
+<polygon fill="none" stroke="midnightblue" points="24892.38,-907.12 24902.37,-903.61 24892.37,-900.12 24892.38,-907.12"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="classtvm_1_1BaseAttrsNode.html" target="_top" xlink:title="Base class of all attribute class.">
-<polygon fill="white" stroke="black" points="6371,-408 6371,-597 6544,-597 6544,-408 6371,-408"/>
-<text text-anchor="middle" x="6457.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
-<polyline fill="none" stroke="black" points="6371,-578 6544,-578 "/>
-<text text-anchor="start" x="6379" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="6379" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6379" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="6379" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="6379" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="6371,-515 6544,-515 "/>
-<text text-anchor="start" x="6379" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
-<text text-anchor="start" x="6379" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="6379" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
-<text text-anchor="start" x="6379" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintDocString()</text>
-<text text-anchor="start" x="6379" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
-<text text-anchor="start" x="6379" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
-<text text-anchor="start" x="6379" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
-<text text-anchor="start" x="6379" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="6379" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<polygon fill="white" stroke="black" points="6441,-408 6441,-597 6614,-597 6614,-408 6441,-408"/>
+<text text-anchor="middle" x="6527.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseAttrsNode</text>
+<polyline fill="none" stroke="black" points="6441,-578 6614,-578 "/>
+<text text-anchor="start" x="6449" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="6449" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6449" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="6449" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="6449" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="6441,-515 6614,-515 "/>
+<text text-anchor="start" x="6449" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BaseAttrsNode()</text>
+<text text-anchor="start" x="6449" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="6449" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitBySeq()</text>
+<text text-anchor="start" x="6449" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintDocString()</text>
+<text text-anchor="start" x="6449" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitNonDefaultAttrs()</text>
+<text text-anchor="start" x="6449" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ListFieldInfo()</text>
+<text text-anchor="start" x="6449" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitByPackedArgs()</text>
+<text text-anchor="start" x="6449" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="6449" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node3 -->
<g id="edge2" class="edge">
<title>Node1->Node3</title>
-<path fill="none" stroke="midnightblue" d="M24727.34,-901.89C23856.09,-888.06 17582.46,-787.2 12491.5,-669 10063.5,-612.63 7086.52,-522.69 6544.31,-506.16"/>
-<polygon fill="none" stroke="midnightblue" points="24727.29,-905.39 24737.34,-902.05 24727.4,-898.39 24727.29,-905.39"/>
+<path fill="none" stroke="midnightblue" d="M24892.34,-901.87C24021.1,-887.91 17747.49,-786.11 12656.5,-669 10188.29,-612.22 7161.54,-522.48 6614.35,-506.11"/>
+<polygon fill="none" stroke="midnightblue" points="24892.29,-905.37 24902.34,-902.03 24892.4,-898.37 24892.29,-905.37"/>
</g>
-<!-- Node140 -->
-<g id="node73" class="node">
-<title>Node140</title>
-<g id="a_node73"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
-<polygon fill="white" stroke="black" points="12501,-435.5 12501,-569.5 12674,-569.5 12674,-435.5 12501,-435.5"/>
-<text text-anchor="middle" x="12587.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExprNode</text>
-<polyline fill="none" stroke="black" points="12501,-550.5 12674,-550.5 "/>
-<text text-anchor="start" x="12509" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="12509" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="12509" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="12509" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="12509" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="12509" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="12509" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<polyline fill="none" stroke="black" points="12501,-465.5 12674,-465.5 "/>
-<text text-anchor="start" x="12509" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="12509" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node140 -->
-<g id="edge72" class="edge">
-<title>Node1->Node140</title>
-<path fill="none" stroke="midnightblue" d="M24727.1,-902.93C23568.23,-896.26 12958.38,-830.88 12683.5,-669 12646.72,-647.34 12622.68,-605.73 12607.85,-569.65"/>
-<polygon fill="none" stroke="midnightblue" points="24727.45,-906.43 24737.47,-902.99 24727.49,-899.43 24727.45,-906.43"/>
-</g>
-<!-- Node215 -->
-<g id="node76" class="node">
-<title>Node215</title>
-<g id="a_node76"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="12692.5,-441 12692.5,-564 12868.5,-564 12868.5,-441 12692.5,-441"/>
-<text text-anchor="middle" x="12780.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticContextNode</text>
-<polyline fill="none" stroke="black" points="12692.5,-545 12868.5,-545 "/>
-<text text-anchor="start" x="12700.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ module</text>
-<text text-anchor="start" x="12700.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ diagnostics</text>
-<text text-anchor="start" x="12700.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ renderer</text>
-<text text-anchor="start" x="12700.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="12692.5,-493 12868.5,-493 "/>
-<text text-anchor="start" x="12700.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12700.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12700.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="12700.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node215 -->
-<g id="edge75" class="edge">
-<title>Node1->Node215</title>
-<path fill="none" stroke="midnightblue" d="M24726.97,-902.89C23577.66,-895.85 13148.19,-827.65 12877.5,-669 12838.71,-646.27 12813.86,-601.48 12799.03,-564.23"/>
-<polygon fill="none" stroke="midnightblue" points="24727.24,-906.39 24737.26,-902.95 24727.28,-899.39 24727.24,-906.39"/>
-</g>
-<!-- Node216 -->
-<g id="node77" class="node">
-<title>Node216</title>
-<g id="a_node77"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message.">
-<polygon fill="white" stroke="black" points="12886.5,-435.5 12886.5,-569.5 13062.5,-569.5 13062.5,-435.5 12886.5,-435.5"/>
-<text text-anchor="middle" x="12974.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticNode</text>
-<polyline fill="none" stroke="black" points="12886.5,-550.5 13062.5,-550.5 "/>
-<text text-anchor="start" x="12894.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ level</text>
-<text text-anchor="start" x="12894.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="12894.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ loc</text>
-<text text-anchor="start" x="12894.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ message</text>
-<text text-anchor="start" x="12894.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="12886.5,-487.5 13062.5,-487.5 "/>
-<text text-anchor="start" x="12894.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="12894.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="12894.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="12894.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node216 -->
-<g id="edge76" class="edge">
-<title>Node1->Node216</title>
-<path fill="none" stroke="midnightblue" d="M24726.87,-902.85C23587.41,-895.5 13337.63,-825.04 13071.5,-669 13034.58,-647.35 13010.29,-605.74 12995.24,-569.66"/>
-<polygon fill="none" stroke="midnightblue" points="24727.06,-906.35 24737.08,-902.92 24727.1,-899.35 24727.06,-906.35"/>
+<!-- Node142 -->
+<g id="node74" class="node">
+<title>Node142</title>
+<g id="a_node74"><a xlink:href="classtvm_1_1BaseExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
+<polygon fill="white" stroke="black" points="12666,-435.5 12666,-569.5 12839,-569.5 12839,-435.5 12666,-435.5"/>
+<text text-anchor="middle" x="12752.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseExprNode</text>
+<polyline fill="none" stroke="black" points="12666,-550.5 12839,-550.5 "/>
+<text text-anchor="start" x="12674" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="12674" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="12674" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="12674" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="12674" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="12674" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="12674" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<polyline fill="none" stroke="black" points="12666,-465.5 12839,-465.5 "/>
+<text text-anchor="start" x="12674" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="12674" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node142 -->
+<g id="edge73" class="edge">
+<title>Node1->Node142</title>
+<path fill="none" stroke="midnightblue" d="M24892.1,-902.93C23733.23,-896.26 13123.38,-830.88 12848.5,-669 12811.72,-647.34 12787.68,-605.73 12772.85,-569.65"/>
+<polygon fill="none" stroke="midnightblue" points="24892.45,-906.43 24902.47,-902.99 24892.49,-899.43 24892.45,-906.43"/>
</g>
<!-- Node217 -->
-<g id="node78" class="node">
+<g id="node77" class="node">
<title>Node217</title>
-<g id="a_node78"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format.">
-<polygon fill="white" stroke="black" points="13080.5,-457.5 13080.5,-547.5 13256.5,-547.5 13256.5,-457.5 13080.5,-457.5"/>
-<text text-anchor="middle" x="13168.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticRendererNode</text>
-<polyline fill="none" stroke="black" points="13080.5,-528.5 13256.5,-528.5 "/>
-<text text-anchor="start" x="13088.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ renderer</text>
-<text text-anchor="start" x="13088.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="13080.5,-498.5 13256.5,-498.5 "/>
-<text text-anchor="start" x="13088.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13088.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="13088.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node77"><a xlink:href="classtvm_1_1DiagnosticContextNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="12857.5,-441 12857.5,-564 13033.5,-564 13033.5,-441 12857.5,-441"/>
+<text text-anchor="middle" x="12945.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticContextNode</text>
+<polyline fill="none" stroke="black" points="12857.5,-545 13033.5,-545 "/>
+<text text-anchor="start" x="12865.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ module</text>
+<text text-anchor="start" x="12865.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ diagnostics</text>
+<text text-anchor="start" x="12865.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ renderer</text>
+<text text-anchor="start" x="12865.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="12857.5,-493 13033.5,-493 "/>
+<text text-anchor="start" x="12865.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="12865.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="12865.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="12865.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node217 -->
-<g id="edge77" class="edge">
+<g id="edge76" class="edge">
<title>Node1->Node217</title>
-<path fill="none" stroke="midnightblue" d="M24727.26,-902.82C23600.1,-895.16 13527.12,-822.45 13265.5,-669 13220.83,-642.8 13194.64,-587.36 13180.96,-547.88"/>
-<polygon fill="none" stroke="midnightblue" points="24727.34,-906.32 24737.36,-902.89 24727.39,-899.32 24727.34,-906.32"/>
+<path fill="none" stroke="midnightblue" d="M24891.97,-902.89C23742.66,-895.85 13313.19,-827.65 13042.5,-669 13003.71,-646.27 12978.86,-601.48 12964.03,-564.23"/>
+<polygon fill="none" stroke="midnightblue" points="24892.24,-906.39 24902.26,-902.95 24892.28,-899.39 24892.24,-906.39"/>
</g>
<!-- Node218 -->
-<g id="node79" class="node">
+<g id="node78" class="node">
<title>Node218</title>
-<g id="a_node79"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM's global environment.">
-<polygon fill="white" stroke="black" points="13274.5,-413.5 13274.5,-591.5 13450.5,-591.5 13450.5,-413.5 13274.5,-413.5"/>
-<text text-anchor="middle" x="13362.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFuncNode</text>
-<polyline fill="none" stroke="black" points="13274.5,-572.5 13450.5,-572.5 "/>
-<text text-anchor="start" x="13282.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="13282.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func</text>
-<text text-anchor="start" x="13282.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="13282.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="13282.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="13282.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="13282.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="13274.5,-487.5 13450.5,-487.5 "/>
-<text text-anchor="start" x="13282.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EnvFuncNode()</text>
-<text text-anchor="start" x="13282.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13282.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13282.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13282.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="13282.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node78"><a xlink:href="classtvm_1_1DiagnosticNode.html" target="_top" xlink:title="A compiler diagnostic message.">
+<polygon fill="white" stroke="black" points="13051.5,-435.5 13051.5,-569.5 13227.5,-569.5 13227.5,-435.5 13051.5,-435.5"/>
+<text text-anchor="middle" x="13139.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticNode</text>
+<polyline fill="none" stroke="black" points="13051.5,-550.5 13227.5,-550.5 "/>
+<text text-anchor="start" x="13059.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ level</text>
+<text text-anchor="start" x="13059.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="13059.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ loc</text>
+<text text-anchor="start" x="13059.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ message</text>
+<text text-anchor="start" x="13059.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="13051.5,-487.5 13227.5,-487.5 "/>
+<text text-anchor="start" x="13059.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13059.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13059.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="13059.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node218 -->
-<g id="edge78" class="edge">
+<g id="edge77" class="edge">
<title>Node1->Node218</title>
-<path fill="none" stroke="midnightblue" d="M24727.26,-902.78C23610.51,-894.8 13716.57,-819.84 13459.5,-669 13429.91,-651.64 13408.43,-621.46 13393.32,-591.58"/>
-<polygon fill="none" stroke="midnightblue" points="24727.24,-906.28 24737.27,-902.86 24727.29,-899.28 24727.24,-906.28"/>
+<path fill="none" stroke="midnightblue" d="M24891.87,-902.85C23752.41,-895.5 13502.63,-825.04 13236.5,-669 13199.58,-647.35 13175.29,-605.74 13160.24,-569.66"/>
+<polygon fill="none" stroke="midnightblue" points="24892.06,-906.35 24902.08,-902.92 24892.1,-899.35 24892.06,-906.35"/>
</g>
<!-- Node219 -->
-<g id="node80" class="node">
+<g id="node79" class="node">
<title>Node219</title>
-<g id="a_node80"><a xlink:href="classtvm_1_1GlobalInfoNode.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself. Base node for all global in...">
-<polygon fill="white" stroke="black" points="13469,-446.5 13469,-558.5 13642,-558.5 13642,-446.5 13469,-446.5"/>
-<text text-anchor="middle" x="13555.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfoNode</text>
-<polyline fill="none" stroke="black" points="13469,-539.5 13642,-539.5 "/>
-<text text-anchor="start" x="13477" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="13477" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="13477" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="13477" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="13477" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="13469,-476.5 13642,-476.5 "/>
-<text text-anchor="start" x="13477" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="13477" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node79"><a xlink:href="classtvm_1_1DiagnosticRendererNode.html" target="_top" xlink:title="Display diagnostics in a given display format.">
+<polygon fill="white" stroke="black" points="13245.5,-457.5 13245.5,-547.5 13421.5,-547.5 13421.5,-457.5 13245.5,-457.5"/>
+<text text-anchor="middle" x="13333.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DiagnosticRendererNode</text>
+<polyline fill="none" stroke="black" points="13245.5,-528.5 13421.5,-528.5 "/>
+<text text-anchor="start" x="13253.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ renderer</text>
+<text text-anchor="start" x="13253.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="13245.5,-498.5 13421.5,-498.5 "/>
+<text text-anchor="start" x="13253.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13253.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="13253.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node219 -->
-<g id="edge79" class="edge">
+<g id="edge78" class="edge">
<title>Node1->Node219</title>
-<path fill="none" stroke="midnightblue" d="M24726.87,-902.75C23618.64,-894.48 13903.71,-817.82 13651.5,-669 13611.02,-645.11 13585.96,-597.07 13571.64,-558.87"/>
-<polygon fill="none" stroke="midnightblue" points="24727.16,-906.25 24737.19,-902.83 24727.22,-899.25 24727.16,-906.25"/>
+<path fill="none" stroke="midnightblue" d="M24892.26,-902.82C23765.1,-895.16 13692.12,-822.45 13430.5,-669 13385.83,-642.8 13359.64,-587.36 13345.96,-547.88"/>
+<polygon fill="none" stroke="midnightblue" points="24892.34,-906.32 24902.36,-902.89 24892.39,-899.32 24892.34,-906.32"/>
</g>
-<!-- Node223 -->
-<g id="node84" class="node">
-<title>Node223</title>
-<g id="a_node84"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars.">
-<polygon fill="white" stroke="black" points="13660.5,-408 13660.5,-597 13836.5,-597 13836.5,-408 13660.5,-408"/>
-<text text-anchor="middle" x="13748.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarSupplyNode</text>
-<polyline fill="none" stroke="black" points="13660.5,-578 13836.5,-578 "/>
-<text text-anchor="start" x="13668.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ name_supply_</text>
-<text text-anchor="start" x="13668.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="13668.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="13668.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="13668.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="13668.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="13660.5,-504 13836.5,-504 "/>
-<text text-anchor="start" x="13668.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalVarSupplyNode()</text>
-<text text-anchor="start" x="13668.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalVarSupplyNode()</text>
-<text text-anchor="start" x="13668.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ FreshGlobal()</text>
-<text text-anchor="start" x="13668.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ UniqueGlobalFor()</text>
-<text text-anchor="start" x="13668.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReserveGlobalVar()</text>
-<text text-anchor="start" x="13668.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13668.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="13668.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node223 -->
-<g id="edge83" class="edge">
-<title>Node1->Node223</title>
-<path fill="none" stroke="midnightblue" d="M24726.96,-902.71C23629.84,-894.05 14093.51,-814.65 13845.5,-669 13817.79,-652.73 13797.18,-625.2 13782.27,-597.23"/>
-<polygon fill="none" stroke="midnightblue" points="24727.15,-906.21 24737.18,-902.79 24727.21,-899.21 24727.15,-906.21"/>
+<!-- Node220 -->
+<g id="node80" class="node">
+<title>Node220</title>
+<g id="a_node80"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM's global environment.">
+<polygon fill="white" stroke="black" points="13439.5,-413.5 13439.5,-591.5 13615.5,-591.5 13615.5,-413.5 13439.5,-413.5"/>
+<text text-anchor="middle" x="13527.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFuncNode</text>
+<polyline fill="none" stroke="black" points="13439.5,-572.5 13615.5,-572.5 "/>
+<text text-anchor="start" x="13447.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="13447.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ func</text>
+<text text-anchor="start" x="13447.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="13447.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="13447.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="13447.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="13447.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="13439.5,-487.5 13615.5,-487.5 "/>
+<text text-anchor="start" x="13447.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EnvFuncNode()</text>
+<text text-anchor="start" x="13447.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13447.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="13447.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="13447.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="13447.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node220 -->
+<g id="edge79" class="edge">
+<title>Node1->Node220</title>
+<path fill="none" stroke="midnightblue" d="M24892.26,-902.78C23775.51,-894.8 13881.57,-819.84 13624.5,-669 13594.91,-651.64 13573.43,-621.46 13558.32,-591.58"/>
+<polygon fill="none" stroke="midnightblue" points="24892.24,-906.28 24902.27,-902.86 24892.29,-899.28 24892.24,-906.28"/>
</g>
-<!-- Node224 -->
-<g id="node85" class="node">
-<title>Node224</title>
-<g id="a_node85"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions.">
-<polygon fill="white" stroke="black" points="13854.5,-369.5 13854.5,-635.5 14012.5,-635.5 14012.5,-369.5 13854.5,-369.5"/>
-<text text-anchor="middle" x="13933.5" y="-623.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModuleNode</text>
-<polyline fill="none" stroke="black" points="13854.5,-616.5 14012.5,-616.5 "/>
-<text text-anchor="start" x="13862.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ functions</text>
-<text text-anchor="start" x="13862.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_map</text>
-<text text-anchor="start" x="13862.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ attrs</text>
-<text text-anchor="start" x="13862.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ global_infos</text>
-<text text-anchor="start" x="13862.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ global_var_map_</text>
-<text text-anchor="start" x="13862.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="13862.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="13862.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="13862.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="13862.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="13854.5,-498.5 14012.5,-498.5 "/>
-<text text-anchor="start" x="13862.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
-<text text-anchor="start" x="13862.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
-<text text-anchor="start" x="13862.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttrs()</text>
-<text text-anchor="start" x="13862.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNonzeroAttr()</text>
-<text text-anchor="start" x="13862.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IRModuleNode()</text>
-<text text-anchor="start" x="13862.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="13862.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="13862.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="13862.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="13862.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddUnchecked()</text>
-<text text-anchor="start" x="13862.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node224 -->
-<g id="edge84" class="edge">
-<title>Node1->Node224</title>
-<path fill="none" stroke="midnightblue" d="M24727.31,-902.72C23641.44,-894.3 14262.4,-817.32 14021.5,-669 14007.51,-660.38 13995.61,-648.73 13985.53,-635.56"/>
-<polygon fill="none" stroke="midnightblue" points="24727.4,-906.22 24737.43,-902.8 24727.46,-899.22 24727.4,-906.22"/>
+<!-- Node221 -->
+<g id="node81" class="node">
+<title>Node221</title>
+<g id="a_node81"><a xlink:href="classtvm_1_1GlobalInfoNode.html" target="_top" xlink:title="GlobalInfo are globally static object that are referred by the IR itself. Base node for all global in...">
+<polygon fill="white" stroke="black" points="13634,-446.5 13634,-558.5 13807,-558.5 13807,-446.5 13634,-446.5"/>
+<text text-anchor="middle" x="13720.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfoNode</text>
+<polyline fill="none" stroke="black" points="13634,-539.5 13807,-539.5 "/>
+<text text-anchor="start" x="13642" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="13642" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="13642" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="13642" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="13642" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="13634,-476.5 13807,-476.5 "/>
+<text text-anchor="start" x="13642" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="13642" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node221 -->
+<g id="edge80" class="edge">
+<title>Node1->Node221</title>
+<path fill="none" stroke="midnightblue" d="M24891.87,-902.75C23783.64,-894.48 14068.71,-817.82 13816.5,-669 13776.02,-645.11 13750.96,-597.07 13736.64,-558.87"/>
+<polygon fill="none" stroke="midnightblue" points="24892.16,-906.25 24902.19,-902.83 24892.22,-899.25 24892.16,-906.25"/>
</g>
<!-- Node225 -->
-<g id="node86" class="node">
+<g id="node85" class="node">
<title>Node225</title>
-<g id="a_node86"><a xlink:href="classtvm_1_1MemoryInfoNode.html" target="_top" xlink:title="Memory information of special memory region. Use MemoryInfo as its container type.">
-<polygon fill="white" stroke="black" points="14030.5,-441 14030.5,-564 14206.5,-564 14206.5,-441 14030.5,-441"/>
-<text text-anchor="middle" x="14118.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::MemoryInfoNode</text>
-<polyline fill="none" stroke="black" points="14030.5,-545 14206.5,-545 "/>
-<text text-anchor="start" x="14038.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ unit_bits</text>
-<text text-anchor="start" x="14038.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ max_num_bits</text>
-<text text-anchor="start" x="14038.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ max_simd_bits</text>
-<text text-anchor="start" x="14038.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ head_address</text>
-<text text-anchor="start" x="14038.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="14030.5,-482 14206.5,-482 "/>
-<text text-anchor="start" x="14038.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14038.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="14038.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node85"><a xlink:href="classtvm_1_1GlobalVarSupplyNode.html" target="_top" xlink:title="GlobalVarSupply can be used to generate unique GlobalVars.">
+<polygon fill="white" stroke="black" points="13825.5,-408 13825.5,-597 14001.5,-597 14001.5,-408 13825.5,-408"/>
+<text text-anchor="middle" x="13913.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarSupplyNode</text>
+<polyline fill="none" stroke="black" points="13825.5,-578 14001.5,-578 "/>
+<text text-anchor="start" x="13833.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ name_supply_</text>
+<text text-anchor="start" x="13833.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="13833.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="13833.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="13833.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="13833.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="13825.5,-504 14001.5,-504 "/>
+<text text-anchor="start" x="13833.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalVarSupplyNode()</text>
+<text text-anchor="start" x="13833.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ GlobalVarSupplyNode()</text>
+<text text-anchor="start" x="13833.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ FreshGlobal()</text>
+<text text-anchor="start" x="13833.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ UniqueGlobalFor()</text>
+<text text-anchor="start" x="13833.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReserveGlobalVar()</text>
+<text text-anchor="start" x="13833.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="13833.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="13833.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node225 -->
-<g id="edge85" class="edge">
+<g id="edge84" class="edge">
<title>Node1->Node225</title>
-<path fill="none" stroke="midnightblue" d="M24727.1,-902.63C23651.22,-893.32 14454.86,-809.69 14215.5,-669 14176.74,-646.22 14151.88,-601.44 14137.05,-564.2"/>
-<polygon fill="none" stroke="midnightblue" points="24727.1,-906.13 24737.13,-902.72 24727.16,-899.13 24727.1,-906.13"/>
+<path fill="none" stroke="midnightblue" d="M24891.96,-902.71C23794.84,-894.05 14258.51,-814.65 14010.5,-669 13982.79,-652.73 13962.18,-625.2 13947.27,-597.23"/>
+<polygon fill="none" stroke="midnightblue" points="24892.15,-906.21 24902.18,-902.79 24892.21,-899.21 24892.15,-906.21"/>
</g>
<!-- Node226 -->
-<g id="node87" class="node">
+<g id="node86" class="node">
<title>Node226</title>
-<g id="a_node87"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names.">
-<polygon fill="white" stroke="black" points="14224.5,-408 14224.5,-597 14400.5,-597 14400.5,-408 14224.5,-408"/>
-<text text-anchor="middle" x="14312.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::NameSupplyNode</text>
-<polyline fill="none" stroke="black" points="14224.5,-578 14400.5,-578 "/>
-<text text-anchor="start" x="14232.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ prefix_</text>
-<text text-anchor="start" x="14232.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="14232.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="14232.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="14232.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="14232.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="14224.5,-504 14400.5,-504 "/>
-<text text-anchor="start" x="14232.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ NameSupplyNode()</text>
-<text text-anchor="start" x="14232.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ NameSupplyNode()</text>
-<text text-anchor="start" x="14232.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ FreshName()</text>
-<text text-anchor="start" x="14232.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReserveName()</text>
-<text text-anchor="start" x="14232.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ContainsName()</text>
-<text text-anchor="start" x="14232.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14232.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="14232.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node86"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions.">
+<polygon fill="white" stroke="black" points="14019.5,-369.5 14019.5,-635.5 14177.5,-635.5 14177.5,-369.5 14019.5,-369.5"/>
+<text text-anchor="middle" x="14098.5" y="-623.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModuleNode</text>
+<polyline fill="none" stroke="black" points="14019.5,-616.5 14177.5,-616.5 "/>
+<text text-anchor="start" x="14027.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ functions</text>
+<text text-anchor="start" x="14027.5" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_map</text>
+<text text-anchor="start" x="14027.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ attrs</text>
+<text text-anchor="start" x="14027.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ global_infos</text>
+<text text-anchor="start" x="14027.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ global_var_map_</text>
+<text text-anchor="start" x="14027.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="14027.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="14027.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="14027.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="14027.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="14019.5,-498.5 14177.5,-498.5 "/>
+<text text-anchor="start" x="14027.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
+<text text-anchor="start" x="14027.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
+<text text-anchor="start" x="14027.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttrs()</text>
+<text text-anchor="start" x="14027.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasNonzeroAttr()</text>
+<text text-anchor="start" x="14027.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IRModuleNode()</text>
+<text text-anchor="start" x="14027.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14027.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="14027.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="14027.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
+<text text-anchor="start" x="14027.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddUnchecked()</text>
+<text text-anchor="start" x="14027.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
</a>
</g>
</g>
<!-- Node1->Node226 -->
-<g id="edge86" class="edge">
+<g id="edge85" class="edge">
<title>Node1->Node226</title>
-<path fill="none" stroke="midnightblue" d="M24726.94,-902.59C23661.21,-892.91 14644.31,-807.08 14409.5,-669 14381.8,-652.71 14361.2,-625.18 14346.28,-597.21"/>
-<polygon fill="none" stroke="midnightblue" points="24727.22,-906.09 24737.25,-902.68 24727.28,-899.09 24727.22,-906.09"/>
+<path fill="none" stroke="midnightblue" d="M24892.31,-902.72C23806.44,-894.3 14427.4,-817.32 14186.5,-669 14172.51,-660.38 14160.61,-648.73 14150.53,-635.56"/>
+<polygon fill="none" stroke="midnightblue" points="24892.4,-906.22 24902.43,-902.8 24892.46,-899.22 24892.4,-906.22"/>
</g>
<!-- Node227 -->
-<g id="node88" class="node">
+<g id="node87" class="node">
<title>Node227</title>
-<g id="a_node88"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object.">
-<polygon fill="white" stroke="black" points="14419,-386 14419,-619 14592,-619 14592,-386 14419,-386"/>
-<text text-anchor="middle" x="14505.5" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ObjectPathNode</text>
-<polyline fill="none" stroke="black" points="14419,-600 14592,-600 "/>
-<text text-anchor="start" x="14427" y="-588" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="14419,-581 14592,-581 "/>
-<text text-anchor="start" x="14427" y="-569" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetParent()</text>
-<text text-anchor="start" x="14427" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">+ Length()</text>
-<text text-anchor="start" x="14427" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPrefix()</text>
-<text text-anchor="start" x="14427" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsPrefixOf()</text>
-<text text-anchor="start" x="14427" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ PathsEqual()</text>
-<text text-anchor="start" x="14427" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ Attr()</text>
-<text text-anchor="start" x="14427" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ Attr()</text>
-<text text-anchor="start" x="14427" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ArrayIndex()</text>
-<text text-anchor="start" x="14427" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ MissingArrayElement()</text>
-<text text-anchor="start" x="14427" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ MapValue()</text>
-<text text-anchor="start" x="14427" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ MissingMapEntry()</text>
-<text text-anchor="start" x="14427" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="14427" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="14427" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00"># ObjectPathNode()</text>
-<text text-anchor="start" x="14427" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00"># ParentNode()</text>
-<text text-anchor="start" x="14427" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00"># LastNodeEqual()</text>
-<text text-anchor="start" x="14427" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00"># LastNodeString()</text>
+<g id="a_node87"><a xlink:href="classtvm_1_1MemoryInfoNode.html" target="_top" xlink:title="Memory information of special memory region. Use MemoryInfo as its container type.">
+<polygon fill="white" stroke="black" points="14195.5,-441 14195.5,-564 14371.5,-564 14371.5,-441 14195.5,-441"/>
+<text text-anchor="middle" x="14283.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::MemoryInfoNode</text>
+<polyline fill="none" stroke="black" points="14195.5,-545 14371.5,-545 "/>
+<text text-anchor="start" x="14203.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ unit_bits</text>
+<text text-anchor="start" x="14203.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ max_num_bits</text>
+<text text-anchor="start" x="14203.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ max_simd_bits</text>
+<text text-anchor="start" x="14203.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ head_address</text>
+<text text-anchor="start" x="14203.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="14195.5,-482 14371.5,-482 "/>
+<text text-anchor="start" x="14203.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14203.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="14203.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node227 -->
-<g id="edge87" class="edge">
+<g id="edge86" class="edge">
<title>Node1->Node227</title>
-<path fill="none" stroke="midnightblue" d="M24727.19,-902.55C23673.54,-892.59 14831.53,-805.03 14601.5,-669 14581.2,-657 14564.78,-638.92 14551.64,-619.06"/>
-<polygon fill="none" stroke="midnightblue" points="24727.36,-906.05 24737.39,-902.65 24727.42,-899.05 24727.36,-906.05"/>
-</g>
-<!-- Node235 -->
-<g id="node96" class="node">
-<title>Node235</title>
-<g id="a_node96"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality.">
-<polygon fill="white" stroke="black" points="14610.5,-452 14610.5,-553 14786.5,-553 14786.5,-452 14610.5,-452"/>
-<text text-anchor="middle" x="14698.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ObjectPathPairNode</text>
-<polyline fill="none" stroke="black" points="14610.5,-534 14786.5,-534 "/>
-<text text-anchor="start" x="14618.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ lhs_path</text>
-<text text-anchor="start" x="14618.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ rhs_path</text>
-<text text-anchor="start" x="14618.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="14610.5,-493 14786.5,-493 "/>
-<text text-anchor="start" x="14618.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPathPairNode()</text>
-<text text-anchor="start" x="14618.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="14618.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
+<path fill="none" stroke="midnightblue" d="M24892.1,-902.63C23816.22,-893.32 14619.86,-809.69 14380.5,-669 14341.74,-646.22 14316.88,-601.44 14302.05,-564.2"/>
+<polygon fill="none" stroke="midnightblue" points="24892.1,-906.13 24902.13,-902.72 24892.16,-899.13 24892.1,-906.13"/>
</g>
-<!-- Node1->Node235 -->
-<g id="edge95" class="edge">
-<title>Node1->Node235</title>
-<path fill="none" stroke="midnightblue" d="M24727.12,-902.5C23684.28,-892.11 15021.29,-801.91 14795.5,-669 14752.88,-643.91 14727.07,-592.24 14712.9,-553.27"/>
-<polygon fill="none" stroke="midnightblue" points="24727.18,-906 24737.22,-902.6 24727.25,-899 24727.18,-906"/>
+<!-- Node228 -->
+<g id="node88" class="node">
+<title>Node228</title>
+<g id="a_node88"><a xlink:href="classtvm_1_1NameSupplyNode.html" target="_top" xlink:title="NameSupply can be used to generate unique names.">
+<polygon fill="white" stroke="black" points="14389.5,-408 14389.5,-597 14565.5,-597 14565.5,-408 14389.5,-408"/>
+<text text-anchor="middle" x="14477.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::NameSupplyNode</text>
+<polyline fill="none" stroke="black" points="14389.5,-578 14565.5,-578 "/>
+<text text-anchor="start" x="14397.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ prefix_</text>
+<text text-anchor="start" x="14397.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="14397.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="14397.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="14397.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="14397.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="14389.5,-504 14565.5,-504 "/>
+<text text-anchor="start" x="14397.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ NameSupplyNode()</text>
+<text text-anchor="start" x="14397.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ NameSupplyNode()</text>
+<text text-anchor="start" x="14397.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ FreshName()</text>
+<text text-anchor="start" x="14397.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReserveName()</text>
+<text text-anchor="start" x="14397.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ContainsName()</text>
+<text text-anchor="start" x="14397.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14397.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="14397.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node228 -->
+<g id="edge87" class="edge">
+<title>Node1->Node228</title>
+<path fill="none" stroke="midnightblue" d="M24891.94,-902.59C23826.21,-892.91 14809.31,-807.08 14574.5,-669 14546.8,-652.71 14526.2,-625.18 14511.28,-597.21"/>
+<polygon fill="none" stroke="midnightblue" points="24892.22,-906.09 24902.25,-902.68 24892.28,-899.09 24892.22,-906.09"/>
</g>
-<!-- Node236 -->
-<g id="node97" class="node">
-<title>Node236</title>
-<g id="a_node97"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="14804.5,-397 14804.5,-608 14980.5,-608 14980.5,-397 14804.5,-397"/>
-<text text-anchor="middle" x="14892.5" y="-596" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrinterConfigNode</text>
-<polyline fill="none" stroke="black" points="14804.5,-589 14980.5,-589 "/>
-<text text-anchor="start" x="14812.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ binding_names</text>
-<text text-anchor="start" x="14812.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ show_meta</text>
-<text text-anchor="start" x="14812.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ ir_prefix</text>
-<text text-anchor="start" x="14812.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ tir_prefix</text>
-<text text-anchor="start" x="14812.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ relax_prefix</text>
-<text text-anchor="start" x="14812.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ module_alias</text>
-<text text-anchor="start" x="14812.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ buffer_dtype</text>
-<text text-anchor="start" x="14812.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ int_dtype</text>
-<text text-anchor="start" x="14812.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ float_dtype</text>
-<text text-anchor="start" x="14812.5" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+ verbose_expr</text>
-<text text-anchor="start" x="14812.5" y="-467" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
-<text text-anchor="start" x="14812.5" y="-456" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="14804.5,-449 14980.5,-449 "/>
-<text text-anchor="start" x="14812.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="14812.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetBuiltinKeywords()</text>
-<text text-anchor="start" x="14812.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="14812.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node236 -->
-<g id="edge96" class="edge">
-<title>Node1->Node236</title>
-<path fill="none" stroke="midnightblue" d="M24727.13,-902.45C23695.55,-891.69 15210.76,-799.31 14989.5,-669 14965.39,-654.8 14946.66,-632.1 14932.38,-608.01"/>
-<polygon fill="none" stroke="midnightblue" points="24727.44,-905.95 24737.48,-902.56 24727.51,-898.95 24727.44,-905.95"/>
+<!-- Node229 -->
+<g id="node89" class="node">
+<title>Node229</title>
+<g id="a_node89"><a xlink:href="classtvm_1_1ObjectPathNode.html" target="_top" xlink:title="Path to an object from some root object.">
+<polygon fill="white" stroke="black" points="14584,-386 14584,-619 14757,-619 14757,-386 14584,-386"/>
+<text text-anchor="middle" x="14670.5" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ObjectPathNode</text>
+<polyline fill="none" stroke="black" points="14584,-600 14757,-600 "/>
+<text text-anchor="start" x="14592" y="-588" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="14584,-581 14757,-581 "/>
+<text text-anchor="start" x="14592" y="-569" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetParent()</text>
+<text text-anchor="start" x="14592" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">+ Length()</text>
+<text text-anchor="start" x="14592" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetPrefix()</text>
+<text text-anchor="start" x="14592" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsPrefixOf()</text>
+<text text-anchor="start" x="14592" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ PathsEqual()</text>
+<text text-anchor="start" x="14592" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ Attr()</text>
+<text text-anchor="start" x="14592" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ Attr()</text>
+<text text-anchor="start" x="14592" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ArrayIndex()</text>
+<text text-anchor="start" x="14592" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ MissingArrayElement()</text>
+<text text-anchor="start" x="14592" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ MapValue()</text>
+<text text-anchor="start" x="14592" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ MissingMapEntry()</text>
+<text text-anchor="start" x="14592" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="14592" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="14592" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00"># ObjectPathNode()</text>
+<text text-anchor="start" x="14592" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00"># ParentNode()</text>
+<text text-anchor="start" x="14592" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00"># LastNodeEqual()</text>
+<text text-anchor="start" x="14592" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00"># LastNodeString()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node229 -->
+<g id="edge88" class="edge">
+<title>Node1->Node229</title>
+<path fill="none" stroke="midnightblue" d="M24892.19,-902.55C23838.54,-892.59 14996.53,-805.03 14766.5,-669 14746.2,-657 14729.78,-638.92 14716.64,-619.06"/>
+<polygon fill="none" stroke="midnightblue" points="24892.36,-906.05 24902.39,-902.65 24892.42,-899.05 24892.36,-906.05"/>
</g>
<!-- Node237 -->
-<g id="node98" class="node">
+<g id="node97" class="node">
<title>Node237</title>
-<g id="a_node98"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension">
-<polygon fill="white" stroke="black" points="14998.5,-402.5 14998.5,-602.5 15174.5,-602.5 15174.5,-402.5 14998.5,-402.5"/>
-<text text-anchor="middle" x="15086.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RangeNode</text>
-<polyline fill="none" stroke="black" points="14998.5,-583.5 15174.5,-583.5 "/>
-<text text-anchor="start" x="15006.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ min</text>
-<text text-anchor="start" x="15006.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extent</text>
-<text text-anchor="start" x="15006.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="15006.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="15006.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="15006.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15006.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="15006.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="14998.5,-487.5 15174.5,-487.5 "/>
-<text text-anchor="start" x="15006.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RangeNode()</text>
-<text text-anchor="start" x="15006.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RangeNode()</text>
-<text text-anchor="start" x="15006.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15006.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15006.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="15006.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="15006.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node97"><a xlink:href="classtvm_1_1ObjectPathPairNode.html" target="_top" xlink:title="Pair of ObjectPaths, one for each object being tested for structural equality.">
+<polygon fill="white" stroke="black" points="14775.5,-452 14775.5,-553 14951.5,-553 14951.5,-452 14775.5,-452"/>
+<text text-anchor="middle" x="14863.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ObjectPathPairNode</text>
+<polyline fill="none" stroke="black" points="14775.5,-534 14951.5,-534 "/>
+<text text-anchor="start" x="14783.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ lhs_path</text>
+<text text-anchor="start" x="14783.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ rhs_path</text>
+<text text-anchor="start" x="14783.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="14775.5,-493 14951.5,-493 "/>
+<text text-anchor="start" x="14783.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ ObjectPathPairNode()</text>
+<text text-anchor="start" x="14783.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="14783.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node237 -->
-<g id="edge97" class="edge">
+<g id="edge96" class="edge">
<title>Node1->Node237</title>
-<path fill="none" stroke="midnightblue" d="M24727.17,-902.4C23707.13,-891.26 15400.23,-796.71 15183.5,-669 15157.68,-653.78 15138.02,-628.81 15123.39,-602.82"/>
-<polygon fill="none" stroke="midnightblue" points="24727.37,-905.9 24737.41,-902.51 24727.45,-898.9 24727.37,-905.9"/>
+<path fill="none" stroke="midnightblue" d="M24892.12,-902.5C23849.28,-892.11 15186.29,-801.91 14960.5,-669 14917.88,-643.91 14892.07,-592.24 14877.9,-553.27"/>
+<polygon fill="none" stroke="midnightblue" points="24892.18,-906 24902.22,-902.6 24892.25,-899 24892.18,-906"/>
</g>
<!-- Node238 -->
-<g id="node99" class="node">
+<g id="node98" class="node">
<title>Node238</title>
-<g id="a_node99"><a xlink:href="classtvm_1_1SourceMapNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
-<polygon fill="white" stroke="black" points="15192.5,-452 15192.5,-553 15368.5,-553 15368.5,-452 15192.5,-452"/>
-<text text-anchor="middle" x="15280.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMapNode</text>
-<polyline fill="none" stroke="black" points="15192.5,-534 15368.5,-534 "/>
-<text text-anchor="start" x="15200.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_map</text>
-<text text-anchor="start" x="15200.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="15192.5,-504 15368.5,-504 "/>
-<text text-anchor="start" x="15200.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15200.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15200.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="15200.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node98"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="14969.5,-397 14969.5,-608 15145.5,-608 15145.5,-397 14969.5,-397"/>
+<text text-anchor="middle" x="15057.5" y="-596" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrinterConfigNode</text>
+<polyline fill="none" stroke="black" points="14969.5,-589 15145.5,-589 "/>
+<text text-anchor="start" x="14977.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ binding_names</text>
+<text text-anchor="start" x="14977.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ show_meta</text>
+<text text-anchor="start" x="14977.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ ir_prefix</text>
+<text text-anchor="start" x="14977.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ tir_prefix</text>
+<text text-anchor="start" x="14977.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ relax_prefix</text>
+<text text-anchor="start" x="14977.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ module_alias</text>
+<text text-anchor="start" x="14977.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ buffer_dtype</text>
+<text text-anchor="start" x="14977.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ int_dtype</text>
+<text text-anchor="start" x="14977.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ float_dtype</text>
+<text text-anchor="start" x="14977.5" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+ verbose_expr</text>
+<text text-anchor="start" x="14977.5" y="-467" font-family="Helvetica,sans-Serif" font-size="10.00">and 10 more...</text>
+<text text-anchor="start" x="14977.5" y="-456" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="14969.5,-449 15145.5,-449 "/>
+<text text-anchor="start" x="14977.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="14977.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetBuiltinKeywords()</text>
+<text text-anchor="start" x="14977.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="14977.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node238 -->
-<g id="edge98" class="edge">
+<g id="edge97" class="edge">
<title>Node1->Node238</title>
-<path fill="none" stroke="midnightblue" d="M24727.28,-902.35C23719.15,-890.83 15589.7,-794.11 15377.5,-669 15334.9,-643.88 15309.08,-592.22 15294.91,-553.25"/>
-<polygon fill="none" stroke="midnightblue" points="24727.36,-905.85 24737.4,-902.46 24727.44,-898.85 24727.36,-905.85"/>
+<path fill="none" stroke="midnightblue" d="M24892.13,-902.45C23860.55,-891.69 15375.76,-799.31 15154.5,-669 15130.39,-654.8 15111.66,-632.1 15097.38,-608.01"/>
+<polygon fill="none" stroke="midnightblue" points="24892.44,-905.95 24902.48,-902.56 24892.51,-898.95 24892.44,-905.95"/>
</g>
<!-- Node239 -->
-<g id="node100" class="node">
+<g id="node99" class="node">
<title>Node239</title>
-<g id="a_node100"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment.">
-<polygon fill="white" stroke="black" points="15386.5,-441 15386.5,-564 15562.5,-564 15562.5,-441 15386.5,-441"/>
-<text text-anchor="middle" x="15474.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNameNode</text>
-<polyline fill="none" stroke="black" points="15386.5,-545 15562.5,-545 "/>
-<text text-anchor="start" x="15394.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="15394.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="15394.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15394.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="15386.5,-493 15562.5,-493 "/>
-<text text-anchor="start" x="15394.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15394.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15394.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="15394.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node99"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension">
+<polygon fill="white" stroke="black" points="15163.5,-402.5 15163.5,-602.5 15339.5,-602.5 15339.5,-402.5 15163.5,-402.5"/>
+<text text-anchor="middle" x="15251.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RangeNode</text>
+<polyline fill="none" stroke="black" points="15163.5,-583.5 15339.5,-583.5 "/>
+<text text-anchor="start" x="15171.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ min</text>
+<text text-anchor="start" x="15171.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ extent</text>
+<text text-anchor="start" x="15171.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="15171.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="15171.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="15171.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15171.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="15171.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="15163.5,-487.5 15339.5,-487.5 "/>
+<text text-anchor="start" x="15171.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RangeNode()</text>
+<text text-anchor="start" x="15171.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RangeNode()</text>
+<text text-anchor="start" x="15171.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15171.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15171.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="15171.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="15171.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node239 -->
-<g id="edge99" class="edge">
+<g id="edge98" class="edge">
<title>Node1->Node239</title>
-<path fill="none" stroke="midnightblue" d="M24727.25,-903.75C23743.64,-905.76 15986.49,-913.82 15571.5,-669 15532.78,-646.16 15507.92,-601.38 15493.07,-564.16"/>
-<polygon fill="none" stroke="midnightblue" points="24727.48,-907.24 24737.47,-903.72 24727.46,-900.24 24727.48,-907.24"/>
+<path fill="none" stroke="midnightblue" d="M24892.17,-902.4C23872.13,-891.26 15565.23,-796.71 15348.5,-669 15322.68,-653.78 15303.02,-628.81 15288.39,-602.82"/>
+<polygon fill="none" stroke="midnightblue" points="24892.37,-905.9 24902.41,-902.51 24892.45,-898.9 24892.37,-905.9"/>
</g>
<!-- Node240 -->
-<g id="node101" class="node">
+<g id="node100" class="node">
<title>Node240</title>
-<g id="a_node101"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="15580.5,-446.5 15580.5,-558.5 15756.5,-558.5 15756.5,-446.5 15580.5,-446.5"/>
-<text text-anchor="middle" x="15668.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNode</text>
-<polyline fill="none" stroke="black" points="15580.5,-539.5 15756.5,-539.5 "/>
-<text text-anchor="start" x="15588.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_name</text>
-<text text-anchor="start" x="15588.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ source</text>
-<text text-anchor="start" x="15588.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ line_map</text>
-<text text-anchor="start" x="15588.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="15580.5,-487.5 15756.5,-487.5 "/>
-<text text-anchor="start" x="15588.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15588.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="15588.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node100"><a xlink:href="classtvm_1_1SourceMapNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
+<polygon fill="white" stroke="black" points="15357.5,-452 15357.5,-553 15533.5,-553 15533.5,-452 15357.5,-452"/>
+<text text-anchor="middle" x="15445.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMapNode</text>
+<polyline fill="none" stroke="black" points="15357.5,-534 15533.5,-534 "/>
+<text text-anchor="start" x="15365.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_map</text>
+<text text-anchor="start" x="15365.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="15357.5,-504 15533.5,-504 "/>
+<text text-anchor="start" x="15365.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15365.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15365.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="15365.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node240 -->
-<g id="edge100" class="edge">
+<g id="edge99" class="edge">
<title>Node1->Node240</title>
-<path fill="none" stroke="midnightblue" d="M24727.12,-903.69C23754.56,-905.13 16171.42,-908.62 15765.5,-669 15724.92,-645.04 15699.56,-597.01 15685,-558.83"/>
-<polygon fill="none" stroke="midnightblue" points="24727.24,-907.19 24737.24,-903.67 24727.23,-900.19 24727.24,-907.19"/>
+<path fill="none" stroke="midnightblue" d="M24892.28,-902.35C23884.15,-890.83 15754.7,-794.11 15542.5,-669 15499.9,-643.88 15474.08,-592.22 15459.91,-553.25"/>
+<polygon fill="none" stroke="midnightblue" points="24892.36,-905.85 24902.4,-902.46 24892.44,-898.85 24892.36,-905.85"/>
</g>
<!-- Node241 -->
-<g id="node102" class="node">
+<g id="node101" class="node">
<title>Node241</title>
-<g id="a_node102"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
-<polygon fill="white" stroke="black" points="15775,-419 15775,-586 15948,-586 15948,-419 15775,-419"/>
-<text text-anchor="middle" x="15861.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SpanNode</text>
-<polyline fill="none" stroke="black" points="15775,-567 15948,-567 "/>
-<text text-anchor="start" x="15783" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_name</text>
-<text text-anchor="start" x="15783" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ line</text>
-<text text-anchor="start" x="15783" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ column</text>
-<text text-anchor="start" x="15783" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ end_line</text>
-<text text-anchor="start" x="15783" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ end_column</text>
-<text text-anchor="start" x="15783" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="15783" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="15783" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="15775,-471 15948,-471 "/>
-<text text-anchor="start" x="15783" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15783" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="15783" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="15783" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node101"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment.">
+<polygon fill="white" stroke="black" points="15551.5,-441 15551.5,-564 15727.5,-564 15727.5,-441 15551.5,-441"/>
+<text text-anchor="middle" x="15639.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNameNode</text>
+<polyline fill="none" stroke="black" points="15551.5,-545 15727.5,-545 "/>
+<text text-anchor="start" x="15559.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="15559.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="15559.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15559.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="15551.5,-493 15727.5,-493 "/>
+<text text-anchor="start" x="15559.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15559.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15559.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="15559.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node241 -->
-<g id="edge101" class="edge">
+<g id="edge100" class="edge">
<title>Node1->Node241</title>
-<path fill="none" stroke="midnightblue" d="M24727.07,-903.64C23765.79,-904.6 16353.92,-904.37 15957.5,-669 15926.37,-650.52 15904.34,-617.77 15889.31,-586.26"/>
-<polygon fill="none" stroke="midnightblue" points="24727.41,-907.14 24737.41,-903.63 24727.4,-900.14 24727.41,-907.14"/>
+<path fill="none" stroke="midnightblue" d="M24892.25,-903.75C23908.64,-905.76 16151.49,-913.82 15736.5,-669 15697.78,-646.16 15672.92,-601.38 15658.07,-564.16"/>
+<polygon fill="none" stroke="midnightblue" points="24892.48,-907.24 24902.47,-903.72 24892.46,-900.24 24892.48,-907.24"/>
+</g>
+<!-- Node242 -->
+<g id="node102" class="node">
+<title>Node242</title>
+<g id="a_node102"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="15745.5,-446.5 15745.5,-558.5 15921.5,-558.5 15921.5,-446.5 15745.5,-446.5"/>
+<text text-anchor="middle" x="15833.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNode</text>
+<polyline fill="none" stroke="black" points="15745.5,-539.5 15921.5,-539.5 "/>
+<text text-anchor="start" x="15753.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_name</text>
+<text text-anchor="start" x="15753.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ source</text>
+<text text-anchor="start" x="15753.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ line_map</text>
+<text text-anchor="start" x="15753.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="15745.5,-487.5 15921.5,-487.5 "/>
+<text text-anchor="start" x="15753.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15753.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="15753.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node242 -->
+<g id="edge101" class="edge">
+<title>Node1->Node242</title>
+<path fill="none" stroke="midnightblue" d="M24892.12,-903.69C23919.56,-905.13 16336.42,-908.62 15930.5,-669 15889.92,-645.04 15864.56,-597.01 15850,-558.83"/>
+<polygon fill="none" stroke="midnightblue" points="24892.24,-907.19 24902.24,-903.67 24892.23,-900.19 24892.24,-907.19"/>
</g>
<!-- Node243 -->
-<g id="node104" class="node">
+<g id="node103" class="node">
<title>Node243</title>
-<g id="a_node104"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target.">
-<polygon fill="white" stroke="black" points="15966.5,-435.5 15966.5,-569.5 16142.5,-569.5 16142.5,-435.5 15966.5,-435.5"/>
-<text text-anchor="middle" x="16054.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKindNode</text>
-<polyline fill="none" stroke="black" points="15966.5,-550.5 16142.5,-550.5 "/>
-<text text-anchor="start" x="15974.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="15974.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ default_device_type</text>
-<text text-anchor="start" x="15974.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ default_keys</text>
-<text text-anchor="start" x="15974.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ preprocessor</text>
-<text text-anchor="start" x="15974.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ target_parser</text>
-<text text-anchor="start" x="15974.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="15966.5,-476.5 16142.5,-476.5 "/>
-<text text-anchor="start" x="15974.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="15974.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="15974.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node103"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
+<polygon fill="white" stroke="black" points="15940,-419 15940,-586 16113,-586 16113,-419 15940,-419"/>
+<text text-anchor="middle" x="16026.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SpanNode</text>
+<polyline fill="none" stroke="black" points="15940,-567 16113,-567 "/>
+<text text-anchor="start" x="15948" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ source_name</text>
+<text text-anchor="start" x="15948" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ line</text>
+<text text-anchor="start" x="15948" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ column</text>
+<text text-anchor="start" x="15948" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ end_line</text>
+<text text-anchor="start" x="15948" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ end_column</text>
+<text text-anchor="start" x="15948" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="15948" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="15948" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="15940,-471 16113,-471 "/>
+<text text-anchor="start" x="15948" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="15948" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="15948" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="15948" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node243 -->
-<g id="edge103" class="edge">
+<g id="edge102" class="edge">
<title>Node1->Node243</title>
-<path fill="none" stroke="midnightblue" d="M24727.1,-903.57C23777.8,-903.83 16539.41,-898.29 16151.5,-669 16114.66,-647.22 16090.36,-605.61 16075.3,-569.56"/>
-<polygon fill="none" stroke="midnightblue" points="24727.31,-907.07 24737.31,-903.56 24727.31,-900.07 24727.31,-907.07"/>
-</g>
-<!-- Node244 -->
-<g id="node105" class="node">
-<title>Node244</title>
-<g id="a_node105"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target.">
-<polygon fill="white" stroke="black" points="16160.5,-364 16160.5,-641 16318.5,-641 16318.5,-364 16160.5,-364"/>
-<text text-anchor="middle" x="16239.5" y="-629" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetNode</text>
-<polyline fill="none" stroke="black" points="16160.5,-622 16318.5,-622 "/>
-<text text-anchor="start" x="16168.5" y="-610" font-family="Helvetica,sans-Serif" font-size="10.00">+ kind</text>
-<text text-anchor="start" x="16168.5" y="-599" font-family="Helvetica,sans-Serif" font-size="10.00">+ host</text>
-<text text-anchor="start" x="16168.5" y="-588" font-family="Helvetica,sans-Serif" font-size="10.00">+ tag</text>
-<text text-anchor="start" x="16168.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ keys</text>
-<text text-anchor="start" x="16168.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ attrs</text>
-<text text-anchor="start" x="16168.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ features</text>
-<text text-anchor="start" x="16168.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="16168.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="16168.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="16168.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="16168.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="16160.5,-493 16318.5,-493 "/>
-<text text-anchor="start" x="16168.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ str()</text>
-<text text-anchor="start" x="16168.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Export()</text>
-<text text-anchor="start" x="16168.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetHost()</text>
-<text text-anchor="start" x="16168.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTargetDeviceType()</text>
-<text text-anchor="start" x="16168.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasKey()</text>
-<text text-anchor="start" x="16168.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ ToDebugString()</text>
-<text text-anchor="start" x="16168.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16168.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
-<text text-anchor="start" x="16168.5" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
-<text text-anchor="start" x="16168.5" y="-382" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetFeature()</text>
-<text text-anchor="start" x="16168.5" y="-371" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node244 -->
-<g id="edge104" class="edge">
-<title>Node1->Node244</title>
-<path fill="none" stroke="midnightblue" d="M24727.29,-903.61C23789.26,-904.25 16702.5,-901.42 16327.5,-669 16315.61,-661.63 16305.23,-652.06 16296.18,-641.25"/>
-<polygon fill="none" stroke="midnightblue" points="24727.39,-907.11 24737.38,-903.6 24727.38,-900.11 24727.39,-907.11"/>
+<path fill="none" stroke="midnightblue" d="M24892.07,-903.64C23930.79,-904.6 16518.92,-904.37 16122.5,-669 16091.37,-650.52 16069.34,-617.77 16054.31,-586.26"/>
+<polygon fill="none" stroke="midnightblue" points="24892.41,-907.14 24902.41,-903.63 24892.4,-900.14 24892.41,-907.14"/>
</g>
<!-- Node245 -->
-<g id="node106" class="node">
+<g id="node105" class="node">
<title>Node245</title>
-<g id="a_node106"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag.">
-<polygon fill="white" stroke="black" points="16336.5,-452 16336.5,-553 16512.5,-553 16512.5,-452 16336.5,-452"/>
-<text text-anchor="middle" x="16424.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetTagNode</text>
-<polyline fill="none" stroke="black" points="16336.5,-534 16512.5,-534 "/>
-<text text-anchor="start" x="16344.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="16344.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ config</text>
-<text text-anchor="start" x="16344.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="16336.5,-493 16512.5,-493 "/>
-<text text-anchor="start" x="16344.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16344.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="16344.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node105"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target.">
+<polygon fill="white" stroke="black" points="16131.5,-435.5 16131.5,-569.5 16307.5,-569.5 16307.5,-435.5 16131.5,-435.5"/>
+<text text-anchor="middle" x="16219.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKindNode</text>
+<polyline fill="none" stroke="black" points="16131.5,-550.5 16307.5,-550.5 "/>
+<text text-anchor="start" x="16139.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="16139.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ default_device_type</text>
+<text text-anchor="start" x="16139.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ default_keys</text>
+<text text-anchor="start" x="16139.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ preprocessor</text>
+<text text-anchor="start" x="16139.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ target_parser</text>
+<text text-anchor="start" x="16139.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="16131.5,-476.5 16307.5,-476.5 "/>
+<text text-anchor="start" x="16139.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16139.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="16139.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node245 -->
-<g id="edge105" class="edge">
+<g id="edge104" class="edge">
<title>Node1->Node245</title>
-<path fill="none" stroke="midnightblue" d="M24727.18,-903.44C23801.09,-902.53 16892.17,-888.4 16521.5,-669 16478.94,-643.81 16453.12,-592.15 16438.93,-553.21"/>
-<polygon fill="none" stroke="midnightblue" points="24727.47,-906.94 24737.48,-903.45 24727.48,-899.94 24727.47,-906.94"/>
+<path fill="none" stroke="midnightblue" d="M24892.1,-903.57C23942.8,-903.83 16704.41,-898.29 16316.5,-669 16279.66,-647.22 16255.36,-605.61 16240.3,-569.56"/>
+<polygon fill="none" stroke="midnightblue" points="24892.31,-907.07 24902.31,-903.56 24892.31,-900.07 24892.31,-907.07"/>
</g>
<!-- Node246 -->
-<g id="node107" class="node">
+<g id="node106" class="node">
<title>Node246</title>
-<g id="a_node107"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types.">
-<polygon fill="white" stroke="black" points="16531,-435.5 16531,-569.5 16704,-569.5 16704,-435.5 16531,-435.5"/>
-<text text-anchor="middle" x="16617.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypeNode</text>
-<polyline fill="none" stroke="black" points="16531,-550.5 16704,-550.5 "/>
-<text text-anchor="start" x="16539" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="16539" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="16539" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="16539" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="16539" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="16539" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="16539" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<polyline fill="none" stroke="black" points="16531,-465.5 16704,-465.5 "/>
-<text text-anchor="start" x="16539" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="16539" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node106"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target.">
+<polygon fill="white" stroke="black" points="16325.5,-364 16325.5,-641 16483.5,-641 16483.5,-364 16325.5,-364"/>
+<text text-anchor="middle" x="16404.5" y="-629" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetNode</text>
+<polyline fill="none" stroke="black" points="16325.5,-622 16483.5,-622 "/>
+<text text-anchor="start" x="16333.5" y="-610" font-family="Helvetica,sans-Serif" font-size="10.00">+ kind</text>
+<text text-anchor="start" x="16333.5" y="-599" font-family="Helvetica,sans-Serif" font-size="10.00">+ host</text>
+<text text-anchor="start" x="16333.5" y="-588" font-family="Helvetica,sans-Serif" font-size="10.00">+ tag</text>
+<text text-anchor="start" x="16333.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ keys</text>
+<text text-anchor="start" x="16333.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ attrs</text>
+<text text-anchor="start" x="16333.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ features</text>
+<text text-anchor="start" x="16333.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="16333.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="16333.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="16333.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="16333.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="16325.5,-493 16483.5,-493 "/>
+<text text-anchor="start" x="16333.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ str()</text>
+<text text-anchor="start" x="16333.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Export()</text>
+<text text-anchor="start" x="16333.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetHost()</text>
+<text text-anchor="start" x="16333.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTargetDeviceType()</text>
+<text text-anchor="start" x="16333.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasKey()</text>
+<text text-anchor="start" x="16333.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ ToDebugString()</text>
+<text text-anchor="start" x="16333.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16333.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
+<text text-anchor="start" x="16333.5" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAttr()</text>
+<text text-anchor="start" x="16333.5" y="-382" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetFeature()</text>
+<text text-anchor="start" x="16333.5" y="-371" font-family="Helvetica,sans-Serif" font-size="10.00">and 6 more...</text>
</a>
</g>
</g>
<!-- Node1->Node246 -->
-<g id="edge106" class="edge">
+<g id="edge105" class="edge">
<title>Node1->Node246</title>
-<path fill="none" stroke="midnightblue" d="M24727.05,-903.38C23812.47,-901.94 17074.73,-884.07 16713.5,-669 16676.83,-647.16 16652.78,-605.55 16637.93,-569.52"/>
-<polygon fill="none" stroke="midnightblue" points="24727.21,-906.88 24737.22,-903.39 24727.22,-899.88 24727.21,-906.88"/>
+<path fill="none" stroke="midnightblue" d="M24892.29,-903.61C23954.26,-904.25 16867.5,-901.42 16492.5,-669 16480.61,-661.63 16470.23,-652.06 16461.18,-641.25"/>
+<polygon fill="none" stroke="midnightblue" points="24892.39,-907.11 24902.38,-903.6 24892.38,-900.11 24892.39,-907.11"/>
</g>
-<!-- Node255 -->
-<g id="node116" class="node">
-<title>Node255</title>
-<g id="a_node116"><a xlink:href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">
-<polygon fill="white" stroke="black" points="16722.5,-435.5 16722.5,-569.5 16898.5,-569.5 16898.5,-435.5 16722.5,-435.5"/>
-<text text-anchor="middle" x="16810.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ConstIntBoundNode</text>
-<polyline fill="none" stroke="black" points="16722.5,-550.5 16898.5,-550.5 "/>
-<text text-anchor="start" x="16730.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ min_value</text>
-<text text-anchor="start" x="16730.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ max_value</text>
-<text text-anchor="start" x="16730.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kPosInf</text>
-<text text-anchor="start" x="16730.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kNegInf</text>
-<text text-anchor="start" x="16730.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="16722.5,-487.5 16898.5,-487.5 "/>
-<text text-anchor="start" x="16730.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16730.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16730.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="16730.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node255 -->
-<g id="edge115" class="edge">
-<title>Node1->Node255</title>
-<path fill="none" stroke="midnightblue" d="M24727.4,-903.29C23826.55,-901.12 17260.22,-878.1 16907.5,-669 16870.69,-647.18 16846.39,-605.56 16831.32,-569.53"/>
-<polygon fill="none" stroke="midnightblue" points="24727.41,-906.79 24737.42,-903.32 24727.42,-899.79 24727.41,-906.79"/>
+<!-- Node247 -->
+<g id="node107" class="node">
+<title>Node247</title>
+<g id="a_node107"><a xlink:href="classtvm_1_1TargetTagNode.html" target="_top" xlink:title="A target tag.">
+<polygon fill="white" stroke="black" points="16501.5,-452 16501.5,-553 16677.5,-553 16677.5,-452 16501.5,-452"/>
+<text text-anchor="middle" x="16589.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetTagNode</text>
+<polyline fill="none" stroke="black" points="16501.5,-534 16677.5,-534 "/>
+<text text-anchor="start" x="16509.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="16509.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ config</text>
+<text text-anchor="start" x="16509.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="16501.5,-493 16677.5,-493 "/>
+<text text-anchor="start" x="16509.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16509.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="16509.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
</g>
-<!-- Node256 -->
-<g id="node117" class="node">
-<title>Node256</title>
-<g id="a_node117"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_top" xlink:title="Represent integer constrains including (integer) variables, their ranges and the relations between th...">
-<polygon fill="white" stroke="black" points="16916.5,-424.5 16916.5,-580.5 17092.5,-580.5 17092.5,-424.5 16916.5,-424.5"/>
-<text text-anchor="middle" x="17004.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraintsNode</text>
-<polyline fill="none" stroke="black" points="16916.5,-561.5 17092.5,-561.5 "/>
-<text text-anchor="start" x="16924.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ variables</text>
-<text text-anchor="start" x="16924.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ranges</text>
-<text text-anchor="start" x="16924.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ relations</text>
-<text text-anchor="start" x="16924.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="16924.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="16924.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="16916.5,-487.5 17092.5,-487.5 "/>
-<text text-anchor="start" x="16924.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="16924.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="16924.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="16924.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="16924.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node256 -->
-<g id="edge116" class="edge">
-<title>Node1->Node256</title>
-<path fill="none" stroke="midnightblue" d="M24727.15,-903.21C23837.83,-900.37 17445.16,-872.9 17101.5,-669 17068.42,-649.37 17045.44,-613.77 17030.19,-580.6"/>
-<polygon fill="none" stroke="midnightblue" points="24727.34,-906.71 24737.35,-903.25 24727.36,-899.71 24727.34,-906.71"/>
+</g>
+<!-- Node1->Node247 -->
+<g id="edge106" class="edge">
+<title>Node1->Node247</title>
+<path fill="none" stroke="midnightblue" d="M24892.18,-903.44C23966.09,-902.53 17057.17,-888.4 16686.5,-669 16643.94,-643.81 16618.12,-592.15 16603.93,-553.21"/>
+<polygon fill="none" stroke="midnightblue" points="24892.47,-906.94 24902.48,-903.45 24892.48,-899.94 24892.47,-906.94"/>
+</g>
+<!-- Node248 -->
+<g id="node108" class="node">
+<title>Node248</title>
+<g id="a_node108"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types.">
+<polygon fill="white" stroke="black" points="16696,-435.5 16696,-569.5 16869,-569.5 16869,-435.5 16696,-435.5"/>
+<text text-anchor="middle" x="16782.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypeNode</text>
+<polyline fill="none" stroke="black" points="16696,-550.5 16869,-550.5 "/>
+<text text-anchor="start" x="16704" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="16704" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="16704" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="16704" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="16704" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="16704" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="16704" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<polyline fill="none" stroke="black" points="16696,-465.5 16869,-465.5 "/>
+<text text-anchor="start" x="16704" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="16704" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node248 -->
+<g id="edge107" class="edge">
+<title>Node1->Node248</title>
+<path fill="none" stroke="midnightblue" d="M24892.05,-903.38C23977.47,-901.94 17239.73,-884.07 16878.5,-669 16841.83,-647.16 16817.78,-605.55 16802.93,-569.52"/>
+<polygon fill="none" stroke="midnightblue" points="24892.21,-906.88 24902.22,-903.39 24892.22,-899.88 24892.21,-906.88"/>
</g>
<!-- Node257 -->
-<g id="node118" class="node">
+<g id="node117" class="node">
<title>Node257</title>
-<g id="a_node118"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_top" xlink:title="We can have different set of variables to represent the same constraints. For example,...">
-<polygon fill="white" stroke="black" points="17110.5,-413.5 17110.5,-591.5 17286.5,-591.5 17286.5,-413.5 17110.5,-413.5"/>
-<text text-anchor="start" x="17118.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
-<text text-anchor="middle" x="17198.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">TransformNode</text>
-<polyline fill="none" stroke="black" points="17110.5,-561.5 17286.5,-561.5 "/>
-<text text-anchor="start" x="17118.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ src</text>
-<text text-anchor="start" x="17118.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dst</text>
-<text text-anchor="start" x="17118.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ src_to_dst</text>
-<text text-anchor="start" x="17118.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dst_to_src</text>
-<text text-anchor="start" x="17118.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="17118.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="17118.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="17110.5,-476.5 17286.5,-476.5 "/>
-<text text-anchor="start" x="17118.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17118.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17118.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17118.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="17118.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node117"><a xlink:href="classtvm_1_1arith_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">
+<polygon fill="white" stroke="black" points="16887.5,-435.5 16887.5,-569.5 17063.5,-569.5 17063.5,-435.5 16887.5,-435.5"/>
+<text text-anchor="middle" x="16975.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ConstIntBoundNode</text>
+<polyline fill="none" stroke="black" points="16887.5,-550.5 17063.5,-550.5 "/>
+<text text-anchor="start" x="16895.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ min_value</text>
+<text text-anchor="start" x="16895.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ max_value</text>
+<text text-anchor="start" x="16895.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kPosInf</text>
+<text text-anchor="start" x="16895.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ kNegInf</text>
+<text text-anchor="start" x="16895.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="16887.5,-487.5 17063.5,-487.5 "/>
+<text text-anchor="start" x="16895.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="16895.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="16895.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="16895.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node257 -->
-<g id="edge117" class="edge">
+<g id="edge116" class="edge">
<title>Node1->Node257</title>
-<path fill="none" stroke="midnightblue" d="M24727.32,-903.13C23851.31,-899.62 17630.16,-867.74 17295.5,-669 17266.15,-651.57 17244.75,-621.57 17229.64,-591.85"/>
-<polygon fill="none" stroke="midnightblue" points="24727.37,-906.63 24737.38,-903.17 24727.39,-899.63 24727.37,-906.63"/>
+<path fill="none" stroke="midnightblue" d="M24892.4,-903.29C23991.55,-901.12 17425.22,-878.1 17072.5,-669 17035.69,-647.18 17011.39,-605.56 16996.32,-569.53"/>
+<polygon fill="none" stroke="midnightblue" points="24892.41,-906.79 24902.42,-903.32 24892.42,-899.79 24892.41,-906.79"/>
</g>
<!-- Node258 -->
-<g id="node119" class="node">
+<g id="node118" class="node">
<title>Node258</title>
-<g id="a_node119"><a xlink:href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_top" xlink:title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">
-<polygon fill="white" stroke="black" points="17304.5,-419 17304.5,-586 17480.5,-586 17480.5,-419 17304.5,-419"/>
-<text text-anchor="middle" x="17392.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntGroupBoundsNode</text>
-<polyline fill="none" stroke="black" points="17304.5,-567 17480.5,-567 "/>
-<text text-anchor="start" x="17312.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ coef</text>
-<text text-anchor="start" x="17312.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ lower</text>
-<text text-anchor="start" x="17312.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ equal</text>
-<text text-anchor="start" x="17312.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ upper</text>
-<text text-anchor="start" x="17312.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="17312.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="17312.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="17304.5,-482 17480.5,-482 "/>
-<text text-anchor="start" x="17312.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17312.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17312.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17312.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="17312.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node118"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsNode.html" target="_top" xlink:title="Represent integer constrains including (integer) variables, their ranges and the relations between th...">
+<polygon fill="white" stroke="black" points="17081.5,-424.5 17081.5,-580.5 17257.5,-580.5 17257.5,-424.5 17081.5,-424.5"/>
+<text text-anchor="middle" x="17169.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraintsNode</text>
+<polyline fill="none" stroke="black" points="17081.5,-561.5 17257.5,-561.5 "/>
+<text text-anchor="start" x="17089.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ variables</text>
+<text text-anchor="start" x="17089.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ranges</text>
+<text text-anchor="start" x="17089.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ relations</text>
+<text text-anchor="start" x="17089.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="17089.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="17089.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="17081.5,-487.5 17257.5,-487.5 "/>
+<text text-anchor="start" x="17089.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17089.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17089.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17089.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="17089.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node258 -->
-<g id="edge118" class="edge">
+<g id="edge117" class="edge">
<title>Node1->Node258</title>
-<path fill="none" stroke="midnightblue" d="M24727.28,-903.04C23863.91,-898.84 17815.13,-862.56 17489.5,-669 17458.3,-650.45 17436.08,-617.69 17420.85,-586.19"/>
-<polygon fill="none" stroke="midnightblue" points="24727.48,-906.54 24737.5,-903.09 24727.51,-899.54 24727.48,-906.54"/>
+<path fill="none" stroke="midnightblue" d="M24892.15,-903.21C24002.83,-900.37 17610.16,-872.9 17266.5,-669 17233.42,-649.37 17210.44,-613.77 17195.19,-580.6"/>
+<polygon fill="none" stroke="midnightblue" points="24892.34,-906.71 24902.35,-903.25 24892.36,-899.71 24892.34,-906.71"/>
</g>
<!-- Node259 -->
-<g id="node120" class="node">
+<g id="node119" class="node">
<title>Node259</title>
-<g id="a_node120"><a xlink:href="classtvm_1_1arith_1_1IntSetNode.html" target="_top" xlink:title="Base class of all Integer set containers. represent a set of integers in one dimension.">
-<polygon fill="white" stroke="black" points="17499,-457.5 17499,-547.5 17672,-547.5 17672,-457.5 17499,-457.5"/>
-<text text-anchor="middle" x="17585.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntSetNode</text>
-<polyline fill="none" stroke="black" points="17499,-528.5 17672,-528.5 "/>
-<text text-anchor="start" x="17507" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="17507" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="17507" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="17499,-487.5 17672,-487.5 "/>
-<text text-anchor="start" x="17507" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="17507" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node119"><a xlink:href="classtvm_1_1arith_1_1IntConstraintsTransformNode.html" target="_top" xlink:title="We can have different set of variables to represent the same constraints. For example,...">
+<polygon fill="white" stroke="black" points="17275.5,-413.5 17275.5,-591.5 17451.5,-591.5 17451.5,-413.5 17275.5,-413.5"/>
+<text text-anchor="start" x="17283.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntConstraints</text>
+<text text-anchor="middle" x="17363.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">TransformNode</text>
+<polyline fill="none" stroke="black" points="17275.5,-561.5 17451.5,-561.5 "/>
+<text text-anchor="start" x="17283.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ src</text>
+<text text-anchor="start" x="17283.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dst</text>
+<text text-anchor="start" x="17283.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ src_to_dst</text>
+<text text-anchor="start" x="17283.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dst_to_src</text>
+<text text-anchor="start" x="17283.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="17283.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="17283.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="17275.5,-476.5 17451.5,-476.5 "/>
+<text text-anchor="start" x="17283.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17283.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17283.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17283.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="17283.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node259 -->
-<g id="edge119" class="edge">
+<g id="edge118" class="edge">
<title>Node1->Node259</title>
-<path fill="none" stroke="midnightblue" d="M24727.28,-902.96C23876.76,-898.16 17997.78,-858.15 17681.5,-669 17637.17,-642.49 17611.27,-587.12 17597.77,-547.74"/>
-<polygon fill="none" stroke="midnightblue" points="24727.34,-906.46 24737.36,-903.02 24727.38,-899.46 24727.34,-906.46"/>
+<path fill="none" stroke="midnightblue" d="M24892.32,-903.13C24016.31,-899.62 17795.16,-867.74 17460.5,-669 17431.15,-651.57 17409.75,-621.57 17394.64,-591.85"/>
+<polygon fill="none" stroke="midnightblue" points="24892.37,-906.63 24902.38,-903.17 24892.39,-899.63 24892.37,-906.63"/>
</g>
<!-- Node260 -->
-<g id="node121" class="node">
+<g id="node120" class="node">
<title>Node260</title>
-<g id="a_node121"><a xlink:href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap.">
-<polygon fill="white" stroke="black" points="17690.5,-446.5 17690.5,-558.5 17866.5,-558.5 17866.5,-446.5 17690.5,-446.5"/>
-<text text-anchor="middle" x="17778.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapResultNode</text>
-<polyline fill="none" stroke="black" points="17690.5,-539.5 17866.5,-539.5 "/>
-<text text-anchor="start" x="17698.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ indices</text>
-<text text-anchor="start" x="17698.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ errors</text>
-<text text-anchor="start" x="17698.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding_predicate</text>
-<text text-anchor="start" x="17698.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="17690.5,-487.5 17866.5,-487.5 "/>
-<text text-anchor="start" x="17698.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17698.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="17698.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node120"><a xlink:href="classtvm_1_1arith_1_1IntGroupBoundsNode.html" target="_top" xlink:title="Represent integer grouped bounds which are classified into lower bounds (inclusive),...">
+<polygon fill="white" stroke="black" points="17469.5,-419 17469.5,-586 17645.5,-586 17645.5,-419 17469.5,-419"/>
+<text text-anchor="middle" x="17557.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntGroupBoundsNode</text>
+<polyline fill="none" stroke="black" points="17469.5,-567 17645.5,-567 "/>
+<text text-anchor="start" x="17477.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ coef</text>
+<text text-anchor="start" x="17477.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ lower</text>
+<text text-anchor="start" x="17477.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ equal</text>
+<text text-anchor="start" x="17477.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ upper</text>
+<text text-anchor="start" x="17477.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="17477.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="17477.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="17469.5,-482 17645.5,-482 "/>
+<text text-anchor="start" x="17477.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17477.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="17477.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="17477.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="17477.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node260 -->
-<g id="edge120" class="edge">
+<g id="edge119" class="edge">
<title>Node1->Node260</title>
-<path fill="none" stroke="midnightblue" d="M24727.14,-902.85C23889.28,-897.23 18183.18,-852.25 17875.5,-669 17835.01,-644.89 17809.65,-596.87 17795.06,-558.73"/>
-<polygon fill="none" stroke="midnightblue" points="24727.33,-906.36 24737.36,-902.92 24727.38,-899.36 24727.33,-906.36"/>
+<path fill="none" stroke="midnightblue" d="M24892.28,-903.04C24028.91,-898.84 17980.13,-862.56 17654.5,-669 17623.3,-650.45 17601.08,-617.69 17585.85,-586.19"/>
+<polygon fill="none" stroke="midnightblue" points="24892.48,-906.54 24902.5,-903.09 24892.51,-899.54 24892.48,-906.54"/>
</g>
<!-- Node261 -->
-<g id="node122" class="node">
+<g id="node121" class="node">
<title>Node261</title>
-<g id="a_node122"><a xlink:href="classtvm_1_1arith_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent).">
-<polygon fill="white" stroke="black" points="17884.5,-419 17884.5,-586 18060.5,-586 18060.5,-419 17884.5,-419"/>
-<text text-anchor="middle" x="17972.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMarkNode</text>
-<polyline fill="none" stroke="black" points="17884.5,-567 18060.5,-567 "/>
-<text text-anchor="start" x="17892.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ source</text>
-<text text-anchor="start" x="17892.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ extent</text>
-<text text-anchor="start" x="17892.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="17892.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="17892.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="17892.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="17892.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="17884.5,-482 18060.5,-482 "/>
-<text text-anchor="start" x="17892.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="17892.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="17892.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="17892.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="17892.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node121"><a xlink:href="classtvm_1_1arith_1_1IntSetNode.html" target="_top" xlink:title="Base class of all Integer set containers. represent a set of integers in one dimension.">
+<polygon fill="white" stroke="black" points="17664,-457.5 17664,-547.5 17837,-547.5 17837,-457.5 17664,-457.5"/>
+<text text-anchor="middle" x="17750.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IntSetNode</text>
+<polyline fill="none" stroke="black" points="17664,-528.5 17837,-528.5 "/>
+<text text-anchor="start" x="17672" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="17672" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="17672" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="17664,-487.5 17837,-487.5 "/>
+<text text-anchor="start" x="17672" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="17672" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node261 -->
-<g id="edge121" class="edge">
+<g id="edge120" class="edge">
<title>Node1->Node261</title>
-<path fill="none" stroke="midnightblue" d="M24727.41,-902.75C23903.86,-896.4 18368.2,-847.11 18069.5,-669 18038.32,-650.41 18016.11,-617.65 18000.88,-586.15"/>
-<polygon fill="none" stroke="midnightblue" points="24727.43,-906.25 24737.46,-902.83 24727.49,-899.25 24727.43,-906.25"/>
+<path fill="none" stroke="midnightblue" d="M24892.28,-902.96C24041.76,-898.16 18162.78,-858.15 17846.5,-669 17802.17,-642.49 17776.27,-587.12 17762.77,-547.74"/>
+<polygon fill="none" stroke="midnightblue" points="24892.34,-906.46 24902.36,-903.02 24892.38,-899.46 24892.34,-906.46"/>
</g>
<!-- Node262 -->
-<g id="node123" class="node">
+<g id="node122" class="node">
<title>Node262</title>
-<g id="a_node123"><a xlink:href="classtvm_1_1arith_1_1ModularSetNode.html" target="_top" xlink:title="Range of a linear integer function. Use to do specify the possible index values.">
-<polygon fill="white" stroke="black" points="18078.5,-446.5 18078.5,-558.5 18254.5,-558.5 18254.5,-446.5 18078.5,-446.5"/>
-<text text-anchor="middle" x="18166.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ModularSetNode</text>
-<polyline fill="none" stroke="black" points="18078.5,-539.5 18254.5,-539.5 "/>
-<text text-anchor="start" x="18086.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ coeff</text>
-<text text-anchor="start" x="18086.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ base</text>
-<text text-anchor="start" x="18086.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="18078.5,-498.5 18254.5,-498.5 "/>
-<text text-anchor="start" x="18086.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18086.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="18086.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="18086.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node122"><a xlink:href="classtvm_1_1arith_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap.">
+<polygon fill="white" stroke="black" points="17855.5,-446.5 17855.5,-558.5 18031.5,-558.5 18031.5,-446.5 17855.5,-446.5"/>
+<text text-anchor="middle" x="17943.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMapResultNode</text>
+<polyline fill="none" stroke="black" points="17855.5,-539.5 18031.5,-539.5 "/>
+<text text-anchor="start" x="17863.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ indices</text>
+<text text-anchor="start" x="17863.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ errors</text>
+<text text-anchor="start" x="17863.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ padding_predicate</text>
+<text text-anchor="start" x="17863.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="17855.5,-487.5 18031.5,-487.5 "/>
+<text text-anchor="start" x="17863.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="17863.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="17863.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node262 -->
-<g id="edge122" class="edge">
+<g id="edge121" class="edge">
<title>Node1->Node262</title>
-<path fill="none" stroke="midnightblue" d="M24727.18,-902.64C23916.39,-895.52 18553.17,-841.92 18263.5,-669 18223.04,-644.84 18197.67,-596.83 18183.07,-558.71"/>
-<polygon fill="none" stroke="midnightblue" points="24727.34,-906.15 24737.37,-902.73 24727.4,-899.15 24727.34,-906.15"/>
+<path fill="none" stroke="midnightblue" d="M24892.14,-902.85C24054.28,-897.23 18348.18,-852.25 18040.5,-669 18000.01,-644.89 17974.65,-596.87 17960.06,-558.73"/>
+<polygon fill="none" stroke="midnightblue" points="24892.33,-906.36 24902.36,-902.92 24892.38,-899.36 24892.33,-906.36"/>
</g>
<!-- Node263 -->
-<g id="node124" class="node">
+<g id="node123" class="node">
<title>Node263</title>
-<g id="a_node124"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
-<polygon fill="white" stroke="black" points="18272.5,-424.5 18272.5,-580.5 18474.5,-580.5 18474.5,-424.5 18272.5,-424.5"/>
-<text text-anchor="middle" x="18373.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrumentNode</text>
-<polyline fill="none" stroke="black" points="18272.5,-561.5 18474.5,-561.5 "/>
-<text text-anchor="start" x="18280.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="18280.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="18272.5,-531.5 18474.5,-531.5 "/>
-<text text-anchor="start" x="18280.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PassInstrumentNode()</text>
-<text text-anchor="start" x="18280.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EnterPassContext()</text>
-<text text-anchor="start" x="18280.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExitPassContext()</text>
-<text text-anchor="start" x="18280.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ShouldRun()</text>
-<text text-anchor="start" x="18280.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RunBeforePass()</text>
-<text text-anchor="start" x="18280.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RunAfterPass()</text>
-<text text-anchor="start" x="18280.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18280.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="18280.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node123"><a xlink:href="classtvm_1_1arith_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent).">
+<polygon fill="white" stroke="black" points="18049.5,-419 18049.5,-586 18225.5,-586 18225.5,-419 18049.5,-419"/>
+<text text-anchor="middle" x="18137.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::IterMarkNode</text>
+<polyline fill="none" stroke="black" points="18049.5,-567 18225.5,-567 "/>
+<text text-anchor="start" x="18057.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ source</text>
+<text text-anchor="start" x="18057.5" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ extent</text>
+<text text-anchor="start" x="18057.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="18057.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="18057.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="18057.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="18057.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="18049.5,-482 18225.5,-482 "/>
+<text text-anchor="start" x="18057.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18057.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18057.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="18057.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="18057.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node263 -->
-<g id="edge123" class="edge">
+<g id="edge122" class="edge">
<title>Node1->Node263</title>
-<path fill="none" stroke="midnightblue" d="M24726.97,-902.37C23931.43,-893.26 18767.54,-828.09 18483.5,-669 18448.73,-649.53 18422.95,-613.94 18405.12,-580.74"/>
-<polygon fill="none" stroke="midnightblue" points="24727.21,-905.87 24737.25,-902.49 24727.29,-898.87 24727.21,-905.87"/>
+<path fill="none" stroke="midnightblue" d="M24892.41,-902.75C24068.86,-896.4 18533.2,-847.11 18234.5,-669 18203.32,-650.41 18181.11,-617.65 18165.88,-586.15"/>
+<polygon fill="none" stroke="midnightblue" points="24892.43,-906.25 24902.46,-902.83 24892.49,-899.25 24892.43,-906.25"/>
</g>
<!-- Node264 -->
-<g id="node125" class="node">
+<g id="node124" class="node">
<title>Node264</title>
-<g id="a_node125"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information.">
-<polygon fill="white" stroke="black" points="18493,-452 18493,-553 18666,-553 18666,-452 18493,-452"/>
-<text text-anchor="start" x="18501" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="18579.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfoNode</text>
-<polyline fill="none" stroke="black" points="18493,-523 18666,-523 "/>
-<text text-anchor="start" x="18501" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="18493,-504 18666,-504 "/>
-<text text-anchor="start" x="18501" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="18501" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="18501" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ArgInfoNode()</text>
-<text text-anchor="start" x="18501" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
+<g id="a_node124"><a xlink:href="classtvm_1_1arith_1_1ModularSetNode.html" target="_top" xlink:title="Range of a linear integer function. Use to do specify the possible index values.">
+<polygon fill="white" stroke="black" points="18243.5,-446.5 18243.5,-558.5 18419.5,-558.5 18419.5,-446.5 18243.5,-446.5"/>
+<text text-anchor="middle" x="18331.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::arith::ModularSetNode</text>
+<polyline fill="none" stroke="black" points="18243.5,-539.5 18419.5,-539.5 "/>
+<text text-anchor="start" x="18251.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ coeff</text>
+<text text-anchor="start" x="18251.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ base</text>
+<text text-anchor="start" x="18251.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="18243.5,-498.5 18419.5,-498.5 "/>
+<text text-anchor="start" x="18251.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18251.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="18251.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="18251.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node264 -->
-<g id="edge124" class="edge">
+<g id="edge123" class="edge">
<title>Node1->Node264</title>
-<path fill="none" stroke="midnightblue" d="M24727.22,-902.4C23945.97,-893.68 18945.72,-831.57 18675.5,-669 18633.23,-643.57 18607.7,-591.95 18593.71,-553.09"/>
-<polygon fill="none" stroke="midnightblue" points="24727.28,-905.9 24737.32,-902.51 24727.36,-898.9 24727.28,-905.9"/>
+<path fill="none" stroke="midnightblue" d="M24892.18,-902.64C24081.39,-895.52 18718.17,-841.92 18428.5,-669 18388.04,-644.84 18362.67,-596.83 18348.07,-558.71"/>
+<polygon fill="none" stroke="midnightblue" points="24892.34,-906.15 24902.37,-902.73 24892.4,-899.15 24892.34,-906.15"/>
+</g>
+<!-- Node265 -->
+<g id="node125" class="node">
+<title>Node265</title>
+<g id="a_node125"><a xlink:href="classtvm_1_1instrument_1_1PassInstrumentNode.html" target="_top" xlink:title="PassInstrumentNode forms an instrument implementation. It provides API for users to register callback...">
+<polygon fill="white" stroke="black" points="18437.5,-424.5 18437.5,-580.5 18639.5,-580.5 18639.5,-424.5 18437.5,-424.5"/>
+<text text-anchor="middle" x="18538.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrumentNode</text>
+<polyline fill="none" stroke="black" points="18437.5,-561.5 18639.5,-561.5 "/>
+<text text-anchor="start" x="18445.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="18445.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="18437.5,-531.5 18639.5,-531.5 "/>
+<text text-anchor="start" x="18445.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PassInstrumentNode()</text>
+<text text-anchor="start" x="18445.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ EnterPassContext()</text>
+<text text-anchor="start" x="18445.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExitPassContext()</text>
+<text text-anchor="start" x="18445.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ShouldRun()</text>
+<text text-anchor="start" x="18445.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RunBeforePass()</text>
+<text text-anchor="start" x="18445.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RunAfterPass()</text>
+<text text-anchor="start" x="18445.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18445.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="18445.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node265 -->
+<g id="edge124" class="edge">
+<title>Node1->Node265</title>
+<path fill="none" stroke="midnightblue" d="M24891.97,-902.37C24096.43,-893.26 18932.54,-828.09 18648.5,-669 18613.73,-649.53 18587.95,-613.94 18570.12,-580.74"/>
+<polygon fill="none" stroke="midnightblue" points="24892.21,-905.87 24902.25,-902.49 24892.29,-898.87 24892.21,-905.87"/>
</g>
<!-- Node266 -->
-<g id="node127" class="node">
+<g id="node126" class="node">
<title>Node266</title>
-<g id="a_node127"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder's input, containing an IRModule and the target.">
-<polygon fill="white" stroke="black" points="18684.5,-441 18684.5,-564 18860.5,-564 18860.5,-441 18684.5,-441"/>
-<text text-anchor="start" x="18692.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="18772.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInputNode</text>
-<polyline fill="none" stroke="black" points="18684.5,-534 18860.5,-534 "/>
-<text text-anchor="start" x="18692.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
-<text text-anchor="start" x="18692.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
-<text text-anchor="start" x="18692.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ params</text>
-<text text-anchor="start" x="18692.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="18684.5,-482 18860.5,-482 "/>
-<text text-anchor="start" x="18692.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="18692.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="18692.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node126"><a xlink:href="classtvm_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information.">
+<polygon fill="white" stroke="black" points="18658,-452 18658,-553 18831,-553 18831,-452 18658,-452"/>
+<text text-anchor="start" x="18666" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="18744.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfoNode</text>
+<polyline fill="none" stroke="black" points="18658,-523 18831,-523 "/>
+<text text-anchor="start" x="18666" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="18658,-504 18831,-504 "/>
+<text text-anchor="start" x="18666" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="18666" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="18666" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ArgInfoNode()</text>
+<text text-anchor="start" x="18666" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
</a>
</g>
</g>
<!-- Node1->Node266 -->
-<g id="edge126" class="edge">
+<g id="edge125" class="edge">
<title>Node1->Node266</title>
-<path fill="none" stroke="midnightblue" d="M24727.16,-902.26C23959.92,-892.61 19131.09,-825.8 18869.5,-669 18831.08,-645.97 18806.26,-601.46 18791.35,-564.39"/>
-<polygon fill="none" stroke="midnightblue" points="24727.3,-905.76 24737.35,-902.39 24727.39,-898.76 24727.3,-905.76"/>
+<path fill="none" stroke="midnightblue" d="M24892.22,-902.4C24110.97,-893.68 19110.72,-831.57 18840.5,-669 18798.23,-643.57 18772.7,-591.95 18758.71,-553.09"/>
+<polygon fill="none" stroke="midnightblue" points="24892.28,-905.9 24902.32,-902.51 24892.36,-898.9 24892.28,-905.9"/>
</g>
-<!-- Node267 -->
+<!-- Node268 -->
<g id="node128" class="node">
-<title>Node267</title>
-<g id="a_node128"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface.">
-<polygon fill="white" stroke="black" points="18879,-452 18879,-553 19052,-553 19052,-452 18879,-452"/>
-<text text-anchor="start" x="18887" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="18965.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderNode</text>
-<polyline fill="none" stroke="black" points="18879,-523 19052,-523 "/>
-<text text-anchor="start" x="18887" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="18879,-504 19052,-504 "/>
-<text text-anchor="start" x="18887" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BuilderNode()</text>
-<text text-anchor="start" x="18887" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ Build()</text>
-<text text-anchor="start" x="18887" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="18887" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node267 -->
+<title>Node268</title>
+<g id="a_node128"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder's input, containing an IRModule and the target.">
+<polygon fill="white" stroke="black" points="18849.5,-441 18849.5,-564 19025.5,-564 19025.5,-441 18849.5,-441"/>
+<text text-anchor="start" x="18857.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="18937.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInputNode</text>
+<polyline fill="none" stroke="black" points="18849.5,-534 19025.5,-534 "/>
+<text text-anchor="start" x="18857.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
+<text text-anchor="start" x="18857.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
+<text text-anchor="start" x="18857.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ params</text>
+<text text-anchor="start" x="18857.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="18849.5,-482 19025.5,-482 "/>
+<text text-anchor="start" x="18857.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="18857.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="18857.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node268 -->
<g id="edge127" class="edge">
-<title>Node1->Node267</title>
-<path fill="none" stroke="midnightblue" d="M24727.21,-902.13C23974.38,-891.73 19313.87,-821.27 19061.5,-669 19019.27,-643.52 18993.73,-591.91 18979.73,-553.06"/>
-<polygon fill="none" stroke="midnightblue" points="24727.43,-905.64 24737.48,-902.27 24727.52,-898.64 24727.43,-905.64"/>
+<title>Node1->Node268</title>
+<path fill="none" stroke="midnightblue" d="M24892.16,-902.26C24124.92,-892.61 19296.09,-825.8 19034.5,-669 18996.08,-645.97 18971.26,-601.46 18956.35,-564.39"/>
+<polygon fill="none" stroke="midnightblue" points="24892.3,-905.76 24902.35,-902.39 24892.39,-898.76 24892.3,-905.76"/>
</g>
<!-- Node269 -->
-<g id="node130" class="node">
+<g id="node129" class="node">
<title>Node269</title>
-<g id="a_node130"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder's output, containing the artifact path or error message if any.">
-<polygon fill="white" stroke="black" points="19070.5,-446.5 19070.5,-558.5 19246.5,-558.5 19246.5,-446.5 19070.5,-446.5"/>
-<text text-anchor="start" x="19078.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="19158.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResultNode</text>
-<polyline fill="none" stroke="black" points="19070.5,-528.5 19246.5,-528.5 "/>
-<text text-anchor="start" x="19078.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ artifact_path</text>
-<text text-anchor="start" x="19078.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ error_msg</text>
-<text text-anchor="start" x="19078.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="19070.5,-487.5 19246.5,-487.5 "/>
-<text text-anchor="start" x="19078.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19078.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="19078.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node129"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface.">
+<polygon fill="white" stroke="black" points="19044,-452 19044,-553 19217,-553 19217,-452 19044,-452"/>
+<text text-anchor="start" x="19052" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="19130.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderNode</text>
+<polyline fill="none" stroke="black" points="19044,-523 19217,-523 "/>
+<text text-anchor="start" x="19052" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="19044,-504 19217,-504 "/>
+<text text-anchor="start" x="19052" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~BuilderNode()</text>
+<text text-anchor="start" x="19052" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ Build()</text>
+<text text-anchor="start" x="19052" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="19052" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node269 -->
-<g id="edge129" class="edge">
+<g id="edge128" class="edge">
<title>Node1->Node269</title>
-<path fill="none" stroke="midnightblue" d="M24727.16,-901.97C23988.91,-890.6 19499.24,-815.55 19255.5,-669 19215.11,-644.72 19189.74,-596.71 19175.12,-558.63"/>
-<polygon fill="none" stroke="midnightblue" points="24727.18,-905.47 24737.24,-902.13 24727.29,-898.47 24727.18,-905.47"/>
+<path fill="none" stroke="midnightblue" d="M24892.21,-902.13C24139.38,-891.73 19478.87,-821.27 19226.5,-669 19184.27,-643.52 19158.73,-591.91 19144.73,-553.06"/>
+<polygon fill="none" stroke="midnightblue" points="24892.43,-905.64 24902.48,-902.27 24892.52,-898.64 24892.43,-905.64"/>
</g>
-<!-- Node270 -->
+<!-- Node271 -->
<g id="node131" class="node">
-<title>Node270</title>
-<g id="a_node131"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model.">
-<polygon fill="white" stroke="black" points="19265,-430 19265,-575 19438,-575 19438,-430 19265,-430"/>
-<text text-anchor="start" x="19273" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="19351.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModelNode</text>
-<polyline fill="none" stroke="black" points="19265,-545 19438,-545 "/>
-<text text-anchor="start" x="19273" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="19265,-526 19438,-526 "/>
-<text text-anchor="start" x="19273" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~CostModelNode()</text>
-<text text-anchor="start" x="19273" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19273" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ Load()</text>
-<text text-anchor="start" x="19273" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ Save()</text>
-<text text-anchor="start" x="19273" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
-<text text-anchor="start" x="19273" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ Predict()</text>
-<text text-anchor="start" x="19273" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="19273" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node270 -->
+<title>Node271</title>
+<g id="a_node131"><a xlink:href="classtvm_1_1meta__schedule_1_1BuilderResultNode.html" target="_top" xlink:title="The builder's output, containing the artifact path or error message if any.">
+<polygon fill="white" stroke="black" points="19235.5,-446.5 19235.5,-558.5 19411.5,-558.5 19411.5,-446.5 19235.5,-446.5"/>
+<text text-anchor="start" x="19243.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="19323.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResultNode</text>
+<polyline fill="none" stroke="black" points="19235.5,-528.5 19411.5,-528.5 "/>
+<text text-anchor="start" x="19243.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ artifact_path</text>
+<text text-anchor="start" x="19243.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ error_msg</text>
+<text text-anchor="start" x="19243.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="19235.5,-487.5 19411.5,-487.5 "/>
+<text text-anchor="start" x="19243.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19243.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="19243.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node271 -->
<g id="edge130" class="edge">
-<title>Node1->Node270</title>
-<path fill="none" stroke="midnightblue" d="M24727.25,-901.84C24003.9,-889.73 19680.78,-811.55 19446.5,-669 19412.11,-648.08 19388.97,-609.73 19374.14,-575.22"/>
-<polygon fill="none" stroke="midnightblue" points="24727.32,-905.34 24737.38,-902.01 24727.44,-898.34 24727.32,-905.34"/>
+<title>Node1->Node271</title>
+<path fill="none" stroke="midnightblue" d="M24892.16,-901.97C24153.91,-890.6 19664.24,-815.55 19420.5,-669 19380.11,-644.72 19354.74,-596.71 19340.12,-558.63"/>
+<polygon fill="none" stroke="midnightblue" points="24892.18,-905.47 24902.24,-902.13 24892.29,-898.47 24892.18,-905.47"/>
</g>
<!-- Node272 -->
-<g id="node133" class="node">
+<g id="node132" class="node">
<title>Node272</title>
-<g id="a_node133"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="19456,-391.5 19456,-613.5 19629,-613.5 19629,-391.5 19456,-391.5"/>
-<text text-anchor="start" x="19464" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="19542.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DatabaseNode</text>
-<polyline fill="none" stroke="black" points="19456,-583.5 19629,-583.5 "/>
-<text text-anchor="start" x="19464" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="19456,-564.5 19629,-564.5 "/>
-<text text-anchor="start" x="19464" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DatabaseNode()</text>
-<text text-anchor="start" x="19464" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~DatabaseNode()</text>
-<text text-anchor="start" x="19464" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasWorkload()</text>
-<text text-anchor="start" x="19464" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitWorkload()</text>
-<text text-anchor="start" x="19464" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitTuningRecord()</text>
-<text text-anchor="start" x="19464" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTopK()</text>
-<text text-anchor="start" x="19464" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAllTuningRecords()</text>
-<text text-anchor="start" x="19464" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
-<text text-anchor="start" x="19464" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryTuningRecord()</text>
-<text text-anchor="start" x="19464" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QuerySchedule()</text>
-<text text-anchor="start" x="19464" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryIRModule()</text>
-<text text-anchor="start" x="19464" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DumpPruned()</text>
-<text text-anchor="start" x="19464" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetModuleEquality()</text>
-<text text-anchor="start" x="19464" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="19464" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node132"><a xlink:href="classtvm_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model.">
+<polygon fill="white" stroke="black" points="19430,-430 19430,-575 19603,-575 19603,-430 19430,-430"/>
+<text text-anchor="start" x="19438" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="19516.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModelNode</text>
+<polyline fill="none" stroke="black" points="19430,-545 19603,-545 "/>
+<text text-anchor="start" x="19438" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="19430,-526 19603,-526 "/>
+<text text-anchor="start" x="19438" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~CostModelNode()</text>
+<text text-anchor="start" x="19438" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19438" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ Load()</text>
+<text text-anchor="start" x="19438" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ Save()</text>
+<text text-anchor="start" x="19438" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Update()</text>
+<text text-anchor="start" x="19438" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ Predict()</text>
+<text text-anchor="start" x="19438" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="19438" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node272 -->
-<g id="edge132" class="edge">
+<g id="edge131" class="edge">
<title>Node1->Node272</title>
-<path fill="none" stroke="midnightblue" d="M24727.28,-901.66C24019.11,-888.54 19864.25,-805.91 19638.5,-669 19616.63,-655.74 19599.23,-635.48 19585.59,-613.64"/>
-<polygon fill="none" stroke="midnightblue" points="24727.39,-905.16 24737.46,-901.84 24727.52,-898.16 24727.39,-905.16"/>
+<path fill="none" stroke="midnightblue" d="M24892.25,-901.84C24168.9,-889.73 19845.78,-811.55 19611.5,-669 19577.11,-648.08 19553.97,-609.73 19539.14,-575.22"/>
+<polygon fill="none" stroke="midnightblue" points="24892.32,-905.34 24902.38,-902.01 24892.44,-898.34 24892.32,-905.34"/>
</g>
<!-- Node274 -->
-<g id="node135" class="node">
+<g id="node134" class="node">
<title>Node274</title>
-<g id="a_node135"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high-level IR.">
-<polygon fill="white" stroke="black" points="19647.5,-430 19647.5,-575 19823.5,-575 19823.5,-430 19647.5,-430"/>
-<text text-anchor="start" x="19655.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="19735.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTaskNode</text>
-<polyline fill="none" stroke="black" points="19647.5,-545 19823.5,-545 "/>
-<text text-anchor="start" x="19655.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ task_name</text>
-<text text-anchor="start" x="19655.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
-<text text-anchor="start" x="19655.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
-<text text-anchor="start" x="19655.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ dispatched</text>
-<text text-anchor="start" x="19655.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ weight</text>
-<text text-anchor="start" x="19655.5" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="19647.5,-471 19823.5,-471 "/>
-<text text-anchor="start" x="19655.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19655.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="19655.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node134"><a xlink:href="classtvm_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="19621,-391.5 19621,-613.5 19794,-613.5 19794,-391.5 19621,-391.5"/>
+<text text-anchor="start" x="19629" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="19707.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DatabaseNode</text>
+<polyline fill="none" stroke="black" points="19621,-583.5 19794,-583.5 "/>
+<text text-anchor="start" x="19629" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="19621,-564.5 19794,-564.5 "/>
+<text text-anchor="start" x="19629" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DatabaseNode()</text>
+<text text-anchor="start" x="19629" y="-541.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~DatabaseNode()</text>
+<text text-anchor="start" x="19629" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasWorkload()</text>
+<text text-anchor="start" x="19629" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitWorkload()</text>
+<text text-anchor="start" x="19629" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitTuningRecord()</text>
+<text text-anchor="start" x="19629" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTopK()</text>
+<text text-anchor="start" x="19629" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetAllTuningRecords()</text>
+<text text-anchor="start" x="19629" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Size()</text>
+<text text-anchor="start" x="19629" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryTuningRecord()</text>
+<text text-anchor="start" x="19629" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QuerySchedule()</text>
+<text text-anchor="start" x="19629" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ QueryIRModule()</text>
+<text text-anchor="start" x="19629" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ DumpPruned()</text>
+<text text-anchor="start" x="19629" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetModuleEquality()</text>
+<text text-anchor="start" x="19629" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="19629" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node274 -->
-<g id="edge134" class="edge">
+<g id="edge133" class="edge">
<title>Node1->Node274</title>
-<path fill="none" stroke="midnightblue" d="M24727.29,-901.46C24034.65,-887.29 20049.61,-800.26 19832.5,-669 19797.87,-648.06 19774.26,-609.72 19759.02,-575.21"/>
-<polygon fill="none" stroke="midnightblue" points="24727.42,-904.96 24737.49,-901.67 24727.57,-897.96 24727.42,-904.96"/>
+<path fill="none" stroke="midnightblue" d="M24892.28,-901.66C24184.11,-888.54 20029.25,-805.91 19803.5,-669 19781.63,-655.74 19764.23,-635.48 19750.59,-613.64"/>
+<polygon fill="none" stroke="midnightblue" points="24892.39,-905.16 24902.46,-901.84 24892.52,-898.16 24892.39,-905.16"/>
</g>
-<!-- Node275 -->
+<!-- Node276 -->
<g id="node136" class="node">
-<title>Node275</title>
-<g id="a_node136"><a xlink:href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model.">
-<polygon fill="white" stroke="black" points="19842,-446.5 19842,-558.5 20015,-558.5 20015,-446.5 19842,-446.5"/>
-<text text-anchor="start" x="19850" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="19928.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractorNode</text>
-<polyline fill="none" stroke="black" points="19842,-528.5 20015,-528.5 "/>
-<text text-anchor="start" x="19850" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="19842,-509.5 20015,-509.5 "/>
-<text text-anchor="start" x="19850" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~FeatureExtractorNode()</text>
-<text text-anchor="start" x="19850" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="19850" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractFrom()</text>
-<text text-anchor="start" x="19850" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="19850" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node275 -->
+<title>Node276</title>
+<g id="a_node136"><a xlink:href="classtvm_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high-level IR.">
+<polygon fill="white" stroke="black" points="19812.5,-430 19812.5,-575 19988.5,-575 19988.5,-430 19812.5,-430"/>
+<text text-anchor="start" x="19820.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="19900.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTaskNode</text>
+<polyline fill="none" stroke="black" points="19812.5,-545 19988.5,-545 "/>
+<text text-anchor="start" x="19820.5" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ task_name</text>
+<text text-anchor="start" x="19820.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
+<text text-anchor="start" x="19820.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
+<text text-anchor="start" x="19820.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ dispatched</text>
+<text text-anchor="start" x="19820.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ weight</text>
+<text text-anchor="start" x="19820.5" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="19812.5,-471 19988.5,-471 "/>
+<text text-anchor="start" x="19820.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="19820.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="19820.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node276 -->
<g id="edge135" class="edge">
-<title>Node1->Node275</title>
-<path fill="none" stroke="midnightblue" d="M24727.18,-901.28C24049.71,-886.26 20231.23,-796.14 20023.5,-669 19983.52,-644.53 19958.71,-596.55 19944.52,-558.52"/>
-<polygon fill="none" stroke="midnightblue" points="24727.32,-904.79 24737.4,-901.51 24727.48,-897.79 24727.32,-904.79"/>
+<title>Node1->Node276</title>
+<path fill="none" stroke="midnightblue" d="M24892.29,-901.46C24199.65,-887.29 20214.61,-800.26 19997.5,-669 19962.87,-648.06 19939.26,-609.72 19924.02,-575.21"/>
+<polygon fill="none" stroke="midnightblue" points="24892.42,-904.96 24902.49,-901.67 24892.57,-897.96 24892.42,-904.96"/>
</g>
<!-- Node277 -->
-<g id="node138" class="node">
+<g id="node137" class="node">
<title>Node277</title>
-<g id="a_node138"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available.">
-<polygon fill="white" stroke="black" points="20033,-446.5 20033,-558.5 20206,-558.5 20206,-446.5 20033,-446.5"/>
-<text text-anchor="start" x="20041" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="20119.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallbackNode</text>
-<polyline fill="none" stroke="black" points="20033,-528.5 20206,-528.5 "/>
-<text text-anchor="start" x="20041" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="20033,-509.5 20206,-509.5 "/>
-<text text-anchor="start" x="20041" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~MeasureCallbackNode()</text>
-<text text-anchor="start" x="20041" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20041" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
-<text text-anchor="start" x="20041" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="20041" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node137"><a xlink:href="classtvm_1_1meta__schedule_1_1FeatureExtractorNode.html" target="_top" xlink:title="Extractor for features from measure candidates for use in cost model.">
+<polygon fill="white" stroke="black" points="20007,-446.5 20007,-558.5 20180,-558.5 20180,-446.5 20007,-446.5"/>
+<text text-anchor="start" x="20015" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="20093.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractorNode</text>
+<polyline fill="none" stroke="black" points="20007,-528.5 20180,-528.5 "/>
+<text text-anchor="start" x="20015" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="20007,-509.5 20180,-509.5 "/>
+<text text-anchor="start" x="20015" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~FeatureExtractorNode()</text>
+<text text-anchor="start" x="20015" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20015" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ExtractFrom()</text>
+<text text-anchor="start" x="20015" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="20015" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node277 -->
-<g id="edge137" class="edge">
+<g id="edge136" class="edge">
<title>Node1->Node277</title>
-<path fill="none" stroke="midnightblue" d="M24726.84,-901.05C24064.46,-884.89 20414.65,-790.55 20215.5,-669 20175.38,-644.51 20150.28,-596.53 20135.86,-558.51"/>
-<polygon fill="none" stroke="midnightblue" points="24727.23,-904.56 24737.31,-901.3 24727.4,-897.56 24727.23,-904.56"/>
+<path fill="none" stroke="midnightblue" d="M24892.18,-901.28C24214.71,-886.26 20396.23,-796.14 20188.5,-669 20148.52,-644.53 20123.71,-596.55 20109.52,-558.52"/>
+<polygon fill="none" stroke="midnightblue" points="24892.32,-904.79 24902.4,-901.51 24892.48,-897.79 24892.32,-904.79"/>
</g>
<!-- Node279 -->
-<g id="node140" class="node">
+<g id="node139" class="node">
<title>Node279</title>
-<g id="a_node140"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured.">
-<polygon fill="white" stroke="black" points="20224.5,-446.5 20224.5,-558.5 20400.5,-558.5 20400.5,-446.5 20224.5,-446.5"/>
-<text text-anchor="start" x="20232.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="20312.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidateNode</text>
-<polyline fill="none" stroke="black" points="20224.5,-528.5 20400.5,-528.5 "/>
-<text text-anchor="start" x="20232.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ sch</text>
-<text text-anchor="start" x="20232.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ args_info</text>
-<text text-anchor="start" x="20232.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="20224.5,-487.5 20400.5,-487.5 "/>
-<text text-anchor="start" x="20232.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20232.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="20232.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node139"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available.">
+<polygon fill="white" stroke="black" points="20198,-446.5 20198,-558.5 20371,-558.5 20371,-446.5 20198,-446.5"/>
+<text text-anchor="start" x="20206" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="20284.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallbackNode</text>
+<polyline fill="none" stroke="black" points="20198,-528.5 20371,-528.5 "/>
+<text text-anchor="start" x="20206" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="20198,-509.5 20371,-509.5 "/>
+<text text-anchor="start" x="20206" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~MeasureCallbackNode()</text>
+<text text-anchor="start" x="20206" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20206" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
+<text text-anchor="start" x="20206" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="20206" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node279 -->
-<g id="edge139" class="edge">
+<g id="edge138" class="edge">
<title>Node1->Node279</title>
-<path fill="none" stroke="midnightblue" d="M24726.79,-903.82C24098.6,-905.03 20789.49,-900.32 20409.5,-669 20369.25,-644.5 20343.86,-596.52 20329.2,-558.5"/>
-<polygon fill="none" stroke="midnightblue" points="24727.18,-907.32 24737.17,-903.8 24727.16,-900.32 24727.18,-907.32"/>
+<path fill="none" stroke="midnightblue" d="M24891.84,-901.05C24229.46,-884.89 20579.65,-790.55 20380.5,-669 20340.38,-644.51 20315.28,-596.53 20300.86,-558.51"/>
+<polygon fill="none" stroke="midnightblue" points="24892.23,-904.56 24902.31,-901.3 24892.4,-897.56 24892.23,-904.56"/>
</g>
-<!-- Node280 -->
+<!-- Node281 -->
<g id="node141" class="node">
-<title>Node280</title>
-<g id="a_node141"><a xlink:href="classtvm_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space.">
-<polygon fill="white" stroke="black" points="20419,-435.5 20419,-569.5 20592,-569.5 20592,-435.5 20419,-435.5"/>
-<text text-anchor="start" x="20427" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="20505.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MutatorNode</text>
-<polyline fill="none" stroke="black" points="20419,-539.5 20592,-539.5 "/>
-<text text-anchor="start" x="20427" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="20419,-520.5 20592,-520.5 "/>
-<text text-anchor="start" x="20427" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~MutatorNode()</text>
-<text text-anchor="start" x="20427" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20427" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
-<text text-anchor="start" x="20427" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
-<text text-anchor="start" x="20427" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
-<text text-anchor="start" x="20427" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="20427" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node280 -->
+<title>Node281</title>
+<g id="a_node141"><a xlink:href="classtvm_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured.">
+<polygon fill="white" stroke="black" points="20389.5,-446.5 20389.5,-558.5 20565.5,-558.5 20565.5,-446.5 20389.5,-446.5"/>
+<text text-anchor="start" x="20397.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="20477.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidateNode</text>
+<polyline fill="none" stroke="black" points="20389.5,-528.5 20565.5,-528.5 "/>
+<text text-anchor="start" x="20397.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ sch</text>
+<text text-anchor="start" x="20397.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ args_info</text>
+<text text-anchor="start" x="20397.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="20389.5,-487.5 20565.5,-487.5 "/>
+<text text-anchor="start" x="20397.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20397.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="20397.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node281 -->
<g id="edge140" class="edge">
-<title>Node1->Node280</title>
-<path fill="none" stroke="midnightblue" d="M24727.28,-903.6C24116.37,-903.47 20962.07,-891.95 20600.5,-669 20564.4,-646.74 20540.65,-605.37 20525.93,-569.56"/>
-<polygon fill="none" stroke="midnightblue" points="24727.39,-907.1 24737.39,-903.61 24727.39,-900.1 24727.39,-907.1"/>
+<title>Node1->Node281</title>
+<path fill="none" stroke="midnightblue" d="M24891.79,-903.82C24263.6,-905.03 20954.49,-900.32 20574.5,-669 20534.25,-644.5 20508.86,-596.52 20494.2,-558.5"/>
+<polygon fill="none" stroke="midnightblue" points="24892.18,-907.32 24902.17,-903.8 24892.16,-900.32 24892.18,-907.32"/>
</g>
<!-- Node282 -->
-<g id="node143" class="node">
+<g id="node142" class="node">
<title>Node282</title>
-<g id="a_node143"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule.">
-<polygon fill="white" stroke="black" points="20610,-435.5 20610,-569.5 20783,-569.5 20783,-435.5 20610,-435.5"/>
-<text text-anchor="start" x="20618" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="20696.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PostprocNode</text>
-<polyline fill="none" stroke="black" points="20610,-539.5 20783,-539.5 "/>
-<text text-anchor="start" x="20618" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="20610,-520.5 20783,-520.5 "/>
-<text text-anchor="start" x="20618" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PostprocNode()</text>
-<text text-anchor="start" x="20618" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20618" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
-<text text-anchor="start" x="20618" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
-<text text-anchor="start" x="20618" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
-<text text-anchor="start" x="20618" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="20618" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node142"><a xlink:href="classtvm_1_1meta__schedule_1_1MutatorNode.html" target="_top" xlink:title="Mutator is designed to mutate the trace to explore the design space.">
+<polygon fill="white" stroke="black" points="20584,-435.5 20584,-569.5 20757,-569.5 20757,-435.5 20584,-435.5"/>
+<text text-anchor="start" x="20592" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="20670.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MutatorNode</text>
+<polyline fill="none" stroke="black" points="20584,-539.5 20757,-539.5 "/>
+<text text-anchor="start" x="20592" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="20584,-520.5 20757,-520.5 "/>
+<text text-anchor="start" x="20592" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~MutatorNode()</text>
+<text text-anchor="start" x="20592" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20592" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
+<text text-anchor="start" x="20592" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
+<text text-anchor="start" x="20592" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
+<text text-anchor="start" x="20592" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="20592" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node282 -->
-<g id="edge142" class="edge">
+<g id="edge141" class="edge">
<title>Node1->Node282</title>
-<path fill="none" stroke="midnightblue" d="M24727.22,-903.29C24132.76,-901.34 21136.99,-880.96 20792.5,-669 20756.29,-646.72 20732.29,-605.34 20717.34,-569.54"/>
-<polygon fill="none" stroke="midnightblue" points="24727.46,-906.79 24737.48,-903.33 24727.49,-899.79 24727.46,-906.79"/>
+<path fill="none" stroke="midnightblue" d="M24892.28,-903.6C24281.37,-903.47 21127.07,-891.95 20765.5,-669 20729.4,-646.74 20705.65,-605.37 20690.93,-569.56"/>
+<polygon fill="none" stroke="midnightblue" points="24892.39,-907.1 24902.39,-903.61 24892.39,-900.1 24892.39,-907.1"/>
</g>
<!-- Node284 -->
-<g id="node145" class="node">
+<g id="node144" class="node">
<title>Node284</title>
-<g id="a_node145"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler.">
-<polygon fill="white" stroke="black" points="20801.5,-435.5 20801.5,-569.5 20977.5,-569.5 20977.5,-435.5 20801.5,-435.5"/>
-<text text-anchor="start" x="20809.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="20889.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ProfilerNode</text>
-<polyline fill="none" stroke="black" points="20801.5,-539.5 20977.5,-539.5 "/>
-<text text-anchor="start" x="20809.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ stats_sec</text>
-<text text-anchor="start" x="20809.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ total_timer</text>
-<text text-anchor="start" x="20809.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="20801.5,-498.5 20977.5,-498.5 "/>
-<text text-anchor="start" x="20809.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="20809.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="20809.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="20809.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get()</text>
-<text text-anchor="start" x="20809.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Table()</text>
+<g id="a_node144"><a xlink:href="classtvm_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule.">
+<polygon fill="white" stroke="black" points="20775,-435.5 20775,-569.5 20948,-569.5 20948,-435.5 20775,-435.5"/>
+<text text-anchor="start" x="20783" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="20861.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PostprocNode</text>
+<polyline fill="none" stroke="black" points="20775,-539.5 20948,-539.5 "/>
+<text text-anchor="start" x="20783" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="20775,-520.5 20948,-520.5 "/>
+<text text-anchor="start" x="20783" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~PostprocNode()</text>
+<text text-anchor="start" x="20783" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20783" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
+<text text-anchor="start" x="20783" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
+<text text-anchor="start" x="20783" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
+<text text-anchor="start" x="20783" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="20783" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node284 -->
-<g id="edge144" class="edge">
+<g id="edge143" class="edge">
<title>Node1->Node284</title>
-<path fill="none" stroke="midnightblue" d="M24727.09,-902.95C24149.53,-899.09 21313.69,-869.96 20986.5,-669 20950.18,-646.69 20925.93,-605.31 20910.76,-569.52"/>
-<polygon fill="none" stroke="midnightblue" points="24727.45,-906.45 24737.47,-903.02 24727.49,-899.45 24727.45,-906.45"/>
-</g>
-<!-- Node285 -->
-<g id="node146" class="node">
-<title>Node285</title>
-<g id="a_node146"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner's output.">
-<polygon fill="white" stroke="black" points="20995.5,-435.5 20995.5,-569.5 21171.5,-569.5 21171.5,-435.5 20995.5,-435.5"/>
-<text text-anchor="start" x="21003.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="21083.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFutureNode</text>
-<polyline fill="none" stroke="black" points="20995.5,-539.5 21171.5,-539.5 "/>
-<text text-anchor="start" x="21003.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ f_done</text>
-<text text-anchor="start" x="21003.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ f_result</text>
-<text text-anchor="start" x="21003.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="20995.5,-498.5 21171.5,-498.5 "/>
-<text text-anchor="start" x="21003.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21003.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Done()</text>
-<text text-anchor="start" x="21003.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Result()</text>
-<text text-anchor="start" x="21003.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="21003.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node285 -->
-<g id="edge145" class="edge">
-<title>Node1->Node285</title>
-<path fill="none" stroke="midnightblue" d="M24727.3,-902.6C24167.81,-896.9 21490,-859.79 21180.5,-669 21144.35,-646.72 21120.15,-605.58 21104.96,-569.89"/>
-<polygon fill="none" stroke="midnightblue" points="24727.33,-906.1 24737.37,-902.7 24727.4,-899.1 24727.33,-906.1"/>
+<path fill="none" stroke="midnightblue" d="M24892.22,-903.29C24297.76,-901.34 21301.99,-880.96 20957.5,-669 20921.29,-646.72 20897.29,-605.34 20882.34,-569.54"/>
+<polygon fill="none" stroke="midnightblue" points="24892.46,-906.79 24902.48,-903.33 24892.49,-899.79 24892.46,-906.79"/>
</g>
<!-- Node286 -->
-<g id="node147" class="node">
+<g id="node146" class="node">
<title>Node286</title>
-<g id="a_node147"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner's input containing path of artifact, type of device and argument info.">
-<polygon fill="white" stroke="black" points="21189.5,-441 21189.5,-564 21365.5,-564 21365.5,-441 21189.5,-441"/>
-<text text-anchor="start" x="21197.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="21277.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInputNode</text>
-<polyline fill="none" stroke="black" points="21189.5,-534 21365.5,-534 "/>
-<text text-anchor="start" x="21197.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ artifact_path</text>
-<text text-anchor="start" x="21197.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_type</text>
-<text text-anchor="start" x="21197.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ args_info</text>
-<text text-anchor="start" x="21197.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="21189.5,-482 21365.5,-482 "/>
-<text text-anchor="start" x="21197.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21197.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="21197.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node146"><a xlink:href="classtvm_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler.">
+<polygon fill="white" stroke="black" points="20966.5,-435.5 20966.5,-569.5 21142.5,-569.5 21142.5,-435.5 20966.5,-435.5"/>
+<text text-anchor="start" x="20974.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="21054.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ProfilerNode</text>
+<polyline fill="none" stroke="black" points="20966.5,-539.5 21142.5,-539.5 "/>
+<text text-anchor="start" x="20974.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ stats_sec</text>
+<text text-anchor="start" x="20974.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ total_timer</text>
+<text text-anchor="start" x="20974.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="20966.5,-498.5 21142.5,-498.5 "/>
+<text text-anchor="start" x="20974.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="20974.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="20974.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="20974.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get()</text>
+<text text-anchor="start" x="20974.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Table()</text>
</a>
</g>
</g>
<!-- Node1->Node286 -->
-<g id="edge146" class="edge">
+<g id="edge145" class="edge">
<title>Node1->Node286</title>
-<path fill="none" stroke="midnightblue" d="M24727.09,-902.2C24185.22,-894.57 21666.27,-849.58 21374.5,-669 21336.41,-645.43 21311.57,-600.94 21296.57,-564.02"/>
-<polygon fill="none" stroke="midnightblue" points="24727.18,-905.7 24737.23,-902.34 24727.28,-898.7 24727.18,-905.7"/>
+<path fill="none" stroke="midnightblue" d="M24892.09,-902.95C24314.53,-899.09 21478.69,-869.96 21151.5,-669 21115.18,-646.69 21090.93,-605.31 21075.76,-569.52"/>
+<polygon fill="none" stroke="midnightblue" points="24892.45,-906.45 24902.47,-903.02 24892.49,-899.45 24892.45,-906.45"/>
</g>
<!-- Node287 -->
-<g id="node148" class="node">
+<g id="node147" class="node">
<title>Node287</title>
-<g id="a_node148"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface.">
-<polygon fill="white" stroke="black" points="21384,-452 21384,-553 21557,-553 21557,-452 21384,-452"/>
-<text text-anchor="start" x="21392" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="21470.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerNode</text>
-<polyline fill="none" stroke="black" points="21384,-523 21557,-523 "/>
-<text text-anchor="start" x="21392" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="21384,-504 21557,-504 "/>
-<text text-anchor="start" x="21392" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RunnerNode()</text>
-<text text-anchor="start" x="21392" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ Run()</text>
-<text text-anchor="start" x="21392" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="21392" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node147"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner's output.">
+<polygon fill="white" stroke="black" points="21160.5,-435.5 21160.5,-569.5 21336.5,-569.5 21336.5,-435.5 21160.5,-435.5"/>
+<text text-anchor="start" x="21168.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="21248.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFutureNode</text>
+<polyline fill="none" stroke="black" points="21160.5,-539.5 21336.5,-539.5 "/>
+<text text-anchor="start" x="21168.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ f_done</text>
+<text text-anchor="start" x="21168.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ f_result</text>
+<text text-anchor="start" x="21168.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="21160.5,-498.5 21336.5,-498.5 "/>
+<text text-anchor="start" x="21168.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21168.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Done()</text>
+<text text-anchor="start" x="21168.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Result()</text>
+<text text-anchor="start" x="21168.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="21168.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node287 -->
-<g id="edge147" class="edge">
+<g id="edge146" class="edge">
<title>Node1->Node287</title>
-<path fill="none" stroke="midnightblue" d="M24727.3,-901.79C24204.21,-892.3 21840.44,-840.16 21566.5,-669 21524.81,-642.95 21499.24,-591.71 21485.08,-553.1"/>
-<polygon fill="none" stroke="midnightblue" points="24727.41,-905.29 24737.47,-901.97 24727.53,-898.29 24727.41,-905.29"/>
+<path fill="none" stroke="midnightblue" d="M24892.3,-902.6C24332.81,-896.9 21655,-859.79 21345.5,-669 21309.35,-646.72 21285.15,-605.58 21269.96,-569.89"/>
+<polygon fill="none" stroke="midnightblue" points="24892.33,-906.1 24902.37,-902.7 24892.4,-899.1 24892.33,-906.1"/>
+</g>
+<!-- Node288 -->
+<g id="node148" class="node">
+<title>Node288</title>
+<g id="a_node148"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerInputNode.html" target="_top" xlink:title="Runner's input containing path of artifact, type of device and argument info.">
+<polygon fill="white" stroke="black" points="21354.5,-441 21354.5,-564 21530.5,-564 21530.5,-441 21354.5,-441"/>
+<text text-anchor="start" x="21362.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="21442.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInputNode</text>
+<polyline fill="none" stroke="black" points="21354.5,-534 21530.5,-534 "/>
+<text text-anchor="start" x="21362.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ artifact_path</text>
+<text text-anchor="start" x="21362.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ device_type</text>
+<text text-anchor="start" x="21362.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ args_info</text>
+<text text-anchor="start" x="21362.5" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="21354.5,-482 21530.5,-482 "/>
+<text text-anchor="start" x="21362.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21362.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="21362.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node288 -->
+<g id="edge147" class="edge">
+<title>Node1->Node288</title>
+<path fill="none" stroke="midnightblue" d="M24892.09,-902.2C24350.22,-894.57 21831.27,-849.58 21539.5,-669 21501.41,-645.43 21476.57,-600.94 21461.57,-564.02"/>
+<polygon fill="none" stroke="midnightblue" points="24892.18,-905.7 24902.23,-902.34 24892.28,-898.7 24892.18,-905.7"/>
</g>
<!-- Node289 -->
-<g id="node150" class="node">
+<g id="node149" class="node">
<title>Node289</title>
-<g id="a_node150"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner's output containing measurement result of MeasureCandidate or error msg if any.">
-<polygon fill="white" stroke="black" points="21575.5,-446.5 21575.5,-558.5 21751.5,-558.5 21751.5,-446.5 21575.5,-446.5"/>
-<text text-anchor="start" x="21583.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="21663.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResultNode</text>
-<polyline fill="none" stroke="black" points="21575.5,-528.5 21751.5,-528.5 "/>
-<text text-anchor="start" x="21583.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_secs</text>
-<text text-anchor="start" x="21583.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ error_msg</text>
-<text text-anchor="start" x="21583.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="21575.5,-487.5 21751.5,-487.5 "/>
-<text text-anchor="start" x="21583.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21583.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="21583.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node149"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface.">
+<polygon fill="white" stroke="black" points="21549,-452 21549,-553 21722,-553 21722,-452 21549,-452"/>
+<text text-anchor="start" x="21557" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="21635.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerNode</text>
+<polyline fill="none" stroke="black" points="21549,-523 21722,-523 "/>
+<text text-anchor="start" x="21557" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="21549,-504 21722,-504 "/>
+<text text-anchor="start" x="21557" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~RunnerNode()</text>
+<text text-anchor="start" x="21557" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ Run()</text>
+<text text-anchor="start" x="21557" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="21557" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node289 -->
-<g id="edge149" class="edge">
+<g id="edge148" class="edge">
<title>Node1->Node289</title>
-<path fill="none" stroke="midnightblue" d="M24727.29,-901.27C24223.36,-889.56 22017.19,-829.38 21760.5,-669 21720.68,-644.12 21695.29,-596.44 21680.53,-558.62"/>
-<polygon fill="none" stroke="midnightblue" points="24727.38,-904.78 24737.46,-901.51 24727.54,-897.78 24727.38,-904.78"/>
+<path fill="none" stroke="midnightblue" d="M24892.3,-901.79C24369.21,-892.3 22005.44,-840.16 21731.5,-669 21689.81,-642.95 21664.24,-591.71 21650.08,-553.1"/>
+<polygon fill="none" stroke="midnightblue" points="24892.41,-905.29 24902.47,-901.97 24892.53,-898.29 24892.41,-905.29"/>
</g>
-<!-- Node290 -->
+<!-- Node291 -->
<g id="node151" class="node">
-<title>Node290</title>
-<g id="a_node151"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule.">
-<polygon fill="white" stroke="black" points="21770,-435.5 21770,-569.5 21943,-569.5 21943,-435.5 21770,-435.5"/>
-<text text-anchor="start" x="21778" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="21856.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRuleNode</text>
-<polyline fill="none" stroke="black" points="21770,-539.5 21943,-539.5 "/>
-<text text-anchor="start" x="21778" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="21770,-520.5 21943,-520.5 "/>
-<text text-anchor="start" x="21778" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ScheduleRuleNode()</text>
-<text text-anchor="start" x="21778" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="21778" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
-<text text-anchor="start" x="21778" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
-<text text-anchor="start" x="21778" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
-<text text-anchor="start" x="21778" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="21778" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node290 -->
+<title>Node291</title>
+<g id="a_node151"><a xlink:href="classtvm_1_1meta__schedule_1_1RunnerResultNode.html" target="_top" xlink:title="Runner's output containing measurement result of MeasureCandidate or error msg if any.">
+<polygon fill="white" stroke="black" points="21740.5,-446.5 21740.5,-558.5 21916.5,-558.5 21916.5,-446.5 21740.5,-446.5"/>
+<text text-anchor="start" x="21748.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="21828.5" y="-535.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResultNode</text>
+<polyline fill="none" stroke="black" points="21740.5,-528.5 21916.5,-528.5 "/>
+<text text-anchor="start" x="21748.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_secs</text>
+<text text-anchor="start" x="21748.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ error_msg</text>
+<text text-anchor="start" x="21748.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="21740.5,-487.5 21916.5,-487.5 "/>
+<text text-anchor="start" x="21748.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21748.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="21748.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node291 -->
<g id="edge150" class="edge">
-<title>Node1->Node290</title>
-<path fill="none" stroke="midnightblue" d="M24727.35,-900.77C24242.87,-887.08 22190.2,-820.49 21951.5,-669 21915.84,-646.37 21892.13,-605.23 21877.32,-569.63"/>
-<polygon fill="none" stroke="midnightblue" points="24727.38,-904.27 24737.47,-901.06 24727.58,-897.28 24727.38,-904.27"/>
+<title>Node1->Node291</title>
+<path fill="none" stroke="midnightblue" d="M24892.29,-901.27C24388.36,-889.56 22182.19,-829.38 21925.5,-669 21885.68,-644.12 21860.29,-596.44 21845.53,-558.62"/>
+<polygon fill="none" stroke="midnightblue" points="24892.38,-904.78 24902.46,-901.51 24892.54,-897.78 24892.38,-904.78"/>
</g>
<!-- Node292 -->
-<g id="node153" class="node">
+<g id="node152" class="node">
<title>Node292</title>
-<g id="a_node153"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation.">
-<polygon fill="white" stroke="black" points="21961,-424.5 21961,-580.5 22138,-580.5 22138,-424.5 21961,-424.5"/>
-<text text-anchor="start" x="21969" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="22049.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategyNode</text>
-<polyline fill="none" stroke="black" points="21961,-550.5 22138,-550.5 "/>
-<text text-anchor="start" x="21969" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="21961,-531.5 22138,-531.5 "/>
-<text text-anchor="start" x="21969" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~SearchStrategyNode()</text>
-<text text-anchor="start" x="21969" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
-<text text-anchor="start" x="21969" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PreTuning()</text>
-<text text-anchor="start" x="21969" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PostTuning()</text>
-<text text-anchor="start" x="21969" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GenerateMeasureCandidates()</text>
-<text text-anchor="start" x="21969" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NotifyRunnerResults()</text>
-<text text-anchor="start" x="21969" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
-<text text-anchor="start" x="21969" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="21969" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node152"><a xlink:href="classtvm_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule.">
+<polygon fill="white" stroke="black" points="21935,-435.5 21935,-569.5 22108,-569.5 22108,-435.5 21935,-435.5"/>
+<text text-anchor="start" x="21943" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="22021.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRuleNode</text>
+<polyline fill="none" stroke="black" points="21935,-539.5 22108,-539.5 "/>
+<text text-anchor="start" x="21943" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="21935,-520.5 22108,-520.5 "/>
+<text text-anchor="start" x="21943" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ScheduleRuleNode()</text>
+<text text-anchor="start" x="21943" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="21943" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
+<text text-anchor="start" x="21943" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
+<text text-anchor="start" x="21943" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
+<text text-anchor="start" x="21943" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="21943" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node292 -->
-<g id="edge152" class="edge">
+<g id="edge151" class="edge">
<title>Node1->Node292</title>
-<path fill="none" stroke="midnightblue" d="M24727.13,-900.07C24262.86,-883.8 22368.2,-809.21 22146.5,-669 22114.27,-648.62 22091.47,-613.36 22076.11,-580.61"/>
-<polygon fill="none" stroke="midnightblue" points="24727.05,-903.57 24737.17,-900.42 24727.3,-896.58 24727.05,-903.57"/>
+<path fill="none" stroke="midnightblue" d="M24892.35,-900.77C24407.87,-887.08 22355.2,-820.49 22116.5,-669 22080.84,-646.37 22057.13,-605.23 22042.32,-569.63"/>
+<polygon fill="none" stroke="midnightblue" points="24892.38,-904.27 24902.47,-901.06 24892.58,-897.28 24892.38,-904.27"/>
</g>
<!-- Node294 -->
-<g id="node155" class="node">
+<g id="node154" class="node">
<title>Node294</title>
-<g id="a_node155"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation.">
-<polygon fill="white" stroke="black" points="22156,-419 22156,-586 22329,-586 22329,-419 22156,-419"/>
-<text text-anchor="start" x="22164" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="22242.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGeneratorNode</text>
-<polyline fill="none" stroke="black" points="22156,-556 22329,-556 "/>
-<text text-anchor="start" x="22164" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ sch_rules</text>
-<text text-anchor="start" x="22164" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ postprocs</text>
-<text text-anchor="start" x="22164" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mutator_probs</text>
-<text text-anchor="start" x="22164" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="22156,-504 22329,-504 "/>
-<text text-anchor="start" x="22164" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22164" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~SpaceGeneratorNode()</text>
-<text text-anchor="start" x="22164" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
-<text text-anchor="start" x="22164" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ GenerateDesignSpace()</text>
-<text text-anchor="start" x="22164" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
-<text text-anchor="start" x="22164" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="22164" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node154"><a xlink:href="classtvm_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation.">
+<polygon fill="white" stroke="black" points="22126,-424.5 22126,-580.5 22303,-580.5 22303,-424.5 22126,-424.5"/>
+<text text-anchor="start" x="22134" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="22214.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategyNode</text>
+<polyline fill="none" stroke="black" points="22126,-550.5 22303,-550.5 "/>
+<text text-anchor="start" x="22134" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="22126,-531.5 22303,-531.5 "/>
+<text text-anchor="start" x="22134" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~SearchStrategyNode()</text>
+<text text-anchor="start" x="22134" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
+<text text-anchor="start" x="22134" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PreTuning()</text>
+<text text-anchor="start" x="22134" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ PostTuning()</text>
+<text text-anchor="start" x="22134" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GenerateMeasureCandidates()</text>
+<text text-anchor="start" x="22134" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ NotifyRunnerResults()</text>
+<text text-anchor="start" x="22134" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
+<text text-anchor="start" x="22134" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="22134" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node294 -->
-<g id="edge154" class="edge">
+<g id="edge153" class="edge">
<title>Node1->Node294</title>
-<path fill="none" stroke="midnightblue" d="M24727.24,-899.37C24284.07,-880.74 22542.61,-799.69 22338.5,-669 22308.29,-649.66 22286.48,-617.18 22271.37,-586.09"/>
-<polygon fill="none" stroke="midnightblue" points="24727.32,-902.88 24737.46,-899.8 24727.62,-895.88 24727.32,-902.88"/>
+<path fill="none" stroke="midnightblue" d="M24892.13,-900.07C24427.86,-883.8 22533.2,-809.21 22311.5,-669 22279.27,-648.62 22256.47,-613.36 22241.11,-580.61"/>
+<polygon fill="none" stroke="midnightblue" points="24892.05,-903.57 24902.17,-900.42 24892.3,-896.58 24892.05,-903.57"/>
</g>
<!-- Node296 -->
-<g id="node157" class="node">
+<g id="node156" class="node">
<title>Node296</title>
-<g id="a_node157"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="22347.5,-402.5 22347.5,-602.5 22523.5,-602.5 22523.5,-402.5 22347.5,-402.5"/>
-<text text-anchor="start" x="22355.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="22435.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecordNode</text>
-<polyline fill="none" stroke="black" points="22347.5,-572.5 22523.5,-572.5 "/>
-<text text-anchor="start" x="22355.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ctx</text>
-<text text-anchor="start" x="22355.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ task_weight</text>
-<text text-anchor="start" x="22355.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ flop</text>
-<text text-anchor="start" x="22355.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ is_terminated</text>
-<text text-anchor="start" x="22355.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ build_error_count</text>
-<text text-anchor="start" x="22355.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_error_count</text>
-<text text-anchor="start" x="22355.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ latency_ms</text>
-<text text-anchor="start" x="22355.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ measure_candidates</text>
-<text text-anchor="start" x="22355.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ builder_results</text>
-<text text-anchor="start" x="22355.5" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ runner_futures</text>
-<text text-anchor="start" x="22355.5" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="22347.5,-443.5 22523.5,-443.5 "/>
-<text text-anchor="start" x="22355.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22355.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="22355.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node156"><a xlink:href="classtvm_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation.">
+<polygon fill="white" stroke="black" points="22321,-419 22321,-586 22494,-586 22494,-419 22321,-419"/>
+<text text-anchor="start" x="22329" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="22407.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGeneratorNode</text>
+<polyline fill="none" stroke="black" points="22321,-556 22494,-556 "/>
+<text text-anchor="start" x="22329" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ sch_rules</text>
+<text text-anchor="start" x="22329" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ postprocs</text>
+<text text-anchor="start" x="22329" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mutator_probs</text>
+<text text-anchor="start" x="22329" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="22321,-504 22494,-504 "/>
+<text text-anchor="start" x="22329" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22329" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~SpaceGeneratorNode()</text>
+<text text-anchor="start" x="22329" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ InitializeWithTuneContext()</text>
+<text text-anchor="start" x="22329" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ GenerateDesignSpace()</text>
+<text text-anchor="start" x="22329" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
+<text text-anchor="start" x="22329" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="22329" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node296 -->
-<g id="edge156" class="edge">
+<g id="edge155" class="edge">
<title>Node1->Node296</title>
-<path fill="none" stroke="midnightblue" d="M24727.26,-898.49C24306.17,-877.11 22719.46,-789.15 22532.5,-669 22507.7,-653.07 22488.46,-628.37 22473.89,-602.87"/>
-<polygon fill="none" stroke="midnightblue" points="24727.12,-901.98 24737.29,-898.99 24727.48,-894.99 24727.12,-901.98"/>
+<path fill="none" stroke="midnightblue" d="M24892.24,-899.37C24449.07,-880.74 22707.61,-799.69 22503.5,-669 22473.29,-649.66 22451.48,-617.18 22436.37,-586.09"/>
+<polygon fill="none" stroke="midnightblue" points="24892.32,-902.88 24902.46,-899.8 24892.62,-895.88 24892.32,-902.88"/>
</g>
-<!-- Node297 -->
+<!-- Node298 -->
<g id="node158" class="node">
-<title>Node297</title>
-<g id="a_node158"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers.">
-<polygon fill="white" stroke="black" points="22542,-386 22542,-619 22715,-619 22715,-386 22542,-386"/>
-<text text-anchor="start" x="22550" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="22628.5" y="-596" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskSchedulerNode</text>
-<polyline fill="none" stroke="black" points="22542,-589 22715,-589 "/>
-<text text-anchor="start" x="22550" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ logger</text>
-<text text-anchor="start" x="22550" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ tasks_</text>
-<text text-anchor="start" x="22550" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ measure_callbacks_</text>
-<text text-anchor="start" x="22550" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ database_</text>
-<text text-anchor="start" x="22550" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ cost_model_</text>
-<text text-anchor="start" x="22550" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ remaining_tasks_</text>
-<text text-anchor="start" x="22550" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="22542,-504 22715,-504 "/>
-<text text-anchor="start" x="22550" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TaskSchedulerNode()</text>
-<text text-anchor="start" x="22550" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22550" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ NextTaskId()</text>
-<text text-anchor="start" x="22550" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ JoinRunningTask()</text>
-<text text-anchor="start" x="22550" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ Tune()</text>
-<text text-anchor="start" x="22550" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TerminateTask()</text>
-<text text-anchor="start" x="22550" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TouchTask()</text>
-<text text-anchor="start" x="22550" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintTuningStatistics()</text>
-<text text-anchor="start" x="22550" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="22550" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node297 -->
+<title>Node298</title>
+<g id="a_node158"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="22512.5,-402.5 22512.5,-602.5 22688.5,-602.5 22688.5,-402.5 22512.5,-402.5"/>
+<text text-anchor="start" x="22520.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="22600.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecordNode</text>
+<polyline fill="none" stroke="black" points="22512.5,-572.5 22688.5,-572.5 "/>
+<text text-anchor="start" x="22520.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ctx</text>
+<text text-anchor="start" x="22520.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ task_weight</text>
+<text text-anchor="start" x="22520.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ flop</text>
+<text text-anchor="start" x="22520.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ is_terminated</text>
+<text text-anchor="start" x="22520.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ build_error_count</text>
+<text text-anchor="start" x="22520.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_error_count</text>
+<text text-anchor="start" x="22520.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ latency_ms</text>
+<text text-anchor="start" x="22520.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ measure_candidates</text>
+<text text-anchor="start" x="22520.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ builder_results</text>
+<text text-anchor="start" x="22520.5" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ runner_futures</text>
+<text text-anchor="start" x="22520.5" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="22512.5,-443.5 22688.5,-443.5 "/>
+<text text-anchor="start" x="22520.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22520.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="22520.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node298 -->
<g id="edge157" class="edge">
-<title>Node1->Node297</title>
-<path fill="none" stroke="midnightblue" d="M24727.34,-904.01C24352.97,-904.09 23060.49,-888.2 22724.5,-669 22705.3,-656.48 22689.48,-638.68 22676.61,-619.37"/>
-<polygon fill="none" stroke="midnightblue" points="24727.35,-907.51 24737.35,-904 24727.35,-900.51 24727.35,-907.51"/>
+<title>Node1->Node298</title>
+<path fill="none" stroke="midnightblue" d="M24892.26,-898.49C24471.17,-877.11 22884.46,-789.15 22697.5,-669 22672.7,-653.07 22653.46,-628.37 22638.89,-602.87"/>
+<polygon fill="none" stroke="midnightblue" points="24892.12,-901.98 24902.29,-898.99 24892.48,-894.99 24892.12,-901.98"/>
</g>
<!-- Node299 -->
-<g id="node160" class="node">
+<g id="node159" class="node">
<title>Node299</title>
-<g id="a_node160"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context.">
-<polygon fill="white" stroke="black" points="22733.5,-402.5 22733.5,-602.5 22909.5,-602.5 22909.5,-402.5 22733.5,-402.5"/>
-<text text-anchor="start" x="22741.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="22821.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuneContextNode</text>
-<polyline fill="none" stroke="black" points="22733.5,-572.5 22909.5,-572.5 "/>
-<text text-anchor="start" x="22741.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
-<text text-anchor="start" x="22741.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
-<text text-anchor="start" x="22741.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ space_generator</text>
-<text text-anchor="start" x="22741.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ search_strategy</text>
-<text text-anchor="start" x="22741.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ task_name</text>
-<text text-anchor="start" x="22741.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ num_threads</text>
-<text text-anchor="start" x="22741.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rand_state</text>
-<text text-anchor="start" x="22741.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ logger</text>
-<text text-anchor="start" x="22741.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="22733.5,-465.5 22909.5,-465.5 "/>
-<text text-anchor="start" x="22741.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22741.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Initialize()</text>
-<text text-anchor="start" x="22741.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
-<text text-anchor="start" x="22741.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="22741.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node159"><a xlink:href="classtvm_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers.">
+<polygon fill="white" stroke="black" points="22707,-386 22707,-619 22880,-619 22880,-386 22707,-386"/>
+<text text-anchor="start" x="22715" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="22793.5" y="-596" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskSchedulerNode</text>
+<polyline fill="none" stroke="black" points="22707,-589 22880,-589 "/>
+<text text-anchor="start" x="22715" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ logger</text>
+<text text-anchor="start" x="22715" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ tasks_</text>
+<text text-anchor="start" x="22715" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ measure_callbacks_</text>
+<text text-anchor="start" x="22715" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ database_</text>
+<text text-anchor="start" x="22715" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ cost_model_</text>
+<text text-anchor="start" x="22715" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ remaining_tasks_</text>
+<text text-anchor="start" x="22715" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="22707,-504 22880,-504 "/>
+<text text-anchor="start" x="22715" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TaskSchedulerNode()</text>
+<text text-anchor="start" x="22715" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22715" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ NextTaskId()</text>
+<text text-anchor="start" x="22715" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ JoinRunningTask()</text>
+<text text-anchor="start" x="22715" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ Tune()</text>
+<text text-anchor="start" x="22715" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TerminateTask()</text>
+<text text-anchor="start" x="22715" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TouchTask()</text>
+<text text-anchor="start" x="22715" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ PrintTuningStatistics()</text>
+<text text-anchor="start" x="22715" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="22715" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node299 -->
-<g id="edge159" class="edge">
+<g id="edge158" class="edge">
<title>Node1->Node299</title>
-<path fill="none" stroke="midnightblue" d="M24727.09,-902.65C24375.17,-897.95 23220.44,-867.42 22918.5,-669 22893.87,-652.81 22874.67,-628.04 22860.1,-602.55"/>
-<polygon fill="none" stroke="midnightblue" points="24727.23,-906.15 24737.27,-902.78 24727.32,-899.15 24727.23,-906.15"/>
-</g>
-<!-- Node300 -->
-<g id="node161" class="node">
-<title>Node300</title>
-<g id="a_node161"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
-<polygon fill="white" stroke="black" points="22927.5,-413.5 22927.5,-591.5 23103.5,-591.5 23103.5,-413.5 22927.5,-413.5"/>
-<text text-anchor="start" x="22935.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="23015.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuningRecordNode</text>
-<polyline fill="none" stroke="black" points="22927.5,-561.5 23103.5,-561.5 "/>
-<text text-anchor="start" x="22935.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ trace</text>
-<text text-anchor="start" x="22935.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ workload</text>
-<text text-anchor="start" x="22935.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_secs</text>
-<text text-anchor="start" x="22935.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
-<text text-anchor="start" x="22935.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ args_info</text>
-<text text-anchor="start" x="22935.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="22927.5,-487.5 23103.5,-487.5 "/>
-<text text-anchor="start" x="22935.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="22935.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="22935.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="22935.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsMeasureCandidate()</text>
-<text text-anchor="start" x="22935.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-<text text-anchor="start" x="22935.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsValid()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node300 -->
-<g id="edge160" class="edge">
-<title>Node1->Node300</title>
-<path fill="none" stroke="midnightblue" d="M24727.02,-901.04C24398.92,-891.42 23380.15,-847.51 23112.5,-669 23084.52,-650.34 23063.51,-620.64 23048.34,-591.52"/>
-<polygon fill="none" stroke="midnightblue" points="24727.37,-904.55 24737.47,-901.34 24727.57,-897.55 24727.37,-904.55"/>
+<path fill="none" stroke="midnightblue" d="M24892.34,-904.01C24517.97,-904.09 23225.49,-888.2 22889.5,-669 22870.3,-656.48 22854.48,-638.68 22841.61,-619.37"/>
+<polygon fill="none" stroke="midnightblue" points="24892.35,-907.51 24902.35,-904 24892.35,-900.51 24892.35,-907.51"/>
</g>
<!-- Node301 -->
-<g id="node162" class="node">
+<g id="node161" class="node">
<title>Node301</title>
-<g id="a_node162"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash.">
-<polygon fill="white" stroke="black" points="23121.5,-441 23121.5,-564 23297.5,-564 23297.5,-441 23121.5,-441"/>
-<text text-anchor="start" x="23129.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
-<text text-anchor="middle" x="23209.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">::WorkloadNode</text>
-<polyline fill="none" stroke="black" points="23121.5,-534 23297.5,-534 "/>
-<text text-anchor="start" x="23129.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
-<text text-anchor="start" x="23129.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ shash</text>
-<text text-anchor="start" x="23129.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="23121.5,-493 23297.5,-493 "/>
-<text text-anchor="start" x="23129.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23129.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="23129.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="23129.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
+<g id="a_node161"><a xlink:href="classtvm_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context.">
+<polygon fill="white" stroke="black" points="22898.5,-402.5 22898.5,-602.5 23074.5,-602.5 23074.5,-402.5 22898.5,-402.5"/>
+<text text-anchor="start" x="22906.5" y="-590.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="22986.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuneContextNode</text>
+<polyline fill="none" stroke="black" points="22898.5,-572.5 23074.5,-572.5 "/>
+<text text-anchor="start" x="22906.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
+<text text-anchor="start" x="22906.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
+<text text-anchor="start" x="22906.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ space_generator</text>
+<text text-anchor="start" x="22906.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ search_strategy</text>
+<text text-anchor="start" x="22906.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ task_name</text>
+<text text-anchor="start" x="22906.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ num_threads</text>
+<text text-anchor="start" x="22906.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ rand_state</text>
+<text text-anchor="start" x="22906.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ logger</text>
+<text text-anchor="start" x="22906.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="22898.5,-465.5 23074.5,-465.5 "/>
+<text text-anchor="start" x="22906.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="22906.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Initialize()</text>
+<text text-anchor="start" x="22906.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Clone()</text>
+<text text-anchor="start" x="22906.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="22906.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node301 -->
-<g id="edge161" class="edge">
+<g id="edge160" class="edge">
<title>Node1->Node301</title>
-<path fill="none" stroke="midnightblue" d="M24727.21,-899.05C24424.58,-884.15 23540.15,-827.72 23306.5,-669 23269.86,-644.11 23245.11,-600.41 23229.78,-564.17"/>
-<polygon fill="none" stroke="midnightblue" points="24727.14,-902.55 24737.3,-899.54 24727.48,-895.56 24727.14,-902.55"/>
+<path fill="none" stroke="midnightblue" d="M24892.09,-902.65C24540.17,-897.95 23385.44,-867.42 23083.5,-669 23058.87,-652.81 23039.67,-628.04 23025.1,-602.55"/>
+<polygon fill="none" stroke="midnightblue" points="24892.23,-906.15 24902.27,-902.78 24892.32,-899.15 24892.23,-906.15"/>
</g>
<!-- Node302 -->
-<g id="node163" class="node">
+<g id="node162" class="node">
<title>Node302</title>
-<g id="a_node163"><a xlink:href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="23316,-419 23316,-586 23489,-586 23489,-419 23316,-419"/>
-<text text-anchor="middle" x="23402.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlockNode</text>
-<polyline fill="none" stroke="black" points="23316,-567 23489,-567 "/>
-<text text-anchor="start" x="23324" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="23324" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ bindings</text>
-<text text-anchor="start" x="23324" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="23324" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="23324" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="23324" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="23324" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="23316,-482 23489,-482 "/>
-<text text-anchor="start" x="23324" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23324" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="23324" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="23324" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="23324" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node162"><a xlink:href="classtvm_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
+<polygon fill="white" stroke="black" points="23092.5,-413.5 23092.5,-591.5 23268.5,-591.5 23268.5,-413.5 23092.5,-413.5"/>
+<text text-anchor="start" x="23100.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="23180.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuningRecordNode</text>
+<polyline fill="none" stroke="black" points="23092.5,-561.5 23268.5,-561.5 "/>
+<text text-anchor="start" x="23100.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ trace</text>
+<text text-anchor="start" x="23100.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ workload</text>
+<text text-anchor="start" x="23100.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_secs</text>
+<text text-anchor="start" x="23100.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ target</text>
+<text text-anchor="start" x="23100.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ args_info</text>
+<text text-anchor="start" x="23100.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="23092.5,-487.5 23268.5,-487.5 "/>
+<text text-anchor="start" x="23100.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23100.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="23100.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="23100.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsMeasureCandidate()</text>
+<text text-anchor="start" x="23100.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
+<text text-anchor="start" x="23100.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsValid()</text>
</a>
</g>
</g>
<!-- Node1->Node302 -->
-<g id="edge162" class="edge">
+<g id="edge161" class="edge">
<title>Node1->Node302</title>
-<path fill="none" stroke="midnightblue" d="M24727.38,-896.64C24451.28,-876.37 23697.31,-809.24 23497.5,-669 23468.62,-648.73 23447.33,-616.68 23432.31,-586.16"/>
-<polygon fill="none" stroke="midnightblue" points="24727.17,-900.13 24737.4,-897.36 24727.68,-893.15 24727.17,-900.13"/>
+<path fill="none" stroke="midnightblue" d="M24892.02,-901.04C24563.92,-891.42 23545.15,-847.51 23277.5,-669 23249.52,-650.34 23228.51,-620.64 23213.34,-591.52"/>
+<polygon fill="none" stroke="midnightblue" points="24892.37,-904.55 24902.47,-901.34 24892.57,-897.55 24892.37,-904.55"/>
+</g>
+<!-- Node303 -->
+<g id="node163" class="node">
+<title>Node303</title>
+<g id="a_node163"><a xlink:href="classtvm_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash.">
+<polygon fill="white" stroke="black" points="23286.5,-441 23286.5,-564 23462.5,-564 23462.5,-441 23286.5,-441"/>
+<text text-anchor="start" x="23294.5" y="-552" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::meta_schedule</text>
+<text text-anchor="middle" x="23374.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">::WorkloadNode</text>
+<polyline fill="none" stroke="black" points="23286.5,-534 23462.5,-534 "/>
+<text text-anchor="start" x="23294.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ mod</text>
+<text text-anchor="start" x="23294.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ shash</text>
+<text text-anchor="start" x="23294.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="23286.5,-493 23462.5,-493 "/>
+<text text-anchor="start" x="23294.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23294.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="23294.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="23294.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node303 -->
+<g id="edge162" class="edge">
+<title>Node1->Node303</title>
+<path fill="none" stroke="midnightblue" d="M24892.21,-899.05C24589.58,-884.15 23705.15,-827.72 23471.5,-669 23434.86,-644.11 23410.11,-600.41 23394.78,-564.17"/>
+<polygon fill="none" stroke="midnightblue" points="24892.14,-902.55 24902.3,-899.54 24892.48,-895.56 24892.14,-902.55"/>
</g>
<!-- Node304 -->
-<g id="node165" class="node">
+<g id="node164" class="node">
<title>Node304</title>
-<g id="a_node165"><a xlink:href="classtvm_1_1relax_1_1BindingNode.html" target="_top" xlink:title="The base class of a variable binding in Relax.">
-<polygon fill="white" stroke="black" points="23507,-435.5 23507,-569.5 23680,-569.5 23680,-435.5 23507,-435.5"/>
-<text text-anchor="middle" x="23593.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingNode</text>
-<polyline fill="none" stroke="black" points="23507,-550.5 23680,-550.5 "/>
-<text text-anchor="start" x="23515" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ var</text>
-<text text-anchor="start" x="23515" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="23515" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="23515" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="23515" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="23515" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="23515" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="23507,-465.5 23680,-465.5 "/>
-<text text-anchor="start" x="23515" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="23515" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node164"><a xlink:href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="23481,-419 23481,-586 23654,-586 23654,-419 23481,-419"/>
+<text text-anchor="middle" x="23567.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlockNode</text>
+<polyline fill="none" stroke="black" points="23481,-567 23654,-567 "/>
+<text text-anchor="start" x="23489" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="23489" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ bindings</text>
+<text text-anchor="start" x="23489" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="23489" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="23489" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="23489" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="23489" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="23481,-482 23654,-482 "/>
+<text text-anchor="start" x="23489" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="23489" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="23489" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="23489" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="23489" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node304 -->
-<g id="edge164" class="edge">
+<g id="edge163" class="edge">
<title>Node1->Node304</title>
-<path fill="none" stroke="midnightblue" d="M24727.03,-893.18C24479.38,-866.59 23856.49,-789.23 23689.5,-669 23655.67,-644.64 23631.94,-604.39 23616.53,-569.69"/>
-<polygon fill="none" stroke="midnightblue" points="24726.79,-896.68 24737.11,-894.26 24727.53,-889.72 24726.79,-896.68"/>
+<path fill="none" stroke="midnightblue" d="M24892.38,-896.64C24616.28,-876.37 23862.31,-809.24 23662.5,-669 23633.62,-648.73 23612.33,-616.68 23597.31,-586.16"/>
+<polygon fill="none" stroke="midnightblue" points="24892.17,-900.13 24902.4,-897.36 24892.68,-893.15 24892.17,-900.13"/>
</g>
-<!-- Node307 -->
-<g id="node168" class="node">
-<title>Node307</title>
-<g id="a_node168"><a xlink:href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_top" xlink:title="A builder to build Relax binding blocks.">
-<polygon fill="white" stroke="black" points="23698.5,-413.5 23698.5,-591.5 23858.5,-591.5 23858.5,-413.5 23698.5,-413.5"/>
-<text text-anchor="middle" x="23778.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilderNode</text>
-<polyline fill="none" stroke="black" points="23698.5,-572.5 23858.5,-572.5 "/>
-<text text-anchor="start" x="23706.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
-<text text-anchor="start" x="23706.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="23698.5,-542.5 23858.5,-542.5 "/>
-<text text-anchor="start" x="23706.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name_supply()</text>
-<text text-anchor="start" x="23706.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetContextIRModule()</text>
-<text text-anchor="start" x="23706.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Finalize()</text>
-<text text-anchor="start" x="23706.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddFunction()</text>
-<text text-anchor="start" x="23706.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UpdateFunction()</text>
-<text text-anchor="start" x="23706.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReportFatal()</text>
-<text text-anchor="start" x="23706.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LookupBinding()</text>
-<text text-anchor="start" x="23706.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BeginScope()</text>
-<text text-anchor="start" x="23706.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BeginInnerScope()</text>
-<text text-anchor="start" x="23706.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddDefinitionToScope()</text>
-<text text-anchor="start" x="23706.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node307 -->
-<g id="edge167" class="edge">
-<title>Node1->Node307</title>
-<path fill="none" stroke="midnightblue" d="M24727.27,-889.29C24508.26,-857.16 24002.7,-773.55 23867.5,-669 23841.95,-649.24 23822.85,-620.02 23809.04,-591.6"/>
-<polygon fill="none" stroke="midnightblue" points="24727.08,-892.8 24737.48,-890.78 24728.09,-885.87 24727.08,-892.8"/>
-</g>
-<!-- Node308 -->
-<g id="node169" class="node">
-<title>Node308</title>
-<g id="a_node169"><a xlink:href="classtvm_1_1relax_1_1ChoiceNode.html" target="_top" xlink:title="Choice manages a set of keys for transformation and constraint functions.">
-<polygon fill="white" stroke="black" points="23877,-408 23877,-597 24050,-597 24050,-408 23877,-408"/>
-<text text-anchor="middle" x="23963.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ChoiceNode</text>
-<polyline fill="none" stroke="black" points="23877,-578 24050,-578 "/>
-<text text-anchor="start" x="23885" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ transform_func_key</text>
-<text text-anchor="start" x="23885" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ constr_func_key</text>
-<text text-anchor="start" x="23885" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ transform_func_args</text>
-<text text-anchor="start" x="23885" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ constr_func_args</text>
-<text text-anchor="start" x="23885" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="23877,-515 24050,-515 "/>
-<text text-anchor="start" x="23885" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ChoiceNode()</text>
-<text text-anchor="start" x="23885" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="23885" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetConstrFunc()</text>
-<text text-anchor="start" x="23885" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTransformFunc()</text>
-<text text-anchor="start" x="23885" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ CheckConstr()</text>
-<text text-anchor="start" x="23885" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ApplyTransformFunc()</text>
-<text text-anchor="start" x="23885" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-<text text-anchor="start" x="23885" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="23885" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node308 -->
-<g id="edge168" class="edge">
-<title>Node1->Node308</title>
-<path fill="none" stroke="midnightblue" d="M24726.95,-896.17C24567.89,-879.98 24259.17,-828.79 24058.5,-669 24034.79,-650.12 24015.89,-623.59 24001.39,-597.29"/>
-<polygon fill="none" stroke="midnightblue" points="24726.91,-899.68 24737.2,-897.19 24727.6,-892.72 24726.91,-899.68"/>
+<!-- Node306 -->
+<g id="node166" class="node">
+<title>Node306</title>
+<g id="a_node166"><a xlink:href="classtvm_1_1relax_1_1BindingNode.html" target="_top" xlink:title="The base class of a variable binding in Relax.">
+<polygon fill="white" stroke="black" points="23672,-435.5 23672,-569.5 23845,-569.5 23845,-435.5 23672,-435.5"/>
+<text text-anchor="middle" x="23758.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingNode</text>
+<polyline fill="none" stroke="black" points="23672,-550.5 23845,-550.5 "/>
+<text text-anchor="start" x="23680" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ var</text>
+<text text-anchor="start" x="23680" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="23680" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="23680" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="23680" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="23680" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="23680" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="23672,-465.5 23845,-465.5 "/>
+<text text-anchor="start" x="23680" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="23680" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node306 -->
+<g id="edge165" class="edge">
+<title>Node1->Node306</title>
+<path fill="none" stroke="midnightblue" d="M24892.03,-893.18C24644.38,-866.59 24021.49,-789.23 23854.5,-669 23820.67,-644.64 23796.94,-604.39 23781.53,-569.69"/>
+<polygon fill="none" stroke="midnightblue" points="24891.79,-896.68 24902.11,-894.26 24892.53,-889.72 24891.79,-896.68"/>
</g>
<!-- Node309 -->
-<g id="node170" class="node">
+<g id="node169" class="node">
<title>Node309</title>
-<g id="a_node170"><a xlink:href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_top" xlink:title="Additional constraints on the graph.">
-<polygon fill="white" stroke="black" points="24068,-452 24068,-553 24241,-553 24241,-452 24068,-452"/>
-<text text-anchor="middle" x="24154.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraintNode</text>
-<polyline fill="none" stroke="black" points="24068,-534 24241,-534 "/>
-<text text-anchor="start" x="24076" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="24076" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<polyline fill="none" stroke="black" points="24068,-504 24241,-504 "/>
-<text text-anchor="start" x="24076" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetDependentPatterns()</text>
-<text text-anchor="start" x="24076" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsPrimExpr()</text>
-<text text-anchor="start" x="24076" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="24076" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node169"><a xlink:href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_top" xlink:title="A builder to build Relax binding blocks.">
+<polygon fill="white" stroke="black" points="23863.5,-413.5 23863.5,-591.5 24023.5,-591.5 24023.5,-413.5 23863.5,-413.5"/>
+<text text-anchor="middle" x="23943.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilderNode</text>
+<polyline fill="none" stroke="black" points="23863.5,-572.5 24023.5,-572.5 "/>
+<text text-anchor="start" x="23871.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
+<text text-anchor="start" x="23871.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="23863.5,-542.5 24023.5,-542.5 "/>
+<text text-anchor="start" x="23871.5" y="-530.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name_supply()</text>
+<text text-anchor="start" x="23871.5" y="-519.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetContextIRModule()</text>
+<text text-anchor="start" x="23871.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Finalize()</text>
+<text text-anchor="start" x="23871.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddFunction()</text>
+<text text-anchor="start" x="23871.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ UpdateFunction()</text>
+<text text-anchor="start" x="23871.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReportFatal()</text>
+<text text-anchor="start" x="23871.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ LookupBinding()</text>
+<text text-anchor="start" x="23871.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BeginScope()</text>
+<text text-anchor="start" x="23871.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ BeginInnerScope()</text>
+<text text-anchor="start" x="23871.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AddDefinitionToScope()</text>
+<text text-anchor="start" x="23871.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">and 13 more...</text>
</a>
</g>
</g>
<!-- Node1->Node309 -->
-<g id="edge169" class="edge">
+<g id="edge168" class="edge">
<title>Node1->Node309</title>
-<path fill="none" stroke="midnightblue" d="M24727.49,-883.72C24602.45,-855.03 24389.9,-791.38 24249.5,-669 24213.66,-637.76 24188.15,-589.54 24172.65,-553.19"/>
-<polygon fill="none" stroke="midnightblue" points="24726.93,-887.18 24737.46,-885.97 24728.48,-880.35 24726.93,-887.18"/>
+<path fill="none" stroke="midnightblue" d="M24892.27,-889.29C24673.26,-857.16 24167.7,-773.55 24032.5,-669 24006.95,-649.24 23987.85,-620.02 23974.04,-591.6"/>
+<polygon fill="none" stroke="midnightblue" points="24892.08,-892.8 24902.48,-890.78 24893.09,-885.87 24892.08,-892.8"/>
+</g>
+<!-- Node310 -->
+<g id="node170" class="node">
+<title>Node310</title>
+<g id="a_node170"><a xlink:href="classtvm_1_1relax_1_1ChoiceNode.html" target="_top" xlink:title="Choice manages a set of keys for transformation and constraint functions.">
+<polygon fill="white" stroke="black" points="24042,-408 24042,-597 24215,-597 24215,-408 24042,-408"/>
+<text text-anchor="middle" x="24128.5" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ChoiceNode</text>
+<polyline fill="none" stroke="black" points="24042,-578 24215,-578 "/>
+<text text-anchor="start" x="24050" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ transform_func_key</text>
+<text text-anchor="start" x="24050" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ constr_func_key</text>
+<text text-anchor="start" x="24050" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ transform_func_args</text>
+<text text-anchor="start" x="24050" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ constr_func_args</text>
+<text text-anchor="start" x="24050" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="24042,-515 24215,-515 "/>
+<text text-anchor="start" x="24050" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~ChoiceNode()</text>
+<text text-anchor="start" x="24050" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24050" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetConstrFunc()</text>
+<text text-anchor="start" x="24050" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTransformFunc()</text>
+<text text-anchor="start" x="24050" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ CheckConstr()</text>
+<text text-anchor="start" x="24050" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ ApplyTransformFunc()</text>
+<text text-anchor="start" x="24050" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
+<text text-anchor="start" x="24050" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="24050" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node310 -->
+<g id="edge169" class="edge">
+<title>Node1->Node310</title>
+<path fill="none" stroke="midnightblue" d="M24891.95,-896.17C24732.89,-879.98 24424.17,-828.79 24223.5,-669 24199.79,-650.12 24180.89,-623.59 24166.39,-597.29"/>
+<polygon fill="none" stroke="midnightblue" points="24891.91,-899.68 24902.2,-897.19 24892.6,-892.72 24891.91,-899.68"/>
</g>
<!-- Node311 -->
-<g id="node172" class="node">
+<g id="node171" class="node">
<title>Node311</title>
-<g id="a_node172"><a xlink:href="classtvm_1_1relax_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns.">
-<polygon fill="white" stroke="black" points="24259,-463 24259,-542 24432,-542 24432,-463 24259,-463"/>
-<text text-anchor="middle" x="24345.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPatternNode</text>
-<polyline fill="none" stroke="black" points="24259,-523 24432,-523 "/>
-<text text-anchor="start" x="24267" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="24267" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<polyline fill="none" stroke="black" points="24259,-493 24432,-493 "/>
-<text text-anchor="start" x="24267" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="24267" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node171"><a xlink:href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_top" xlink:title="Additional constraints on the graph.">
+<polygon fill="white" stroke="black" points="24233,-452 24233,-553 24406,-553 24406,-452 24233,-452"/>
+<text text-anchor="middle" x="24319.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraintNode</text>
+<polyline fill="none" stroke="black" points="24233,-534 24406,-534 "/>
+<text text-anchor="start" x="24241" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="24241" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<polyline fill="none" stroke="black" points="24233,-504 24406,-504 "/>
+<text text-anchor="start" x="24241" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetDependentPatterns()</text>
+<text text-anchor="start" x="24241" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsPrimExpr()</text>
+<text text-anchor="start" x="24241" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="24241" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node311 -->
-<g id="edge171" class="edge">
+<g id="edge170" class="edge">
<title>Node1->Node311</title>
-<path fill="none" stroke="midnightblue" d="M24728.04,-859.72C24643.65,-819.5 24524.38,-753.38 24441.5,-669 24405.07,-631.91 24377.31,-578.32 24361.23,-542.26"/>
-<polygon fill="none" stroke="midnightblue" points="24726.58,-862.91 24737.12,-864.02 24729.57,-856.58 24726.58,-862.91"/>
+<path fill="none" stroke="midnightblue" d="M24892.49,-883.72C24767.45,-855.03 24554.9,-791.38 24414.5,-669 24378.66,-637.76 24353.15,-589.54 24337.65,-553.19"/>
+<polygon fill="none" stroke="midnightblue" points="24891.93,-887.18 24902.46,-885.97 24893.48,-880.35 24891.93,-887.18"/>
</g>
-<!-- Node333 -->
-<g id="node192" class="node">
-<title>Node333</title>
-<g id="a_node192"><a xlink:href="classtvm_1_1relax_1_1DatabaseNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="24450.5,-419 24450.5,-586 24626.5,-586 24626.5,-419 24450.5,-419"/>
-<text text-anchor="middle" x="24538.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DatabaseNode</text>
-<polyline fill="none" stroke="black" points="24450.5,-567 24626.5,-567 "/>
-<text text-anchor="start" x="24458.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="24450.5,-548 24626.5,-548 "/>
-<text text-anchor="start" x="24458.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~DatabaseNode()</text>
-<text text-anchor="start" x="24458.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasWorkload()</text>
-<text text-anchor="start" x="24458.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasMeasurementRecord()</text>
-<text text-anchor="start" x="24458.5" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasTuningRecord()</text>
-<text text-anchor="start" x="24458.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitWorkload()</text>
-<text text-anchor="start" x="24458.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitMeasurementRecord()</text>
-<text text-anchor="start" x="24458.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitTuningRecord()</text>
-<text text-anchor="start" x="24458.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTopK()</text>
-<text text-anchor="start" x="24458.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMeasurementRecord()</text>
-<text text-anchor="start" x="24458.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="24458.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node333 -->
-<g id="edge191" class="edge">
-<title>Node1->Node333</title>
-<path fill="none" stroke="midnightblue" d="M24730.66,-791.53C24698.92,-753.65 24664.49,-710.42 24635.5,-669 24617.26,-642.94 24599.13,-613.29 24583.57,-586.36"/>
-<polygon fill="none" stroke="midnightblue" points="24728.28,-794.13 24737.39,-799.53 24733.63,-789.63 24728.28,-794.13"/>
+<!-- Node313 -->
+<g id="node173" class="node">
+<title>Node313</title>
+<g id="a_node173"><a xlink:href="classtvm_1_1relax_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns.">
+<polygon fill="white" stroke="black" points="24424,-463 24424,-542 24597,-542 24597,-463 24424,-463"/>
+<text text-anchor="middle" x="24510.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPatternNode</text>
+<polyline fill="none" stroke="black" points="24424,-523 24597,-523 "/>
+<text text-anchor="start" x="24432" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="24432" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<polyline fill="none" stroke="black" points="24424,-493 24597,-493 "/>
+<text text-anchor="start" x="24432" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="24432" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
</g>
-<!-- Node334 -->
-<g id="node193" class="node">
-<title>Node334</title>
-<g id="a_node193"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_top" xlink:title="Statement rewriter for relax.DataflowBlock.">
-<polygon fill="white" stroke="black" points="24644.5,-380.5 24644.5,-624.5 24820.5,-624.5 24820.5,-380.5 24644.5,-380.5"/>
-<text text-anchor="start" x="24652.5" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
-<text text-anchor="middle" x="24732.5" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">RewriteNode</text>
-<polyline fill="none" stroke="black" points="24644.5,-594.5 24820.5,-594.5 "/>
-<text text-anchor="start" x="24652.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="24652.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00"># dfb_</text>
-<text text-anchor="start" x="24652.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00"># root_fn_</text>
-<text text-anchor="start" x="24652.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># original_fn_ptr_</text>
-<text text-anchor="start" x="24652.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># to_users_</text>
-<text text-anchor="start" x="24652.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fn_outputs_</text>
-<polyline fill="none" stroke="black" points="24644.5,-520.5 24820.5,-520.5 "/>
-<text text-anchor="start" x="24652.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReplaceAllUses()</text>
-<text text-anchor="start" x="24652.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="24652.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="24652.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="24652.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveUnused()</text>
-<text text-anchor="start" x="24652.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAllUnused()</text>
-<text text-anchor="start" x="24652.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ MutatedDataflowBlock()</text>
-<text text-anchor="start" x="24652.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ MutatedFunc()</text>
-<text text-anchor="start" x="24652.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ MutateIRModule()</text>
-<text text-anchor="start" x="24652.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24652.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="24652.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node334 -->
-<g id="edge192" class="edge">
-<title>Node1->Node334</title>
-<path fill="none" stroke="midnightblue" d="M24779,-695.27C24773.15,-671.11 24767.33,-647.12 24761.89,-624.7"/>
-<polygon fill="none" stroke="midnightblue" points="24775.67,-696.36 24781.43,-705.26 24782.47,-694.71 24775.67,-696.36"/>
+</g>
+<!-- Node1->Node313 -->
+<g id="edge172" class="edge">
+<title>Node1->Node313</title>
+<path fill="none" stroke="midnightblue" d="M24893.04,-859.72C24808.65,-819.5 24689.38,-753.38 24606.5,-669 24570.07,-631.91 24542.31,-578.32 24526.23,-542.26"/>
+<polygon fill="none" stroke="midnightblue" points="24891.58,-862.91 24902.12,-864.02 24894.57,-856.58 24891.58,-862.91"/>
</g>
<!-- Node335 -->
-<g id="node194" class="node">
+<g id="node193" class="node">
<title>Node335</title>
-<g id="a_node194"><a xlink:href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_top" xlink:title="A builder provides api to build VM executable with instructions.">
-<polygon fill="white" stroke="black" points="24838.5,-386 24838.5,-619 25014.5,-619 25014.5,-386 24838.5,-386"/>
-<text text-anchor="middle" x="24926.5" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilderNode</text>
-<polyline fill="none" stroke="black" points="24838.5,-600 25014.5,-600 "/>
-<text text-anchor="start" x="24846.5" y="-588" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
-<text text-anchor="start" x="24846.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="24838.5,-570 25014.5,-570 "/>
-<text text-anchor="start" x="24846.5" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeclareFunction()</text>
-<text text-anchor="start" x="24846.5" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitFunction()</text>
-<text text-anchor="start" x="24846.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ EndFunction()</text>
-<text text-anchor="start" x="24846.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitCall()</text>
-<text text-anchor="start" x="24846.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitCall()</text>
-<text text-anchor="start" x="24846.5" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitRet()</text>
-<text text-anchor="start" x="24846.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitGoto()</text>
-<text text-anchor="start" x="24846.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitIf()</text>
-<text text-anchor="start" x="24846.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetFunction()</text>
-<text text-anchor="start" x="24846.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertConstant()</text>
-<text text-anchor="start" x="24846.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ exec()</text>
-<text text-anchor="start" x="24846.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get()</text>
-<text text-anchor="start" x="24846.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="24846.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="24846.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="24846.5" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
+<g id="a_node193"><a xlink:href="classtvm_1_1relax_1_1DatabaseNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="24615.5,-419 24615.5,-586 24791.5,-586 24791.5,-419 24615.5,-419"/>
+<text text-anchor="middle" x="24703.5" y="-574" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DatabaseNode</text>
+<polyline fill="none" stroke="black" points="24615.5,-567 24791.5,-567 "/>
+<text text-anchor="start" x="24623.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="24615.5,-548 24791.5,-548 "/>
+<text text-anchor="start" x="24623.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~DatabaseNode()</text>
+<text text-anchor="start" x="24623.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasWorkload()</text>
+<text text-anchor="start" x="24623.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasMeasurementRecord()</text>
+<text text-anchor="start" x="24623.5" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ HasTuningRecord()</text>
+<text text-anchor="start" x="24623.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitWorkload()</text>
+<text text-anchor="start" x="24623.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitMeasurementRecord()</text>
+<text text-anchor="start" x="24623.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ CommitTuningRecord()</text>
+<text text-anchor="start" x="24623.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetTopK()</text>
+<text text-anchor="start" x="24623.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetMeasurementRecord()</text>
+<text text-anchor="start" x="24623.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="24623.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node335 -->
-<g id="edge193" class="edge">
+<g id="edge192" class="edge">
<title>Node1->Node335</title>
-<path fill="none" stroke="midnightblue" d="M24880,-695.25C24886.33,-669.13 24892.62,-643.21 24898.43,-619.26"/>
-<polygon fill="none" stroke="midnightblue" points="24876.53,-694.71 24877.57,-705.26 24883.33,-696.36 24876.53,-694.71"/>
+<path fill="none" stroke="midnightblue" d="M24895.66,-791.53C24863.92,-753.65 24829.49,-710.42 24800.5,-669 24782.26,-642.94 24764.13,-613.29 24748.57,-586.36"/>
+<polygon fill="none" stroke="midnightblue" points="24893.28,-794.13 24902.39,-799.53 24898.63,-789.63 24893.28,-794.13"/>
</g>
<!-- Node336 -->
-<g id="node195" class="node">
+<g id="node194" class="node">
<title>Node336</title>
-<g id="a_node195"><a xlink:href="classtvm_1_1relax_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables.">
-<polygon fill="white" stroke="black" points="25032.5,-424.5 25032.5,-580.5 25208.5,-580.5 25208.5,-424.5 25032.5,-424.5"/>
-<text text-anchor="middle" x="25120.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IdNode</text>
-<polyline fill="none" stroke="black" points="25032.5,-561.5 25208.5,-561.5 "/>
-<text text-anchor="start" x="25040.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name_hint</text>
-<text text-anchor="start" x="25040.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="25040.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="25040.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="25040.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="25040.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<polyline fill="none" stroke="black" points="25032.5,-487.5 25208.5,-487.5 "/>
-<text text-anchor="start" x="25040.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25040.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="25040.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="25040.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="25040.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node194"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_top" xlink:title="Statement rewriter for relax.DataflowBlock.">
+<polygon fill="white" stroke="black" points="24809.5,-380.5 24809.5,-624.5 24985.5,-624.5 24985.5,-380.5 24809.5,-380.5"/>
+<text text-anchor="start" x="24817.5" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
+<text text-anchor="middle" x="24897.5" y="-601.5" font-family="Helvetica,sans-Serif" font-size="10.00">RewriteNode</text>
+<polyline fill="none" stroke="black" points="24809.5,-594.5 24985.5,-594.5 "/>
+<text text-anchor="start" x="24817.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="24817.5" y="-571.5" font-family="Helvetica,sans-Serif" font-size="10.00"># dfb_</text>
+<text text-anchor="start" x="24817.5" y="-560.5" font-family="Helvetica,sans-Serif" font-size="10.00"># root_fn_</text>
+<text text-anchor="start" x="24817.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00"># original_fn_ptr_</text>
+<text text-anchor="start" x="24817.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00"># to_users_</text>
+<text text-anchor="start" x="24817.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00"># fn_outputs_</text>
+<polyline fill="none" stroke="black" points="24809.5,-520.5 24985.5,-520.5 "/>
+<text text-anchor="start" x="24817.5" y="-508.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ReplaceAllUses()</text>
+<text text-anchor="start" x="24817.5" y="-497.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
+<text text-anchor="start" x="24817.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
+<text text-anchor="start" x="24817.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
+<text text-anchor="start" x="24817.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveUnused()</text>
+<text text-anchor="start" x="24817.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ RemoveAllUnused()</text>
+<text text-anchor="start" x="24817.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ MutatedDataflowBlock()</text>
+<text text-anchor="start" x="24817.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ MutatedFunc()</text>
+<text text-anchor="start" x="24817.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ MutateIRModule()</text>
+<text text-anchor="start" x="24817.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="24817.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="24817.5" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node336 -->
-<g id="edge194" class="edge">
+<g id="edge193" class="edge">
<title>Node1->Node336</title>
-<path fill="none" stroke="midnightblue" d="M24928.34,-791.53C24960.08,-753.65 24994.51,-710.42 25023.5,-669 25042.98,-641.17 25062.33,-609.24 25078.57,-580.9"/>
-<polygon fill="none" stroke="midnightblue" points="24925.37,-789.63 24921.61,-799.53 24930.72,-794.13 24925.37,-789.63"/>
+<path fill="none" stroke="midnightblue" d="M24944,-695.27C24938.15,-671.11 24932.33,-647.12 24926.89,-624.7"/>
+<polygon fill="none" stroke="midnightblue" points="24940.67,-696.36 24946.43,-705.26 24947.47,-694.71 24940.67,-696.36"/>
</g>
<!-- Node337 -->
-<g id="node196" class="node">
+<g id="node195" class="node">
<title>Node337</title>
-<g id="a_node196"><a xlink:href="classtvm_1_1relax_1_1KnobNode.html" target="_top" xlink:title="Knob manages a set of valid choices for an optimization.">
-<polygon fill="white" stroke="black" points="25227,-430 25227,-575 25400,-575 25400,-430 25227,-430"/>
-<text text-anchor="middle" x="25313.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::KnobNode</text>
-<polyline fill="none" stroke="black" points="25227,-556 25400,-556 "/>
-<text text-anchor="start" x="25235" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
-<text text-anchor="start" x="25235" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ choices</text>
-<text text-anchor="start" x="25235" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="25227,-515 25400,-515 "/>
-<text text-anchor="start" x="25235" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~KnobNode()</text>
-<text text-anchor="start" x="25235" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25235" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsValidDecision()</text>
-<text text-anchor="start" x="25235" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
-<text text-anchor="start" x="25235" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-<text text-anchor="start" x="25235" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="25235" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node195"><a xlink:href="classtvm_1_1relax_1_1ExecBuilderNode.html" target="_top" xlink:title="A builder provides api to build VM executable with instructions.">
+<polygon fill="white" stroke="black" points="25003.5,-386 25003.5,-619 25179.5,-619 25179.5,-386 25003.5,-386"/>
+<text text-anchor="middle" x="25091.5" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilderNode</text>
+<polyline fill="none" stroke="black" points="25003.5,-600 25179.5,-600 "/>
+<text text-anchor="start" x="25011.5" y="-588" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_index</text>
+<text text-anchor="start" x="25011.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="25003.5,-570 25179.5,-570 "/>
+<text text-anchor="start" x="25011.5" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">+ DeclareFunction()</text>
+<text text-anchor="start" x="25011.5" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitFunction()</text>
+<text text-anchor="start" x="25011.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+ EndFunction()</text>
+<text text-anchor="start" x="25011.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitCall()</text>
+<text text-anchor="start" x="25011.5" y="-514" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitCall()</text>
+<text text-anchor="start" x="25011.5" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitRet()</text>
+<text text-anchor="start" x="25011.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitGoto()</text>
+<text text-anchor="start" x="25011.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ EmitIf()</text>
+<text text-anchor="start" x="25011.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ GetFunction()</text>
+<text text-anchor="start" x="25011.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ ConvertConstant()</text>
+<text text-anchor="start" x="25011.5" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ exec()</text>
+<text text-anchor="start" x="25011.5" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ Get()</text>
+<text text-anchor="start" x="25011.5" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25011.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="25011.5" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="25011.5" y="-393" font-family="Helvetica,sans-Serif" font-size="10.00">+ Create()</text>
</a>
</g>
</g>
<!-- Node1->Node337 -->
-<g id="edge195" class="edge">
+<g id="edge194" class="edge">
<title>Node1->Node337</title>
-<path fill="none" stroke="midnightblue" d="M24930.96,-859.72C25015.35,-819.5 25134.62,-753.38 25217.5,-669 25243.92,-642.1 25265.78,-606.52 25281.93,-575.25"/>
-<polygon fill="none" stroke="midnightblue" points="24929.43,-856.58 24921.88,-864.02 24932.42,-862.91 24929.43,-856.58"/>
+<path fill="none" stroke="midnightblue" d="M25045,-695.25C25051.33,-669.13 25057.62,-643.21 25063.43,-619.26"/>
+<polygon fill="none" stroke="midnightblue" points="25041.53,-694.71 25042.57,-705.26 25048.33,-696.36 25041.53,-694.71"/>
</g>
<!-- Node338 -->
-<g id="node197" class="node">
+<g id="node196" class="node">
<title>Node338</title>
-<g id="a_node197"><a xlink:href="classtvm_1_1relax_1_1MatchResultNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="black" points="25418.5,-446.5 25418.5,-558.5 25594.5,-558.5 25594.5,-446.5 25418.5,-446.5"/>
-<text text-anchor="middle" x="25506.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResultNode</text>
-<polyline fill="none" stroke="black" points="25418.5,-539.5 25594.5,-539.5 "/>
-<text text-anchor="start" x="25426.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pattern</text>
-<text text-anchor="start" x="25426.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ symbol_values</text>
-<text text-anchor="start" x="25426.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ matched_buffers</text>
-<text text-anchor="start" x="25426.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="25418.5,-487.5 25594.5,-487.5 "/>
-<text text-anchor="start" x="25426.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25426.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="25426.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node196"><a xlink:href="classtvm_1_1relax_1_1IdNode.html" target="_top" xlink:title="The unique identifier of variables.">
+<polygon fill="white" stroke="black" points="25197.5,-424.5 25197.5,-580.5 25373.5,-580.5 25373.5,-424.5 25197.5,-424.5"/>
+<text text-anchor="middle" x="25285.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IdNode</text>
+<polyline fill="none" stroke="black" points="25197.5,-561.5 25373.5,-561.5 "/>
+<text text-anchor="start" x="25205.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ name_hint</text>
+<text text-anchor="start" x="25205.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="25205.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="25205.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="25205.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="25205.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<polyline fill="none" stroke="black" points="25197.5,-487.5 25373.5,-487.5 "/>
+<text text-anchor="start" x="25205.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25205.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
+<text text-anchor="start" x="25205.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
+<text text-anchor="start" x="25205.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="25205.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node338 -->
-<g id="edge196" class="edge">
+<g id="edge195" class="edge">
<title>Node1->Node338</title>
-<path fill="none" stroke="midnightblue" d="M24931.59,-883.24C25056.22,-854.13 25267.72,-790.12 25408.5,-669 25443.05,-639.27 25468.62,-594.19 25484.96,-558.59"/>
-<polygon fill="none" stroke="midnightblue" points="24930.62,-879.87 24921.66,-885.52 24932.19,-886.69 24930.62,-879.87"/>
+<path fill="none" stroke="midnightblue" d="M25093.34,-791.53C25125.08,-753.65 25159.51,-710.42 25188.5,-669 25207.98,-641.17 25227.33,-609.24 25243.57,-580.9"/>
+<polygon fill="none" stroke="midnightblue" points="25090.37,-789.63 25086.61,-799.53 25095.72,-794.13 25090.37,-789.63"/>
</g>
<!-- Node339 -->
-<g id="node198" class="node">
+<g id="node197" class="node">
<title>Node339</title>
-<g id="a_node198"><a xlink:href="classtvm_1_1relax_1_1PatternContextNode.html" target="_top" xlink:title="A context to manage the graph-level pattern matching.">
-<polygon fill="white" stroke="black" points="25612.5,-446.5 25612.5,-558.5 25788.5,-558.5 25788.5,-446.5 25612.5,-446.5"/>
-<text text-anchor="middle" x="25700.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContextNode</text>
-<polyline fill="none" stroke="black" points="25612.5,-539.5 25788.5,-539.5 "/>
-<text text-anchor="start" x="25620.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ allow_extern_use</text>
-<text text-anchor="start" x="25620.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ edge_constraints</text>
-<text text-anchor="start" x="25620.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ src_ordered</text>
-<text text-anchor="start" x="25620.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ validation_constraints</text>
-<text text-anchor="start" x="25620.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="25612.5,-476.5 25788.5,-476.5 "/>
-<text text-anchor="start" x="25620.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="25620.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node197"><a xlink:href="classtvm_1_1relax_1_1KnobNode.html" target="_top" xlink:title="Knob manages a set of valid choices for an optimization.">
+<polygon fill="white" stroke="black" points="25392,-430 25392,-575 25565,-575 25565,-430 25392,-430"/>
+<text text-anchor="middle" x="25478.5" y="-563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::KnobNode</text>
+<polyline fill="none" stroke="black" points="25392,-556 25565,-556 "/>
+<text text-anchor="start" x="25400" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ name</text>
+<text text-anchor="start" x="25400" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ choices</text>
+<text text-anchor="start" x="25400" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="25392,-515 25565,-515 "/>
+<text text-anchor="start" x="25400" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~KnobNode()</text>
+<text text-anchor="start" x="25400" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25400" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ IsValidDecision()</text>
+<text text-anchor="start" x="25400" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Apply()</text>
+<text text-anchor="start" x="25400" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
+<text text-anchor="start" x="25400" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="25400" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node339 -->
-<g id="edge197" class="edge">
+<g id="edge196" class="edge">
<title>Node1->Node339</title>
-<path fill="none" stroke="midnightblue" d="M24931.96,-896.09C25091.3,-879.8 25401.17,-828.45 25603.5,-669 25639.47,-640.66 25664.78,-595.02 25680.51,-558.83"/>
-<polygon fill="none" stroke="midnightblue" points="24931.28,-892.64 24921.68,-897.12 24931.98,-899.61 24931.28,-892.64"/>
+<path fill="none" stroke="midnightblue" d="M25095.96,-859.72C25180.35,-819.5 25299.62,-753.38 25382.5,-669 25408.92,-642.1 25430.78,-606.52 25446.93,-575.25"/>
+<polygon fill="none" stroke="midnightblue" points="25094.43,-856.58 25086.88,-864.02 25097.42,-862.91 25094.43,-856.58"/>
</g>
<!-- Node340 -->
-<g id="node199" class="node">
+<g id="node198" class="node">
<title>Node340</title>
-<g id="a_node199"><a xlink:href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_top" xlink:title="A sequence of DFPatterns that the previous DFPattern is connected to the next one.">
-<polygon fill="white" stroke="black" points="25807,-452 25807,-553 25980,-553 25980,-452 25807,-452"/>
-<text text-anchor="middle" x="25893.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeqNode</text>
-<polyline fill="none" stroke="black" points="25807,-534 25980,-534 "/>
-<text text-anchor="start" x="25815" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ patterns</text>
-<text text-anchor="start" x="25815" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ pair_constraints</text>
-<text text-anchor="start" x="25815" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="25807,-493 25980,-493 "/>
-<text text-anchor="start" x="25815" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="25815" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="25815" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node198"><a xlink:href="classtvm_1_1relax_1_1MatchResultNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="black" points="25583.5,-446.5 25583.5,-558.5 25759.5,-558.5 25759.5,-446.5 25583.5,-446.5"/>
+<text text-anchor="middle" x="25671.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResultNode</text>
+<polyline fill="none" stroke="black" points="25583.5,-539.5 25759.5,-539.5 "/>
+<text text-anchor="start" x="25591.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ pattern</text>
+<text text-anchor="start" x="25591.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ symbol_values</text>
+<text text-anchor="start" x="25591.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ matched_buffers</text>
+<text text-anchor="start" x="25591.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="25583.5,-487.5 25759.5,-487.5 "/>
+<text text-anchor="start" x="25591.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25591.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="25591.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node340 -->
-<g id="edge198" class="edge">
+<g id="edge197" class="edge">
<title>Node1->Node340</title>
-<path fill="none" stroke="midnightblue" d="M24931.79,-889.08C25151.48,-856.49 25659.68,-771.91 25797.5,-669 25836.22,-640.08 25861.94,-590.57 25876.93,-553.22"/>
-<polygon fill="none" stroke="midnightblue" points="24931.24,-885.62 24921.86,-890.55 24932.27,-892.55 24931.24,-885.62"/>
+<path fill="none" stroke="midnightblue" d="M25096.59,-883.24C25221.22,-854.13 25432.72,-790.12 25573.5,-669 25608.05,-639.27 25633.62,-594.19 25649.96,-558.59"/>
+<polygon fill="none" stroke="midnightblue" points="25095.62,-879.87 25086.66,-885.52 25097.19,-886.69 25095.62,-879.87"/>
</g>
<!-- Node341 -->
-<g id="node200" class="node">
+<g id="node199" class="node">
<title>Node341</title>
-<g id="a_node200"><a xlink:href="classtvm_1_1relax_1_1StructInfoNode.html" target="_top" xlink:title="Base type of all structure information.">
-<polygon fill="white" stroke="black" points="25998,-435.5 25998,-569.5 26171,-569.5 26171,-435.5 25998,-435.5"/>
-<text text-anchor="middle" x="26084.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StructInfoNode</text>
-<polyline fill="none" stroke="black" points="25998,-550.5 26171,-550.5 "/>
-<text text-anchor="start" x="26006" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
-<text text-anchor="start" x="26006" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<text text-anchor="start" x="26006" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="26006" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="26006" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="26006" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="26006" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
-<polyline fill="none" stroke="black" points="25998,-465.5 26171,-465.5 "/>
-<text text-anchor="start" x="26006" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="26006" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node199"><a xlink:href="classtvm_1_1relax_1_1PatternContextNode.html" target="_top" xlink:title="A context to manage the graph-level pattern matching.">
+<polygon fill="white" stroke="black" points="25777.5,-446.5 25777.5,-558.5 25953.5,-558.5 25953.5,-446.5 25777.5,-446.5"/>
+<text text-anchor="middle" x="25865.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContextNode</text>
+<polyline fill="none" stroke="black" points="25777.5,-539.5 25953.5,-539.5 "/>
+<text text-anchor="start" x="25785.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ allow_extern_use</text>
+<text text-anchor="start" x="25785.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ edge_constraints</text>
+<text text-anchor="start" x="25785.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ src_ordered</text>
+<text text-anchor="start" x="25785.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ validation_constraints</text>
+<text text-anchor="start" x="25785.5" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="25777.5,-476.5 25953.5,-476.5 "/>
+<text text-anchor="start" x="25785.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
+<text text-anchor="start" x="25785.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
</a>
</g>
</g>
<!-- Node1->Node341 -->
-<g id="edge199" class="edge">
+<g id="edge198" class="edge">
<title>Node1->Node341</title>
-<path fill="none" stroke="midnightblue" d="M24931.85,-893.58C25182.35,-867.63 25818.23,-791.18 25988.5,-669 26022.37,-644.7 26046.1,-604.45 26061.5,-569.73"/>
-<polygon fill="none" stroke="midnightblue" points="24931.24,-890.12 24921.66,-894.63 24931.96,-897.09 24931.24,-890.12"/>
+<path fill="none" stroke="midnightblue" d="M25096.96,-896.09C25256.3,-879.8 25566.17,-828.45 25768.5,-669 25804.47,-640.66 25829.78,-595.02 25845.51,-558.83"/>
+<polygon fill="none" stroke="midnightblue" points="25096.28,-892.64 25086.68,-897.12 25096.98,-899.61 25096.28,-892.64"/>
</g>
-<!-- Node349 -->
-<g id="node208" class="node">
-<title>Node349</title>
-<g id="a_node208"><a xlink:href="classtvm_1_1relax_1_1TraceNode.html" target="_top" xlink:title="Trace manages history of optimization decisions.">
-<polygon fill="white" stroke="black" points="26189,-397 26189,-608 26362,-608 26362,-397 26189,-397"/>
-<text text-anchor="middle" x="26275.5" y="-596" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TraceNode</text>
-<polyline fill="none" stroke="black" points="26189,-589 26362,-589 "/>
-<text text-anchor="start" x="26197" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ in_mod</text>
-<text text-anchor="start" x="26197" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_mod</text>
-<text text-anchor="start" x="26197" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+ knobs</text>
-<text text-anchor="start" x="26197" y="-544" font-family="Helvetica,sans-Serif" font-size="10.00">+ decisions</text>
-<text text-anchor="start" x="26197" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">+ perf</text>
-<text text-anchor="start" x="26197" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ size</text>
-<text text-anchor="start" x="26197" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="26189,-504 26362,-504 "/>
-<text text-anchor="start" x="26197" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+ ~TraceNode()</text>
-<text text-anchor="start" x="26197" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26197" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ Verify()</text>
-<text text-anchor="start" x="26197" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">+ Add()</text>
-<text text-anchor="start" x="26197" y="-448" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-<text text-anchor="start" x="26197" y="-437" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetPerf()</text>
-<text text-anchor="start" x="26197" y="-426" font-family="Helvetica,sans-Serif" font-size="10.00">+ SetOutMod()</text>
-<text text-anchor="start" x="26197" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
-<text text-anchor="start" x="26197" y="-404" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node349 -->
-<g id="edge207" class="edge">
-<title>Node1->Node349</title>
-<path fill="none" stroke="midnightblue" d="M24931.96,-896.83C25210.87,-876.96 25976.34,-810.56 26179.5,-669 26201.57,-653.62 26219.29,-631.4 26233.2,-608.21"/>
-<polygon fill="none" stroke="midnightblue" points="24931.58,-893.35 24921.85,-897.54 24932.07,-900.33 24931.58,-893.35"/>
+<!-- Node342 -->
+<g id="node200" class="node">
+<title>Node342</title>
+<g id="a_node200"><a xlink:href="classtvm_1_1relax_1_1PatternSeqNode.html" target="_top" xlink:title="A sequence of DFPatterns that the previous DFPattern is connected to the next one.">
+<polygon fill="white" stroke="black" points="25972,-452 25972,-553 26145,-553 26145,-452 25972,-452"/>
+<text text-anchor="middle" x="26058.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeqNode</text>
+<polyline fill="none" stroke="black" points="25972,-534 26145,-534 "/>
+<text text-anchor="start" x="25980" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">+ patterns</text>
+<text text-anchor="start" x="25980" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">+ pair_constraints</text>
+<text text-anchor="start" x="25980" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<polyline fill="none" stroke="black" points="25972,-493 26145,-493 "/>
+<text text-anchor="start" x="25980" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
+<text text-anchor="start" x="25980" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="25980" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
</g>
-<!-- Node350 -->
-<g id="node209" class="node">
-<title>Node350</title>
-<g id="a_node209"><a xlink:href="classtvm_1_1relax_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
-<polygon fill="white" stroke="black" points="26380.5,-446.5 26380.5,-558.5 26556.5,-558.5 26556.5,-446.5 26380.5,-446.5"/>
-<text text-anchor="middle" x="26468.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TuningRecordNode</text>
-<polyline fill="none" stroke="black" points="26380.5,-539.5 26556.5,-539.5 "/>
-<text text-anchor="start" x="26388.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ trace</text>
-<text text-anchor="start" x="26388.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ run_secs</text>
-<text text-anchor="start" x="26388.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="26380.5,-498.5 26556.5,-498.5 "/>
-<text text-anchor="start" x="26388.5" y="-486.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26388.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="26388.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="26388.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ AsJSON()</text>
-</a>
-</g>
-</g>
-<!-- Node1->Node350 -->
-<g id="edge208" class="edge">
-<title>Node1->Node350</title>
-<path fill="none" stroke="midnightblue" d="M24931.88,-899.2C25236.96,-884.66 26133.38,-829 26370.5,-669 26409.25,-642.85 26434.93,-595.81 26450.24,-558.54"/>
-<polygon fill="none" stroke="midnightblue" points="24931.54,-895.71 24921.72,-899.68 24931.87,-902.7 24931.54,-895.71"/>
+</g>
+<!-- Node1->Node342 -->
+<g id="edge199" class="edge">
+<title>Node1->Node342</title>
+<path fill="none" stroke="midnightblue" d="M25096.79,-889.08C25316.48,-856.49 25824.68,-771.91 25962.5,-669 26001.22,-640.08 26026.94,-590.57 26041.93,-553.22"/>
+<polygon fill="none" stroke="midnightblue" points="25096.24,-885.62 25086.86,-890.55 25097.27,-892.55 25096.24,-885.62"/>
+</g>
+<!-- Node343 -->
+<g id="node201" class="node">
+<title>Node343</title>
+<g id="a_node201"><a xlink:href="classtvm_1_1relax_1_1StructInfoNode.html" target="_top" xlink:title="Base type of all structure information.">
+<polygon fill="white" stroke="black" points="26163,-435.5 26163,-569.5 26336,-569.5 26336,-435.5 26163,-435.5"/>
+<text text-anchor="middle" x="26249.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StructInfoNode</text>
+<polyline fill="none" stroke="black" points="26163,-550.5 26336,-550.5 "/>
+<text text-anchor="start" x="26171" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ span</text>
+<text text-anchor="start" x="26171" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
+<text text-anchor="start" x="26171" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
+<text text-anchor="start" x="26171" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="26171" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
+<text text-anchor="start" x="26171" y="-483.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
+<text text-anchor="start" x="26171" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_child_slots</text>
+<polyline fill="none" stroke="black" points="26163,-465.5 26336,-465.5 "/>
+<text text-anchor="start" x="26171" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_BASE_OBJECT</text>
+<text text-anchor="start" x="26171" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+</a>
+</g>
+</g>
+<!-- Node1->Node343 -->
+<g id="edge200" class="edge">
+<title>Node1->Node343</title>
+<path fill="none" stroke="midnightblue" d="M25096.85,-893.58C25347.35,-867.63 25983.23,-791.18 26153.5,-669 26187.37,-644.7 26211.1,-604.45 26226.5,-569.73"/>
+<polygon fill="none" stroke="midnightblue" points="25096.24,-890.12 25086.66,-894.63 25096.96,-897.09 25096.24,-890.12"/>
</g>
<!-- Node351 -->
-<g id="node210" class="node">
+<g id="node209" class="node">
<title>Node351</title>
-<g id="a_node210"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementNode.html" target="_top" xlink:title="Describes how data is distributed in each dimension of the device mesh.">
-<polygon fill="white" stroke="black" points="26574.5,-413.5 26574.5,-591.5 26750.5,-591.5 26750.5,-413.5 26574.5,-413.5"/>
-<text text-anchor="start" x="26582.5" y="-579.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="26662.5" y="-568.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementNode</text>
-<polyline fill="none" stroke="black" points="26574.5,-561.5 26750.5,-561.5 "/>
-<text text-anchor="start" x="26582.5" y="-549.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ dim_specs</text>
-<text text-anchor="start" x="26582.5" y="-538.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_sequal</text>
-<text text-anchor="start" x="26582.5" y="-527.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="26582.5" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_has_method_shash</text>
-<text text-anchor="start" x="26582.5" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_reduce</text>
-<text text-anchor="start" x="26582.5" y="-494.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ _type_key</text>
-<polyline fill="none" stroke="black" points="26574.5,-487.5 26750.5,-487.5 "/>
-<text text-anchor="start" x="26582.5" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ ToString()</text>
-<text text-anchor="start" x="26582.5" y="-464.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ VisitAttrs()</text>
-<text text-anchor="start" x="26582.5" y="-453.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SEqualReduce()</text>
-<text text-anchor="start" x="26582.5" y="-442.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ SHashReduce()</text>
-<text text-anchor="start" x="26582.5" y="-431.5" font-family="Helvetica,sans-Serif" font-size="10.00">+ TVM_DECLARE_FINAL_OBJECT</text>
-<text text-anchor="start" x="26582.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<g id="a_node209"><a xlink:href="classtvm_1_1relax_1_1TraceNode.html" target="_top" xlink:title="Trace manages history of optimization decisions.">
+<polygon fill="white" stroke="black" points="26354,-397 26354,-608 26527,-608 26527,-397 26354,-397"/>
+<text text-anchor="middle" x="26440.5" y="-596" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TraceNode</text>
+<polyline fill="none" stroke="black" points="26354,-589 26527,-589 "/>
+<text text-anchor="start" x="26362" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+ in_mod</text>
+<text text-anchor="start" x="26362" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">+ out_mod</text>
... 46617 lines suppressed ...