You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2026/10/05 02:04:24 UTC
(tvm-site) branch asf-site updated: deploying docs (apache/tvm@a771de82bdc9517ca4596727dcf0c4c15cacab31)
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 4cb5554a88f deploying docs (apache/tvm@a771de82bdc9517ca4596727dcf0c4c15cacab31)
4cb5554a88f is described below
commit 4cb5554a88fbde741d88932668b4ad1ac5708db0
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Mon Oct 5 02:04:16 2026 +0000
deploying docs (apache/tvm@a771de82bdc9517ca4596727dcf0c4c15cacab31)
---
.../import_model.zip | Bin 35138 -> 35138 bytes
.../dlight_gpu_scheduling.zip | Bin 26311 -> 26311 bytes
.../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip | Bin 23756 -> 23756 bytes
.../tir_transformation.zip | Bin 15990 -> 15990 bytes
.../meta_schedule.zip | Bin 24239 -> 24239 bytes
.../mix_python_and_tvm_with_pymodule.zip | Bin 38278 -> 38278 bytes
.../relax_creation.zip | Bin 22298 -> 22298 bytes
.../relax_transformation.zip | Bin 11480 -> 11480 bytes
.../optimize_llm.zip | Bin 53997 -> 53997 bytes
.../bring_your_own_codegen.zip | Bin 36295 -> 36295 bytes
.../e2e_opt_model.zip | Bin 14479 -> 14479 bytes
.../quick_start.zip | Bin 16252 -> 16252 bytes
.../export_and_load_executable.zip | Bin 31408 -> 31408 bytes
.../tir_creation.zip | Bin 24476 -> 24476 bytes
.../cross_compilation_and_rpc.zip | Bin 62286 -> 62286 bytes
.../customize_opt.zip | Bin 20522 -> 20522 bytes
.../relax/tutorials/sg_execution_times.rst | 4 +-
.../tensor_ir/tutorials/sg_execution_times.rst | 4 +-
.../tensor_ir/tutorials/tir_transformation.rst | 6 +-
docs/_sources/get_started/tutorials/ir_module.rst | 8 +-
.../_sources/get_started/tutorials/quick_start.rst | 4 +-
.../get_started/tutorials/sg_execution_times.rst | 6 +-
.../how_to/tutorials/cross_compilation_and_rpc.rst | 6 +-
docs/_sources/how_to/tutorials/e2e_opt_model.rst | 2 +-
.../how_to/tutorials/sg_execution_times.rst | 10 +-
docs/_sources/sg_execution_times.rst | 18 +-
docs/commit_hash | 2 +-
.../relax/tutorials/sg_execution_times.html | 4 +-
.../tensor_ir/tutorials/sg_execution_times.html | 4 +-
.../tensor_ir/tutorials/tir_transformation.html | 6 +-
docs/get_started/tutorials/ir_module.html | 8 +-
docs/get_started/tutorials/quick_start.html | 4 +-
docs/get_started/tutorials/sg_execution_times.html | 6 +-
.../tutorials/cross_compilation_and_rpc.html | 6 +-
docs/how_to/tutorials/e2e_opt_model.html | 4 +-
docs/how_to/tutorials/sg_execution_times.html | 10 +-
.../api/doxygen/classtvm_1_1ExprNode.html | 2 +-
.../classtvm_1_1ExprNode__inherit__graph.svg | 287 +-
.../doxygen/classtvm_1_1Expr__inherit__graph.svg | 141 +-
.../classtvm_1_1tirx_1_1LambdaExpr-members.html | 9 +-
.../doxygen/classtvm_1_1tirx_1_1LambdaExpr.html | 27 +-
...classtvm_1_1tirx_1_1LambdaExprNode-members.html | 18 +-
.../classtvm_1_1tirx_1_1LambdaExprNode.html | 32 +-
...stvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg | 389 +-
...m_1_1tirx_1_1LambdaExprNode__inherit__graph.svg | 61 +-
...classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg | 81 +-
...sstvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg | 81 +-
docs/reference/api/doxygen/functions_func_t.html | 6 +-
docs/reference/api/doxygen/functions_t.html | 6 +-
docs/reference/api/doxygen/hierarchy.html | 124 +-
docs/reference/api/doxygen/inherit_graph_3.svg | 5410 ++++++++++----------
docs/reference/api/doxygen/inherit_graph_4.svg | 3750 +++++++-------
docs/reference/api/doxygen/inherits.html | 4 +-
docs/reference/api/doxygen/search/all_14.js | 8 +-
docs/reference/api/doxygen/search/functions_13.js | 8 +-
.../api/doxygen/tile__primitive_8h_source.html | 14 +-
.../api/typedoc/classes/ArtifactCache.html | 14 +-
.../classes/ArtifactCrossOriginStorageCache.html | 12 +-
.../typedoc/classes/ArtifactIndexedDBCache.html | 16 +-
.../api/typedoc/classes/ArtifactOPFSCache.html | 14 +-
docs/reference/api/typedoc/classes/CacheState.html | 10 +-
docs/reference/api/typedoc/classes/DLDataType.html | 14 +-
docs/reference/api/typedoc/classes/DLDevice.html | 12 +-
docs/reference/api/typedoc/classes/Instance.html | 120 +-
docs/reference/api/typedoc/classes/LRUCache.html | 14 +-
.../classes/LinearCongruentialGenerator.html | 20 +-
docs/reference/api/typedoc/classes/Module.html | 16 +-
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 +-
docs/reference/api/typedoc/classes/Tensor.html | 36 +-
.../api/typedoc/classes/VirtualMachine.html | 10 +-
.../classes/_internal_.AsyncifyHandler.html | 14 +-
.../classes/_internal_.CachedCallStack.html | 38 +-
.../classes/_internal_.CanvasRenderManager.html | 10 +-
.../classes/_internal_.CrossOriginStorage.html | 12 +-
.../typedoc/classes/_internal_.Environment.html | 14 +-
.../api/typedoc/classes/_internal_.FFILibrary.html | 22 +-
.../api/typedoc/classes/_internal_.Memory.html | 50 +-
.../api/typedoc/classes/_internal_.OPFSStore.html | 16 +-
.../typedoc/classes/_internal_.PackedFuncCell.html | 12 +-
.../typedoc/classes/_internal_.RuntimeContext.html | 74 +-
.../typedoc/classes/_internal_.WebGPUContext.html | 30 +-
.../enums/_internal_.AsyncifyStateKind.html | 8 +-
.../typedoc/enums/_internal_.RPCServerState.html | 14 +-
docs/reference/api/typedoc/functions/assert.html | 2 +-
.../api/typedoc/functions/createArtifactCache.html | 2 +-
.../api/typedoc/functions/createPolyfillWASI.html | 2 +-
.../api/typedoc/functions/deleteTensorCache.html | 4 +-
.../api/typedoc/functions/detectGPUDevice.html | 2 +-
.../api/typedoc/functions/hasTensorInCache.html | 4 +-
.../api/typedoc/functions/instantiate.html | 2 +-
docs/reference/api/typedoc/functions/wasmPath.html | 2 +-
.../typedoc/interfaces/ArtifactCacheTemplate.html | 10 +-
.../api/typedoc/interfaces/Disposable.html | 4 +-
.../interfaces/FetchTensorCacheOptions.html | 12 +-
.../typedoc/interfaces/GPUDeviceDetectOutput.html | 8 +-
.../api/typedoc/interfaces/InitProgressReport.html | 8 +-
.../api/typedoc/interfaces/LibraryProvider.html | 6 +-
.../interfaces/TensorCacheAccessOptions.html | 10 +-
.../_internal_.CrossOriginHashDescriptor.html | 6 +-
.../_internal_.CrossOriginStorageAPI.html | 4 +-
.../_internal_.CrossOriginStorageHandle.html | 6 +-
...CrossOriginStorageRequestFileHandleOptions.html | 6 +-
.../_internal_.CrossOriginStorageWritable.html | 6 +-
.../interfaces/_internal_.FunctionInfo.html | 8 +-
.../interfaces/_internal_.OPFSDirectoryHandle.html | 8 +-
.../interfaces/_internal_.OPFSFileHandle.html | 8 +-
.../interfaces/_internal_.OPFSStorageManager.html | 4 +-
.../interfaces/_internal_.OPFSStoreRecord.html | 8 +-
.../interfaces/_internal_.OPFSStoredEntry.html | 6 +-
.../_internal_.OPFSSyncAccessHandle.html | 14 +-
.../_internal_.OPFSWritableFileStream.html | 6 +-
.../interfaces/_internal_.PackedCallFrame.html | 16 +-
.../interfaces/_internal_.TensorCacheEntry.html | 14 +-
.../interfaces/_internal_.TensorShardEntry.html | 10 +-
.../interfaces/_internal_.WasmByteArraySource.html | 8 +-
.../api/typedoc/types/ArtifactCacheType.html | 2 +-
.../api/typedoc/types/InitProgressCallback.html | 2 +-
.../api/typedoc/types/OPFSAccessMode.html | 2 +-
docs/reference/api/typedoc/types/PackedFunc.html | 2 +-
docs/reference/api/typedoc/types/RNGState.html | 2 +-
.../typedoc/types/_internal_.AsyncPackedFunc.html | 2 +-
.../types/_internal_.FObjectConstructor.html | 2 +-
.../types/_internal_.FTVMFFIWasmSafeCallType.html | 2 +-
.../types/_internal_.FTVMWasmAllocSpace.html | 2 +-
.../types/_internal_.FTVMWasmFreeSpace.html | 2 +-
.../types/_internal_.OPFSEffectiveAccessMode.html | 2 +-
.../types/_internal_.OPFSSyncAccessHandleMode.html | 2 +-
.../api/typedoc/types/_internal_.Pointer.html | 2 +-
.../api/typedoc/types/_internal_.RequestLike.html | 2 +-
.../typedoc/types/_internal_.TVMObjectBase.html | 2 +-
docs/searchindex.js | 2 +-
docs/sg_execution_times.html | 18 +-
135 files changed, 5917 insertions(+), 5603 deletions(-)
diff --git a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip
index cc92655bde8..aebb2a9446e 100644
Binary files a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip and b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip differ
diff --git a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip
index 353332c26a6..26cc4cfc3b4 100644
Binary files a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip and b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip differ
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index 1e866265a55..a8785c56dff 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 eeec180e07c..520816e65b1 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip
index 28d7160b2a7..c9315f80fb2 100644
Binary files a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip and b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip differ
diff --git a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip
index 02a8d44eb26..2fd97ff09ae 100644
Binary files a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip and b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index 33fbdd30696..e5170099176 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 607d295c21a..1016dd5a36e 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 a33ede126bd..1e58e6e7abb 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip
index b8162f9dff1..1bc00153313 100644
Binary files a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip and b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index 41cc4e838c4..5d0f8e21149 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 ead1a772728..c4c7c4d395c 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip
index 77c71458c1d..877081320df 100644
Binary files a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip and b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index 9a34c10c0b1..4746996546d 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 07a294e1c69..74504394fc0 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 ddac155ab48..2484a07631a 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 b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst
index f84e071dbe9..076a3d489cd 100644
--- a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst
+++ b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:00.202** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.204** total execution time for 2 files **from deep_dive/relax/tutorials**:
.. container::
@@ -33,7 +33,7 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
- - 00:00.108
+ - 00:00.110
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
- 00:00.094
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst
index 8f9e8cbbc4b..efe03cf139b 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:01.018** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
+**00:01.016** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
.. container::
@@ -33,7 +33,7 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``dlight_gpu_scheduling.py``)
- - 00:00.527
+ - 00:00.525
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
- 00:00.317
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst
index 19f0a1e9a5b..0baf28d9472 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst
@@ -121,7 +121,7 @@ original implementation.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 2.7511 2.7511 2.7511 2.7511 0.0000
+ 2.8001 2.8001 2.8001 2.8001 0.0000
@@ -313,7 +313,7 @@ action involves reordering these two loops.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.8650 0.8650 0.8650 0.8650 0.0000
+ 0.8641 0.8641 0.8641 0.8641 0.0000
@@ -455,7 +455,7 @@ from the reduction update via the **decompose_reduction** primitive.
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.3407 0.3407 0.3407 0.3407 0.0000
+ 0.3458 0.3458 0.3458 0.3458 0.0000
diff --git a/docs/_sources/get_started/tutorials/ir_module.rst b/docs/_sources/get_started/tutorials/ir_module.rst
index 0c045324769..d926d2c299e 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst
+++ b/docs/_sources/get_started/tutorials/ir_module.rst
@@ -764,8 +764,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
.. code-block:: none
- [[-0.02782571 0.06871742 -0.14305604 -0.13322863 0.06012666 -0.38424698
- -0.14864197 0.1479792 0.13964576 0.06794096]]
+ [[-0.00357894 0.2658207 0.24639472 -0.06688645 0.02960331 -0.05783635
+ 0.0499729 -0.10098697 -0.10774945 0.2254335 ]]
@@ -831,8 +831,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
.. code-block:: none
- [[-0.02782573 0.06871741 -0.14305604 -0.13322863 0.06012668 -0.38424695
- -0.148642 0.14797917 0.13964579 0.06794098]]
+ [[-0.00357897 0.26582077 0.24639475 -0.06688644 0.02960333 -0.05783634
+ 0.0499729 -0.10098694 -0.10774944 0.22543347]]
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst b/docs/_sources/get_started/tutorials/quick_start.rst
index bc9ecd10e24..6bbc6f83549 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst
+++ b/docs/_sources/get_started/tutorials/quick_start.rst
@@ -226,8 +226,8 @@ different devices.
.. code-block:: none
- [[23073.555 24813.398 24976.969 25056.13 23267.756 23417.236 23040.873
- 23800.818 22799.18 23819.557]]
+ [[24600.527 25204.928 26325.549 25631.633 27576.47 25970.355 27077.135
+ 27908.26 25809.383 24731.082]]
diff --git a/docs/_sources/get_started/tutorials/sg_execution_times.rst b/docs/_sources/get_started/tutorials/sg_execution_times.rst
index 5ba8cf8e3bd..9bb7a57a5ea 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:06.425** total execution time for 2 files **from get_started/tutorials**:
+**00:06.439** total execution time for 2 files **from get_started/tutorials**:
.. container::
@@ -33,8 +33,8 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
- - 00:06.229
+ - 00:06.245
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
- - 00:00.196
+ - 00:00.194
- 0.0
diff --git a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst
index f8108dffb0b..2d8612506f5 100644
--- a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst
+++ b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst
@@ -275,7 +275,7 @@ device and returns the measured cost. Network overhead is excluded.
.. code-block:: none
- 1.06e-07 secs/op
+ 1.12e-07 secs/op
@@ -864,8 +864,8 @@ This workflow is applicable to various deployment scenarios:
Converted PyTorch model to Relax:
- Number of parameters: 4
Using local target for demonstration
- Exported library to: /tmp/tmpkj3v8ag2/model_deployed.so
- Saved parameters to: /tmp/tmpkj3v8ag2/model_params.npz
+ Exported library to: /tmp/tmp96moh726/model_deployed.so
+ Saved parameters to: /tmp/tmp96moh726/model_params.npz
RPC workflow (works for any remote device):
==================================================
diff --git a/docs/_sources/how_to/tutorials/e2e_opt_model.rst b/docs/_sources/how_to/tutorials/e2e_opt_model.rst
index b306d320b7f..31239f4552f 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst
@@ -54,7 +54,7 @@ PyTorch.
.. code-block:: none
Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
- 0%| | 0.00/44.7M [00:00<?, ?B/s] 66%|██████▌ | 29.4M/44.7M [00:00<00:00, 307MB/s] 100%|██████████| 44.7M/44.7M [00:00<00:00, 335MB/s]
+ 0%| | 0.00/44.7M [00:00<?, ?B/s] 63%|██████▎ | 28.2M/44.7M [00:00<00:00, 295MB/s] 100%|██████████| 44.7M/44.7M [00:00<00:00, 323MB/s]
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst b/docs/_sources/how_to/tutorials/sg_execution_times.rst
index 34aece68dd9..0d7e5f070a4 100644
--- a/docs/_sources/how_to/tutorials/sg_execution_times.rst
+++ b/docs/_sources/how_to/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:18.204** total execution time for 8 files **from how_to/tutorials**:
+**00:18.307** total execution time for 8 files **from how_to/tutorials**:
.. container::
@@ -33,16 +33,16 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
- - 00:12.836
+ - 00:12.917
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``import_model.py``)
- - 00:03.677
+ - 00:03.658
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
- - 00:00.696
+ - 00:00.742
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
- - 00:00.584
+ - 00:00.580
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
- 00:00.360
diff --git a/docs/_sources/sg_execution_times.rst b/docs/_sources/sg_execution_times.rst
index 050d3a584e1..52962b4f269 100644
--- a/docs/_sources/sg_execution_times.rst
+++ b/docs/_sources/sg_execution_times.rst
@@ -6,7 +6,7 @@
Computation times
=================
-**00:25.848** total execution time for 16 files **from all galleries**:
+**00:25.966** total execution time for 16 files **from all galleries**:
.. container::
@@ -33,22 +33,22 @@ Computation times
- Time
- Mem (MB)
* - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
- - 00:12.836
+ - 00:12.917
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
- - 00:06.229
+ - 00:06.245
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``../how_to/tutorials/import_model.py``)
- - 00:03.677
+ - 00:03.658
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
- - 00:00.696
+ - 00:00.742
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
- - 00:00.584
+ - 00:00.580
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``../deep_dive/tensor_ir/tutorials/dlight_gpu_scheduling.py``)
- - 00:00.527
+ - 00:00.525
- 0.0
* - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
- 00:00.360
@@ -57,13 +57,13 @@ Computation times
- 00:00.317
- 0.0
* - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
- - 00:00.196
+ - 00:00.194
- 0.0
* - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
- 00:00.163
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
- - 00:00.108
+ - 00:00.110
- 0.0
* - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
- 00:00.094
diff --git a/docs/commit_hash b/docs/commit_hash
index 82c40975164..eac42c638ac 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-9cb42a65bbe0cfda5a6a239ecd3e9362a694bf96
+a771de82bdc9517ca4596727dcf0c4c15cacab31
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index 14eb8318f83..5378e60c693 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
<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.202</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.204</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" />
@@ -656,7 +656,7 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="relax_creation.html#sphx-glr-deep-dive-relax-tutorials-relax-creation-py"><span class="std std-ref">Relax Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_creation.py</span></code>)</p></td>
-<td><p>00:00.108</p></td>
+<td><p>00:00.110</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="relax_transformation.html#sphx-glr-deep-dive-relax-tutorials-relax-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_transformation.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
index 5d24eb94fa1..99bc5d24d13 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
<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:01.018</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:01.016</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -656,7 +656,7 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="dlight_gpu_scheduling.html#sphx-glr-deep-dive-tensor-ir-tutorials-dlight-gpu-scheduling-py"><span class="std std-ref">DLight: Rule-Based GPU Scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">dlight_gpu_scheduling.py</span></code>)</p></td>
-<td><p>00:00.527</p></td>
+<td><p>00:00.525</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
index e50a1026fef..149d5965664 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -722,7 +722,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.7511 2.7511 2.7511 2.7511 0.0000
+ 2.8001 2.8001 2.8001 2.8001 0.0000
</pre></div>
</div>
<section id="initialization-schedule">
@@ -838,7 +838,7 @@ class Module:
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.8650 0.8650 0.8650 0.8650 0.0000
+ 0.8641 0.8641 0.8641 0.8641 0.0000
</pre></div>
</div>
</section>
@@ -946,7 +946,7 @@ class Module:
Execution time summary:
mean (ms) median (ms) max (ms) min (ms) std (ms)
- 0.3407 0.3407 0.3407 0.3407 0.0000
+ 0.3458 0.3458 0.3458 0.3458 0.0000
</pre></div>
</div>
</section>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index 5120dafcfe1..b7676f42b95 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -1229,8 +1229,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.02782571 0.06871742 -0.14305604 -0.13322863 0.06012666 -0.38424698
- -0.14864197 0.1479792 0.13964576 0.06794096]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.00357894 0.2658207 0.24639472 -0.06688645 0.02960331 -0.05783635
+ 0.0499729 -0.10098697 -0.10774945 0.2254335 ]]
</pre></div>
</div>
</section>
@@ -1264,8 +1264,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.02782573 0.06871741 -0.14305604 -0.13322863 0.06012668 -0.38424695
- -0.148642 0.14797917 0.13964579 0.06794098]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.00357897 0.26582077 0.24639475 -0.06688644 0.02960333 -0.05783634
+ 0.0499729 -0.10098694 -0.10774944 0.22543347]]
</pre></div>
</div>
</section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index f28eedf6745..6f332d3049d 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -804,8 +804,8 @@ different devices.</p>
<span class="nb">print</span><span class="p">(</span><span class="n">vm</span><span class="p">[</span><span class="s2">"forward"</span><span class="p">](</span><span class="n">tvm_data</span><span class="p">,</span> <span class="o">*</span><a href="https://docs.python.org/3/builtins/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a><span class="p">)</span>< [...]
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[23073.555 24813.398 24976.969 25056.13 23267.756 23417.236 23040.873
- 23800.818 22799.18 23819.557]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24600.527 25204.928 26325.549 25631.633 27576.47 25970.355 27077.135
+ 27908.26 25809.383 24731.082]]
</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 778c1f4647f..b4e74fec685 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
<section id="computation-times">
<span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading">#</a></h1>
-<p><strong>00:06.425</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:06.439</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" />
@@ -656,11 +656,11 @@ $(document).ready( function () {
</thead>
<tbody>
<tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:06.229</p></td>
+<td><p>00:06.245</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.194</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 c89925aa261..3af43716ca6 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -833,7 +833,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
<span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">"</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op"</span><span class="p">)</span>
</pre></div>
</div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.06e-07 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>1.12e-07 secs/op
</pre></div>
</div>
</section>
@@ -1362,8 +1362,8 @@ for ONNX models. Simply replace <code class="docutils literal notranslate"><span
Converted PyTorch model to Relax:
- Number of parameters: 4
Using local target for demonstration
-Exported library to: /tmp/tmpkj3v8ag2/model_deployed.so
-Saved parameters to: /tmp/tmpkj3v8ag2/model_params.npz
+Exported library to: /tmp/tmp96moh726/model_deployed.so
+Saved parameters to: /tmp/tmp96moh726/model_params.npz
RPC workflow (works for any remote device):
==================================================
diff --git a/docs/how_to/tutorials/e2e_opt_model.html b/docs/how_to/tutorials/e2e_opt_model.html
index 3ecb8b54b25..4f70399ca95 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -674,8 +674,8 @@ PyTorch.</p>
<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
0%| | 0.00/44.7M [00:00<?, ?B/s]
- 66%|██████▌ | 29.4M/44.7M [00:00<00:00, 307MB/s]
-100%|██████████| 44.7M/44.7M [00:00<00:00, 335MB/s]
+ 63%|██████▎ | 28.2M/44.7M [00:00<00:00, 295MB/s]
+100%|██████████| 44.7M/44.7M [00:00<00:00, 323MB/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 e8569f9a79a..7b2072bff2c 100644
--- a/docs/how_to/tutorials/sg_execution_times.html
+++ b/docs/how_to/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
<section id="computation-times">
<span id="sphx-glr-how-to-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading">#</a></h1>
-<p><strong>00:18.204</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>00:18.307</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
<div class="docutils container">
<style scoped>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -656,19 +656,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:12.836</p></td>
+<td><p>00:12.917</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-odd"><td><p><a class="reference internal" href="import_model.html#sphx-glr-how-to-tutorials-import-model-py"><span class="std std-ref">Importing Models from ML Frameworks</span></a> (<code class="docutils literal notranslate"><span class="pre">import_model.py</span></code>)</p></td>
-<td><p>00:03.677</p></td>
+<td><p>00:03.658</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.696</p></td>
+<td><p>00:00.742</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.584</p></td>
+<td><p>00:00.580</p></td>
<td><p>0.0</p></td>
</tr>
<tr class="row-even"><td><p><a class="reference internal" href="customize_opt.html#sphx-glr-how-to-tutorials-customize-opt-py"><span class="std std-ref">Customize Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">customize_opt.py</span></code>)</p></td>
diff --git a/docs/reference/api/doxygen/classtvm_1_1ExprNode.html b/docs/reference/api/doxygen/classtvm_1_1ExprNode.html
index 3e7484e2440..bc62ee176c0 100644
--- a/docs/reference/api/doxygen/classtvm_1_1ExprNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1ExprNode.html
@@ -90,7 +90,7 @@ $(function() {
<div class="dynheader">
Inheritance diagram for tvm::ExprNode:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1ExprNode__inherit__graph.svg" width="11686" height="920"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1ExprNode__inherit__graph.svg" width="11802" height="920"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Collaboration diagram for tvm::ExprNode:</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1ExprNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1ExprNode__inherit__graph.svg
index 74f714090f8..639911c3be0 100644
--- a/docs/reference/api/doxygen/classtvm_1_1ExprNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1ExprNode__inherit__graph.svg
@@ -4,33 +4,33 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::ExprNode Pages: 1 -->
-<svg width="8764pt" height="690pt"
- viewBox="0.00 0.00 8763.50 690.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="8851pt" height="690pt"
+ viewBox="0.00 0.00 8850.50 690.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 686)">
<title>tvm::ExprNode</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Base type of all the expressions.">
-<polygon fill="#999999" stroke="transparent" points="4618.5,-597 4462.5,-597 4462.5,-477 4618.5,-477 4618.5,-597"/>
-<text text-anchor="start" x="4504" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ExprNode</text>
-<text text-anchor="start" x="4466.5" y="-570" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="4479.5" y="-570" font-family="Helvetica,sans-Serif" font-size="10.00">span</text>
-<text text-anchor="start" x="4466.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="4479.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">ty</text>
-<text text-anchor="start" x="4466.5" y="-540" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="4479.5" y="-540" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
-<text text-anchor="start" x="4466.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="4479.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">_type_child_slots</text>
-<text text-anchor="start" x="4466.5" y="-510" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="4479.5" y="-510" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="4479.5" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4466.5" y="-484" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="4479.5" y="-484" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="4462.5,-580 4462.5,-580 4618.5,-580 4618.5,-580 4462.5,-580"/>
-<polygon fill="#666666" stroke="#666666" points="4462.5,-520 4462.5,-520 4477.5,-520 4477.5,-520 4462.5,-520"/>
-<polygon fill="#666666" stroke="#666666" points="4477.5,-520 4477.5,-520 4618.5,-520 4618.5,-520 4477.5,-520"/>
-<polygon fill="none" stroke="#666666" points="4462.5,-477 4462.5,-597 4618.5,-597 4618.5,-477 4462.5,-477"/>
+<polygon fill="#999999" stroke="transparent" points="4705.5,-597 4549.5,-597 4549.5,-477 4705.5,-477 4705.5,-597"/>
+<text text-anchor="start" x="4591" y="-585" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ExprNode</text>
+<text text-anchor="start" x="4553.5" y="-570" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="4566.5" y="-570" font-family="Helvetica,sans-Serif" font-size="10.00">span</text>
+<text text-anchor="start" x="4553.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="4566.5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">ty</text>
+<text text-anchor="start" x="4553.5" y="-540" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="4566.5" y="-540" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
+<text text-anchor="start" x="4553.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="4566.5" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">_type_child_slots</text>
+<text text-anchor="start" x="4553.5" y="-510" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="4566.5" y="-510" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="4566.5" y="-499" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4553.5" y="-484" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="4566.5" y="-484" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="4549.5,-580 4549.5,-580 4705.5,-580 4705.5,-580 4549.5,-580"/>
+<polygon fill="#666666" stroke="#666666" points="4549.5,-520 4549.5,-520 4564.5,-520 4564.5,-520 4549.5,-520"/>
+<polygon fill="#666666" stroke="#666666" points="4564.5,-520 4564.5,-520 4705.5,-520 4705.5,-520 4564.5,-520"/>
+<polygon fill="none" stroke="#666666" points="4549.5,-477 4549.5,-597 4705.5,-597 4705.5,-477 4549.5,-477"/>
</a>
</g>
</g>
@@ -69,8 +69,8 @@
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1->Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.08,-536.08C3851.43,-536.41 387.72,-534.23 187.5,-441 171.38,-433.49 156.83,-421.93 144.17,-409.05"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.41,-539.58 4462.41,-536.08 4452.4,-532.58 4452.41,-539.58"/>
+<path fill="none" stroke="#63b8ff" d="M4539.23,-536.12C3932.04,-536.73 391.96,-536.15 187.5,-441 171.38,-433.5 156.83,-421.94 144.17,-409.06"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.23,-539.62 4549.23,-536.11 4539.23,-532.62 4539.23,-539.62"/>
</a>
</g>
</g>
@@ -109,8 +109,8 @@
<g id="edge4_Node000001_Node000005" class="edge">
<title>Node1->Node5</title>
<g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.39,-535.99C3868.56,-535.67 575.21,-529.92 384.5,-441 368.38,-433.49 353.84,-421.92 341.18,-409.04"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.43,-539.49 4462.43,-535.99 4452.43,-532.49 4452.43,-539.49"/>
+<path fill="none" stroke="#63b8ff" d="M4538.97,-536.03C3946.87,-536 579.38,-531.81 384.5,-441 368.38,-433.49 353.83,-421.93 341.18,-409.04"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.15,-539.53 4549.15,-536.03 4539.15,-532.53 4539.15,-539.53"/>
</a>
</g>
</g>
@@ -149,8 +149,8 @@
<g id="edge6_Node000001_Node000007" class="edge">
<title>Node1->Node7</title>
<g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.1,-535.88C3883.84,-534.89 762.65,-525.59 581.5,-441 565.39,-433.48 550.84,-421.91 538.19,-409.02"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.27,-539.38 4462.28,-535.9 4452.29,-532.38 4452.27,-539.38"/>
+<path fill="none" stroke="#63b8ff" d="M4539.01,-535.93C3963.24,-535.24 766.85,-527.49 581.5,-441 565.39,-433.48 550.84,-421.91 538.18,-409.03"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.32,-539.43 4549.32,-535.94 4539.33,-532.43 4539.32,-539.43"/>
</a>
</g>
</g>
@@ -189,8 +189,8 @@
<g id="edge8_Node000001_Node000009" class="edge">
<title>Node1->Node9</title>
<g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.16,-535.77C3900.82,-534.08 950.13,-521.28 778.5,-441 762.39,-433.47 747.85,-421.89 735.2,-409.01"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.42,-539.27 4462.43,-535.8 4452.44,-532.27 4452.42,-539.27"/>
+<path fill="none" stroke="#63b8ff" d="M4539.33,-535.82C3980.99,-534.44 954.36,-523.19 778.5,-441 762.39,-433.47 747.85,-421.9 735.19,-409.01"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.33,-539.32 4549.34,-535.85 4539.35,-532.32 4539.33,-539.32"/>
</a>
</g>
</g>
@@ -229,8 +229,8 @@
<g id="edge10_Node000001_Node000011" class="edge">
<title>Node1->Node11</title>
<g id="a_edge10_Node000001_Node000011"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.15,-535.64C3917.99,-533.21 1137.62,-516.97 975.5,-441 959.51,-433.51 945.07,-422.04 932.48,-409.27"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.47,-539.14 4462.48,-535.69 4452.5,-532.14 4452.47,-539.14"/>
+<path fill="none" stroke="#63b8ff" d="M4539.14,-535.7C3997.33,-533.6 1141.82,-518.87 975.5,-441 959.51,-433.51 945.06,-422.05 932.47,-409.28"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.23,-539.2 4549.24,-535.74 4539.26,-532.2 4539.23,-539.2"/>
</a>
</g>
</g>
@@ -269,8 +269,8 @@
<g id="edge12_Node000001_Node000013" class="edge">
<title>Node1->Node13</title>
<g id="a_edge12_Node000001_Node000013"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.12,-535.5C3935.61,-532.3 1325.13,-512.66 1172.5,-441 1156.52,-433.5 1142.08,-422.03 1129.49,-409.25"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.47,-539 4462.49,-535.56 4452.51,-532 4452.47,-539"/>
+<path fill="none" stroke="#63b8ff" d="M4539.35,-535.56C4015.52,-532.72 1329.34,-514.57 1172.5,-441 1156.52,-433.5 1142.07,-422.03 1129.48,-409.26"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.48,-539.06 4549.49,-535.62 4539.51,-532.06 4539.48,-539.06"/>
</a>
</g>
</g>
@@ -309,8 +309,8 @@
<g id="edge14_Node000001_Node000015" class="edge">
<title>Node1->Node15</title>
<g id="a_edge14_Node000001_Node000015"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.11,-535.33C3953.81,-531.34 1512.65,-508.36 1369.5,-441 1353.53,-433.48 1339.08,-422.01 1326.5,-409.23"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.1,-538.83 4462.12,-535.41 4452.15,-531.84 4452.1,-538.83"/>
+<path fill="none" stroke="#63b8ff" d="M4539.16,-535.41C4032.85,-531.77 1516.83,-510.26 1369.5,-441 1353.52,-433.49 1339.08,-422.01 1326.49,-409.24"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.3,-538.91 4549.33,-535.48 4539.35,-531.91 4539.3,-538.91"/>
</a>
</g>
</g>
@@ -349,8 +349,8 @@
<g id="edge16_Node000001_Node000017" class="edge">
<title>Node1->Node17</title>
<g id="a_edge16_Node000001_Node000017"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4451.9,-535.15C3971.96,-530.3 1700.16,-504.06 1566.5,-441 1550.53,-433.47 1536.1,-421.98 1523.51,-409.2"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.2,-538.65 4462.23,-535.25 4452.27,-531.65 4452.2,-538.65"/>
+<path fill="none" stroke="#63b8ff" d="M4539.07,-535.24C4051.1,-530.77 1704.35,-505.96 1566.5,-441 1550.53,-433.47 1536.09,-421.99 1523.51,-409.21"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.19,-538.74 4549.22,-535.33 4539.25,-531.74 4539.19,-538.74"/>
</a>
</g>
</g>
@@ -389,8 +389,8 @@
<g id="edge18_Node000001_Node000019" class="edge">
<title>Node1->Node19</title>
<g id="a_edge18_Node000001_Node000019"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.26,-534.95C3992.5,-529.21 1887.75,-499.79 1763.5,-441 1747.54,-433.45 1733.11,-421.96 1720.52,-409.17"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.44,-538.45 4462.49,-535.07 4452.53,-531.45 4452.44,-538.45"/>
+<path fill="none" stroke="#63b8ff" d="M4539.15,-535.04C4070.5,-529.7 1891.91,-501.68 1763.5,-441 1747.54,-433.46 1733.1,-421.97 1720.52,-409.18"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.2,-538.54 4549.24,-535.15 4539.28,-531.54 4539.2,-538.54"/>
</a>
</g>
</g>
@@ -429,8 +429,8 @@
<g id="edge20_Node000001_Node000021" class="edge">
<title>Node1->Node21</title>
<g id="a_edge20_Node000001_Node000021"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.16,-534.7C4012.35,-528.01 2075.31,-495.51 1960.5,-441 1944.55,-433.43 1930.12,-421.93 1917.54,-409.14"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.22,-538.21 4462.27,-534.86 4452.33,-531.21 4452.22,-538.21"/>
+<path fill="none" stroke="#63b8ff" d="M4539.15,-534.81C4090.32,-528.55 2079.47,-497.4 1960.5,-441 1944.55,-433.44 1930.12,-421.94 1917.53,-409.15"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.41,-538.32 4549.46,-534.96 4539.51,-531.32 4539.41,-538.32"/>
</a>
</g>
</g>
@@ -469,8 +469,8 @@
<g id="edge22_Node000001_Node000023" class="edge">
<title>Node1->Node23</title>
<g id="a_edge22_Node000001_Node000023"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.19,-534.43C4033.36,-526.71 2262.9,-491.24 2157.5,-441 2141.56,-433.4 2127.14,-421.89 2114.56,-409.1"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.36,-537.93 4462.42,-534.61 4452.49,-530.93 4452.36,-537.93"/>
+<path fill="none" stroke="#63b8ff" d="M4539.13,-534.55C4110.83,-527.3 2267.05,-493.12 2157.5,-441 2141.56,-433.42 2127.13,-421.91 2114.55,-409.12"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.22,-538.06 4549.28,-534.73 4539.34,-531.06 4539.22,-538.06"/>
</a>
</g>
</g>
@@ -509,8 +509,8 @@
<g id="edge24_Node000001_Node000025" class="edge">
<title>Node1->Node25</title>
<g id="a_edge24_Node000001_Node000025"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.18,-536.23C4067.11,-536.68 2545.8,-532.6 2354.5,-441 2338.58,-433.38 2324.16,-421.85 2311.58,-409.05"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.43,-539.73 4462.42,-536.22 4452.42,-532.73 4452.43,-539.73"/>
+<path fill="none" stroke="#63b8ff" d="M4539.26,-536.39C4144.85,-537.57 2554.08,-536.37 2354.5,-441 2338.57,-433.39 2324.15,-421.87 2311.57,-409.07"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.48,-539.89 4549.47,-536.36 4539.46,-532.89 4539.48,-539.89"/>
</a>
</g>
</g>
@@ -549,8 +549,8 @@
<g id="edge26_Node000001_Node000027" class="edge">
<title>Node1->Node27</title>
<g id="a_edge26_Node000001_Node000027"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.16,-535.82C4089.25,-534.52 2724.12,-524.12 2551.5,-441 2535.71,-433.4 2521.39,-421.97 2508.88,-409.28"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.33,-539.32 4462.34,-535.85 4452.35,-532.32 4452.33,-539.32"/>
+<path fill="none" stroke="#63b8ff" d="M4539.03,-536.01C4166,-535.5 2732.34,-527.85 2551.5,-441 2535.59,-433.36 2521.17,-421.82 2508.6,-409.02"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.23,-539.51 4549.23,-536.02 4539.24,-532.51 4539.23,-539.51"/>
</a>
</g>
</g>
@@ -589,8 +589,8 @@
<g id="edge28_Node000001_Node000029" class="edge">
<title>Node1->Node29</title>
<g id="a_edge28_Node000001_Node000029"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.28,-535.32C4112.86,-532.15 2902.54,-515.67 2748.5,-441 2732.73,-433.36 2718.42,-421.91 2705.92,-409.21"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.27,-538.82 4462.3,-535.41 4452.33,-531.82 4452.27,-538.82"/>
+<path fill="none" stroke="#63b8ff" d="M4539.42,-535.55C4189.77,-533.23 2910.77,-519.41 2748.5,-441 2732.72,-433.38 2718.41,-421.93 2705.9,-409.24"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.47,-539.05 4549.49,-535.62 4539.52,-532.05 4539.47,-539.05"/>
</a>
</g>
</g>
@@ -629,8 +629,8 @@
<g id="edge30_Node000001_Node000031" class="edge">
<title>Node1->Node31</title>
<g id="a_edge30_Node000001_Node000031"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4451.91,-534.69C4136.67,-529.48 3080.96,-507.21 2945.5,-441 2929.76,-433.3 2915.46,-421.83 2902.96,-409.13"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.31,-538.19 4462.36,-534.86 4452.42,-531.2 4452.31,-538.19"/>
+<path fill="none" stroke="#63b8ff" d="M4539.06,-534.98C4212.93,-530.7 3089.15,-510.94 2945.5,-441 2929.74,-433.33 2915.44,-421.87 2902.94,-409.17"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.35,-538.49 4549.4,-535.12 4539.44,-531.49 4539.35,-538.49"/>
</a>
</g>
</g>
@@ -669,8 +669,8 @@
<g id="edge32_Node000001_Node000033" class="edge">
<title>Node1->Node33</title>
<g id="a_edge32_Node000001_Node000033"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.24,-533.9C4163.62,-526.48 3259.57,-498.83 3142.5,-441 3126.79,-433.24 3112.51,-421.73 3100.01,-409.02"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.16,-537.39 4462.25,-534.15 4452.34,-530.4 4452.16,-537.39"/>
+<path fill="none" stroke="#63b8ff" d="M4538.98,-534.27C4238.27,-527.85 3267.66,-502.52 3142.5,-441 3126.77,-433.27 3112.49,-421.78 3099.98,-409.07"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.32,-537.78 4549.39,-534.49 4539.47,-530.78 4539.32,-537.78"/>
</a>
</g>
</g>
@@ -709,8 +709,8 @@
<g id="edge34_Node000001_Node000035" class="edge">
<title>Node1->Node35</title>
<g id="a_edge34_Node000001_Node000035"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.02,-532.83C4191.34,-522.96 3438.23,-490.45 3339.5,-441 3323.95,-433.21 3309.78,-421.78 3297.35,-409.16"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.08,-536.34 4462.21,-533.21 4452.34,-529.34 4452.08,-536.34"/>
+<path fill="none" stroke="#63b8ff" d="M4538.83,-533.33C4265.25,-524.57 3446.28,-494.13 3339.5,-441 3323.93,-433.25 3309.75,-421.84 3297.32,-409.23"/>
+<polygon fill="none" stroke="#63b8ff" points="4539,-536.84 4549.11,-533.66 4539.23,-529.84 4539,-536.84"/>
</a>
</g>
</g>
@@ -749,8 +749,8 @@
<g id="edge36_Node000001_Node000037" class="edge">
<title>Node1->Node37</title>
<g id="a_edge36_Node000001_Node000037"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.07,-535.88C4237.54,-534.29 3695.39,-522.12 3536.5,-441 3521.12,-433.15 3507.08,-421.77 3494.73,-409.25"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.32,-539.38 4462.35,-535.95 4452.37,-532.38 4452.32,-539.38"/>
+<path fill="none" stroke="#63b8ff" d="M4539.17,-536.66C4311.69,-537.05 3711.32,-529.43 3536.5,-441 3520.98,-433.15 3506.83,-421.68 3494.4,-409.06"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.4,-540.16 4549.4,-536.64 4539.39,-533.16 4539.4,-540.16"/>
</a>
</g>
</g>
@@ -789,8 +789,8 @@
<g id="edge38_Node000001_Node000039" class="edge">
<title>Node1->Node39</title>
<g id="a_edge38_Node000001_Node000039"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.36,-533.52C4269.74,-527.12 3856.78,-505.72 3733.5,-441 3718.33,-433.03 3704.42,-421.68 3692.15,-409.24"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.36,-537.02 4462.47,-533.87 4452.6,-530.02 4452.36,-537.02"/>
+<path fill="none" stroke="#63b8ff" d="M4539.3,-534.69C4342.2,-530.47 3872.46,-512.96 3733.5,-441 3718.17,-433.06 3704.15,-421.64 3691.8,-409.1"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.26,-538.19 4549.33,-534.89 4539.4,-531.19 4539.26,-538.19"/>
</a>
</g>
</g>
@@ -829,8 +829,8 @@
<g id="edge40_Node000001_Node000041" class="edge">
<title>Node1->Node41</title>
<g id="a_edge40_Node000001_Node000041"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4451.94,-529.56C4305.31,-517.69 4019.55,-489.07 3931.5,-441 3916.5,-432.81 3902.66,-421.44 3890.37,-409.06"/>
-<polygon fill="none" stroke="#63b8ff" points="4452,-533.08 4462.25,-530.39 4452.56,-526.1 4452,-533.08"/>
+<path fill="none" stroke="#63b8ff" d="M4539.31,-531.56C4376.31,-522.12 4035.04,-496.25 3931.5,-441 3916.31,-432.9 3902.33,-421.48 3889.96,-409.01"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.13,-535.06 4549.31,-532.13 4539.53,-528.07 4539.13,-535.06"/>
</a>
</g>
</g>
@@ -868,8 +868,8 @@
<g id="edge42_Node000001_Node000043" class="edge">
<title>Node1->Node43</title>
<g id="a_edge42_Node000001_Node000043"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.03,-534.05C4359.15,-528.24 4212.08,-508.06 4105.5,-441 4090.12,-431.32 4076.36,-417.93 4064.58,-403.76"/>
-<polygon fill="none" stroke="#63b8ff" points="4452.05,-537.56 4462.24,-534.65 4452.46,-530.57 4452.05,-537.56"/>
+<path fill="none" stroke="#63b8ff" d="M4539.21,-527.59C4410.04,-514.01 4177.1,-484.32 4105.5,-441 4089.74,-431.47 4075.75,-417.95 4063.85,-403.6"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.17,-531.1 4549.47,-528.65 4539.89,-524.14 4539.17,-531.1"/>
</a>
</g>
</g>
@@ -907,8 +907,8 @@
<g id="edge46_Node000001_Node000047" class="edge">
<title>Node1->Node47</title>
<g id="a_edge46_Node000001_Node000047"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4452.39,-517.08C4398.8,-502.53 4331,-478.44 4279.5,-441 4265.3,-430.68 4252.25,-417.42 4240.81,-403.68"/>
-<polygon fill="none" stroke="#63b8ff" points="4451.66,-520.51 4462.23,-519.69 4453.46,-513.74 4451.66,-520.51"/>
+<path fill="none" stroke="#63b8ff" d="M4539.12,-527.54C4464.67,-516.94 4358.04,-493.29 4279.5,-441 4264.58,-431.07 4251.09,-417.73 4239.44,-403.74"/>
+<polygon fill="none" stroke="#63b8ff" points="4539.03,-531.06 4549.41,-528.95 4539.98,-524.13 4539.03,-531.06"/>
</a>
</g>
</g>
@@ -936,8 +936,8 @@
<g id="edge47_Node000001_Node000048" class="edge">
<title>Node1->Node48</title>
<g id="a_edge47_Node000001_Node000048"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4478.25,-469.35C4469.82,-459.94 4461.36,-450.3 4453.5,-441 4432.89,-416.63 4410.77,-388.26 4394,-366.23"/>
-<polygon fill="none" stroke="#63b8ff" points="4475.71,-471.76 4485.01,-476.84 4480.91,-467.07 4475.71,-471.76"/>
+<path fill="none" stroke="#63b8ff" d="M4540.15,-497.21C4510.95,-482 4479.3,-462.9 4453.5,-441 4428.14,-419.47 4405.25,-389.49 4389.32,-366.04"/>
+<polygon fill="none" stroke="#63b8ff" points="4538.63,-500.36 4549.12,-501.8 4541.82,-494.13 4538.63,-500.36"/>
</a>
</g>
</g>
@@ -971,8 +971,8 @@
<g id="edge53_Node000001_Node000054" class="edge">
<title>Node1->Node54</title>
<g id="a_edge53_Node000001_Node000054"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4540.5,-466.57C4540.5,-441.3 4540.5,-412.99 4540.5,-388.68"/>
-<polygon fill="none" stroke="#63b8ff" points="4537,-466.83 4540.5,-476.83 4544,-466.83 4537,-466.83"/>
+<path fill="none" stroke="#63b8ff" d="M4598.67,-467.58C4587.92,-442.05 4575.81,-413.31 4565.43,-388.68"/>
+<polygon fill="none" stroke="#63b8ff" points="4595.46,-468.97 4602.57,-476.83 4601.91,-466.25 4595.46,-468.97"/>
</a>
</g>
</g>
@@ -1020,8 +1020,8 @@
<g id="edge54_Node000001_Node000055" class="edge">
<title>Node1->Node55</title>
<g id="a_edge54_Node000001_Node000055"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4602.75,-469.35C4611.18,-459.94 4619.64,-450.3 4627.5,-441 4630.43,-437.53 4633.4,-433.98 4636.37,-430.38"/>
-<polygon fill="none" stroke="#63b8ff" points="4600.09,-467.07 4595.99,-476.84 4605.29,-471.76 4600.09,-467.07"/>
+<path fill="none" stroke="#63b8ff" d="M4656.38,-467.46C4659.93,-459.02 4663.64,-450.23 4667.38,-441.35"/>
+<polygon fill="none" stroke="#63b8ff" points="4653.09,-466.25 4652.43,-476.83 4659.54,-468.97 4653.09,-466.25"/>
</a>
</g>
</g>
@@ -1049,8 +1049,8 @@
<g id="edge55_Node000001_Node000056" class="edge">
<title>Node1->Node56</title>
<g id="a_edge55_Node000001_Node000056"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.61,-517.08C4682.2,-502.53 4750,-478.44 4801.5,-441 4828.91,-421.08 4852.05,-390.23 4867.56,-366.03"/>
-<polygon fill="none" stroke="#63b8ff" points="4627.54,-513.74 4618.77,-519.69 4629.34,-520.51 4627.54,-513.74"/>
+<path fill="none" stroke="#63b8ff" d="M4714.85,-497.21C4744.05,-482 4775.7,-462.9 4801.5,-441 4826.86,-419.47 4849.75,-389.49 4865.68,-366.04"/>
+<polygon fill="none" stroke="#63b8ff" points="4713.18,-494.13 4705.88,-501.8 4716.37,-500.36 4713.18,-494.13"/>
</a>
</g>
</g>
@@ -1084,8 +1084,8 @@
<g id="edge58_Node000001_Node000059" class="edge">
<title>Node1->Node59</title>
<g id="a_edge58_Node000001_Node000059"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.97,-534.05C4721.85,-528.24 4868.92,-508.06 4975.5,-441 4996.28,-427.92 5014.1,-408.05 5028.11,-388.68"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.54,-530.57 4618.76,-534.65 4628.95,-537.56 4628.54,-530.57"/>
+<path fill="none" stroke="#63b8ff" d="M4715.88,-527.54C4790.33,-516.94 4896.96,-493.29 4975.5,-441 4995.73,-427.53 5013.33,-407.8 5027.3,-388.67"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.02,-524.13 4705.59,-528.95 4715.97,-531.06 4715.02,-524.13"/>
</a>
</g>
</g>
@@ -1121,8 +1121,8 @@
<g id="edge59_Node000001_Node000060" class="edge">
<title>Node1->Node60</title>
<g id="a_edge59_Node000001_Node000060"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.11,-530.18C4776.15,-519.21 5062.96,-491.88 5149.5,-441 5168.23,-429.99 5184.41,-413.26 5197.56,-396.09"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.49,-526.71 4618.77,-530.94 4629,-533.69 4628.49,-526.71"/>
+<path fill="none" stroke="#63b8ff" d="M4715.79,-527.59C4844.96,-514.01 5077.9,-484.32 5149.5,-441 5167.99,-429.82 5184.04,-413.14 5197.16,-396.08"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.11,-524.14 4705.53,-528.65 4715.83,-531.1 4715.11,-524.14"/>
</a>
</g>
</g>
@@ -1156,8 +1156,8 @@
<g id="edge60_Node000001_Node000061" class="edge">
<title>Node1->Node61</title>
<g id="a_edge60_Node000001_Node000061"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.92,-533.71C4807.99,-527.73 5206.42,-507.18 5323.5,-441 5345.3,-428.68 5363.54,-408.47 5377.6,-388.62"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.63,-530.22 4618.75,-534.04 4628.86,-537.22 4628.63,-530.22"/>
+<path fill="none" stroke="#63b8ff" d="M4715.71,-532.18C4879.15,-523.77 5221.7,-499.55 5323.5,-441 5345.1,-428.58 5363.25,-408.48 5377.29,-388.74"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.49,-528.68 4705.68,-532.69 4715.84,-535.68 4715.49,-528.68"/>
</a>
</g>
</g>
@@ -1185,8 +1185,8 @@
<g id="edge61_Node000001_Node000062" class="edge">
<title>Node1->Node62</title>
<g id="a_edge61_Node000001_Node000062"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.77,-535.98C4836.41,-534.55 5349.38,-522.61 5497.5,-441 5528.04,-424.18 5551.47,-391.71 5566.28,-366.13"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.5,-532.48 4618.52,-536.04 4628.54,-539.48 4628.5,-532.48"/>
+<path fill="none" stroke="#63b8ff" d="M4715.71,-534.96C4909.34,-531.31 5364.92,-514.9 5497.5,-441 5527.95,-424.03 5551.39,-391.58 5566.23,-366.04"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.5,-531.46 4705.57,-535.14 4715.63,-538.46 4715.5,-531.46"/>
</a>
</g>
</g>
@@ -1221,8 +1221,8 @@
<g id="edge62_Node000001_Node000063" class="edge">
<title>Node1->Node63</title>
<g id="a_edge62_Node000001_Node000063"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.68,-532.65C4878.8,-522.57 5580.59,-490.2 5671.5,-441 5691.69,-430.07 5708.74,-412.26 5722.25,-394.04"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.4,-529.15 4618.54,-533.05 4628.68,-536.15 4628.4,-529.15"/>
+<path fill="none" stroke="#63b8ff" d="M4715.81,-536.83C4936.81,-537.52 5507.74,-530.35 5671.5,-441 5691.54,-430.06 5708.51,-412.36 5721.98,-394.24"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.57,-533.33 4705.55,-536.79 4715.54,-540.33 4715.57,-533.33"/>
</a>
</g>
</g>
@@ -1256,8 +1256,8 @@
<g id="edge64_Node000001_Node000065" class="edge">
<title>Node1->Node65</title>
<g id="a_edge64_Node000001_Node000065"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.03,-533.7C4905.18,-525.94 5738.73,-498.01 5845.5,-441 5867.81,-429.09 5886.25,-408.71 5900.32,-388.61"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.56,-530.21 4618.66,-533.99 4628.75,-537.21 4628.56,-530.21"/>
+<path fill="none" stroke="#63b8ff" d="M4715.98,-533.2C4979.44,-524.31 5746.69,-494.09 5845.5,-441 5867.78,-429.03 5886.21,-408.64 5900.29,-388.55"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.57,-529.72 4705.69,-533.55 4715.8,-536.71 4715.57,-529.72"/>
</a>
</g>
</g>
@@ -1295,8 +1295,8 @@
<g id="edge65_Node000001_Node000066" class="edge">
<title>Node1->Node66</title>
<g id="a_edge65_Node000001_Node000066"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.16,-534.22C4929.21,-527.65 5894.77,-501.94 6019.5,-441 6037.53,-432.19 6053.71,-418.5 6067.52,-403.69"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.7,-530.73 4618.77,-534.44 4628.85,-537.72 4628.7,-530.73"/>
+<path fill="none" stroke="#63b8ff" d="M4716.29,-533.83C5004.64,-526.25 5902.92,-498.24 6019.5,-441 6037.51,-432.16 6053.69,-418.45 6067.49,-403.63"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.79,-530.34 4705.88,-534.1 4715.97,-537.34 4715.79,-530.34"/>
</a>
</g>
</g>
@@ -1328,8 +1328,8 @@
<g id="edge66_Node000001_Node000067" class="edge">
<title>Node1->Node67</title>
<g id="a_edge66_Node000001_Node000067"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.03,-535.21C4954.79,-531.72 6075.3,-514.44 6216.5,-441 6241.88,-427.8 6262.33,-403.67 6277.1,-381.22"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.66,-531.71 4618.7,-535.32 4628.74,-538.71 4628.66,-531.71"/>
+<path fill="none" stroke="#63b8ff" d="M4716.15,-534.91C5030.95,-530.47 6083.39,-510.5 6216.5,-441 6241.86,-427.76 6262.3,-403.63 6277.08,-381.19"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.66,-531.42 4705.71,-535.06 4715.75,-538.42 4715.66,-531.42"/>
</a>
</g>
</g>
@@ -1363,8 +1363,8 @@
<g id="edge67_Node000001_Node000068" class="edge">
<title>Node1->Node68</title>
<g id="a_edge67_Node000001_Node000068"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.82,-535.75C4975.81,-534.17 6234.22,-522.83 6391.5,-441 6414.04,-429.27 6432.58,-408.8 6446.66,-388.57"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.56,-532.25 4618.58,-535.79 4628.59,-539.25 4628.56,-532.25"/>
+<path fill="none" stroke="#63b8ff" d="M4715.86,-535.5C5052.37,-533.04 6242.31,-518.86 6391.5,-441 6414.03,-429.24 6432.56,-408.77 6446.65,-388.54"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.66,-532.01 4705.68,-535.58 4715.71,-539.01 4715.66,-532.01"/>
</a>
</g>
</g>
@@ -1396,8 +1396,8 @@
<g id="edge68_Node000001_Node000069" class="edge">
<title>Node1->Node69</title>
<g id="a_edge68_Node000001_Node000069"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.76,-536.17C4996.02,-536.29 6391.98,-530.79 6565.5,-441 6590.9,-427.85 6611.2,-403.58 6625.78,-381.03"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.72,-532.67 4618.72,-536.16 4628.72,-539.67 4628.72,-532.67"/>
+<path fill="none" stroke="#63b8ff" d="M4715.8,-535.97C5073.05,-535.26 6400.11,-526.81 6565.5,-441 6590.89,-427.83 6611.19,-403.55 6625.77,-381.01"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.76,-532.47 4705.77,-535.99 4715.77,-539.47 4715.76,-532.47"/>
</a>
</g>
</g>
@@ -1435,8 +1435,8 @@
<g id="edge69_Node000001_Node000070" class="edge">
<title>Node1->Node70</title>
<g id="a_edge69_Node000001_Node000070"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.73,-536.23C5015.04,-536.69 6546.72,-532.69 6739.5,-441 6757.73,-432.33 6774.05,-418.59 6787.92,-403.68"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.73,-532.73 4618.73,-536.22 4628.72,-539.73 4628.73,-532.73"/>
+<path fill="none" stroke="#63b8ff" d="M4715.63,-536.06C5092.15,-535.77 6554.97,-528.96 6739.5,-441 6757.73,-432.31 6774.04,-418.57 6787.91,-403.65"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.61,-532.56 4705.61,-536.07 4715.61,-539.56 4715.61,-532.56"/>
</a>
</g>
</g>
@@ -1472,8 +1472,8 @@
<g id="edge70_Node000001_Node000071" class="edge">
<title>Node1->Node71</title>
<g id="a_edge70_Node000001_Node000071"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629,-534.56C5049.76,-527.45 6831.86,-494.3 6936.5,-441 6956.5,-430.81 6973.4,-413.78 6986.87,-396.06"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.66,-531.07 4618.72,-534.73 4628.78,-538.06 4628.66,-531.07"/>
+<path fill="none" stroke="#63b8ff" d="M4715.82,-534.43C5126.75,-526.84 6835.94,-492.32 6936.5,-441 6956.49,-430.8 6973.39,-413.76 6986.86,-396.04"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.71,-530.93 4705.77,-534.61 4715.84,-537.93 4715.71,-530.93"/>
</a>
</g>
</g>
@@ -1505,8 +1505,8 @@
<g id="edge71_Node000001_Node000072" class="edge">
<title>Node1->Node72</title>
<g id="a_edge71_Node000001_Node000072"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.59,-534.83C5067.18,-528.72 6998.73,-498.65 7111.5,-441 7136.97,-427.98 7157.27,-403.72 7171.84,-381.14"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.46,-531.33 4618.51,-534.97 4628.56,-538.33 4628.46,-531.33"/>
+<path fill="none" stroke="#63b8ff" d="M4715.73,-534.71C5145.43,-528.14 7002.84,-496.63 7111.5,-441 7136.96,-427.96 7157.27,-403.7 7171.83,-381.13"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.49,-531.21 4705.54,-534.86 4715.6,-538.21 4715.49,-531.21"/>
</a>
</g>
</g>
@@ -1540,8 +1540,8 @@
<g id="edge72_Node000001_Node000073" class="edge">
<title>Node1->Node73</title>
<g id="a_edge72_Node000001_Node000073"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.91,-535.04C5085.97,-529.8 7164.55,-502.65 7285.5,-441 7308.14,-429.46 7326.7,-409.03 7340.77,-388.77"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.69,-531.54 4618.73,-535.15 4628.77,-538.54 4628.69,-531.54"/>
+<path fill="none" stroke="#63b8ff" d="M4715.98,-534.93C5164.34,-529.26 7168.66,-500.64 7285.5,-441 7308.13,-429.45 7326.69,-409.01 7340.76,-388.76"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.64,-531.44 4705.68,-535.06 4715.73,-538.44 4715.64,-531.44"/>
</a>
</g>
</g>
@@ -1577,8 +1577,8 @@
<g id="edge73_Node000001_Node000074" class="edge">
<title>Node1->Node74</title>
<g id="a_edge73_Node000001_Node000074"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.06,-535.23C5103.76,-530.81 7330.33,-506.67 7459.5,-441 7479.42,-430.87 7496.17,-413.86 7509.49,-396.13"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.81,-531.73 4618.84,-535.32 4628.87,-538.73 4628.81,-531.73"/>
+<path fill="none" stroke="#63b8ff" d="M4715.69,-535.14C5181.01,-530.33 7334.42,-504.68 7459.5,-441 7479.41,-430.86 7496.16,-413.84 7509.48,-396.12"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.63,-531.64 4705.66,-535.24 4715.7,-538.64 4715.63,-531.64"/>
</a>
</g>
</g>
@@ -1614,8 +1614,8 @@
<g id="edge74_Node000001_Node000075" class="edge">
<title>Node1->Node75</title>
<g id="a_edge74_Node000001_Node000075"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.72,-535.4C5119.48,-531.78 7496.06,-510.72 7633.5,-441 7653.43,-430.89 7670.18,-413.88 7683.5,-396.15"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.49,-531.9 4618.51,-535.47 4628.54,-538.9 4628.49,-531.9"/>
+<path fill="none" stroke="#63b8ff" d="M4715.58,-535.32C5197.69,-531.32 7500.17,-508.71 7633.5,-441 7653.42,-430.88 7670.17,-413.87 7683.49,-396.14"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.51,-531.82 4705.54,-535.4 4715.57,-538.82 4715.51,-531.82"/>
</a>
</g>
</g>
@@ -1645,8 +1645,8 @@
<g id="edge75_Node000001_Node000076" class="edge">
<title>Node1->Node76</title>
<g id="a_edge75_Node000001_Node000076"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.74,-535.55C5135.85,-532.69 7661.81,-514.76 7807.5,-441 7835.87,-426.64 7857.8,-398.27 7872.54,-373.75"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.53,-532.05 4618.55,-535.6 4628.57,-539.05 4628.53,-532.05"/>
+<path fill="none" stroke="#63b8ff" d="M4715.8,-535.47C5214.95,-532.24 7665.94,-512.73 7807.5,-441 7835.86,-426.63 7857.79,-398.26 7872.54,-373.74"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.75,-531.97 4705.77,-535.54 4715.79,-538.97 4715.75,-531.97"/>
</a>
</g>
</g>
@@ -1684,8 +1684,8 @@
<g id="edge76_Node000001_Node000077" class="edge">
<title>Node1->Node77</title>
<g id="a_edge76_Node000001_Node000077"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.77,-535.68C5151.87,-533.54 7827.55,-518.8 7981.5,-441 7998.59,-432.36 8013.35,-418.64 8025.6,-403.73"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.63,-532.18 4618.65,-535.72 4628.66,-539.18 4628.63,-532.18"/>
+<path fill="none" stroke="#63b8ff" d="M4715.99,-535.62C5231.7,-533.11 7831.7,-516.76 7981.5,-441 7998.59,-432.36 8013.34,-418.63 8025.59,-403.72"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.62,-532.12 4705.64,-535.67 4715.66,-539.12 4715.62,-532.12"/>
</a>
</g>
</g>
@@ -1723,8 +1723,8 @@
<g id="edge77_Node000001_Node000078" class="edge">
<title>Node1->Node78</title>
<g id="a_edge77_Node000001_Node000078"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4628.89,-535.81C5167.76,-534.35 7993.28,-522.84 8155.5,-441 8172.6,-432.37 8187.35,-418.65 8199.61,-403.74"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.83,-532.31 4618.84,-535.83 4628.85,-539.31 4628.83,-532.31"/>
+<path fill="none" stroke="#63b8ff" d="M4715.85,-535.75C5246.94,-533.95 7997.42,-520.82 8155.5,-441 8172.6,-432.37 8187.35,-418.65 8199.6,-403.74"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.57,-532.25 4705.58,-535.78 4715.59,-539.25 4715.57,-532.25"/>
</a>
</g>
</g>
@@ -1752,8 +1752,8 @@
<g id="edge78_Node000001_Node000079" class="edge">
<title>Node1->Node79</title>
<g id="a_edge78_Node000001_Node000079"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.09,-535.92C5183.63,-535.12 8159.02,-526.88 8329.5,-441 8360.86,-425.2 8384.33,-392.26 8398.94,-366.26"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.76,-532.42 4618.76,-535.93 4628.77,-539.42 4628.76,-532.42"/>
+<path fill="none" stroke="#63b8ff" d="M4715.81,-535.86C5262.09,-534.74 8163.13,-524.87 8329.5,-441 8360.85,-425.19 8384.32,-392.26 8398.94,-366.26"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.62,-532.36 4705.63,-535.88 4715.64,-539.36 4715.62,-532.36"/>
</a>
</g>
</g>
@@ -1779,8 +1779,47 @@
<g id="edge79_Node000001_Node000080" class="edge">
<title>Node1->Node80</title>
<g id="a_edge79_Node000001_Node000080"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4629.05,-536.02C5198.28,-535.87 8324.72,-530.94 8503.5,-441 8538.05,-423.62 8563.02,-385.42 8577.11,-358.6"/>
-<polygon fill="none" stroke="#63b8ff" points="4628.85,-532.52 4618.85,-536.02 4628.86,-539.52 4628.85,-532.52"/>
+<path fill="none" stroke="#63b8ff" d="M4715.9,-535.97C5277.38,-535.5 8328.85,-528.92 8503.5,-441 8538.04,-423.61 8563.01,-385.42 8577.11,-358.6"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.84,-532.47 4705.84,-535.98 4715.84,-539.47 4715.84,-532.47"/>
+</a>
+</g>
+</g>
+<!-- Node83 -->
+<g id="Node000083" class="node">
+<title>Node83</title>
+<g id="a_Node000083"><a xlink:href="classtvm_1_1tirx_1_1LambdaExprNode.html" target="_top" xlink:title="A reified Python lambda: a list of bound variables and a body over them.">
+<polygon fill="white" stroke="transparent" points="8842.5,-403.5 8686.5,-403.5 8686.5,-253.5 8842.5,-253.5 8842.5,-403.5"/>
+<text text-anchor="start" x="8697" y="-391.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExprNode</text>
+<text text-anchor="start" x="8690.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">vars</text>
+<text text-anchor="start" x="8690.5" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">pred</text>
+<text text-anchor="start" x="8690.5" y="-346.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-346.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
+<text text-anchor="start" x="8690.5" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-331.5" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExprNode()</text>
+<text text-anchor="start" x="8690.5" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-316.5" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExprNode()</text>
+<text text-anchor="start" x="8690.5" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-301.5" font-family="Helvetica,sans-Serif" font-size="10.00">Apply()</text>
+<text text-anchor="start" x="8690.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="8703.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="8690.5" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="8703.5" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="8686.5,-386.5 8686.5,-386.5 8842.5,-386.5 8842.5,-386.5 8686.5,-386.5"/>
+<polygon fill="#666666" stroke="#666666" points="8686.5,-341.5 8686.5,-341.5 8701.5,-341.5 8701.5,-341.5 8686.5,-341.5"/>
+<polygon fill="#666666" stroke="#666666" points="8701.5,-341.5 8701.5,-341.5 8842.5,-341.5 8842.5,-341.5 8701.5,-341.5"/>
+<polygon fill="none" stroke="#666666" points="8686.5,-253.5 8686.5,-403.5 8842.5,-403.5 8842.5,-253.5 8686.5,-253.5"/>
+</a>
+</g>
+</g>
+<!-- Node1->Node83 -->
+<g id="edge82_Node000001_Node000083" class="edge">
+<title>Node1->Node83</title>
+<g id="a_edge82_Node000001_Node000083"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M4716.14,-536.07C5292.89,-536.23 8494.58,-532.96 8677.5,-441 8694.61,-432.4 8709.37,-418.69 8721.63,-403.78"/>
+<polygon fill="none" stroke="#63b8ff" points="4715.81,-532.57 4705.81,-536.06 4715.81,-539.57 4715.81,-532.57"/>
</a>
</g>
</g>
@@ -1788,13 +1827,13 @@
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="4569.5,-682 4511.5,-682 4511.5,-633 4569.5,-633 4569.5,-682"/>
-<text text-anchor="start" x="4516.5" y="-669.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="4538.5" y="-654.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="4538.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="4511.5,-664.5 4511.5,-664.5 4569.5,-664.5 4569.5,-664.5 4511.5,-664.5"/>
-<polygon fill="#666666" stroke="#666666" points="4511.5,-649.5 4511.5,-649.5 4569.5,-649.5 4569.5,-649.5 4511.5,-649.5"/>
-<polygon fill="none" stroke="#666666" points="4511.5,-633 4511.5,-682 4569.5,-682 4569.5,-633 4511.5,-633"/>
+<polygon fill="white" stroke="transparent" points="4656.5,-682 4598.5,-682 4598.5,-633 4656.5,-633 4656.5,-682"/>
+<text text-anchor="start" x="4603.5" y="-669.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
+<text text-anchor="start" x="4625.5" y="-654.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4625.5" y="-639.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="4598.5,-664.5 4598.5,-664.5 4656.5,-664.5 4656.5,-664.5 4598.5,-664.5"/>
+<polygon fill="#666666" stroke="#666666" points="4598.5,-649.5 4598.5,-649.5 4656.5,-649.5 4656.5,-649.5 4598.5,-649.5"/>
+<polygon fill="none" stroke="#666666" points="4598.5,-633 4598.5,-682 4656.5,-682 4656.5,-633 4598.5,-633"/>
</a>
</g>
</g>
@@ -1802,8 +1841,8 @@
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node2->Node1</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M4540.5,-622.59C4540.5,-614.71 4540.5,-606.09 4540.5,-597.47"/>
-<polygon fill="none" stroke="#63b8ff" points="4537,-622.8 4540.5,-632.8 4544,-622.8 4537,-622.8"/>
+<path fill="none" stroke="#63b8ff" d="M4627.5,-622.59C4627.5,-614.71 4627.5,-606.09 4627.5,-597.47"/>
+<polygon fill="none" stroke="#63b8ff" points="4624,-622.8 4627.5,-632.8 4631,-622.8 4624,-622.8"/>
</a>
</g>
</g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1Expr__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1Expr__inherit__graph.svg
index 17bb14a5710..ee4a235e99c 100644
--- a/docs/reference/api/doxygen/classtvm_1_1Expr__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1Expr__inherit__graph.svg
@@ -12,23 +12,23 @@
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Managed reference to ExprNode.">
-<polygon fill="#999999" stroke="transparent" points="5463,-1017 5278,-1017 5278,-897 5463,-897 5463,-1017"/>
-<text text-anchor="start" x="5347" y="-1005" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Expr</text>
-<text text-anchor="start" x="5369" y="-990" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="5282.5" y="-975" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="5295.5" y="-975" font-family="Helvetica,sans-Serif" font-size="10.00">operator==()</text>
-<text text-anchor="start" x="5282.5" y="-960" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="5295.5" y="-960" font-family="Helvetica,sans-Serif" font-size="10.00">operator!=()</text>
-<text text-anchor="start" x="5282.5" y="-945" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="5295.5" y="-945" font-family="Helvetica,sans-Serif" font-size="10.00">operator<()</text>
-<text text-anchor="start" x="5282.5" y="-930" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="5295.5" y="-930" font-family="Helvetica,sans-Serif" font-size="10.00">Expr()</text>
-<text text-anchor="start" x="5282.5" y="-915" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="5295.5" y="-915" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="5295.5" y="-904" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="5278.5,-1000 5278.5,-1000 5463.5,-1000 5463.5,-1000 5278.5,-1000"/>
-<polygon fill="#666666" stroke="#666666" points="5278.5,-985 5278.5,-985 5463.5,-985 5463.5,-985 5278.5,-985"/>
-<polygon fill="none" stroke="#666666" points="5278,-897 5278,-1017 5463,-1017 5463,-897 5278,-897"/>
+<polygon fill="#999999" stroke="transparent" points="5564,-1017 5379,-1017 5379,-897 5564,-897 5564,-1017"/>
+<text text-anchor="start" x="5448" y="-1005" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Expr</text>
+<text text-anchor="start" x="5470" y="-990" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="5383.5" y="-975" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="5396.5" y="-975" font-family="Helvetica,sans-Serif" font-size="10.00">operator==()</text>
+<text text-anchor="start" x="5383.5" y="-960" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="5396.5" y="-960" font-family="Helvetica,sans-Serif" font-size="10.00">operator!=()</text>
+<text text-anchor="start" x="5383.5" y="-945" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="5396.5" y="-945" font-family="Helvetica,sans-Serif" font-size="10.00">operator<()</text>
+<text text-anchor="start" x="5383.5" y="-930" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="5396.5" y="-930" font-family="Helvetica,sans-Serif" font-size="10.00">Expr()</text>
+<text text-anchor="start" x="5383.5" y="-915" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="5396.5" y="-915" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="5396.5" y="-904" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="5379.5,-1000 5379.5,-1000 5564.5,-1000 5564.5,-1000 5379.5,-1000"/>
+<polygon fill="#666666" stroke="#666666" points="5379.5,-985 5379.5,-985 5564.5,-985 5564.5,-985 5379.5,-985"/>
+<polygon fill="none" stroke="#666666" points="5379,-897 5379,-1017 5564,-1017 5564,-897 5379,-897"/>
</a>
</g>
</g>
@@ -59,8 +59,8 @@
<g id="edge2_Node000001_Node000003" class="edge">
<title>Node1->Node3</title>
<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5267.43,-952.3C4998.87,-942.06 4282.41,-910.79 4050.5,-861 4013.89,-853.14 3974.98,-840.09 3941.18,-827.12"/>
-<polygon fill="none" stroke="#63b8ff" points="5267.44,-955.8 5277.56,-952.68 5267.7,-948.81 5267.44,-955.8"/>
+<path fill="none" stroke="#63b8ff" d="M5368.63,-952.91C5086.1,-943.84 4302.56,-914.45 4050.5,-861 4013.87,-853.23 3974.95,-840.2 3941.16,-827.22"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.76,-956.42 5378.87,-953.24 5368.98,-949.42 5368.76,-956.42"/>
</a>
</g>
</g>
@@ -86,8 +86,8 @@
<g id="edge43_Node000001_Node000044" class="edge">
<title>Node1->Node44</title>
<g id="a_edge43_Node000001_Node000044"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5267.72,-954.33C5027.91,-949.29 4437.77,-930.06 4253.5,-861 4231.11,-852.61 4209.31,-837.77 4191.73,-823.57"/>
-<polygon fill="none" stroke="#63b8ff" points="5267.77,-957.83 5277.84,-954.54 5267.91,-950.83 5267.77,-957.83"/>
+<path fill="none" stroke="#63b8ff" d="M5368.67,-955.17C5113.46,-951.98 4456.98,-936.45 4253.5,-861 4231.08,-852.69 4209.28,-837.86 4191.71,-823.64"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.64,-958.67 5378.68,-955.3 5368.73,-951.67 5368.64,-958.67"/>
</a>
</g>
</g>
@@ -122,8 +122,8 @@
<g id="edge47_Node000001_Node000048" class="edge">
<title>Node1->Node48</title>
<g id="a_edge47_Node000001_Node000048"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5267.66,-952.07C5060.96,-943.07 4602.43,-917.26 4456.5,-861 4453.66,-859.91 4450.83,-858.71 4448.01,-857.43"/>
-<polygon fill="none" stroke="#63b8ff" points="5267.77,-955.58 5277.91,-952.51 5268.07,-948.58 5267.77,-955.58"/>
+<path fill="none" stroke="#63b8ff" d="M5368.9,-953.31C5145.42,-946.34 4621.5,-923.64 4456.5,-861 4453.76,-859.96 4451.02,-858.82 4448.3,-857.6"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.89,-956.81 5378.99,-953.62 5369.1,-949.81 5368.89,-956.81"/>
</a>
</g>
</g>
@@ -149,8 +149,8 @@
<g id="edge48_Node000001_Node000049" class="edge">
<title>Node1->Node49</title>
<g id="a_edge48_Node000001_Node000049"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5267.74,-948.55C5098.16,-935.22 4767.69,-904.54 4659.5,-861 4637.72,-852.24 4616.34,-837.7 4598.9,-823.81"/>
-<polygon fill="none" stroke="#63b8ff" points="5267.69,-952.06 5277.93,-949.35 5268.23,-945.08 5267.69,-952.06"/>
+<path fill="none" stroke="#63b8ff" d="M5368.67,-950.52C5180.03,-939.38 4786.38,-910.85 4659.5,-861 4637.45,-852.33 4615.86,-837.63 4598.35,-823.61"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.68,-954.02 5378.87,-951.11 5369.09,-947.03 5368.68,-954.02"/>
</a>
</g>
</g>
@@ -181,8 +181,8 @@
<g id="edge52_Node000001_Node000053" class="edge">
<title>Node1->Node53</title>
<g id="a_edge52_Node000001_Node000053"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5267.9,-950.22C5162.43,-941.26 4995.31,-918.5 4862.5,-861 4851.93,-856.42 4841.4,-850.57 4831.36,-844.16"/>
-<polygon fill="none" stroke="#63b8ff" points="5267.66,-953.72 5277.91,-951.05 5268.23,-946.74 5267.66,-953.72"/>
+<path fill="none" stroke="#63b8ff" d="M5368.58,-954.66C5244.17,-949.78 5030.6,-930.79 4862.5,-861 4851.66,-856.5 4840.9,-850.6 4830.66,-844.1"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.73,-958.17 5378.86,-955.04 5368.99,-951.18 5368.73,-958.17"/>
</a>
</g>
</g>
@@ -218,8 +218,8 @@
<g id="edge53_Node000001_Node000054" class="edge">
<title>Node1->Node54</title>
<g id="a_edge53_Node000001_Node000054"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5267.71,-933.04C5206.97,-917.29 5129.65,-893.35 5065.5,-861 5062.69,-859.58 5059.87,-858.08 5057.05,-856.53"/>
-<polygon fill="none" stroke="#63b8ff" points="5267.14,-936.51 5277.69,-935.6 5268.87,-929.73 5267.14,-936.51"/>
+<path fill="none" stroke="#63b8ff" d="M5368.86,-943.63C5284.47,-930.76 5163.3,-905.98 5065.5,-861 5062.74,-859.73 5059.97,-858.37 5057.21,-856.95"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.56,-947.12 5378.97,-945.14 5369.6,-940.2 5368.56,-947.12"/>
</a>
</g>
</g>
@@ -245,8 +245,8 @@
<g id="edge54_Node000001_Node000055" class="edge">
<title>Node1->Node55</title>
<g id="a_edge54_Node000001_Node000055"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5291.53,-890.26C5264.36,-867.64 5234.92,-843.13 5211.55,-823.67"/>
-<polygon fill="none" stroke="#63b8ff" points="5289.58,-893.18 5299.5,-896.89 5294.05,-887.8 5289.58,-893.18"/>
+<path fill="none" stroke="#63b8ff" d="M5369.65,-913.04C5336.68,-897.9 5300.4,-879.9 5268.5,-861 5249.8,-849.92 5230.3,-836.2 5213.47,-823.6"/>
+<polygon fill="none" stroke="#63b8ff" points="5368.31,-916.27 5378.86,-917.23 5371.21,-909.9 5368.31,-916.27"/>
</a>
</g>
</g>
@@ -277,8 +277,8 @@
<g id="edge56_Node000001_Node000057" class="edge">
<title>Node1->Node57</title>
<g id="a_edge56_Node000001_Node000057"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5370.5,-886.7C5370.5,-872.53 5370.5,-857.77 5370.5,-844.08"/>
-<polygon fill="none" stroke="#63b8ff" points="5367,-886.89 5370.5,-896.89 5374,-886.89 5367,-886.89"/>
+<path fill="none" stroke="#63b8ff" d="M5430.82,-887.94C5422.13,-873.39 5413.03,-858.17 5404.61,-844.08"/>
+<polygon fill="none" stroke="#63b8ff" points="5428.04,-890.1 5436.18,-896.89 5434.05,-886.51 5428.04,-890.1"/>
</a>
</g>
</g>
@@ -309,8 +309,8 @@
<g id="edge57_Node000001_Node000058" class="edge">
<title>Node1->Node58</title>
<g id="a_edge57_Node000001_Node000058"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5449.3,-890.4C5467.65,-875.12 5487.06,-858.96 5504.93,-844.08"/>
-<polygon fill="none" stroke="#63b8ff" points="5446.95,-887.8 5441.5,-896.89 5451.42,-893.18 5446.95,-887.8"/>
+<path fill="none" stroke="#63b8ff" d="M5512.58,-887.94C5521.36,-873.39 5530.55,-858.17 5539.05,-844.08"/>
+<polygon fill="none" stroke="#63b8ff" points="5509.35,-886.52 5507.17,-896.89 5515.34,-890.14 5509.35,-886.52"/>
</a>
</g>
</g>
@@ -341,8 +341,8 @@
<g id="edge58_Node000001_Node000059" class="edge">
<title>Node1->Node59</title>
<g id="a_edge58_Node000001_Node000059"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5473.23,-932.8C5533.7,-916.99 5610.6,-893.08 5674.5,-861 5684.28,-856.09 5694.12,-850.28 5703.64,-844.1"/>
-<polygon fill="none" stroke="#63b8ff" points="5472.1,-929.47 5463.29,-935.36 5473.84,-936.25 5472.1,-929.47"/>
+<path fill="none" stroke="#63b8ff" d="M5573.29,-912.95C5606.27,-897.8 5642.56,-879.83 5674.5,-861 5683.26,-855.83 5692.21,-850.1 5700.98,-844.18"/>
+<polygon fill="none" stroke="#63b8ff" points="5571.74,-909.82 5564.09,-917.15 5574.64,-916.18 5571.74,-909.82"/>
</a>
</g>
</g>
@@ -374,8 +374,8 @@
<g id="edge59_Node000001_Node000060" class="edge">
<title>Node1->Node60</title>
<g id="a_edge59_Node000001_Node000060"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5473.32,-950.02C5578.57,-940.89 5745.02,-918.02 5877.5,-861 5889.26,-855.94 5900.97,-849.33 5912.04,-842.14"/>
-<polygon fill="none" stroke="#63b8ff" points="5473,-946.53 5463.33,-950.86 5473.59,-953.51 5473,-946.53"/>
+<path fill="none" stroke="#63b8ff" d="M5574.49,-943.45C5658.83,-930.49 5779.75,-905.68 5877.5,-861 5888.94,-855.77 5900.39,-849.16 5911.26,-842.04"/>
+<polygon fill="none" stroke="#63b8ff" points="5573.76,-940.02 5564.39,-944.97 5574.8,-946.94 5573.76,-940.02"/>
</a>
</g>
</g>
@@ -411,8 +411,8 @@
<g id="edge60_Node000001_Node000061" class="edge">
<title>Node1->Node61</title>
<g id="a_edge60_Node000001_Node000061"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5473.42,-948.46C5642.83,-935.02 5972.43,-904.21 6080.5,-861 6083.65,-859.74 6086.79,-858.36 6089.91,-856.89"/>
-<polygon fill="none" stroke="#63b8ff" points="5472.94,-944.99 5463.25,-949.26 5473.49,-951.97 5472.94,-944.99"/>
+<path fill="none" stroke="#63b8ff" d="M5574.37,-954.53C5698.72,-949.52 5912.24,-930.4 6080.5,-861 6083.63,-859.71 6086.76,-858.3 6089.88,-856.8"/>
+<polygon fill="none" stroke="#63b8ff" points="5573.95,-951.04 5564.09,-954.92 5574.22,-958.04 5573.95,-951.04"/>
</a>
</g>
</g>
@@ -443,8 +443,8 @@
<g id="edge63_Node000001_Node000064" class="edge">
<title>Node1->Node64</title>
<g id="a_edge63_Node000001_Node000064"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5473.6,-951.99C5680.22,-942.85 6137.69,-916.83 6283.5,-861 6294.84,-856.66 6306.06,-850.72 6316.67,-844.08"/>
-<polygon fill="none" stroke="#63b8ff" points="5473.19,-948.5 5463.35,-952.43 5473.49,-955.49 5473.19,-948.5"/>
+<path fill="none" stroke="#63b8ff" d="M5574.31,-950.46C5762.91,-939.23 6156.51,-910.56 6283.5,-861 6294.71,-856.63 6305.81,-850.72 6316.33,-844.13"/>
+<polygon fill="none" stroke="#63b8ff" points="5573.88,-946.98 5564.11,-951.06 5574.3,-953.97 5573.88,-946.98"/>
</a>
</g>
</g>
@@ -477,8 +477,8 @@
<g id="edge64_Node000001_Node000065" class="edge">
<title>Node1->Node65</title>
<g id="a_edge64_Node000001_Node000065"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5473.17,-954.26C5712.72,-949.09 6302.24,-929.57 6486.5,-861 6493.47,-858.41 6500.39,-855.2 6507.15,-851.58"/>
-<polygon fill="none" stroke="#63b8ff" points="5472.99,-950.77 5463.06,-954.48 5473.13,-957.76 5472.99,-950.77"/>
+<path fill="none" stroke="#63b8ff" d="M5574.49,-953.24C5798.16,-946.14 6321.46,-923.21 6486.5,-861 6493.46,-858.38 6500.37,-855.14 6507.12,-851.51"/>
+<polygon fill="none" stroke="#63b8ff" points="5574.28,-949.74 5564.39,-953.56 5574.5,-956.74 5574.28,-949.74"/>
</a>
</g>
</g>
@@ -509,8 +509,35 @@
<g id="edge65_Node000001_Node000066" class="edge">
<title>Node1->Node66</title>
<g id="a_edge65_Node000001_Node000066"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5473.54,-955.83C5743.63,-954.25 6466.57,-942.32 6689.5,-861 6701.11,-856.76 6712.57,-850.79 6723.37,-844.06"/>
-<polygon fill="none" stroke="#63b8ff" points="5473.33,-952.34 5463.35,-955.89 5473.37,-959.34 5473.33,-952.34"/>
+<path fill="none" stroke="#63b8ff" d="M5574.31,-955.12C5829.47,-951.79 6485.84,-935.97 6689.5,-861 6701,-856.77 6712.35,-850.85 6723.06,-844.18"/>
+<polygon fill="none" stroke="#63b8ff" points="5574.25,-951.62 5564.3,-955.24 5574.34,-958.62 5574.25,-951.62"/>
+</a>
+</g>
+</g>
+<!-- Node67 -->
+<g id="Node000067" class="node">
+<title>Node67</title>
+<g id="a_Node000067"><a xlink:href="classtvm_1_1tirx_1_1LambdaExpr.html" target="_top" xlink:title="Managed reference to LambdaExprNode.">
+<polygon fill="white" stroke="transparent" points="7087,-823.5 6902,-823.5 6902,-748.5 7087,-748.5 7087,-823.5"/>
+<text text-anchor="start" x="6940.5" y="-811" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExpr</text>
+<text text-anchor="start" x="6993" y="-796" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="6906.5" y="-781" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="6919.5" y="-781" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExpr()</text>
+<text text-anchor="start" x="6906.5" y="-766" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="6919.5" y="-766" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="6919.5" y="-755" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="6902.5,-806 6902.5,-806 7087.5,-806 7087.5,-806 6902.5,-806"/>
+<polygon fill="#666666" stroke="#666666" points="6902.5,-791 6902.5,-791 7087.5,-791 7087.5,-791 6902.5,-791"/>
+<polygon fill="none" stroke="#666666" points="6902,-748.5 6902,-823.5 7087,-823.5 7087,-748.5 6902,-748.5"/>
+</a>
+</g>
+</g>
+<!-- Node1->Node67 -->
+<g id="edge66_Node000001_Node000067" class="edge">
+<title>Node1->Node67</title>
+<g id="a_edge66_Node000001_Node000067"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M5574.38,-956.46C5858.66,-956.58 6649.92,-948.78 6892.5,-861 6915.13,-852.81 6937.14,-838 6954.89,-823.76"/>
+<polygon fill="none" stroke="#63b8ff" points="5574.07,-952.96 5564.07,-956.45 5574.07,-959.96 5574.07,-952.96"/>
</a>
</g>
</g>
@@ -518,13 +545,13 @@
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="5407.5,-1102 5333.5,-1102 5333.5,-1053 5407.5,-1053 5407.5,-1102"/>
-<text text-anchor="start" x="5338.5" y="-1089.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="5368.5" y="-1074.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="5368.5" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="5333.5,-1084.5 5333.5,-1084.5 5407.5,-1084.5 5407.5,-1084.5 5333.5,-1084.5"/>
-<polygon fill="#666666" stroke="#666666" points="5333.5,-1069.5 5333.5,-1069.5 5407.5,-1069.5 5407.5,-1069.5 5333.5,-1069.5"/>
-<polygon fill="none" stroke="#666666" points="5333.5,-1053 5333.5,-1102 5407.5,-1102 5407.5,-1053 5333.5,-1053"/>
+<polygon fill="white" stroke="transparent" points="5508.5,-1102 5434.5,-1102 5434.5,-1053 5508.5,-1053 5508.5,-1102"/>
+<text text-anchor="start" x="5439.5" y="-1089.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<text text-anchor="start" x="5469.5" y="-1074.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="5469.5" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="5434.5,-1084.5 5434.5,-1084.5 5508.5,-1084.5 5508.5,-1084.5 5434.5,-1084.5"/>
+<polygon fill="#666666" stroke="#666666" points="5434.5,-1069.5 5434.5,-1069.5 5508.5,-1069.5 5508.5,-1069.5 5434.5,-1069.5"/>
+<polygon fill="none" stroke="#666666" points="5434.5,-1053 5434.5,-1102 5508.5,-1102 5508.5,-1053 5434.5,-1053"/>
</a>
</g>
</g>
@@ -532,8 +559,8 @@
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node2->Node1</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M5370.5,-1042.59C5370.5,-1034.71 5370.5,-1026.09 5370.5,-1017.47"/>
-<polygon fill="none" stroke="#63b8ff" points="5367,-1042.8 5370.5,-1052.8 5374,-1042.8 5367,-1042.8"/>
+<path fill="none" stroke="#63b8ff" d="M5471.5,-1042.59C5471.5,-1034.71 5471.5,-1026.09 5471.5,-1017.47"/>
+<polygon fill="none" stroke="#63b8ff" points="5468,-1042.8 5471.5,-1052.8 5475,-1042.8 5468,-1042.8"/>
</a>
</g>
</g>
@@ -1870,7 +1897,7 @@
<g id="edge42_Node000004_Node000043" class="edge">
<title>Node4->Node43</title>
<g id="a_edge42_Node000004_Node000043"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M3791.36,-481.38C3806.7,-462.85 3825.61,-445.27 3847.5,-435 4021.12,-353.53 7123.88,-476.06 7299.5,-399 7321.66,-389.28 7341.22,-372.08 7357.09,-354.26"/>
+<path fill="none" stroke="#63b8ff" d="M3791.36,-481.38C3806.7,-462.85 3825.61,-445.27 3847.5,-435 4021.07,-353.55 7122.74,-475.61 7298.5,-399 7320.79,-389.29 7340.52,-372.09 7356.55,-354.27"/>
<polygon fill="none" stroke="#63b8ff" points="3788.5,-479.36 3785.01,-489.37 3793.98,-483.72 3788.5,-479.36"/>
</a>
</g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr-members.html b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr-members.html
index 33cd98ba4c3..55ff51cba6b 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr-members.html
@@ -79,8 +79,13 @@ $(function() {
<p>This is the complete list of members for <a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">tvm::tirx::LambdaExpr</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a89bb4db7e73e1cddc067a80c52f0af50">LambdaExpr</a>(Array< Var > vars, PrimExpr pred)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">tvm::tirx::LambdaExpr</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
- <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a4a43aa767df54cef53169c1a40ad0881">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a>(LambdaExpr, ffi::ObjectRef, LambdaExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">tvm::tirx::LambdaExpr</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Expr.html#aad84c3380b07b63427dda3697a78b269">Expr</a>(ffi::ObjectPtr< ExprNode > node)</td><td class="entry"><a class="el" href="classtvm_1_1Expr.html">tvm::Expr</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a89bb4db7e73e1cddc067a80c52f0af50">LambdaExpr</a>(Array< Var > vars, PrimExpr pred)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">tvm::tirx::LambdaExpr</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Expr.html#a86bd9da75268e479e3bbe61729dce8ac">operator!=</a>(const Expr &other) const =delete</td><td class="entry"><a class="el" href="classtvm_1_1Expr.html">tvm::Expr</a></td><td class="entry"></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1Expr.html#afb14020d9ae652a64a6f15dcba073c0e">operator<</a>(const Expr &other) const =delete</td><td class="entry"><a class="el" href="classtvm_1_1Expr.html">tvm::Expr</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Expr.html#a637231cfc91838b8f14745ac199b5fbf">operator==</a>(const Expr &other) const =delete</td><td class="entry"><a class="el" href="classtvm_1_1Expr.html">tvm::Expr</a></td><td class="entry"></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a3d8e61a25cfe1de6aea257fb84f14cfd">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(LambdaExpr, Expr, LambdaExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">tvm::tirx::LambdaExpr</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1Expr.html#a26775d381ee6e7c7bb65b8a7320f5b87">tvm::Expr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(Expr, ffi::ObjectRef, ExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1Expr.html">tvm::Expr</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr.html b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr.html
index d0f645a99e4..eafe526ffc3 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr.html
@@ -87,20 +87,31 @@ $(function() {
<div class="dynheader">
Inheritance diagram for tvm::tirx::LambdaExpr:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg" width="230" height="224"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg" width="258" height="432"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Collaboration diagram for tvm::tirx::LambdaExpr:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg" width="230" height="224"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg" width="258" height="432"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a89bb4db7e73e1cddc067a80c52f0af50" id="r_a89bb4db7e73e1cddc067a80c52f0af50"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a89bb4db7e73e1cddc067a80c52f0af50">LambdaExpr</a> (Array< <a class="el" href="namespacetvm_1_1tirx.html#a6afba4ff0c281c4916330c3b0e2e6ad3">Var</a> > vars, <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> pred)</td></tr>
<tr class="separator:a89bb4db7e73e1cddc067a80c52f0af50"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:a4a43aa767df54cef53169c1a40ad0881" id="r_a4a43aa767df54cef53169c1a40ad0881"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a4a43aa767df54cef53169c1a40ad0881">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE</a> (<a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">LambdaExpr</a>, ffi::ObjectRef, <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">Lambd [...]
-<tr class="separator:a4a43aa767df54cef53169c1a40ad0881"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a3d8e61a25cfe1de6aea257fb84f14cfd" id="r_a3d8e61a25cfe1de6aea257fb84f14cfd"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html#a3d8e61a25cfe1de6aea257fb84f14cfd">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a> (<a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">LambdaExpr</a>, <a class="el" href="classtvm_1_1Expr.html">Expr</a>, <a class="el" href="classt [...]
+<tr class="separator:a3d8e61a25cfe1de6aea257fb84f14cfd"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_classtvm_1_1Expr"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1Expr')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classtvm_1_1Expr.html">tvm::Expr</a></td></tr>
+<tr class="memitem:a637231cfc91838b8f14745ac199b5fbf inherit pub_methods_classtvm_1_1Expr" id="r_a637231cfc91838b8f14745ac199b5fbf"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Expr.html#a637231cfc91838b8f14745ac199b5fbf">operator==</a> (const <a class="el" href="classtvm_1_1Expr.html">Expr</a> &other) const =delete</td></tr>
+<tr class="separator:a637231cfc91838b8f14745ac199b5fbf inherit pub_methods_classtvm_1_1Expr"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a86bd9da75268e479e3bbe61729dce8ac inherit pub_methods_classtvm_1_1Expr" id="r_a86bd9da75268e479e3bbe61729dce8ac"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Expr.html#a86bd9da75268e479e3bbe61729dce8ac">operator!=</a> (const <a class="el" href="classtvm_1_1Expr.html">Expr</a> &other) const =delete</td></tr>
+<tr class="separator:a86bd9da75268e479e3bbe61729dce8ac inherit pub_methods_classtvm_1_1Expr"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:afb14020d9ae652a64a6f15dcba073c0e inherit pub_methods_classtvm_1_1Expr" id="r_afb14020d9ae652a64a6f15dcba073c0e"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Expr.html#afb14020d9ae652a64a6f15dcba073c0e">operator<</a> (const <a class="el" href="classtvm_1_1Expr.html">Expr</a> &other) const =delete</td></tr>
+<tr class="separator:afb14020d9ae652a64a6f15dcba073c0e inherit pub_methods_classtvm_1_1Expr"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:aad84c3380b07b63427dda3697a78b269 inherit pub_methods_classtvm_1_1Expr" id="r_aad84c3380b07b63427dda3697a78b269"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Expr.html#aad84c3380b07b63427dda3697a78b269">Expr</a> (ffi::ObjectPtr< <a class="el" href="classtvm_1_1ExprNode.html">ExprNode</a> > node)</td></tr>
+<tr class="separator:aad84c3380b07b63427dda3697a78b269 inherit pub_methods_classtvm_1_1Expr"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a26775d381ee6e7c7bb65b8a7320f5b87 inherit pub_methods_classtvm_1_1Expr" id="r_a26775d381ee6e7c7bb65b8a7320f5b87"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1Expr.html#a26775d381ee6e7c7bb65b8a7320f5b87">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a> (<a class="el" href="classtvm_1_1Expr.html">Expr</a>, ffi::ObjectRef, <a class="el" href="classtvm_1_1ExprNode.html">ExprNode</a>) [...]
+<tr class="separator:a26775d381ee6e7c7bb65b8a7320f5b87 inherit pub_methods_classtvm_1_1Expr"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Managed reference to <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html" title="A reified Python lambda: a list of bound variables and a body over them.">LambdaExprNode</a>. </p>
@@ -143,14 +154,14 @@ Public Member Functions</h2></td></tr>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
-<a id="a4a43aa767df54cef53169c1a40ad0881" name="a4a43aa767df54cef53169c1a40ad0881"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a4a43aa767df54cef53169c1a40ad0881">◆ </a></span>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()</h2>
+<a id="a3d8e61a25cfe1de6aea257fb84f14cfd" name="a3d8e61a25cfe1de6aea257fb84f14cfd"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a3d8e61a25cfe1de6aea257fb84f14cfd">◆ </a></span>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
- <td class="memname">tvm::tirx::LambdaExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE </td>
+ <td class="memname">tvm::tirx::LambdaExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html">LambdaExpr</a> </td>
<td class="paramname">, </td>
@@ -158,7 +169,7 @@ Public Member Functions</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">ffi::ObjectRef </td>
+ <td class="paramtype"><a class="el" href="classtvm_1_1Expr.html">Expr</a> </td>
<td class="paramname">, </td>
</tr>
<tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode-members.html b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode-members.html
index 0d196005aee..b7acca43135 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode-members.html
@@ -79,13 +79,17 @@ $(function() {
<p>This is the complete list of members for <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a>, including all inherited members.</p>
<table class="directory">
- <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#afe9c2c225a1c8898d3d89d3b8d3985f7">_type_s_eq_hash_kind</a></td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
- <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a49d3965de323a835cc1211e273a59c6a">Apply</a>(const Array< PrimExpr > &indices) const</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#ac25fa7a431fed557e13249f6bd8c7ffa">LambdaExprNode</a>(ffi::UnsafeInit tag)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a60e2a1becd7af561373363fe14515b26">LambdaExprNode</a>(PrimExpr pred)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a3982c3068c1024ce6f4109298e2bee81">pred</a></td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
- <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a816c7fc711de05ad1cc9ce41fdf3b228">RegisterReflection</a>()</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
- <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#ae5b685c60c3e2bc76b08ac2b345720aa">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>("tirx.LambdaExpr", LambdaExprNode, ffi::Object)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html#a998e4b1d8caa76f66e9d947931178f01">_type_child_slots</a></td><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#afe9c2c225a1c8898d3d89d3b8d3985f7">_type_s_eq_hash_kind</a></td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a49d3965de323a835cc1211e273a59c6a">Apply</a>(const Array< PrimExpr > &indices) const</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#ac25fa7a431fed557e13249f6bd8c7ffa">LambdaExprNode</a>(ffi::UnsafeInit tag)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a60e2a1becd7af561373363fe14515b26">LambdaExprNode</a>(PrimExpr pred)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a3982c3068c1024ce6f4109298e2bee81">pred</a></td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a816c7fc711de05ad1cc9ce41fdf3b228">RegisterReflection</a>()</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html#a52b366cd48d311f2406d86d92991c834">span</a></td><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td><td class="entry"><span class="mlabel">mutable</span></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html#a79424fe36b005bfd36e56dfcfcb4a118">TVM_FFI_DECLARE_OBJECT_INFO</a>("ir.Expr", ExprNode, ffi::Object)</td><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td><td class="entry"></td></tr>
+ <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a2d13a1d1bc85a9c4f4b5b6e1cf14c150">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>("tirx.LambdaExpr", LambdaExprNode, ExprNode)</td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
+ <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html#a4c2a9b792a5ec422d8e04d6d78707fcb">ty</a></td><td class="entry"><a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td><td class="entry"><span class="mlabel">mutable</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a38e5d3ceadba7e4312cdafff56fb22fd">vars</a></td><td class="entry"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">tvm::tirx::LambdaExprNode</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode.html b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode.html
index 52fc775ac28..2988b139741 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode.html
@@ -90,12 +90,12 @@ $(function() {
<div class="dynheader">
Inheritance diagram for tvm::tirx::LambdaExprNode:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExprNode__inherit__graph.svg" width="219" height="324"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExprNode__inherit__graph.svg" width="219" height="532"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="dynheader">
Collaboration diagram for tvm::tirx::LambdaExprNode:</div>
<div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg" width="519" height="916"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
+<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg" width="874" height="930"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
@@ -107,13 +107,19 @@ Public Member Functions</h2></td></tr>
<tr class="memitem:a49d3965de323a835cc1211e273a59c6a" id="r_a49d3965de323a835cc1211e273a59c6a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a49d3965de323a835cc1211e273a59c6a">Apply</a> (const Array< <a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> > &indices) const</td></tr>
<tr class="memdesc:a49d3965de323a835cc1211e273a59c6a"><td class="mdescLeft"> </td><td class="mdescRight">Replace the bound variables with the given indices, returning the substituted body. <br /></td></tr>
<tr class="separator:a49d3965de323a835cc1211e273a59c6a"><td class="memSeparator" colspan="2"> </td></tr>
-<tr class="memitem:ae5b685c60c3e2bc76b08ac2b345720aa" id="r_ae5b685c60c3e2bc76b08ac2b345720aa"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#ae5b685c60c3e2bc76b08ac2b345720aa">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> ("tirx.LambdaExpr", <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">LambdaExprNode</a>, ffi::Object)</td></tr>
-<tr class="separator:ae5b685c60c3e2bc76b08ac2b345720aa"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a2d13a1d1bc85a9c4f4b5b6e1cf14c150" id="r_a2d13a1d1bc85a9c4f4b5b6e1cf14c150"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a2d13a1d1bc85a9c4f4b5b6e1cf14c150">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a> ("tirx.LambdaExpr", <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html">LambdaExprNode</a>, <a class="el" href="classtvm_1_1ExprNode.html">Exp [...]
+<tr class="separator:a2d13a1d1bc85a9c4f4b5b6e1cf14c150"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_methods_classtvm_1_1ExprNode"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtvm_1_1ExprNode')"><img src="closed.png" alt="-"/> Public Member Functions inherited from <a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td></tr>
+<tr class="memitem:a79424fe36b005bfd36e56dfcfcb4a118 inherit pub_methods_classtvm_1_1ExprNode" id="r_a79424fe36b005bfd36e56dfcfcb4a118"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1ExprNode.html#a79424fe36b005bfd36e56dfcfcb4a118">TVM_FFI_DECLARE_OBJECT_INFO</a> ("ir.Expr", <a class="el" href="classtvm_1_1ExprNode.html">ExprNode</a>, ffi::Object)</td></tr>
+<tr class="separator:a79424fe36b005bfd36e56dfcfcb4a118 inherit pub_methods_classtvm_1_1ExprNode"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a816c7fc711de05ad1cc9ce41fdf3b228" id="r_a816c7fc711de05ad1cc9ce41fdf3b228"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a816c7fc711de05ad1cc9ce41fdf3b228">RegisterReflection</a> ()</td></tr>
<tr class="separator:a816c7fc711de05ad1cc9ce41fdf3b228"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_static_methods_classtvm_1_1ExprNode"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classtvm_1_1ExprNode')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td></tr>
+<tr class="memitem:ae10a6ed3fb0e55e098b4e1e223799f8c inherit pub_static_methods_classtvm_1_1ExprNode" id="r_ae10a6ed3fb0e55e098b4e1e223799f8c"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1ExprNode.html#ae10a6ed3fb0e55e098b4e1e223799f8c">RegisterReflection</a> ()</td></tr>
+<tr class="separator:ae10a6ed3fb0e55e098b4e1e223799f8c inherit pub_static_methods_classtvm_1_1ExprNode"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
@@ -123,11 +129,23 @@ Public Attributes</h2></td></tr>
<tr class="memitem:a3982c3068c1024ce6f4109298e2bee81" id="r_a3982c3068c1024ce6f4109298e2bee81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1PrimExpr.html">PrimExpr</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#a3982c3068c1024ce6f4109298e2bee81">pred</a></td></tr>
<tr class="memdesc:a3982c3068c1024ce6f4109298e2bee81"><td class="mdescLeft"> </td><td class="mdescRight">The lambda body over <code>vars</code>. <br /></td></tr>
<tr class="separator:a3982c3068c1024ce6f4109298e2bee81"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_attribs_classtvm_1_1ExprNode"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classtvm_1_1ExprNode')"><img src="closed.png" alt="-"/> Public Attributes inherited from <a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td></tr>
+<tr class="memitem:a52b366cd48d311f2406d86d92991c834 inherit pub_attribs_classtvm_1_1ExprNode" id="r_a52b366cd48d311f2406d86d92991c834"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Span.html">Span</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1ExprNode.html#a52b366cd48d311f2406d86d92991c834">span</a></td></tr>
+<tr class="memdesc:a52b366cd48d311f2406d86d92991c834 inherit pub_attribs_classtvm_1_1ExprNode"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classtvm_1_1Span.html">Span</a> that points to the original source code. Reserved debug information. <br /></td></tr>
+<tr class="separator:a52b366cd48d311f2406d86d92991c834 inherit pub_attribs_classtvm_1_1ExprNode"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a4c2a9b792a5ec422d8e04d6d78707fcb inherit pub_attribs_classtvm_1_1ExprNode" id="r_a4c2a9b792a5ec422d8e04d6d78707fcb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Type.html">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1ExprNode.html#a4c2a9b792a5ec422d8e04d6d78707fcb">ty</a> = <a class="el" href="classtvm_1_1MissingType.html">MissingType</a>()</td></tr>
+<tr class="memdesc:a4c2a9b792a5ec422d8e04d6d78707fcb inherit pub_attribs_classtvm_1_1ExprNode"><td class="mdescLeft"> </td><td class="mdescRight">The deduced or annotated type of the expression. <br /></td></tr>
+<tr class="separator:a4c2a9b792a5ec422d8e04d6d78707fcb inherit pub_attribs_classtvm_1_1ExprNode"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-attribs" name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:afe9c2c225a1c8898d3d89d3b8d3985f7" id="r_afe9c2c225a1c8898d3d89d3b8d3985f7"><td class="memItemLeft" align="right" valign="top">static constexpr TVMFFISEqHashKind </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html#afe9c2c225a1c8898d3d89d3b8d3985f7">_type_s_eq_hash_kind</a> = kTVMFFISEqHashKindTreeNode</td></tr>
<tr class="separator:afe9c2c225a1c8898d3d89d3b8d3985f7"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="inherit_header pub_static_attribs_classtvm_1_1ExprNode"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classtvm_1_1ExprNode')"><img src="closed.png" alt="-"/> Static Public Attributes inherited from <a class="el" href="classtvm_1_1ExprNode.html">tvm::ExprNode</a></td></tr>
+<tr class="memitem:a549f3165583edbbc9a13c6d796e7b298 inherit pub_static_attribs_classtvm_1_1ExprNode" id="r_a549f3165583edbbc9a13c6d796e7b298"><td class="memItemLeft" align="right" valign="top">static constexpr TVMFFISEqHashKind </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1ExprNode.html#a549f3165583edbbc9a13c6d796e7b298">_type_s_eq_hash_kind</a> = kTVMFFISEqHashKindTreeNode</td></tr>
+<tr class="separator:a549f3165583edbbc9a13c6d796e7b298 inherit pub_static_attribs_classtvm_1_1ExprNode"><td class="memSeparator" colspan="2"> </td></tr>
+<tr class="memitem:a998e4b1d8caa76f66e9d947931178f01 inherit pub_static_attribs_classtvm_1_1ExprNode" id="r_a998e4b1d8caa76f66e9d947931178f01"><td class="memItemLeft" align="right" valign="top">static constexpr const uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1ExprNode.html#a998e4b1d8caa76f66e9d947931178f01">_type_child_slots</a> = 64</td></tr>
+<tr class="separator:a998e4b1d8caa76f66e9d947931178f01 inherit pub_static_attribs_classtvm_1_1ExprNode"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A reified Python lambda: a list of bound variables and a body over them. </p>
@@ -231,8 +249,8 @@ Static Public Attributes</h2></td></tr>
</div>
</div>
-<a id="ae5b685c60c3e2bc76b08ac2b345720aa" name="ae5b685c60c3e2bc76b08ac2b345720aa"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae5b685c60c3e2bc76b08ac2b345720aa">◆ </a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
+<a id="a2d13a1d1bc85a9c4f4b5b6e1cf14c150" name="a2d13a1d1bc85a9c4f4b5b6e1cf14c150"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#a2d13a1d1bc85a9c4f4b5b6e1cf14c150">◆ </a></span>TVM_FFI_DECLARE_OBJECT_INFO_FINAL()</h2>
<div class="memitem">
<div class="memproto">
@@ -252,7 +270,7 @@ Static Public Attributes</h2></td></tr>
<tr>
<td class="paramkey"></td>
<td></td>
- <td class="paramtype">ffi::Object </td>
+ <td class="paramtype"><a class="el" href="classtvm_1_1ExprNode.html">ExprNode</a> </td>
<td class="paramname"> </td>
</tr>
<tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg
index a83b3e846ed..10a0f8f5e45 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__coll__graph.svg
@@ -4,47 +4,55 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::tirx::LambdaExprNode Pages: 1 -->
-<svg width="389pt" height="687pt"
- viewBox="0.00 0.00 388.50 687.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 683)">
+<svg width="655pt" height="697pt"
+ viewBox="0.00 0.00 654.50 697.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 693)">
<title>tvm::tirx::LambdaExprNode</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="A reified Python lambda: a list of bound variables and a body over them.">
-<polygon fill="#999999" stroke="transparent" points="205,-120 49,-120 49,0 205,0 205,-120"/>
-<text text-anchor="start" x="59.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExprNode</text>
-<text text-anchor="start" x="53" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="66" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
-<text text-anchor="start" x="53" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="66" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExprNode()</text>
-<text text-anchor="start" x="53" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="66" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExprNode()</text>
-<text text-anchor="start" x="53" y="-48" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="66" y="-48" font-family="Helvetica,sans-Serif" font-size="10.00">Apply()</text>
-<text text-anchor="start" x="53" y="-33" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="66" y="-33" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="66" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="53" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="66" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="49,-103 49,-103 205,-103 205,-103 49,-103"/>
-<polygon fill="#666666" stroke="#666666" points="49,-88 49,-88 64,-88 64,-88 49,-88"/>
-<polygon fill="#666666" stroke="#666666" points="64,-88 64,-88 205,-88 205,-88 64,-88"/>
-<polygon fill="none" stroke="#666666" points="49,0 49,-120 205,-120 205,0 49,0"/>
+<polygon fill="#999999" stroke="transparent" points="473,-120 317,-120 317,0 473,0 473,-120"/>
+<text text-anchor="start" x="327.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExprNode</text>
+<text text-anchor="start" x="321" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="334" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
+<text text-anchor="start" x="321" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="334" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExprNode()</text>
+<text text-anchor="start" x="321" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="334" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExprNode()</text>
+<text text-anchor="start" x="321" y="-48" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="334" y="-48" font-family="Helvetica,sans-Serif" font-size="10.00">Apply()</text>
+<text text-anchor="start" x="321" y="-33" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="334" y="-33" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="334" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="321" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="334" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="317,-103 317,-103 473,-103 473,-103 317,-103"/>
+<polygon fill="#666666" stroke="#666666" points="317,-88 317,-88 332,-88 332,-88 317,-88"/>
+<polygon fill="#666666" stroke="#666666" points="332,-88 332,-88 473,-88 473,-88 332,-88"/>
+<polygon fill="none" stroke="#666666" points="317,0 317,-120 473,-120 473,0 317,0"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
-<g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="58,-257 0,-257 0,-208 58,-208 58,-257"/>
-<text text-anchor="start" x="5" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="27" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="27" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="0,-239.5 0,-239.5 58,-239.5 58,-239.5 0,-239.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-224.5 0,-224.5 58,-224.5 58,-224.5 0,-224.5"/>
-<polygon fill="none" stroke="#666666" points="0,-208 0,-257 58,-257 58,-208 0,-208"/>
+<g id="a_Node000002"><a xlink:href="classtvm_1_1ExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
+<polygon fill="white" stroke="transparent" points="291,-430.5 135,-430.5 135,-340.5 291,-340.5 291,-430.5"/>
+<text text-anchor="start" x="176.5" y="-418.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ExprNode</text>
+<text text-anchor="start" x="139" y="-403.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="152" y="-403.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
+<text text-anchor="start" x="139" y="-388.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="152" y="-388.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_child_slots</text>
+<text text-anchor="start" x="139" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="152" y="-373.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="152" y="-362.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="139" y="-347.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="152" y="-347.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="135,-413.5 135,-413.5 291,-413.5 291,-413.5 135,-413.5"/>
+<polygon fill="#666666" stroke="#666666" points="135,-383.5 135,-383.5 150,-383.5 150,-383.5 135,-383.5"/>
+<polygon fill="#666666" stroke="#666666" points="150,-383.5 150,-383.5 291,-383.5 291,-383.5 150,-383.5"/>
+<polygon fill="none" stroke="#666666" points="135,-340.5 135,-430.5 291,-430.5 291,-340.5 135,-340.5"/>
</a>
</g>
</g>
@@ -52,8 +60,8 @@
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node2->Node1</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M47.64,-199.07C60.44,-176.8 77.81,-146.59 93.03,-120.1"/>
-<polygon fill="none" stroke="#63b8ff" points="44.58,-197.38 42.63,-207.79 50.64,-200.87 44.58,-197.38"/>
+<path fill="none" stroke="#63b8ff" d="M226.08,-330.67C238.75,-284.85 260.78,-218.47 293,-167 303.3,-150.55 316.47,-134.52 329.91,-120.12"/>
+<polygon fill="none" stroke="#63b8ff" points="222.68,-329.84 223.45,-340.41 229.44,-331.67 222.68,-329.84"/>
</a>
</g>
</g>
@@ -61,83 +69,66 @@
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="177.5,-257 76.5,-257 76.5,-208 177.5,-208 177.5,-257"/>
-<text text-anchor="start" x="82" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">Array< tvm::Var ></text>
-<text text-anchor="start" x="125.5" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="125.5" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="77,-239.5 77,-239.5 178,-239.5 178,-239.5 77,-239.5"/>
-<polygon fill="#666666" stroke="#666666" points="77,-224.5 77,-224.5 178,-224.5 178,-224.5 77,-224.5"/>
-<polygon fill="none" stroke="#666666" points="76.5,-208 76.5,-257 177.5,-257 177.5,-208 76.5,-208"/>
+<polygon fill="white" stroke="transparent" points="58,-567.5 0,-567.5 0,-518.5 58,-518.5 58,-567.5"/>
+<text text-anchor="start" x="5" y="-555" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
+<text text-anchor="start" x="27" y="-540" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="27" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="0,-550 0,-550 58,-550 58,-550 0,-550"/>
+<polygon fill="#666666" stroke="#666666" points="0,-535 0,-535 58,-535 58,-535 0,-535"/>
+<polygon fill="none" stroke="#666666" points="0,-518.5 0,-567.5 58,-567.5 58,-518.5 0,-518.5"/>
</a>
</g>
</g>
-<!-- Node3->Node1 -->
-<g id="edge2_Node000001_Node000003" class="edge">
-<title>Node3->Node1</title>
-<g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M127,-207.79C127,-188.19 127,-159.3 127,-132.32"/>
-<polygon fill="none" stroke="#63b8ff" points="127,-132.1 123,-126.1 127,-120.1 131,-126.1 127,-132.1"/>
+<!-- Node3->Node2 -->
+<g id="edge2_Node000002_Node000003" class="edge">
+<title>Node3->Node2</title>
+<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M46.46,-509.64C52.28,-500.45 59.28,-490.82 67,-483 86.86,-462.9 111.56,-444.67 134.96,-429.6"/>
+<polygon fill="none" stroke="#63b8ff" points="43.43,-507.89 41.24,-518.25 49.42,-511.51 43.43,-507.89"/>
</a>
</g>
-<text text-anchor="middle" x="143.5" y="-141" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +vars</text>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
-<g id="a_Node000004"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Typed reference/view over any Expr whose ExprNode::ty is PrimType.">
-<polygon fill="white" stroke="transparent" points="380.5,-298 195.5,-298 195.5,-167 380.5,-167 380.5,-298"/>
-<text text-anchor="start" x="253.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
-<text text-anchor="start" x="200" y="-270.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-270.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_container_is</text>
-<text text-anchor="start" x="213" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">_exact</text>
-<text text-anchor="start" x="200" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
-<text text-anchor="start" x="200" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
-<text text-anchor="start" x="200" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
-<text text-anchor="start" x="200" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
-<text text-anchor="start" x="200" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="213" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="196,-280.5 196,-280.5 381,-280.5 381,-280.5 196,-280.5"/>
-<polygon fill="#666666" stroke="#666666" points="196,-254.5 196,-254.5 211,-254.5 211,-254.5 196,-254.5"/>
-<polygon fill="#666666" stroke="#666666" points="211,-254.5 211,-254.5 381,-254.5 381,-254.5 211,-254.5"/>
-<polygon fill="none" stroke="#666666" points="195.5,-167 195.5,-298 380.5,-298 380.5,-167 195.5,-167"/>
-</a>
-</g>
-</g>
-<!-- Node4->Node1 -->
-<g id="edge3_Node000001_Node000004" class="edge">
-<title>Node4->Node1</title>
-<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M226.67,-166.55C215.09,-154.29 202.94,-141.42 191.27,-129.06"/>
-<polygon fill="none" stroke="#63b8ff" points="191.11,-128.89 184.08,-127.28 182.87,-120.17 189.9,-121.78 191.11,-128.89"/>
-</a>
-</g>
-<text text-anchor="middle" x="224" y="-141" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +pred</text>
+<g id="a_Node000004"><a xlink:href="classtvm_1_1Span.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="transparent" points="240,-588 76,-588 76,-498 240,-498 240,-588"/>
+<text text-anchor="start" x="133" y="-576" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
+<text text-anchor="start" x="156" y="-561" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="80" y="-546" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="93" y="-546" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
+<text text-anchor="start" x="80" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="93" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="80" y="-516" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="93" y="-516" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="93" y="-505" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="76,-571 76,-571 240,-571 240,-571 76,-571"/>
+<polygon fill="#666666" stroke="#666666" points="76,-556 76,-556 240,-556 240,-556 76,-556"/>
+<polygon fill="none" stroke="#666666" points="76,-498 76,-588 240,-588 240,-498 76,-498"/>
+</a>
+</g>
+</g>
+<!-- Node4->Node2 -->
+<g id="edge3_Node000002_Node000004" class="edge">
+<title>Node4->Node2</title>
+<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M173.61,-497.86C179.74,-480.54 186.84,-460.47 193.31,-442.17"/>
+<polygon fill="none" stroke="#63b8ff" points="193.35,-442.07 191.58,-435.08 197.35,-430.75 199.12,-437.74 193.35,-442.07"/>
+</a>
+</g>
+<text text-anchor="middle" x="206.5" y="-457" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +span</text>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
-<g id="a_Node000005"><a xlink:href="classtvm_1_1TypedExpr.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="380.5,-436 195.5,-436 195.5,-335 380.5,-335 380.5,-436"/>
-<text text-anchor="start" x="216.5" y="-423.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypedExpr< PrimType ></text>
-<text text-anchor="start" x="200" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_container_is</text>
-<text text-anchor="start" x="213" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00">_exact</text>
-<text text-anchor="start" x="200" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">ty()</text>
-<text text-anchor="start" x="200" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00">TypedExpr()</text>
-<text text-anchor="start" x="200" y="-352.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-352.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="213" y="-341.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="196,-418.5 196,-418.5 381,-418.5 381,-418.5 196,-418.5"/>
-<polygon fill="#666666" stroke="#666666" points="196,-392.5 196,-392.5 211,-392.5 211,-392.5 196,-392.5"/>
-<polygon fill="#666666" stroke="#666666" points="211,-392.5 211,-392.5 381,-392.5 381,-392.5 211,-392.5"/>
-<polygon fill="none" stroke="#666666" points="195.5,-335 195.5,-436 380.5,-436 380.5,-335 195.5,-335"/>
+<g id="a_Node000005"><a xlink:title=" ">
+<polygon fill="white" stroke="transparent" points="388,-689 314,-689 314,-640 388,-640 388,-689"/>
+<text text-anchor="start" x="319" y="-676.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<text text-anchor="start" x="349" y="-661.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="349" y="-646.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="314,-671.5 314,-671.5 388,-671.5 388,-671.5 314,-671.5"/>
+<polygon fill="#666666" stroke="#666666" points="314,-656.5 314,-656.5 388,-656.5 388,-656.5 314,-656.5"/>
+<polygon fill="none" stroke="#666666" points="314,-640 314,-689 388,-689 388,-640 314,-640"/>
</a>
</g>
</g>
@@ -145,64 +136,180 @@
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node5->Node4</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M288,-324.59C288,-315.89 288,-306.91 288,-298.12"/>
-<polygon fill="none" stroke="#63b8ff" points="284.5,-324.64 288,-334.64 291.5,-324.64 284.5,-324.64"/>
+<path fill="none" stroke="#63b8ff" d="M305.01,-636.75C287.4,-626.36 267.18,-614.28 249,-603 241.32,-598.24 233.32,-593.18 225.39,-588.12"/>
+<polygon fill="none" stroke="#63b8ff" points="303.57,-639.96 313.96,-642.01 307.11,-633.92 303.57,-639.96"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
-<g id="a_Node000006"><a xlink:href="classtvm_1_1Expr.html" target="_top" xlink:title="Managed reference to ExprNode.">
-<polygon fill="white" stroke="transparent" points="380.5,-593 195.5,-593 195.5,-473 380.5,-473 380.5,-593"/>
-<text text-anchor="start" x="264.5" y="-581" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Expr</text>
-<text text-anchor="start" x="286.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="200" y="-551" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-551" font-family="Helvetica,sans-Serif" font-size="10.00">operator==()</text>
-<text text-anchor="start" x="200" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">operator!=()</text>
-<text text-anchor="start" x="200" y="-521" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-521" font-family="Helvetica,sans-Serif" font-size="10.00">operator<()</text>
-<text text-anchor="start" x="200" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">Expr()</text>
-<text text-anchor="start" x="200" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="213" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="213" y="-480" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="196,-576 196,-576 381,-576 381,-576 196,-576"/>
-<polygon fill="#666666" stroke="#666666" points="196,-561 196,-561 381,-561 381,-561 196,-561"/>
-<polygon fill="none" stroke="#666666" points="195.5,-473 195.5,-593 380.5,-593 380.5,-473 195.5,-473"/>
-</a>
-</g>
-</g>
-<!-- Node6->Node5 -->
-<g id="edge5_Node000005_Node000006" class="edge">
-<title>Node6->Node5</title>
-<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M288,-462.79C288,-453.86 288,-444.85 288,-436.32"/>
-<polygon fill="none" stroke="#63b8ff" points="284.5,-462.82 288,-472.82 291.5,-462.82 284.5,-462.82"/>
+<g id="a_Node000006"><a xlink:href="classtvm_1_1Type.html" target="_top" xlink:title="Managed reference to TypeNode.">
+<polygon fill="white" stroke="transparent" points="443.5,-580.5 258.5,-580.5 258.5,-505.5 443.5,-505.5 443.5,-580.5"/>
+<text text-anchor="start" x="327" y="-568" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Type</text>
+<text text-anchor="start" x="349.5" y="-553" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="263" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="276" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="276" y="-527" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<text text-anchor="start" x="263" y="-512" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="276" y="-512" font-family="Helvetica,sans-Serif" font-size="10.00">Missing()</text>
+<polygon fill="#666666" stroke="#666666" points="259,-563 259,-563 444,-563 444,-563 259,-563"/>
+<polygon fill="#666666" stroke="#666666" points="259,-548 259,-548 444,-548 444,-548 259,-548"/>
+<polygon fill="none" stroke="#666666" points="258.5,-505.5 258.5,-580.5 443.5,-580.5 443.5,-505.5 258.5,-505.5"/>
+</a>
+</g>
+</g>
+<!-- Node5->Node6 -->
+<g id="edge6_Node000006_Node000005" class="edge">
+<title>Node5->Node6</title>
+<g id="a_edge6_Node000006_Node000005"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M351,-629.82C351,-614.52 351,-596.39 351,-580.74"/>
+<polygon fill="none" stroke="#63b8ff" points="347.5,-629.89 351,-639.89 354.5,-629.89 347.5,-629.89"/>
+</a>
+</g>
+</g>
+<!-- Node10 -->
+<g id="Node000010" class="node">
+<title>Node10</title>
+<g id="a_Node000010"><a xlink:href="classtvm_1_1Expr.html" target="_top" xlink:title="Managed reference to ExprNode.">
+<polygon fill="white" stroke="transparent" points="646.5,-603 461.5,-603 461.5,-483 646.5,-483 646.5,-603"/>
+<text text-anchor="start" x="530.5" y="-591" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Expr</text>
+<text text-anchor="start" x="552.5" y="-576" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="466" y="-561" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="479" y="-561" font-family="Helvetica,sans-Serif" font-size="10.00">operator==()</text>
+<text text-anchor="start" x="466" y="-546" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="479" y="-546" font-family="Helvetica,sans-Serif" font-size="10.00">operator!=()</text>
+<text text-anchor="start" x="466" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="479" y="-531" font-family="Helvetica,sans-Serif" font-size="10.00">operator<()</text>
+<text text-anchor="start" x="466" y="-516" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="479" y="-516" font-family="Helvetica,sans-Serif" font-size="10.00">Expr()</text>
+<text text-anchor="start" x="466" y="-501" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="479" y="-501" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="479" y="-490" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="462,-586 462,-586 647,-586 647,-586 462,-586"/>
+<polygon fill="#666666" stroke="#666666" points="462,-571 462,-571 647,-571 647,-571 462,-571"/>
+<polygon fill="none" stroke="#666666" points="461.5,-483 461.5,-603 646.5,-603 646.5,-483 461.5,-483"/>
+</a>
+</g>
+</g>
+<!-- Node5->Node10 -->
+<g id="edge11_Node000010_Node000005" class="edge">
+<title>Node5->Node10</title>
+<g id="a_edge11_Node000010_Node000005"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M397,-636.42C416.1,-625.18 438.97,-611.71 461.28,-598.58"/>
+<polygon fill="none" stroke="#63b8ff" points="395.08,-633.49 388.23,-641.58 398.63,-639.53 395.08,-633.49"/>
</a>
</g>
</g>
+<!-- Node6->Node2 -->
+<g id="edge5_Node000002_Node000006" class="edge">
+<title>Node6->Node2</title>
+<g id="a_edge5_Node000002_Node000006"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M318.3,-505.15C300.93,-485.58 279.28,-461.18 260.13,-439.61"/>
+<polygon fill="none" stroke="#63b8ff" points="260.06,-439.53 253.09,-437.7 252.1,-430.55 259.07,-432.39 260.06,-439.53"/>
+</a>
+</g>
+<text text-anchor="middle" x="293" y="-457" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +ty</text>
+</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="325,-679 251,-679 251,-630 325,-630 325,-679"/>
-<text text-anchor="start" x="256" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="286" y="-651.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="286" y="-636.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="251,-661.5 251,-661.5 325,-661.5 325,-661.5 251,-661.5"/>
-<polygon fill="#666666" stroke="#666666" points="251,-646.5 251,-646.5 325,-646.5 325,-646.5 251,-646.5"/>
-<polygon fill="none" stroke="#666666" points="251,-630 251,-679 325,-679 325,-630 251,-630"/>
-</a>
-</g>
-</g>
-<!-- Node7->Node6 -->
-<g id="edge6_Node000006_Node000007" class="edge">
-<title>Node7->Node6</title>
-<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M288,-619.86C288,-611.54 288,-602.37 288,-593.22"/>
-<polygon fill="none" stroke="#63b8ff" points="284.5,-619.89 288,-629.89 291.5,-619.89 284.5,-619.89"/>
+<polygon fill="white" stroke="transparent" points="606.5,-257 505.5,-257 505.5,-208 606.5,-208 606.5,-257"/>
+<text text-anchor="start" x="511" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">Array< tvm::Var ></text>
+<text text-anchor="start" x="554.5" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="554.5" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="506,-239.5 506,-239.5 607,-239.5 607,-239.5 506,-239.5"/>
+<polygon fill="#666666" stroke="#666666" points="506,-224.5 506,-224.5 607,-224.5 607,-224.5 506,-224.5"/>
+<polygon fill="none" stroke="#666666" points="505.5,-208 505.5,-257 606.5,-257 606.5,-208 505.5,-208"/>
+</a>
+</g>
+</g>
+<!-- Node7->Node1 -->
+<g id="edge7_Node000001_Node000007" class="edge">
+<title>Node7->Node1</title>
+<g id="a_edge7_Node000001_Node000007"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M534.12,-207.85C522.78,-195.62 508.69,-180.47 496,-167 484.32,-154.59 471.83,-141.42 459.76,-128.72"/>
+<polygon fill="none" stroke="#63b8ff" points="459.76,-128.72 452.72,-127.13 451.48,-120.03 458.52,-121.62 459.76,-128.72"/>
+</a>
+</g>
+<text text-anchor="middle" x="492.5" y="-141" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +vars</text>
+</g>
+<!-- Node8 -->
+<g id="Node000008" class="node">
+<title>Node8</title>
+<g id="a_Node000008"><a xlink:href="classtvm_1_1PrimExpr.html" target="_top" xlink:title="Typed reference/view over any Expr whose ExprNode::ty is PrimType.">
+<polygon fill="white" stroke="transparent" points="487.5,-298 302.5,-298 302.5,-167 487.5,-167 487.5,-298"/>
+<text text-anchor="start" x="360.5" y="-285.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExpr</text>
+<text text-anchor="start" x="307" y="-270.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="320" y="-270.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_container_is</text>
+<text text-anchor="start" x="320" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">_exact</text>
+<text text-anchor="start" x="307" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="320" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
+<text text-anchor="start" x="307" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="320" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
+<text text-anchor="start" x="307" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="320" y="-214.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
+<text text-anchor="start" x="307" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="320" y="-199.5" font-family="Helvetica,sans-Serif" font-size="10.00">PrimExpr()</text>
+<text text-anchor="start" x="307" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="320" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="320" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="303,-280.5 303,-280.5 488,-280.5 488,-280.5 303,-280.5"/>
+<polygon fill="#666666" stroke="#666666" points="303,-254.5 303,-254.5 318,-254.5 318,-254.5 303,-254.5"/>
+<polygon fill="#666666" stroke="#666666" points="318,-254.5 318,-254.5 488,-254.5 488,-254.5 318,-254.5"/>
+<polygon fill="none" stroke="#666666" points="302.5,-167 302.5,-298 487.5,-298 487.5,-167 302.5,-167"/>
+</a>
+</g>
+</g>
+<!-- Node8->Node1 -->
+<g id="edge8_Node000001_Node000008" class="edge">
+<title>Node8->Node1</title>
+<g id="a_edge8_Node000001_Node000008"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M395,-166.55C395,-155.36 395,-143.67 395,-132.31"/>
+<polygon fill="none" stroke="#63b8ff" points="395,-132.17 391,-126.17 395,-120.17 399,-126.17 395,-132.17"/>
+</a>
+</g>
+<text text-anchor="middle" x="412" y="-141" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +pred</text>
+</g>
+<!-- Node9 -->
+<g id="Node000009" class="node">
+<title>Node9</title>
+<g id="a_Node000009"><a xlink:href="classtvm_1_1TypedExpr.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="transparent" points="516.5,-436 331.5,-436 331.5,-335 516.5,-335 516.5,-436"/>
+<text text-anchor="start" x="352.5" y="-423.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypedExpr< PrimType ></text>
+<text text-anchor="start" x="336" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="349" y="-408.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_container_is</text>
+<text text-anchor="start" x="349" y="-397.5" font-family="Helvetica,sans-Serif" font-size="10.00">_exact</text>
+<text text-anchor="start" x="336" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="349" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">ty()</text>
+<text text-anchor="start" x="336" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="349" y="-367.5" font-family="Helvetica,sans-Serif" font-size="10.00">TypedExpr()</text>
+<text text-anchor="start" x="336" y="-352.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="349" y="-352.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="349" y="-341.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="332,-418.5 332,-418.5 517,-418.5 517,-418.5 332,-418.5"/>
+<polygon fill="#666666" stroke="#666666" points="332,-392.5 332,-392.5 347,-392.5 347,-392.5 332,-392.5"/>
+<polygon fill="#666666" stroke="#666666" points="347,-392.5 347,-392.5 517,-392.5 517,-392.5 347,-392.5"/>
+<polygon fill="none" stroke="#666666" points="331.5,-335 331.5,-436 516.5,-436 516.5,-335 331.5,-335"/>
+</a>
+</g>
+</g>
+<!-- Node9->Node8 -->
+<g id="edge9_Node000008_Node000009" class="edge">
+<title>Node9->Node8</title>
+<g id="a_edge9_Node000008_Node000009"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M412.49,-324.59C410.82,-315.89 409.1,-306.91 407.41,-298.12"/>
+<polygon fill="none" stroke="#63b8ff" points="409.1,-325.48 414.42,-334.64 415.97,-324.16 409.1,-325.48"/>
+</a>
+</g>
+</g>
+<!-- Node10->Node9 -->
+<g id="edge10_Node000009_Node000010" class="edge">
+<title>Node10->Node9</title>
+<g id="a_edge10_Node000009_Node000010"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M497.83,-474.81C487.07,-461.94 475.97,-448.67 465.76,-436.45"/>
+<polygon fill="none" stroke="#63b8ff" points="495.38,-477.34 504.48,-482.77 500.75,-472.85 495.38,-477.34"/>
</a>
</g>
</g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__inherit__graph.svg
index 9bd95ee2628..12f3fd7e27d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExprNode__inherit__graph.svg
@@ -4,9 +4,9 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::tirx::LambdaExprNode Pages: 1 -->
-<svg width="164pt" height="243pt"
- viewBox="0.00 0.00 164.00 243.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 239)">
+<svg width="164pt" height="399pt"
+ viewBox="0.00 0.00 164.00 399.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 395)">
<title>tvm::tirx::LambdaExprNode</title>
<!-- Node1 -->
<g id="Node000001" class="node">
@@ -41,14 +41,26 @@
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
-<g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="107,-235 49,-235 49,-186 107,-186 107,-235"/>
-<text text-anchor="start" x="54" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="76" y="-207.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="76" y="-192.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="49,-217.5 49,-217.5 107,-217.5 107,-217.5 49,-217.5"/>
-<polygon fill="#666666" stroke="#666666" points="49,-202.5 49,-202.5 107,-202.5 107,-202.5 49,-202.5"/>
-<polygon fill="none" stroke="#666666" points="49,-186 49,-235 107,-235 107,-186 49,-186"/>
+<g id="a_Node000002"><a xlink:href="classtvm_1_1ExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
+<polygon fill="white" stroke="transparent" points="156,-306 0,-306 0,-186 156,-186 156,-306"/>
+<text text-anchor="start" x="41.5" y="-294" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ExprNode</text>
+<text text-anchor="start" x="4" y="-279" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-279" font-family="Helvetica,sans-Serif" font-size="10.00">span</text>
+<text text-anchor="start" x="4" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">ty</text>
+<text text-anchor="start" x="4" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">_type_s_eq_hash_kind</text>
+<text text-anchor="start" x="4" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">_type_child_slots</text>
+<text text-anchor="start" x="4" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-208" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-193" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-193" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-289 0,-289 156,-289 156,-289 0,-289"/>
+<polygon fill="#666666" stroke="#666666" points="0,-229 0,-229 15,-229 15,-229 0,-229"/>
+<polygon fill="#666666" stroke="#666666" points="15,-229 15,-229 156,-229 156,-229 15,-229"/>
+<polygon fill="none" stroke="#666666" points="0,-186 0,-306 156,-306 156,-186 0,-186"/>
</a>
</g>
</g>
@@ -56,8 +68,31 @@
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node2->Node1</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-175.69C78,-167.75 78,-158.98 78,-150.03"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-175.94 78,-185.94 81.5,-175.94 74.5,-175.94"/>
+<path fill="none" stroke="#63b8ff" d="M78,-175.75C78,-167.34 78,-158.71 78,-150.23"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-175.89 78,-185.89 81.5,-175.89 74.5,-175.89"/>
+</a>
+</g>
+</g>
+<!-- Node3 -->
+<g id="Node000003" class="node">
+<title>Node3</title>
+<g id="a_Node000003"><a xlink:title=" ">
+<polygon fill="white" stroke="transparent" points="107,-391 49,-391 49,-342 107,-342 107,-391"/>
+<text text-anchor="start" x="54" y="-378.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
+<text text-anchor="start" x="76" y="-363.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="76" y="-348.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="49,-373.5 49,-373.5 107,-373.5 107,-373.5 49,-373.5"/>
+<polygon fill="#666666" stroke="#666666" points="49,-358.5 49,-358.5 107,-358.5 107,-358.5 49,-358.5"/>
+<polygon fill="none" stroke="#666666" points="49,-342 49,-391 107,-391 107,-342 49,-342"/>
+</a>
+</g>
+</g>
+<!-- Node3->Node2 -->
+<g id="edge2_Node000002_Node000003" class="edge">
+<title>Node3->Node2</title>
+<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M78,-331.59C78,-323.71 78,-315.09 78,-306.47"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-331.8 78,-341.8 81.5,-331.8 74.5,-331.8"/>
</a>
</g>
</g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg
index 36b9c28189c..8a716065031 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__coll__graph.svg
@@ -4,39 +4,49 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::tirx::LambdaExpr Pages: 1 -->
-<svg width="172pt" height="168pt"
- viewBox="0.00 0.00 172.00 168.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 164)">
+<svg width="193pt" height="324pt"
+ viewBox="0.00 0.00 193.00 324.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 320)">
<title>tvm::tirx::LambdaExpr</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Managed reference to LambdaExprNode.">
-<polygon fill="#999999" stroke="transparent" points="164,-75 0,-75 0,0 164,0 164,-75"/>
-<text text-anchor="start" x="27.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExpr</text>
-<text text-anchor="start" x="80" y="-47.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="4" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExpr()</text>
-<text text-anchor="start" x="4" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="17" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-57.5 0,-57.5 164,-57.5 164,-57.5 0,-57.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-42.5 0,-42.5 164,-42.5 164,-42.5 0,-42.5"/>
-<polygon fill="none" stroke="#666666" points="0,0 0,-75 164,-75 164,0 0,0"/>
+<polygon fill="#999999" stroke="transparent" points="185,-75 0,-75 0,0 185,0 185,-75"/>
+<text text-anchor="start" x="38.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExpr</text>
+<text text-anchor="start" x="91" y="-47.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4.5" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExpr()</text>
+<text text-anchor="start" x="4.5" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="17.5" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="0.5,-57.5 0.5,-57.5 185.5,-57.5 185.5,-57.5 0.5,-57.5"/>
+<polygon fill="#666666" stroke="#666666" points="0.5,-42.5 0.5,-42.5 185.5,-42.5 185.5,-42.5 0.5,-42.5"/>
+<polygon fill="none" stroke="#666666" points="0,0 0,-75 185,-75 185,0 0,0"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
-<g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="119,-160 45,-160 45,-111 119,-111 119,-160"/>
-<text text-anchor="start" x="50" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="80" y="-132.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="80" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="45,-142.5 45,-142.5 119,-142.5 119,-142.5 45,-142.5"/>
-<polygon fill="#666666" stroke="#666666" points="45,-127.5 45,-127.5 119,-127.5 119,-127.5 45,-127.5"/>
-<polygon fill="none" stroke="#666666" points="45,-111 45,-160 119,-160 119,-111 45,-111"/>
+<g id="a_Node000002"><a xlink:href="classtvm_1_1Expr.html" target="_top" xlink:title="Managed reference to ExprNode.">
+<polygon fill="white" stroke="transparent" points="185,-231 0,-231 0,-111 185,-111 185,-231"/>
+<text text-anchor="start" x="69" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Expr</text>
+<text text-anchor="start" x="91" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4.5" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">operator==()</text>
+<text text-anchor="start" x="4.5" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">operator!=()</text>
+<text text-anchor="start" x="4.5" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">operator<()</text>
+<text text-anchor="start" x="4.5" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">Expr()</text>
+<text text-anchor="start" x="4.5" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="17.5" y="-118" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="0.5,-214 0.5,-214 185.5,-214 185.5,-214 0.5,-214"/>
+<polygon fill="#666666" stroke="#666666" points="0.5,-199 0.5,-199 185.5,-199 185.5,-199 0.5,-199"/>
+<polygon fill="none" stroke="#666666" points="0,-111 0,-231 185,-231 185,-111 0,-111"/>
</a>
</g>
</g>
@@ -44,8 +54,31 @@
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node2->Node1</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M82,-100.68C82,-92.38 82,-83.46 82,-75.04"/>
-<polygon fill="none" stroke="#63b8ff" points="78.5,-100.77 82,-110.77 85.5,-100.77 78.5,-100.77"/>
+<path fill="none" stroke="#63b8ff" d="M92.5,-100.52C92.5,-91.77 92.5,-83.11 92.5,-75.16"/>
+<polygon fill="none" stroke="#63b8ff" points="89,-100.79 92.5,-110.79 96,-100.79 89,-100.79"/>
+</a>
+</g>
+</g>
+<!-- Node3 -->
+<g id="Node000003" class="node">
+<title>Node3</title>
+<g id="a_Node000003"><a xlink:title=" ">
+<polygon fill="white" stroke="transparent" points="129.5,-316 55.5,-316 55.5,-267 129.5,-267 129.5,-316"/>
+<text text-anchor="start" x="60.5" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<text text-anchor="start" x="90.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="90.5" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="55.5,-298.5 55.5,-298.5 129.5,-298.5 129.5,-298.5 55.5,-298.5"/>
+<polygon fill="#666666" stroke="#666666" points="55.5,-283.5 55.5,-283.5 129.5,-283.5 129.5,-283.5 55.5,-283.5"/>
+<polygon fill="none" stroke="#666666" points="55.5,-267 55.5,-316 129.5,-316 129.5,-267 55.5,-267"/>
+</a>
+</g>
+</g>
+<!-- Node3->Node2 -->
+<g id="edge2_Node000002_Node000003" class="edge">
+<title>Node3->Node2</title>
+<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M92.5,-256.59C92.5,-248.71 92.5,-240.09 92.5,-231.47"/>
+<polygon fill="none" stroke="#63b8ff" points="89,-256.8 92.5,-266.8 96,-256.8 89,-256.8"/>
</a>
</g>
</g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg
index 36b9c28189c..8a716065031 100644
--- a/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1tirx_1_1LambdaExpr__inherit__graph.svg
@@ -4,39 +4,49 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: tvm::tirx::LambdaExpr Pages: 1 -->
-<svg width="172pt" height="168pt"
- viewBox="0.00 0.00 172.00 168.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 164)">
+<svg width="193pt" height="324pt"
+ viewBox="0.00 0.00 193.00 324.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 320)">
<title>tvm::tirx::LambdaExpr</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Managed reference to LambdaExprNode.">
-<polygon fill="#999999" stroke="transparent" points="164,-75 0,-75 0,0 164,0 164,-75"/>
-<text text-anchor="start" x="27.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExpr</text>
-<text text-anchor="start" x="80" y="-47.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="4" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExpr()</text>
-<text text-anchor="start" x="4" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="17" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-57.5 0,-57.5 164,-57.5 164,-57.5 0,-57.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-42.5 0,-42.5 164,-42.5 164,-42.5 0,-42.5"/>
-<polygon fill="none" stroke="#666666" points="0,0 0,-75 164,-75 164,0 0,0"/>
+<polygon fill="#999999" stroke="transparent" points="185,-75 0,-75 0,0 185,0 185,-75"/>
+<text text-anchor="start" x="38.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExpr</text>
+<text text-anchor="start" x="91" y="-47.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4.5" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">LambdaExpr()</text>
+<text text-anchor="start" x="4.5" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-17.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="17.5" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="0.5,-57.5 0.5,-57.5 185.5,-57.5 185.5,-57.5 0.5,-57.5"/>
+<polygon fill="#666666" stroke="#666666" points="0.5,-42.5 0.5,-42.5 185.5,-42.5 185.5,-42.5 0.5,-42.5"/>
+<polygon fill="none" stroke="#666666" points="0,0 0,-75 185,-75 185,0 0,0"/>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
-<g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="119,-160 45,-160 45,-111 119,-111 119,-160"/>
-<text text-anchor="start" x="50" y="-147.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="80" y="-132.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="80" y="-117.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="45,-142.5 45,-142.5 119,-142.5 119,-142.5 45,-142.5"/>
-<polygon fill="#666666" stroke="#666666" points="45,-127.5 45,-127.5 119,-127.5 119,-127.5 45,-127.5"/>
-<polygon fill="none" stroke="#666666" points="45,-111 45,-160 119,-160 119,-111 45,-111"/>
+<g id="a_Node000002"><a xlink:href="classtvm_1_1Expr.html" target="_top" xlink:title="Managed reference to ExprNode.">
+<polygon fill="white" stroke="transparent" points="185,-231 0,-231 0,-111 185,-111 185,-231"/>
+<text text-anchor="start" x="69" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Expr</text>
+<text text-anchor="start" x="91" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4.5" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">operator==()</text>
+<text text-anchor="start" x="4.5" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">operator!=()</text>
+<text text-anchor="start" x="4.5" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">operator<()</text>
+<text text-anchor="start" x="4.5" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">Expr()</text>
+<text text-anchor="start" x="4.5" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17.5" y="-129" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="17.5" y="-118" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NOTNULLABLE()</text>
+<polygon fill="#666666" stroke="#666666" points="0.5,-214 0.5,-214 185.5,-214 185.5,-214 0.5,-214"/>
+<polygon fill="#666666" stroke="#666666" points="0.5,-199 0.5,-199 185.5,-199 185.5,-199 0.5,-199"/>
+<polygon fill="none" stroke="#666666" points="0,-111 0,-231 185,-231 185,-111 0,-111"/>
</a>
</g>
</g>
@@ -44,8 +54,31 @@
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node2->Node1</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M82,-100.68C82,-92.38 82,-83.46 82,-75.04"/>
-<polygon fill="none" stroke="#63b8ff" points="78.5,-100.77 82,-110.77 85.5,-100.77 78.5,-100.77"/>
+<path fill="none" stroke="#63b8ff" d="M92.5,-100.52C92.5,-91.77 92.5,-83.11 92.5,-75.16"/>
+<polygon fill="none" stroke="#63b8ff" points="89,-100.79 92.5,-110.79 96,-100.79 89,-100.79"/>
+</a>
+</g>
+</g>
+<!-- Node3 -->
+<g id="Node000003" class="node">
+<title>Node3</title>
+<g id="a_Node000003"><a xlink:title=" ">
+<polygon fill="white" stroke="transparent" points="129.5,-316 55.5,-316 55.5,-267 129.5,-267 129.5,-316"/>
+<text text-anchor="start" x="60.5" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
+<text text-anchor="start" x="90.5" y="-288.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="90.5" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="55.5,-298.5 55.5,-298.5 129.5,-298.5 129.5,-298.5 55.5,-298.5"/>
+<polygon fill="#666666" stroke="#666666" points="55.5,-283.5 55.5,-283.5 129.5,-283.5 129.5,-283.5 55.5,-283.5"/>
+<polygon fill="none" stroke="#666666" points="55.5,-267 55.5,-316 129.5,-316 129.5,-267 55.5,-267"/>
+</a>
+</g>
+</g>
+<!-- Node3->Node2 -->
+<g id="edge2_Node000002_Node000003" class="edge">
+<title>Node3->Node2</title>
+<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M92.5,-256.59C92.5,-248.71 92.5,-240.09 92.5,-231.47"/>
+<polygon fill="none" stroke="#63b8ff" points="89,-256.8 92.5,-266.8 96,-256.8 89,-256.8"/>
</a>
</g>
</g>
diff --git a/docs/reference/api/doxygen/functions_func_t.html b/docs/reference/api/doxygen/functions_func_t.html
index 39a72bae12a..17862399834 100644
--- a/docs/reference/api/doxygen/functions_func_t.html
+++ b/docs/reference/api/doxygen/functions_func_t.html
@@ -130,12 +130,12 @@ $(function() {
<li>TupleTypeNode() : <a class="el" href="classtvm_1_1TupleTypeNode.html#a1e9cbe8e91816366c181fb888ddc18d9">tvm::TupleTypeNode</a></li>
<li>TVM_DEFINE_OBJECT_REF_COW_METHOD() : <a class="el" href="classtvm_1_1Call.html#ac7f8d11aa54e549a1154d2d2bd25c461">tvm::Call</a>, <a class="el" href="classtvm_1_1DataTypeImm.html#a550c40d2c8220fbc07141cc071a38836">tvm::DataTypeImm</a>, <a class="el" href="classtvm_1_1DictAttrs.html#adcb7e5ecede9d976bda30fb3f762c953">tvm::DictAttrs</a>, <a class="el" href="classtvm_1_1FloatImm.html#a5c013e700cbd3ee4531996f9fbc672e2">tvm::FloatImm</a>, <a class="el" href="classtvm_1_1GenericCo [...]
<li>TVM_FFI_DECLARE_OBJECT_INFO() : <a class="el" href="classtvm_1_1AttrsNode.html#ae4806aea36c99253f52625489497803e">tvm::AttrsNode</a>, <a class="el" href="classtvm_1_1BaseFuncNode.html#a92a7f720142c275784235eb9905ee835">tvm::BaseFuncNode</a>, <a class="el" href="classtvm_1_1ConstantNode.html#a7ac1b77b387c65100e701bc11dc958e0">tvm::ConstantNode</a>, <a class="el" href="classtvm_1_1ExprNode.html#a79424fe36b005bfd36e56dfcfcb4a118">tvm::ExprNode</a>, <a class="el" href="classtvm [...]
-<li>TVM_FFI_DECLARE_OBJECT_INFO_FINAL() : <a class="el" href="classtvm_1_1AnyTypeNode.html#a1c2008016781a41f62c803986aaad81f">tvm::AnyTypeNode</a>, <a class="el" href="classtvm_1_1ArgumentInfoNode.html#ad5d4e5da3f0998f96b3155ae48b844cc">tvm::ArgumentInfoNode</a>, <a class="el" href="classtvm_1_1CallNode.html#a42c51a5b545660d81ba92cb39ad4382c">tvm::CallNode</a>, <a class="el" href="classtvm_1_1DataTypeImmNode.html#acb83f2dc7ea2f07b8f0f409f34f48d70">tvm::DataTypeImmNode</a>, <a c [...]
+<li>TVM_FFI_DECLARE_OBJECT_INFO_FINAL() : <a class="el" href="classtvm_1_1AnyTypeNode.html#a1c2008016781a41f62c803986aaad81f">tvm::AnyTypeNode</a>, <a class="el" href="classtvm_1_1ArgumentInfoNode.html#ad5d4e5da3f0998f96b3155ae48b844cc">tvm::ArgumentInfoNode</a>, <a class="el" href="classtvm_1_1CallNode.html#a42c51a5b545660d81ba92cb39ad4382c">tvm::CallNode</a>, <a class="el" href="classtvm_1_1DataTypeImmNode.html#acb83f2dc7ea2f07b8f0f409f34f48d70">tvm::DataTypeImmNode</a>, <a c [...]
<li>TVM_FFI_DECLARE_OBJECT_INFO_PREDEFINED_TYPE_KEY() : <a class="el" href="classtvm_1_1prim_1_1BinaryOpNode.html#a4ea9d6d505a52f8c48703981630df05c">tvm::prim::BinaryOpNode< T ></a>, <a class="el" href="classtvm_1_1prim_1_1CmpOpNode.html#a6f8cddcdbc85626674cffa6d59c585d7">tvm::prim::CmpOpNode< T ></a></li>
<li>TVM_FFI_DECLARE_OBJECT_INFO_STATIC() : <a class="el" href="classtvm_1_1runtime_1_1DRefObj.html#a18ed3c1a2f001484e33295fd0b7476aa">tvm::runtime::DRefObj</a></li>
<li>TVM_FFI_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN() : <a class="el" href="classtvm_1_1tirx_1_1BufferVar.html#af3f1683463a646192ae0ce3f2c744a5e">tvm::tirx::BufferVar</a></li>
-<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE() : <a class="el" href="classtvm_1_1AnyType.html#a801577ea879428083b5da2e81a58e62f">tvm::AnyType</a>, <a class="el" href="classtvm_1_1BaseFunc.html#a496463fef22ee43ebd9ace59626a0348">tvm::BaseFunc</a>, <a class="el" href="classtvm_1_1Call.html#a0f4ec23aeb4d11f55841170c3293e37a">tvm::Call</a>, <a class="el" href="classtvm_1_1Constant.html#a024d132ab1c462a83b0f752fda6299dc">tvm::Constant</a>, <a class="el" href="classtvm_1_1DataTy [...]
-<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE() : <a class="el" href="classtvm_1_1ArgumentInfo.html#ad079f3045ac104e7107ebc3197447462">tvm::ArgumentInfo</a>, <a class="el" href="classtvm_1_1Attrs.html#af88d2fff186ab0af971db3a281cae1ce">tvm::Attrs</a>, <a class="el" href="classtvm_1_1GlobalInfo.html#af82b716ca0477f2bd23aa4a526466126">tvm::GlobalInfo</a>, <a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html#ade11cd389d2120e4ec7d98da4d97e5b2">tvm::instrument::PassIns [...]
+<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE() : <a class="el" href="classtvm_1_1AnyType.html#a801577ea879428083b5da2e81a58e62f">tvm::AnyType</a>, <a class="el" href="classtvm_1_1BaseFunc.html#a496463fef22ee43ebd9ace59626a0348">tvm::BaseFunc</a>, <a class="el" href="classtvm_1_1Call.html#a0f4ec23aeb4d11f55841170c3293e37a">tvm::Call</a>, <a class="el" href="classtvm_1_1Constant.html#a024d132ab1c462a83b0f752fda6299dc">tvm::Constant</a>, <a class="el" href="classtvm_1_1DataTy [...]
+<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE() : <a class="el" href="classtvm_1_1ArgumentInfo.html#ad079f3045ac104e7107ebc3197447462">tvm::ArgumentInfo</a>, <a class="el" href="classtvm_1_1Attrs.html#af88d2fff186ab0af971db3a281cae1ce">tvm::Attrs</a>, <a class="el" href="classtvm_1_1GlobalInfo.html#af82b716ca0477f2bd23aa4a526466126">tvm::GlobalInfo</a>, <a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html#ade11cd389d2120e4ec7d98da4d97e5b2">tvm::instrument::PassIns [...]
<li>ty() : <a class="el" href="classtvm_1_1TypedExpr.html#a7d83b1f31a1cc6f0774df309e207e678">tvm::TypedExpr< ExpectedType ></a></li>
<li>type() : <a class="el" href="classtvm_1_1runtime_1_1memory_1_1Allocator.html#a5690ce0a8e9e25bd8e5568173cc0b1bb">tvm::runtime::memory::Allocator</a>, <a class="el" href="classtvm_1_1tirx_1_1BufferVar.html#ab1b4f3d6f2416c6d2c3fceefaaa2242e">tvm::tirx::BufferVar</a></li>
<li>TypedEnvFunc() : <a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc< R(Args...)></a></li>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index e8451962b35..d0532f3d251 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -165,12 +165,12 @@ $(function() {
<li>TupleTypeNode() : <a class="el" href="classtvm_1_1TupleTypeNode.html#a1e9cbe8e91816366c181fb888ddc18d9">tvm::TupleTypeNode</a></li>
<li>TVM_DEFINE_OBJECT_REF_COW_METHOD() : <a class="el" href="classtvm_1_1Call.html#ac7f8d11aa54e549a1154d2d2bd25c461">tvm::Call</a>, <a class="el" href="classtvm_1_1DataTypeImm.html#a550c40d2c8220fbc07141cc071a38836">tvm::DataTypeImm</a>, <a class="el" href="classtvm_1_1DictAttrs.html#adcb7e5ecede9d976bda30fb3f762c953">tvm::DictAttrs</a>, <a class="el" href="classtvm_1_1FloatImm.html#a5c013e700cbd3ee4531996f9fbc672e2">tvm::FloatImm</a>, <a class="el" href="classtvm_1_1GenericCo [...]
<li>TVM_FFI_DECLARE_OBJECT_INFO() : <a class="el" href="classtvm_1_1AttrsNode.html#ae4806aea36c99253f52625489497803e">tvm::AttrsNode</a>, <a class="el" href="classtvm_1_1BaseFuncNode.html#a92a7f720142c275784235eb9905ee835">tvm::BaseFuncNode</a>, <a class="el" href="classtvm_1_1ConstantNode.html#a7ac1b77b387c65100e701bc11dc958e0">tvm::ConstantNode</a>, <a class="el" href="classtvm_1_1ExprNode.html#a79424fe36b005bfd36e56dfcfcb4a118">tvm::ExprNode</a>, <a class="el" href="classtvm [...]
-<li>TVM_FFI_DECLARE_OBJECT_INFO_FINAL() : <a class="el" href="classtvm_1_1AnyTypeNode.html#a1c2008016781a41f62c803986aaad81f">tvm::AnyTypeNode</a>, <a class="el" href="classtvm_1_1ArgumentInfoNode.html#ad5d4e5da3f0998f96b3155ae48b844cc">tvm::ArgumentInfoNode</a>, <a class="el" href="classtvm_1_1CallNode.html#a42c51a5b545660d81ba92cb39ad4382c">tvm::CallNode</a>, <a class="el" href="classtvm_1_1DataTypeImmNode.html#acb83f2dc7ea2f07b8f0f409f34f48d70">tvm::DataTypeImmNode</a>, <a c [...]
+<li>TVM_FFI_DECLARE_OBJECT_INFO_FINAL() : <a class="el" href="classtvm_1_1AnyTypeNode.html#a1c2008016781a41f62c803986aaad81f">tvm::AnyTypeNode</a>, <a class="el" href="classtvm_1_1ArgumentInfoNode.html#ad5d4e5da3f0998f96b3155ae48b844cc">tvm::ArgumentInfoNode</a>, <a class="el" href="classtvm_1_1CallNode.html#a42c51a5b545660d81ba92cb39ad4382c">tvm::CallNode</a>, <a class="el" href="classtvm_1_1DataTypeImmNode.html#acb83f2dc7ea2f07b8f0f409f34f48d70">tvm::DataTypeImmNode</a>, <a c [...]
<li>TVM_FFI_DECLARE_OBJECT_INFO_PREDEFINED_TYPE_KEY() : <a class="el" href="classtvm_1_1prim_1_1BinaryOpNode.html#a4ea9d6d505a52f8c48703981630df05c">tvm::prim::BinaryOpNode< T ></a>, <a class="el" href="classtvm_1_1prim_1_1CmpOpNode.html#a6f8cddcdbc85626674cffa6d59c585d7">tvm::prim::CmpOpNode< T ></a></li>
<li>TVM_FFI_DECLARE_OBJECT_INFO_STATIC() : <a class="el" href="classtvm_1_1runtime_1_1DRefObj.html#a18ed3c1a2f001484e33295fd0b7476aa">tvm::runtime::DRefObj</a></li>
<li>TVM_FFI_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN() : <a class="el" href="classtvm_1_1tirx_1_1BufferVar.html#af3f1683463a646192ae0ce3f2c744a5e">tvm::tirx::BufferVar</a></li>
-<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE() : <a class="el" href="classtvm_1_1AnyType.html#a801577ea879428083b5da2e81a58e62f">tvm::AnyType</a>, <a class="el" href="classtvm_1_1BaseFunc.html#a496463fef22ee43ebd9ace59626a0348">tvm::BaseFunc</a>, <a class="el" href="classtvm_1_1Call.html#a0f4ec23aeb4d11f55841170c3293e37a">tvm::Call</a>, <a class="el" href="classtvm_1_1Constant.html#a024d132ab1c462a83b0f752fda6299dc">tvm::Constant</a>, <a class="el" href="classtvm_1_1DataTy [...]
-<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE() : <a class="el" href="classtvm_1_1ArgumentInfo.html#ad079f3045ac104e7107ebc3197447462">tvm::ArgumentInfo</a>, <a class="el" href="classtvm_1_1Attrs.html#af88d2fff186ab0af971db3a281cae1ce">tvm::Attrs</a>, <a class="el" href="classtvm_1_1GlobalInfo.html#af82b716ca0477f2bd23aa4a526466126">tvm::GlobalInfo</a>, <a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html#ade11cd389d2120e4ec7d98da4d97e5b2">tvm::instrument::PassIns [...]
+<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE() : <a class="el" href="classtvm_1_1AnyType.html#a801577ea879428083b5da2e81a58e62f">tvm::AnyType</a>, <a class="el" href="classtvm_1_1BaseFunc.html#a496463fef22ee43ebd9ace59626a0348">tvm::BaseFunc</a>, <a class="el" href="classtvm_1_1Call.html#a0f4ec23aeb4d11f55841170c3293e37a">tvm::Call</a>, <a class="el" href="classtvm_1_1Constant.html#a024d132ab1c462a83b0f752fda6299dc">tvm::Constant</a>, <a class="el" href="classtvm_1_1DataTy [...]
+<li>TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE() : <a class="el" href="classtvm_1_1ArgumentInfo.html#ad079f3045ac104e7107ebc3197447462">tvm::ArgumentInfo</a>, <a class="el" href="classtvm_1_1Attrs.html#af88d2fff186ab0af971db3a281cae1ce">tvm::Attrs</a>, <a class="el" href="classtvm_1_1GlobalInfo.html#af82b716ca0477f2bd23aa4a526466126">tvm::GlobalInfo</a>, <a class="el" href="classtvm_1_1instrument_1_1PassInstrument.html#ade11cd389d2120e4ec7d98da4d97e5b2">tvm::instrument::PassIns [...]
<li>ty : <a class="el" href="classtvm_1_1ExprNode.html#a4c2a9b792a5ec422d8e04d6d78707fcb">tvm::ExprNode</a>, <a class="el" href="classtvm_1_1relax_1_1MatchCastNode.html#a93a4d080db242436bdee1ae702536324">tvm::relax::MatchCastNode</a>, <a class="el" href="classtvm_1_1relax_1_1TypePatternNode.html#a4c785bb96db69e2bb8b6741009483279">tvm::relax::TypePatternNode</a>, <a class="el" href="classtvm_1_1TypedExpr.html#a7d83b1f31a1cc6f0774df309e207e678">tvm::TypedExpr< ExpectedType > [...]
<li>ty_args : <a class="el" href="classtvm_1_1CallNode.html#aea255b3c2342dc40ac3b2a4af9d332a0">tvm::CallNode</a></li>
<li>ty_args_info : <a class="el" href="classtvm_1_1OpNode.html#a59a1176e5da55aa98a8447c2da8e3830">tvm::OpNode</a></li>
diff --git a/docs/reference/api/doxygen/hierarchy.html b/docs/reference/api/doxygen/hierarchy.html
index 1c03752208c..e16d5fadf6c 100644
--- a/docs/reference/api/doxygen/hierarchy.html
+++ b/docs/reference/api/doxygen/hierarchy.html
@@ -308,6 +308,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_45_3_46_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span id="arr_45_3_46_" class="arrow" onclick="toggleFolder('45_3_46_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1sym_1_1IterMapExprNode.html" target="_self">tvm::sym::IterMapExprNode</a></td><td class="desc">Base class of all iter map expressions </td></tr>
<tr id="row_45_3_46_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_1sym_1_1IterSplitExprNode.html" target="_self">tvm::sym::IterSplitExprNode</a></td><td class="desc">Split of an iterator </td></tr>
<tr id="row_45_3_46_1_" 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_1sym_1_1IterSumExprNode.html" target="_self">tvm::sym::IterSumExprNode</a></td><td class="desc">Fuse multiple iterators by summing them with scaling </td></tr>
+<tr id="row_45_3_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="classtvm_1_1tirx_1_1LambdaExprNode.html" target="_self">tvm::tirx::LambdaExprNode</a></td><td class="desc">A reified Python lambda: a list of bound variables and a body over them </td></tr>
<tr id="row_45_4_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_4_" class="arrow" onclick="toggleFolder('45_4_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalInfoNode.html" target="_self">tvm::GlobalInfoNode</a></td><td class="desc"><a class="el" href="classtvm_1_1GlobalInfo.html" title="Managed reference to GlobalInfoNode.">GlobalInfo</a> are [...]
<tr id="row_45_4_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DummyGlobalInfoNode.html" target="_self">tvm::relax::DummyGlobalInfoNode</a></td><td class="desc">A dummy global info sub-class for testing purpose </td></tr>
<tr id="row_45_4_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VDeviceNode.html" target="_self">tvm::relax::VDeviceNode</a></td><td class="desc">A global info subclass for virtual devices </td></tr>
@@ -511,37 +512,36 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_45_87_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ExecScopeNode.html" target="_self">tvm::tirx::ExecScopeNode</a></td><td class="desc"></td></tr>
<tr id="row_45_88_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IndexMapNode.html" target="_self">tvm::tirx::IndexMapNode</a></td><td class="desc">Defines a mapping between two representations of indices into a buffer </td></tr>
<tr id="row_45_89_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IterNode.html" target="_self">tvm::tirx::IterNode</a></td><td class="desc"></td></tr>
-<tr id="row_45_90_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html" target="_self">tvm::tirx::LambdaExprNode</a></td><td class="desc">A reified Python lambda: a list of bound variables and a body over them </td></tr>
-<tr id="row_45_91_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_91_" class="arrow" onclick="toggleFolder('45_91_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1LayoutNode.html" target="_self">tvm::tirx::LayoutNode</a></td><td class="desc"></td></tr>
-<tr id="row_45_91_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ComposeLayoutNode.html" target="_self">tvm::tirx::ComposeLayoutNode</a></td><td class="desc"></td></tr>
-<tr id="row_45_91_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TileLayoutNode.html" target="_self">tvm::tirx::TileLayoutNode</a></td><td class="desc"></td></tr>
-<tr id="row_45_92_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBijectiveLayoutNode.html" target="_self">tvm::tirx::SBijectiveLayoutNode</a></td><td class="desc"></td></tr>
-<tr id="row_45_93_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" target="_self">tvm::tirx::SBlockDependenceInfoNode</a></td><td class="desc">An object that helps build and query block level dependences using the 2 core objects <a class="el" href="classtvm_1_1tirx_1_1SBlockScope.html" title="Managed [...]
-<tr id="row_45_94_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockScopeNode.html" target="_self">tvm::tirx::SBlockScopeNode</a></td><td class="desc">An object with 1-to-1 correspondence with each block reference in the sref tree. This data structure is used to track the producer-consumer dependencies between blocks. <a clas [...]
-<tr id="row_45_95_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SLayoutNode.html" target="_self">tvm::tirx::SLayoutNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tirx_1_1SLayout.html" title="Managed reference to SLayoutNode.">SLayout</a> is to describe how data is organized within an N-dimention tensor. It is com [...]
-<tr id="row_45_96_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefNode.html" target="_self">tvm::tirx::ScopeIdDefNode</a></td><td class="desc"></td></tr>
-<tr id="row_45_97_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_97_" class="arrow" onclick="toggleFolder('45_97_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1StmtNode.html" target="_self">tvm::tirx::StmtNode</a></td><td class="desc">Base node of all statements </td></tr>
-<tr id="row_45_97_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlockNode.html" target="_self">tvm::s_tir::SBlockNode</a></td><td class="desc">A block is a basic schedule unit in TIR </td></tr>
-<tr id="row_45_97_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlockRealizeNode.html" target="_self">tvm::s_tir::SBlockRealizeNode</a></td><td class="desc">A block realization node represents execution of the block at the binding values </td></tr>
-<tr id="row_45_97_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AssertStmtNode.html" target="_self">tvm::tirx::AssertStmtNode</a></td><td class="desc">Assert condition, if an error occurs, return the error message </td></tr>
-<tr id="row_45_97_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AttrStmtNode.html" target="_self">tvm::tirx::AttrStmtNode</a></td><td class="desc">Define certain auxiliary attribute for the body to be a symbolic value. This provide auxiliary information for IR passes that transforms body </td></tr>
-<tr id="row_45_97_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BindNode.html" target="_self">tvm::tirx::BindNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tirx_1_1Bind.html" title="Managed reference to BindNode.">Bind</a> a variable to a value in the enclosing scope </td></tr>
-<tr id="row_45_97_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BreakNode.html" target="_self">tvm::tirx::BreakNode</a></td><td class="desc">A <a class="el" href="classtvm_1_1tirx_1_1Break.html" title="Managed reference to BreakNode.">Break</a> in control flow </td></tr>
-<tr id="row_45_97_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BufferStoreNode.html" target="_self">tvm::tirx::BufferStoreNode</a></td><td class="desc">Store value to the high dimension buffer </td></tr>
-<tr id="row_45_97_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ContinueNode.html" target="_self">tvm::tirx::ContinueNode</a></td><td class="desc">A <a class="el" href="classtvm_1_1tirx_1_1Continue.html" title="Managed reference to ContinueNode.">Continue</a> in control flow </td></tr>
-<tr id="row_45_97_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1EvaluateNode.html" target="_self">tvm::tirx::EvaluateNode</a></td><td class="desc">Evaluates an expression. This is mostly used for putting a <a class="el" href="classtvm_1_1Call.html" title="Managed reference to CallNode.">Call</a> node into <a class="el" href=" [...]
-<tr id="row_45_97_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ForNode.html" target="_self">tvm::tirx::ForNode</a></td><td class="desc">A for loop, with possible type annotations </td></tr>
-<tr id="row_45_97_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IfThenElseNode.html" target="_self">tvm::tirx::IfThenElseNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tirx_1_1IfThenElse.html" title="Managed reference to IfThenElseNode.">IfThenElse</a> statement </td></tr>
-<tr id="row_45_97_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ReturnNode.html" target="_self">tvm::tirx::ReturnNode</a></td><td class="desc">A return from the current function </td></tr>
-<tr id="row_45_97_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefStmtNode.html" target="_self">tvm::tirx::ScopeIdDefStmtNode</a></td><td class="desc">Standalone statement that declares a scope-id binding (e.g. cta_id, warp_id, lane_id). Carries a <code><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDef.html">ScopeId [...]
-<tr id="row_45_97_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SeqStmtNode.html" target="_self">tvm::tirx::SeqStmtNode</a></td><td class="desc">The container of seq statement. Represent a sequence of statements </td></tr>
-<tr id="row_45_97_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCallNode.html" target="_self">tvm::tirx::TilePrimitiveCallNode</a></td><td class="desc">TIRX <a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCall.html" title="Managed reference to TilePrimitiveCallNode.">TilePrimitiveCall</a> stmt </td></tr>
-<tr id="row_45_97_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1WhileNode.html" target="_self">tvm::tirx::WhileNode</a></td><td class="desc">A <a class="el" href="classtvm_1_1tirx_1_1While.html" title="Managed reference to WhileNode.">While</a> loop </td></tr>
-<tr id="row_45_98_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1StmtSRefNode.html" target="_self">tvm::tirx::StmtSRefNode</a></td><td class="desc">An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref" </td></tr>
-<tr id="row_45_99_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html" target="_self">tvm::transform::PassContextNode</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html" title="PassContextNode contains the information that a pass can rely on, such as analysis results." [...]
-<tr id="row_45_100_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html" target="_self">tvm::transform::PassInfoNode</a></td><td class="desc">Meta data that will be used to help optimization and analysis </td></tr>
-<tr id="row_45_101_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_101_" class="arrow" onclick="toggleFolder('45_101_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassNode.html" target="_self">tvm::transform::PassNode</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassNode.html" title="PassNode is the base type o [...]
-<tr id="row_45_101_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1SequentialNode.html" target="_self">tvm::transform::SequentialNode</a></td><td class="desc">The <a class="el" href="classtvm_1_1transform_1_1SequentialNode.html" title="The SequentialNode contains a set of passes that transform Relax programs from one AST t [...]
+<tr id="row_45_90_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_90_" class="arrow" onclick="toggleFolder('45_90_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1LayoutNode.html" target="_self">tvm::tirx::LayoutNode</a></td><td class="desc"></td></tr>
+<tr id="row_45_90_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ComposeLayoutNode.html" target="_self">tvm::tirx::ComposeLayoutNode</a></td><td class="desc"></td></tr>
+<tr id="row_45_90_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TileLayoutNode.html" target="_self">tvm::tirx::TileLayoutNode</a></td><td class="desc"></td></tr>
+<tr id="row_45_91_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBijectiveLayoutNode.html" target="_self">tvm::tirx::SBijectiveLayoutNode</a></td><td class="desc"></td></tr>
+<tr id="row_45_92_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" target="_self">tvm::tirx::SBlockDependenceInfoNode</a></td><td class="desc">An object that helps build and query block level dependences using the 2 core objects <a class="el" href="classtvm_1_1tirx_1_1SBlockScope.html" title="Managed [...]
+<tr id="row_45_93_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockScopeNode.html" target="_self">tvm::tirx::SBlockScopeNode</a></td><td class="desc">An object with 1-to-1 correspondence with each block reference in the sref tree. This data structure is used to track the producer-consumer dependencies between blocks. <a clas [...]
+<tr id="row_45_94_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SLayoutNode.html" target="_self">tvm::tirx::SLayoutNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tirx_1_1SLayout.html" title="Managed reference to SLayoutNode.">SLayout</a> is to describe how data is organized within an N-dimention tensor. It is com [...]
+<tr id="row_45_95_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefNode.html" target="_self">tvm::tirx::ScopeIdDefNode</a></td><td class="desc"></td></tr>
+<tr id="row_45_96_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_96_" class="arrow" onclick="toggleFolder('45_96_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1StmtNode.html" target="_self">tvm::tirx::StmtNode</a></td><td class="desc">Base node of all statements </td></tr>
+<tr id="row_45_96_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlockNode.html" target="_self">tvm::s_tir::SBlockNode</a></td><td class="desc">A block is a basic schedule unit in TIR </td></tr>
+<tr id="row_45_96_1_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlockRealizeNode.html" target="_self">tvm::s_tir::SBlockRealizeNode</a></td><td class="desc">A block realization node represents execution of the block at the binding values </td></tr>
+<tr id="row_45_96_2_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AssertStmtNode.html" target="_self">tvm::tirx::AssertStmtNode</a></td><td class="desc">Assert condition, if an error occurs, return the error message </td></tr>
+<tr id="row_45_96_3_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AttrStmtNode.html" target="_self">tvm::tirx::AttrStmtNode</a></td><td class="desc">Define certain auxiliary attribute for the body to be a symbolic value. This provide auxiliary information for IR passes that transforms body </td></tr>
+<tr id="row_45_96_4_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BindNode.html" target="_self">tvm::tirx::BindNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tirx_1_1Bind.html" title="Managed reference to BindNode.">Bind</a> a variable to a value in the enclosing scope </td></tr>
+<tr id="row_45_96_5_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BreakNode.html" target="_self">tvm::tirx::BreakNode</a></td><td class="desc">A <a class="el" href="classtvm_1_1tirx_1_1Break.html" title="Managed reference to BreakNode.">Break</a> in control flow </td></tr>
+<tr id="row_45_96_6_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BufferStoreNode.html" target="_self">tvm::tirx::BufferStoreNode</a></td><td class="desc">Store value to the high dimension buffer </td></tr>
+<tr id="row_45_96_7_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ContinueNode.html" target="_self">tvm::tirx::ContinueNode</a></td><td class="desc">A <a class="el" href="classtvm_1_1tirx_1_1Continue.html" title="Managed reference to ContinueNode.">Continue</a> in control flow </td></tr>
+<tr id="row_45_96_8_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1EvaluateNode.html" target="_self">tvm::tirx::EvaluateNode</a></td><td class="desc">Evaluates an expression. This is mostly used for putting a <a class="el" href="classtvm_1_1Call.html" title="Managed reference to CallNode.">Call</a> node into <a class="el" href=" [...]
+<tr id="row_45_96_9_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ForNode.html" target="_self">tvm::tirx::ForNode</a></td><td class="desc">A for loop, with possible type annotations </td></tr>
+<tr id="row_45_96_10_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IfThenElseNode.html" target="_self">tvm::tirx::IfThenElseNode</a></td><td class="desc"><a class="el" href="classtvm_1_1tirx_1_1IfThenElse.html" title="Managed reference to IfThenElseNode.">IfThenElse</a> statement </td></tr>
+<tr id="row_45_96_11_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ReturnNode.html" target="_self">tvm::tirx::ReturnNode</a></td><td class="desc">A return from the current function </td></tr>
+<tr id="row_45_96_12_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefStmtNode.html" target="_self">tvm::tirx::ScopeIdDefStmtNode</a></td><td class="desc">Standalone statement that declares a scope-id binding (e.g. cta_id, warp_id, lane_id). Carries a <code><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDef.html">ScopeId [...]
+<tr id="row_45_96_13_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SeqStmtNode.html" target="_self">tvm::tirx::SeqStmtNode</a></td><td class="desc">The container of seq statement. Represent a sequence of statements </td></tr>
+<tr id="row_45_96_14_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCallNode.html" target="_self">tvm::tirx::TilePrimitiveCallNode</a></td><td class="desc">TIRX <a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCall.html" title="Managed reference to TilePrimitiveCallNode.">TilePrimitiveCall</a> stmt </td></tr>
+<tr id="row_45_96_15_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1WhileNode.html" target="_self">tvm::tirx::WhileNode</a></td><td class="desc">A <a class="el" href="classtvm_1_1tirx_1_1While.html" title="Managed reference to WhileNode.">While</a> loop </td></tr>
+<tr id="row_45_97_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1StmtSRefNode.html" target="_self">tvm::tirx::StmtSRefNode</a></td><td class="desc">An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref" </td></tr>
+<tr id="row_45_98_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html" target="_self">tvm::transform::PassContextNode</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassContextNode.html" title="PassContextNode contains the information that a pass can rely on, such as analysis results." [...]
+<tr id="row_45_99_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html" target="_self">tvm::transform::PassInfoNode</a></td><td class="desc">Meta data that will be used to help optimization and analysis </td></tr>
+<tr id="row_45_100_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_45_100_" class="arrow" onclick="toggleFolder('45_100_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassNode.html" target="_self">tvm::transform::PassNode</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassNode.html" title="PassNode is the base type o [...]
+<tr id="row_45_100_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1SequentialNode.html" target="_self">tvm::transform::SequentialNode</a></td><td class="desc">The <a class="el" href="classtvm_1_1transform_1_1SequentialNode.html" title="The SequentialNode contains a set of passes that transform Relax programs from one AST t [...]
<tr id="row_46_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ObjectFunctor.html" target="_self">tvm::ObjectFunctor< FType ></a></td><td class="desc">A dynamically dispatched functor on the type of the first argument </td></tr>
<tr id="row_47_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1ObjectFunctor_3_01R_07NodeArg_00_01Args_8_8_8_08_4.html" target="_self">tvm::ObjectFunctor< R(NodeArg, Args...)></a></td><td class="desc"></td></tr>
<tr id="row_48_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_48_" class="arrow" onclick="toggleFolder('48_')">►</span><span class="icona"><span class="icon">C</span></span><b>ffi::ObjectRef</b></td><td class="desc"></td></tr>
@@ -614,6 +614,7 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_48_3_12_" class="odd" style="display:none;"><td class="entry"><span 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">tvm::relax::If</a></td><td class="desc"></td></tr>
<tr id="row_48_3_13_" class="odd" style="display:none;"><td class="entry"><span 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">tvm::relax::SeqExpr</a></td><td class="desc"></td></tr>
<tr id="row_48_3_14_" class="odd" style="display:none;"><td class="entry"><span 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">tvm::relax::ShapeExpr</a></td><td class="desc"></td></tr>
+<tr id="row_48_3_15_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html" target="_self">tvm::tirx::LambdaExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html" title="A reified Python lambda: a list of bound variables and a body over them.">LambdaExprNode</a> </td></tr>
<tr id="row_48_4_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_4_" class="arrow" onclick="toggleFolder('48_4_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1GlobalInfo.html" target="_self">tvm::GlobalInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1GlobalInfoNode.html" title="GlobalInfo are globally static object th [...]
<tr id="row_48_4_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1DummyGlobalInfo.html" target="_self">tvm::relax::DummyGlobalInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1DummyGlobalInfoNode.html" title="A dummy global info sub-class for testing purpose.">DummyGlobalInfoNode</a> </td></tr>
<tr id="row_48_4_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1relax_1_1VDevice.html" target="_self">tvm::relax::VDevice</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1relax_1_1VDeviceNode.html" title="A global info subclass for virtual devices.">VDeviceNode</a> </td></tr>
@@ -805,37 +806,36 @@ This inheritance list is sorted roughly, but not completely, alphabetically:</di
<tr id="row_48_88_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ExecScope.html" target="_self">tvm::tirx::ExecScope</a></td><td class="desc"></td></tr>
<tr id="row_48_89_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IndexMap.html" target="_self">tvm::tirx::IndexMap</a></td><td class="desc"></td></tr>
<tr id="row_48_90_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Iter.html" target="_self">tvm::tirx::Iter</a></td><td class="desc"></td></tr>
-<tr id="row_48_91_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1LambdaExpr.html" target="_self">tvm::tirx::LambdaExpr</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1LambdaExprNode.html" title="A reified Python lambda: a list of bound variables and a body over them.">LambdaExprNode</a> </td></tr>
-<tr id="row_48_92_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_92_" class="arrow" onclick="toggleFolder('48_92_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Layout.html" target="_self">tvm::tirx::Layout</a></td><td class="desc"></td></tr>
-<tr id="row_48_92_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ComposeLayout.html" target="_self">tvm::tirx::ComposeLayout</a></td><td class="desc"></td></tr>
-<tr id="row_48_92_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TileLayout.html" target="_self">tvm::tirx::TileLayout</a></td><td class="desc"></td></tr>
-<tr id="row_48_93_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBijectiveLayout.html" target="_self">tvm::tirx::SBijectiveLayout</a></td><td class="desc">Bijective function mapping for data layout transformation. Given two <a class="el" href="classtvm_1_1tirx_1_1SLayout.html" title="Managed reference to SLayoutNode.">SLayout</a [...]
-<tr id="row_48_94_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockDependenceInfo.html" target="_self">tvm::tirx::SBlockDependenceInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" title="An object that helps build and query block level dependences using t [...]
-<tr id="row_48_95_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockScope.html" target="_self">tvm::tirx::SBlockScope</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1SBlockScopeNode.html" title="An object with 1-to-1 correspondence with each block reference in the sref tree. This data stru [...]
-<tr id="row_48_96_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SLayout.html" target="_self">tvm::tirx::SLayout</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1SLayoutNode.html" title="SLayout is to describe how data is organized within an N-dimention tensor. It is composed of upper ca...">S [...]
-<tr id="row_48_97_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDef.html" target="_self">tvm::tirx::ScopeIdDef</a></td><td class="desc"></td></tr>
-<tr id="row_48_98_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_98_" class="arrow" onclick="toggleFolder('48_98_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Stmt.html" target="_self">tvm::tirx::Stmt</a></td><td class="desc">Container of all statements </td></tr>
-<tr id="row_48_98_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlock.html" target="_self">tvm::s_tir::SBlock</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1s__tir_1_1SBlockNode.html" title="A block is a basic schedule unit in TIR.">SBlockNode</a> </td></tr>
-<tr id="row_48_98_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlockRealize.html" target="_self">tvm::s_tir::SBlockRealize</a></td><td class="desc">Managed reference to BlockRealizeNode </td></tr>
-<tr id="row_48_98_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AssertStmt.html" target="_self">tvm::tirx::AssertStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1AssertStmtNode.html" title="Assert condition, if an error occurs, return the error message.">AssertStmtNode</a> </td></tr>
-<tr id="row_48_98_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AttrStmt.html" target="_self">tvm::tirx::AttrStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1AttrStmtNode.html" title="Define certain auxiliary attribute for the body to be a symbolic value. This provide auxiliary inform. [...]
-<tr id="row_48_98_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Bind.html" target="_self">tvm::tirx::Bind</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1BindNode.html" title="Bind a variable to a value in the enclosing scope.">BindNode</a> </td></tr>
-<tr id="row_48_98_5_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Break.html" target="_self">tvm::tirx::Break</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1BreakNode.html" title="A Break in control flow.">BreakNode</a> </td></tr>
-<tr id="row_48_98_6_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BufferStore.html" target="_self">tvm::tirx::BufferStore</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1BufferStoreNode.html" title="Store value to the high dimension buffer.">BufferStoreNode</a> </td></tr>
-<tr id="row_48_98_7_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Continue.html" target="_self">tvm::tirx::Continue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ContinueNode.html" title="A Continue in control flow.">ContinueNode</a> </td></tr>
-<tr id="row_48_98_8_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Evaluate.html" target="_self">tvm::tirx::Evaluate</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1EvaluateNode.html" title="Evaluates an expression. This is mostly used for putting a Call node into Stmt.">EvaluateNode</a> </td></tr>
-<tr id="row_48_98_9_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1For.html" target="_self">tvm::tirx::For</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ForNode.html" title="A for loop, with possible type annotations.">ForNode</a> </td></tr>
-<tr id="row_48_98_10_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IfThenElse.html" target="_self">tvm::tirx::IfThenElse</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1IfThenElseNode.html" title="IfThenElse statement.">IfThenElseNode</a> </td></tr>
-<tr id="row_48_98_11_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Return.html" target="_self">tvm::tirx::Return</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ReturnNode.html" title="A return from the current function.">ReturnNode</a> </td></tr>
-<tr id="row_48_98_12_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefStmt.html" target="_self">tvm::tirx::ScopeIdDefStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefStmtNode.html" title="Standalone statement that declares a scope-id binding (e.g. cta_id, warp_id, lane_i [...]
-<tr id="row_48_98_13_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SeqStmt.html" target="_self">tvm::tirx::SeqStmt</a></td><td class="desc">Sequence statement </td></tr>
-<tr id="row_48_98_14_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCall.html" target="_self">tvm::tirx::TilePrimitiveCall</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCallNode.html" title="TIRX TilePrimitiveCall stmt.">TilePrimitiveCallNode</a> </td></tr>
-<tr id="row_48_98_15_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1While.html" target="_self">tvm::tirx::While</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1WhileNode.html" title="A While loop.">WhileNode</a> </td></tr>
-<tr id="row_48_99_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1StmtSRef.html" target="_self">tvm::tirx::StmtSRef</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1StmtSRefNode.html" title="An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref".">StmtS [...]
-<tr id="row_48_100_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_100_" class="arrow" onclick="toggleFolder('48_100_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1Pass.html" target="_self">tvm::transform::Pass</a></td><td class="desc"></td></tr>
-<tr id="row_48_100_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1Sequential.html" target="_self">tvm::transform::Sequential</a></td><td class="desc"></td></tr>
-<tr id="row_48_101_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassContext.html" target="_self">tvm::transform::PassContext</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassContext.html" title="PassContext that is used to configure the pass behavior.">PassContext</a> that is used to configure the [...]
-<tr id="row_48_102_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassInfo.html" target="_self">tvm::transform::PassInfo</a></td><td class="desc">Managed reference class for <a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html" title="Meta data that will be used to help optimization and analysis.">PassInfoNode</a> [...]
+<tr id="row_48_91_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_91_" class="arrow" onclick="toggleFolder('48_91_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Layout.html" target="_self">tvm::tirx::Layout</a></td><td class="desc"></td></tr>
+<tr id="row_48_91_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ComposeLayout.html" target="_self">tvm::tirx::ComposeLayout</a></td><td class="desc"></td></tr>
+<tr id="row_48_91_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TileLayout.html" target="_self">tvm::tirx::TileLayout</a></td><td class="desc"></td></tr>
+<tr id="row_48_92_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBijectiveLayout.html" target="_self">tvm::tirx::SBijectiveLayout</a></td><td class="desc">Bijective function mapping for data layout transformation. Given two <a class="el" href="classtvm_1_1tirx_1_1SLayout.html" title="Managed reference to SLayoutNode.">SLayout</a [...]
+<tr id="row_48_93_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockDependenceInfo.html" target="_self">tvm::tirx::SBlockDependenceInfo</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" title="An object that helps build and query block level dependences using t [...]
+<tr id="row_48_94_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SBlockScope.html" target="_self">tvm::tirx::SBlockScope</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1SBlockScopeNode.html" title="An object with 1-to-1 correspondence with each block reference in the sref tree. This data stru [...]
+<tr id="row_48_95_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SLayout.html" target="_self">tvm::tirx::SLayout</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1SLayoutNode.html" title="SLayout is to describe how data is organized within an N-dimention tensor. It is composed of upper ca...">S [...]
+<tr id="row_48_96_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDef.html" target="_self">tvm::tirx::ScopeIdDef</a></td><td class="desc"></td></tr>
+<tr id="row_48_97_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_97_" class="arrow" onclick="toggleFolder('48_97_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Stmt.html" target="_self">tvm::tirx::Stmt</a></td><td class="desc">Container of all statements </td></tr>
+<tr id="row_48_97_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlock.html" target="_self">tvm::s_tir::SBlock</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1s__tir_1_1SBlockNode.html" title="A block is a basic schedule unit in TIR.">SBlockNode</a> </td></tr>
+<tr id="row_48_97_1_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1s__tir_1_1SBlockRealize.html" target="_self">tvm::s_tir::SBlockRealize</a></td><td class="desc">Managed reference to BlockRealizeNode </td></tr>
+<tr id="row_48_97_2_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AssertStmt.html" target="_self">tvm::tirx::AssertStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1AssertStmtNode.html" title="Assert condition, if an error occurs, return the error message.">AssertStmtNode</a> </td></tr>
+<tr id="row_48_97_3_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1AttrStmt.html" target="_self">tvm::tirx::AttrStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1AttrStmtNode.html" title="Define certain auxiliary attribute for the body to be a symbolic value. This provide auxiliary inform. [...]
+<tr id="row_48_97_4_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Bind.html" target="_self">tvm::tirx::Bind</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1BindNode.html" title="Bind a variable to a value in the enclosing scope.">BindNode</a> </td></tr>
+<tr id="row_48_97_5_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Break.html" target="_self">tvm::tirx::Break</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1BreakNode.html" title="A Break in control flow.">BreakNode</a> </td></tr>
+<tr id="row_48_97_6_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1BufferStore.html" target="_self">tvm::tirx::BufferStore</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1BufferStoreNode.html" title="Store value to the high dimension buffer.">BufferStoreNode</a> </td></tr>
+<tr id="row_48_97_7_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Continue.html" target="_self">tvm::tirx::Continue</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ContinueNode.html" title="A Continue in control flow.">ContinueNode</a> </td></tr>
+<tr id="row_48_97_8_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Evaluate.html" target="_self">tvm::tirx::Evaluate</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1EvaluateNode.html" title="Evaluates an expression. This is mostly used for putting a Call node into Stmt.">EvaluateNode</a> </td></tr>
+<tr id="row_48_97_9_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1For.html" target="_self">tvm::tirx::For</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ForNode.html" title="A for loop, with possible type annotations.">ForNode</a> </td></tr>
+<tr id="row_48_97_10_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1IfThenElse.html" target="_self">tvm::tirx::IfThenElse</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1IfThenElseNode.html" title="IfThenElse statement.">IfThenElseNode</a> </td></tr>
+<tr id="row_48_97_11_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1Return.html" target="_self">tvm::tirx::Return</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ReturnNode.html" title="A return from the current function.">ReturnNode</a> </td></tr>
+<tr id="row_48_97_12_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefStmt.html" target="_self">tvm::tirx::ScopeIdDefStmt</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1ScopeIdDefStmtNode.html" title="Standalone statement that declares a scope-id binding (e.g. cta_id, warp_id, lane_i [...]
+<tr id="row_48_97_13_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1SeqStmt.html" target="_self">tvm::tirx::SeqStmt</a></td><td class="desc">Sequence statement </td></tr>
+<tr id="row_48_97_14_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCall.html" target="_self">tvm::tirx::TilePrimitiveCall</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCallNode.html" title="TIRX TilePrimitiveCall stmt.">TilePrimitiveCallNode</a> </td></tr>
+<tr id="row_48_97_15_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1While.html" target="_self">tvm::tirx::While</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1WhileNode.html" title="A While loop.">WhileNode</a> </td></tr>
+<tr id="row_48_98_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1tirx_1_1StmtSRef.html" target="_self">tvm::tirx::StmtSRef</a></td><td class="desc">Managed reference to <a class="el" href="classtvm_1_1tirx_1_1StmtSRefNode.html" title="An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref".">StmtS [...]
+<tr id="row_48_99_" class="odd" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span id="arr_48_99_" class="arrow" onclick="toggleFolder('48_99_')">►</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1Pass.html" target="_self">tvm::transform::Pass</a></td><td class="desc"></td></tr>
+<tr id="row_48_99_0_" class="odd" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1Sequential.html" target="_self">tvm::transform::Sequential</a></td><td class="desc"></td></tr>
+<tr id="row_48_100_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassContext.html" target="_self">tvm::transform::PassContext</a></td><td class="desc"><a class="el" href="classtvm_1_1transform_1_1PassContext.html" title="PassContext that is used to configure the pass behavior.">PassContext</a> that is used to configure the [...]
+<tr id="row_48_101_" class="odd" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classtvm_1_1transform_1_1PassInfo.html" target="_self">tvm::transform::PassInfo</a></td><td class="desc">Managed reference class for <a class="el" href="classtvm_1_1transform_1_1PassInfoNode.html" title="Meta data that will be used to help optimization and analysis.">PassInfoNode</a> [...]
<tr id="row_49_" class="odd"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_49_" class="arrow" onclick="toggleFolder('49_')">►</span><span class="icona"><span class="icon">C</span></span><b>ObjectRefTypeTraitsBase</b></td><td class="desc"></td></tr>
<tr id="row_49_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01PrimVar_01_4.html" target="_self">tvm::ffi::TypeTraits< PrimVar ></a></td><td class="desc"></td></tr>
<tr id="row_49_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="structtvm_1_1ffi_1_1TypeTraits_3_01TypedExpr_3_01ExpectedType_01_4_01_4.html" target="_self">tvm::ffi::TypeTraits< TypedExpr< ExpectedType > ></a></td><td class="desc"></td></tr>
diff --git a/docs/reference/api/doxygen/inherit_graph_3.svg b/docs/reference/api/doxygen/inherit_graph_3.svg
index 325114608e5..4676bc6fb41 100644
--- a/docs/reference/api/doxygen/inherit_graph_3.svg
+++ b/docs/reference/api/doxygen/inherit_graph_3.svg
@@ -4,16 +4,16 @@
<!-- Generated by graphviz version 2.43.0 (0)
-->
<!-- Title: Graphical Class Hierarchy Pages: 1 -->
-<svg width="967pt" height="9974pt"
- viewBox="0.00 0.00 967.00 9974.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 9970)">
+<svg width="967pt" height="9991pt"
+ viewBox="0.00 0.00 967.00 9991.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 9987)">
<title>Graphical Class Hierarchy</title>
<!-- Node0 -->
<g id="Node000000" class="node">
<title>Node0</title>
<g id="a_Node000000"><a xlink:title=" ">
-<polygon fill="#e0e0e0" stroke="#999999" points="64,-2465 0,-2465 0,-2446 64,-2446 64,-2465"/>
-<text text-anchor="middle" x="32" y="-2453" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
+<polygon fill="#e0e0e0" stroke="#999999" points="64,-2469 0,-2469 0,-2450 64,-2450 64,-2469"/>
+<text text-anchor="middle" x="32" y="-2457" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
</a>
</g>
</g>
@@ -21,8 +21,8 @@
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:href="classtvm_1_1ArgumentInfoNode.html" target="_top" xlink:title="An operator argument's name and documentation.">
-<polygon fill="white" stroke="#666666" points="268,-8228 134,-8228 134,-8209 268,-8209 268,-8228"/>
-<text text-anchor="middle" x="201" y="-8216" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ArgumentInfoNode</text>
+<polygon fill="white" stroke="#666666" points="268,-8245 134,-8245 134,-8226 268,-8226 268,-8245"/>
+<text text-anchor="middle" x="201" y="-8233" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ArgumentInfoNode</text>
</a>
</g>
</g>
@@ -30,8 +30,8 @@
<g id="edge5_Node000000_Node000001" class="edge">
<title>Node0->Node1</title>
<g id="a_edge5_Node000000_Node000001"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.06,-2475.23C34.11,-2840.03 50.23,-8141.68 100,-8200.5 108.6,-8210.67 120.83,-8216.4 133.79,-8219.44"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.56,-2475.1 33.03,-2465.11 29.56,-2475.12 36.56,-2475.1"/>
+<path fill="none" stroke="#63b8ff" d="M33.06,-2479.28C34.1,-2844.9 50.12,-8158.54 100,-8217.5 108.6,-8227.67 120.83,-8233.4 133.79,-8236.44"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.56,-2479.12 33.03,-2469.13 29.56,-2479.14 36.56,-2479.12"/>
</a>
</g>
</g>
@@ -39,8 +39,8 @@
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="classtvm_1_1AttrsNode.html" target="_top" xlink:title="Base class of all attribute class.">
-<polygon fill="white" stroke="#666666" points="246.5,-8191 155.5,-8191 155.5,-8172 246.5,-8172 246.5,-8191"/>
-<text text-anchor="middle" x="201" y="-8179" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode</text>
+<polygon fill="white" stroke="#666666" points="246.5,-8208 155.5,-8208 155.5,-8189 246.5,-8189 246.5,-8208"/>
+<text text-anchor="middle" x="201" y="-8196" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AttrsNode</text>
</a>
</g>
</g>
@@ -48,8 +48,8 @@
<g id="edge6_Node000000_Node000002" class="edge">
<title>Node0->Node2</title>
<g id="a_edge6_Node000000_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.33,-2475.34C36.51,-2667.71 62.78,-4221.16 100,-5479.5 133.87,-6624.38 194.02,-8041.46 199.58,-8171.79"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.82,-2475 33.16,-2465.06 29.82,-2475.12 36.82,-2475"/>
+<path fill="none" stroke="#63b8ff" d="M33.33,-2479.3C36.54,-2671.29 62.98,-4221.65 100,-5477.5 133.98,-6630.42 194.03,-8057.47 199.59,-8188.72"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.82,-2478.98 33.16,-2469.04 29.83,-2479.1 36.82,-2478.98"/>
</a>
</g>
</g>
@@ -57,8 +57,8 @@
<g id="Node000087" class="node">
<title>Node87</title>
<g id="a_Node000087"><a xlink:href="classtvm_1_1EnvFuncNode.html" target="_top" xlink:title="A serializable function backed by TVM's global environment.">
-<polygon fill="white" stroke="#666666" points="255,-5470 147,-5470 147,-5451 255,-5451 255,-5470"/>
-<text text-anchor="middle" x="201" y="-5458" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFuncNode</text>
+<polygon fill="white" stroke="#666666" points="255,-5468 147,-5468 147,-5449 255,-5449 255,-5468"/>
+<text text-anchor="middle" x="201" y="-5456" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::EnvFuncNode</text>
</a>
</g>
</g>
@@ -66,8 +66,8 @@
<g id="edge91_Node000000_Node000087" class="edge">
<title>Node0->Node87</title>
<g id="a_edge91_Node000000_Node000087"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.09,-2475.33C34.36,-2731.38 48.66,-5382.48 100,-5442.5 111.52,-5455.97 129.41,-5461.64 146.89,-5463.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.59,-2475.22 33.05,-2465.24 29.59,-2475.25 36.59,-2475.22"/>
+<path fill="none" stroke="#63b8ff" d="M33.1,-2479.29C34.37,-2734.82 48.76,-5380.6 100,-5440.5 111.52,-5453.97 129.41,-5459.64 146.89,-5461.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.6,-2479.2 33.05,-2469.22 29.6,-2479.23 36.6,-2479.2"/>
</a>
</g>
</g>
@@ -75,8 +75,8 @@
<g id="Node000088" class="node">
<title>Node88</title>
<g id="a_Node000088"><a xlink:href="classtvm_1_1ExprNode.html" target="_top" xlink:title="Base type of all the expressions.">
-<polygon fill="white" stroke="#666666" points="245.5,-5433 156.5,-5433 156.5,-5414 245.5,-5414 245.5,-5433"/>
-<text text-anchor="middle" x="201" y="-5421" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ExprNode</text>
+<polygon fill="white" stroke="#666666" points="245.5,-5431 156.5,-5431 156.5,-5412 245.5,-5412 245.5,-5431"/>
+<text text-anchor="middle" x="201" y="-5419" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ExprNode</text>
</a>
</g>
</g>
@@ -84,53 +84,35 @@
<g id="edge92_Node000000_Node000088" class="edge">
<title>Node0->Node88</title>
<g id="a_edge92_Node000000_Node000088"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.04,-2475.34C33.46,-2631.76 38.58,-3682.66 100,-4533.5 126.31,-4897.94 188.58,-5343.26 198.62,-5413.87"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.54,-2475.28 33.01,-2465.29 29.54,-2475.3 36.54,-2475.28"/>
+<path fill="none" stroke="#63b8ff" d="M33.07,-2479.58C33.7,-2635.8 40.12,-3673.26 100,-4513.5 126.49,-4885.25 188.61,-5339.63 198.63,-5411.68"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.56,-2479.17 33.03,-2469.18 29.56,-2479.19 36.56,-2479.17"/>
</a>
</g>
</g>
-<!-- Node169 -->
-<g id="Node000169" class="node">
-<title>Node169</title>
-<g id="a_Node000169"><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="#666666" points="260,-4524 142,-4524 142,-4505 260,-4505 260,-4524"/>
-<text text-anchor="middle" x="201" y="-4512" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfoNode</text>
-</a>
-</g>
-</g>
-<!-- Node0->Node169 -->
-<g id="edge173_Node000000_Node000169" class="edge">
-<title>Node0->Node169</title>
-<g id="a_edge173_Node000000_Node000169"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.2,-2475.37C35.2,-2663.43 52.19,-4127.15 100,-4314.5 120.06,-4393.12 174.02,-4476.67 193.15,-4504.7"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.7,-2475.22 33.1,-2465.26 29.7,-2475.3 36.7,-2475.22"/>
-</a>
-</g>
-</g>
-<!-- Node173 -->
-<g id="Node000173" class="node">
-<title>Node173</title>
-<g id="a_Node000173"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions.">
-<polygon fill="white" stroke="#666666" points="257.5,-4305 144.5,-4305 144.5,-4286 257.5,-4286 257.5,-4305"/>
-<text text-anchor="middle" x="201" y="-4293" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModuleNode</text>
+<!-- Node170 -->
+<g id="Node000170" class="node">
+<title>Node170</title>
+<g id="a_Node000170"><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="#666666" points="260,-4504 142,-4504 142,-4485 260,-4485 260,-4504"/>
+<text text-anchor="middle" x="201" y="-4492" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalInfoNode</text>
</a>
</g>
</g>
-<!-- Node0->Node173 -->
-<g id="edge177_Node000000_Node000173" class="edge">
-<title>Node0->Node173</title>
-<g id="a_edge177_Node000000_Node000173"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.02,-2475.48C33.34,-2669.09 37.8,-4205.82 100,-4277.5 111.04,-4290.22 127.76,-4295.96 144.39,-4298.15"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.52,-2475.32 33.01,-2465.32 29.52,-2475.33 36.52,-2475.32"/>
+<!-- Node0->Node170 -->
+<g id="edge174_Node000000_Node000170" class="edge">
+<title>Node0->Node170</title>
+<g id="a_edge174_Node000000_Node000170"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.21,-2479.39C35.29,-2666.19 52.79,-4109.67 100,-4294.5 120.08,-4373.11 174.02,-4456.67 193.16,-4484.7"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.71,-2479.09 33.1,-2469.13 29.71,-2479.17 36.71,-2479.09"/>
</a>
</g>
</g>
<!-- Node174 -->
<g id="Node000174" class="node">
<title>Node174</title>
-<g id="a_Node000174"><a xlink:href="classtvm_1_1PrimExprConvertibleNode.html" target="_top" xlink:title="Base class for other IR constructs that can be converted to PrimExpr. This is useful for the FFI to c...">
-<polygon fill="white" stroke="#666666" points="285,-4268 117,-4268 117,-4249 285,-4249 285,-4268"/>
-<text text-anchor="middle" x="201" y="-4256" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprConvertibleNode</text>
+<g id="a_Node000174"><a xlink:href="classtvm_1_1IRModuleNode.html" target="_top" xlink:title="IRModule that holds functions and type definitions.">
+<polygon fill="white" stroke="#666666" points="257.5,-4285 144.5,-4285 144.5,-4266 257.5,-4266 257.5,-4285"/>
+<text text-anchor="middle" x="201" y="-4273" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IRModuleNode</text>
</a>
</g>
</g>
@@ -138,35 +120,35 @@
<g id="edge178_Node000000_Node000174" class="edge">
<title>Node0->Node174</title>
<g id="a_edge178_Node000000_Node000174"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.04,-2475.36C33.5,-2666.25 39.07,-4170.34 100,-4240.5 104.74,-4245.96 110.53,-4250.13 116.91,-4253.29"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.54,-2475.12 33.02,-2465.12 29.54,-2475.13 36.54,-2475.12"/>
+<path fill="none" stroke="#63b8ff" d="M33.03,-2479.22C33.44,-2670.28 38.6,-4186.78 100,-4257.5 111.04,-4270.22 127.77,-4275.96 144.39,-4278.15"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.53,-2479.19 33.01,-2469.19 29.53,-2479.2 36.53,-2479.19"/>
</a>
</g>
</g>
-<!-- Node176 -->
-<g id="Node000176" class="node">
-<title>Node176</title>
-<g id="a_Node000176"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="266.5,-4231 135.5,-4231 135.5,-4212 266.5,-4212 266.5,-4231"/>
-<text text-anchor="middle" x="201" y="-4219" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrinterConfigNode</text>
+<!-- Node175 -->
+<g id="Node000175" class="node">
+<title>Node175</title>
+<g id="a_Node000175"><a xlink:href="classtvm_1_1PrimExprConvertibleNode.html" target="_top" xlink:title="Base class for other IR constructs that can be converted to PrimExpr. This is useful for the FFI to c...">
+<polygon fill="white" stroke="#666666" points="285,-4248 117,-4248 117,-4229 285,-4229 285,-4248"/>
+<text text-anchor="middle" x="201" y="-4236" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimExprConvertibleNode</text>
</a>
</g>
</g>
-<!-- Node0->Node176 -->
-<g id="edge180_Node000000_Node000176" class="edge">
-<title>Node0->Node176</title>
-<g id="a_edge180_Node000000_Node000176"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.06,-2475.53C33.67,-2664.89 40.36,-4134.88 100,-4203.5 109.03,-4213.88 121.84,-4219.61 135.28,-4222.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.56,-2475.33 33.02,-2465.34 29.56,-2475.35 36.56,-2475.33"/>
+<!-- Node0->Node175 -->
+<g id="edge179_Node000000_Node000175" class="edge">
+<title>Node0->Node175</title>
+<g id="a_edge179_Node000000_Node000175"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.05,-2479.68C33.61,-2670.45 39.93,-4151.36 100,-4220.5 104.74,-4225.96 110.53,-4230.13 116.91,-4233.29"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.55,-2479.4 33.02,-2469.41 29.55,-2479.42 36.55,-2479.4"/>
</a>
</g>
</g>
<!-- Node177 -->
<g id="Node000177" class="node">
<title>Node177</title>
-<g id="a_Node000177"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension">
-<polygon fill="white" stroke="#666666" points="250,-4194 152,-4194 152,-4175 250,-4175 250,-4194"/>
-<text text-anchor="middle" x="201" y="-4182" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RangeNode</text>
+<g id="a_Node000177"><a xlink:href="classtvm_1_1PrinterConfigNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="266.5,-4211 135.5,-4211 135.5,-4192 266.5,-4192 266.5,-4211"/>
+<text text-anchor="middle" x="201" y="-4199" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrinterConfigNode</text>
</a>
</g>
</g>
@@ -174,17 +156,17 @@
<g id="edge181_Node000000_Node000177" class="edge">
<title>Node0->Node177</title>
<g id="a_edge181_Node000000_Node000177"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.07,-2475.38C33.84,-2661.9 41.62,-4099.39 100,-4166.5 112.74,-4181.14 132.99,-4186.52 151.95,-4187.9"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.57,-2475.12 33.03,-2465.13 29.57,-2475.15 36.57,-2475.12"/>
+<path fill="none" stroke="#63b8ff" d="M33.07,-2479.25C33.77,-2666.02 41.16,-4115.84 100,-4183.5 109.03,-4193.88 121.84,-4199.61 135.29,-4202.55"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.57,-2479.19 33.03,-2469.21 29.57,-2479.22 36.57,-2479.19"/>
</a>
</g>
</g>
<!-- Node178 -->
<g id="Node000178" class="node">
<title>Node178</title>
-<g id="a_Node000178"><a xlink:href="classtvm_1_1SourceMapObj.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
-<polygon fill="white" stroke="#666666" points="257.5,-4157 144.5,-4157 144.5,-4138 257.5,-4138 257.5,-4157"/>
-<text text-anchor="middle" x="201" y="-4145" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMapObj</text>
+<g id="a_Node000178"><a xlink:href="classtvm_1_1RangeNode.html" target="_top" xlink:title="range over one dimension">
+<polygon fill="white" stroke="#666666" points="250,-4174 152,-4174 152,-4155 250,-4155 250,-4174"/>
+<text text-anchor="middle" x="201" y="-4162" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::RangeNode</text>
</a>
</g>
</g>
@@ -192,17 +174,17 @@
<g id="edge182_Node000000_Node000178" class="edge">
<title>Node0->Node178</title>
<g id="a_edge182_Node000000_Node000178"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.09,-2475.52C34.02,-2660.31 42.91,-4063.93 100,-4129.5 111.06,-4142.21 127.79,-4147.94 144.41,-4150.13"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.59,-2475.32 33.04,-2465.33 29.59,-2475.35 36.59,-2475.32"/>
+<path fill="none" stroke="#63b8ff" d="M33.09,-2479.67C33.96,-2665.9 42.48,-4080.41 100,-4146.5 112.74,-4161.14 132.99,-4166.52 151.95,-4167.9"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.58,-2479.39 33.04,-2469.41 29.58,-2479.42 36.58,-2479.39"/>
</a>
</g>
</g>
<!-- Node179 -->
<g id="Node000179" class="node">
<title>Node179</title>
-<g id="a_Node000179"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment.">
-<polygon fill="white" stroke="#666666" points="266,-4120 136,-4120 136,-4101 266,-4101 266,-4120"/>
-<text text-anchor="middle" x="201" y="-4108" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNameNode</text>
+<g id="a_Node000179"><a xlink:href="classtvm_1_1SourceMapObj.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
+<polygon fill="white" stroke="#666666" points="257.5,-4137 144.5,-4137 144.5,-4118 257.5,-4118 257.5,-4137"/>
+<text text-anchor="middle" x="201" y="-4125" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceMapObj</text>
</a>
</g>
</g>
@@ -210,17 +192,17 @@
<g id="edge183_Node000000_Node000179" class="edge">
<title>Node0->Node179</title>
<g id="a_edge183_Node000000_Node000179"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.11,-2475.34C34.19,-2657.16 44.17,-4028.43 100,-4092.5 109.16,-4103.01 122.18,-4108.74 135.82,-4111.65"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.61,-2475.1 33.05,-2465.12 29.61,-2475.14 36.61,-2475.1"/>
+<path fill="none" stroke="#63b8ff" d="M33.1,-2479.23C34.12,-2661.38 43.71,-4044.89 100,-4109.5 111.07,-4122.2 127.79,-4127.93 144.41,-4130.12"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.6,-2479.17 33.05,-2469.19 29.6,-2479.21 36.6,-2479.17"/>
</a>
</g>
</g>
<!-- Node180 -->
<g id="Node000180" class="node">
<title>Node180</title>
-<g id="a_Node000180"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="251.5,-4083 150.5,-4083 150.5,-4064 251.5,-4064 251.5,-4083"/>
-<text text-anchor="middle" x="201" y="-4071" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNode</text>
+<g id="a_Node000180"><a xlink:href="classtvm_1_1SourceNameNode.html" target="_top" xlink:title="The name of a source fragment.">
+<polygon fill="white" stroke="#666666" points="266,-4100 136,-4100 136,-4081 266,-4081 266,-4100"/>
+<text text-anchor="middle" x="201" y="-4088" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNameNode</text>
</a>
</g>
</g>
@@ -228,17 +210,17 @@
<g id="edge184_Node000000_Node000180" class="edge">
<title>Node0->Node180</title>
<g id="a_edge184_Node000000_Node000180"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.13,-2475.45C34.37,-2655.35 45.46,-3992.97 100,-4055.5 112.41,-4069.72 131.91,-4075.2 150.41,-4076.76"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.63,-2475.27 33.06,-2465.3 29.63,-2475.32 36.63,-2475.27"/>
+<path fill="none" stroke="#63b8ff" d="M33.12,-2479.61C34.32,-2660.97 45.03,-4009.45 100,-4072.5 109.16,-4083 122.19,-4088.74 135.83,-4091.65"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.62,-2479.35 33.06,-2469.38 29.62,-2479.4 36.62,-2479.35"/>
</a>
</g>
</g>
<!-- Node181 -->
<g id="Node000181" class="node">
<title>Node181</title>
-<g id="a_Node000181"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
-<polygon fill="white" stroke="#666666" points="247,-4046 155,-4046 155,-4027 247,-4027 247,-4046"/>
-<text text-anchor="middle" x="201" y="-4034" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SpanNode</text>
+<g id="a_Node000181"><a xlink:href="classtvm_1_1SourceNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="251.5,-4063 150.5,-4063 150.5,-4044 251.5,-4044 251.5,-4063"/>
+<text text-anchor="middle" x="201" y="-4051" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SourceNode</text>
</a>
</g>
</g>
@@ -246,35 +228,35 @@
<g id="edge185_Node000000_Node000181" class="edge">
<title>Node0->Node181</title>
<g id="a_edge185_Node000000_Node000181"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.15,-2475.25C34.55,-2652.03 46.71,-3957.47 100,-4018.5 113.4,-4033.85 135.06,-4039.01 154.81,-4040.05"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.65,-2475.04 33.07,-2465.07 29.65,-2475.1 36.65,-2475.04"/>
+<path fill="none" stroke="#63b8ff" d="M33.14,-2479.41C34.49,-2657.67 46.28,-3973.95 100,-4035.5 112.41,-4049.72 131.92,-4055.2 150.42,-4056.76"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.64,-2479.12 33.07,-2469.15 29.64,-2479.17 36.64,-2479.12"/>
</a>
</g>
</g>
-<!-- Node183 -->
-<g id="Node000183" class="node">
-<title>Node183</title>
-<g id="a_Node000183"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target.">
-<polygon fill="white" stroke="#666666" points="260.5,-4009 141.5,-4009 141.5,-3990 260.5,-3990 260.5,-4009"/>
-<text text-anchor="middle" x="201" y="-3997" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKindNode</text>
+<!-- Node182 -->
+<g id="Node000182" class="node">
+<title>Node182</title>
+<g id="a_Node000182"><a xlink:href="classtvm_1_1SpanNode.html" target="_top" xlink:title="Stores locations in frontend source that generated a node.">
+<polygon fill="white" stroke="#666666" points="247,-4026 155,-4026 155,-4007 247,-4007 247,-4026"/>
+<text text-anchor="middle" x="201" y="-4014" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SpanNode</text>
</a>
</g>
</g>
-<!-- Node0->Node183 -->
-<g id="edge187_Node000000_Node000183" class="edge">
-<title>Node0->Node183</title>
-<g id="a_edge187_Node000000_Node000183"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.17,-2475.32C34.75,-2649.99 47.99,-3922 100,-3981.5 110.39,-3993.39 125.74,-3999.16 141.31,-4001.65"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.67,-2475.2 33.08,-2465.23 29.67,-2475.26 36.67,-2475.2"/>
+<!-- Node0->Node182 -->
+<g id="edge186_Node000000_Node000182" class="edge">
+<title>Node0->Node182</title>
+<g id="a_edge186_Node000000_Node000182"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.16,-2479.48C34.69,-2655.65 47.56,-3938.49 100,-3998.5 113.41,-4013.84 135.07,-4019.01 154.81,-4020.05"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.66,-2479.28 33.08,-2469.31 29.66,-2479.34 36.66,-2479.28"/>
</a>
</g>
</g>
<!-- Node184 -->
<g id="Node000184" class="node">
<title>Node184</title>
-<g id="a_Node000184"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target.">
-<polygon fill="white" stroke="#666666" points="250,-3972 152,-3972 152,-3953 250,-3953 250,-3972"/>
-<text text-anchor="middle" x="201" y="-3960" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetNode</text>
+<g id="a_Node000184"><a xlink:href="classtvm_1_1TargetKindNode.html" target="_top" xlink:title="Target kind, specifies the kind of the target.">
+<polygon fill="white" stroke="#666666" points="260.5,-3989 141.5,-3989 141.5,-3970 260.5,-3970 260.5,-3989"/>
+<text text-anchor="middle" x="201" y="-3977" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetKindNode</text>
</a>
</g>
</g>
@@ -282,17 +264,17 @@
<g id="edge188_Node000000_Node000184" class="edge">
<title>Node0->Node184</title>
<g id="a_edge188_Node000000_Node000184"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.19,-2475.62C34.96,-2649.06 49.3,-3886.56 100,-3944.5 112.78,-3959.1 133.04,-3964.48 151.99,-3965.86"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.69,-2475.34 33.09,-2465.38 29.69,-2475.41 36.69,-2475.34"/>
+<path fill="none" stroke="#63b8ff" d="M33.18,-2479.26C34.87,-2652.19 48.82,-3902.98 100,-3961.5 110.39,-3973.38 125.74,-3979.16 141.31,-3981.64"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.68,-2479.04 33.09,-2469.08 29.68,-2479.11 36.68,-2479.04"/>
</a>
</g>
</g>
<!-- Node185 -->
<g id="Node000185" class="node">
<title>Node185</title>
-<g id="a_Node000185"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types.">
-<polygon fill="white" stroke="#666666" points="246,-3935 156,-3935 156,-3916 246,-3916 246,-3935"/>
-<text text-anchor="middle" x="201" y="-3923" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypeNode</text>
+<g id="a_Node000185"><a xlink:href="classtvm_1_1TargetNode.html" target="_top" xlink:title="Compilation target.">
+<polygon fill="white" stroke="#666666" points="250,-3952 152,-3952 152,-3933 250,-3933 250,-3952"/>
+<text text-anchor="middle" x="201" y="-3940" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TargetNode</text>
</a>
</g>
</g>
@@ -300,35 +282,35 @@
<g id="edge189_Node000000_Node000185" class="edge">
<title>Node0->Node185</title>
<g id="a_edge189_Node000000_Node000185"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.83,-2475.43C31.59,-2637.74 25.97,-3739.66 100,-3864.5 115.35,-3890.39 146.38,-3906.73 169.82,-3915.91"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.33,-2475.07 32.91,-2465.04 29.33,-2475.01 36.33,-2475.07"/>
+<path fill="none" stroke="#63b8ff" d="M33.21,-2479.3C35.07,-2649.94 50.09,-3867.51 100,-3924.5 112.78,-3939.1 133.04,-3944.47 152,-3945.86"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.71,-2479.18 33.1,-2469.22 29.71,-2479.26 36.71,-2479.18"/>
</a>
</g>
</g>
-<!-- Node202 -->
-<g id="Node000202" class="node">
-<title>Node202</title>
-<g id="a_Node000202"><a xlink:href="classtvm_1_1UniqueNameSupplyNode.html" target="_top" xlink:title="UniqueNameSupply can be used to generate unique names.">
-<polygon fill="white" stroke="#666666" points="283,-3855 119,-3855 119,-3836 283,-3836 283,-3855"/>
-<text text-anchor="middle" x="201" y="-3843" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::UniqueNameSupplyNode</text>
+<!-- Node186 -->
+<g id="Node000186" class="node">
+<title>Node186</title>
+<g id="a_Node000186"><a xlink:href="classtvm_1_1TypeNode.html" target="_top" xlink:title="Type is the base type of all types.">
+<polygon fill="white" stroke="#666666" points="246,-3915 156,-3915 156,-3896 246,-3896 246,-3915"/>
+<text text-anchor="middle" x="201" y="-3903" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TypeNode</text>
</a>
</g>
</g>
-<!-- Node0->Node202 -->
-<g id="edge206_Node000000_Node000202" class="edge">
-<title>Node0->Node202</title>
-<g id="a_edge206_Node000000_Node000202"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.27,-2475.53C35.61,-2640.81 53.32,-3774.35 100,-3827.5 105.24,-3833.46 111.73,-3837.89 118.86,-3841.13"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.77,-2475.28 33.13,-2465.33 29.77,-2475.38 36.77,-2475.28"/>
+<!-- Node0->Node186 -->
+<g id="edge190_Node000000_Node000186" class="edge">
+<title>Node0->Node186</title>
+<g id="a_edge190_Node000000_Node000186"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M32.85,-2479.59C31.76,-2640.86 27.25,-3721.94 100,-3844.5 115.36,-3870.38 146.39,-3886.73 169.83,-3895.91"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.35,-2479.26 32.92,-2469.24 29.35,-2479.21 36.35,-2479.26"/>
</a>
</g>
</g>
<!-- Node203 -->
<g id="Node000203" class="node">
<title>Node203</title>
-<g id="a_Node000203"><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="#666666" points="302,-3818 100,-3818 100,-3799 302,-3799 302,-3818"/>
-<text text-anchor="middle" x="201" y="-3806" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrumentNode</text>
+<g id="a_Node000203"><a xlink:href="classtvm_1_1UniqueNameSupplyNode.html" target="_top" xlink:title="UniqueNameSupply can be used to generate unique names.">
+<polygon fill="white" stroke="#666666" points="283,-3835 119,-3835 119,-3816 283,-3816 283,-3835"/>
+<text text-anchor="middle" x="201" y="-3823" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::UniqueNameSupplyNode</text>
</a>
</g>
</g>
@@ -336,17 +318,17 @@
<g id="edge207_Node000000_Node000203" class="edge">
<title>Node0->Node203</title>
<g id="a_edge207_Node000000_Node000203"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.3,-2475.48C35.83,-2638.02 54.58,-3738.86 100,-3790.5 102.8,-3793.68 105.95,-3796.42 109.36,-3798.78"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.79,-2475.01 33.14,-2465.07 29.79,-2475.12 36.79,-2475.01"/>
+<path fill="none" stroke="#63b8ff" d="M33.29,-2479.18C35.73,-2641.57 54.11,-3755.3 100,-3807.5 105.24,-3813.46 111.73,-3817.88 118.87,-3821.12"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.78,-2479.11 33.14,-2469.16 29.79,-2479.21 36.78,-2479.11"/>
</a>
</g>
</g>
<!-- Node204 -->
<g id="Node000204" class="node">
<title>Node204</title>
-<g id="a_Node000204"><a xlink:href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="282,-3781 120,-3781 120,-3762 282,-3762 282,-3781"/>
-<text text-anchor="middle" x="201" y="-3769" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlockNode</text>
+<g id="a_Node000204"><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="#666666" points="302,-3798 100,-3798 100,-3779 302,-3779 302,-3798"/>
+<text text-anchor="middle" x="201" y="-3786" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::instrument::PassInstrumentNode</text>
</a>
</g>
</g>
@@ -354,53 +336,53 @@
<g id="edge208_Node000000_Node000204" class="edge">
<title>Node0->Node204</title>
<g id="a_edge208_Node000000_Node000204"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.33,-2475.42C36.05,-2635.17 55.85,-3703.38 100,-3753.5 105.48,-3759.72 112.32,-3764.27 119.83,-3767.54"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.82,-2475.1 33.16,-2465.16 29.82,-2475.22 36.82,-2475.1"/>
+<path fill="none" stroke="#63b8ff" d="M33.32,-2479.61C35.98,-2640.97 55.42,-3719.86 100,-3770.5 102.8,-3773.68 105.95,-3776.42 109.36,-3778.77"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.81,-2479.2 33.15,-2469.26 29.82,-2479.31 36.81,-2479.2"/>
</a>
</g>
</g>
-<!-- Node206 -->
-<g id="Node000206" class="node">
-<title>Node206</title>
-<g id="a_Node000206"><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="#666666" points="268.5,-3744 133.5,-3744 133.5,-3725 268.5,-3725 268.5,-3744"/>
-<text text-anchor="middle" x="201" y="-3732" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingNode</text>
+<!-- Node205 -->
+<g id="Node000205" class="node">
+<title>Node205</title>
+<g id="a_Node000205"><a xlink:href="classtvm_1_1relax_1_1BindingBlockNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="282,-3761 120,-3761 120,-3742 282,-3742 282,-3761"/>
+<text text-anchor="middle" x="201" y="-3749" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingBlockNode</text>
</a>
</g>
</g>
-<!-- Node0->Node206 -->
-<g id="edge210_Node000000_Node000206" class="edge">
-<title>Node0->Node206</title>
-<g id="a_edge210_Node000000_Node000206"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.36,-2475.33C36.27,-2632.19 57.11,-3667.88 100,-3716.5 108.64,-3726.29 120.63,-3731.92 133.33,-3734.99"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.86,-2475.17 33.17,-2465.23 29.86,-2475.3 36.86,-2475.17"/>
+<!-- Node0->Node205 -->
+<g id="edge209_Node000000_Node000205" class="edge">
+<title>Node0->Node205</title>
+<g id="a_edge209_Node000000_Node000205"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.35,-2479.53C36.21,-2638.01 56.68,-3684.37 100,-3733.5 105.48,-3739.72 112.32,-3744.26 119.84,-3747.53"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.85,-2479.27 33.17,-2469.33 29.85,-2479.4 36.85,-2479.27"/>
</a>
</g>
</g>
-<!-- Node209 -->
-<g id="Node000209" class="node">
-<title>Node209</title>
-<g id="a_Node000209"><a xlink:href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_top" xlink:title="A builder to build Relax binding blocks.">
-<polygon fill="white" stroke="#666666" points="281,-3707 121,-3707 121,-3688 281,-3688 281,-3707"/>
-<text text-anchor="middle" x="201" y="-3695" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilderNode</text>
+<!-- Node207 -->
+<g id="Node000207" class="node">
+<title>Node207</title>
+<g id="a_Node000207"><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="#666666" points="268.5,-3724 133.5,-3724 133.5,-3705 268.5,-3705 268.5,-3724"/>
+<text text-anchor="middle" x="201" y="-3712" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BindingNode</text>
</a>
</g>
</g>
-<!-- Node0->Node209 -->
-<g id="edge213_Node000000_Node000209" class="edge">
-<title>Node0->Node209</title>
-<g id="a_edge213_Node000000_Node000209"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.4,-2475.69C36.55,-2631.09 58.41,-3632.43 100,-3679.5 105.72,-3685.98 112.92,-3690.63 120.81,-3693.93"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.89,-2475.22 33.19,-2465.3 29.89,-2475.36 36.89,-2475.22"/>
+<!-- Node0->Node207 -->
+<g id="edge211_Node000000_Node000207" class="edge">
+<title>Node0->Node207</title>
+<g id="a_edge211_Node000000_Node000207"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.38,-2479.42C36.44,-2634.86 57.94,-3648.87 100,-3696.5 108.64,-3706.28 120.64,-3711.92 133.34,-3714.98"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.87,-2478.98 33.18,-2469.05 29.87,-2479.12 36.87,-2478.98"/>
</a>
</g>
</g>
<!-- Node210 -->
<g id="Node000210" class="node">
<title>Node210</title>
-<g id="a_Node000210"><a xlink:href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_top" xlink:title="Additional constraints on the graph.">
-<polygon fill="white" stroke="#666666" points="282,-3670 120,-3670 120,-3651 282,-3651 282,-3670"/>
-<text text-anchor="middle" x="201" y="-3658" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraintNode</text>
+<g id="a_Node000210"><a xlink:href="classtvm_1_1relax_1_1BlockBuilderNode.html" target="_top" xlink:title="A builder to build Relax binding blocks.">
+<polygon fill="white" stroke="#666666" points="281,-3687 121,-3687 121,-3668 281,-3668 281,-3687"/>
+<text text-anchor="middle" x="201" y="-3675" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilderNode</text>
</a>
</g>
</g>
@@ -408,54 +390,54 @@
<g id="edge214_Node000000_Node000210" class="edge">
<title>Node0->Node210</title>
<g id="a_edge214_Node000000_Node000210"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.42,-2475.08C36.73,-2625.78 59.63,-3596.89 100,-3642.5 105.5,-3648.71 112.34,-3653.24 119.86,-3656.51"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.92,-2474.92 33.2,-2465 29.92,-2475.07 36.92,-2474.92"/>
+<path fill="none" stroke="#63b8ff" d="M33.41,-2479.29C36.67,-2631.65 59.2,-3613.38 100,-3659.5 105.73,-3665.97 112.93,-3670.63 120.82,-3673.92"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.91,-2479.03 33.2,-2469.1 29.91,-2479.18 36.91,-2479.03"/>
</a>
</g>
</g>
-<!-- Node212 -->
-<g id="Node000212" class="node">
-<title>Node212</title>
-<g id="a_Node000212"><a xlink:href="classtvm_1_1relax_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns.">
-<polygon fill="white" stroke="#666666" points="274,-3633 128,-3633 128,-3614 274,-3614 274,-3633"/>
-<text text-anchor="middle" x="201" y="-3621" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPatternNode</text>
+<!-- Node211 -->
+<g id="Node000211" class="node">
+<title>Node211</title>
+<g id="a_Node000211"><a xlink:href="classtvm_1_1relax_1_1DFConstraintNode.html" target="_top" xlink:title="Additional constraints on the graph.">
+<polygon fill="white" stroke="#666666" points="282,-3650 120,-3650 120,-3631 282,-3631 282,-3650"/>
+<text text-anchor="middle" x="201" y="-3638" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFConstraintNode</text>
</a>
</g>
</g>
-<!-- Node0->Node212 -->
-<g id="edge216_Node000000_Node000212" class="edge">
-<title>Node0->Node212</title>
-<g id="a_edge216_Node000000_Node000212"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.47,-2475.35C37.06,-2624.13 61.17,-3560.28 100,-3604.5 107.4,-3612.93 117.29,-3618.35 127.97,-3621.73"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.96,-2474.94 33.22,-2465.03 29.96,-2475.11 36.96,-2474.94"/>
+<!-- Node0->Node211 -->
+<g id="edge215_Node000000_Node000211" class="edge">
+<title>Node0->Node211</title>
+<g id="a_edge215_Node000000_Node000211"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.44,-2479.14C36.91,-2628.31 60.45,-3577.88 100,-3622.5 105.5,-3628.71 112.35,-3633.24 119.87,-3636.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.94,-2479.06 33.22,-2469.14 29.95,-2479.22 36.94,-2479.06"/>
</a>
</g>
</g>
-<!-- Node233 -->
-<g id="Node000233" class="node">
-<title>Node233</title>
-<g id="a_Node000233"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_top" xlink:title="Statement rewriter for relax.DataflowBlock.">
-<polygon fill="white" stroke="#666666" points="272.5,-3595.5 129.5,-3595.5 129.5,-3565.5 272.5,-3565.5 272.5,-3595.5"/>
-<text text-anchor="start" x="137.5" y="-3583.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
-<text text-anchor="middle" x="201" y="-3572.5" font-family="Helvetica,sans-Serif" font-size="10.00">RewriteNode</text>
+<!-- Node213 -->
+<g id="Node000213" class="node">
+<title>Node213</title>
+<g id="a_Node000213"><a xlink:href="classtvm_1_1relax_1_1DFPatternNode.html" target="_top" xlink:title="Base type of all dataflow patterns.">
+<polygon fill="white" stroke="#666666" points="274,-3613 128,-3613 128,-3594 274,-3594 274,-3613"/>
+<text text-anchor="middle" x="201" y="-3601" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DFPatternNode</text>
</a>
</g>
</g>
-<!-- Node0->Node233 -->
-<g id="edge237_Node000000_Node000233" class="edge">
-<title>Node0->Node233</title>
-<g id="a_edge237_Node000000_Node000233"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.81,-2475.39C31.67,-2617.11 27.8,-3470.43 100,-3556.5 107.63,-3565.6 118.04,-3571.59 129.28,-3575.47"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.32,-2475.19 32.9,-2465.16 29.32,-2475.13 36.32,-2475.19"/>
+<!-- Node0->Node213 -->
+<g id="edge217_Node000000_Node000213" class="edge">
+<title>Node0->Node213</title>
+<g id="a_edge217_Node000000_Node000213"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.49,-2479.39C37.24,-2626.5 61.99,-3541.27 100,-3584.5 107.41,-3592.93 117.3,-3598.34 127.98,-3601.72"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.99,-2479.07 33.24,-2469.16 29.99,-2479.24 36.99,-2479.07"/>
</a>
</g>
</g>
<!-- Node234 -->
<g id="Node000234" class="node">
<title>Node234</title>
-<g id="a_Node000234"><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="#666666" points="278.5,-3547 123.5,-3547 123.5,-3528 278.5,-3528 278.5,-3547"/>
-<text text-anchor="middle" x="201" y="-3535" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilderNode</text>
+<g id="a_Node000234"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html" target="_top" xlink:title="Statement rewriter for relax.DataflowBlock.">
+<polygon fill="white" stroke="#666666" points="272.5,-3575.5 129.5,-3575.5 129.5,-3545.5 272.5,-3545.5 272.5,-3575.5"/>
+<text text-anchor="start" x="137.5" y="-3563.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlock</text>
+<text text-anchor="middle" x="201" y="-3552.5" font-family="Helvetica,sans-Serif" font-size="10.00">RewriteNode</text>
</a>
</g>
</g>
@@ -463,17 +445,17 @@
<g id="edge238_Node000000_Node000234" class="edge">
<title>Node0->Node234</title>
<g id="a_edge238_Node000000_Node000234"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.81,-2475.2C31.65,-2613.74 27.85,-3438.51 100,-3519.5 106.34,-3526.61 114.45,-3531.52 123.31,-3534.85"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.31,-2475.2 32.9,-2465.17 29.31,-2475.14 36.31,-2475.2"/>
+<path fill="none" stroke="#63b8ff" d="M32.84,-2479.39C31.91,-2619.32 29.38,-3452.44 100,-3536.5 107.64,-3545.59 118.05,-3551.58 129.29,-3555.46"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.34,-2479.29 32.92,-2469.27 29.34,-2479.24 36.34,-2479.29"/>
</a>
</g>
</g>
<!-- Node235 -->
<g id="Node000235" class="node">
<title>Node235</title>
-<g id="a_Node000235"><a xlink:href="classtvm_1_1relax_1_1MatchResultNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="280.5,-3510 121.5,-3510 121.5,-3491 280.5,-3491 280.5,-3510"/>
-<text text-anchor="middle" x="201" y="-3498" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResultNode</text>
+<g id="a_Node000235"><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="#666666" points="278.5,-3527 123.5,-3527 123.5,-3508 278.5,-3508 278.5,-3527"/>
+<text text-anchor="middle" x="201" y="-3515" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExecBuilderNode</text>
</a>
</g>
</g>
@@ -481,17 +463,17 @@
<g id="edge239_Node000000_Node000235" class="edge">
<title>Node0->Node235</title>
<g id="a_edge239_Node000000_Node000235"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.86,-2475.34C32.05,-2611.49 30.4,-3404.56 100,-3482.5 105.87,-3489.08 113.27,-3493.77 121.37,-3497.07"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.36,-2475.17 32.92,-2465.15 29.36,-2475.12 36.36,-2475.17"/>
+<path fill="none" stroke="#63b8ff" d="M32.84,-2479.59C31.91,-2617.46 29.55,-3420.55 100,-3499.5 106.34,-3506.61 114.46,-3511.52 123.32,-3514.84"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.34,-2479.29 32.91,-2469.27 29.34,-2479.24 36.34,-2479.29"/>
</a>
</g>
</g>
<!-- Node236 -->
<g id="Node000236" class="node">
<title>Node236</title>
-<g id="a_Node000236"><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="#666666" points="286.5,-3473 115.5,-3473 115.5,-3454 286.5,-3454 286.5,-3473"/>
-<text text-anchor="middle" x="201" y="-3461" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContextNode</text>
+<g id="a_Node000236"><a xlink:href="classtvm_1_1relax_1_1MatchResultNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="280.5,-3490 121.5,-3490 121.5,-3471 280.5,-3471 280.5,-3490"/>
+<text text-anchor="middle" x="201" y="-3478" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchResultNode</text>
</a>
</g>
</g>
@@ -499,17 +481,17 @@
<g id="edge240_Node000000_Node000236" class="edge">
<title>Node0->Node236</title>
<g id="a_edge240_Node000000_Node000236"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.91,-2475.44C32.47,-2609 32.94,-3370.59 100,-3445.5 104.35,-3450.36 109.54,-3454.2 115.22,-3457.2"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.41,-2475.11 32.95,-2465.1 29.41,-2475.09 36.41,-2475.11"/>
+<path fill="none" stroke="#63b8ff" d="M32.89,-2479.3C32.32,-2613.46 32.03,-3386.5 100,-3462.5 105.88,-3469.07 113.28,-3473.77 121.38,-3477.06"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.39,-2479.24 32.94,-2469.23 29.39,-2479.21 36.39,-2479.24"/>
</a>
</g>
</g>
<!-- Node237 -->
<g id="Node000237" class="node">
<title>Node237</title>
-<g id="a_Node000237"><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="#666666" points="276.5,-3436 125.5,-3436 125.5,-3417 276.5,-3417 276.5,-3436"/>
-<text text-anchor="middle" x="201" y="-3424" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeqNode</text>
+<g id="a_Node000237"><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="#666666" points="286.5,-3453 115.5,-3453 115.5,-3434 286.5,-3434 286.5,-3453"/>
+<text text-anchor="middle" x="201" y="-3441" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternContextNode</text>
</a>
</g>
</g>
@@ -517,18 +499,17 @@
<g id="edge241_Node000000_Node000237" class="edge">
<title>Node0->Node237</title>
<g id="a_edge241_Node000000_Node000237"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.97,-2475.07C32.97,-2604.59 35.82,-3335.3 100,-3407.5 106.81,-3415.16 115.67,-3420.33 125.29,-3423.73"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.47,-2475.02 32.98,-2465.02 29.47,-2475.02 36.47,-2475.02"/>
+<path fill="none" stroke="#63b8ff" d="M32.94,-2479.37C32.75,-2610.84 34.57,-3352.53 100,-3425.5 104.36,-3430.36 109.54,-3434.19 115.23,-3437.19"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.44,-2479.17 32.96,-2469.17 29.44,-2479.16 36.44,-2479.17"/>
</a>
</g>
</g>
<!-- Node238 -->
<g id="Node000238" class="node">
<title>Node238</title>
-<g id="a_Node000238"><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="#666666" points="263.5,-3398.5 138.5,-3398.5 138.5,-3368.5 263.5,-3368.5 263.5,-3398.5"/>
-<text text-anchor="start" x="146.5" y="-3386.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="201" y="-3375.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementNode</text>
+<g id="a_Node000238"><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="#666666" points="276.5,-3416 125.5,-3416 125.5,-3397 276.5,-3397 276.5,-3416"/>
+<text text-anchor="middle" x="201" y="-3404" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PatternSeqNode</text>
</a>
</g>
</g>
@@ -536,18 +517,18 @@
<g id="edge242_Node000000_Node000238" class="edge">
<title>Node0->Node238</title>
<g id="a_edge242_Node000000_Node000238"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.09,-2475.21C33.86,-2601.1 40.75,-3289.81 100,-3359.5 109.71,-3370.93 123.82,-3377.44 138.39,-3381.03"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.59,-2475.08 33.04,-2465.1 29.59,-2475.12 36.59,-2475.08"/>
+<path fill="none" stroke="#63b8ff" d="M33.01,-2479.36C33.26,-2607.75 37.5,-3317.31 100,-3387.5 106.82,-3395.15 115.68,-3400.32 125.31,-3403.72"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.51,-2479.07 33,-2469.07 29.51,-2479.08 36.51,-2479.07"/>
</a>
</g>
</g>
<!-- Node239 -->
<g id="Node000239" class="node">
<title>Node239</title>
-<g id="a_Node000239"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html" target="_top" xlink:title="Describes how data is distributed in one dimension of the device mesh.">
-<polygon fill="white" stroke="#666666" points="263.5,-3350.5 138.5,-3350.5 138.5,-3320.5 263.5,-3320.5 263.5,-3350.5"/>
-<text text-anchor="start" x="146.5" y="-3338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="201" y="-3327.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpecNode</text>
+<g id="a_Node000239"><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="#666666" points="263.5,-3378.5 138.5,-3378.5 138.5,-3348.5 263.5,-3348.5 263.5,-3378.5"/>
+<text text-anchor="start" x="146.5" y="-3366.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="201" y="-3355.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementNode</text>
</a>
</g>
</g>
@@ -555,37 +536,37 @@
<g id="edge243_Node000000_Node000239" class="edge">
<title>Node0->Node239</title>
<g id="a_edge243_Node000000_Node000239"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.18,-2475.28C34.47,-2597.42 43.92,-3245.81 100,-3311.5 109.74,-3322.91 123.85,-3329.41 138.42,-3333"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.68,-2475.11 33.08,-2465.14 29.68,-2475.18 36.68,-2475.11"/>
+<path fill="none" stroke="#63b8ff" d="M33.14,-2479.44C34.17,-2603.99 42.36,-3271.85 100,-3339.5 109.73,-3350.92 123.84,-3357.42 138.41,-3361.02"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.63,-2479.1 33.06,-2469.13 29.63,-2479.15 36.63,-2479.1"/>
</a>
</g>
</g>
-<!-- Node241 -->
-<g id="Node000241" class="node">
-<title>Node241</title>
-<g id="a_Node000241"><a xlink:href="classtvm_1_1relax_1_1transform_1_1FusionPatternNode.html" target="_top" xlink:title="The pattern object used as the input of FuseOpsByPattern. For bindings to be fused,...">
-<polygon fill="white" stroke="#666666" points="261.5,-3302.5 140.5,-3302.5 140.5,-3272.5 261.5,-3272.5 261.5,-3302.5"/>
-<text text-anchor="start" x="148.5" y="-3290.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
-<text text-anchor="middle" x="201" y="-3279.5" font-family="Helvetica,sans-Serif" font-size="10.00">::FusionPatternNode</text>
+<!-- Node240 -->
+<g id="Node000240" class="node">
+<title>Node240</title>
+<g id="a_Node000240"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html" target="_top" xlink:title="Describes how data is distributed in one dimension of the device mesh.">
+<polygon fill="white" stroke="#666666" points="263.5,-3330.5 138.5,-3330.5 138.5,-3300.5 263.5,-3300.5 263.5,-3330.5"/>
+<text text-anchor="start" x="146.5" y="-3318.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="201" y="-3307.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PlacementSpecNode</text>
</a>
</g>
</g>
-<!-- Node0->Node241 -->
-<g id="edge245_Node000000_Node000241" class="edge">
-<title>Node0->Node241</title>
-<g id="a_edge245_Node000000_Node000241"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.28,-2475.26C35.1,-2593.26 47.06,-3201.79 100,-3263.5 110.17,-3275.36 125.07,-3281.91 140.28,-3285.41"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.77,-2475.09 33.13,-2465.14 29.78,-2475.19 36.77,-2475.09"/>
+<!-- Node0->Node240 -->
+<g id="edge244_Node000000_Node000240" class="edge">
+<title>Node0->Node240</title>
+<g id="a_edge244_Node000000_Node000240"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.23,-2479.47C34.79,-2600.03 45.52,-3227.83 100,-3291.5 109.75,-3302.89 123.87,-3309.4 138.44,-3312.99"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.73,-2479.11 33.1,-2469.15 29.73,-2479.19 36.73,-2479.11"/>
</a>
</g>
</g>
<!-- Node242 -->
<g id="Node000242" class="node">
<title>Node242</title>
-<g id="a_Node000242"><a xlink:href="classtvm_1_1relax_1_1transform_1_1PatternCheckContextNode.html" target="_top" xlink:title="The input of FusionPattern::check.">
-<polygon fill="white" stroke="#666666" points="276.5,-3254.5 125.5,-3254.5 125.5,-3224.5 276.5,-3224.5 276.5,-3254.5"/>
-<text text-anchor="start" x="133.5" y="-3242.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
-<text text-anchor="middle" x="201" y="-3231.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PatternCheckContextNode</text>
+<g id="a_Node000242"><a xlink:href="classtvm_1_1relax_1_1transform_1_1FusionPatternNode.html" target="_top" xlink:title="The pattern object used as the input of FuseOpsByPattern. For bindings to be fused,...">
+<polygon fill="white" stroke="#666666" points="261.5,-3282.5 140.5,-3282.5 140.5,-3252.5 261.5,-3252.5 261.5,-3282.5"/>
+<text text-anchor="start" x="148.5" y="-3270.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
+<text text-anchor="middle" x="201" y="-3259.5" font-family="Helvetica,sans-Serif" font-size="10.00">::FusionPatternNode</text>
</a>
</g>
</g>
@@ -593,17 +574,18 @@
<g id="edge246_Node000000_Node000242" class="edge">
<title>Node0->Node242</title>
<g id="a_edge246_Node000000_Node000242"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.38,-2475.14C35.77,-2588.64 50.19,-3157.74 100,-3215.5 106.76,-3223.34 115.59,-3228.86 125.21,-3232.71"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.88,-2475.02 33.18,-2465.09 29.88,-2475.16 36.88,-2475.02"/>
+<path fill="none" stroke="#63b8ff" d="M33.33,-2479.39C35.45,-2595.6 48.65,-3183.79 100,-3243.5 110.19,-3255.34 125.09,-3261.9 140.3,-3265.39"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.83,-2479.06 33.15,-2469.12 29.83,-2479.18 36.83,-2479.06"/>
</a>
</g>
</g>
<!-- Node243 -->
<g id="Node000243" class="node">
<title>Node243</title>
-<g id="a_Node000243"><a xlink:href="classtvm_1_1runtime_1_1DRefObj.html" target="_top" xlink:title="An object that exists on all workers.">
-<polygon fill="white" stroke="#666666" points="264.5,-3206 137.5,-3206 137.5,-3187 264.5,-3187 264.5,-3206"/>
-<text text-anchor="middle" x="201" y="-3194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::DRefObj</text>
+<g id="a_Node000243"><a xlink:href="classtvm_1_1relax_1_1transform_1_1PatternCheckContextNode.html" target="_top" xlink:title="The input of FusionPattern::check.">
+<polygon fill="white" stroke="#666666" points="276.5,-3234.5 125.5,-3234.5 125.5,-3204.5 276.5,-3204.5 276.5,-3234.5"/>
+<text text-anchor="start" x="133.5" y="-3222.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::transform</text>
+<text text-anchor="middle" x="201" y="-3211.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PatternCheckContextNode</text>
</a>
</g>
</g>
@@ -611,17 +593,17 @@
<g id="edge247_Node000000_Node000243" class="edge">
<title>Node0->Node243</title>
<g id="a_edge247_Node000000_Node000243"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.43,-2475.25C36.01,-2585.82 51.07,-3125.19 100,-3178.5 109.66,-3189.03 123.22,-3194.69 137.24,-3197.52"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.93,-2475.08 33.2,-2465.16 29.93,-2475.23 36.93,-2475.08"/>
+<path fill="none" stroke="#63b8ff" d="M33.44,-2479.2C36.13,-2590.72 51.77,-3139.73 100,-3195.5 106.77,-3203.33 115.61,-3208.85 125.23,-3212.69"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.94,-2478.96 33.21,-2469.05 29.94,-2479.13 36.94,-2478.96"/>
</a>
</g>
</g>
<!-- Node244 -->
<g id="Node000244" class="node">
<title>Node244</title>
-<g id="a_Node000244"><a xlink:href="classtvm_1_1runtime_1_1SessionObj.html" target="_top" xlink:title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">
-<polygon fill="white" stroke="#666666" points="271,-3169 131,-3169 131,-3150 271,-3150 271,-3169"/>
-<text text-anchor="middle" x="201" y="-3157" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::SessionObj</text>
+<g id="a_Node000244"><a xlink:href="classtvm_1_1runtime_1_1DRefObj.html" target="_top" xlink:title="An object that exists on all workers.">
+<polygon fill="white" stroke="#666666" points="264.5,-3186 137.5,-3186 137.5,-3167 264.5,-3167 264.5,-3186"/>
+<text text-anchor="middle" x="201" y="-3174" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::DRefObj</text>
</a>
</g>
</g>
@@ -629,17 +611,17 @@
<g id="edge248_Node000000_Node000244" class="edge">
<title>Node0->Node244</title>
<g id="a_edge248_Node000000_Node000244"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.53,-2475.23C36.6,-2582.35 53.57,-3091.16 100,-3141.5 108.19,-3150.38 119.16,-3155.8 130.83,-3158.97"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.03,-2475.06 33.25,-2465.16 30.03,-2475.26 37.03,-2475.06"/>
+<path fill="none" stroke="#63b8ff" d="M33.5,-2479.26C36.39,-2587.66 52.7,-3107.12 100,-3158.5 109.68,-3169.01 123.24,-3174.67 137.27,-3177.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.99,-2478.99 33.23,-2469.09 29.99,-2479.18 36.99,-2478.99"/>
</a>
</g>
</g>
<!-- Node245 -->
<g id="Node000245" class="node">
<title>Node245</title>
-<g id="a_Node000245"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all timer implementations.">
-<polygon fill="white" stroke="#666666" points="271,-3132 131,-3132 131,-3113 271,-3113 271,-3132"/>
-<text text-anchor="middle" x="201" y="-3120" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::TimerNode</text>
+<g id="a_Node000245"><a xlink:href="classtvm_1_1runtime_1_1SessionObj.html" target="_top" xlink:title="A Disco interactive session. It allows users to interact with the Disco command queue with various ff...">
+<polygon fill="white" stroke="#666666" points="271,-3149 131,-3149 131,-3130 271,-3130 271,-3149"/>
+<text text-anchor="middle" x="201" y="-3137" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::SessionObj</text>
</a>
</g>
</g>
@@ -647,18 +629,17 @@
<g id="edge249_Node000000_Node000245" class="edge">
<title>Node0->Node245</title>
<g id="a_edge249_Node000000_Node000245"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.67,-2475.42C37.32,-2579.3 56.4,-3056.03 100,-3103.5 108.19,-3112.41 119.16,-3117.92 130.83,-3121.2"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.16,-2475.22 33.32,-2465.35 30.17,-2475.46 37.16,-2475.22"/>
+<path fill="none" stroke="#63b8ff" d="M33.6,-2479.19C37,-2583.95 55.19,-3073.09 100,-3121.5 108.21,-3130.37 119.18,-3135.78 130.86,-3138.95"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.1,-2478.95 33.28,-2469.07 30.1,-2479.17 37.1,-2478.95"/>
</a>
</g>
</g>
<!-- Node246 -->
<g id="Node000246" class="node">
<title>Node246</title>
-<g id="a_Node000246"><a xlink:href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html" target="_top" xlink:title="The CUDA IPC (interprocess communication) memory object, which internally contains data pointers to C...">
-<polygon fill="white" stroke="#666666" points="272.5,-3094.5 129.5,-3094.5 129.5,-3064.5 272.5,-3064.5 272.5,-3094.5"/>
-<text text-anchor="start" x="137.5" y="-3082.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::cuda</text>
-<text text-anchor="middle" x="201" y="-3071.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ipc::CUDAIPCMemoryObj</text>
+<g id="a_Node000246"><a xlink:href="classtvm_1_1runtime_1_1TimerNode.html" target="_top" xlink:title="Base class for all timer implementations.">
+<polygon fill="white" stroke="#666666" points="271,-3112 131,-3112 131,-3093 271,-3093 271,-3112"/>
+<text text-anchor="middle" x="201" y="-3100" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::TimerNode</text>
</a>
</g>
</g>
@@ -666,18 +647,18 @@
<g id="edge250_Node000000_Node000246" class="edge">
<title>Node0->Node246</title>
<g id="a_edge250_Node000000_Node000246"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.87,-2475.12C38.4,-2573.59 60.63,-3010.91 100,-3055.5 107.8,-3064.33 118.22,-3070.21 129.4,-3074.06"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.36,-2474.9 33.41,-2465.07 30.37,-2475.21 37.36,-2474.9"/>
+<path fill="none" stroke="#63b8ff" d="M33.76,-2479.63C37.78,-2581.6 58.03,-3038 100,-3083.5 108.21,-3092.4 119.18,-3097.9 130.86,-3101.17"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.25,-2479.32 33.36,-2469.47 30.25,-2479.59 37.25,-2479.32"/>
</a>
</g>
</g>
<!-- Node247 -->
<g id="Node000247" class="node">
<title>Node247</title>
-<g id="a_Node000247"><a xlink:href="classtvm_1_1runtime_1_1memory_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation.">
-<polygon fill="white" stroke="#666666" points="265,-3046.5 137,-3046.5 137,-3016.5 265,-3016.5 265,-3046.5"/>
-<text text-anchor="start" x="145" y="-3034.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::memory</text>
-<text text-anchor="middle" x="201" y="-3023.5" font-family="Helvetica,sans-Serif" font-size="10.00">::StorageObj</text>
+<g id="a_Node000247"><a xlink:href="classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html" target="_top" xlink:title="The CUDA IPC (interprocess communication) memory object, which internally contains data pointers to C...">
+<polygon fill="white" stroke="#666666" points="272.5,-3074.5 129.5,-3074.5 129.5,-3044.5 272.5,-3044.5 272.5,-3074.5"/>
+<text text-anchor="start" x="137.5" y="-3062.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::cuda</text>
+<text text-anchor="middle" x="201" y="-3051.5" font-family="Helvetica,sans-Serif" font-size="10.00">_ipc::CUDAIPCMemoryObj</text>
</a>
</g>
</g>
@@ -685,17 +666,18 @@
<g id="edge251_Node000000_Node000247" class="edge">
<title>Node0->Node247</title>
<g id="a_edge251_Node000000_Node000247"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M34.08,-2475.3C39.37,-2569.2 63.77,-2966.86 100,-3007.5 109.56,-3018.23 123,-3024.58 136.93,-3028.25"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.57,-2474.97 33.52,-2465.18 30.58,-2475.36 37.57,-2474.97"/>
+<path fill="none" stroke="#63b8ff" d="M33.97,-2479.24C38.88,-2575.51 62.21,-2992.89 100,-3035.5 107.82,-3044.32 118.25,-3050.18 129.43,-3054.03"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.46,-2478.95 33.46,-2469.14 30.47,-2479.3 37.46,-2478.95"/>
</a>
</g>
</g>
<!-- Node248 -->
<g id="Node000248" class="node">
<title>Node248</title>
-<g id="a_Node000248"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_top" xlink:title="An object representing a vm closure.">
-<polygon fill="white" stroke="#666666" points="289.5,-2998 112.5,-2998 112.5,-2979 289.5,-2979 289.5,-2998"/>
-<text text-anchor="middle" x="201" y="-2986" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMClosureObj</text>
+<g id="a_Node000248"><a xlink:href="classtvm_1_1runtime_1_1memory_1_1StorageObj.html" target="_top" xlink:title="An object representing a storage allocation.">
+<polygon fill="white" stroke="#666666" points="265,-3026.5 137,-3026.5 137,-2996.5 265,-2996.5 265,-3026.5"/>
+<text text-anchor="start" x="145" y="-3014.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::memory</text>
+<text text-anchor="middle" x="201" y="-3003.5" font-family="Helvetica,sans-Serif" font-size="10.00">::StorageObj</text>
</a>
</g>
</g>
@@ -703,17 +685,17 @@
<g id="edge252_Node000000_Node000248" class="edge">
<title>Node0->Node248</title>
<g id="a_edge252_Node000000_Node000248"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.59,-2475.61C31.28,-2561.67 30.74,-2897.78 100,-2970.5 103.65,-2974.33 107.82,-2977.51 112.33,-2980.14"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.1,-2475.44 32.77,-2465.38 29.1,-2475.32 36.1,-2475.44"/>
+<path fill="none" stroke="#63b8ff" d="M32.63,-2479.19C31.43,-2565.63 31.09,-2910.62 100,-2987.5 109.59,-2998.2 123.04,-3004.55 136.97,-3008.22"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.13,-2479.21 32.79,-2469.16 29.13,-2479.1 36.13,-2479.21"/>
</a>
</g>
</g>
<!-- Node249 -->
<g id="Node000249" class="node">
<title>Node249</title>
-<g id="a_Node000249"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMExtensionNode.html" target="_top" xlink:title="Represent a VM extension. A VM extension allows the user to extend the VM with target specific functi...">
-<polygon fill="white" stroke="#666666" points="299.5,-2961 102.5,-2961 102.5,-2942 299.5,-2942 299.5,-2961"/>
-<text text-anchor="middle" x="201" y="-2949" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExtensionNode</text>
+<g id="a_Node000249"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMClosureObj.html" target="_top" xlink:title="An object representing a vm closure.">
+<polygon fill="white" stroke="#666666" points="289.5,-2978 112.5,-2978 112.5,-2959 289.5,-2959 289.5,-2978"/>
+<text text-anchor="middle" x="201" y="-2966" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMClosureObj</text>
</a>
</g>
</g>
@@ -721,17 +703,17 @@
<g id="edge253_Node000000_Node000249" class="edge">
<title>Node0->Node249</title>
<g id="a_edge253_Node000000_Node000249"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.82,-2475.45C32.5,-2557.34 35.63,-2866.58 100,-2933.5 103.06,-2936.68 106.47,-2939.41 110.14,-2941.75"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.32,-2475.09 32.88,-2465.07 29.32,-2475.05 36.32,-2475.09"/>
+<path fill="none" stroke="#63b8ff" d="M32.74,-2479.47C32.06,-2562.79 33.91,-2881.54 100,-2950.5 103.66,-2954.32 107.84,-2957.49 112.36,-2960.12"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.24,-2479.36 32.84,-2469.33 29.24,-2479.29 36.24,-2479.36"/>
</a>
</g>
</g>
<!-- Node250 -->
<g id="Node000250" class="node">
<title>Node250</title>
-<g id="a_Node000250"><a xlink:href="classtvm_1_1s__tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
-<polygon fill="white" stroke="#666666" points="285,-2924 117,-2924 117,-2905 285,-2905 285,-2924"/>
-<text text-anchor="middle" x="201" y="-2912" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionKindNode</text>
+<g id="a_Node000250"><a xlink:href="classtvm_1_1runtime_1_1vm_1_1VMExtensionNode.html" target="_top" xlink:title="Represent a VM extension. A VM extension allows the user to extend the VM with target specific functi...">
+<polygon fill="white" stroke="#666666" points="299.5,-2941 102.5,-2941 102.5,-2922 299.5,-2922 299.5,-2941"/>
+<text text-anchor="middle" x="201" y="-2929" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::runtime::vm::VMExtensionNode</text>
</a>
</g>
</g>
@@ -739,17 +721,17 @@
<g id="edge254_Node000000_Node000250" class="edge">
<title>Node0->Node250</title>
<g id="a_edge254_Node000000_Node000250"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.08,-2475.38C33.8,-2553.14 40.54,-2835.39 100,-2896.5 104.8,-2901.43 110.45,-2905.28 116.6,-2908.25"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.57,-2475.06 33.01,-2465.08 29.57,-2475.1 36.57,-2475.06"/>
+<path fill="none" stroke="#63b8ff" d="M32.98,-2479.47C33.33,-2558.8 38.84,-2850.37 100,-2913.5 103.19,-2916.79 106.77,-2919.6 110.61,-2922"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.48,-2479.35 32.96,-2469.36 29.48,-2479.37 36.48,-2479.35"/>
</a>
</g>
</g>
<!-- Node251 -->
<g id="Node000251" class="node">
<title>Node251</title>
-<g id="a_Node000251"><a xlink:href="classtvm_1_1s__tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive.">
-<polygon fill="white" stroke="#666666" points="274,-2887 128,-2887 128,-2868 274,-2868 274,-2887"/>
-<text text-anchor="middle" x="201" y="-2875" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionNode</text>
+<g id="a_Node000251"><a xlink:href="classtvm_1_1s__tir_1_1InstructionKindNode.html" target="_top" xlink:title="Kind of an instruction, e.g. Split, Reorder, etc. Besides the name, every kind of instruction has its...">
+<polygon fill="white" stroke="#666666" points="285,-2904 117,-2904 117,-2885 285,-2885 285,-2904"/>
+<text text-anchor="middle" x="201" y="-2892" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionKindNode</text>
</a>
</g>
</g>
@@ -757,17 +739,17 @@
<g id="edge255_Node000000_Node000251" class="edge">
<title>Node0->Node251</title>
<g id="a_edge255_Node000000_Node000251"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.39,-2475.59C35.23,-2549.41 45.5,-2804.25 100,-2859.5 107.68,-2867.29 117.51,-2872.36 127.99,-2875.57"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.88,-2475.27 33.16,-2465.35 29.88,-2475.43 36.88,-2475.27"/>
+<path fill="none" stroke="#63b8ff" d="M33.27,-2479.74C34.73,-2555.26 43.81,-2819.25 100,-2876.5 104.82,-2881.41 110.49,-2885.24 116.64,-2888.21"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="36.77,-2479.23 33.1,-2469.29 29.77,-2479.35 36.77,-2479.23"/>
</a>
</g>
</g>
<!-- Node252 -->
<g id="Node000252" class="node">
<title>Node252</title>
-<g id="a_Node000252"><a xlink:href="classtvm_1_1s__tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop.">
-<polygon fill="white" stroke="#666666" points="266.5,-2850 135.5,-2850 135.5,-2831 266.5,-2831 266.5,-2850"/>
-<text text-anchor="middle" x="201" y="-2838" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::LoopRVNode</text>
+<g id="a_Node000252"><a xlink:href="classtvm_1_1s__tir_1_1InstructionNode.html" target="_top" xlink:title="Schedule instructions each corresponds to a schedule primitive.">
+<polygon fill="white" stroke="#666666" points="274,-2867 128,-2867 128,-2848 274,-2848 274,-2867"/>
+<text text-anchor="middle" x="201" y="-2855" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::InstructionNode</text>
</a>
</g>
</g>
@@ -775,17 +757,17 @@
<g id="edge256_Node000000_Node000252" class="edge">
<title>Node0->Node252</title>
<g id="a_edge256_Node000000_Node000252"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.75,-2475.5C36.77,-2544.79 50.37,-2772.99 100,-2822.5 109.49,-2831.97 122.16,-2837.4 135.28,-2840.36"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.23,-2474.99 33.33,-2465.14 30.24,-2475.27 37.23,-2474.99"/>
+<path fill="none" stroke="#63b8ff" d="M33.6,-2479.3C36.18,-2549.9 48.6,-2787.92 100,-2839.5 107.66,-2847.18 117.41,-2852.22 127.8,-2855.43"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.1,-2479 33.26,-2469.12 30.1,-2479.23 37.1,-2479"/>
</a>
</g>
</g>
<!-- Node253 -->
<g id="Node000253" class="node">
<title>Node253</title>
-<g id="a_Node000253"><a xlink:href="classtvm_1_1s__tir_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
-<polygon fill="white" stroke="#666666" points="295,-2813 107,-2813 107,-2794 295,-2794 295,-2813"/>
-<text text-anchor="middle" x="201" y="-2801" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::MatchBufferRegionNode</text>
+<g id="a_Node000253"><a xlink:href="classtvm_1_1s__tir_1_1LoopRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR for loop.">
+<polygon fill="white" stroke="#666666" points="266.5,-2830 135.5,-2830 135.5,-2811 266.5,-2811 266.5,-2830"/>
+<text text-anchor="middle" x="201" y="-2818" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::LoopRVNode</text>
</a>
</g>
</g>
@@ -793,17 +775,17 @@
<g id="edge257_Node000000_Node000253" class="edge">
<title>Node0->Node253</title>
<g id="a_edge257_Node000000_Node000253"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M34.17,-2475.15C38.41,-2539.39 55.15,-2741.64 100,-2785.5 103.28,-2788.71 106.92,-2791.45 110.83,-2793.78"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.66,-2474.89 33.54,-2465.13 30.68,-2475.33 37.66,-2474.89"/>
+<path fill="none" stroke="#63b8ff" d="M34.03,-2479.47C37.85,-2545.74 53.52,-2756.7 100,-2802.5 109.55,-2811.91 122.24,-2817.32 135.37,-2820.27"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.5,-2478.96 33.46,-2469.17 30.51,-2479.35 37.5,-2478.96"/>
</a>
</g>
</g>
<!-- Node254 -->
<g id="Node000254" class="node">
<title>Node254</title>
-<g id="a_Node000254"><a xlink:href="classtvm_1_1s__tir_1_1SBlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block.">
-<polygon fill="white" stroke="#666666" points="271.5,-2776 130.5,-2776 130.5,-2757 271.5,-2757 271.5,-2776"/>
-<text text-anchor="middle" x="201" y="-2764" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::SBlockRVNode</text>
+<g id="a_Node000254"><a xlink:href="classtvm_1_1s__tir_1_1MatchBufferRegionNode.html" target="_top" xlink:title="Match introduces a constraint that the source buffer region can be remapped to the data layout specif...">
+<polygon fill="white" stroke="#666666" points="295,-2793 107,-2793 107,-2774 295,-2774 295,-2793"/>
+<text text-anchor="middle" x="201" y="-2781" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::MatchBufferRegionNode</text>
</a>
</g>
</g>
@@ -811,17 +793,17 @@
<g id="edge258_Node000000_Node000254" class="edge">
<title>Node0->Node254</title>
<g id="a_edge258_Node000000_Node000254"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M34.72,-2475.24C40.33,-2534.69 60.01,-2710.34 100,-2748.5 108.42,-2756.54 119.15,-2761.63 130.43,-2764.76"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="38.21,-2474.9 33.81,-2465.26 31.24,-2475.53 38.21,-2474.9"/>
+<path fill="none" stroke="#63b8ff" d="M34.52,-2479.28C39.64,-2540.54 58.33,-2725.36 100,-2765.5 103.43,-2768.8 107.25,-2771.61 111.34,-2773.99"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.99,-2478.74 33.7,-2469.05 31.01,-2479.3 37.99,-2478.74"/>
</a>
</g>
</g>
<!-- Node255 -->
<g id="Node000255" class="node">
<title>Node255</title>
-<g id="a_Node000255"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleNode.html" target="_top" xlink:title="The user-facing schedule class.">
-<polygon fill="white" stroke="#666666" points="270.5,-2739 131.5,-2739 131.5,-2720 270.5,-2720 270.5,-2739"/>
-<text text-anchor="middle" x="201" y="-2727" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleNode</text>
+<g id="a_Node000255"><a xlink:href="classtvm_1_1s__tir_1_1SBlockRVNode.html" target="_top" xlink:title="A random variable that evaluates to a TensorIR block.">
+<polygon fill="white" stroke="#666666" points="271.5,-2756 130.5,-2756 130.5,-2737 271.5,-2737 271.5,-2756"/>
+<text text-anchor="middle" x="201" y="-2744" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::SBlockRVNode</text>
</a>
</g>
</g>
@@ -829,17 +811,17 @@
<g id="edge259_Node000000_Node000255" class="edge">
<title>Node0->Node255</title>
<g id="a_edge259_Node000000_Node000255"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M35.42,-2475.19C42.48,-2529.39 64.81,-2678.95 100,-2711.5 108.74,-2719.59 119.82,-2724.66 131.41,-2727.75"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="38.87,-2474.62 34.14,-2465.14 31.93,-2475.51 38.87,-2474.62"/>
+<path fill="none" stroke="#63b8ff" d="M35.14,-2479.07C41.65,-2535.03 63.1,-2693.96 100,-2728.5 108.44,-2736.4 119.1,-2741.43 130.3,-2744.55"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="38.6,-2478.58 34,-2469.04 31.65,-2479.37 38.6,-2478.58"/>
</a>
</g>
</g>
<!-- Node256 -->
<g id="Node000256" class="node">
<title>Node256</title>
-<g id="a_Node000256"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
-<polygon fill="white" stroke="#666666" points="283,-2702 119,-2702 119,-2683 283,-2683 283,-2702"/>
-<text text-anchor="middle" x="201" y="-2690" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleStateNode</text>
+<g id="a_Node000256"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleNode.html" target="_top" xlink:title="The user-facing schedule class.">
+<polygon fill="white" stroke="#666666" points="270.5,-2719 131.5,-2719 131.5,-2700 270.5,-2700 270.5,-2719"/>
+<text text-anchor="middle" x="201" y="-2707" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleNode</text>
</a>
</g>
</g>
@@ -847,17 +829,17 @@
<g id="edge260_Node000000_Node000256" class="edge">
<title>Node0->Node256</title>
<g id="a_edge260_Node000000_Node000256"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.68,-2475.29C33.15,-2518.57 40.77,-2621.92 100,-2674.5 105.54,-2679.42 111.95,-2683.21 118.81,-2686.11"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="36.18,-2475.22 32.7,-2465.21 29.18,-2475.21 36.18,-2475.22"/>
+<path fill="none" stroke="#63b8ff" d="M32.28,-2479.52C31.83,-2524.73 37.57,-2635.19 100,-2691.5 108.78,-2699.42 119.81,-2704.42 131.31,-2707.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="35.79,-2479.35 32.5,-2469.27 28.79,-2479.19 35.79,-2479.35"/>
</a>
</g>
</g>
<!-- Node257 -->
<g id="Node000257" class="node">
<title>Node257</title>
-<g id="a_Node000257"><a xlink:href="classtvm_1_1s__tir_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization.">
-<polygon fill="white" stroke="#666666" points="277,-2665 125,-2665 125,-2646 277,-2646 277,-2665"/>
-<text text-anchor="middle" x="201" y="-2653" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::TensorIntrinNode</text>
+<g id="a_Node000257"><a xlink:href="classtvm_1_1s__tir_1_1ScheduleStateNode.html" target="_top" xlink:title="The state of scheduling, which exposes a Replace method as the primary interface for all the scheduli...">
+<polygon fill="white" stroke="#666666" points="283,-2682 119,-2682 119,-2663 283,-2663 283,-2682"/>
+<text text-anchor="middle" x="201" y="-2670" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::ScheduleStateNode</text>
</a>
</g>
</g>
@@ -865,17 +847,17 @@
<g id="edge261_Node000000_Node000257" class="edge">
<title>Node0->Node257</title>
<g id="a_edge261_Node000000_Node000257"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M34.13,-2475.53C37.41,-2513.47 50.21,-2595.73 100,-2637.5 107.23,-2643.57 115.81,-2647.88 124.85,-2650.92"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.6,-2475 33.39,-2465.28 30.62,-2475.5 37.6,-2475"/>
+<path fill="none" stroke="#63b8ff" d="M33.55,-2479.28C35.8,-2519.07 46.83,-2608.89 100,-2654.5 105.62,-2659.32 112.09,-2663.05 118.98,-2665.91"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="37.04,-2478.89 33.11,-2469.05 30.04,-2479.19 37.04,-2478.89"/>
</a>
</g>
</g>
<!-- Node258 -->
<g id="Node000258" class="node">
<title>Node258</title>
-<g id="a_Node000258"><a xlink:href="classtvm_1_1s__tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program.">
-<polygon fill="white" stroke="#666666" points="261,-2628 141,-2628 141,-2609 261,-2609 261,-2628"/>
-<text text-anchor="middle" x="201" y="-2616" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::TraceNode</text>
+<g id="a_Node000258"><a xlink:href="classtvm_1_1s__tir_1_1TensorIntrinNode.html" target="_top" xlink:title="Tensor intrinsics for tensorization.">
+<polygon fill="white" stroke="#666666" points="277,-2645 125,-2645 125,-2626 277,-2626 277,-2645"/>
+<text text-anchor="middle" x="201" y="-2633" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::TensorIntrinNode</text>
</a>
</g>
</g>
@@ -883,18 +865,17 @@
<g id="edge262_Node000000_Node000258" class="edge">
<title>Node0->Node258</title>
<g id="a_edge262_Node000000_Node000258"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M36.29,-2475.23C42.64,-2506.75 59.7,-2568.12 100,-2599.5 111.64,-2608.56 126.33,-2613.74 140.84,-2616.59"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="39.67,-2474.27 34.41,-2465.07 32.79,-2475.54 39.67,-2474.27"/>
+<path fill="none" stroke="#63b8ff" d="M35.35,-2479.26C40.5,-2513.23 56.07,-2582.42 100,-2617.5 107.31,-2623.33 115.87,-2627.52 124.86,-2630.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="38.8,-2478.62 33.98,-2469.19 31.86,-2479.57 38.8,-2478.62"/>
</a>
</g>
</g>
<!-- Node259 -->
<g id="Node000259" class="node">
<title>Node259</title>
-<g id="a_Node000259"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information.">
-<polygon fill="white" stroke="#666666" points="272.5,-2590.5 129.5,-2590.5 129.5,-2560.5 272.5,-2560.5 272.5,-2590.5"/>
-<text text-anchor="start" x="137.5" y="-2578.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2567.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfoNode</text>
+<g id="a_Node000259"><a xlink:href="classtvm_1_1s__tir_1_1TraceNode.html" target="_top" xlink:title="An execution trace of a scheduling program.">
+<polygon fill="white" stroke="#666666" points="261,-2608 141,-2608 141,-2589 261,-2589 261,-2608"/>
+<text text-anchor="middle" x="201" y="-2596" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::TraceNode</text>
</a>
</g>
</g>
@@ -902,37 +883,37 @@
<g id="edge263_Node000000_Node000259" class="edge">
<title>Node0->Node259</title>
<g id="a_edge263_Node000000_Node000259"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M41.09,-2474.44C51.46,-2496.42 71.59,-2532.12 100,-2551.5 108.85,-2557.54 119.05,-2562.06 129.47,-2565.45"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="44.2,-2472.83 36.89,-2465.15 37.81,-2475.7 44.2,-2472.83"/>
+<path fill="none" stroke="#63b8ff" d="M38.22,-2479.02C46.53,-2506.12 65.47,-2554.6 100,-2579.5 111.83,-2588.03 126.42,-2593.03 140.76,-2595.9"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="41.51,-2477.8 35.37,-2469.16 34.78,-2479.74 41.51,-2477.8"/>
</a>
</g>
</g>
-<!-- Node261 -->
-<g id="Node000261" class="node">
-<title>Node261</title>
-<g id="a_Node000261"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder's input, containing an IRModule and the target.">
-<polygon fill="white" stroke="#666666" points="272.5,-2542.5 129.5,-2542.5 129.5,-2512.5 272.5,-2512.5 272.5,-2542.5"/>
-<text text-anchor="start" x="137.5" y="-2530.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2519.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInputNode</text>
+<!-- Node260 -->
+<g id="Node000260" class="node">
+<title>Node260</title>
+<g id="a_Node000260"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ArgInfoNode.html" target="_top" xlink:title="The argument information.">
+<polygon fill="white" stroke="#666666" points="272.5,-2570.5 129.5,-2570.5 129.5,-2540.5 272.5,-2540.5 272.5,-2570.5"/>
+<text text-anchor="start" x="137.5" y="-2558.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2547.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ArgInfoNode</text>
</a>
</g>
</g>
-<!-- Node0->Node261 -->
-<g id="edge265_Node000000_Node000261" class="edge">
-<title>Node0->Node261</title>
-<g id="a_edge265_Node000000_Node000261"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M51.56,-2471.81C64.37,-2482.27 82.23,-2495.38 100,-2503.5 109.26,-2507.73 119.35,-2511.27 129.44,-2514.21"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="53.46,-2468.84 43.56,-2465.07 48.95,-2474.19 53.46,-2468.84"/>
+<!-- Node0->Node260 -->
+<g id="edge264_Node000000_Node000260" class="edge">
+<title>Node0->Node260</title>
+<g id="a_edge264_Node000000_Node000260"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M44.94,-2477.43C56.91,-2493.98 76.86,-2517.99 100,-2531.5 109.02,-2536.77 119.14,-2540.88 129.38,-2544.09"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="47.73,-2475.31 39.14,-2469.11 41.99,-2479.32 47.73,-2475.31"/>
</a>
</g>
</g>
<!-- Node262 -->
<g id="Node000262" class="node">
<title>Node262</title>
-<g id="a_Node000262"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface.">
-<polygon fill="white" stroke="#666666" points="272.5,-2494.5 129.5,-2494.5 129.5,-2464.5 272.5,-2464.5 272.5,-2494.5"/>
-<text text-anchor="start" x="137.5" y="-2482.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2471.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderNode</text>
+<g id="a_Node000262"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInputNode.html" target="_top" xlink:title="The builder's input, containing an IRModule and the target.">
+<polygon fill="white" stroke="#666666" points="272.5,-2522.5 129.5,-2522.5 129.5,-2492.5 272.5,-2492.5 272.5,-2522.5"/>
+<text text-anchor="start" x="137.5" y="-2510.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2499.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderInputNode</text>
</a>
</g>
</g>
@@ -940,37 +921,37 @@
<g id="edge266_Node000000_Node000262" class="edge">
<title>Node0->Node262</title>
<g id="a_edge266_Node000000_Node000262"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M73.97,-2461.39C90.66,-2463.79 110.44,-2466.63 129.32,-2469.34"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="74.42,-2457.92 64.02,-2459.96 73.42,-2464.84 74.42,-2457.92"/>
+<path fill="none" stroke="#63b8ff" d="M67.21,-2472.56C77.66,-2476.33 89.23,-2480.29 100,-2483.5 110.61,-2486.66 121.94,-2489.7 133.03,-2492.49"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="68.2,-2469.2 57.61,-2469.04 65.79,-2475.77 68.2,-2469.2"/>
</a>
</g>
</g>
-<!-- Node264 -->
-<g id="Node000264" class="node">
-<title>Node264</title>
-<g id="a_Node000264"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-2446.5 129.5,-2446.5 129.5,-2416.5 272.5,-2416.5 272.5,-2446.5"/>
-<text text-anchor="start" x="137.5" y="-2434.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2423.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResultNode</text>
+<!-- Node263 -->
+<g id="Node000263" class="node">
+<title>Node263</title>
+<g id="a_Node000263"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderNode.html" target="_top" xlink:title="The abstract builder interface.">
+<polygon fill="white" stroke="#666666" points="272.5,-2474.5 129.5,-2474.5 129.5,-2444.5 272.5,-2444.5 272.5,-2474.5"/>
+<text text-anchor="start" x="137.5" y="-2462.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2451.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderNode</text>
</a>
</g>
</g>
-<!-- Node0->Node264 -->
-<g id="edge268_Node000000_Node000264" class="edge">
-<title>Node0->Node264</title>
-<g id="a_edge268_Node000000_Node000264"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M73.97,-2449.61C90.66,-2447.21 110.44,-2444.37 129.32,-2441.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="73.42,-2446.16 64.02,-2451.04 74.42,-2453.08 73.42,-2446.16"/>
+<!-- Node0->Node263 -->
+<g id="edge267_Node000000_Node000263" class="edge">
+<title>Node0->Node263</title>
+<g id="a_edge267_Node000000_Node000263"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M74.45,-2459.5C91.04,-2459.5 110.62,-2459.5 129.32,-2459.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="74.02,-2456 64.02,-2459.5 74.02,-2463 74.02,-2456"/>
</a>
</g>
</g>
<!-- Node265 -->
<g id="Node000265" class="node">
<title>Node265</title>
-<g id="a_Node000265"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model.">
-<polygon fill="white" stroke="#666666" points="272.5,-2398.5 129.5,-2398.5 129.5,-2368.5 272.5,-2368.5 272.5,-2398.5"/>
-<text text-anchor="start" x="137.5" y="-2386.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2375.5" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModelNode</text>
+<g id="a_Node000265"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-2426.5 129.5,-2426.5 129.5,-2396.5 272.5,-2396.5 272.5,-2426.5"/>
+<text text-anchor="start" x="137.5" y="-2414.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2403.5" font-family="Helvetica,sans-Serif" font-size="10.00">::BuilderResultNode</text>
</a>
</g>
</g>
@@ -978,56 +959,56 @@
<g id="edge269_Node000000_Node000265" class="edge">
<title>Node0->Node265</title>
<g id="a_edge269_Node000000_Node000265"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M51.56,-2439.19C64.37,-2428.73 82.23,-2415.62 100,-2407.5 109.26,-2403.27 119.35,-2399.73 129.44,-2396.79"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="48.95,-2436.81 43.56,-2445.93 53.46,-2442.16 48.95,-2436.81"/>
+<path fill="none" stroke="#63b8ff" d="M67.21,-2446.44C77.66,-2442.67 89.23,-2438.71 100,-2435.5 110.61,-2432.34 121.94,-2429.3 133.03,-2426.51"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="65.79,-2443.23 57.61,-2449.96 68.2,-2449.8 65.79,-2443.23"/>
</a>
</g>
</g>
-<!-- Node267 -->
-<g id="Node000267" class="node">
-<title>Node267</title>
-<g id="a_Node000267"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="272.5,-2350.5 129.5,-2350.5 129.5,-2320.5 272.5,-2320.5 272.5,-2350.5"/>
-<text text-anchor="start" x="137.5" y="-2338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2327.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DatabaseNode</text>
+<!-- Node266 -->
+<g id="Node000266" class="node">
+<title>Node266</title>
+<g id="a_Node000266"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html" target="_top" xlink:title="Cost model.">
+<polygon fill="white" stroke="#666666" points="272.5,-2378.5 129.5,-2378.5 129.5,-2348.5 272.5,-2348.5 272.5,-2378.5"/>
+<text text-anchor="start" x="137.5" y="-2366.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2355.5" font-family="Helvetica,sans-Serif" font-size="10.00">::CostModelNode</text>
</a>
</g>
</g>
-<!-- Node0->Node267 -->
-<g id="edge271_Node000000_Node000267" class="edge">
-<title>Node0->Node267</title>
-<g id="a_edge271_Node000000_Node000267"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M41.09,-2436.56C51.46,-2414.58 71.59,-2378.88 100,-2359.5 108.85,-2353.46 119.05,-2348.94 129.47,-2345.55"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="37.81,-2435.3 36.89,-2445.85 44.2,-2438.17 37.81,-2435.3"/>
+<!-- Node0->Node266 -->
+<g id="edge270_Node000000_Node000266" class="edge">
+<title>Node0->Node266</title>
+<g id="a_edge270_Node000000_Node000266"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M44.94,-2441.57C56.91,-2425.02 76.86,-2401.01 100,-2387.5 109.02,-2382.23 119.14,-2378.12 129.38,-2374.91"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="41.99,-2439.68 39.14,-2449.89 47.73,-2443.69 41.99,-2439.68"/>
</a>
</g>
</g>
-<!-- Node269 -->
-<g id="Node000269" class="node">
-<title>Node269</title>
-<g id="a_Node000269"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high-level IR.">
-<polygon fill="white" stroke="#666666" points="272.5,-2302.5 129.5,-2302.5 129.5,-2272.5 272.5,-2272.5 272.5,-2302.5"/>
-<text text-anchor="start" x="137.5" y="-2290.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2279.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTaskNode</text>
+<!-- Node268 -->
+<g id="Node000268" class="node">
+<title>Node268</title>
+<g id="a_Node000268"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="272.5,-2330.5 129.5,-2330.5 129.5,-2300.5 272.5,-2300.5 272.5,-2330.5"/>
+<text text-anchor="start" x="137.5" y="-2318.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2307.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DatabaseNode</text>
</a>
</g>
</g>
-<!-- Node0->Node269 -->
-<g id="edge273_Node000000_Node000269" class="edge">
-<title>Node0->Node269</title>
-<g id="a_edge273_Node000000_Node000269"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M36.56,-2435.54C43.23,-2404.19 60.65,-2343.68 100,-2311.5 108.5,-2304.55 118.69,-2299.55 129.26,-2295.97"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="33.06,-2435.18 34.57,-2445.66 39.93,-2436.53 33.06,-2435.18"/>
+<!-- Node0->Node268 -->
+<g id="edge272_Node000000_Node000268" class="edge">
+<title>Node0->Node268</title>
+<g id="a_edge272_Node000000_Node000268"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M38.38,-2440.2C46.89,-2413.37 66.07,-2365.22 100,-2339.5 108.68,-2332.92 118.9,-2328.12 129.44,-2324.61"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="34.98,-2439.38 35.46,-2449.96 41.68,-2441.38 34.98,-2439.38"/>
</a>
</g>
</g>
<!-- Node270 -->
<g id="Node000270" class="node">
<title>Node270</title>
-<g id="a_Node000270"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-2254.5 129.5,-2254.5 129.5,-2224.5 272.5,-2224.5 272.5,-2254.5"/>
-<text text-anchor="start" x="137.5" y="-2242.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2231.5" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractorNode</text>
+<g id="a_Node000270"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTaskNode.html" target="_top" xlink:title="A tuning task extracted from the high-level IR.">
+<polygon fill="white" stroke="#666666" points="272.5,-2282.5 129.5,-2282.5 129.5,-2252.5 272.5,-2252.5 272.5,-2282.5"/>
+<text text-anchor="start" x="137.5" y="-2270.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2259.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ExtractedTaskNode</text>
</a>
</g>
</g>
@@ -1035,56 +1016,56 @@
<g id="edge274_Node000000_Node000270" class="edge">
<title>Node0->Node270</title>
<g id="a_edge274_Node000000_Node000270"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.91,-2435.72C36.82,-2396.71 49,-2309.63 100,-2263.5 108.34,-2255.95 118.63,-2250.67 129.41,-2246.99"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="30.41,-2435.59 33.29,-2445.78 37.4,-2436.02 30.41,-2435.59"/>
+<path fill="none" stroke="#63b8ff" d="M35.04,-2439.76C39.77,-2404.48 54.8,-2330.63 100,-2291.5 108.44,-2284.2 118.72,-2279.03 129.43,-2275.39"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="31.55,-2439.43 33.84,-2449.77 38.5,-2440.26 31.55,-2439.43"/>
</a>
</g>
</g>
-<!-- Node272 -->
-<g id="Node000272" class="node">
-<title>Node272</title>
-<g id="a_Node000272"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available.">
-<polygon fill="white" stroke="#666666" points="272.5,-2206.5 129.5,-2206.5 129.5,-2176.5 272.5,-2176.5 272.5,-2206.5"/>
-<text text-anchor="start" x="137.5" y="-2194.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2183.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallbackNode</text>
+<!-- Node271 -->
+<g id="Node000271" class="node">
+<title>Node271</title>
+<g id="a_Node000271"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-2234.5 129.5,-2234.5 129.5,-2204.5 272.5,-2204.5 272.5,-2234.5"/>
+<text text-anchor="start" x="137.5" y="-2222.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2211.5" font-family="Helvetica,sans-Serif" font-size="10.00">::FeatureExtractorNode</text>
</a>
</g>
</g>
-<!-- Node0->Node272 -->
-<g id="edge276_Node000000_Node000272" class="edge">
-<title>Node0->Node272</title>
-<g id="a_edge276_Node000000_Node000272"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.28,-2435.36C31.8,-2389.35 37.41,-2275.84 100,-2215.5 108.16,-2207.63 118.43,-2202.19 129.25,-2198.46"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="28.78,-2435.61 32.5,-2445.53 35.78,-2435.46 28.78,-2435.61"/>
+<!-- Node0->Node271 -->
+<g id="edge275_Node000000_Node000271" class="edge">
+<title>Node0->Node271</title>
+<g id="a_edge275_Node000000_Node000271"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.03,-2439.36C34.23,-2396.65 43.31,-2296.61 100,-2243.5 108.27,-2235.75 118.6,-2230.37 129.44,-2226.65"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.52,-2439.52 32.86,-2449.57 36.52,-2439.63 29.52,-2439.52"/>
</a>
</g>
</g>
-<!-- Node274 -->
-<g id="Node000274" class="node">
-<title>Node274</title>
-<g id="a_Node000274"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured.">
-<polygon fill="white" stroke="#666666" points="272.5,-2158.5 129.5,-2158.5 129.5,-2128.5 272.5,-2128.5 272.5,-2158.5"/>
-<text text-anchor="start" x="137.5" y="-2146.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2135.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidateNode</text>
+<!-- Node273 -->
+<g id="Node000273" class="node">
+<title>Node273</title>
+<g id="a_Node000273"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallbackNode.html" target="_top" xlink:title="Rules to apply after measure results is available.">
+<polygon fill="white" stroke="#666666" points="272.5,-2186.5 129.5,-2186.5 129.5,-2156.5 272.5,-2156.5 272.5,-2186.5"/>
+<text text-anchor="start" x="137.5" y="-2174.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2163.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCallbackNode</text>
</a>
</g>
</g>
-<!-- Node0->Node274 -->
-<g id="edge278_Node000000_Node000274" class="edge">
-<title>Node0->Node274</title>
-<g id="a_edge278_Node000000_Node000274"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M34.91,-2435.83C40.99,-2377.32 61.76,-2206 100,-2167.5 108.11,-2159.33 118.49,-2153.75 129.47,-2149.98"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="31.41,-2435.66 33.89,-2445.96 38.37,-2436.36 31.41,-2435.66"/>
+<!-- Node0->Node273 -->
+<g id="edge277_Node000000_Node000273" class="edge">
+<title>Node0->Node273</title>
+<g id="a_edge277_Node000000_Node000273"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M35.38,-2439.68C42.4,-2384.39 64.81,-2230.23 100,-2195.5 108.13,-2187.47 118.45,-2181.96 129.35,-2178.2"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="31.87,-2439.55 34.11,-2449.9 38.81,-2440.41 31.87,-2439.55"/>
</a>
</g>
</g>
<!-- Node275 -->
<g id="Node000275" class="node">
<title>Node275</title>
-<g id="a_Node000275"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-2110.5 129.5,-2110.5 129.5,-2080.5 272.5,-2080.5 272.5,-2110.5"/>
-<text text-anchor="start" x="137.5" y="-2098.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2087.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MutatorNode</text>
+<g id="a_Node000275"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCandidateNode.html" target="_top" xlink:title="The schedule (with input shapes) to be measured.">
+<polygon fill="white" stroke="#666666" points="272.5,-2138.5 129.5,-2138.5 129.5,-2108.5 272.5,-2108.5 272.5,-2138.5"/>
+<text text-anchor="start" x="137.5" y="-2126.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2115.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MeasureCandidateNode</text>
</a>
</g>
</g>
@@ -1092,56 +1073,56 @@
<g id="edge279_Node000000_Node000275" class="edge">
<title>Node0->Node275</title>
<g id="a_edge279_Node000000_Node000275"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M34.22,-2435.6C38.6,-2370.52 55.75,-2165.5 100,-2119.5 107.98,-2111.2 118.29,-2105.56 129.25,-2101.77"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="30.71,-2435.54 33.56,-2445.75 37.7,-2435.99 30.71,-2435.54"/>
+<path fill="none" stroke="#63b8ff" d="M34.53,-2439.82C39.73,-2378.08 58.74,-2189.76 100,-2147.5 108.04,-2139.26 118.38,-2133.65 129.35,-2129.86"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="31.04,-2439.56 33.72,-2449.81 38.02,-2440.13 31.04,-2439.56"/>
</a>
</g>
</g>
-<!-- Node277 -->
-<g id="Node000277" class="node">
-<title>Node277</title>
-<g id="a_Node000277"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule.">
-<polygon fill="white" stroke="#666666" points="272.5,-2062.5 129.5,-2062.5 129.5,-2032.5 272.5,-2032.5 272.5,-2062.5"/>
-<text text-anchor="start" x="137.5" y="-2050.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-2039.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PostprocNode</text>
+<!-- Node276 -->
+<g id="Node000276" class="node">
+<title>Node276</title>
+<g id="a_Node000276"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-2090.5 129.5,-2090.5 129.5,-2060.5 272.5,-2060.5 272.5,-2090.5"/>
+<text text-anchor="start" x="137.5" y="-2078.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2067.5" font-family="Helvetica,sans-Serif" font-size="10.00">::MutatorNode</text>
</a>
</g>
</g>
-<!-- Node0->Node277 -->
-<g id="edge281_Node000000_Node000277" class="edge">
-<title>Node0->Node277</title>
-<g id="a_edge281_Node000000_Node000277"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.68,-2435.6C36.5,-2364.6 49.64,-2125.12 100,-2071.5 107.94,-2063.04 118.3,-2057.33 129.33,-2053.52"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="30.17,-2435.7 33.3,-2445.83 37.16,-2435.96 30.17,-2435.7"/>
+<!-- Node0->Node276 -->
+<g id="edge280_Node000000_Node000276" class="edge">
+<title>Node0->Node276</title>
+<g id="a_edge280_Node000000_Node000276"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.93,-2439.53C37.53,-2371.35 52.72,-2149.29 100,-2099.5 107.99,-2091.09 118.37,-2085.4 129.41,-2081.59"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="30.43,-2439.59 33.42,-2449.75 37.42,-2439.94 30.43,-2439.59"/>
</a>
</g>
</g>
-<!-- Node279 -->
-<g id="Node000279" class="node">
-<title>Node279</title>
-<g id="a_Node000279"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler.">
-<polygon fill="white" stroke="#666666" points="272.5,-2014.5 129.5,-2014.5 129.5,-1984.5 272.5,-1984.5 272.5,-2014.5"/>
-<text text-anchor="start" x="137.5" y="-2002.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1991.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ProfilerNode</text>
+<!-- Node278 -->
+<g id="Node000278" class="node">
+<title>Node278</title>
+<g id="a_Node000278"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1PostprocNode.html" target="_top" xlink:title="Rules to apply a postprocessor to a schedule.">
+<polygon fill="white" stroke="#666666" points="272.5,-2042.5 129.5,-2042.5 129.5,-2012.5 272.5,-2012.5 272.5,-2042.5"/>
+<text text-anchor="start" x="137.5" y="-2030.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-2019.5" font-family="Helvetica,sans-Serif" font-size="10.00">::PostprocNode</text>
</a>
</g>
</g>
-<!-- Node0->Node279 -->
-<g id="edge283_Node000000_Node000279" class="edge">
-<title>Node0->Node279</title>
-<g id="a_edge283_Node000000_Node000279"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.25,-2435.63C34.63,-2359.11 43.5,-2084.82 100,-2023.5 107.92,-2014.9 118.34,-2009.13 129.45,-2005.3"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.75,-2435.74 33.09,-2445.79 36.75,-2435.85 29.75,-2435.74"/>
+<!-- Node0->Node278 -->
+<g id="edge282_Node000000_Node000278" class="edge">
+<title>Node0->Node278</title>
+<g id="a_edge282_Node000000_Node000278"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.45,-2439.8C35.52,-2366.24 46.53,-2109.01 100,-2051.5 107.9,-2043 118.24,-2037.27 129.26,-2033.45"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.94,-2439.88 33.19,-2449.97 36.94,-2440.06 29.94,-2439.88"/>
</a>
</g>
</g>
<!-- Node280 -->
<g id="Node000280" class="node">
<title>Node280</title>
-<g id="a_Node000280"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner's output.">
-<polygon fill="white" stroke="#666666" points="272.5,-1966.5 129.5,-1966.5 129.5,-1936.5 272.5,-1936.5 272.5,-1966.5"/>
-<text text-anchor="start" x="137.5" y="-1954.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1943.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFutureNode</text>
+<g id="a_Node000280"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ProfilerNode.html" target="_top" xlink:title="A generic profiler.">
+<polygon fill="white" stroke="#666666" points="272.5,-1994.5 129.5,-1994.5 129.5,-1964.5 272.5,-1964.5 272.5,-1994.5"/>
+<text text-anchor="start" x="137.5" y="-1982.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1971.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ProfilerNode</text>
</a>
</g>
</g>
@@ -1149,18 +1130,18 @@
<g id="edge284_Node000000_Node000280" class="edge">
<title>Node0->Node280</title>
<g id="a_edge284_Node000000_Node000280"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.91,-2435.57C32.96,-2353.73 37.35,-2044.54 100,-1975.5 107.86,-1966.84 118.24,-1961.04 129.35,-1957.2"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.41,-2435.95 32.93,-2445.94 36.41,-2435.93 29.41,-2435.95"/>
+<path fill="none" stroke="#63b8ff" d="M33.07,-2439.54C33.78,-2360.25 40.44,-2068.66 100,-2003.5 107.89,-1994.87 118.29,-1989.08 129.4,-1985.25"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.57,-2439.63 33.01,-2449.65 36.57,-2439.67 29.57,-2439.63"/>
</a>
</g>
</g>
<!-- Node281 -->
<g id="Node000281" class="node">
<title>Node281</title>
-<g id="a_Node000281"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-1918.5 129.5,-1918.5 129.5,-1888.5 272.5,-1888.5 272.5,-1918.5"/>
-<text text-anchor="start" x="137.5" y="-1906.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1895.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInputNode</text>
+<g id="a_Node000281"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html" target="_top" xlink:title="A class to asynchronously fetch runner's output.">
+<polygon fill="white" stroke="#666666" points="272.5,-1946.5 129.5,-1946.5 129.5,-1916.5 272.5,-1916.5 272.5,-1946.5"/>
+<text text-anchor="start" x="137.5" y="-1934.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1923.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerFutureNode</text>
</a>
</g>
</g>
@@ -1168,18 +1149,18 @@
<g id="edge285_Node000000_Node000281" class="edge">
<title>Node0->Node281</title>
<g id="a_edge285_Node000000_Node000281"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.63,-2435.81C31.43,-2349.37 31.09,-2004.38 100,-1927.5 107.81,-1918.79 118.16,-1912.97 129.26,-1909.12"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.13,-2435.9 32.79,-2445.84 36.13,-2435.79 29.13,-2435.9"/>
+<path fill="none" stroke="#63b8ff" d="M32.76,-2439.65C32.18,-2355.41 34.23,-2028.44 100,-1955.5 107.83,-1946.81 118.2,-1941 129.3,-1937.16"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.27,-2439.91 32.86,-2449.88 36.27,-2439.84 29.27,-2439.91"/>
</a>
</g>
</g>
<!-- Node282 -->
<g id="Node000282" class="node">
<title>Node282</title>
-<g id="a_Node000282"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface.">
-<polygon fill="white" stroke="#666666" points="272.5,-1870.5 129.5,-1870.5 129.5,-1840.5 272.5,-1840.5 272.5,-1870.5"/>
-<text text-anchor="start" x="137.5" y="-1858.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1847.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerNode</text>
+<g id="a_Node000282"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-1898.5 129.5,-1898.5 129.5,-1868.5 272.5,-1868.5 272.5,-1898.5"/>
+<text text-anchor="start" x="137.5" y="-1886.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1875.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerInputNode</text>
</a>
</g>
</g>
@@ -1187,37 +1168,37 @@
<g id="edge286_Node000000_Node000282" class="edge">
<title>Node0->Node282</title>
<g id="a_edge286_Node000000_Node000282"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.97,-2435.76C38.88,-2339.49 62.21,-1922.11 100,-1879.5 107.82,-1870.68 118.25,-1864.82 129.43,-1860.97"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="30.47,-2435.7 33.46,-2445.86 37.46,-2436.05 30.47,-2435.7"/>
+<path fill="none" stroke="#63b8ff" d="M34.08,-2439.7C39.37,-2345.8 63.77,-1948.14 100,-1907.5 107.84,-1898.7 118.29,-1892.85 129.47,-1889"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="30.58,-2439.64 33.52,-2449.82 37.57,-2440.03 30.58,-2439.64"/>
</a>
</g>
</g>
-<!-- Node284 -->
-<g id="Node000284" class="node">
-<title>Node284</title>
-<g id="a_Node000284"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-1822.5 129.5,-1822.5 129.5,-1792.5 272.5,-1792.5 272.5,-1822.5"/>
-<text text-anchor="start" x="137.5" y="-1810.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1799.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResultNode</text>
+<!-- Node283 -->
+<g id="Node000283" class="node">
+<title>Node283</title>
+<g id="a_Node000283"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html" target="_top" xlink:title="The abstract runner interface.">
+<polygon fill="white" stroke="#666666" points="272.5,-1850.5 129.5,-1850.5 129.5,-1820.5 272.5,-1820.5 272.5,-1850.5"/>
+<text text-anchor="start" x="137.5" y="-1838.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1827.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerNode</text>
</a>
</g>
</g>
-<!-- Node0->Node284 -->
-<g id="edge288_Node000000_Node000284" class="edge">
-<title>Node0->Node284</title>
-<g id="a_edge288_Node000000_Node000284"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.8,-2435.41C38.03,-2333.63 59.13,-1877.99 100,-1831.5 107.78,-1822.65 118.19,-1816.77 129.37,-1812.91"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="30.3,-2435.42 33.39,-2445.55 37.29,-2435.7 30.3,-2435.42"/>
+<!-- Node0->Node283 -->
+<g id="edge287_Node000000_Node000283" class="edge">
+<title>Node0->Node283</title>
+<g id="a_edge287_Node000000_Node000283"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.87,-2439.88C38.4,-2341.41 60.63,-1904.09 100,-1859.5 107.8,-1850.67 118.22,-1844.79 129.4,-1840.94"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="30.37,-2439.79 33.41,-2449.93 37.36,-2440.1 30.37,-2439.79"/>
</a>
</g>
</g>
<!-- Node285 -->
<g id="Node000285" class="node">
<title>Node285</title>
-<g id="a_Node000285"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule.">
-<polygon fill="white" stroke="#666666" points="272.5,-1774.5 129.5,-1774.5 129.5,-1744.5 272.5,-1744.5 272.5,-1774.5"/>
-<text text-anchor="start" x="137.5" y="-1762.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1751.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRuleNode</text>
+<g id="a_Node000285"><a xlink:href="classtvm_1_1s__tir_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="#666666" points="272.5,-1802.5 129.5,-1802.5 129.5,-1772.5 272.5,-1772.5 272.5,-1802.5"/>
+<text text-anchor="start" x="137.5" y="-1790.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1779.5" font-family="Helvetica,sans-Serif" font-size="10.00">::RunnerResultNode</text>
</a>
</g>
</g>
@@ -1225,75 +1206,75 @@
<g id="edge289_Node000000_Node000285" class="edge">
<title>Node0->Node285</title>
<g id="a_edge289_Node000000_Node000285"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.63,-2435.56C37.17,-2329.45 55.98,-1833.96 100,-1783.5 107.75,-1774.62 118.14,-1768.72 129.31,-1764.86"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="30.13,-2435.7 33.3,-2445.81 37.12,-2435.93 30.13,-2435.7"/>
+<path fill="none" stroke="#63b8ff" d="M33.71,-2439.62C37.57,-2335.92 57.54,-1859.99 100,-1811.5 107.76,-1802.63 118.17,-1796.74 129.34,-1792.89"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="30.21,-2439.55 33.34,-2449.67 37.2,-2439.8 30.21,-2439.55"/>
</a>
</g>
</g>
-<!-- Node287 -->
-<g id="Node000287" class="node">
-<title>Node287</title>
-<g id="a_Node000287"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation.">
-<polygon fill="white" stroke="#666666" points="272.5,-1726.5 129.5,-1726.5 129.5,-1696.5 272.5,-1696.5 272.5,-1726.5"/>
-<text text-anchor="start" x="137.5" y="-1714.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1703.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategyNode</text>
+<!-- Node286 -->
+<g id="Node000286" class="node">
+<title>Node286</title>
+<g id="a_Node000286"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1ScheduleRuleNode.html" target="_top" xlink:title="Rules to modify a block in a schedule.">
+<polygon fill="white" stroke="#666666" points="272.5,-1754.5 129.5,-1754.5 129.5,-1724.5 272.5,-1724.5 272.5,-1754.5"/>
+<text text-anchor="start" x="137.5" y="-1742.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1731.5" font-family="Helvetica,sans-Serif" font-size="10.00">::ScheduleRuleNode</text>
</a>
</g>
</g>
-<!-- Node0->Node287 -->
-<g id="edge291_Node000000_Node000287" class="edge">
-<title>Node0->Node287</title>
-<g id="a_edge291_Node000000_Node000287"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.48,-2435.88C36.37,-2326 52.8,-1789.96 100,-1735.5 107.72,-1726.59 118.1,-1720.69 129.27,-1716.82"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.98,-2435.82 33.23,-2445.9 36.98,-2436 29.98,-2435.82"/>
+<!-- Node0->Node286 -->
+<g id="edge290_Node000000_Node000286" class="edge">
+<title>Node0->Node286</title>
+<g id="a_edge290_Node000000_Node000286"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.55,-2439.87C36.75,-2332.17 54.37,-1815.98 100,-1763.5 107.73,-1754.61 118.12,-1748.7 129.29,-1744.84"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="30.05,-2439.88 33.26,-2449.97 37.05,-2440.08 30.05,-2439.88"/>
</a>
</g>
</g>
-<!-- Node289 -->
-<g id="Node000289" class="node">
-<title>Node289</title>
-<g id="a_Node000289"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation.">
-<polygon fill="white" stroke="#666666" points="272.5,-1678.5 129.5,-1678.5 129.5,-1648.5 272.5,-1648.5 272.5,-1678.5"/>
-<text text-anchor="start" x="137.5" y="-1666.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1655.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGeneratorNode</text>
+<!-- Node288 -->
+<g id="Node000288" class="node">
+<title>Node288</title>
+<g id="a_Node000288"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategyNode.html" target="_top" xlink:title="The search strategy for measure candidates generation.">
+<polygon fill="white" stroke="#666666" points="272.5,-1706.5 129.5,-1706.5 129.5,-1676.5 272.5,-1676.5 272.5,-1706.5"/>
+<text text-anchor="start" x="137.5" y="-1694.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1683.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SearchStrategyNode</text>
</a>
</g>
</g>
-<!-- Node0->Node289 -->
-<g id="edge293_Node000000_Node000289" class="edge">
-<title>Node0->Node289</title>
-<g id="a_edge293_Node000000_Node000289"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.37,-2435.66C35.67,-2320.96 49.7,-1745.89 100,-1687.5 107.75,-1678.5 118.22,-1672.56 129.48,-1668.7"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.87,-2435.74 33.17,-2445.81 36.86,-2435.88 29.87,-2435.74"/>
+<!-- Node0->Node288 -->
+<g id="edge292_Node000000_Node000288" class="edge">
+<title>Node0->Node288</title>
+<g id="a_edge292_Node000000_Node000288"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.43,-2439.58C36.03,-2326.86 51.28,-1771.9 100,-1715.5 107.76,-1706.52 118.24,-1700.58 129.5,-1696.71"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.92,-2439.77 33.2,-2449.85 36.92,-2439.93 29.92,-2439.77"/>
</a>
</g>
</g>
-<!-- Node291 -->
-<g id="Node000291" class="node">
-<title>Node291</title>
-<g id="a_Node000291"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="272.5,-1630.5 129.5,-1630.5 129.5,-1600.5 272.5,-1600.5 272.5,-1630.5"/>
-<text text-anchor="start" x="137.5" y="-1618.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1607.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecordNode</text>
+<!-- Node290 -->
+<g id="Node000290" class="node">
+<title>Node290</title>
+<g id="a_Node000290"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGeneratorNode.html" target="_top" xlink:title="The abstract class for design space generation.">
+<polygon fill="white" stroke="#666666" points="272.5,-1658.5 129.5,-1658.5 129.5,-1628.5 272.5,-1628.5 272.5,-1658.5"/>
+<text text-anchor="start" x="137.5" y="-1646.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1635.5" font-family="Helvetica,sans-Serif" font-size="10.00">::SpaceGeneratorNode</text>
</a>
</g>
</g>
-<!-- Node0->Node291 -->
-<g id="edge295_Node000000_Node000291" class="edge">
-<title>Node0->Node291</title>
-<g id="a_edge295_Node000000_Node000291"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.26,-2435.54C35.01,-2316.38 46.57,-1701.84 100,-1639.5 107.73,-1630.49 118.19,-1624.53 129.44,-1620.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.76,-2435.71 33.12,-2445.76 36.76,-2435.81 29.76,-2435.71"/>
+<!-- Node0->Node290 -->
+<g id="edge294_Node000000_Node000290" class="edge">
+<title>Node0->Node290</title>
+<g id="a_edge294_Node000000_Node000290"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.31,-2439.76C35.32,-2323.21 48.11,-1727.89 100,-1667.5 107.74,-1658.49 118.2,-1652.55 129.46,-1648.68"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.81,-2439.72 33.14,-2449.78 36.81,-2439.84 29.81,-2439.72"/>
</a>
</g>
</g>
<!-- Node292 -->
<g id="Node000292" class="node">
<title>Node292</title>
-<g id="a_Node000292"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers.">
-<polygon fill="white" stroke="#666666" points="272.5,-1582.5 129.5,-1582.5 129.5,-1552.5 272.5,-1552.5 272.5,-1582.5"/>
-<text text-anchor="start" x="137.5" y="-1570.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1559.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskSchedulerNode</text>
+<g id="a_Node000292"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="272.5,-1610.5 129.5,-1610.5 129.5,-1580.5 272.5,-1580.5 272.5,-1610.5"/>
+<text text-anchor="start" x="137.5" y="-1598.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1587.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskRecordNode</text>
</a>
</g>
</g>
@@ -1301,37 +1282,37 @@
<g id="edge296_Node000000_Node000292" class="edge">
<title>Node0->Node292</title>
<g id="a_edge296_Node000000_Node000292"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.17,-2435.53C34.37,-2312.26 43.42,-1657.82 100,-1591.5 107.71,-1582.47 118.16,-1576.51 129.41,-1572.64"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.66,-2435.74 33.07,-2445.77 36.66,-2435.8 29.66,-2435.74"/>
+<path fill="none" stroke="#63b8ff" d="M33.21,-2439.71C34.68,-2318.9 44.97,-1683.86 100,-1619.5 107.72,-1610.48 118.17,-1604.52 129.42,-1600.65"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.71,-2439.72 33.1,-2449.76 36.71,-2439.8 29.71,-2439.72"/>
</a>
</g>
</g>
-<!-- Node294 -->
-<g id="Node000294" class="node">
-<title>Node294</title>
-<g id="a_Node000294"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context.">
-<polygon fill="white" stroke="#666666" points="272.5,-1534.5 129.5,-1534.5 129.5,-1504.5 272.5,-1504.5 272.5,-1534.5"/>
-<text text-anchor="start" x="137.5" y="-1522.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1511.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuneContextNode</text>
+<!-- Node293 -->
+<g id="Node000293" class="node">
+<title>Node293</title>
+<g id="a_Node000293"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html" target="_top" xlink:title="The abstract interface of task schedulers.">
+<polygon fill="white" stroke="#666666" points="272.5,-1562.5 129.5,-1562.5 129.5,-1532.5 272.5,-1532.5 272.5,-1562.5"/>
+<text text-anchor="start" x="137.5" y="-1550.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1539.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TaskSchedulerNode</text>
</a>
</g>
</g>
-<!-- Node0->Node294 -->
-<g id="edge298_Node000000_Node000294" class="edge">
-<title>Node0->Node294</title>
-<g id="a_edge298_Node000000_Node000294"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.08,-2435.62C33.77,-2308.61 40.25,-1613.82 100,-1543.5 107.69,-1534.45 118.13,-1528.49 129.38,-1524.61"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.58,-2435.8 33.03,-2445.82 36.58,-2435.84 29.58,-2435.8"/>
+<!-- Node0->Node293 -->
+<g id="edge297_Node000000_Node000293" class="edge">
+<title>Node0->Node293</title>
+<g id="a_edge297_Node000000_Node000293"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.12,-2439.75C34.06,-2315.06 41.81,-1639.85 100,-1571.5 107.7,-1562.46 118.14,-1556.5 129.39,-1552.62"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.62,-2439.76 33.05,-2449.79 36.62,-2439.81 29.62,-2439.76"/>
</a>
</g>
</g>
<!-- Node295 -->
<g id="Node000295" class="node">
<title>Node295</title>
-<g id="a_Node000295"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
-<polygon fill="white" stroke="#666666" points="272.5,-1486.5 129.5,-1486.5 129.5,-1456.5 272.5,-1456.5 272.5,-1486.5"/>
-<text text-anchor="start" x="137.5" y="-1474.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1463.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuningRecordNode</text>
+<g id="a_Node000295"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContextNode.html" target="_top" xlink:title="The auto tuning context.">
+<polygon fill="white" stroke="#666666" points="272.5,-1514.5 129.5,-1514.5 129.5,-1484.5 272.5,-1484.5 272.5,-1514.5"/>
+<text text-anchor="start" x="137.5" y="-1502.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1491.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuneContextNode</text>
</a>
</g>
</g>
@@ -1339,18 +1320,18 @@
<g id="edge299_Node000000_Node000295" class="edge">
<title>Node0->Node295</title>
<g id="a_edge299_Node000000_Node000295"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33,-2435.8C33.19,-2305.43 37.06,-1569.85 100,-1495.5 107.67,-1486.44 118.1,-1480.46 129.35,-1476.59"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.5,-2435.91 32.99,-2445.92 36.5,-2435.92 29.5,-2435.91"/>
+<path fill="none" stroke="#63b8ff" d="M33.04,-2439.5C33.48,-2310.24 38.69,-1595.79 100,-1523.5 107.68,-1514.44 118.12,-1508.47 129.36,-1504.6"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.54,-2439.85 33.01,-2449.86 36.54,-2439.87 29.54,-2439.85"/>
</a>
</g>
</g>
<!-- Node296 -->
<g id="Node000296" class="node">
<title>Node296</title>
-<g id="a_Node000296"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash.">
-<polygon fill="white" stroke="#666666" points="272.5,-1438.5 129.5,-1438.5 129.5,-1408.5 272.5,-1408.5 272.5,-1438.5"/>
-<text text-anchor="start" x="137.5" y="-1426.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
-<text text-anchor="middle" x="201" y="-1415.5" font-family="Helvetica,sans-Serif" font-size="10.00">::WorkloadNode</text>
+<g id="a_Node000296"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html" target="_top" xlink:title="The class of tuning records.">
+<polygon fill="white" stroke="#666666" points="272.5,-1466.5 129.5,-1466.5 129.5,-1436.5 272.5,-1436.5 272.5,-1466.5"/>
+<text text-anchor="start" x="137.5" y="-1454.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1443.5" font-family="Helvetica,sans-Serif" font-size="10.00">::TuningRecordNode</text>
</a>
</g>
</g>
@@ -1358,18 +1339,18 @@
<g id="edge300_Node000000_Node000296" class="edge">
<title>Node0->Node296</title>
<g id="a_edge300_Node000000_Node000296"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.93,-2435.65C32.65,-2301.11 33.93,-1525.82 100,-1447.5 107.66,-1438.43 118.08,-1432.45 129.32,-1428.57"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.43,-2435.76 32.96,-2445.75 36.43,-2435.74 29.43,-2435.76"/>
+<path fill="none" stroke="#63b8ff" d="M32.97,-2439.72C32.92,-2307.26 35.5,-1551.83 100,-1475.5 107.66,-1466.43 118.09,-1460.45 129.34,-1456.58"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.47,-2439.98 32.98,-2449.98 36.47,-2439.98 29.47,-2439.98"/>
</a>
</g>
</g>
<!-- Node297 -->
<g id="Node000297" class="node">
<title>Node297</title>
-<g id="a_Node000297"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="A stack frame of the IRBuilder used to keep track of the current scope. Furthermore,...">
-<polygon fill="white" stroke="#666666" points="262.5,-1390.5 139.5,-1390.5 139.5,-1360.5 262.5,-1360.5 262.5,-1390.5"/>
-<text text-anchor="start" x="147.5" y="-1378.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="201" y="-1367.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
+<g id="a_Node000297"><a xlink:href="classtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadNode.html" target="_top" xlink:title="A workload, i.e. an IRModule and its structural hash.">
+<polygon fill="white" stroke="#666666" points="272.5,-1418.5 129.5,-1418.5 129.5,-1388.5 272.5,-1388.5 272.5,-1418.5"/>
+<text text-anchor="start" x="137.5" y="-1406.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::s_tir::meta_schedule</text>
+<text text-anchor="middle" x="201" y="-1395.5" font-family="Helvetica,sans-Serif" font-size="10.00">::WorkloadNode</text>
</a>
</g>
</g>
@@ -1377,37 +1358,37 @@
<g id="edge301_Node000000_Node000297" class="edge">
<title>Node0->Node297</title>
<g id="a_edge301_Node000000_Node000297"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.87,-2435.58C32.13,-2297.15 30.77,-1481.8 100,-1399.5 109.88,-1387.75 124.41,-1381.19 139.35,-1377.65"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.37,-2435.94 32.93,-2445.92 36.37,-2435.9 29.37,-2435.94"/>
+<path fill="none" stroke="#63b8ff" d="M32.9,-2439.61C32.39,-2303.09 32.35,-1507.81 100,-1427.5 107.65,-1418.42 118.07,-1412.44 129.31,-1408.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.4,-2439.84 32.94,-2449.83 36.4,-2439.81 29.4,-2439.84"/>
</a>
</g>
</g>
-<!-- Node320 -->
-<g id="Node000320" class="node">
-<title>Node320</title>
-<g id="a_Node000320"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A language variant agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class i...">
-<polygon fill="white" stroke="#666666" points="261.5,-1342.5 140.5,-1342.5 140.5,-1312.5 261.5,-1312.5 261.5,-1342.5"/>
-<text text-anchor="start" x="148.5" y="-1330.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="middle" x="201" y="-1319.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderNode</text>
+<!-- Node298 -->
+<g id="Node000298" class="node">
+<title>Node298</title>
+<g id="a_Node000298"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html" target="_top" xlink:title="A stack frame of the IRBuilder used to keep track of the current scope. Furthermore,...">
+<polygon fill="white" stroke="#666666" points="262.5,-1370.5 139.5,-1370.5 139.5,-1340.5 262.5,-1340.5 262.5,-1370.5"/>
+<text text-anchor="start" x="147.5" y="-1358.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="201" y="-1347.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
</a>
</g>
</g>
-<!-- Node0->Node320 -->
-<g id="edge324_Node000000_Node000320" class="edge">
-<title>Node0->Node320</title>
-<g id="a_edge324_Node000000_Node000320"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.81,-2435.55C31.64,-2293.45 27.61,-1437.81 100,-1351.5 110.1,-1339.46 125.07,-1332.86 140.37,-1329.39"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.31,-2435.84 32.9,-2445.81 36.31,-2435.78 29.31,-2435.84"/>
+<!-- Node0->Node298 -->
+<g id="edge302_Node000000_Node000298" class="edge">
+<title>Node0->Node298</title>
+<g id="a_edge302_Node000000_Node000298"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M32.84,-2439.55C31.88,-2299.24 29.2,-1463.8 100,-1379.5 109.88,-1367.74 124.4,-1361.18 139.34,-1357.64"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.34,-2439.73 32.91,-2449.7 36.34,-2439.68 29.34,-2439.73"/>
</a>
</g>
</g>
<!-- Node321 -->
<g id="Node000321" class="node">
<title>Node321</title>
-<g id="a_Node000321"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc.">
-<polygon fill="white" stroke="#666666" points="254.5,-1294.5 147.5,-1294.5 147.5,-1264.5 254.5,-1264.5 254.5,-1294.5"/>
-<text text-anchor="start" x="155.5" y="-1282.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
-<text text-anchor="middle" x="201" y="-1271.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DocNode</text>
+<g id="a_Node000321"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html" target="_top" xlink:title="A language variant agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class i...">
+<polygon fill="white" stroke="#666666" points="261.5,-1322.5 140.5,-1322.5 140.5,-1292.5 261.5,-1292.5 261.5,-1322.5"/>
+<text text-anchor="start" x="148.5" y="-1310.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="middle" x="201" y="-1299.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderNode</text>
</a>
</g>
</g>
@@ -1415,36 +1396,37 @@
<g id="edge325_Node000000_Node000321" class="edge">
<title>Node0->Node321</title>
<g id="a_edge325_Node000000_Node000321"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.49,-2435.62C37.21,-2286.58 62.14,-1348.76 100,-1303.5 111.63,-1289.6 129.76,-1282.95 147.4,-1279.99"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.98,-2435.87 33.23,-2445.96 36.98,-2436.05 29.98,-2435.87"/>
+<path fill="none" stroke="#63b8ff" d="M32.78,-2439.57C31.39,-2295.75 26.02,-1419.81 100,-1331.5 110.09,-1319.46 125.06,-1312.86 140.36,-1309.38"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.29,-2439.96 32.89,-2449.93 36.29,-2439.89 29.29,-2439.96"/>
</a>
</g>
</g>
-<!-- Node353 -->
-<g id="Node000353" class="node">
-<title>Node353</title>
-<g id="a_Node000353"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocTranslatorObj.html" target="_top" xlink:title="Eager translation context shared by registered hooks. Hooks construct Docs, use explicit lexical scop...">
-<polygon fill="white" stroke="#666666" points="254.5,-1246.5 147.5,-1246.5 147.5,-1216.5 254.5,-1216.5 254.5,-1246.5"/>
-<text text-anchor="start" x="155.5" y="-1234.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
-<text text-anchor="middle" x="201" y="-1223.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DocTranslatorObj</text>
+<!-- Node322 -->
+<g id="Node000322" class="node">
+<title>Node322</title>
+<g id="a_Node000322"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocNode.html" target="_top" xlink:title="The base class of all Doc.">
+<polygon fill="white" stroke="#666666" points="254.5,-1274.5 147.5,-1274.5 147.5,-1244.5 254.5,-1244.5 254.5,-1274.5"/>
+<text text-anchor="start" x="155.5" y="-1262.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
+<text text-anchor="middle" x="201" y="-1251.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DocNode</text>
</a>
</g>
</g>
-<!-- Node0->Node353 -->
-<g id="edge357_Node000000_Node000353" class="edge">
-<title>Node0->Node353</title>
-<g id="a_edge357_Node000000_Node000353"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.44,-2435.73C36.88,-2283.53 60.54,-1302.78 100,-1255.5 111.61,-1241.59 129.74,-1234.93 147.38,-1231.97"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.93,-2435.83 33.21,-2445.91 36.93,-2435.99 29.93,-2435.83"/>
+<!-- Node0->Node322 -->
+<g id="edge326_Node000000_Node000322" class="edge">
+<title>Node0->Node322</title>
+<g id="a_edge326_Node000000_Node000322"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.46,-2439.66C37.05,-2288.98 61.34,-1329.76 100,-1283.5 111.62,-1269.59 129.75,-1262.94 147.39,-1259.98"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.96,-2439.68 33.22,-2449.76 36.96,-2439.84 29.96,-2439.68"/>
</a>
</g>
</g>
<!-- Node354 -->
<g id="Node000354" class="node">
<title>Node354</title>
-<g id="a_Node000354"><a xlink:href="classtvm_1_1sym_1_1AnalyzerObj.html" target="_top" xlink:title="Analyzer that contains bunch of sub-analyzers.">
-<polygon fill="white" stroke="#666666" points="265,-1198 137,-1198 137,-1179 265,-1179 265,-1198"/>
-<text text-anchor="middle" x="201" y="-1186" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::AnalyzerObj</text>
+<g id="a_Node000354"><a xlink:href="classtvm_1_1script_1_1printer_1_1DocTranslatorObj.html" target="_top" xlink:title="Eager translation context shared by registered hooks. Hooks construct Docs, use explicit lexical scop...">
+<polygon fill="white" stroke="#666666" points="254.5,-1226.5 147.5,-1226.5 147.5,-1196.5 254.5,-1196.5 254.5,-1226.5"/>
+<text text-anchor="start" x="155.5" y="-1214.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::printer</text>
+<text text-anchor="middle" x="201" y="-1203.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DocTranslatorObj</text>
</a>
</g>
</g>
@@ -1452,17 +1434,17 @@
<g id="edge358_Node000000_Node000354" class="edge">
<title>Node0->Node354</title>
<g id="a_edge358_Node000000_Node000354"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.38,-2435.41C36.42,-2278.61 57.81,-1255.76 100,-1207.5 109.42,-1196.72 122.89,-1190.86 136.91,-1187.89"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.87,-2435.8 33.18,-2445.87 36.87,-2435.94 29.87,-2435.8"/>
+<path fill="none" stroke="#63b8ff" d="M33.42,-2439.33C36.76,-2284.09 59.78,-1283.74 100,-1235.5 111.6,-1221.58 129.73,-1214.93 147.37,-1211.96"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.92,-2439.64 33.2,-2449.71 36.91,-2439.79 29.92,-2439.64"/>
</a>
</g>
</g>
<!-- Node355 -->
<g id="Node000355" class="node">
<title>Node355</title>
-<g id="a_Node000355"><a xlink:href="classtvm_1_1sym_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">
-<polygon fill="white" stroke="#666666" points="284,-1161 118,-1161 118,-1142 284,-1142 284,-1161"/>
-<text text-anchor="middle" x="201" y="-1149" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::ConstIntBoundNode</text>
+<g id="a_Node000355"><a xlink:href="classtvm_1_1sym_1_1AnalyzerObj.html" target="_top" xlink:title="Analyzer that contains bunch of sub-analyzers.">
+<polygon fill="white" stroke="#666666" points="265,-1178 137,-1178 137,-1159 265,-1159 265,-1178"/>
+<text text-anchor="middle" x="201" y="-1166" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::AnalyzerObj</text>
</a>
</g>
</g>
@@ -1470,17 +1452,17 @@
<g id="edge359_Node000000_Node000355" class="edge">
<title>Node0->Node355</title>
<g id="a_edge359_Node000000_Node000355"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.34,-2435.79C36.15,-2277.66 56.52,-1220.32 100,-1170.5 105,-1164.77 111.14,-1160.44 117.89,-1157.18"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.84,-2435.88 33.16,-2445.94 36.84,-2436 29.84,-2435.88"/>
+<path fill="none" stroke="#63b8ff" d="M33.36,-2439.5C36.25,-2281.3 56.99,-1236.76 100,-1187.5 109.42,-1176.72 122.88,-1170.86 136.9,-1167.88"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.85,-2439.62 33.17,-2449.68 36.85,-2439.75 29.85,-2439.62"/>
</a>
</g>
</g>
<!-- Node356 -->
<g id="Node000356" class="node">
<title>Node356</title>
-<g id="a_Node000356"><a xlink:href="classtvm_1_1sym_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="#666666" points="262.5,-1124 139.5,-1124 139.5,-1105 262.5,-1105 262.5,-1124"/>
-<text text-anchor="middle" x="201" y="-1112" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IntSetNode</text>
+<g id="a_Node000356"><a xlink:href="classtvm_1_1sym_1_1ConstIntBoundNode.html" target="_top" xlink:title="Constant integer up and lower bound(inclusive). Useful for value bound analysis.">
+<polygon fill="white" stroke="#666666" points="284,-1141 118,-1141 118,-1122 284,-1122 284,-1141"/>
+<text text-anchor="middle" x="201" y="-1129" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::ConstIntBoundNode</text>
</a>
</g>
</g>
@@ -1488,17 +1470,17 @@
<g id="edge360_Node000000_Node000356" class="edge">
<title>Node0->Node356</title>
<g id="a_edge360_Node000000_Node000356"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.32,-2435.22C35.97,-2272.54 55.3,-1184.79 100,-1133.5 109.98,-1122.04 124.55,-1116.14 139.48,-1113.35"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.81,-2435.61 33.15,-2445.66 36.81,-2435.72 29.81,-2435.61"/>
+<path fill="none" stroke="#63b8ff" d="M33.33,-2439.42C36.03,-2278.34 55.73,-1201.27 100,-1150.5 104.99,-1144.77 111.13,-1140.43 117.89,-1137.18"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.82,-2439.7 33.16,-2449.76 36.82,-2439.82 29.82,-2439.7"/>
</a>
</g>
</g>
<!-- Node357 -->
<g id="Node000357" class="node">
<title>Node357</title>
-<g id="a_Node000357"><a xlink:href="classtvm_1_1sym_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap.">
-<polygon fill="white" stroke="#666666" points="282.5,-1087 119.5,-1087 119.5,-1068 282.5,-1068 282.5,-1087"/>
-<text text-anchor="middle" x="201" y="-1075" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterMapResultNode</text>
+<g id="a_Node000357"><a xlink:href="classtvm_1_1sym_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="#666666" points="262.5,-1104 139.5,-1104 139.5,-1085 262.5,-1085 262.5,-1104"/>
+<text text-anchor="middle" x="201" y="-1092" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IntSetNode</text>
</a>
</g>
</g>
@@ -1506,17 +1488,17 @@
<g id="edge361_Node000000_Node000357" class="edge">
<title>Node0->Node357</title>
<g id="a_edge361_Node000000_Node000357"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.28,-2435.66C35.71,-2271.98 54,-1149.36 100,-1096.5 105.34,-1090.37 111.98,-1085.83 119.3,-1082.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.78,-2435.71 33.14,-2445.76 36.78,-2435.81 29.78,-2435.71"/>
+<path fill="none" stroke="#63b8ff" d="M33.29,-2439.85C35.77,-2277.73 54.43,-1165.84 100,-1113.5 109.98,-1102.04 124.54,-1096.13 139.48,-1093.34"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.79,-2439.8 33.14,-2449.85 36.79,-2439.91 29.79,-2439.8"/>
</a>
</g>
</g>
<!-- Node358 -->
<g id="Node000358" class="node">
<title>Node358</title>
-<g id="a_Node000358"><a xlink:href="classtvm_1_1sym_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent).">
-<polygon fill="white" stroke="#666666" points="269,-1050 133,-1050 133,-1031 269,-1031 269,-1050"/>
-<text text-anchor="middle" x="201" y="-1038" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterMarkNode</text>
+<g id="a_Node000358"><a xlink:href="classtvm_1_1sym_1_1IterMapResultNode.html" target="_top" xlink:title="Result of DetectIterMap.">
+<polygon fill="white" stroke="#666666" points="282.5,-1067 119.5,-1067 119.5,-1048 282.5,-1048 282.5,-1067"/>
+<text text-anchor="middle" x="201" y="-1055" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterMapResultNode</text>
</a>
</g>
</g>
@@ -1524,17 +1506,17 @@
<g id="edge362_Node000000_Node000358" class="edge">
<title>Node0->Node358</title>
<g id="a_edge362_Node000000_Node000358"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.26,-2435.64C35.5,-2269.36 52.74,-1113.88 100,-1059.5 108.52,-1049.7 120.39,-1043.96 132.99,-1040.75"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.75,-2435.83 33.12,-2445.87 36.75,-2435.92 29.75,-2435.83"/>
+<path fill="none" stroke="#63b8ff" d="M33.26,-2439.82C35.56,-2275.09 53.16,-1130.36 100,-1076.5 105.33,-1070.37 111.98,-1065.82 119.29,-1062.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.76,-2439.91 33.13,-2449.96 36.76,-2440.01 29.76,-2439.91"/>
</a>
</g>
</g>
<!-- Node359 -->
<g id="Node000359" class="node">
<title>Node359</title>
-<g id="a_Node000359"><a xlink:href="classtvm_1_1sym_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="#666666" points="276,-1013 126,-1013 126,-994 276,-994 276,-1013"/>
-<text text-anchor="middle" x="201" y="-1001" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::ModularSetNode</text>
+<g id="a_Node000359"><a xlink:href="classtvm_1_1sym_1_1IterMarkNode.html" target="_top" xlink:title="Mark the source as an iterator in [0, extent).">
+<polygon fill="white" stroke="#666666" points="269,-1030 133,-1030 133,-1011 269,-1011 269,-1030"/>
+<text text-anchor="middle" x="201" y="-1018" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterMarkNode</text>
</a>
</g>
</g>
@@ -1542,17 +1524,17 @@
<g id="edge363_Node000000_Node000359" class="edge">
<title>Node0->Node359</title>
<g id="a_edge363_Node000000_Node000359"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.23,-2435.63C35.29,-2266.87 51.47,-1078.41 100,-1022.5 106.83,-1014.63 115.83,-1009.37 125.63,-1005.95"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.73,-2435.95 33.11,-2445.99 36.73,-2436.04 29.73,-2435.95"/>
+<path fill="none" stroke="#63b8ff" d="M33.25,-2439.3C35.38,-2270.16 51.95,-1094.83 100,-1039.5 108.52,-1029.69 120.39,-1023.95 132.98,-1020.75"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.74,-2439.66 33.12,-2449.71 36.74,-2439.75 29.74,-2439.66"/>
</a>
</g>
</g>
<!-- Node360 -->
<g id="Node000360" class="node">
<title>Node360</title>
-<g id="a_Node000360"><a xlink:href="classtvm_1_1te_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element.">
-<polygon fill="white" stroke="#666666" points="278.5,-976 123.5,-976 123.5,-957 278.5,-957 278.5,-976"/>
-<text text-anchor="middle" x="201" y="-964" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::CommReducerNode</text>
+<g id="a_Node000360"><a xlink:href="classtvm_1_1sym_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="#666666" points="276,-993 126,-993 126,-974 276,-974 276,-993"/>
+<text text-anchor="middle" x="201" y="-981" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::ModularSetNode</text>
</a>
</g>
</g>
@@ -1560,17 +1542,17 @@
<g id="edge364_Node000000_Node000360" class="edge">
<title>Node0->Node360</title>
<g id="a_edge364_Node000000_Node000360"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.21,-2435.64C35.09,-2264.44 50.21,-1042.93 100,-985.5 106.25,-978.29 114.31,-973.28 123.15,-969.85"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.71,-2435.71 33.1,-2445.75 36.71,-2435.79 29.71,-2435.71"/>
+<path fill="none" stroke="#63b8ff" d="M33.21,-2439.81C35.15,-2270.13 50.63,-1059.42 100,-1002.5 106.83,-994.62 115.83,-989.37 125.62,-985.95"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.71,-2439.8 33.1,-2449.83 36.71,-2439.87 29.71,-2439.8"/>
</a>
</g>
</g>
<!-- Node361 -->
<g id="Node000361" class="node">
<title>Node361</title>
-<g id="a_Node000361"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes.">
-<polygon fill="white" stroke="#666666" points="266.5,-939 135.5,-939 135.5,-920 266.5,-920 266.5,-939"/>
-<text text-anchor="middle" x="201" y="-927" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::OperationNode</text>
+<g id="a_Node000361"><a xlink:href="classtvm_1_1te_1_1CommReducerNode.html" target="_top" xlink:title="A commutative reducer node to represent a commutative binary operator with identity element.">
+<polygon fill="white" stroke="#666666" points="278.5,-956 123.5,-956 123.5,-937 278.5,-937 278.5,-956"/>
+<text text-anchor="middle" x="201" y="-944" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::CommReducerNode</text>
</a>
</g>
</g>
@@ -1578,35 +1560,35 @@
<g id="edge365_Node000000_Node000361" class="edge">
<title>Node0->Node361</title>
<g id="a_edge365_Node000000_Node000361"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.18,-2435.68C34.89,-2262.21 48.93,-1007.46 100,-948.5 109.02,-938.08 121.83,-932.25 135.28,-929.17"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.68,-2435.86 33.09,-2445.89 36.68,-2435.93 29.68,-2435.86"/>
+<path fill="none" stroke="#63b8ff" d="M33.19,-2439.85C34.94,-2267.87 49.36,-1023.95 100,-965.5 106.25,-958.29 114.31,-953.27 123.14,-949.85"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.69,-2439.94 33.09,-2449.98 36.69,-2440.01 29.69,-2439.94"/>
</a>
</g>
</g>
-<!-- Node367 -->
-<g id="Node000367" class="node">
-<title>Node367</title>
-<g id="a_Node000367"><a xlink:href="classtvm_1_1tirx_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A,...">
-<polygon fill="white" stroke="#666666" points="276.5,-902 125.5,-902 125.5,-883 276.5,-883 276.5,-902"/>
-<text text-anchor="middle" x="201" y="-890" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::DependencyNode</text>
+<!-- Node362 -->
+<g id="Node000362" class="node">
+<title>Node362</title>
+<g id="a_Node000362"><a xlink:href="classtvm_1_1te_1_1OperationNode.html" target="_top" xlink:title="Base class of all operation nodes.">
+<polygon fill="white" stroke="#666666" points="266.5,-919 135.5,-919 135.5,-900 266.5,-900 266.5,-919"/>
+<text text-anchor="middle" x="201" y="-907" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::OperationNode</text>
</a>
</g>
</g>
-<!-- Node0->Node367 -->
-<g id="edge371_Node000000_Node000367" class="edge">
-<title>Node0->Node367</title>
-<g id="a_edge371_Node000000_Node000367"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.16,-2435.45C34.7,-2258.75 47.69,-971.97 100,-911.5 106.71,-903.75 115.51,-898.53 125.11,-895.11"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.66,-2435.63 33.08,-2445.66 36.66,-2435.69 29.66,-2435.63"/>
+<!-- Node0->Node362 -->
+<g id="edge366_Node000000_Node000362" class="edge">
+<title>Node0->Node362</title>
+<g id="a_edge366_Node000000_Node000362"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M33.17,-2439.62C34.76,-2264.4 48.12,-988.45 100,-928.5 109.02,-918.08 121.83,-912.24 135.28,-909.17"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.67,-2439.71 33.08,-2449.74 36.67,-2439.77 29.67,-2439.71"/>
</a>
</g>
</g>
<!-- Node368 -->
<g id="Node000368" class="node">
<title>Node368</title>
-<g id="a_Node000368"><a xlink:href="classtvm_1_1tirx_1_1DispatchContextNode.html" target="_top" xlink:title="The context information of the kernel required by op dispatch.">
-<polygon fill="white" stroke="#666666" points="286.5,-865 115.5,-865 115.5,-846 286.5,-846 286.5,-865"/>
-<text text-anchor="middle" x="201" y="-853" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::DispatchContextNode</text>
+<g id="a_Node000368"><a xlink:href="classtvm_1_1tirx_1_1DependencyNode.html" target="_top" xlink:title="A tuple (src, dst, kind) representing certain types of dependency. For example, (A,...">
+<polygon fill="white" stroke="#666666" points="276.5,-882 125.5,-882 125.5,-863 276.5,-863 276.5,-882"/>
+<text text-anchor="middle" x="201" y="-870" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::DependencyNode</text>
</a>
</g>
</g>
@@ -1614,17 +1596,17 @@
<g id="edge372_Node000000_Node000368" class="edge">
<title>Node0->Node368</title>
<g id="a_edge372_Node000000_Node000368"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.14,-2435.79C34.5,-2258.06 46.39,-936.53 100,-874.5 104.28,-869.55 109.4,-865.64 115.05,-862.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.64,-2435.8 33.07,-2445.82 36.64,-2435.85 29.64,-2435.8"/>
+<path fill="none" stroke="#63b8ff" d="M33.15,-2439.69C34.57,-2262.37 46.84,-952.99 100,-891.5 106.7,-883.75 115.5,-878.53 125.1,-875.1"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.65,-2439.87 33.07,-2449.9 36.65,-2439.93 29.65,-2439.87"/>
</a>
</g>
</g>
<!-- Node369 -->
<g id="Node000369" class="node">
<title>Node369</title>
-<g id="a_Node000369"><a xlink:href="classtvm_1_1tirx_1_1ExecScopeNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="272,-828 130,-828 130,-809 272,-809 272,-828"/>
-<text text-anchor="middle" x="201" y="-816" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ExecScopeNode</text>
+<g id="a_Node000369"><a xlink:href="classtvm_1_1tirx_1_1DispatchContextNode.html" target="_top" xlink:title="The context information of the kernel required by op dispatch.">
+<polygon fill="white" stroke="#666666" points="286.5,-845 115.5,-845 115.5,-826 286.5,-826 286.5,-845"/>
+<text text-anchor="middle" x="201" y="-833" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::DispatchContextNode</text>
</a>
</g>
</g>
@@ -1632,17 +1614,17 @@
<g id="edge373_Node000000_Node000369" class="edge">
<title>Node0->Node369</title>
<g id="a_edge373_Node000000_Node000369"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.12,-2435.89C34.31,-2256.22 45.11,-901.08 100,-837.5 107.8,-828.47 118.43,-822.88 129.87,-819.55"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.62,-2435.98 33.06,-2446 36.62,-2436.02 29.62,-2435.98"/>
+<path fill="none" stroke="#63b8ff" d="M33.13,-2439.5C34.39,-2259.07 45.6,-917.49 100,-854.5 104.27,-849.55 109.4,-845.64 115.05,-842.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.63,-2439.65 33.06,-2449.68 36.63,-2439.7 29.63,-2439.65"/>
</a>
</g>
</g>
<!-- Node370 -->
<g id="Node000370" class="node">
<title>Node370</title>
-<g id="a_Node000370"><a xlink:href="classtvm_1_1tirx_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer.">
-<polygon fill="white" stroke="#666666" points="270,-791 132,-791 132,-772 270,-772 270,-791"/>
-<text text-anchor="middle" x="201" y="-779" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IndexMapNode</text>
+<g id="a_Node000370"><a xlink:href="classtvm_1_1tirx_1_1ExecScopeNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="272,-808 130,-808 130,-789 272,-789 272,-808"/>
+<text text-anchor="middle" x="201" y="-796" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ExecScopeNode</text>
</a>
</g>
</g>
@@ -1650,17 +1632,17 @@
<g id="edge374_Node000000_Node000370" class="edge">
<title>Node0->Node370</title>
<g id="a_edge374_Node000000_Node000370"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.1,-2435.72C34.14,-2253.05 43.86,-865.59 100,-800.5 108.25,-790.93 119.7,-785.23 131.9,-781.97"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.6,-2435.76 33.05,-2445.78 36.6,-2435.8 29.6,-2435.76"/>
+<path fill="none" stroke="#63b8ff" d="M33.11,-2439.6C34.21,-2257.26 44.32,-882.03 100,-817.5 107.79,-808.47 118.43,-802.88 129.87,-799.54"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.61,-2439.84 33.05,-2449.86 36.61,-2439.88 29.61,-2439.84"/>
</a>
</g>
</g>
<!-- Node371 -->
<g id="Node000371" class="node">
<title>Node371</title>
-<g id="a_Node000371"><a xlink:href="classtvm_1_1tirx_1_1IterNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="254.5,-754 147.5,-754 147.5,-735 254.5,-735 254.5,-754"/>
-<text text-anchor="middle" x="201" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IterNode</text>
+<g id="a_Node000371"><a xlink:href="classtvm_1_1tirx_1_1IndexMapNode.html" target="_top" xlink:title="Defines a mapping between two representations of indices into a buffer.">
+<polygon fill="white" stroke="#666666" points="270,-771 132,-771 132,-752 270,-752 270,-771"/>
+<text text-anchor="middle" x="201" y="-759" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IndexMapNode</text>
</a>
</g>
</g>
@@ -1668,17 +1650,17 @@
<g id="edge375_Node000000_Node000371" class="edge">
<title>Node0->Node371</title>
<g id="a_edge375_Node000000_Node000371"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.08,-2435.84C33.96,-2251.43 42.58,-830.13 100,-763.5 111.71,-749.91 129.85,-744.11 147.49,-742.06"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.58,-2435.96 33.04,-2445.98 36.58,-2435.99 29.58,-2435.96"/>
+<path fill="none" stroke="#63b8ff" d="M33.09,-2439.43C34.04,-2254.11 43.07,-846.54 100,-780.5 108.25,-770.93 119.69,-765.22 131.9,-761.97"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.59,-2439.62 33.04,-2449.64 36.59,-2439.66 29.59,-2439.62"/>
</a>
</g>
</g>
<!-- Node372 -->
<g id="Node000372" class="node">
<title>Node372</title>
-<g id="a_Node000372"><a xlink:href="classtvm_1_1tirx_1_1LambdaExprNode.html" target="_top" xlink:title="A reified Python lambda: a list of bound variables and a body over them.">
-<polygon fill="white" stroke="#666666" points="276.5,-717 125.5,-717 125.5,-698 276.5,-698 276.5,-717"/>
-<text text-anchor="middle" x="201" y="-705" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExprNode</text>
+<g id="a_Node000372"><a xlink:href="classtvm_1_1tirx_1_1IterNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="254.5,-734 147.5,-734 147.5,-715 254.5,-715 254.5,-734"/>
+<text text-anchor="middle" x="201" y="-722" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IterNode</text>
</a>
</g>
</g>
@@ -1686,8 +1668,8 @@
<g id="edge376_Node000000_Node000372" class="edge">
<title>Node0->Node372</title>
<g id="a_edge376_Node000000_Node000372"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.07,-2435.69C33.79,-2248.42 41.32,-794.65 100,-726.5 106.69,-718.73 115.48,-713.51 125.08,-710.08"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.57,-2435.75 33.03,-2445.77 36.57,-2435.78 29.57,-2435.75"/>
+<path fill="none" stroke="#63b8ff" d="M33.07,-2439.56C33.86,-2252.53 41.78,-811.09 100,-743.5 111.71,-729.91 129.85,-724.11 147.49,-722.06"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.57,-2439.83 33.03,-2449.84 36.57,-2439.85 29.57,-2439.83"/>
</a>
</g>
</g>
@@ -1695,8 +1677,8 @@
<g id="Node000373" class="node">
<title>Node373</title>
<g id="a_Node000373"><a xlink:href="classtvm_1_1tirx_1_1LayoutNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="262.5,-680 139.5,-680 139.5,-661 262.5,-661 262.5,-680"/>
-<text text-anchor="middle" x="201" y="-668" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LayoutNode</text>
+<polygon fill="white" stroke="#666666" points="262.5,-697 139.5,-697 139.5,-678 262.5,-678 262.5,-697"/>
+<text text-anchor="middle" x="201" y="-685" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LayoutNode</text>
</a>
</g>
</g>
@@ -1704,8 +1686,8 @@
<g id="edge377_Node000000_Node000373" class="edge">
<title>Node0->Node373</title>
<g id="a_edge377_Node000000_Node000373"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.05,-2435.85C33.62,-2247.03 40.04,-759.2 100,-689.5 109.91,-677.98 124.45,-672.05 139.39,-669.27"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.55,-2435.97 33.02,-2445.98 36.55,-2435.99 29.55,-2435.97"/>
+<path fill="none" stroke="#63b8ff" d="M33.06,-2439.42C33.69,-2249.54 40.53,-775.61 100,-706.5 109.91,-694.98 124.45,-689.06 139.39,-686.27"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.56,-2439.62 33.03,-2449.63 36.56,-2439.64 29.56,-2439.62"/>
</a>
</g>
</g>
@@ -1713,8 +1695,8 @@
<g id="Node000376" class="node">
<title>Node376</title>
<g id="a_Node000376"><a xlink:href="classtvm_1_1tirx_1_1SBijectiveLayoutNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="287,-643 115,-643 115,-624 287,-624 287,-643"/>
-<text text-anchor="middle" x="201" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBijectiveLayoutNode</text>
+<polygon fill="white" stroke="#666666" points="287,-660 115,-660 115,-641 287,-641 287,-660"/>
+<text text-anchor="middle" x="201" y="-648" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBijectiveLayoutNode</text>
</a>
</g>
</g>
@@ -1722,8 +1704,8 @@
<g id="edge380_Node000000_Node000376" class="edge">
<title>Node0->Node376</title>
<g id="a_edge380_Node000000_Node000376"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.04,-2435.73C33.46,-2244.18 38.78,-723.71 100,-652.5 104.15,-647.68 109.11,-643.83 114.57,-640.79"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.54,-2435.77 33.01,-2445.78 36.54,-2435.79 29.54,-2435.77"/>
+<path fill="none" stroke="#63b8ff" d="M33.04,-2439.59C33.52,-2248.19 39.24,-740.16 100,-669.5 104.15,-664.68 109.11,-660.83 114.57,-657.79"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.54,-2439.84 33.02,-2449.85 36.54,-2439.86 29.54,-2439.84"/>
</a>
</g>
</g>
@@ -1731,9 +1713,9 @@
<g id="Node000377" class="node">
<title>Node377</title>
<g id="a_Node000377"><a xlink:href="classtvm_1_1tirx_1_1SBlockDependenceInfoNode.html" target="_top" xlink:title="An object that helps build and query block level dependences using the 2 core objects SBlockScope and...">
-<polygon fill="white" stroke="#666666" points="280,-605.5 122,-605.5 122,-575.5 280,-575.5 280,-605.5"/>
-<text text-anchor="start" x="130" y="-593.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockDependence</text>
-<text text-anchor="middle" x="201" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">InfoNode</text>
+<polygon fill="white" stroke="#666666" points="280,-622.5 122,-622.5 122,-592.5 280,-592.5 280,-622.5"/>
+<text text-anchor="start" x="130" y="-610.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockDependence</text>
+<text text-anchor="middle" x="201" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00">InfoNode</text>
</a>
</g>
</g>
@@ -1741,8 +1723,8 @@
<g id="edge381_Node000000_Node000377" class="edge">
<title>Node0->Node377</title>
<g id="a_edge381_Node000000_Node000377"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.05,-2435.34C33.57,-2240.06 39.66,-689.95 100,-615.5 105.86,-608.27 113.46,-602.95 121.86,-599.05"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.55,-2435.58 33.02,-2445.59 36.55,-2435.6 29.55,-2435.58"/>
+<path fill="none" stroke="#63b8ff" d="M33.05,-2439.49C33.63,-2245.58 40.07,-706.42 100,-632.5 105.86,-625.27 113.47,-619.95 121.87,-616.05"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.55,-2439.65 33.02,-2449.66 36.55,-2439.67 29.55,-2439.65"/>
</a>
</g>
</g>
@@ -1750,8 +1732,8 @@
<g id="Node000378" class="node">
<title>Node378</title>
<g id="a_Node000378"><a xlink:href="classtvm_1_1tirx_1_1SBlockScopeNode.html" target="_top" xlink:title="An object with 1-to-1 correspondence with each block reference in the sref tree. This data structure ...">
-<polygon fill="white" stroke="#666666" points="277,-557 125,-557 125,-538 277,-538 277,-557"/>
-<text text-anchor="middle" x="201" y="-545" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockScopeNode</text>
+<polygon fill="white" stroke="#666666" points="277,-574 125,-574 125,-555 277,-555 277,-574"/>
+<text text-anchor="middle" x="201" y="-562" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SBlockScopeNode</text>
</a>
</g>
</g>
@@ -1759,8 +1741,8 @@
<g id="edge382_Node000000_Node000378" class="edge">
<title>Node0->Node378</title>
<g id="a_edge382_Node000000_Node000378"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33,-2435.69C33.09,-2238.95 35.83,-641.27 100,-566.5 106.56,-558.86 115.16,-553.67 124.56,-550.24"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.5,-2435.76 33,-2445.76 36.5,-2435.76 29.5,-2435.76"/>
+<path fill="none" stroke="#63b8ff" d="M33.01,-2439.54C33.15,-2242.86 36.29,-657.72 100,-583.5 106.56,-575.86 115.16,-570.68 124.56,-567.24"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.51,-2439.82 33,-2449.83 36.51,-2439.83 29.51,-2439.82"/>
</a>
</g>
</g>
@@ -1768,8 +1750,8 @@
<g id="Node000379" class="node">
<title>Node379</title>
<g id="a_Node000379"><a xlink:href="classtvm_1_1tirx_1_1SLayoutNode.html" target="_top" xlink:title="SLayout is to describe how data is organized within an N-dimention tensor. It is composed of upper ca...">
-<polygon fill="white" stroke="#666666" points="265.5,-520 136.5,-520 136.5,-501 265.5,-501 265.5,-520"/>
-<text text-anchor="middle" x="201" y="-508" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SLayoutNode</text>
+<polygon fill="white" stroke="#666666" points="265.5,-537 136.5,-537 136.5,-518 265.5,-518 265.5,-537"/>
+<text text-anchor="middle" x="201" y="-525" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::SLayoutNode</text>
</a>
</g>
</g>
@@ -1777,8 +1759,8 @@
<g id="edge383_Node000000_Node000379" class="edge">
<title>Node0->Node379</title>
<g id="a_edge383_Node000000_Node000379"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.99,-2435.3C32.94,-2234.71 34.6,-605.76 100,-529.5 109.2,-518.77 122.42,-512.89 136.24,-509.88"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.49,-2435.57 32.99,-2445.57 36.49,-2435.57 29.49,-2435.57"/>
+<path fill="none" stroke="#63b8ff" d="M32.99,-2439.44C33,-2240.2 35.03,-622.24 100,-546.5 109.2,-535.77 122.42,-529.89 136.25,-526.88"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.49,-2439.64 32.99,-2449.64 36.49,-2439.63 29.49,-2439.64"/>
</a>
</g>
</g>
@@ -1786,8 +1768,8 @@
<g id="Node000380" class="node">
<title>Node380</title>
<g id="a_Node000380"><a xlink:href="classtvm_1_1tirx_1_1ScopeIdDefNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="274,-483 128,-483 128,-464 274,-464 274,-483"/>
-<text text-anchor="middle" x="201" y="-471" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ScopeIdDefNode</text>
+<polygon fill="white" stroke="#666666" points="274,-500 128,-500 128,-481 274,-481 274,-500"/>
+<text text-anchor="middle" x="201" y="-488" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::ScopeIdDefNode</text>
</a>
</g>
</g>
@@ -1795,8 +1777,8 @@
<g id="edge384_Node000000_Node000380" class="edge">
<title>Node0->Node380</title>
<g id="a_edge384_Node000000_Node000380"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.97,-2435.54C32.79,-2233.86 33.3,-570.32 100,-492.5 107.3,-483.98 117.13,-478.52 127.79,-475.12"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.47,-2435.83 32.98,-2445.83 36.47,-2435.82 29.47,-2435.83"/>
+<path fill="none" stroke="#63b8ff" d="M32.98,-2439.67C32.84,-2239.33 33.73,-586.8 100,-509.5 107.3,-500.98 117.14,-495.52 127.79,-492.12"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.48,-2439.89 32.99,-2449.89 36.48,-2439.89 29.48,-2439.89"/>
</a>
</g>
</g>
@@ -1804,8 +1786,8 @@
<g id="Node000381" class="node">
<title>Node381</title>
<g id="a_Node000381"><a xlink:href="classtvm_1_1tirx_1_1StmtNode.html" target="_top" xlink:title="Base node of all statements.">
-<polygon fill="white" stroke="#666666" points="257.5,-419 144.5,-419 144.5,-400 257.5,-400 257.5,-419"/>
-<text text-anchor="middle" x="201" y="-407" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtNode</text>
+<polygon fill="white" stroke="#666666" points="257.5,-420 144.5,-420 144.5,-401 257.5,-401 257.5,-420"/>
+<text text-anchor="middle" x="201" y="-408" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtNode</text>
</a>
</g>
</g>
@@ -1813,8 +1795,8 @@
<g id="edge385_Node000000_Node000381" class="edge">
<title>Node0->Node381</title>
<g id="a_edge385_Node000000_Node000381"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M33.07,-2435.55C33.86,-2232.3 42.17,-542.51 100,-455.5 112.32,-436.96 134.14,-425.77 154.26,-419.07"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.57,-2435.67 33.03,-2445.69 36.57,-2435.7 29.57,-2435.67"/>
+<path fill="none" stroke="#63b8ff" d="M33.13,-2439.72C34.56,-2238.16 48,-562.33 100,-472.5 115.25,-446.16 146.62,-429.48 170.19,-420.13"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.63,-2439.74 33.06,-2449.77 36.63,-2439.79 29.63,-2439.74"/>
</a>
</g>
</g>
@@ -1822,8 +1804,8 @@
<g id="Node000398" class="node">
<title>Node398</title>
<g id="a_Node000398"><a xlink:href="classtvm_1_1tirx_1_1StmtSRefNode.html" target="_top" xlink:title="An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref".">
-<polygon fill="white" stroke="#666666" points="269,-382 133,-382 133,-363 269,-363 269,-382"/>
-<text text-anchor="middle" x="201" y="-370" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtSRefNode</text>
+<polygon fill="white" stroke="#666666" points="269,-383 133,-383 133,-364 269,-364 269,-383"/>
+<text text-anchor="middle" x="201" y="-371" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::StmtSRefNode</text>
</a>
</g>
</g>
@@ -1831,8 +1813,8 @@
<g id="edge402_Node000000_Node000398" class="edge">
<title>Node0->Node398</title>
<g id="a_edge402_Node000000_Node000398"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.94,-2435.78C32.39,-2229.52 29.8,-473.55 100,-391.5 108.44,-381.63 120.28,-375.86 132.87,-372.65"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.44,-2435.8 32.97,-2445.79 36.44,-2435.78 29.44,-2435.8"/>
+<path fill="none" stroke="#63b8ff" d="M32.94,-2439.75C32.38,-2233.2 29.7,-474.67 100,-392.5 108.44,-382.63 120.28,-376.86 132.87,-373.65"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.44,-2439.79 32.97,-2449.78 36.44,-2439.77 29.44,-2439.79"/>
</a>
</g>
</g>
@@ -1840,8 +1822,8 @@
<g id="Node000399" class="node">
<title>Node399</title>
<g id="a_Node000399"><a xlink:href="classtvm_1_1transform_1_1PassContextNode.html" target="_top" xlink:title="PassContextNode contains the information that a pass can rely on, such as analysis results.">
-<polygon fill="white" stroke="#666666" points="292,-345 110,-345 110,-326 292,-326 292,-345"/>
-<text text-anchor="middle" x="201" y="-333" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContextNode</text>
+<polygon fill="white" stroke="#666666" points="292,-346 110,-346 110,-327 292,-327 292,-346"/>
+<text text-anchor="middle" x="201" y="-334" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassContextNode</text>
</a>
</g>
</g>
@@ -1849,8 +1831,8 @@
<g id="edge403_Node000000_Node000399" class="edge">
<title>Node0->Node399</title>
<g id="a_edge403_Node000000_Node000399"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.93,-2435.42C32.25,-2225.48 28.57,-438.04 100,-354.5 103.1,-350.87 106.66,-347.8 110.55,-345.21"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.43,-2435.63 32.96,-2445.62 36.43,-2435.6 29.43,-2435.63"/>
+<path fill="none" stroke="#63b8ff" d="M32.93,-2439.39C32.24,-2229.15 28.47,-439.16 100,-355.5 103.1,-351.87 106.66,-348.8 110.55,-346.21"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.43,-2439.61 32.96,-2449.6 36.43,-2439.59 29.43,-2439.61"/>
</a>
</g>
</g>
@@ -1858,8 +1840,8 @@
<g id="Node000400" class="node">
<title>Node400</title>
<g id="a_Node000400"><a xlink:href="classtvm_1_1transform_1_1PassInfoNode.html" target="_top" xlink:title="Meta data that will be used to help optimization and analysis.">
-<polygon fill="white" stroke="#666666" points="282,-308 120,-308 120,-289 282,-289 282,-308"/>
-<text text-anchor="middle" x="201" y="-296" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassInfoNode</text>
+<polygon fill="white" stroke="#666666" points="282,-309 120,-309 120,-290 282,-290 282,-309"/>
+<text text-anchor="middle" x="201" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassInfoNode</text>
</a>
</g>
</g>
@@ -1867,8 +1849,8 @@
<g id="edge404_Node000000_Node000400" class="edge">
<title>Node0->Node400</title>
<g id="a_edge404_Node000000_Node000400"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.92,-2435.72C32.11,-2225.13 27.26,-402.61 100,-317.5 105.4,-311.19 112.18,-306.55 119.66,-303.19"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.42,-2435.92 32.96,-2445.91 36.42,-2435.9 29.42,-2435.92"/>
+<path fill="none" stroke="#63b8ff" d="M32.92,-2439.69C32.1,-2228.81 27.16,-403.73 100,-318.5 105.4,-312.19 112.18,-307.55 119.66,-304.19"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.42,-2439.91 32.96,-2449.9 36.42,-2439.88 29.42,-2439.91"/>
</a>
</g>
</g>
@@ -1876,8 +1858,8 @@
<g id="Node000401" class="node">
<title>Node401</title>
<g id="a_Node000401"><a xlink:href="classtvm_1_1transform_1_1PassNode.html" target="_top" xlink:title="PassNode is the base type of differnt types of optimization passes. It is designed as a pure class an...">
-<polygon fill="white" stroke="#666666" points="272.5,-136 129.5,-136 129.5,-117 272.5,-117 272.5,-136"/>
-<text text-anchor="middle" x="201" y="-124" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassNode</text>
+<polygon fill="white" stroke="#666666" points="272.5,-154 129.5,-154 129.5,-135 272.5,-135 272.5,-154"/>
+<text text-anchor="middle" x="201" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::transform::PassNode</text>
</a>
</g>
</g>
@@ -1885,8 +1867,8 @@
<g id="edge405_Node000000_Node000401" class="edge">
<title>Node0->Node401</title>
<g id="a_edge405_Node000000_Node000401"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M32.96,-2435.77C32.65,-2231.02 32.06,-497.56 100,-280.5 119.14,-219.35 169.87,-159.29 190.79,-136.3"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="29.46,-2435.95 32.98,-2445.94 36.46,-2435.93 29.46,-2435.95"/>
+<path fill="none" stroke="#63b8ff" d="M32.9,-2439.72C31.94,-2234.48 26.06,-496.93 100,-281.5 118.83,-226.63 167.9,-175.08 189.51,-154.23"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="29.4,-2439.93 32.95,-2449.92 36.4,-2439.9 29.4,-2439.93"/>
</a>
</g>
</g>
@@ -1894,8 +1876,8 @@
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><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="#666666" points="496,-9966 386,-9966 386,-9947 496,-9947 496,-9966"/>
-<text text-anchor="middle" x="441" y="-9954" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
+<polygon fill="white" stroke="#666666" points="496,-9983 386,-9983 386,-9964 496,-9964 496,-9983"/>
+<text text-anchor="middle" x="441" y="-9971" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DictAttrsNode</text>
</a>
</g>
</g>
@@ -1903,8 +1885,8 @@
<g id="edge7_Node000002_Node000003" class="edge">
<title>Node2->Node3</title>
<g id="a_edge7_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.58,-8179.18C273.61,-8181.41 290.84,-8187.3 302,-8200.5 364.32,-8274.21 275.55,-9863.91 338,-9937.5 349.71,-9951.3 367.95,-9957.2 385.78,-9959.26"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8175.69 246.62,-8178.26 256.26,-8182.66 256.9,-8175.69"/>
+<path fill="none" stroke="#63b8ff" d="M256.58,-8196.18C273.61,-8198.41 290.84,-8204.3 302,-8217.5 364.32,-8291.21 275.55,-9880.91 338,-9954.5 349.71,-9968.3 367.95,-9974.2 385.78,-9976.26"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8192.69 246.62,-8195.26 256.26,-8199.66 256.9,-8192.69"/>
</a>
</g>
</g>
@@ -1912,9 +1894,9 @@
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool1DAttrs.html" target="_top" xlink:title="Attributes for 1d adaptive pool operator.">
-<polygon fill="white" stroke="#666666" points="512.5,-9928.5 369.5,-9928.5 369.5,-9898.5 512.5,-9898.5 512.5,-9928.5"/>
-<text text-anchor="start" x="377.5" y="-9916.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool1</text>
-<text text-anchor="middle" x="441" y="-9905.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polygon fill="white" stroke="#666666" points="512.5,-9945.5 369.5,-9945.5 369.5,-9915.5 512.5,-9915.5 512.5,-9945.5"/>
+<text text-anchor="start" x="377.5" y="-9933.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool1</text>
+<text text-anchor="middle" x="441" y="-9922.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
</a>
</g>
</g>
@@ -1922,8 +1904,8 @@
<g id="edge8_Node000002_Node000004" class="edge">
<title>Node2->Node4</title>
<g id="a_edge8_Node000002_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.58,-8179.18C273.61,-8181.42 290.84,-8187.3 302,-8200.5 362.62,-8272.15 278.95,-9816.55 338,-9889.5 346.01,-9899.4 357.27,-9905.68 369.4,-9909.58"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8175.7 246.62,-8178.26 256.25,-8182.67 256.9,-8175.7"/>
+<path fill="none" stroke="#63b8ff" d="M256.58,-8196.18C273.61,-8198.42 290.84,-8204.3 302,-8217.5 362.62,-8289.15 278.95,-9833.55 338,-9906.5 346.01,-9916.4 357.27,-9922.68 369.4,-9926.58"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8192.7 246.62,-8195.26 256.25,-8199.67 256.9,-8192.7"/>
</a>
</g>
</g>
@@ -1931,9 +1913,9 @@
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool2DAttrs.html" target="_top" xlink:title="Attributes for 2d adaptive pool operator.">
-<polygon fill="white" stroke="#666666" points="512.5,-9880.5 369.5,-9880.5 369.5,-9850.5 512.5,-9850.5 512.5,-9880.5"/>
-<text text-anchor="start" x="377.5" y="-9868.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool2</text>
-<text text-anchor="middle" x="441" y="-9857.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polygon fill="white" stroke="#666666" points="512.5,-9897.5 369.5,-9897.5 369.5,-9867.5 512.5,-9867.5 512.5,-9897.5"/>
+<text text-anchor="start" x="377.5" y="-9885.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool2</text>
+<text text-anchor="middle" x="441" y="-9874.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
</a>
</g>
</g>
@@ -1941,8 +1923,8 @@
<g id="edge9_Node000002_Node000005" class="edge">
<title>Node2->Node5</title>
<g id="a_edge9_Node000002_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.05,-8179.25C273.92,-8181.53 290.94,-8187.43 302,-8200.5 360.92,-8270.1 280.6,-9770.64 338,-9841.5 346.02,-9851.4 357.27,-9857.67 369.4,-9861.57"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8175.72 246.61,-8178.26 256.24,-8182.69 256.9,-8175.72"/>
+<path fill="none" stroke="#63b8ff" d="M257.05,-8196.25C273.92,-8198.53 290.94,-8204.43 302,-8217.5 360.92,-8287.1 280.6,-9787.64 338,-9858.5 346.02,-9868.4 357.27,-9874.67 369.4,-9878.57"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8192.72 246.61,-8195.26 256.24,-8199.69 256.9,-8192.72"/>
</a>
</g>
</g>
@@ -1950,9 +1932,9 @@
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="structtvm_1_1relax_1_1AdaptivePool3DAttrs.html" target="_top" xlink:title="Attributes for 3d adaptive pool operator.">
-<polygon fill="white" stroke="#666666" points="512.5,-9832.5 369.5,-9832.5 369.5,-9802.5 512.5,-9802.5 512.5,-9832.5"/>
-<text text-anchor="start" x="377.5" y="-9820.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
-<text text-anchor="middle" x="441" y="-9809.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
+<polygon fill="white" stroke="#666666" points="512.5,-9849.5 369.5,-9849.5 369.5,-9819.5 512.5,-9819.5 512.5,-9849.5"/>
+<text text-anchor="start" x="377.5" y="-9837.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AdaptivePool3</text>
+<text text-anchor="middle" x="441" y="-9826.5" font-family="Helvetica,sans-Serif" font-size="10.00">DAttrs</text>
</a>
</g>
</g>
@@ -1960,8 +1942,8 @@
<g id="edge10_Node000002_Node000006" class="edge">
<title>Node2->Node6</title>
<g id="a_edge10_Node000002_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.04,-8179.25C273.92,-8181.54 290.93,-8187.44 302,-8200.5 359.22,-8268.05 282.26,-9724.73 338,-9793.5 346.02,-9803.39 357.28,-9809.67 369.41,-9813.57"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.89,-8175.73 246.61,-8178.27 256.24,-8182.69 256.89,-8175.73"/>
+<path fill="none" stroke="#63b8ff" d="M257.04,-8196.25C273.92,-8198.54 290.93,-8204.44 302,-8217.5 359.22,-8285.05 282.26,-9741.73 338,-9810.5 346.02,-9820.39 357.28,-9826.67 369.41,-9830.57"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.89,-8192.73 246.61,-8195.27 256.24,-8199.69 256.89,-8192.73"/>
</a>
</g>
</g>
@@ -1969,8 +1951,8 @@
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="structtvm_1_1relax_1_1AffineGridAttrs.html" target="_top" xlink:title="Attributes used in image affine_grid operator.">
-<polygon fill="white" stroke="#666666" points="513.5,-9784 368.5,-9784 368.5,-9765 513.5,-9765 513.5,-9784"/>
-<text text-anchor="middle" x="441" y="-9772" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AffineGridAttrs</text>
+<polygon fill="white" stroke="#666666" points="513.5,-9801 368.5,-9801 368.5,-9782 513.5,-9782 513.5,-9801"/>
+<text text-anchor="middle" x="441" y="-9789" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AffineGridAttrs</text>
</a>
</g>
</g>
@@ -1978,8 +1960,8 @@
<g id="edge11_Node000002_Node000007" class="edge">
<title>Node2->Node7</title>
<g id="a_edge11_Node000002_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.04,-8179.26C273.91,-8181.54 290.93,-8187.44 302,-8200.5 357.87,-8266.42 282.01,-9689.68 338,-9755.5 345.88,-9764.76 356.69,-9770.46 368.35,-9773.83"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.89,-8175.73 246.61,-8178.27 256.23,-8182.7 256.89,-8175.73"/>
+<path fill="none" stroke="#63b8ff" d="M257.04,-8196.26C273.91,-8198.54 290.93,-8204.44 302,-8217.5 357.87,-8283.42 282.01,-9706.68 338,-9772.5 345.88,-9781.76 356.69,-9787.46 368.35,-9790.83"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.89,-8192.73 246.61,-8195.27 256.23,-8199.7 256.89,-8192.73"/>
</a>
</g>
</g>
@@ -1987,9 +1969,9 @@
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="structtvm_1_1relax_1_1AllClassNonMaximumSuppressionAttrs.html" target="_top" xlink:title="Attributes used in AllClassNonMaximumSuppression operator.">
-<polygon fill="white" stroke="#666666" points="531.5,-9746.5 350.5,-9746.5 350.5,-9716.5 531.5,-9716.5 531.5,-9746.5"/>
-<text text-anchor="start" x="358.5" y="-9734.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllClassNonMaximum</text>
-<text text-anchor="middle" x="441" y="-9723.5" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionAttrs</text>
+<polygon fill="white" stroke="#666666" points="531.5,-9763.5 350.5,-9763.5 350.5,-9733.5 531.5,-9733.5 531.5,-9763.5"/>
+<text text-anchor="start" x="358.5" y="-9751.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllClassNonMaximum</text>
+<text text-anchor="middle" x="441" y="-9740.5" font-family="Helvetica,sans-Serif" font-size="10.00">SuppressionAttrs</text>
</a>
</g>
</g>
@@ -1997,8 +1979,8 @@
<g id="edge12_Node000002_Node000008" class="edge">
<title>Node2->Node8</title>
<g id="a_edge12_Node000002_Node000008"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.03,-8179.26C273.91,-8181.55 290.92,-8187.44 302,-8200.5 356.17,-8264.37 285.22,-9642.48 338,-9707.5 341.55,-9711.88 345.74,-9715.55 350.36,-9718.62"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.89,-8175.73 246.6,-8178.28 256.23,-8182.7 256.89,-8175.73"/>
+<path fill="none" stroke="#63b8ff" d="M257.03,-8196.26C273.91,-8198.55 290.92,-8204.44 302,-8217.5 356.17,-8281.37 285.22,-9659.48 338,-9724.5 341.55,-9728.88 345.74,-9732.55 350.36,-9735.62"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.89,-8192.73 246.6,-8195.28 256.23,-8199.7 256.89,-8192.73"/>
</a>
</g>
</g>
@@ -2006,8 +1988,8 @@
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a xlink:href="structtvm_1_1relax_1_1AllGatherAttrs.html" target="_top" xlink:title="Attributes used in allgather operators.">
-<polygon fill="white" stroke="#666666" points="512,-9698 370,-9698 370,-9679 512,-9679 512,-9698"/>
-<text text-anchor="middle" x="441" y="-9686" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllGatherAttrs</text>
+<polygon fill="white" stroke="#666666" points="512,-9715 370,-9715 370,-9696 512,-9696 512,-9715"/>
+<text text-anchor="middle" x="441" y="-9703" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllGatherAttrs</text>
</a>
</g>
</g>
@@ -2015,8 +1997,8 @@
<g id="edge13_Node000002_Node000009" class="edge">
<title>Node2->Node9</title>
<g id="a_edge13_Node000002_Node000009"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.03,-8179.27C273.9,-8181.55 290.92,-8187.45 302,-8200.5 407.72,-8325.07 231.46,-9546.63 338,-9670.5 346.27,-9680.11 357.72,-9685.79 369.97,-9688.98"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.88,-8175.74 246.6,-8178.28 256.22,-8182.71 256.88,-8175.74"/>
+<path fill="none" stroke="#63b8ff" d="M257.03,-8196.27C273.9,-8198.55 290.92,-8204.45 302,-8217.5 407.72,-8342.07 231.46,-9563.63 338,-9687.5 346.27,-9697.11 357.72,-9702.79 369.97,-9705.98"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.88,-8192.74 246.6,-8195.28 256.22,-8199.71 256.88,-8192.74"/>
</a>
</g>
</g>
@@ -2024,8 +2006,8 @@
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:href="structtvm_1_1relax_1_1AllReduceAttrs.html" target="_top" xlink:title="Attributes used in allreduce operators.">
-<polygon fill="white" stroke="#666666" points="513.5,-9661 368.5,-9661 368.5,-9642 513.5,-9642 513.5,-9661"/>
-<text text-anchor="middle" x="441" y="-9649" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllReduceAttrs</text>
+<polygon fill="white" stroke="#666666" points="513.5,-9678 368.5,-9678 368.5,-9659 513.5,-9659 513.5,-9678"/>
+<text text-anchor="middle" x="441" y="-9666" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AllReduceAttrs</text>
</a>
</g>
</g>
@@ -2033,8 +2015,8 @@
<g id="edge14_Node000002_Node000010" class="edge">
<title>Node2->Node10</title>
<g id="a_edge14_Node000002_Node000010"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.02,-8179.27C273.9,-8181.56 290.92,-8187.45 302,-8200.5 405.03,-8321.81 234.75,-9511.37 338,-9632.5 345.89,-9641.75 356.71,-9647.45 368.36,-9650.82"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.88,-8175.74 246.59,-8178.28 256.22,-8182.71 256.88,-8175.74"/>
+<path fill="none" stroke="#63b8ff" d="M257.02,-8196.27C273.9,-8198.56 290.92,-8204.45 302,-8217.5 405.03,-8338.81 234.75,-9528.37 338,-9649.5 345.89,-9658.75 356.71,-9664.45 368.36,-9667.82"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.88,-8192.74 246.59,-8195.28 256.22,-8199.71 256.88,-8192.74"/>
</a>
</g>
</g>
@@ -2042,9 +2024,9 @@
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a xlink:href="structtvm_1_1relax_1_1ArgmaxArgminAttrs.html" target="_top" xlink:title="Attributes for search operators.">
-<polygon fill="white" stroke="#666666" points="514,-9623.5 368,-9623.5 368,-9593.5 514,-9593.5 514,-9623.5"/>
-<text text-anchor="start" x="376" y="-9611.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgmaxArgmin</text>
-<text text-anchor="middle" x="441" y="-9600.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="514,-9640.5 368,-9640.5 368,-9610.5 514,-9610.5 514,-9640.5"/>
+<text text-anchor="start" x="376" y="-9628.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgmaxArgmin</text>
+<text text-anchor="middle" x="441" y="-9617.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2052,8 +2034,8 @@
<g id="edge15_Node000002_Node000011" class="edge">
<title>Node2->Node11</title>
<g id="a_edge15_Node000002_Node000011"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.02,-8179.28C273.89,-8181.56 290.91,-8187.45 302,-8200.5 401.63,-8317.71 240.93,-9465.16 338,-9584.5 345.69,-9593.96 356.34,-9600.11 367.88,-9604.03"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.87,-8175.75 246.59,-8178.29 256.21,-8182.72 256.87,-8175.75"/>
+<path fill="none" stroke="#63b8ff" d="M257.02,-8196.28C273.89,-8198.56 290.91,-8204.45 302,-8217.5 401.63,-8334.71 240.93,-9482.16 338,-9601.5 345.69,-9610.96 356.34,-9617.11 367.88,-9621.03"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.87,-8192.75 246.59,-8195.29 256.21,-8199.72 256.87,-8192.75"/>
</a>
</g>
</g>
@@ -2061,8 +2043,8 @@
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:href="structtvm_1_1relax_1_1ArgsortAttrs.html" target="_top" xlink:title="Attributes used in argsort operator.">
-<polygon fill="white" stroke="#666666" points="506.5,-9575 375.5,-9575 375.5,-9556 506.5,-9556 506.5,-9575"/>
-<text text-anchor="middle" x="441" y="-9563" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgsortAttrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-9592 375.5,-9592 375.5,-9573 506.5,-9573 506.5,-9592"/>
+<text text-anchor="middle" x="441" y="-9580" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ArgsortAttrs</text>
</a>
</g>
</g>
@@ -2070,8 +2052,8 @@
<g id="edge16_Node000002_Node000012" class="edge">
<title>Node2->Node12</title>
<g id="a_edge16_Node000002_Node000012"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.01,-8179.28C273.88,-8181.57 290.91,-8187.46 302,-8200.5 399.01,-8314.54 240.25,-9434.1 338,-9547.5 347.45,-9558.46 361.04,-9564.31 375.24,-9567.18"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.87,-8175.75 246.58,-8178.29 256.21,-8182.72 256.87,-8175.75"/>
+<path fill="none" stroke="#63b8ff" d="M257.01,-8196.28C273.88,-8198.57 290.91,-8204.46 302,-8217.5 399.01,-8331.54 240.25,-9451.1 338,-9564.5 347.45,-9575.46 361.04,-9581.31 375.24,-9584.18"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.87,-8192.75 246.58,-8195.29 256.21,-8199.72 256.87,-8192.75"/>
</a>
</g>
</g>
@@ -2079,8 +2061,8 @@
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a xlink:href="structtvm_1_1relax_1_1AstypeAttrs.html" target="_top" xlink:title="Attributes used in astype operator.">
-<polygon fill="white" stroke="#666666" points="506,-9538 376,-9538 376,-9519 506,-9519 506,-9538"/>
-<text text-anchor="middle" x="441" y="-9526" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AstypeAttrs</text>
+<polygon fill="white" stroke="#666666" points="506,-9555 376,-9555 376,-9536 506,-9536 506,-9555"/>
+<text text-anchor="middle" x="441" y="-9543" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AstypeAttrs</text>
</a>
</g>
</g>
@@ -2088,8 +2070,8 @@
<g id="edge17_Node000002_Node000013" class="edge">
<title>Node2->Node13</title>
<g id="a_edge17_Node000002_Node000013"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.01,-8179.29C273.88,-8181.57 290.9,-8187.46 302,-8200.5 396.39,-8311.37 242.89,-9400.25 338,-9510.5 347.57,-9521.6 361.39,-9527.45 375.78,-9530.28"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.86,-8175.76 246.58,-8178.3 256.2,-8182.73 256.86,-8175.76"/>
+<path fill="none" stroke="#63b8ff" d="M257.01,-8196.29C273.88,-8198.57 290.9,-8204.46 302,-8217.5 396.39,-8328.37 242.89,-9417.25 338,-9527.5 347.57,-9538.6 361.39,-9544.45 375.78,-9547.28"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.86,-8192.76 246.58,-8195.3 256.2,-8199.73 256.86,-8192.76"/>
</a>
</g>
</g>
@@ -2097,8 +2079,8 @@
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_Node000014"><a xlink:href="structtvm_1_1relax_1_1AttentionAttrs.html" target="_top" xlink:title="Attributes used in Attention operator.">
-<polygon fill="white" stroke="#666666" points="511.5,-9501 370.5,-9501 370.5,-9482 511.5,-9482 511.5,-9501"/>
-<text text-anchor="middle" x="441" y="-9489" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttentionAttrs</text>
+<polygon fill="white" stroke="#666666" points="511.5,-9518 370.5,-9518 370.5,-9499 511.5,-9499 511.5,-9518"/>
+<text text-anchor="middle" x="441" y="-9506" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttentionAttrs</text>
</a>
</g>
</g>
@@ -2106,8 +2088,8 @@
<g id="edge18_Node000002_Node000014" class="edge">
<title>Node2->Node14</title>
<g id="a_edge18_Node000002_Node000014"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257,-8179.29C273.87,-8181.58 290.9,-8187.47 302,-8200.5 393.77,-8308.21 245.53,-9366.39 338,-9473.5 346.34,-9483.16 357.9,-9488.85 370.26,-9492.03"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.86,-8175.76 246.57,-8178.3 256.19,-8182.73 256.86,-8175.76"/>
+<path fill="none" stroke="#63b8ff" d="M257,-8196.29C273.87,-8198.58 290.9,-8204.47 302,-8217.5 393.77,-8325.21 245.53,-9383.39 338,-9490.5 346.34,-9500.16 357.9,-9505.85 370.26,-9509.03"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.86,-8192.76 246.57,-8195.3 256.19,-8199.73 256.86,-8192.76"/>
</a>
</g>
</g>
@@ -2115,8 +2097,8 @@
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_Node000015"><a xlink:href="structtvm_1_1relax_1_1BatchNormAttrs.html" target="_top" xlink:title="Attributes used in batch_norm operator.">
-<polygon fill="white" stroke="#666666" points="516.5,-9464 365.5,-9464 365.5,-9445 516.5,-9445 516.5,-9464"/>
-<text text-anchor="middle" x="441" y="-9452" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BatchNormAttrs</text>
+<polygon fill="white" stroke="#666666" points="516.5,-9481 365.5,-9481 365.5,-9462 516.5,-9462 516.5,-9481"/>
+<text text-anchor="middle" x="441" y="-9469" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BatchNormAttrs</text>
</a>
</g>
</g>
@@ -2124,8 +2106,8 @@
<g id="edge19_Node000002_Node000015" class="edge">
<title>Node2->Node15</title>
<g id="a_edge19_Node000002_Node000015"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.99,-8179.3C273.87,-8181.58 290.89,-8187.47 302,-8200.5 391.15,-8305.04 248.17,-9332.54 338,-9436.5 345.23,-9444.87 354.87,-9450.25 365.35,-9453.61"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.85,-8175.77 246.56,-8178.31 256.19,-8182.74 256.85,-8175.77"/>
+<path fill="none" stroke="#63b8ff" d="M256.99,-8196.3C273.87,-8198.58 290.89,-8204.47 302,-8217.5 391.15,-8322.04 248.17,-9349.54 338,-9453.5 345.23,-9461.87 354.87,-9467.25 365.35,-9470.61"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.85,-8192.77 246.56,-8195.31 256.19,-8199.74 256.85,-8192.77"/>
</a>
</g>
</g>
@@ -2133,8 +2115,8 @@
<g id="Node000016" class="node">
<title>Node16</title>
<g id="a_Node000016"><a xlink:href="structtvm_1_1relax_1_1BucketizeAttrs.html" target="_top" xlink:title="Attributes for bucketize operator.">
-<polygon fill="white" stroke="#666666" points="512.5,-9427 369.5,-9427 369.5,-9408 512.5,-9408 512.5,-9427"/>
-<text text-anchor="middle" x="441" y="-9415" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BucketizeAttrs</text>
+<polygon fill="white" stroke="#666666" points="512.5,-9444 369.5,-9444 369.5,-9425 512.5,-9425 512.5,-9444"/>
+<text text-anchor="middle" x="441" y="-9432" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BucketizeAttrs</text>
</a>
</g>
</g>
@@ -2142,8 +2124,8 @@
<g id="edge20_Node000002_Node000016" class="edge">
<title>Node2->Node16</title>
<g id="a_edge20_Node000002_Node000016"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.99,-8179.3C273.86,-8181.59 290.88,-8187.48 302,-8200.5 388.46,-8301.79 251.36,-9297.36 338,-9398.5 346.14,-9408.01 357.38,-9413.75 369.44,-9417.08"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.84,-8175.77 246.56,-8178.31 256.18,-8182.74 256.84,-8175.77"/>
+<path fill="none" stroke="#63b8ff" d="M256.99,-8196.3C273.86,-8198.59 290.88,-8204.48 302,-8217.5 388.46,-8318.79 251.36,-9314.36 338,-9415.5 346.14,-9425.01 357.38,-9430.75 369.44,-9434.08"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.84,-8192.77 246.56,-8195.31 256.18,-8199.74 256.84,-8192.77"/>
</a>
</g>
</g>
@@ -2151,9 +2133,9 @@
<g id="Node000017" class="node">
<title>Node17</title>
<g id="a_Node000017"><a xlink:href="structtvm_1_1relax_1_1CallInplacePackedAttrs.html" target="_top" xlink:title="Attributes used in call_inplace_packed.">
-<polygon fill="white" stroke="#666666" points="521.5,-9389.5 360.5,-9389.5 360.5,-9359.5 521.5,-9359.5 521.5,-9389.5"/>
-<text text-anchor="start" x="368.5" y="-9377.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallInplacePacked</text>
-<text text-anchor="middle" x="441" y="-9366.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="521.5,-9406.5 360.5,-9406.5 360.5,-9376.5 521.5,-9376.5 521.5,-9406.5"/>
+<text text-anchor="start" x="368.5" y="-9394.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallInplacePacked</text>
+<text text-anchor="middle" x="441" y="-9383.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2161,8 +2143,8 @@
<g id="edge21_Node000002_Node000017" class="edge">
<title>Node2->Node17</title>
<g id="a_edge21_Node000002_Node000017"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.98,-8179.31C273.85,-8181.6 290.88,-8187.48 302,-8200.5 385.06,-8297.69 257.07,-9251.54 338,-9350.5 343.99,-9357.82 351.75,-9363.16 360.32,-9367.02"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.84,-8175.78 246.55,-8178.32 256.17,-8182.75 256.84,-8175.78"/>
+<path fill="none" stroke="#63b8ff" d="M256.98,-8196.31C273.85,-8198.6 290.88,-8204.48 302,-8217.5 385.06,-8314.69 257.07,-9268.54 338,-9367.5 343.99,-9374.82 351.75,-9380.16 360.32,-9384.02"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.84,-8192.78 246.55,-8195.32 256.17,-8199.75 256.84,-8192.78"/>
</a>
</g>
</g>
@@ -2170,9 +2152,9 @@
<g id="Node000018" class="node">
<title>Node18</title>
<g id="a_Node000018"><a xlink:href="structtvm_1_1relax_1_1CallTIRInplaceAttrs.html" target="_top" xlink:title="Attributes used in call_tir_inplace.">
-<polygon fill="white" stroke="#666666" points="512.5,-9341.5 369.5,-9341.5 369.5,-9311.5 512.5,-9311.5 512.5,-9341.5"/>
-<text text-anchor="start" x="377.5" y="-9329.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRInplace</text>
-<text text-anchor="middle" x="441" y="-9318.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="512.5,-9358.5 369.5,-9358.5 369.5,-9328.5 512.5,-9328.5 512.5,-9358.5"/>
+<text text-anchor="start" x="377.5" y="-9346.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRInplace</text>
+<text text-anchor="middle" x="441" y="-9335.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2180,8 +2162,8 @@
<g id="edge22_Node000002_Node000018" class="edge">
<title>Node2->Node18</title>
<g id="a_edge22_Node000002_Node000018"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.97,-8179.32C273.84,-8181.61 290.87,-8187.49 302,-8200.5 381.66,-8293.58 260.38,-9207.72 338,-9302.5 346.07,-9312.35 357.35,-9318.61 369.49,-9322.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.83,-8175.79 246.54,-8178.33 256.16,-8182.76 256.83,-8175.79"/>
+<path fill="none" stroke="#63b8ff" d="M256.97,-8196.32C273.84,-8198.61 290.87,-8204.49 302,-8217.5 381.66,-8310.58 260.38,-9224.72 338,-9319.5 346.07,-9329.35 357.35,-9335.61 369.49,-9339.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.83,-8192.79 246.54,-8195.33 256.16,-8199.76 256.83,-8192.79"/>
</a>
</g>
</g>
@@ -2189,9 +2171,9 @@
<g id="Node000019" class="node">
<title>Node19</title>
<g id="a_Node000019"><a xlink:href="structtvm_1_1relax_1_1CallTIRWithGradAttrs.html" target="_top" xlink:title="Attributes used in call_tir_with_grad.">
-<polygon fill="white" stroke="#666666" points="517.5,-9293.5 364.5,-9293.5 364.5,-9263.5 517.5,-9263.5 517.5,-9293.5"/>
-<text text-anchor="start" x="372.5" y="-9281.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRWithGrad</text>
-<text text-anchor="middle" x="441" y="-9270.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="517.5,-9310.5 364.5,-9310.5 364.5,-9280.5 517.5,-9280.5 517.5,-9310.5"/>
+<text text-anchor="start" x="372.5" y="-9298.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallTIRWithGrad</text>
+<text text-anchor="middle" x="441" y="-9287.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2199,8 +2181,8 @@
<g id="edge23_Node000002_Node000019" class="edge">
<title>Node2->Node19</title>
<g id="a_edge23_Node000002_Node000019"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.96,-8179.33C273.82,-8181.62 290.86,-8187.5 302,-8200.5 378.26,-8289.47 263.69,-9163.9 338,-9254.5 344.92,-9262.94 354.2,-9268.74 364.36,-9272.68"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.82,-8175.8 246.53,-8178.34 256.15,-8182.77 256.82,-8175.8"/>
+<path fill="none" stroke="#63b8ff" d="M256.96,-8196.33C273.82,-8198.62 290.86,-8204.5 302,-8217.5 378.26,-8306.47 263.69,-9180.9 338,-9271.5 344.92,-9279.94 354.2,-9285.74 364.36,-9289.68"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.82,-8192.8 246.53,-8195.34 256.15,-8199.77 256.82,-8192.8"/>
</a>
</g>
</g>
@@ -2208,8 +2190,8 @@
<g id="Node000020" class="node">
<title>Node20</title>
<g id="a_Node000020"><a xlink:href="structtvm_1_1relax_1_1ConcatAttrs.html" target="_top" xlink:title="Attributes used in concat operators.">
-<polygon fill="white" stroke="#666666" points="506,-9245 376,-9245 376,-9226 506,-9226 506,-9245"/>
-<text text-anchor="middle" x="441" y="-9233" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConcatAttrs</text>
+<polygon fill="white" stroke="#666666" points="506,-9262 376,-9262 376,-9243 506,-9243 506,-9262"/>
+<text text-anchor="middle" x="441" y="-9250" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConcatAttrs</text>
</a>
</g>
</g>
@@ -2217,8 +2199,8 @@
<g id="edge24_Node000002_Node000020" class="edge">
<title>Node2->Node20</title>
<g id="a_edge24_Node000002_Node000020"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.95,-8179.34C273.81,-8181.63 290.85,-8187.51 302,-8200.5 375.64,-8286.31 263.8,-9132.18 338,-9217.5 347.62,-9228.56 361.45,-9234.4 375.84,-9237.23"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.81,-8175.81 246.52,-8178.34 256.14,-8182.78 256.81,-8175.81"/>
+<path fill="none" stroke="#63b8ff" d="M256.95,-8196.34C273.81,-8198.63 290.85,-8204.51 302,-8217.5 375.64,-8303.31 263.8,-9149.18 338,-9234.5 347.62,-9245.56 361.45,-9251.4 375.84,-9254.23"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.81,-8192.81 246.52,-8195.34 256.14,-8199.78 256.81,-8192.81"/>
</a>
</g>
</g>
@@ -2226,8 +2208,8 @@
<g id="Node000021" class="node">
<title>Node21</title>
<g id="a_Node000021"><a xlink:href="structtvm_1_1relax_1_1Conv1DAttrs.html" target="_top" xlink:title="Attributes used in Conv1d operator.">
-<polygon fill="white" stroke="#666666" points="508,-9208 374,-9208 374,-9189 508,-9189 508,-9208"/>
-<text text-anchor="middle" x="441" y="-9196" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DAttrs</text>
+<polygon fill="white" stroke="#666666" points="508,-9225 374,-9225 374,-9206 508,-9206 508,-9225"/>
+<text text-anchor="middle" x="441" y="-9213" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DAttrs</text>
</a>
</g>
</g>
@@ -2235,8 +2217,8 @@
<g id="edge25_Node000002_Node000021" class="edge">
<title>Node2->Node21</title>
<g id="a_edge25_Node000002_Node000021"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.94,-8179.35C273.8,-8181.64 290.84,-8187.51 302,-8200.5 372.94,-8283.06 266.91,-9097.07 338,-9179.5 347.18,-9190.14 360.23,-9196.06 373.95,-9199.15"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.8,-8175.82 246.51,-8178.35 256.13,-8182.79 256.8,-8175.82"/>
+<path fill="none" stroke="#63b8ff" d="M256.94,-8196.35C273.8,-8198.64 290.84,-8204.51 302,-8217.5 372.94,-8300.06 266.91,-9114.07 338,-9196.5 347.18,-9207.14 360.23,-9213.06 373.95,-9216.15"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.8,-8192.82 246.51,-8195.35 256.13,-8199.79 256.8,-8192.82"/>
</a>
</g>
</g>
@@ -2244,9 +2226,9 @@
<g id="Node000022" class="node">
<title>Node22</title>
<g id="a_Node000022"><a xlink:href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv1DTranspose operator.">
-<polygon fill="white" stroke="#666666" points="521,-9170.5 361,-9170.5 361,-9140.5 521,-9140.5 521,-9170.5"/>
-<text text-anchor="start" x="369" y="-9158.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DTranspose</text>
-<text text-anchor="middle" x="441" y="-9147.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="521,-9187.5 361,-9187.5 361,-9157.5 521,-9157.5 521,-9187.5"/>
+<text text-anchor="start" x="369" y="-9175.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv1DTranspose</text>
+<text text-anchor="middle" x="441" y="-9164.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2254,8 +2236,8 @@
<g id="edge26_Node000002_Node000022" class="edge">
<title>Node2->Node22</title>
<g id="a_edge26_Node000002_Node000022"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.14,-8179.39C273.93,-8181.7 290.88,-8187.58 302,-8200.5 369.55,-8278.95 272.17,-9051.61 338,-9131.5 344.13,-9138.94 352.1,-9144.33 360.87,-9148.2"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8175.86 246.75,-8178.38 256.37,-8182.83 257.05,-8175.86"/>
+<path fill="none" stroke="#63b8ff" d="M257.14,-8196.39C273.93,-8198.7 290.88,-8204.58 302,-8217.5 369.55,-8295.95 272.17,-9068.61 338,-9148.5 344.13,-9155.94 352.1,-9161.33 360.87,-9165.2"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8192.86 246.75,-8195.38 256.37,-8199.83 257.05,-8192.86"/>
</a>
</g>
</g>
@@ -2263,8 +2245,8 @@
<g id="Node000023" class="node">
<title>Node23</title>
<g id="a_Node000023"><a xlink:href="structtvm_1_1relax_1_1Conv2DAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
-<polygon fill="white" stroke="#666666" points="508,-9122 374,-9122 374,-9103 508,-9103 508,-9122"/>
-<text text-anchor="middle" x="441" y="-9110" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DAttrs</text>
+<polygon fill="white" stroke="#666666" points="508,-9139 374,-9139 374,-9120 508,-9120 508,-9139"/>
+<text text-anchor="middle" x="441" y="-9127" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DAttrs</text>
</a>
</g>
</g>
@@ -2272,8 +2254,8 @@
<g id="edge27_Node000002_Node000023" class="edge">
<title>Node2->Node23</title>
<g id="a_edge27_Node000002_Node000023"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.13,-8179.4C273.92,-8181.71 290.87,-8187.59 302,-8200.5 366.85,-8275.7 273.01,-9018.42 338,-9093.5 347.2,-9104.12 360.26,-9110.04 373.97,-9113.12"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.03,-8175.87 246.74,-8178.39 256.36,-8182.84 257.03,-8175.87"/>
+<path fill="none" stroke="#63b8ff" d="M257.13,-8196.4C273.92,-8198.71 290.87,-8204.59 302,-8217.5 366.85,-8292.7 273.01,-9035.42 338,-9110.5 347.2,-9121.12 360.26,-9127.04 373.97,-9130.12"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.03,-8192.87 246.74,-8195.39 256.36,-8199.84 257.03,-8192.87"/>
</a>
</g>
</g>
@@ -2281,9 +2263,9 @@
<g id="Node000024" class="node">
<title>Node24</title>
<g id="a_Node000024"><a xlink:href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv2d operator.">
-<polygon fill="white" stroke="#666666" points="521,-9084.5 361,-9084.5 361,-9054.5 521,-9054.5 521,-9084.5"/>
-<text text-anchor="start" x="369" y="-9072.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DTranspose</text>
-<text text-anchor="middle" x="441" y="-9061.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="521,-9101.5 361,-9101.5 361,-9071.5 521,-9071.5 521,-9101.5"/>
+<text text-anchor="start" x="369" y="-9089.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv2DTranspose</text>
+<text text-anchor="middle" x="441" y="-9078.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2291,8 +2273,8 @@
<g id="edge28_Node000002_Node000024" class="edge">
<title>Node2->Node24</title>
<g id="a_edge28_Node000002_Node000024"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.11,-8179.41C273.9,-8181.73 290.85,-8187.6 302,-8200.5 363.46,-8271.59 278.1,-8973.09 338,-9045.5 344.15,-9052.93 352.12,-9058.31 360.9,-9062.17"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.02,-8175.89 246.73,-8178.4 256.34,-8182.86 257.02,-8175.89"/>
+<path fill="none" stroke="#63b8ff" d="M257.11,-8196.41C273.9,-8198.73 290.85,-8204.6 302,-8217.5 363.46,-8288.59 278.1,-8990.09 338,-9062.5 344.15,-9069.93 352.12,-9075.31 360.9,-9079.17"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.02,-8192.89 246.73,-8195.4 256.34,-8199.86 257.02,-8192.89"/>
</a>
</g>
</g>
@@ -2300,8 +2282,8 @@
<g id="Node000025" class="node">
<title>Node25</title>
<g id="a_Node000025"><a xlink:href="structtvm_1_1relax_1_1Conv3DAttrs.html" target="_top" xlink:title="Attributes used in Conv3d operator.">
-<polygon fill="white" stroke="#666666" points="508,-9036 374,-9036 374,-9017 508,-9017 508,-9036"/>
-<text text-anchor="middle" x="441" y="-9024" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DAttrs</text>
+<polygon fill="white" stroke="#666666" points="508,-9053 374,-9053 374,-9034 508,-9034 508,-9053"/>
+<text text-anchor="middle" x="441" y="-9041" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DAttrs</text>
</a>
</g>
</g>
@@ -2309,8 +2291,8 @@
<g id="edge29_Node000002_Node000025" class="edge">
<title>Node2->Node25</title>
<g id="a_edge29_Node000002_Node000025"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.09,-8179.43C273.89,-8181.74 290.84,-8187.61 302,-8200.5 360.76,-8268.34 279.11,-8939.76 338,-9007.5 347.16,-9018.04 360.12,-9023.93 373.74,-9027.04"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.01,-8175.9 246.71,-8178.41 256.33,-8182.87 257.01,-8175.9"/>
+<path fill="none" stroke="#63b8ff" d="M257.09,-8196.43C273.89,-8198.74 290.84,-8204.61 302,-8217.5 360.76,-8285.34 279.11,-8956.76 338,-9024.5 347.16,-9035.04 360.12,-9040.93 373.74,-9044.04"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.01,-8192.9 246.71,-8195.41 256.33,-8199.87 257.01,-8192.9"/>
</a>
</g>
</g>
@@ -2318,9 +2300,9 @@
<g id="Node000026" class="node">
<title>Node26</title>
<g id="a_Node000026"><a xlink:href="structtvm_1_1relax_1_1Conv3DTransposeAttrs.html" target="_top" xlink:title="Attributes used in Conv3dTranspose operator.">
-<polygon fill="white" stroke="#666666" points="521,-8998.5 361,-8998.5 361,-8968.5 521,-8968.5 521,-8998.5"/>
-<text text-anchor="start" x="369" y="-8986.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DTranspose</text>
-<text text-anchor="middle" x="441" y="-8975.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="521,-9015.5 361,-9015.5 361,-8985.5 521,-8985.5 521,-9015.5"/>
+<text text-anchor="start" x="369" y="-9003.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Conv3DTranspose</text>
+<text text-anchor="middle" x="441" y="-8992.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2328,8 +2310,8 @@
<g id="edge30_Node000002_Node000026" class="edge">
<title>Node2->Node26</title>
<g id="a_edge30_Node000002_Node000026"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.07,-8179.44C273.86,-8181.76 290.82,-8187.63 302,-8200.5 357.37,-8264.24 284.03,-8894.58 338,-8959.5 344.16,-8966.91 352.15,-8972.29 360.93,-8976.15"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.99,-8175.92 246.69,-8178.43 256.31,-8182.89 256.99,-8175.92"/>
+<path fill="none" stroke="#63b8ff" d="M257.07,-8196.44C273.86,-8198.76 290.82,-8204.63 302,-8217.5 357.37,-8281.24 284.03,-8911.58 338,-8976.5 344.16,-8983.91 352.15,-8989.29 360.93,-8993.15"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.99,-8192.92 246.69,-8195.43 256.31,-8199.89 256.99,-8192.92"/>
</a>
</g>
</g>
@@ -2337,9 +2319,9 @@
<g id="Node000027" class="node">
<title>Node27</title>
<g id="a_Node000027"><a xlink:href="structtvm_1_1relax_1_1DistributionAttrs.html" target="_top" xlink:title="Attributes for redistribute and annotate_sharding operator.">
-<polygon fill="white" stroke="#666666" points="506,-8950.5 376,-8950.5 376,-8920.5 506,-8920.5 506,-8950.5"/>
-<text text-anchor="start" x="384" y="-8938.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Distribution</text>
-<text text-anchor="middle" x="441" y="-8927.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="506,-8967.5 376,-8967.5 376,-8937.5 506,-8937.5 506,-8967.5"/>
+<text text-anchor="start" x="384" y="-8955.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Distribution</text>
+<text text-anchor="middle" x="441" y="-8944.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2347,8 +2329,8 @@
<g id="edge31_Node000002_Node000027" class="edge">
<title>Node2->Node27</title>
<g id="a_edge31_Node000002_Node000027"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.05,-8179.47C273.84,-8181.78 290.8,-8187.65 302,-8200.5 405.94,-8319.77 236.67,-8790.01 338,-8911.5 347.55,-8922.96 361.45,-8929.54 375.93,-8933.19"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.96,-8175.94 246.67,-8178.45 256.28,-8182.91 256.96,-8175.94"/>
+<path fill="none" stroke="#63b8ff" d="M257.05,-8196.47C273.84,-8198.78 290.8,-8204.65 302,-8217.5 405.94,-8336.77 236.67,-8807.01 338,-8928.5 347.55,-8939.96 361.45,-8946.54 375.93,-8950.19"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.96,-8192.94 246.67,-8195.45 256.28,-8199.91 256.96,-8192.94"/>
</a>
</g>
</g>
@@ -2356,8 +2338,8 @@
<g id="Node000028" class="node">
<title>Node28</title>
<g id="a_Node000028"><a xlink:href="structtvm_1_1relax_1_1DropoutAttrs.html" target="_top" xlink:title="Attributes used in dropout operator.">
-<polygon fill="white" stroke="#666666" points="508.5,-8902 373.5,-8902 373.5,-8883 508.5,-8883 508.5,-8902"/>
-<text text-anchor="middle" x="441" y="-8890" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DropoutAttrs</text>
+<polygon fill="white" stroke="#666666" points="508.5,-8919 373.5,-8919 373.5,-8900 508.5,-8900 508.5,-8919"/>
+<text text-anchor="middle" x="441" y="-8907" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DropoutAttrs</text>
</a>
</g>
</g>
@@ -2365,8 +2347,8 @@
<g id="edge32_Node000002_Node000028" class="edge">
<title>Node2->Node28</title>
<g id="a_edge32_Node000002_Node000028"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.03,-8179.48C273.82,-8181.8 290.78,-8187.66 302,-8200.5 400.7,-8313.44 238.56,-8762.21 338,-8874.5 347.12,-8884.8 359.9,-8890.55 373.33,-8893.55"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.95,-8175.96 246.65,-8178.47 256.26,-8182.93 256.95,-8175.96"/>
+<path fill="none" stroke="#63b8ff" d="M257.03,-8196.48C273.82,-8198.8 290.78,-8204.66 302,-8217.5 400.7,-8330.44 238.56,-8779.21 338,-8891.5 347.12,-8901.8 359.9,-8907.55 373.33,-8910.55"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.95,-8192.96 246.65,-8195.47 256.26,-8199.93 256.95,-8192.96"/>
</a>
</g>
</g>
@@ -2374,8 +2356,8 @@
<g id="Node000029" class="node">
<title>Node29</title>
<g id="a_Node000029"><a xlink:href="structtvm_1_1relax_1_1EinsumAttrs.html" target="_top" xlink:title="Attributes used in einsum operator.">
-<polygon fill="white" stroke="#666666" points="507,-8865 375,-8865 375,-8846 507,-8846 507,-8865"/>
-<text text-anchor="middle" x="441" y="-8853" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::EinsumAttrs</text>
+<polygon fill="white" stroke="#666666" points="507,-8882 375,-8882 375,-8863 507,-8863 507,-8882"/>
+<text text-anchor="middle" x="441" y="-8870" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::EinsumAttrs</text>
</a>
</g>
</g>
@@ -2383,8 +2365,8 @@
<g id="edge33_Node000002_Node000029" class="edge">
<title>Node2->Node29</title>
<g id="a_edge33_Node000002_Node000029"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.01,-8179.5C273.79,-8181.82 290.76,-8187.68 302,-8200.5 395.46,-8307.12 243.84,-8731.5 338,-8837.5 347.49,-8848.19 360.93,-8853.97 374.94,-8856.87"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.92,-8175.98 246.63,-8178.49 256.24,-8182.95 256.92,-8175.98"/>
+<path fill="none" stroke="#63b8ff" d="M257.01,-8196.5C273.79,-8198.82 290.76,-8204.68 302,-8217.5 395.46,-8324.12 243.84,-8748.5 338,-8854.5 347.49,-8865.19 360.93,-8870.97 374.94,-8873.87"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.92,-8192.98 246.63,-8195.49 256.24,-8199.95 256.92,-8192.98"/>
</a>
</g>
</g>
@@ -2392,8 +2374,8 @@
<g id="Node000030" class="node">
<title>Node30</title>
<g id="a_Node000030"><a xlink:href="structtvm_1_1relax_1_1ExpandDimsAttrs.html" target="_top" xlink:title="Attributes used in expand_dims operators.">
-<polygon fill="white" stroke="#666666" points="520,-8828 362,-8828 362,-8809 520,-8809 520,-8828"/>
-<text text-anchor="middle" x="441" y="-8816" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExpandDimsAttrs</text>
+<polygon fill="white" stroke="#666666" points="520,-8845 362,-8845 362,-8826 520,-8826 520,-8845"/>
+<text text-anchor="middle" x="441" y="-8833" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExpandDimsAttrs</text>
</a>
</g>
</g>
@@ -2401,8 +2383,8 @@
<g id="edge34_Node000002_Node000030" class="edge">
<title>Node2->Node30</title>
<g id="a_edge34_Node000002_Node000030"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.98,-8179.53C273.76,-8181.85 290.74,-8187.7 302,-8200.5 390.22,-8300.79 249.12,-8700.79 338,-8800.5 344.46,-8807.75 352.74,-8812.74 361.77,-8816.1"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8176 246.61,-8178.51 256.22,-8182.97 256.9,-8176"/>
+<path fill="none" stroke="#63b8ff" d="M256.98,-8196.53C273.76,-8198.85 290.74,-8204.7 302,-8217.5 390.22,-8317.79 249.12,-8717.79 338,-8817.5 344.46,-8824.75 352.74,-8829.74 361.77,-8833.1"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.9,-8193 246.61,-8195.51 256.22,-8199.97 256.9,-8193"/>
</a>
</g>
</g>
@@ -2410,8 +2392,8 @@
<g id="Node000031" class="node">
<title>Node31</title>
<g id="a_Node000031"><a xlink:href="structtvm_1_1relax_1_1FlipAttrs.html" target="_top" xlink:title="Attributes used in flip operators.">
-<polygon fill="white" stroke="#666666" points="498,-8791 384,-8791 384,-8772 498,-8772 498,-8791"/>
-<text text-anchor="middle" x="441" y="-8779" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
+<polygon fill="white" stroke="#666666" points="498,-8808 384,-8808 384,-8789 498,-8789 498,-8808"/>
+<text text-anchor="middle" x="441" y="-8796" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FlipAttrs</text>
</a>
</g>
</g>
@@ -2419,8 +2401,8 @@
<g id="edge35_Node000002_Node000031" class="edge">
<title>Node2->Node31</title>
<g id="a_edge35_Node000002_Node000031"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.95,-8179.55C273.73,-8181.88 290.71,-8187.72 302,-8200.5 384.85,-8294.3 254.98,-8668.85 338,-8762.5 349.53,-8775.51 366.86,-8781.41 383.98,-8783.71"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.87,-8176.03 246.58,-8178.53 256.19,-8183 256.87,-8176.03"/>
+<path fill="none" stroke="#63b8ff" d="M256.95,-8196.55C273.73,-8198.88 290.71,-8204.72 302,-8217.5 384.85,-8311.3 254.98,-8685.85 338,-8779.5 349.53,-8792.51 366.86,-8798.41 383.98,-8800.71"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.87,-8193.03 246.58,-8195.53 256.19,-8200 256.87,-8193.03"/>
</a>
</g>
</g>
@@ -2428,9 +2410,9 @@
<g id="Node000032" class="node">
<title>Node32</title>
<g id="a_Node000032"><a xlink:href="structtvm_1_1relax_1_1GatherElementsAttrs.html" target="_top" xlink:title="Attributes used in gather_elements operators.">
-<polygon fill="white" stroke="#666666" points="517,-8753.5 365,-8753.5 365,-8723.5 517,-8723.5 517,-8753.5"/>
-<text text-anchor="start" x="373" y="-8741.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherElements</text>
-<text text-anchor="middle" x="441" y="-8730.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="517,-8770.5 365,-8770.5 365,-8740.5 517,-8740.5 517,-8770.5"/>
+<text text-anchor="start" x="373" y="-8758.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherElements</text>
+<text text-anchor="middle" x="441" y="-8747.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2438,8 +2420,8 @@
<g id="edge36_Node000002_Node000032" class="edge">
<title>Node2->Node32</title>
<g id="a_edge36_Node000002_Node000032"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.91,-8179.59C273.68,-8181.92 290.68,-8187.76 302,-8200.5 378.06,-8286.09 263.81,-8627.28 338,-8714.5 345.13,-8722.88 354.59,-8728.65 364.87,-8732.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.83,-8176.07 246.54,-8178.57 256.15,-8183.03 256.83,-8176.07"/>
+<path fill="none" stroke="#63b8ff" d="M256.91,-8196.59C273.68,-8198.92 290.68,-8204.76 302,-8217.5 378.06,-8303.09 263.81,-8644.28 338,-8731.5 345.13,-8739.88 354.59,-8745.65 364.87,-8749.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.83,-8193.07 246.54,-8195.57 256.15,-8200.03 256.83,-8193.07"/>
</a>
</g>
</g>
@@ -2447,8 +2429,8 @@
<g id="Node000033" class="node">
<title>Node33</title>
<g id="a_Node000033"><a xlink:href="structtvm_1_1relax_1_1GatherNDAttrs.html" target="_top" xlink:title="Attributes used in gather_nd operators.">
-<polygon fill="white" stroke="#666666" points="513,-8705 369,-8705 369,-8686 513,-8686 513,-8705"/>
-<text text-anchor="middle" x="441" y="-8693" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherNDAttrs</text>
+<polygon fill="white" stroke="#666666" points="513,-8722 369,-8722 369,-8703 513,-8703 513,-8722"/>
+<text text-anchor="middle" x="441" y="-8710" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GatherNDAttrs</text>
</a>
</g>
</g>
@@ -2456,8 +2438,8 @@
<g id="edge37_Node000002_Node000033" class="edge">
<title>Node2->Node33</title>
<g id="a_edge37_Node000002_Node000033"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.86,-8179.63C273.64,-8181.96 290.64,-8187.79 302,-8200.5 372.68,-8279.6 267.17,-8597.53 338,-8676.5 346.18,-8685.62 357.21,-8691.23 369,-8694.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.8,-8176.11 246.5,-8178.6 256.11,-8183.07 256.8,-8176.11"/>
+<path fill="none" stroke="#63b8ff" d="M256.86,-8196.63C273.64,-8198.96 290.64,-8204.79 302,-8217.5 372.68,-8296.6 267.17,-8614.53 338,-8693.5 346.18,-8702.62 357.21,-8708.23 369,-8711.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.8,-8193.11 246.5,-8195.6 256.11,-8200.07 256.8,-8193.11"/>
</a>
</g>
</g>
@@ -2465,9 +2447,9 @@
<g id="Node000034" class="node">
<title>Node34</title>
<g id="a_Node000034"><a xlink:href="structtvm_1_1relax_1_1GetValidCountsAttrs.html" target="_top" xlink:title="Attributes used in GetValidCounts operator.">
-<polygon fill="white" stroke="#666666" points="515,-8667.5 367,-8667.5 367,-8637.5 515,-8637.5 515,-8667.5"/>
-<text text-anchor="start" x="375" y="-8655.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GetValidCounts</text>
-<text text-anchor="middle" x="441" y="-8644.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="515,-8684.5 367,-8684.5 367,-8654.5 515,-8654.5 515,-8684.5"/>
+<text text-anchor="start" x="375" y="-8672.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GetValidCounts</text>
+<text text-anchor="middle" x="441" y="-8661.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2475,8 +2457,8 @@
<g id="edge38_Node000002_Node000034" class="edge">
<title>Node2->Node34</title>
<g id="a_edge38_Node000002_Node000034"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.02,-8179.72C273.72,-8182.07 290.64,-8187.89 302,-8200.5 365.9,-8271.4 275.65,-8556.23 338,-8628.5 345.61,-8637.32 355.78,-8643.22 366.77,-8647.13"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257,-8176.2 246.7,-8178.67 256.29,-8183.16 257,-8176.2"/>
+<path fill="none" stroke="#63b8ff" d="M257.02,-8196.72C273.72,-8199.07 290.64,-8204.89 302,-8217.5 365.9,-8288.4 275.65,-8573.23 338,-8645.5 345.61,-8654.32 355.78,-8660.22 366.77,-8664.13"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257,-8193.2 246.7,-8195.67 256.29,-8200.16 257,-8193.2"/>
</a>
</g>
</g>
@@ -2484,8 +2466,8 @@
<g id="Node000035" class="node">
<title>Node35</title>
<g id="a_Node000035"><a xlink:href="structtvm_1_1relax_1_1GridSampleAttrs.html" target="_top" xlink:title="Attributes used in image grid_sample operator.">
-<polygon fill="white" stroke="#666666" points="517.5,-8619 364.5,-8619 364.5,-8600 517.5,-8600 517.5,-8619"/>
-<text text-anchor="middle" x="441" y="-8607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GridSampleAttrs</text>
+<polygon fill="white" stroke="#666666" points="517.5,-8636 364.5,-8636 364.5,-8617 517.5,-8617 517.5,-8636"/>
+<text text-anchor="middle" x="441" y="-8624" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GridSampleAttrs</text>
</a>
</g>
</g>
@@ -2493,8 +2475,8 @@
<g id="edge39_Node000002_Node000035" class="edge">
<title>Node2->Node35</title>
<g id="a_edge39_Node000002_Node000035"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.96,-8179.77C273.66,-8182.12 290.59,-8187.93 302,-8200.5 360.67,-8265.09 278.91,-8527.3 338,-8591.5 345.12,-8599.24 354.32,-8604.38 364.27,-8607.71"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.95,-8176.25 246.64,-8178.72 256.24,-8183.21 256.95,-8176.25"/>
+<path fill="none" stroke="#63b8ff" d="M256.96,-8196.77C273.66,-8199.12 290.59,-8204.93 302,-8217.5 360.67,-8282.09 278.91,-8544.3 338,-8608.5 345.12,-8616.24 354.32,-8621.38 364.27,-8624.71"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.95,-8193.25 246.64,-8195.72 256.24,-8200.21 256.95,-8193.25"/>
</a>
</g>
</g>
@@ -2502,8 +2484,8 @@
<g id="Node000036" class="node">
<title>Node36</title>
<g id="a_Node000036"><a xlink:href="structtvm_1_1relax_1_1GroupNormAttrs.html" target="_top" xlink:title="Attributes used in group_norm operator.">
-<polygon fill="white" stroke="#666666" points="517,-8582 365,-8582 365,-8563 517,-8563 517,-8582"/>
-<text text-anchor="middle" x="441" y="-8570" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GroupNormAttrs</text>
+<polygon fill="white" stroke="#666666" points="517,-8599 365,-8599 365,-8580 517,-8580 517,-8599"/>
+<text text-anchor="middle" x="441" y="-8587" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::GroupNormAttrs</text>
</a>
</g>
</g>
@@ -2511,8 +2493,8 @@
<g id="edge40_Node000002_Node000036" class="edge">
<title>Node2->Node36</title>
<g id="a_edge40_Node000002_Node000036"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.89,-8179.83C273.58,-8182.19 290.52,-8187.99 302,-8200.5 408.61,-8316.71 231.18,-8437.48 338,-8553.5 345.26,-8561.38 354.65,-8566.63 364.8,-8570.04"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.88,-8176.31 246.58,-8178.78 256.17,-8183.28 256.88,-8176.31"/>
+<path fill="none" stroke="#63b8ff" d="M256.89,-8196.83C273.58,-8199.19 290.52,-8204.99 302,-8217.5 408.61,-8333.71 231.18,-8454.48 338,-8570.5 345.26,-8578.38 354.65,-8583.63 364.8,-8587.04"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.88,-8193.31 246.58,-8195.78 256.17,-8200.28 256.88,-8193.31"/>
</a>
</g>
</g>
@@ -2520,9 +2502,9 @@
<g id="Node000037" class="node">
<title>Node37</title>
<g id="a_Node000037"><a xlink:href="structtvm_1_1relax_1_1HintOnDeviceAttrs.html" target="_top" xlink:title="Attributes used in hint_on_device.">
-<polygon fill="white" stroke="#666666" points="511,-8544.5 371,-8544.5 371,-8514.5 511,-8514.5 511,-8544.5"/>
-<text text-anchor="start" x="379" y="-8532.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::HintOnDevice</text>
-<text text-anchor="middle" x="441" y="-8521.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="511,-8561.5 371,-8561.5 371,-8531.5 511,-8531.5 511,-8561.5"/>
+<text text-anchor="start" x="379" y="-8549.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::HintOnDevice</text>
+<text text-anchor="middle" x="441" y="-8538.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2530,8 +2512,8 @@
<g id="edge41_Node000002_Node000037" class="edge">
<title>Node2->Node37</title>
<g id="a_edge41_Node000002_Node000037"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.99,-8179.97C273.6,-8182.36 290.48,-8188.14 302,-8200.5 395.07,-8300.35 247.12,-8403.66 338,-8505.5 346.66,-8515.2 358.44,-8521.36 370.92,-8525.19"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.04,-8176.46 246.73,-8178.9 256.31,-8183.42 257.04,-8176.46"/>
+<path fill="none" stroke="#63b8ff" d="M256.99,-8196.97C273.6,-8199.36 290.48,-8205.14 302,-8217.5 395.07,-8317.35 247.12,-8420.66 338,-8522.5 346.66,-8532.2 358.44,-8538.36 370.92,-8542.19"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.04,-8193.46 246.73,-8195.9 256.31,-8200.42 257.04,-8193.46"/>
</a>
</g>
</g>
@@ -2539,8 +2521,8 @@
<g id="Node000038" class="node">
<title>Node38</title>
<g id="a_Node000038"><a xlink:href="structtvm_1_1relax_1_1IndexPutAttrs.html" target="_top" xlink:title="Attributes used in index_put operator.">
-<polygon fill="white" stroke="#666666" points="510.5,-8496 371.5,-8496 371.5,-8477 510.5,-8477 510.5,-8496"/>
-<text text-anchor="middle" x="441" y="-8484" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IndexPutAttrs</text>
+<polygon fill="white" stroke="#666666" points="510.5,-8513 371.5,-8513 371.5,-8494 510.5,-8494 510.5,-8513"/>
+<text text-anchor="middle" x="441" y="-8501" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IndexPutAttrs</text>
</a>
</g>
</g>
@@ -2548,8 +2530,8 @@
<g id="edge42_Node000002_Node000038" class="edge">
<title>Node2->Node38</title>
<g id="a_edge42_Node000002_Node000038"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.87,-8180.08C273.48,-8182.47 290.38,-8188.23 302,-8200.5 384.65,-8287.75 254.79,-8381.79 338,-8468.5 346.9,-8477.78 358.79,-8483.28 371.3,-8486.38"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.93,-8176.57 246.62,-8179 256.19,-8183.53 256.93,-8176.57"/>
+<path fill="none" stroke="#63b8ff" d="M256.87,-8197.08C273.48,-8199.47 290.38,-8205.23 302,-8217.5 384.65,-8304.75 254.79,-8398.79 338,-8485.5 346.9,-8494.78 358.79,-8500.28 371.3,-8503.38"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.93,-8193.57 246.62,-8196 256.19,-8200.53 256.93,-8193.57"/>
</a>
</g>
</g>
@@ -2557,8 +2539,8 @@
<g id="Node000039" class="node">
<title>Node39</title>
<g id="a_Node000039"><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="#666666" points="497,-8459 385,-8459 385,-8440 497,-8440 497,-8459"/>
-<text text-anchor="middle" x="441" y="-8447" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
+<polygon fill="white" stroke="#666666" points="497,-8476 385,-8476 385,-8457 497,-8457 497,-8476"/>
+<text text-anchor="middle" x="441" y="-8464" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InitAttrs</text>
</a>
</g>
</g>
@@ -2566,8 +2548,8 @@
<g id="edge43_Node000002_Node000039" class="edge">
<title>Node2->Node39</title>
<g id="a_edge43_Node000002_Node000039"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.93,-8180.26C273.46,-8182.68 290.29,-8188.41 302,-8200.5 373.96,-8274.84 265.9,-8356.29 338,-8430.5 350.18,-8443.03 367.77,-8448.8 384.92,-8451.12"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8176.75 246.73,-8179.15 256.29,-8183.71 257.05,-8176.75"/>
+<path fill="none" stroke="#63b8ff" d="M256.93,-8197.26C273.46,-8199.68 290.29,-8205.41 302,-8217.5 373.96,-8291.84 265.9,-8373.29 338,-8447.5 350.18,-8460.03 367.77,-8465.8 384.92,-8468.12"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8193.75 246.73,-8196.15 256.29,-8200.71 257.05,-8193.75"/>
</a>
</g>
</g>
@@ -2575,9 +2557,9 @@
<g id="Node000040" class="node">
<title>Node40</title>
<g id="a_Node000040"><a xlink:href="structtvm_1_1relax_1_1InstanceNormAttrs.html" target="_top" xlink:title="Attributes used in instance_norm operator.">
-<polygon fill="white" stroke="#666666" points="511.5,-8421.5 370.5,-8421.5 370.5,-8391.5 511.5,-8391.5 511.5,-8421.5"/>
-<text text-anchor="start" x="378.5" y="-8409.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InstanceNorm</text>
-<text text-anchor="middle" x="441" y="-8398.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="511.5,-8438.5 370.5,-8438.5 370.5,-8408.5 511.5,-8408.5 511.5,-8438.5"/>
+<text text-anchor="start" x="378.5" y="-8426.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::InstanceNorm</text>
+<text text-anchor="middle" x="441" y="-8415.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2585,8 +2567,8 @@
<g id="edge44_Node000002_Node000040" class="edge">
<title>Node2->Node40</title>
<g id="a_edge44_Node000002_Node000040"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.86,-8180.57C273.31,-8183.03 290.11,-8188.7 302,-8200.5 360.52,-8258.59 280.75,-8323.16 338,-8382.5 346.78,-8391.6 358.31,-8397.53 370.45,-8401.33"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8177.07 246.72,-8179.43 256.26,-8184.03 257.05,-8177.07"/>
+<path fill="none" stroke="#63b8ff" d="M256.86,-8197.57C273.31,-8200.03 290.11,-8205.7 302,-8217.5 360.52,-8275.59 280.75,-8340.16 338,-8399.5 346.78,-8408.6 358.31,-8414.53 370.45,-8418.33"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8194.07 246.72,-8196.43 256.26,-8201.03 257.05,-8194.07"/>
</a>
</g>
</g>
@@ -2594,8 +2576,8 @@
<g id="Node000041" class="node">
<title>Node41</title>
<g id="a_Node000041"><a xlink:href="structtvm_1_1relax_1_1LayerNormAttrs.html" target="_top" xlink:title="Attributes used in layer_norm operator.">
-<polygon fill="white" stroke="#666666" points="516,-8373 366,-8373 366,-8354 516,-8354 516,-8373"/>
-<text text-anchor="middle" x="441" y="-8361" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayerNormAttrs</text>
+<polygon fill="white" stroke="#666666" points="516,-8390 366,-8390 366,-8371 516,-8371 516,-8390"/>
+<text text-anchor="middle" x="441" y="-8378" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayerNormAttrs</text>
</a>
</g>
</g>
@@ -2603,8 +2585,8 @@
<g id="edge45_Node000002_Node000041" class="edge">
<title>Node2->Node41</title>
<g id="a_edge45_Node000002_Node000041"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.73,-8180.96C273.09,-8183.46 289.87,-8189.05 302,-8200.5 349.96,-8245.79 289.96,-8299.29 338,-8344.5 345.81,-8351.84 355.49,-8356.8 365.77,-8360.08"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.99,-8177.47 246.65,-8179.79 256.18,-8184.42 256.99,-8177.47"/>
+<path fill="none" stroke="#63b8ff" d="M256.73,-8197.96C273.09,-8200.46 289.87,-8206.05 302,-8217.5 349.96,-8262.79 289.96,-8316.29 338,-8361.5 345.81,-8368.84 355.49,-8373.8 365.77,-8377.08"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.99,-8194.47 246.65,-8196.79 256.18,-8201.42 256.99,-8194.47"/>
</a>
</g>
</g>
@@ -2612,9 +2594,9 @@
<g id="Node000042" class="node">
<title>Node42</title>
<g id="a_Node000042"><a xlink:href="structtvm_1_1relax_1_1LayoutTransformAttrs.html" target="_top" xlink:title="Attributes used in layout_transform operator.">
-<polygon fill="white" stroke="#666666" points="518.5,-8335.5 363.5,-8335.5 363.5,-8305.5 518.5,-8305.5 518.5,-8335.5"/>
-<text text-anchor="start" x="371.5" y="-8323.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayoutTransform</text>
-<text text-anchor="middle" x="441" y="-8312.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="518.5,-8352.5 363.5,-8352.5 363.5,-8322.5 518.5,-8322.5 518.5,-8352.5"/>
+<text text-anchor="start" x="371.5" y="-8340.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LayoutTransform</text>
+<text text-anchor="middle" x="441" y="-8329.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2622,8 +2604,8 @@
<g id="edge46_Node000002_Node000042" class="edge">
<title>Node2->Node42</title>
<g id="a_edge46_Node000002_Node000042"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.08,-8181.98C273.05,-8184.6 289.53,-8190 302,-8200.5 336.86,-8229.85 303.79,-8266.4 338,-8296.5 345.38,-8302.99 354.18,-8307.81 363.48,-8311.37"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.07,-8178.45 246.7,-8180.65 256.17,-8185.4 257.07,-8178.45"/>
+<path fill="none" stroke="#63b8ff" d="M257.08,-8198.98C273.05,-8201.6 289.53,-8207 302,-8217.5 336.86,-8246.85 303.79,-8283.4 338,-8313.5 345.38,-8319.99 354.18,-8324.81 363.48,-8328.37"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.07,-8195.45 246.7,-8197.65 256.17,-8202.4 257.07,-8195.45"/>
</a>
</g>
</g>
@@ -2631,8 +2613,8 @@
<g id="Node000043" class="node">
<title>Node43</title>
<g id="a_Node000043"><a xlink:href="structtvm_1_1relax_1_1LeakyReluAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
-<polygon fill="white" stroke="#666666" points="514,-8287 368,-8287 368,-8268 514,-8268 514,-8287"/>
-<text text-anchor="middle" x="441" y="-8275" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeakyReluAttrs</text>
+<polygon fill="white" stroke="#666666" points="514,-8304 368,-8304 368,-8285 514,-8285 514,-8304"/>
+<text text-anchor="middle" x="441" y="-8292" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::LeakyReluAttrs</text>
</a>
</g>
</g>
@@ -2640,8 +2622,8 @@
<g id="edge47_Node000002_Node000043" class="edge">
<title>Node2->Node43</title>
<g id="a_edge47_Node000002_Node000043"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.78,-8183.63C272.45,-8186.34 288.83,-8191.38 302,-8200.5 327.26,-8217.98 312.63,-8242.19 338,-8259.5 346.91,-8265.58 357.25,-8269.8 367.85,-8272.7"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.03,-8180.13 246.63,-8182.17 256.03,-8187.06 257.03,-8180.13"/>
+<path fill="none" stroke="#63b8ff" d="M256.78,-8200.63C272.45,-8203.34 288.83,-8208.38 302,-8217.5 327.26,-8234.98 312.63,-8259.19 338,-8276.5 346.91,-8282.58 357.25,-8286.8 367.85,-8289.7"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.03,-8197.13 246.63,-8199.17 256.03,-8204.06 257.03,-8197.13"/>
</a>
</g>
</g>
@@ -2649,8 +2631,8 @@
<g id="Node000044" class="node">
<title>Node44</title>
<g id="a_Node000044"><a xlink:href="structtvm_1_1relax_1_1MatmulAttrs.html" target="_top" xlink:title="Attributes for matmul operator.">
-<polygon fill="white" stroke="#666666" points="508,-8250 374,-8250 374,-8231 508,-8231 508,-8250"/>
-<text text-anchor="middle" x="441" y="-8238" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatmulAttrs</text>
+<polygon fill="white" stroke="#666666" points="508,-8267 374,-8267 374,-8248 508,-8248 508,-8267"/>
+<text text-anchor="middle" x="441" y="-8255" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatmulAttrs</text>
</a>
</g>
</g>
@@ -2658,8 +2640,8 @@
<g id="edge48_Node000002_Node000044" class="edge">
<title>Node2->Node44</title>
<g id="a_edge48_Node000002_Node000044"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.9,-8188.26C271.84,-8191.08 287.8,-8195.02 302,-8200.5 319.49,-8207.25 320.46,-8215.87 338,-8222.5 349.27,-8226.76 361.63,-8230.03 373.73,-8232.52"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.22,-8184.76 246.76,-8186.48 256.01,-8191.66 257.22,-8184.76"/>
+<path fill="none" stroke="#63b8ff" d="M256.9,-8205.26C271.84,-8208.08 287.8,-8212.02 302,-8217.5 319.49,-8224.25 320.46,-8232.87 338,-8239.5 349.27,-8243.76 361.63,-8247.03 373.73,-8249.52"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.22,-8201.76 246.76,-8203.48 256.01,-8208.66 257.22,-8201.76"/>
</a>
</g>
</g>
@@ -2667,8 +2649,8 @@
<g id="Node000045" class="node">
<title>Node45</title>
<g id="a_Node000045"><a xlink:href="structtvm_1_1relax_1_1MeshgridAttrs.html" target="_top" xlink:title="Attribute used in meshgrid operator.">
-<polygon fill="white" stroke="#666666" points="511.5,-8213 370.5,-8213 370.5,-8194 511.5,-8194 511.5,-8213"/>
-<text text-anchor="middle" x="441" y="-8201" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MeshgridAttrs</text>
+<polygon fill="white" stroke="#666666" points="511.5,-8230 370.5,-8230 370.5,-8211 511.5,-8211 511.5,-8230"/>
+<text text-anchor="middle" x="441" y="-8218" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MeshgridAttrs</text>
</a>
</g>
</g>
@@ -2676,8 +2658,8 @@
<g id="edge49_Node000002_Node000045" class="edge">
<title>Node2->Node45</title>
<g id="a_edge49_Node000002_Node000045"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.89,-8186.57C290.58,-8189.69 334.04,-8193.71 370.17,-8197.04"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8183.07 246.77,-8185.64 256.4,-8190.04 257.05,-8183.07"/>
+<path fill="none" stroke="#63b8ff" d="M256.89,-8203.57C290.58,-8206.69 334.04,-8210.71 370.17,-8214.04"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.05,-8200.07 246.77,-8202.64 256.4,-8207.04 257.05,-8200.07"/>
</a>
</g>
</g>
@@ -2685,9 +2667,9 @@
<g id="Node000046" class="node">
<title>Node46</title>
<g id="a_Node000046"><a xlink:href="structtvm_1_1relax_1_1MultiboxTransformLocAttrs.html" target="_top" xlink:title="Attributes for multibox_transform_loc (SSD / TFLite-style box decode).">
-<polygon fill="white" stroke="#666666" points="523,-8175.5 359,-8175.5 359,-8145.5 523,-8145.5 523,-8175.5"/>
-<text text-anchor="start" x="367" y="-8163.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultiboxTransform</text>
-<text text-anchor="middle" x="441" y="-8152.5" font-family="Helvetica,sans-Serif" font-size="10.00">LocAttrs</text>
+<polygon fill="white" stroke="#666666" points="523,-8192.5 359,-8192.5 359,-8162.5 523,-8162.5 523,-8192.5"/>
+<text text-anchor="start" x="367" y="-8180.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultiboxTransform</text>
+<text text-anchor="middle" x="441" y="-8169.5" font-family="Helvetica,sans-Serif" font-size="10.00">LocAttrs</text>
</a>
</g>
</g>
@@ -2695,8 +2677,8 @@
<g id="edge50_Node000002_Node000046" class="edge">
<title>Node2->Node46</title>
<g id="a_edge50_Node000002_Node000046"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.1,-8176.64C287.3,-8173.97 325.3,-8170.62 358.83,-8167.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.42,-8173.18 246.77,-8177.55 257.03,-8180.16 256.42,-8173.18"/>
+<path fill="none" stroke="#63b8ff" d="M257.1,-8193.64C287.3,-8190.97 325.3,-8187.62 358.83,-8184.66"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.42,-8190.18 246.77,-8194.55 257.03,-8197.16 256.42,-8190.18"/>
</a>
</g>
</g>
@@ -2704,9 +2686,9 @@
<g id="Node000047" class="node">
<title>Node47</title>
<g id="a_Node000047"><a xlink:href="structtvm_1_1relax_1_1MultinomialFromUniformAttrs.html" target="_top" xlink:title="Attributes used in multinomial_from_uniform operator.">
-<polygon fill="white" stroke="#666666" points="519,-8127.5 363,-8127.5 363,-8097.5 519,-8097.5 519,-8127.5"/>
-<text text-anchor="start" x="371" y="-8115.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultinomialFrom</text>
-<text text-anchor="middle" x="441" y="-8104.5" font-family="Helvetica,sans-Serif" font-size="10.00">UniformAttrs</text>
+<polygon fill="white" stroke="#666666" points="519,-8144.5 363,-8144.5 363,-8114.5 519,-8114.5 519,-8144.5"/>
+<text text-anchor="start" x="371" y="-8132.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MultinomialFrom</text>
+<text text-anchor="middle" x="441" y="-8121.5" font-family="Helvetica,sans-Serif" font-size="10.00">UniformAttrs</text>
</a>
</g>
</g>
@@ -2714,8 +2696,8 @@
<g id="edge51_Node000002_Node000047" class="edge">
<title>Node2->Node47</title>
<g id="a_edge51_Node000002_Node000047"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M238.13,-8168.58C265.38,-8159.07 303.79,-8146.16 338,-8136.5 349.03,-8133.38 360.81,-8130.35 372.3,-8127.54"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="236.9,-8165.3 228.62,-8171.92 239.22,-8171.9 236.9,-8165.3"/>
+<path fill="none" stroke="#63b8ff" d="M238.13,-8185.58C265.38,-8176.07 303.79,-8163.16 338,-8153.5 349.03,-8150.38 360.81,-8147.35 372.3,-8144.54"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="236.9,-8182.3 228.62,-8188.92 239.22,-8188.9 236.9,-8182.3"/>
</a>
</g>
</g>
@@ -2723,8 +2705,8 @@
<g id="Node000048" class="node">
<title>Node48</title>
<g id="a_Node000048"><a xlink:href="structtvm_1_1relax_1_1NLLLossAttrs.html" target="_top" xlink:title="Attributes used in nll_loss operator.">
-<polygon fill="white" stroke="#666666" points="509,-8079 373,-8079 373,-8060 509,-8060 509,-8079"/>
-<text text-anchor="middle" x="441" y="-8067" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NLLLossAttrs</text>
+<polygon fill="white" stroke="#666666" points="509,-8096 373,-8096 373,-8077 509,-8077 509,-8096"/>
+<text text-anchor="middle" x="441" y="-8084" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NLLLossAttrs</text>
</a>
</g>
</g>
@@ -2732,8 +2714,8 @@
<g id="edge52_Node000002_Node000048" class="edge">
<title>Node2->Node48</title>
<g id="a_edge52_Node000002_Node000048"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M220.58,-8165C245.47,-8143.82 291.89,-8107.56 338,-8088.5 348.99,-8083.96 361.09,-8080.5 373,-8077.86"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="217.98,-8162.62 212.71,-8171.8 222.56,-8167.91 217.98,-8162.62"/>
+<path fill="none" stroke="#63b8ff" d="M220.58,-8182C245.47,-8160.82 291.89,-8124.56 338,-8105.5 348.99,-8100.96 361.09,-8097.5 373,-8094.86"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="217.98,-8179.62 212.71,-8188.8 222.56,-8184.91 217.98,-8179.62"/>
</a>
</g>
</g>
@@ -2741,9 +2723,9 @@
<g id="Node000049" class="node">
<title>Node49</title>
<g id="a_Node000049"><a xlink:href="structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html" target="_top" xlink:title="Attributes used in NonMaximumSuppression operator.">
-<polygon fill="white" stroke="#666666" points="541.5,-8041.5 340.5,-8041.5 340.5,-8011.5 541.5,-8011.5 541.5,-8041.5"/>
-<text text-anchor="start" x="348.5" y="-8029.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NonMaximumSuppression</text>
-<text text-anchor="middle" x="441" y="-8018.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="541.5,-8058.5 340.5,-8058.5 340.5,-8028.5 541.5,-8028.5 541.5,-8058.5"/>
+<text text-anchor="start" x="348.5" y="-8046.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::NonMaximumSuppression</text>
+<text text-anchor="middle" x="441" y="-8035.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2751,8 +2733,8 @@
<g id="edge53_Node000002_Node000049" class="edge">
<title>Node2->Node49</title>
<g id="a_edge53_Node000002_Node000049"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M215.36,-8163.74C237.6,-8135.49 285.02,-8080.55 338,-8051.5 345.11,-8047.6 352.84,-8044.3 360.74,-8041.51"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="212.4,-8161.86 209.05,-8171.91 217.94,-8166.14 212.4,-8161.86"/>
+<path fill="none" stroke="#63b8ff" d="M215.36,-8180.74C237.6,-8152.49 285.02,-8097.55 338,-8068.5 345.11,-8064.6 352.84,-8061.3 360.74,-8058.51"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="212.4,-8178.86 209.05,-8188.91 217.94,-8183.14 212.4,-8178.86"/>
</a>
</g>
</g>
@@ -2760,8 +2742,8 @@
<g id="Node000050" class="node">
<title>Node50</title>
<g id="a_Node000050"><a xlink:href="structtvm_1_1relax_1_1OneHotAttrs.html" target="_top" xlink:title="Attributes used in one_hot operator.">
-<polygon fill="white" stroke="#666666" points="507.5,-7993 374.5,-7993 374.5,-7974 507.5,-7974 507.5,-7993"/>
-<text text-anchor="middle" x="441" y="-7981" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::OneHotAttrs</text>
+<polygon fill="white" stroke="#666666" points="507.5,-8010 374.5,-8010 374.5,-7991 507.5,-7991 507.5,-8010"/>
+<text text-anchor="middle" x="441" y="-7998" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::OneHotAttrs</text>
</a>
</g>
</g>
@@ -2769,8 +2751,8 @@
<g id="edge54_Node000002_Node000050" class="edge">
<title>Node2->Node50</title>
<g id="a_edge54_Node000002_Node000050"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M210.54,-8162.48C228.36,-8125.14 273.32,-8042.39 338,-8002.5 348.89,-7995.79 361.58,-7991.34 374.24,-7988.41"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="207.27,-8161.2 206.23,-8171.74 213.62,-8164.15 207.27,-8161.2"/>
+<path fill="none" stroke="#63b8ff" d="M210.54,-8179.48C228.36,-8142.14 273.32,-8059.39 338,-8019.5 348.89,-8012.79 361.58,-8008.34 374.24,-8005.41"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="207.27,-8178.2 206.23,-8188.74 213.62,-8181.15 207.27,-8178.2"/>
</a>
</g>
</g>
@@ -2778,8 +2760,8 @@
<g id="Node000051" class="node">
<title>Node51</title>
<g id="a_Node000051"><a xlink:href="structtvm_1_1relax_1_1PReluAttrs.html" target="_top" xlink:title="Attributes used in PReLU operator.">
-<polygon fill="white" stroke="#666666" points="503,-7956 379,-7956 379,-7937 503,-7937 503,-7956"/>
-<text text-anchor="middle" x="441" y="-7944" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PReluAttrs</text>
+<polygon fill="white" stroke="#666666" points="503,-7973 379,-7973 379,-7954 503,-7954 503,-7973"/>
+<text text-anchor="middle" x="441" y="-7961" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PReluAttrs</text>
</a>
</g>
</g>
@@ -2787,8 +2769,8 @@
<g id="edge55_Node000002_Node000051" class="edge">
<title>Node2->Node51</title>
<g id="a_edge55_Node000002_Node000051"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M208.14,-8162.19C222.89,-8119.17 264.66,-8015.3 338,-7965.5 350,-7957.35 364.53,-7952.45 378.83,-7949.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="204.8,-8161.16 204.97,-8171.75 211.44,-8163.36 204.8,-8161.16"/>
+<path fill="none" stroke="#63b8ff" d="M208.14,-8179.19C222.89,-8136.17 264.66,-8032.3 338,-7982.5 350,-7974.35 364.53,-7969.45 378.83,-7966.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="204.8,-8178.16 204.97,-8188.75 211.44,-8180.36 204.8,-8178.16"/>
</a>
</g>
</g>
@@ -2796,8 +2778,8 @@
<g id="Node000052" class="node">
<title>Node52</title>
<g id="a_Node000052"><a xlink:href="structtvm_1_1relax_1_1PadAttrs.html" target="_top" xlink:title="Attributes used for the padding operator.">
-<polygon fill="white" stroke="#666666" points="497.5,-7919 384.5,-7919 384.5,-7900 497.5,-7900 497.5,-7919"/>
-<text text-anchor="middle" x="441" y="-7907" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PadAttrs</text>
+<polygon fill="white" stroke="#666666" points="497.5,-7936 384.5,-7936 384.5,-7917 497.5,-7917 497.5,-7936"/>
+<text text-anchor="middle" x="441" y="-7924" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PadAttrs</text>
</a>
</g>
</g>
@@ -2805,8 +2787,8 @@
<g id="edge56_Node000002_Node000052" class="edge">
<title>Node2->Node52</title>
<g id="a_edge56_Node000002_Node000052"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M206.29,-8162.25C218.06,-8114.23 255.62,-7988.67 338,-7928.5 351.31,-7918.78 368.14,-7913.58 384.26,-7910.91"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="202.88,-8161.46 204,-8172 209.69,-8163.06 202.88,-8161.46"/>
+<path fill="none" stroke="#63b8ff" d="M206.29,-8179.25C218.06,-8131.23 255.62,-8005.67 338,-7945.5 351.31,-7935.78 368.14,-7930.58 384.26,-7927.91"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="202.88,-8178.46 204,-8189 209.69,-8180.06 202.88,-8178.46"/>
</a>
</g>
</g>
@@ -2814,8 +2796,8 @@
<g id="Node000053" class="node">
<title>Node53</title>
<g id="a_Node000053"><a xlink:href="structtvm_1_1relax_1_1PermuteDimsAttrs.html" target="_top" xlink:title="Attributes used in permute_dims operator.">
-<polygon fill="white" stroke="#666666" points="522.5,-7882 359.5,-7882 359.5,-7863 522.5,-7863 522.5,-7882"/>
-<text text-anchor="middle" x="441" y="-7870" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PermuteDimsAttrs</text>
+<polygon fill="white" stroke="#666666" points="522.5,-7899 359.5,-7899 359.5,-7880 522.5,-7880 522.5,-7899"/>
+<text text-anchor="middle" x="441" y="-7887" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PermuteDimsAttrs</text>
</a>
</g>
</g>
@@ -2823,8 +2805,8 @@
<g id="edge57_Node000002_Node000053" class="edge">
<title>Node2->Node53</title>
<g id="a_edge57_Node000002_Node000053"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.99,-8161.66C214.13,-8108.47 246.81,-7962.01 338,-7891.5 344.41,-7886.54 351.72,-7882.74 359.42,-7879.84"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="201.5,-8161.36 203.35,-8171.79 208.41,-8162.48 201.5,-8161.36"/>
+<path fill="none" stroke="#63b8ff" d="M204.99,-8178.66C214.13,-8125.47 246.81,-7979.01 338,-7908.5 344.41,-7903.54 351.72,-7899.74 359.42,-7896.84"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="201.5,-8178.36 203.35,-8188.79 208.41,-8179.48 201.5,-8178.36"/>
</a>
</g>
</g>
@@ -2832,9 +2814,9 @@
<g id="Node000054" class="node">
<title>Node54</title>
<g id="a_Node000054"><a xlink:href="structtvm_1_1relax_1_1PixelShuffleAttrs.html" target="_top" xlink:title="Attributes used for the pixel shuffle operator.">
-<polygon fill="white" stroke="#666666" points="506,-7844.5 376,-7844.5 376,-7814.5 506,-7814.5 506,-7844.5"/>
-<text text-anchor="start" x="384" y="-7832.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PixelShuffle</text>
-<text text-anchor="middle" x="441" y="-7821.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="506,-7861.5 376,-7861.5 376,-7831.5 506,-7831.5 506,-7861.5"/>
+<text text-anchor="start" x="384" y="-7849.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PixelShuffle</text>
+<text text-anchor="middle" x="441" y="-7838.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -2842,8 +2824,8 @@
<g id="edge58_Node000002_Node000054" class="edge">
<title>Node2->Node54</title>
<g id="a_edge58_Node000002_Node000054"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.1,-8161.78C211.24,-8104.78 239.94,-7938.53 338,-7854.5 348.66,-7845.36 362.14,-7839.46 375.77,-7835.68"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.59,-8161.61 202.91,-8171.95 207.55,-8162.42 200.59,-8161.61"/>
+<path fill="none" stroke="#63b8ff" d="M204.1,-8178.78C211.24,-8121.78 239.94,-7955.53 338,-7871.5 348.66,-7862.36 362.14,-7856.46 375.77,-7852.68"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.59,-8178.61 202.91,-8188.95 207.55,-8179.42 200.59,-8178.61"/>
</a>
</g>
</g>
@@ -2851,8 +2833,8 @@
<g id="Node000055" class="node">
<title>Node55</title>
<g id="a_Node000055"><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="#666666" points="506.5,-7796 375.5,-7796 375.5,-7777 506.5,-7777 506.5,-7796"/>
-<text text-anchor="middle" x="441" y="-7784" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool1DAttrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-7813 375.5,-7813 375.5,-7794 506.5,-7794 506.5,-7813"/>
+<text text-anchor="middle" x="441" y="-7801" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool1DAttrs</text>
</a>
</g>
</g>
@@ -2860,8 +2842,8 @@
<g id="edge59_Node000002_Node000055" class="edge">
<title>Node2->Node55</title>
<g id="a_edge59_Node000002_Node000055"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.67,-8161.54C205.95,-8098.37 225.17,-7901.3 338,-7805.5 348.5,-7796.58 361.84,-7791.3 375.37,-7788.27"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.17,-8161.58 202.23,-8171.73 206.16,-8161.89 199.17,-8161.58"/>
+<path fill="none" stroke="#63b8ff" d="M202.67,-8178.54C205.95,-8115.37 225.17,-7918.3 338,-7822.5 348.5,-7813.58 361.84,-7808.3 375.37,-7805.27"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.17,-8178.58 202.23,-8188.73 206.16,-8178.89 199.17,-8178.58"/>
</a>
</g>
</g>
@@ -2869,8 +2851,8 @@
<g id="Node000056" class="node">
<title>Node56</title>
<g id="a_Node000056"><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="#666666" points="506.5,-7759 375.5,-7759 375.5,-7740 506.5,-7740 506.5,-7759"/>
-<text text-anchor="middle" x="441" y="-7747" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool2DAttrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-7776 375.5,-7776 375.5,-7757 506.5,-7757 506.5,-7776"/>
+<text text-anchor="middle" x="441" y="-7764" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool2DAttrs</text>
</a>
</g>
</g>
@@ -2878,8 +2860,8 @@
<g id="edge60_Node000002_Node000056" class="edge">
<title>Node2->Node56</title>
<g id="a_edge60_Node000002_Node000056"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M201.94,-8161.41C202.93,-8094.2 215.76,-7875.37 338,-7768.5 348.44,-7759.37 361.83,-7754.01 375.45,-7750.99"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.44,-8161.8 201.87,-8171.82 205.44,-8161.85 198.44,-8161.8"/>
+<path fill="none" stroke="#63b8ff" d="M201.94,-8178.41C202.93,-8111.2 215.76,-7892.37 338,-7785.5 348.44,-7776.37 361.83,-7771.01 375.45,-7767.99"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.44,-8178.8 201.87,-8188.82 205.44,-8178.85 198.44,-8178.8"/>
</a>
</g>
</g>
@@ -2887,8 +2869,8 @@
<g id="Node000057" class="node">
<title>Node57</title>
<g id="a_Node000057"><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="#666666" points="506.5,-7722 375.5,-7722 375.5,-7703 506.5,-7703 506.5,-7722"/>
-<text text-anchor="middle" x="441" y="-7710" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool3DAttrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-7739 375.5,-7739 375.5,-7720 506.5,-7720 506.5,-7739"/>
+<text text-anchor="middle" x="441" y="-7727" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Pool3DAttrs</text>
</a>
</g>
</g>
@@ -2896,8 +2878,8 @@
<g id="edge61_Node000002_Node000057" class="edge">
<title>Node2->Node57</title>
<g id="a_edge61_Node000002_Node000057"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M201.32,-8161.51C200.1,-8090.68 206.16,-7849.66 338,-7731.5 348.33,-7722.24 361.67,-7716.84 375.28,-7713.8"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="197.83,-8161.79 201.57,-8171.7 204.83,-8161.62 197.83,-8161.79"/>
+<path fill="none" stroke="#63b8ff" d="M201.32,-8178.51C200.1,-8107.68 206.16,-7866.66 338,-7748.5 348.33,-7739.24 361.67,-7733.84 375.28,-7730.8"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="197.83,-8178.79 201.57,-8188.7 204.83,-8178.62 197.83,-8178.79"/>
</a>
</g>
</g>
@@ -2905,8 +2887,8 @@
<g id="Node000058" class="node">
<title>Node58</title>
<g id="a_Node000058"><a xlink:href="structtvm_1_1relax_1_1QuantizeAttrs.html" target="_top" xlink:title="Attributes for relax.quantize/relax.dequantize operator.">
-<polygon fill="white" stroke="#666666" points="511,-7685 371,-7685 371,-7666 511,-7666 511,-7685"/>
-<text text-anchor="middle" x="441" y="-7673" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::QuantizeAttrs</text>
+<polygon fill="white" stroke="#666666" points="511,-7702 371,-7702 371,-7683 511,-7683 511,-7702"/>
+<text text-anchor="middle" x="441" y="-7690" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::QuantizeAttrs</text>
</a>
</g>
</g>
@@ -2914,8 +2896,8 @@
<g id="edge62_Node000002_Node000058" class="edge">
<title>Node2->Node58</title>
<g id="a_edge62_Node000002_Node000058"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.75,-8161.56C216.61,-8078.37 266.11,-7760.31 338,-7694.5 347.17,-7686.11 358.8,-7680.86 370.91,-7677.67"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="201.25,-8161.29 203.32,-8171.68 208.18,-8162.27 201.25,-8161.29"/>
+<path fill="none" stroke="#63b8ff" d="M204.75,-8178.56C216.61,-8095.37 266.11,-7777.31 338,-7711.5 347.17,-7703.11 358.8,-7697.86 370.91,-7694.67"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="201.25,-8178.29 203.32,-8188.68 208.18,-8179.27 201.25,-8178.29"/>
</a>
</g>
</g>
@@ -2923,8 +2905,8 @@
<g id="Node000059" class="node">
<title>Node59</title>
<g id="a_Node000059"><a xlink:href="structtvm_1_1relax_1_1RMSNormAttrs.html" target="_top" xlink:title="Attributes used in rms_norm operator.">
-<polygon fill="white" stroke="#666666" points="513.5,-7648 368.5,-7648 368.5,-7629 513.5,-7629 513.5,-7648"/>
-<text text-anchor="middle" x="441" y="-7636" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RMSNormAttrs</text>
+<polygon fill="white" stroke="#666666" points="513.5,-7665 368.5,-7665 368.5,-7646 513.5,-7646 513.5,-7665"/>
+<text text-anchor="middle" x="441" y="-7653" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RMSNormAttrs</text>
</a>
</g>
</g>
@@ -2932,8 +2914,8 @@
<g id="edge63_Node000002_Node000059" class="edge">
<title>Node2->Node59</title>
<g id="a_edge63_Node000002_Node000059"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.31,-8161.73C214.85,-8074.98 261.2,-7729.12 338,-7657.5 346.5,-7649.58 357.19,-7644.44 368.43,-7641.19"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.82,-8161.46 203.11,-8171.8 207.77,-8162.29 200.82,-8161.46"/>
+<path fill="none" stroke="#63b8ff" d="M204.31,-8178.73C214.85,-8091.98 261.2,-7746.12 338,-7674.5 346.5,-7666.58 357.19,-7661.44 368.43,-7658.19"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.82,-8178.46 203.11,-8188.8 207.77,-8179.29 200.82,-8178.46"/>
</a>
</g>
</g>
@@ -2941,8 +2923,8 @@
<g id="Node000060" class="node">
<title>Node60</title>
<g id="a_Node000060"><a xlink:href="structtvm_1_1relax_1_1ROIAlignAttrs.html" target="_top" xlink:title="Attributes used in ROIAlign operator.">
-<polygon fill="white" stroke="#666666" points="510,-7611 372,-7611 372,-7592 510,-7592 510,-7611"/>
-<text text-anchor="middle" x="441" y="-7599" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ROIAlignAttrs</text>
+<polygon fill="white" stroke="#666666" points="510,-7628 372,-7628 372,-7609 510,-7609 510,-7628"/>
+<text text-anchor="middle" x="441" y="-7616" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ROIAlignAttrs</text>
</a>
</g>
</g>
@@ -2950,8 +2932,8 @@
<g id="edge64_Node000002_Node000060" class="edge">
<title>Node2->Node60</title>
<g id="a_edge64_Node000002_Node000060"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.97,-8161.51C213.35,-8070.65 256.38,-7697.85 338,-7620.5 347.35,-7611.64 359.43,-7606.25 371.99,-7603.08"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.48,-8161.27 202.95,-8171.57 207.44,-8161.97 200.48,-8161.27"/>
+<path fill="none" stroke="#63b8ff" d="M203.97,-8178.51C213.35,-8087.65 256.38,-7714.85 338,-7637.5 347.35,-7628.64 359.43,-7623.25 371.99,-7620.08"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.48,-8178.27 202.95,-8188.57 207.44,-8178.97 200.48,-8178.27"/>
</a>
</g>
</g>
@@ -2959,8 +2941,8 @@
<g id="Node000061" class="node">
<title>Node61</title>
<g id="a_Node000061"><a xlink:href="structtvm_1_1relax_1_1ROIPoolAttrs.html" target="_top" xlink:title="Attributes used in ROIPool operator.">
-<polygon fill="white" stroke="#666666" points="508,-7574 374,-7574 374,-7555 508,-7555 508,-7574"/>
-<text text-anchor="middle" x="441" y="-7562" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ROIPoolAttrs</text>
+<polygon fill="white" stroke="#666666" points="508,-7591 374,-7591 374,-7572 508,-7572 508,-7591"/>
+<text text-anchor="middle" x="441" y="-7579" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ROIPoolAttrs</text>
</a>
</g>
</g>
@@ -2968,8 +2950,8 @@
<g id="edge65_Node000002_Node000061" class="edge">
<title>Node2->Node61</title>
<g id="a_edge65_Node000002_Node000061"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.64,-8161.71C211.82,-8067.64 251.42,-7666.73 338,-7583.5 347.74,-7574.14 360.53,-7568.63 373.74,-7565.52"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.14,-8161.58 202.77,-8171.84 207.11,-8162.17 200.14,-8161.58"/>
+<path fill="none" stroke="#63b8ff" d="M203.64,-8178.71C211.82,-8084.64 251.42,-7683.73 338,-7600.5 347.74,-7591.14 360.53,-7585.63 373.74,-7582.52"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.14,-8178.58 202.77,-8188.84 207.11,-8179.17 200.14,-8178.58"/>
</a>
</g>
</g>
@@ -2977,8 +2959,8 @@
<g id="Node000062" class="node">
<title>Node62</title>
<g id="a_Node000062"><a xlink:href="structtvm_1_1relax_1_1RepeatAttrs.html" target="_top" xlink:title="Attributes used in repeat operators.">
-<polygon fill="white" stroke="#666666" points="506.5,-7537 375.5,-7537 375.5,-7518 506.5,-7518 506.5,-7537"/>
-<text text-anchor="middle" x="441" y="-7525" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RepeatAttrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-7554 375.5,-7554 375.5,-7535 506.5,-7535 506.5,-7554"/>
+<text text-anchor="middle" x="441" y="-7542" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::RepeatAttrs</text>
</a>
</g>
</g>
@@ -2986,8 +2968,8 @@
<g id="edge66_Node000002_Node000062" class="edge">
<title>Node2->Node62</title>
<g id="a_edge66_Node000002_Node000062"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.35,-8161.73C210.44,-8064.23 246.5,-7635.58 338,-7546.5 348.07,-7536.7 361.47,-7531.11 375.24,-7528.07"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.86,-8161.5 202.65,-8171.72 206.84,-8161.99 199.86,-8161.5"/>
+<path fill="none" stroke="#63b8ff" d="M203.35,-8178.73C210.44,-8081.23 246.5,-7652.58 338,-7563.5 348.07,-7553.7 361.47,-7548.11 375.24,-7545.07"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.86,-8178.5 202.65,-8188.72 206.84,-8178.99 199.86,-8178.5"/>
</a>
</g>
</g>
@@ -2995,8 +2977,8 @@
<g id="Node000063" class="node">
<title>Node63</title>
<g id="a_Node000063"><a xlink:href="structtvm_1_1relax_1_1Resize2DAttrs.html" target="_top" xlink:title="Attributes used in image resize2d operator.">
-<polygon fill="white" stroke="#666666" points="512,-7500 370,-7500 370,-7481 512,-7481 512,-7500"/>
-<text text-anchor="middle" x="441" y="-7488" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize2DAttrs</text>
+<polygon fill="white" stroke="#666666" points="512,-7517 370,-7517 370,-7498 512,-7498 512,-7517"/>
+<text text-anchor="middle" x="441" y="-7505" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize2DAttrs</text>
</a>
</g>
</g>
@@ -3004,8 +2986,8 @@
<g id="edge67_Node000002_Node000063" class="edge">
<title>Node2->Node63</title>
<g id="a_edge67_Node000002_Node000063"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.11,-8161.56C209.19,-8060.32 241.63,-7604.39 338,-7509.5 346.73,-7500.91 358.02,-7495.54 369.89,-7492.29"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.61,-8161.45 202.53,-8171.64 206.6,-8161.86 199.61,-8161.45"/>
+<path fill="none" stroke="#63b8ff" d="M203.11,-8178.56C209.19,-8077.32 241.63,-7621.39 338,-7526.5 346.73,-7517.91 358.02,-7512.54 369.89,-7509.29"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.61,-8178.45 202.53,-8188.64 206.6,-8178.86 199.61,-8178.45"/>
</a>
</g>
</g>
@@ -3013,8 +2995,8 @@
<g id="Node000064" class="node">
<title>Node64</title>
<g id="a_Node000064"><a xlink:href="structtvm_1_1relax_1_1Resize3DAttrs.html" target="_top" xlink:title="Attributes used in image resize3d operator.">
-<polygon fill="white" stroke="#666666" points="512,-7463 370,-7463 370,-7444 512,-7444 512,-7463"/>
-<text text-anchor="middle" x="441" y="-7451" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize3DAttrs</text>
+<polygon fill="white" stroke="#666666" points="512,-7480 370,-7480 370,-7461 512,-7461 512,-7480"/>
+<text text-anchor="middle" x="441" y="-7468" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::Resize3DAttrs</text>
</a>
</g>
</g>
@@ -3022,8 +3004,8 @@
<g id="edge68_Node000002_Node000064" class="edge">
<title>Node2->Node64</title>
<g id="a_edge68_Node000002_Node000064"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.89,-8161.46C207.97,-8056.74 236.72,-7573.24 338,-7472.5 346.68,-7463.86 357.95,-7458.47 369.82,-7455.21"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.39,-8161.45 202.42,-8171.6 206.38,-8161.78 199.39,-8161.45"/>
+<path fill="none" stroke="#63b8ff" d="M202.89,-8178.46C207.97,-8073.74 236.72,-7590.24 338,-7489.5 346.68,-7480.86 357.95,-7475.47 369.82,-7472.21"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.39,-8178.45 202.42,-8188.6 206.38,-8178.78 199.39,-8178.45"/>
</a>
</g>
</g>
@@ -3031,9 +3013,9 @@
<g id="Node000065" class="node">
<title>Node65</title>
<g id="a_Node000065"><a xlink:href="structtvm_1_1relax_1_1ReverseSequenceAttrs.html" target="_top" xlink:title="Attributes used in reverse_sequence operators.">
-<polygon fill="white" stroke="#666666" points="521,-7425.5 361,-7425.5 361,-7395.5 521,-7395.5 521,-7425.5"/>
-<text text-anchor="start" x="369" y="-7413.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ReverseSequence</text>
-<text text-anchor="middle" x="441" y="-7402.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="521,-7442.5 361,-7442.5 361,-7412.5 521,-7412.5 521,-7442.5"/>
+<text text-anchor="start" x="369" y="-7430.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ReverseSequence</text>
+<text text-anchor="middle" x="441" y="-7419.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -3041,8 +3023,8 @@
<g id="edge69_Node000002_Node000065" class="edge">
<title>Node2->Node65</title>
<g id="a_edge69_Node000002_Node000065"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.79,-8161.55C207.46,-8054.11 234.81,-7545.08 338,-7435.5 344.37,-7428.73 352.26,-7423.67 360.8,-7419.9"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.29,-8161.52 202.37,-8171.66 206.28,-8161.81 199.29,-8161.52"/>
+<path fill="none" stroke="#63b8ff" d="M202.79,-8178.55C207.46,-8071.11 234.81,-7562.08 338,-7452.5 344.37,-7445.73 352.26,-7440.67 360.8,-7436.9"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.29,-8178.52 202.37,-8188.66 206.28,-8178.81 199.29,-8178.52"/>
</a>
</g>
</g>
@@ -3050,8 +3032,8 @@
<g id="Node000066" class="node">
<title>Node66</title>
<g id="a_Node000066"><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="#666666" points="506.5,-7377 375.5,-7377 375.5,-7358 506.5,-7358 506.5,-7377"/>
-<text text-anchor="middle" x="441" y="-7365" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScanopAttrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-7394 375.5,-7394 375.5,-7375 506.5,-7375 506.5,-7394"/>
+<text text-anchor="middle" x="441" y="-7382" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScanopAttrs</text>
</a>
</g>
</g>
@@ -3059,8 +3041,8 @@
<g id="edge70_Node000002_Node000066" class="edge">
<title>Node2->Node66</title>
<g id="a_edge70_Node000002_Node000066"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.44,-8161.57C205.33,-8049.72 225.16,-7501.01 338,-7386.5 347.99,-7376.36 361.52,-7370.67 375.47,-7367.65"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.94,-8161.68 202.19,-8171.76 205.93,-8161.85 198.94,-8161.68"/>
+<path fill="none" stroke="#63b8ff" d="M202.44,-8178.57C205.33,-8066.72 225.16,-7518.01 338,-7403.5 347.99,-7393.36 361.52,-7387.67 375.47,-7384.65"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.94,-8178.68 202.19,-8188.76 205.93,-8178.85 198.94,-8178.68"/>
</a>
</g>
</g>
@@ -3068,9 +3050,9 @@
<g id="Node000067" class="node">
<title>Node67</title>
<g id="a_Node000067"><a xlink:href="structtvm_1_1relax_1_1ScatterCollectiveAttrs.html" target="_top" xlink:title="Attributes used in scatter operators.">
-<polygon fill="white" stroke="#666666" points="519,-7339.5 363,-7339.5 363,-7309.5 519,-7309.5 519,-7339.5"/>
-<text text-anchor="start" x="371" y="-7327.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterCollective</text>
-<text text-anchor="middle" x="441" y="-7316.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="519,-7356.5 363,-7356.5 363,-7326.5 519,-7326.5 519,-7356.5"/>
+<text text-anchor="start" x="371" y="-7344.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterCollective</text>
+<text text-anchor="middle" x="441" y="-7333.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -3078,8 +3060,8 @@
<g id="edge71_Node000002_Node000067" class="edge">
<title>Node2->Node67</title>
<g id="a_edge71_Node000002_Node000067"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.38,-8161.83C204.96,-8047.88 223.57,-7473.27 338,-7349.5 344.87,-7342.07 353.55,-7336.69 362.95,-7332.81"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.88,-8161.83 202.16,-8171.9 205.87,-8161.98 198.88,-8161.83"/>
+<path fill="none" stroke="#63b8ff" d="M202.38,-8178.83C204.96,-8064.88 223.57,-7490.27 338,-7366.5 344.87,-7359.07 353.55,-7353.69 362.95,-7349.81"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.88,-8178.83 202.16,-8188.9 205.87,-8178.98 198.88,-8178.83"/>
</a>
</g>
</g>
@@ -3087,9 +3069,9 @@
<g id="Node000068" class="node">
<title>Node68</title>
<g id="a_Node000068"><a xlink:href="structtvm_1_1relax_1_1ScatterElementsAttrs.html" target="_top" xlink:title="Attributes used in scatter_elements operators.">
-<polygon fill="white" stroke="#666666" points="517.5,-7291.5 364.5,-7291.5 364.5,-7261.5 517.5,-7261.5 517.5,-7291.5"/>
-<text text-anchor="start" x="372.5" y="-7279.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterElements</text>
-<text text-anchor="middle" x="441" y="-7268.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="517.5,-7308.5 364.5,-7308.5 364.5,-7278.5 517.5,-7278.5 517.5,-7308.5"/>
+<text text-anchor="start" x="372.5" y="-7296.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterElements</text>
+<text text-anchor="middle" x="441" y="-7285.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -3097,8 +3079,8 @@
<g id="edge72_Node000002_Node000068" class="edge">
<title>Node2->Node68</title>
<g id="a_edge72_Node000002_Node000068"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.16,-8161.78C203.55,-8043.76 216.59,-7431.76 338,-7300.5 345.23,-7292.69 354.48,-7287.19 364.45,-7283.36"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.66,-8161.85 202.06,-8171.89 205.66,-8161.92 198.66,-8161.85"/>
+<path fill="none" stroke="#63b8ff" d="M202.16,-8178.78C203.55,-8060.76 216.59,-7448.76 338,-7317.5 345.23,-7309.69 354.48,-7304.19 364.45,-7300.36"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.66,-8178.85 202.06,-8188.89 205.66,-8178.92 198.66,-8178.85"/>
</a>
</g>
</g>
@@ -3106,8 +3088,8 @@
<g id="Node000069" class="node">
<title>Node69</title>
<g id="a_Node000069"><a xlink:href="structtvm_1_1relax_1_1ScatterNDAttrs.html" target="_top" xlink:title="Attributes used in scatter_nd operators.">
-<polygon fill="white" stroke="#666666" points="514,-7243 368,-7243 368,-7224 514,-7224 514,-7243"/>
-<text text-anchor="middle" x="441" y="-7231" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterNDAttrs</text>
+<polygon fill="white" stroke="#666666" points="514,-7260 368,-7260 368,-7241 514,-7241 514,-7260"/>
+<text text-anchor="middle" x="441" y="-7248" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ScatterNDAttrs</text>
</a>
</g>
</g>
@@ -3115,8 +3097,8 @@
<g id="edge73_Node000002_Node000069" class="edge">
<title>Node2->Node69</title>
<g id="a_edge73_Node000002_Node000069"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M201.9,-8161.77C201.74,-8039.76 207.04,-7388.64 338,-7252.5 346.12,-7244.06 356.69,-7238.68 367.94,-7235.36"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.41,-8161.9 201.93,-8171.89 205.41,-8161.88 198.41,-8161.9"/>
+<path fill="none" stroke="#63b8ff" d="M201.9,-8178.77C201.74,-8056.76 207.04,-7405.64 338,-7269.5 346.12,-7261.06 356.69,-7255.68 367.94,-7252.36"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.41,-8178.9 201.93,-8188.89 205.41,-8178.88 198.41,-8178.9"/>
</a>
</g>
</g>
@@ -3124,9 +3106,9 @@
<g id="Node000070" class="node">
<title>Node70</title>
<g id="a_Node000070"><a xlink:href="structtvm_1_1relax_1_1SliceScatterAttrs.html" target="_top" xlink:title="Attributes used in slice_scatter operator.">
-<polygon fill="white" stroke="#666666" points="506.5,-7205.5 375.5,-7205.5 375.5,-7175.5 506.5,-7175.5 506.5,-7205.5"/>
-<text text-anchor="start" x="383.5" y="-7193.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SliceScatter</text>
-<text text-anchor="middle" x="441" y="-7182.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-7222.5 375.5,-7222.5 375.5,-7192.5 506.5,-7192.5 506.5,-7222.5"/>
+<text text-anchor="start" x="383.5" y="-7210.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SliceScatter</text>
+<text text-anchor="middle" x="441" y="-7199.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -3134,8 +3116,8 @@
<g id="edge74_Node000002_Node000070" class="edge">
<title>Node2->Node70</title>
<g id="a_edge74_Node000002_Node000070"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M201.89,-8161.49C201.6,-8036.28 206.23,-7361.23 338,-7215.5 347.72,-7204.75 361.24,-7198.26 375.26,-7194.43"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.39,-8161.87 201.93,-8171.85 205.39,-8161.84 198.39,-8161.87"/>
+<path fill="none" stroke="#63b8ff" d="M201.89,-8178.49C201.6,-8053.28 206.23,-7378.23 338,-7232.5 347.72,-7221.75 361.24,-7215.26 375.26,-7211.43"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.39,-8178.87 201.93,-8188.85 205.39,-8178.84 198.39,-8178.87"/>
</a>
</g>
</g>
@@ -3143,8 +3125,8 @@
<g id="Node000071" class="node">
<title>Node71</title>
<g id="a_Node000071"><a xlink:href="structtvm_1_1relax_1_1SoftmaxAttrs.html" target="_top" xlink:title="Attributes used in softmax operators.">
-<polygon fill="white" stroke="#666666" points="509.5,-7157 372.5,-7157 372.5,-7138 509.5,-7138 509.5,-7157"/>
-<text text-anchor="middle" x="441" y="-7145" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftmaxAttrs</text>
+<polygon fill="white" stroke="#666666" points="509.5,-7174 372.5,-7174 372.5,-7155 509.5,-7155 509.5,-7174"/>
+<text text-anchor="middle" x="441" y="-7162" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftmaxAttrs</text>
</a>
</g>
</g>
@@ -3152,8 +3134,8 @@
<g id="edge75_Node000002_Node000071" class="edge">
<title>Node2->Node71</title>
<g id="a_edge75_Node000002_Node000071"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M201.63,-8161.59C199.69,-8032.65 195.48,-7316.47 338,-7166.5 347.12,-7156.9 359.41,-7151.25 372.3,-7148.07"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.14,-8161.97 201.81,-8171.91 205.14,-8161.86 198.14,-8161.97"/>
+<path fill="none" stroke="#63b8ff" d="M201.63,-8178.59C199.69,-8049.65 195.48,-7333.47 338,-7183.5 347.12,-7173.9 359.41,-7168.25 372.3,-7165.07"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.14,-8178.97 201.81,-8188.91 205.14,-8178.86 198.14,-8178.97"/>
</a>
</g>
</g>
@@ -3161,8 +3143,8 @@
<g id="Node000072" class="node">
<title>Node72</title>
<g id="a_Node000072"><a xlink:href="structtvm_1_1relax_1_1SoftplusAttrs.html" target="_top" xlink:title="Attributes used in softplus operators.">
-<polygon fill="white" stroke="#666666" points="508.5,-7120 373.5,-7120 373.5,-7101 508.5,-7101 508.5,-7120"/>
-<text text-anchor="middle" x="441" y="-7108" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftplusAttrs</text>
+<polygon fill="white" stroke="#666666" points="508.5,-7137 373.5,-7137 373.5,-7118 508.5,-7118 508.5,-7137"/>
+<text text-anchor="middle" x="441" y="-7125" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SoftplusAttrs</text>
</a>
</g>
</g>
@@ -3170,8 +3152,8 @@
<g id="edge76_Node000002_Node000072" class="edge">
<title>Node2->Node72</title>
<g id="a_edge76_Node000002_Node000072"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.18,-8161.57C211.57,-8023.13 263.91,-7207.83 338,-7129.5 347.35,-7119.62 360.05,-7113.91 373.32,-7110.78"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.67,-8161.73 202.56,-8171.92 206.65,-8162.15 199.67,-8161.73"/>
+<path fill="none" stroke="#63b8ff" d="M203.18,-8178.57C211.57,-8040.13 263.91,-7224.83 338,-7146.5 347.35,-7136.62 360.05,-7130.91 373.32,-7127.78"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.67,-8178.73 202.56,-8188.92 206.65,-8179.15 199.67,-8178.73"/>
</a>
</g>
</g>
@@ -3179,8 +3161,8 @@
<g id="Node000073" class="node">
<title>Node73</title>
<g id="a_Node000073"><a xlink:href="structtvm_1_1relax_1_1SortAttrs.html" target="_top" xlink:title="Attributes used in sort operator.">
-<polygon fill="white" stroke="#666666" points="499,-7083 383,-7083 383,-7064 499,-7064 499,-7083"/>
-<text text-anchor="middle" x="441" y="-7071" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SortAttrs</text>
+<polygon fill="white" stroke="#666666" points="499,-7100 383,-7100 383,-7081 499,-7081 499,-7100"/>
+<text text-anchor="middle" x="441" y="-7088" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SortAttrs</text>
</a>
</g>
</g>
@@ -3188,8 +3170,8 @@
<g id="edge77_Node000002_Node000073" class="edge">
<title>Node2->Node73</title>
<g id="a_edge77_Node000002_Node000073"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.08,-8161.74C210.96,-8021.03 261.37,-7173.87 338,-7092.5 349.55,-7080.24 366.27,-7074.4 382.84,-7071.93"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.58,-8161.73 202.52,-8171.9 206.57,-8162.11 199.58,-8161.73"/>
+<path fill="none" stroke="#63b8ff" d="M203.08,-8178.74C210.96,-8038.03 261.37,-7190.87 338,-7109.5 349.55,-7097.24 366.27,-7091.4 382.84,-7088.93"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.58,-8178.73 202.52,-8188.9 206.57,-8179.11 199.58,-8178.73"/>
</a>
</g>
</g>
@@ -3197,8 +3179,8 @@
<g id="Node000074" class="node">
<title>Node74</title>
<g id="a_Node000074"><a xlink:href="structtvm_1_1relax_1_1SplitAttrs.html" target="_top" xlink:title="Attributes used in split operator.">
-<polygon fill="white" stroke="#666666" points="500,-7046 382,-7046 382,-7027 500,-7027 500,-7046"/>
-<text text-anchor="middle" x="441" y="-7034" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SplitAttrs</text>
+<polygon fill="white" stroke="#666666" points="500,-7063 382,-7063 382,-7044 500,-7044 500,-7063"/>
+<text text-anchor="middle" x="441" y="-7051" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SplitAttrs</text>
</a>
</g>
</g>
@@ -3206,8 +3188,8 @@
<g id="edge78_Node000002_Node000074" class="edge">
<title>Node2->Node74</title>
<g id="a_edge78_Node000002_Node000074"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.01,-8161.53C210.46,-8017.41 258.89,-7139.84 338,-7055.5 349.28,-7043.48 365.52,-7037.62 381.74,-7035.06"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.49,-8161.74 202.48,-8171.91 206.48,-8162.1 199.49,-8161.74"/>
+<path fill="none" stroke="#63b8ff" d="M203.01,-8178.53C210.46,-8034.41 258.89,-7156.84 338,-7072.5 349.28,-7060.48 365.52,-7054.62 381.74,-7052.06"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.49,-8178.74 202.48,-8188.91 206.48,-8179.1 199.49,-8178.74"/>
</a>
</g>
</g>
@@ -3215,8 +3197,8 @@
<g id="Node000075" class="node">
<title>Node75</title>
<g id="a_Node000075"><a xlink:href="structtvm_1_1relax_1_1SqueezeAttrs.html" target="_top" xlink:title="Attributes used in squeeze operators.">
-<polygon fill="white" stroke="#666666" points="509.5,-7009 372.5,-7009 372.5,-6990 509.5,-6990 509.5,-7009"/>
-<text text-anchor="middle" x="441" y="-6997" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SqueezeAttrs</text>
+<polygon fill="white" stroke="#666666" points="509.5,-7026 372.5,-7026 372.5,-7007 509.5,-7007 509.5,-7026"/>
+<text text-anchor="middle" x="441" y="-7014" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SqueezeAttrs</text>
</a>
</g>
</g>
@@ -3224,8 +3206,8 @@
<g id="edge79_Node000002_Node000075" class="edge">
<title>Node2->Node75</title>
<g id="a_edge79_Node000002_Node000075"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.92,-8161.77C209.87,-8015.74 256.33,-7105.9 338,-7018.5 347.1,-7008.76 359.46,-7003.06 372.44,-6999.89"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.41,-8161.77 202.44,-8171.92 206.4,-8162.1 199.41,-8161.77"/>
+<path fill="none" stroke="#63b8ff" d="M202.92,-8178.77C209.87,-8032.74 256.33,-7122.9 338,-7035.5 347.1,-7025.76 359.46,-7020.06 372.44,-7016.89"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.41,-8178.77 202.44,-8188.92 206.4,-8179.1 199.41,-8178.77"/>
</a>
</g>
</g>
@@ -3233,8 +3215,8 @@
<g id="Node000076" class="node">
<title>Node76</title>
<g id="a_Node000076"><a xlink:href="structtvm_1_1relax_1_1StackAttrs.html" target="_top" xlink:title="Attributes used in stack operators.">
-<polygon fill="white" stroke="#666666" points="502.5,-6972 379.5,-6972 379.5,-6953 502.5,-6953 502.5,-6972"/>
-<text text-anchor="middle" x="441" y="-6960" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StackAttrs</text>
+<polygon fill="white" stroke="#666666" points="502.5,-6989 379.5,-6989 379.5,-6970 502.5,-6970 502.5,-6989"/>
+<text text-anchor="middle" x="441" y="-6977" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StackAttrs</text>
</a>
</g>
</g>
@@ -3242,8 +3224,8 @@
<g id="edge80_Node000002_Node000076" class="edge">
<title>Node2->Node76</title>
<g id="a_edge80_Node000002_Node000076"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.85,-8161.61C209.39,-8012.43 253.84,-7071.89 338,-6981.5 348.68,-6970.03 363.88,-6964.16 379.3,-6961.41"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.34,-8161.82 202.4,-8171.96 206.33,-8162.12 199.34,-8161.82"/>
+<path fill="none" stroke="#63b8ff" d="M202.85,-8178.61C209.39,-8029.43 253.84,-7088.89 338,-6998.5 348.68,-6987.03 363.88,-6981.16 379.3,-6978.41"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.34,-8178.82 202.4,-8188.96 206.33,-8179.12 199.34,-8178.82"/>
</a>
</g>
</g>
@@ -3251,8 +3233,8 @@
<g id="Node000077" class="node">
<title>Node77</title>
<g id="a_Node000077"><a xlink:href="structtvm_1_1relax_1_1StatisticalAttrs.html" target="_top" xlink:title="Attributes for statistical operators.">
-<polygon fill="white" stroke="#666666" points="513.5,-6935 368.5,-6935 368.5,-6916 513.5,-6916 513.5,-6935"/>
-<text text-anchor="middle" x="441" y="-6923" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StatisticalAttrs</text>
+<polygon fill="white" stroke="#666666" points="513.5,-6952 368.5,-6952 368.5,-6933 513.5,-6933 513.5,-6952"/>
+<text text-anchor="middle" x="441" y="-6940" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StatisticalAttrs</text>
</a>
</g>
</g>
@@ -3260,8 +3242,8 @@
<g id="edge81_Node000002_Node000077" class="edge">
<title>Node2->Node77</title>
<g id="a_edge81_Node000002_Node000077"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.78,-8161.46C208.92,-8009.18 251.34,-7037.88 338,-6944.5 346.15,-6935.72 356.95,-6930.22 368.47,-6926.89"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.28,-8161.53 202.38,-8171.67 206.27,-8161.81 199.28,-8161.53"/>
+<path fill="none" stroke="#63b8ff" d="M202.78,-8178.46C208.92,-8026.18 251.34,-7054.88 338,-6961.5 346.15,-6952.72 356.95,-6947.22 368.47,-6943.89"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.28,-8178.53 202.38,-8188.67 206.27,-8178.81 199.28,-8178.53"/>
</a>
</g>
</g>
@@ -3269,9 +3251,9 @@
<g id="Node000078" class="node">
<title>Node78</title>
<g id="a_Node000078"><a xlink:href="structtvm_1_1relax_1_1StridedSliceAttrs.html" target="_top" xlink:title="Attributes used in strided_slice operator.">
-<polygon fill="white" stroke="#666666" points="506.5,-6897.5 375.5,-6897.5 375.5,-6867.5 506.5,-6867.5 506.5,-6897.5"/>
-<text text-anchor="start" x="383.5" y="-6885.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StridedSlice</text>
-<text text-anchor="middle" x="441" y="-6874.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
+<polygon fill="white" stroke="#666666" points="506.5,-6914.5 375.5,-6914.5 375.5,-6884.5 506.5,-6884.5 506.5,-6914.5"/>
+<text text-anchor="start" x="383.5" y="-6902.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::StridedSlice</text>
+<text text-anchor="middle" x="441" y="-6891.5" font-family="Helvetica,sans-Serif" font-size="10.00">Attrs</text>
</a>
</g>
</g>
@@ -3279,8 +3261,8 @@
<g id="edge82_Node000002_Node000078" class="edge">
<title>Node2->Node78</title>
<g id="a_edge82_Node000002_Node000078"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.77,-8161.39C208.89,-8006.49 251.59,-7006.35 338,-6907.5 347.6,-6896.52 361.16,-6889.96 375.27,-6886.13"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.26,-8161.62 202.37,-8171.75 206.25,-8161.89 199.26,-8161.62"/>
+<path fill="none" stroke="#63b8ff" d="M202.77,-8178.39C208.89,-8023.49 251.59,-7023.35 338,-6924.5 347.6,-6913.52 361.16,-6906.96 375.27,-6903.13"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.26,-8178.62 202.37,-8188.75 206.25,-8178.89 199.26,-8178.62"/>
</a>
</g>
</g>
@@ -3288,8 +3270,8 @@
<g id="Node000079" class="node">
<title>Node79</title>
<g id="a_Node000079"><a xlink:href="structtvm_1_1relax_1_1TakeAttrs.html" target="_top" xlink:title="Attributes used in take operator.">
-<polygon fill="white" stroke="#666666" points="500,-6849 382,-6849 382,-6830 500,-6830 500,-6849"/>
-<text text-anchor="middle" x="441" y="-6837" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TakeAttrs</text>
+<polygon fill="white" stroke="#666666" points="500,-6866 382,-6866 382,-6847 500,-6847 500,-6866"/>
+<text text-anchor="middle" x="441" y="-6854" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TakeAttrs</text>
</a>
</g>
</g>
@@ -3297,8 +3279,8 @@
<g id="edge83_Node000002_Node000079" class="edge">
<title>Node2->Node79</title>
<g id="a_edge83_Node000002_Node000079"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.63,-8161.55C207.81,-8003.62 245.46,-6958.93 338,-6858.5 349.23,-6846.31 365.56,-6840.43 381.88,-6837.9"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.13,-8161.6 202.3,-8171.71 206.12,-8161.83 199.13,-8161.6"/>
+<path fill="none" stroke="#63b8ff" d="M202.63,-8178.55C207.81,-8020.62 245.46,-6975.93 338,-6875.5 349.23,-6863.31 365.56,-6857.43 381.88,-6854.9"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.13,-8178.6 202.3,-8188.71 206.12,-8178.83 199.13,-8178.6"/>
</a>
</g>
</g>
@@ -3306,8 +3288,8 @@
<g id="Node000080" class="node">
<title>Node80</title>
<g id="a_Node000080"><a xlink:href="structtvm_1_1relax_1_1TileAttrs.html" target="_top" xlink:title="Attributes used in tile operators.">
-<polygon fill="white" stroke="#666666" points="498,-6812 384,-6812 384,-6793 498,-6793 498,-6812"/>
-<text text-anchor="middle" x="441" y="-6800" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TileAttrs</text>
+<polygon fill="white" stroke="#666666" points="498,-6829 384,-6829 384,-6810 498,-6810 498,-6829"/>
+<text text-anchor="middle" x="441" y="-6817" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TileAttrs</text>
</a>
</g>
</g>
@@ -3315,8 +3297,8 @@
<g id="edge84_Node000002_Node000080" class="edge">
<title>Node2->Node80</title>
<g id="a_edge84_Node000002_Node000080"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.57,-8161.49C207.37,-8000.88 242.94,-6924.95 338,-6821.5 349.7,-6808.77 366.97,-6802.91 383.98,-6800.57"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.07,-8161.7 202.27,-8171.8 206.06,-8161.91 199.07,-8161.7"/>
+<path fill="none" stroke="#63b8ff" d="M202.57,-8178.49C207.37,-8017.88 242.94,-6941.95 338,-6838.5 349.7,-6825.77 366.97,-6819.91 383.98,-6817.57"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.07,-8178.7 202.27,-8188.8 206.06,-8178.91 199.07,-8178.7"/>
</a>
</g>
</g>
@@ -3324,8 +3306,8 @@
<g id="Node000081" class="node">
<title>Node81</title>
<g id="a_Node000081"><a xlink:href="structtvm_1_1relax_1_1ToVDeviceAttrs.html" target="_top" xlink:title="Attributes used in to_vdevice.">
-<polygon fill="white" stroke="#666666" points="514.5,-6775 367.5,-6775 367.5,-6756 514.5,-6756 514.5,-6775"/>
-<text text-anchor="middle" x="441" y="-6763" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ToVDeviceAttrs</text>
+<polygon fill="white" stroke="#666666" points="514.5,-6792 367.5,-6792 367.5,-6773 514.5,-6773 514.5,-6792"/>
+<text text-anchor="middle" x="441" y="-6780" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ToVDeviceAttrs</text>
</a>
</g>
</g>
@@ -3333,8 +3315,8 @@
<g id="edge85_Node000002_Node000081" class="edge">
<title>Node2->Node81</title>
<g id="a_edge85_Node000002_Node000081"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.52,-8161.45C206.94,-7998.26 240.42,-6890.97 338,-6784.5 345.85,-6775.93 356.22,-6770.48 367.34,-6767.11"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.01,-8161.81 202.24,-8171.9 206.01,-8162 199.01,-8161.81"/>
+<path fill="none" stroke="#63b8ff" d="M202.52,-8178.45C206.94,-8015.26 240.42,-6907.97 338,-6801.5 345.85,-6792.93 356.22,-6787.48 367.34,-6784.11"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.01,-8178.81 202.24,-8188.9 206.01,-8179 199.01,-8178.81"/>
</a>
</g>
</g>
@@ -3342,8 +3324,8 @@
<g id="Node000082" class="node">
<title>Node82</title>
<g id="a_Node000082"><a xlink:href="structtvm_1_1relax_1_1TopKAttrs.html" target="_top" xlink:title="Attributes used in topk operator.">
-<polygon fill="white" stroke="#666666" points="500.5,-6738 381.5,-6738 381.5,-6719 500.5,-6719 500.5,-6738"/>
-<text text-anchor="middle" x="441" y="-6726" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TopKAttrs</text>
+<polygon fill="white" stroke="#666666" points="500.5,-6755 381.5,-6755 381.5,-6736 500.5,-6736 500.5,-6755"/>
+<text text-anchor="middle" x="441" y="-6743" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TopKAttrs</text>
</a>
</g>
</g>
@@ -3351,8 +3333,8 @@
<g id="edge86_Node000002_Node000082" class="edge">
<title>Node2->Node82</title>
<g id="a_edge86_Node000002_Node000082"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.47,-8161.43C206.52,-7995.7 237.9,-6857 338,-6747.5 349.06,-6735.4 365.15,-6729.5 381.29,-6726.93"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.96,-8161.57 202.22,-8171.65 205.96,-8161.74 198.96,-8161.57"/>
+<path fill="none" stroke="#63b8ff" d="M202.47,-8178.43C206.52,-8012.7 237.9,-6874 338,-6764.5 349.06,-6752.4 365.15,-6746.5 381.29,-6743.93"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.96,-8178.57 202.22,-8188.65 205.96,-8178.74 198.96,-8178.57"/>
</a>
</g>
</g>
@@ -3360,8 +3342,8 @@
<g id="Node000083" class="node">
<title>Node83</title>
<g id="a_Node000083"><a xlink:href="structtvm_1_1relax_1_1TriluAttrs.html" target="_top" xlink:title="Attributes used in tril and triu operator.">
-<polygon fill="white" stroke="#666666" points="499,-6701 383,-6701 383,-6682 499,-6682 499,-6701"/>
-<text text-anchor="middle" x="441" y="-6689" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TriluAttrs</text>
+<polygon fill="white" stroke="#666666" points="499,-6718 383,-6718 383,-6699 499,-6699 499,-6718"/>
+<text text-anchor="middle" x="441" y="-6706" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TriluAttrs</text>
</a>
</g>
</g>
@@ -3369,8 +3351,8 @@
<g id="edge87_Node000002_Node000083" class="edge">
<title>Node2->Node83</title>
<g id="a_edge87_Node000002_Node000083"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.42,-8161.43C206.1,-7993.32 235.36,-6823.04 338,-6710.5 349.41,-6697.99 366.19,-6692.1 382.86,-6689.67"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.91,-8161.7 202.2,-8171.77 205.91,-8161.85 198.91,-8161.7"/>
+<path fill="none" stroke="#63b8ff" d="M202.42,-8178.43C206.1,-8010.32 235.36,-6840.04 338,-6727.5 349.41,-6714.99 366.19,-6709.1 382.86,-6706.67"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.91,-8178.7 202.2,-8188.77 205.91,-8178.85 198.91,-8178.7"/>
</a>
</g>
</g>
@@ -3378,8 +3360,8 @@
<g id="Node000084" class="node">
<title>Node84</title>
<g id="a_Node000084"><a xlink:href="structtvm_1_1relax_1_1WrapParamAttrs.html" target="_top" xlink:title="Attributes used in wrap_param operator.">
-<polygon fill="white" stroke="#666666" points="517,-6664 365,-6664 365,-6645 517,-6645 517,-6664"/>
-<text text-anchor="middle" x="441" y="-6652" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::WrapParamAttrs</text>
+<polygon fill="white" stroke="#666666" points="517,-6681 365,-6681 365,-6662 517,-6662 517,-6681"/>
+<text text-anchor="middle" x="441" y="-6669" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::WrapParamAttrs</text>
</a>
</g>
</g>
@@ -3387,8 +3369,8 @@
<g id="edge88_Node000002_Node000084" class="edge">
<title>Node2->Node84</title>
<g id="a_edge88_Node000002_Node000084"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.36,-8161.71C205.67,-7992.27 232.77,-6789.14 338,-6673.5 345.27,-6665.51 354.74,-6660.22 364.97,-6656.8"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.86,-8161.85 202.17,-8171.91 205.86,-8161.98 198.86,-8161.85"/>
+<path fill="none" stroke="#63b8ff" d="M202.36,-8178.71C205.67,-8009.27 232.77,-6806.14 338,-6690.5 345.27,-6682.51 354.74,-6677.22 364.97,-6673.8"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.86,-8178.85 202.17,-8188.91 205.86,-8178.98 198.86,-8178.85"/>
</a>
</g>
</g>
@@ -3396,8 +3378,8 @@
<g id="Node000085" class="node">
<title>Node85</title>
<g id="a_Node000085"><a xlink:href="structtvm_1_1tirx_1_1CallFFIKernelAttr.html" target="_top" xlink:title="Launch metadata for call_ffi_kernel.">
-<polygon fill="white" stroke="#666666" points="514.5,-6627 367.5,-6627 367.5,-6608 514.5,-6608 514.5,-6627"/>
-<text text-anchor="middle" x="441" y="-6615" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::CallFFIKernelAttr</text>
+<polygon fill="white" stroke="#666666" points="514.5,-6644 367.5,-6644 367.5,-6625 514.5,-6625 514.5,-6644"/>
+<text text-anchor="middle" x="441" y="-6632" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::CallFFIKernelAttr</text>
</a>
</g>
</g>
@@ -3405,8 +3387,8 @@
<g id="edge89_Node000002_Node000085" class="edge">
<title>Node2->Node85</title>
<g id="a_edge89_Node000002_Node000085"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.32,-8161.49C205.3,-7988.87 230.29,-6755.13 338,-6636.5 345.81,-6627.9 356.16,-6622.43 367.27,-6619.05"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.82,-8161.62 202.15,-8171.68 205.82,-8161.74 198.82,-8161.62"/>
+<path fill="none" stroke="#63b8ff" d="M202.32,-8178.49C205.3,-8005.87 230.29,-6772.13 338,-6653.5 345.81,-6644.9 356.16,-6639.43 367.27,-6636.05"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.82,-8178.62 202.15,-8188.68 205.82,-8178.74 198.82,-8178.62"/>
</a>
</g>
</g>
@@ -3414,9 +3396,9 @@
<g id="Node000086" class="node">
<title>Node86</title>
<g id="a_Node000086"><a xlink:href="structtvm_1_1tirx_1_1TensorMapEncodeTiledAttr.html" target="_top" xlink:title="Fixed encoding options for tensormap_encode_tiled.">
-<polygon fill="white" stroke="#666666" points="517,-6589.5 365,-6589.5 365,-6559.5 517,-6559.5 517,-6589.5"/>
-<text text-anchor="start" x="373" y="-6577.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorMapEncode</text>
-<text text-anchor="middle" x="441" y="-6566.5" font-family="Helvetica,sans-Serif" font-size="10.00">TiledAttr</text>
+<polygon fill="white" stroke="#666666" points="517,-6606.5 365,-6606.5 365,-6576.5 517,-6576.5 517,-6606.5"/>
+<text text-anchor="start" x="373" y="-6594.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorMapEncode</text>
+<text text-anchor="middle" x="441" y="-6583.5" font-family="Helvetica,sans-Serif" font-size="10.00">TiledAttr</text>
</a>
</g>
</g>
@@ -3424,8 +3406,8 @@
<g id="edge90_Node000002_Node000086" class="edge">
<title>Node2->Node86</title>
<g id="a_edge90_Node000002_Node000086"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.33,-8161.85C205.37,-7988.55 231.15,-6724.3 338,-6599.5 345.17,-6591.12 354.65,-6585.31 364.95,-6581.31"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.83,-8161.8 202.15,-8171.86 205.82,-8161.92 198.83,-8161.8"/>
+<path fill="none" stroke="#63b8ff" d="M202.33,-8178.85C205.37,-8005.55 231.15,-6741.3 338,-6616.5 345.17,-6608.12 354.65,-6602.31 364.95,-6598.31"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.83,-8178.8 202.15,-8188.86 205.82,-8178.92 198.83,-8178.8"/>
</a>
</g>
</g>
@@ -3433,9 +3415,9 @@
<g id="Node000089" class="node">
<title>Node89</title>
<g id="a_Node000089"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6541.5 370.5,-6541.5 370.5,-6511.5 511.5,-6511.5 511.5,-6541.5"/>
-<text text-anchor="start" x="378.5" y="-6529.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6518.5" font-family="Helvetica,sans-Serif" font-size="10.00">< AddNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6558.5 370.5,-6558.5 370.5,-6528.5 511.5,-6528.5 511.5,-6558.5"/>
+<text text-anchor="start" x="378.5" y="-6546.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6535.5" font-family="Helvetica,sans-Serif" font-size="10.00">< AddNode ></text>
</a>
</g>
</g>
@@ -3443,8 +3425,8 @@
<g id="edge93_Node000088_Node000089" class="edge">
<title>Node88->Node89</title>
<g id="a_edge93_Node000088_Node000089"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.61,-5421.15C272.91,-5423.31 290.56,-5429.15 302,-5442.5 378.68,-5531.99 263.28,-6411.37 338,-6502.5 346.25,-6512.56 357.84,-6518.87 370.28,-6522.74"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.77,-5417.65 245.51,-5420.28 255.17,-5424.63 255.77,-5417.65"/>
+<path fill="none" stroke="#63b8ff" d="M255.61,-5419.15C272.92,-5421.3 290.57,-5427.15 302,-5440.5 380.03,-5531.61 261.97,-6426.72 338,-6519.5 346.24,-6529.56 357.84,-6535.87 370.27,-6539.75"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.78,-5415.65 245.51,-5418.28 255.17,-5422.62 255.78,-5415.65"/>
</a>
</g>
</g>
@@ -3452,9 +3434,9 @@
<g id="Node000091" class="node">
<title>Node91</title>
<g id="a_Node000091"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6493.5 370.5,-6493.5 370.5,-6463.5 511.5,-6463.5 511.5,-6493.5"/>
-<text text-anchor="start" x="378.5" y="-6481.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6470.5" font-family="Helvetica,sans-Serif" font-size="10.00">< BitwiseAndNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6510.5 370.5,-6510.5 370.5,-6480.5 511.5,-6480.5 511.5,-6510.5"/>
+<text text-anchor="start" x="378.5" y="-6498.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6487.5" font-family="Helvetica,sans-Serif" font-size="10.00">< BitwiseAndNode ></text>
</a>
</g>
</g>
@@ -3462,8 +3444,8 @@
<g id="edge95_Node000088_Node000091" class="edge">
<title>Node88->Node91</title>
<g id="a_edge95_Node000088_Node000091"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.81,-5421.19C273.05,-5423.37 290.6,-5429.22 302,-5442.5 375.28,-5527.88 266.59,-6367.55 338,-6454.5 346.26,-6464.55 357.86,-6470.86 370.29,-6474.73"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.02,-5417.69 245.75,-5420.3 255.41,-5424.67 256.02,-5417.69"/>
+<path fill="none" stroke="#63b8ff" d="M255.6,-5419.16C272.91,-5421.31 290.56,-5427.16 302,-5440.5 376.63,-5527.5 265.28,-6382.9 338,-6471.5 346.25,-6481.55 357.85,-6487.86 370.28,-6491.74"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.77,-5415.66 245.5,-5418.29 255.16,-5422.63 255.77,-5415.66"/>
</a>
</g>
</g>
@@ -3471,9 +3453,9 @@
<g id="Node000093" class="node">
<title>Node93</title>
<g id="a_Node000093"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6445.5 370.5,-6445.5 370.5,-6415.5 511.5,-6415.5 511.5,-6445.5"/>
-<text text-anchor="start" x="378.5" y="-6433.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6422.5" font-family="Helvetica,sans-Serif" font-size="10.00">< BitwiseOrNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6462.5 370.5,-6462.5 370.5,-6432.5 511.5,-6432.5 511.5,-6462.5"/>
+<text text-anchor="start" x="378.5" y="-6450.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6439.5" font-family="Helvetica,sans-Serif" font-size="10.00">< BitwiseOrNode ></text>
</a>
</g>
</g>
@@ -3481,8 +3463,8 @@
<g id="edge97_Node000088_Node000093" class="edge">
<title>Node88->Node93</title>
<g id="a_edge97_Node000088_Node000093"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.8,-5421.2C273.03,-5423.38 290.59,-5429.23 302,-5442.5 371.88,-5523.77 269.89,-6323.73 338,-6406.5 346.26,-6416.54 357.87,-6422.85 370.3,-6426.72"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.01,-5417.71 245.74,-5420.31 255.39,-5424.68 256.01,-5417.71"/>
+<path fill="none" stroke="#63b8ff" d="M255.81,-5419.2C273.04,-5421.38 290.59,-5427.22 302,-5440.5 373.23,-5523.4 268.58,-6339.08 338,-6423.5 346.26,-6433.55 357.86,-6439.85 370.3,-6443.73"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.01,-5415.7 245.75,-5418.31 255.4,-5422.67 256.01,-5415.7"/>
</a>
</g>
</g>
@@ -3490,9 +3472,9 @@
<g id="Node000095" class="node">
<title>Node95</title>
<g id="a_Node000095"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6397.5 370.5,-6397.5 370.5,-6367.5 511.5,-6367.5 511.5,-6397.5"/>
-<text text-anchor="start" x="378.5" y="-6385.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6374.5" font-family="Helvetica,sans-Serif" font-size="10.00">< BitwiseXorNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6414.5 370.5,-6414.5 370.5,-6384.5 511.5,-6384.5 511.5,-6414.5"/>
+<text text-anchor="start" x="378.5" y="-6402.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6391.5" font-family="Helvetica,sans-Serif" font-size="10.00">< BitwiseXorNode ></text>
</a>
</g>
</g>
@@ -3500,8 +3482,8 @@
<g id="edge99_Node000088_Node000095" class="edge">
<title>Node88->Node95</title>
<g id="a_edge99_Node000088_Node000095"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.79,-5421.21C273.02,-5423.39 290.57,-5429.24 302,-5442.5 368.48,-5519.67 273.2,-6279.91 338,-6358.5 346.27,-6368.54 357.88,-6374.84 370.32,-6378.71"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256,-5417.72 245.73,-5420.33 255.38,-5424.69 256,-5417.72"/>
+<path fill="none" stroke="#63b8ff" d="M255.79,-5419.21C273.02,-5421.39 290.58,-5427.23 302,-5440.5 369.83,-5519.29 271.89,-6295.26 338,-6375.5 346.27,-6385.54 357.88,-6391.84 370.31,-6395.71"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256,-5415.71 245.73,-5418.32 255.39,-5422.69 256,-5415.71"/>
</a>
</g>
</g>
@@ -3509,9 +3491,9 @@
<g id="Node000097" class="node">
<title>Node97</title>
<g id="a_Node000097"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6349.5 370.5,-6349.5 370.5,-6319.5 511.5,-6319.5 511.5,-6349.5"/>
-<text text-anchor="start" x="378.5" y="-6337.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6326.5" font-family="Helvetica,sans-Serif" font-size="10.00">< DivNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6366.5 370.5,-6366.5 370.5,-6336.5 511.5,-6336.5 511.5,-6366.5"/>
+<text text-anchor="start" x="378.5" y="-6354.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6343.5" font-family="Helvetica,sans-Serif" font-size="10.00">< DivNode ></text>
</a>
</g>
</g>
@@ -3519,8 +3501,8 @@
<g id="edge101_Node000088_Node000097" class="edge">
<title>Node88->Node97</title>
<g id="a_edge101_Node000088_Node000097"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.77,-5421.23C273,-5423.41 290.56,-5429.25 302,-5442.5 365.08,-5515.56 276.51,-6236.09 338,-6310.5 346.29,-6320.53 357.9,-6326.83 370.34,-6330.7"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.98,-5417.73 245.71,-5420.34 255.36,-5424.71 255.98,-5417.73"/>
+<path fill="none" stroke="#63b8ff" d="M255.78,-5419.22C273.01,-5421.4 290.57,-5427.25 302,-5440.5 366.43,-5515.19 275.2,-6251.44 338,-6327.5 346.28,-6337.53 357.89,-6343.83 370.33,-6347.7"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.99,-5415.73 245.72,-5418.33 255.37,-5422.7 255.99,-5415.73"/>
</a>
</g>
</g>
@@ -3528,9 +3510,9 @@
<g id="Node000099" class="node">
<title>Node99</title>
<g id="a_Node000099"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6301.5 370.5,-6301.5 370.5,-6271.5 511.5,-6271.5 511.5,-6301.5"/>
-<text text-anchor="start" x="378.5" y="-6289.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6278.5" font-family="Helvetica,sans-Serif" font-size="10.00">< FloorDivNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6318.5 370.5,-6318.5 370.5,-6288.5 511.5,-6288.5 511.5,-6318.5"/>
+<text text-anchor="start" x="378.5" y="-6306.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6295.5" font-family="Helvetica,sans-Serif" font-size="10.00">< FloorDivNode ></text>
</a>
</g>
</g>
@@ -3538,8 +3520,8 @@
<g id="edge103_Node000088_Node000099" class="edge">
<title>Node88->Node99</title>
<g id="a_edge103_Node000088_Node000099"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.75,-5421.24C272.98,-5423.43 290.54,-5429.26 302,-5442.5 361.69,-5511.46 279.82,-6192.27 338,-6262.5 346.3,-6272.52 357.92,-6278.81 370.36,-6282.68"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.97,-5417.75 245.7,-5420.35 255.35,-5424.72 255.97,-5417.75"/>
+<path fill="none" stroke="#63b8ff" d="M255.76,-5419.24C272.99,-5421.42 290.55,-5427.26 302,-5440.5 363.03,-5511.08 278.51,-6207.61 338,-6279.5 346.29,-6289.52 357.91,-6295.82 370.35,-6299.69"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.97,-5415.74 245.7,-5418.35 255.35,-5422.72 255.97,-5415.74"/>
</a>
</g>
</g>
@@ -3547,9 +3529,9 @@
<g id="Node000101" class="node">
<title>Node101</title>
<g id="a_Node000101"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6253.5 370.5,-6253.5 370.5,-6223.5 511.5,-6223.5 511.5,-6253.5"/>
-<text text-anchor="start" x="378.5" y="-6241.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6230.5" font-family="Helvetica,sans-Serif" font-size="10.00">< FloorModNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6270.5 370.5,-6270.5 370.5,-6240.5 511.5,-6240.5 511.5,-6270.5"/>
+<text text-anchor="start" x="378.5" y="-6258.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6247.5" font-family="Helvetica,sans-Serif" font-size="10.00">< FloorModNode ></text>
</a>
</g>
</g>
@@ -3557,8 +3539,8 @@
<g id="edge105_Node000088_Node000101" class="edge">
<title>Node88->Node101</title>
<g id="a_edge105_Node000088_Node000101"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.73,-5421.26C272.96,-5423.45 290.53,-5429.28 302,-5442.5 358.29,-5507.35 283.13,-6148.44 338,-6214.5 346.31,-6224.51 357.94,-6230.79 370.38,-6234.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.95,-5417.77 245.68,-5420.37 255.33,-5424.74 255.95,-5417.77"/>
+<path fill="none" stroke="#63b8ff" d="M255.74,-5419.25C272.97,-5421.44 290.53,-5427.27 302,-5440.5 359.63,-5506.98 281.82,-6163.79 338,-6231.5 346.31,-6241.51 357.93,-6247.8 370.37,-6251.67"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.95,-5415.76 245.68,-5418.36 255.34,-5422.73 255.95,-5415.76"/>
</a>
</g>
</g>
@@ -3566,9 +3548,9 @@
<g id="Node000103" class="node">
<title>Node103</title>
<g id="a_Node000103"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6205.5 370.5,-6205.5 370.5,-6175.5 511.5,-6175.5 511.5,-6205.5"/>
-<text text-anchor="start" x="378.5" y="-6193.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6182.5" font-family="Helvetica,sans-Serif" font-size="10.00">< LShiftNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6222.5 370.5,-6222.5 370.5,-6192.5 511.5,-6192.5 511.5,-6222.5"/>
+<text text-anchor="start" x="378.5" y="-6210.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6199.5" font-family="Helvetica,sans-Serif" font-size="10.00">< LShiftNode ></text>
</a>
</g>
</g>
@@ -3576,8 +3558,8 @@
<g id="edge107_Node000088_Node000103" class="edge">
<title>Node88->Node103</title>
<g id="a_edge107_Node000088_Node000103"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.71,-5421.28C272.93,-5423.47 290.51,-5429.3 302,-5442.5 407.78,-5563.99 234.88,-6042.74 338,-6166.5 346.33,-6176.49 357.96,-6182.78 370.4,-6186.64"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.93,-5417.79 245.66,-5420.39 255.31,-5424.76 255.93,-5417.79"/>
+<path fill="none" stroke="#63b8ff" d="M255.72,-5419.27C272.94,-5421.46 290.51,-5427.29 302,-5440.5 356.23,-5502.87 285.13,-6119.97 338,-6183.5 346.32,-6193.5 357.95,-6199.78 370.39,-6203.65"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.93,-5415.78 245.66,-5418.38 255.31,-5422.75 255.93,-5415.78"/>
</a>
</g>
</g>
@@ -3585,9 +3567,9 @@
<g id="Node000105" class="node">
<title>Node105</title>
<g id="a_Node000105"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6157.5 370.5,-6157.5 370.5,-6127.5 511.5,-6127.5 511.5,-6157.5"/>
-<text text-anchor="start" x="378.5" y="-6145.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6134.5" font-family="Helvetica,sans-Serif" font-size="10.00">< MaxNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6174.5 370.5,-6174.5 370.5,-6144.5 511.5,-6144.5 511.5,-6174.5"/>
+<text text-anchor="start" x="378.5" y="-6162.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6151.5" font-family="Helvetica,sans-Serif" font-size="10.00">< MaxNode ></text>
</a>
</g>
</g>
@@ -3595,8 +3577,8 @@
<g id="edge109_Node000088_Node000105" class="edge">
<title>Node88->Node105</title>
<g id="a_edge109_Node000088_Node000105"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.68,-5421.3C272.9,-5423.49 290.48,-5429.32 302,-5442.5 400.98,-5555.78 241.5,-6003.1 338,-6118.5 346.34,-6128.48 357.98,-6134.75 370.43,-6138.62"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.9,-5417.81 245.63,-5420.41 255.28,-5424.78 255.9,-5417.81"/>
+<path fill="none" stroke="#63b8ff" d="M255.69,-5419.29C272.92,-5421.48 290.49,-5427.31 302,-5440.5 403.67,-5557.03 238.88,-6016.79 338,-6135.5 346.34,-6145.48 357.97,-6151.76 370.42,-6155.63"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.91,-5415.8 245.64,-5418.4 255.29,-5422.77 255.91,-5415.8"/>
</a>
</g>
</g>
@@ -3604,9 +3586,9 @@
<g id="Node000107" class="node">
<title>Node107</title>
<g id="a_Node000107"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6109.5 370.5,-6109.5 370.5,-6079.5 511.5,-6079.5 511.5,-6109.5"/>
-<text text-anchor="start" x="378.5" y="-6097.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6086.5" font-family="Helvetica,sans-Serif" font-size="10.00">< MinNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6126.5 370.5,-6126.5 370.5,-6096.5 511.5,-6096.5 511.5,-6126.5"/>
+<text text-anchor="start" x="378.5" y="-6114.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6103.5" font-family="Helvetica,sans-Serif" font-size="10.00">< MinNode ></text>
</a>
</g>
</g>
@@ -3614,8 +3596,8 @@
<g id="edge111_Node000088_Node000107" class="edge">
<title>Node88->Node107</title>
<g id="a_edge111_Node000088_Node000107"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.65,-5421.33C272.87,-5423.52 290.46,-5429.34 302,-5442.5 394.19,-5547.58 248.11,-5963.45 338,-6070.5 346.36,-6080.46 358.01,-6086.73 370.46,-6090.59"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.88,-5417.84 245.6,-5420.43 255.25,-5424.81 255.88,-5417.84"/>
+<path fill="none" stroke="#63b8ff" d="M255.66,-5419.32C272.89,-5421.51 290.47,-5427.33 302,-5440.5 396.88,-5548.83 245.49,-5977.14 338,-6087.5 346.36,-6097.47 358,-6103.74 370.45,-6107.6"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.89,-5415.83 245.62,-5418.42 255.26,-5422.8 255.89,-5415.83"/>
</a>
</g>
</g>
@@ -3623,9 +3605,9 @@
<g id="Node000109" class="node">
<title>Node109</title>
<g id="a_Node000109"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6061.5 370.5,-6061.5 370.5,-6031.5 511.5,-6031.5 511.5,-6061.5"/>
-<text text-anchor="start" x="378.5" y="-6049.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-6038.5" font-family="Helvetica,sans-Serif" font-size="10.00">< ModNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6078.5 370.5,-6078.5 370.5,-6048.5 511.5,-6048.5 511.5,-6078.5"/>
+<text text-anchor="start" x="378.5" y="-6066.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6055.5" font-family="Helvetica,sans-Serif" font-size="10.00">< ModNode ></text>
</a>
</g>
</g>
@@ -3633,8 +3615,8 @@
<g id="edge113_Node000088_Node000109" class="edge">
<title>Node88->Node109</title>
<g id="a_edge113_Node000088_Node000109"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.62,-5421.36C272.83,-5423.55 290.42,-5429.37 302,-5442.5 387.39,-5539.37 254.72,-5923.8 338,-6022.5 346.39,-6032.44 358.05,-6038.7 370.5,-6042.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.84,-5417.87 245.57,-5420.46 255.22,-5424.84 255.84,-5417.87"/>
+<path fill="none" stroke="#63b8ff" d="M255.63,-5419.35C272.85,-5421.54 290.44,-5427.36 302,-5440.5 390.08,-5540.62 252.11,-5937.5 338,-6039.5 346.38,-6049.45 358.03,-6055.71 370.48,-6059.57"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.86,-5415.85 245.58,-5418.45 255.23,-5422.83 255.86,-5415.85"/>
</a>
</g>
</g>
@@ -3642,9 +3624,9 @@
<g id="Node000111" class="node">
<title>Node111</title>
<g id="a_Node000111"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-6013.5 370.5,-6013.5 370.5,-5983.5 511.5,-5983.5 511.5,-6013.5"/>
-<text text-anchor="start" x="378.5" y="-6001.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-5990.5" font-family="Helvetica,sans-Serif" font-size="10.00">< MulNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-6030.5 370.5,-6030.5 370.5,-6000.5 511.5,-6000.5 511.5,-6030.5"/>
+<text text-anchor="start" x="378.5" y="-6018.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-6007.5" font-family="Helvetica,sans-Serif" font-size="10.00">< MulNode ></text>
</a>
</g>
</g>
@@ -3652,8 +3634,8 @@
<g id="edge115_Node000088_Node000111" class="edge">
<title>Node88->Node111</title>
<g id="a_edge115_Node000088_Node000111"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.58,-5421.4C272.79,-5423.59 290.39,-5429.4 302,-5442.5 380.6,-5531.17 261.34,-5884.15 338,-5974.5 346.36,-5984.35 357.92,-5990.58 370.28,-5994.44"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.81,-5417.9 245.53,-5420.49 255.18,-5424.88 255.81,-5417.9"/>
+<path fill="none" stroke="#63b8ff" d="M255.59,-5419.38C272.81,-5421.58 290.4,-5427.39 302,-5440.5 383.29,-5532.42 258.72,-5897.85 338,-5991.5 346.35,-6001.36 357.91,-6007.59 370.26,-6011.46"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.82,-5415.89 245.55,-5418.48 255.2,-5422.86 255.82,-5415.89"/>
</a>
</g>
</g>
@@ -3661,9 +3643,9 @@
<g id="Node000113" class="node">
<title>Node113</title>
<g id="a_Node000113"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-5965.5 370.5,-5965.5 370.5,-5935.5 511.5,-5935.5 511.5,-5965.5"/>
-<text text-anchor="start" x="378.5" y="-5953.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-5942.5" font-family="Helvetica,sans-Serif" font-size="10.00">< RShiftNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-5982.5 370.5,-5982.5 370.5,-5952.5 511.5,-5952.5 511.5,-5982.5"/>
+<text text-anchor="start" x="378.5" y="-5970.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-5959.5" font-family="Helvetica,sans-Serif" font-size="10.00">< RShiftNode ></text>
</a>
</g>
</g>
@@ -3671,8 +3653,8 @@
<g id="edge117_Node000088_Node000113" class="edge">
<title>Node88->Node113</title>
<g id="a_edge117_Node000088_Node000113"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.74,-5421.47C272.88,-5423.69 290.39,-5429.49 302,-5442.5 373.81,-5522.97 267.95,-5844.5 338,-5926.5 346.39,-5936.32 357.97,-5942.54 370.33,-5946.4"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.02,-5417.98 245.74,-5420.55 255.38,-5424.95 256.02,-5417.98"/>
+<path fill="none" stroke="#63b8ff" d="M255.55,-5419.42C272.76,-5421.62 290.36,-5427.42 302,-5440.5 376.5,-5524.21 265.33,-5858.19 338,-5943.5 346.38,-5953.33 357.95,-5959.56 370.31,-5963.42"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.78,-5415.93 245.51,-5418.52 255.15,-5422.9 255.78,-5415.93"/>
</a>
</g>
</g>
@@ -3680,9 +3662,9 @@
<g id="Node000115" class="node">
<title>Node115</title>
<g id="a_Node000115"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="511.5,-5917.5 370.5,-5917.5 370.5,-5887.5 511.5,-5887.5 511.5,-5917.5"/>
-<text text-anchor="start" x="378.5" y="-5905.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
-<text text-anchor="middle" x="441" y="-5894.5" font-family="Helvetica,sans-Serif" font-size="10.00">< SubNode ></text>
+<polygon fill="white" stroke="#666666" points="511.5,-5934.5 370.5,-5934.5 370.5,-5904.5 511.5,-5904.5 511.5,-5934.5"/>
+<text text-anchor="start" x="378.5" y="-5922.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode</text>
+<text text-anchor="middle" x="441" y="-5911.5" font-family="Helvetica,sans-Serif" font-size="10.00">< SubNode ></text>
</a>
</g>
</g>
@@ -3690,8 +3672,8 @@
<g id="edge119_Node000088_Node000115" class="edge">
<title>Node88->Node115</title>
<g id="a_edge119_Node000088_Node000115"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.68,-5421.52C272.82,-5423.75 290.34,-5429.54 302,-5442.5 367.03,-5514.77 274.55,-5804.84 338,-5878.5 346.43,-5888.29 358.03,-5894.49 370.39,-5898.35"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.97,-5418.03 245.69,-5420.6 255.32,-5425 255.97,-5418.03"/>
+<path fill="none" stroke="#63b8ff" d="M255.71,-5419.5C272.85,-5421.72 290.36,-5427.52 302,-5440.5 369.71,-5516.01 271.94,-5818.54 338,-5895.5 346.41,-5905.3 358,-5911.51 370.37,-5915.37"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.99,-5416.01 245.71,-5418.58 255.35,-5422.98 255.99,-5416.01"/>
</a>
</g>
</g>
@@ -3699,9 +3681,9 @@
<g id="Node000117" class="node">
<title>Node117</title>
<g id="a_Node000117"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="507,-5869.5 375,-5869.5 375,-5839.5 507,-5839.5 507,-5869.5"/>
-<text text-anchor="start" x="383" y="-5857.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
-<text text-anchor="middle" x="441" y="-5846.5" font-family="Helvetica,sans-Serif" font-size="10.00">< EQNode ></text>
+<polygon fill="white" stroke="#666666" points="507,-5886.5 375,-5886.5 375,-5856.5 507,-5856.5 507,-5886.5"/>
+<text text-anchor="start" x="383" y="-5874.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
+<text text-anchor="middle" x="441" y="-5863.5" font-family="Helvetica,sans-Serif" font-size="10.00">< EQNode ></text>
</a>
</g>
</g>
@@ -3709,8 +3691,8 @@
<g id="edge121_Node000088_Node000117" class="edge">
<title>Node88->Node117</title>
<g id="a_edge121_Node000088_Node000117"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.61,-5421.59C272.74,-5423.82 290.27,-5429.6 302,-5442.5 360.25,-5506.58 281.16,-5765.18 338,-5830.5 347.49,-5841.41 360.93,-5847.86 374.94,-5851.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.9,-5418.1 245.62,-5420.66 255.25,-5425.07 255.9,-5418.1"/>
+<path fill="none" stroke="#63b8ff" d="M255.64,-5419.56C272.77,-5421.79 290.3,-5427.58 302,-5440.5 362.93,-5507.82 278.54,-5778.88 338,-5847.5 347.47,-5858.43 360.9,-5864.89 374.91,-5868.59"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.93,-5416.07 245.65,-5418.63 255.28,-5423.04 255.93,-5416.07"/>
</a>
</g>
</g>
@@ -3718,9 +3700,9 @@
<g id="Node000119" class="node">
<title>Node119</title>
<g id="a_Node000119"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="507,-5821.5 375,-5821.5 375,-5791.5 507,-5791.5 507,-5821.5"/>
-<text text-anchor="start" x="383" y="-5809.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
-<text text-anchor="middle" x="441" y="-5798.5" font-family="Helvetica,sans-Serif" font-size="10.00">< GENode ></text>
+<polygon fill="white" stroke="#666666" points="507,-5838.5 375,-5838.5 375,-5808.5 507,-5808.5 507,-5838.5"/>
+<text text-anchor="start" x="383" y="-5826.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
+<text text-anchor="middle" x="441" y="-5815.5" font-family="Helvetica,sans-Serif" font-size="10.00">< GENode ></text>
</a>
</g>
</g>
@@ -3728,8 +3710,8 @@
<g id="edge123_Node000088_Node000119" class="edge">
<title>Node88->Node119</title>
<g id="a_edge123_Node000088_Node000119"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.52,-5421.68C272.64,-5423.92 290.19,-5429.68 302,-5442.5 404.94,-5554.28 237.51,-5668.52 338,-5782.5 347.5,-5793.28 360.86,-5799.69 374.78,-5803.41"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.82,-5418.19 245.53,-5420.74 255.16,-5425.16 255.82,-5418.19"/>
+<path fill="none" stroke="#63b8ff" d="M255.56,-5419.64C272.68,-5421.88 290.23,-5427.64 302,-5440.5 356.15,-5499.63 285.14,-5739.21 338,-5799.5 347.53,-5810.37 360.98,-5816.81 375,-5820.51"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.85,-5416.15 245.57,-5418.7 255.2,-5423.12 255.85,-5416.15"/>
</a>
</g>
</g>
@@ -3737,9 +3719,9 @@
<g id="Node000121" class="node">
<title>Node121</title>
<g id="a_Node000121"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="507,-5773.5 375,-5773.5 375,-5743.5 507,-5743.5 507,-5773.5"/>
-<text text-anchor="start" x="383" y="-5761.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
-<text text-anchor="middle" x="441" y="-5750.5" font-family="Helvetica,sans-Serif" font-size="10.00">< GTNode ></text>
+<polygon fill="white" stroke="#666666" points="507,-5790.5 375,-5790.5 375,-5760.5 507,-5760.5 507,-5790.5"/>
+<text text-anchor="start" x="383" y="-5778.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
+<text text-anchor="middle" x="441" y="-5767.5" font-family="Helvetica,sans-Serif" font-size="10.00">< GTNode ></text>
</a>
</g>
</g>
@@ -3747,8 +3729,8 @@
<g id="edge125_Node000088_Node000121" class="edge">
<title>Node88->Node121</title>
<g id="a_edge125_Node000088_Node000121"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.09,-5421.89C272.98,-5424.2 290.24,-5429.95 302,-5442.5 391.4,-5537.92 250.68,-5637.16 338,-5734.5 347.6,-5745.2 360.98,-5751.58 374.91,-5755.29"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.97,-5418.36 245.67,-5420.86 255.28,-5425.32 255.97,-5418.36"/>
+<path fill="none" stroke="#63b8ff" d="M256.14,-5419.84C273.03,-5422.14 290.29,-5427.91 302,-5440.5 396.76,-5542.39 245.47,-5647.58 338,-5751.5 347.56,-5762.23 360.93,-5768.63 374.85,-5772.34"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.02,-5416.31 245.72,-5418.81 255.33,-5423.27 256.02,-5416.31"/>
</a>
</g>
</g>
@@ -3756,9 +3738,9 @@
<g id="Node000123" class="node">
<title>Node123</title>
<g id="a_Node000123"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="507,-5725.5 375,-5725.5 375,-5695.5 507,-5695.5 507,-5725.5"/>
-<text text-anchor="start" x="383" y="-5713.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
-<text text-anchor="middle" x="441" y="-5702.5" font-family="Helvetica,sans-Serif" font-size="10.00">< LENode ></text>
+<polygon fill="white" stroke="#666666" points="507,-5742.5 375,-5742.5 375,-5712.5 507,-5712.5 507,-5742.5"/>
+<text text-anchor="start" x="383" y="-5730.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
+<text text-anchor="middle" x="441" y="-5719.5" font-family="Helvetica,sans-Serif" font-size="10.00">< LENode ></text>
</a>
</g>
</g>
@@ -3766,8 +3748,8 @@
<g id="edge127_Node000088_Node000123" class="edge">
<title>Node88->Node123</title>
<g id="a_edge127_Node000088_Node000123"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.92,-5422.05C272.79,-5424.37 290.09,-5430.09 302,-5442.5 377.9,-5521.6 263.84,-5605.78 338,-5686.5 347.66,-5697.02 360.99,-5703.34 374.83,-5707.05"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.81,-5418.52 245.51,-5421.01 255.12,-5425.49 255.81,-5418.52"/>
+<path fill="none" stroke="#63b8ff" d="M255.99,-5419.98C272.87,-5422.3 290.16,-5428.03 302,-5440.5 383.24,-5526.05 258.63,-5616.21 338,-5703.5 347.61,-5714.07 360.91,-5720.41 374.75,-5724.13"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.88,-5416.45 245.58,-5418.94 255.19,-5423.41 255.88,-5416.45"/>
</a>
</g>
</g>
@@ -3775,9 +3757,9 @@
<g id="Node000125" class="node">
<title>Node125</title>
<g id="a_Node000125"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="507,-5677.5 375,-5677.5 375,-5647.5 507,-5647.5 507,-5677.5"/>
-<text text-anchor="start" x="383" y="-5665.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
-<text text-anchor="middle" x="441" y="-5654.5" font-family="Helvetica,sans-Serif" font-size="10.00">< LTNode ></text>
+<polygon fill="white" stroke="#666666" points="507,-5694.5 375,-5694.5 375,-5664.5 507,-5664.5 507,-5694.5"/>
+<text text-anchor="start" x="383" y="-5682.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
+<text text-anchor="middle" x="441" y="-5671.5" font-family="Helvetica,sans-Serif" font-size="10.00">< LTNode ></text>
</a>
</g>
</g>
@@ -3785,8 +3767,8 @@
<g id="edge129_Node000088_Node000125" class="edge">
<title>Node88->Node125</title>
<g id="a_edge129_Node000088_Node000125"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.88,-5422.32C272.67,-5424.68 289.93,-5430.36 302,-5442.5 364.44,-5505.32 276.94,-5574.34 338,-5638.5 347.78,-5648.78 361.07,-5655.02 374.83,-5658.73"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.85,-5418.8 245.54,-5421.25 255.13,-5425.76 255.85,-5418.8"/>
+<path fill="none" stroke="#63b8ff" d="M255.99,-5420.21C272.79,-5422.56 290.03,-5428.26 302,-5440.5 369.76,-5509.75 271.76,-5584.8 338,-5655.5 347.76,-5665.92 361.13,-5672.21 374.97,-5675.92"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.95,-5416.69 245.64,-5419.15 255.23,-5423.65 255.95,-5416.69"/>
</a>
</g>
</g>
@@ -3794,9 +3776,9 @@
<g id="Node000127" class="node">
<title>Node127</title>
<g id="a_Node000127"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="507,-5629.5 375,-5629.5 375,-5599.5 507,-5599.5 507,-5629.5"/>
-<text text-anchor="start" x="383" y="-5617.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
-<text text-anchor="middle" x="441" y="-5606.5" font-family="Helvetica,sans-Serif" font-size="10.00">< NENode ></text>
+<polygon fill="white" stroke="#666666" points="507,-5646.5 375,-5646.5 375,-5616.5 507,-5616.5 507,-5646.5"/>
+<text text-anchor="start" x="383" y="-5634.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode</text>
+<text text-anchor="middle" x="441" y="-5623.5" font-family="Helvetica,sans-Serif" font-size="10.00">< NENode ></text>
</a>
</g>
</g>
@@ -3804,8 +3786,8 @@
<g id="edge131_Node000088_Node000127" class="edge">
<title>Node88->Node127</title>
<g id="a_edge131_Node000088_Node000127"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.92,-5422.79C272.54,-5425.21 289.69,-5430.81 302,-5442.5 351.07,-5489.14 289.95,-5542.81 338,-5590.5 348.01,-5600.43 361.3,-5606.55 374.98,-5610.25"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256,-5419.28 245.68,-5421.66 255.24,-5426.23 256,-5419.28"/>
+<path fill="none" stroke="#63b8ff" d="M255.88,-5420.57C272.59,-5422.96 289.8,-5428.59 302,-5440.5 356.34,-5493.53 284.82,-5553.31 338,-5607.5 347.88,-5617.56 361.12,-5623.73 374.79,-5627.44"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.91,-5417.05 245.59,-5419.47 255.17,-5424.01 255.91,-5417.05"/>
</a>
</g>
</g>
@@ -3813,8 +3795,8 @@
<g id="Node000129" class="node">
<title>Node129</title>
<g id="a_Node000129"><a xlink:href="classtvm_1_1BaseFuncNode.html" target="_top" xlink:title="Base node of all functions.">
-<polygon fill="white" stroke="#666666" points="498,-5581 384,-5581 384,-5562 498,-5562 498,-5581"/>
-<text text-anchor="middle" x="441" y="-5569" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseFuncNode</text>
+<polygon fill="white" stroke="#666666" points="498,-5598 384,-5598 384,-5579 498,-5579 498,-5598"/>
+<text text-anchor="middle" x="441" y="-5586" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::BaseFuncNode</text>
</a>
</g>
</g>
@@ -3822,8 +3804,8 @@
<g id="edge133_Node000088_Node000129" class="edge">
<title>Node88->Node129</title>
<g id="a_edge133_Node000088_Node000129"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.84,-5423.4C272.3,-5425.89 289.37,-5431.37 302,-5442.5 340.91,-5476.79 298.87,-5519.46 338,-5553.5 350.62,-5564.48 367.53,-5569.85 383.95,-5572.25"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.06,-5419.9 245.72,-5422.21 255.24,-5426.86 256.06,-5419.9"/>
+<path fill="none" stroke="#63b8ff" d="M255.92,-5421.05C272.46,-5423.5 289.57,-5429.05 302,-5440.5 346.1,-5481.11 293.63,-5530.18 338,-5570.5 350.44,-5581.81 367.4,-5587.26 383.92,-5589.62"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.06,-5417.54 245.73,-5419.89 255.27,-5424.5 256.06,-5417.54"/>
</a>
</g>
</g>
@@ -3831,8 +3813,8 @@
<g id="Node000133" class="node">
<title>Node133</title>
<g id="a_Node000133"><a xlink:href="classtvm_1_1CallNode.html" target="_top" xlink:title="Call corresponds to callable invocation.">
-<polygon fill="white" stroke="#666666" points="484,-5544 398,-5544 398,-5525 484,-5525 484,-5544"/>
-<text text-anchor="middle" x="441" y="-5532" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::CallNode</text>
+<polygon fill="white" stroke="#666666" points="484,-5561 398,-5561 398,-5542 484,-5542 484,-5561"/>
+<text text-anchor="middle" x="441" y="-5549" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::CallNode</text>
</a>
</g>
</g>
@@ -3840,8 +3822,8 @@
<g id="edge137_Node000088_Node000133" class="edge">
<title>Node88->Node133</title>
<g id="a_edge137_Node000088_Node000133"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.61,-5424.57C271.82,-5427.17 288.81,-5432.41 302,-5442.5 331.05,-5464.72 308.8,-5494.47 338,-5516.5 354.94,-5529.28 377.93,-5534.1 397.8,-5535.59"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.02,-5421.1 245.65,-5423.28 255.12,-5428.04 256.02,-5421.1"/>
+<path fill="none" stroke="#63b8ff" d="M255.7,-5421.86C272.07,-5424.39 289.13,-5429.77 302,-5440.5 336.05,-5468.87 303.76,-5505.35 338,-5533.5 354.53,-5547.09 377.73,-5551.93 397.83,-5553.23"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.98,-5418.37 245.63,-5420.63 255.13,-5425.31 255.98,-5418.37"/>
</a>
</g>
</g>
@@ -3849,8 +3831,8 @@
<g id="Node000134" class="node">
<title>Node134</title>
<g id="a_Node000134"><a xlink:href="classtvm_1_1ConstantNode.html" target="_top" xlink:title="Base node for literal constants.">
-<polygon fill="white" stroke="#666666" points="496.5,-5507 385.5,-5507 385.5,-5488 496.5,-5488 496.5,-5507"/>
-<text text-anchor="middle" x="441" y="-5495" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ConstantNode</text>
+<polygon fill="white" stroke="#666666" points="496.5,-5524 385.5,-5524 385.5,-5505 496.5,-5505 496.5,-5524"/>
+<text text-anchor="middle" x="441" y="-5512" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::ConstantNode</text>
</a>
</g>
</g>
@@ -3858,8 +3840,8 @@
<g id="edge138_Node000088_Node000134" class="edge">
<title>Node88->Node134</title>
<g id="a_edge138_Node000088_Node000134"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.82,-5427.58C271.39,-5430.36 287.96,-5434.95 302,-5442.5 322.21,-5453.37 317.72,-5468.77 338,-5479.5 352.38,-5487.11 369.34,-5491.59 385.26,-5494.2"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.19,-5424.1 245.77,-5426.01 255.11,-5431.01 256.19,-5424.1"/>
+<path fill="none" stroke="#63b8ff" d="M256.01,-5423.72C271.86,-5426.41 288.54,-5431.42 302,-5440.5 326.53,-5457.05 313.37,-5480.11 338,-5496.5 351.85,-5505.71 369.01,-5510.62 385.27,-5513.13"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.15,-5420.2 245.75,-5422.26 255.16,-5427.13 256.15,-5420.2"/>
</a>
</g>
</g>
@@ -3867,8 +3849,8 @@
<g id="Node000140" class="node">
<title>Node140</title>
<g id="a_Node000140"><a xlink:href="classtvm_1_1GlobalVarNode.html" target="_top" xlink:title="Global variable that lives in the top-level module.">
-<polygon fill="white" stroke="#666666" points="498.5,-5470 383.5,-5470 383.5,-5451 498.5,-5451 498.5,-5470"/>
-<text text-anchor="middle" x="441" y="-5458" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarNode</text>
+<polygon fill="white" stroke="#666666" points="498.5,-5487 383.5,-5487 383.5,-5468 498.5,-5468 498.5,-5487"/>
+<text text-anchor="middle" x="441" y="-5475" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GlobalVarNode</text>
</a>
</g>
</g>
@@ -3876,8 +3858,8 @@
<g id="edge144_Node000088_Node000140" class="edge">
<title>Node88->Node140</title>
<g id="a_edge144_Node000088_Node000140"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256,-5431.89C293.93,-5437.79 344.59,-5445.67 383.14,-5451.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.07,-5428.36 245.65,-5430.29 255,-5435.28 256.07,-5428.36"/>
+<path fill="none" stroke="#63b8ff" d="M255.84,-5428.69C271.01,-5431.53 287.36,-5435.38 302,-5440.5 319.08,-5446.48 320.89,-5453.64 338,-5459.5 352.37,-5464.43 368.37,-5468.06 383.36,-5470.72"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.02,-5425.17 245.56,-5426.89 254.8,-5432.07 256.02,-5425.17"/>
</a>
</g>
</g>
@@ -3885,8 +3867,8 @@
<g id="Node000141" class="node">
<title>Node141</title>
<g id="a_Node000141"><a xlink:href="classtvm_1_1OpNode.html" target="_top" xlink:title="Metadata for a canonical primitive operator invoked through Call.">
-<polygon fill="white" stroke="#666666" points="481.5,-5433 400.5,-5433 400.5,-5414 481.5,-5414 481.5,-5433"/>
-<text text-anchor="middle" x="441" y="-5421" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::OpNode</text>
+<polygon fill="white" stroke="#666666" points="481.5,-5450 400.5,-5450 400.5,-5431 481.5,-5431 481.5,-5450"/>
+<text text-anchor="middle" x="441" y="-5438" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::OpNode</text>
</a>
</g>
</g>
@@ -3894,8 +3876,8 @@
<g id="edge145_Node000088_Node000141" class="edge">
<title>Node88->Node141</title>
<g id="a_edge145_Node000088_Node000141"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.85,-5423.5C299.71,-5423.5 360.63,-5423.5 400.19,-5423.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.65,-5420 245.65,-5423.5 255.65,-5427 255.65,-5420"/>
+<path fill="none" stroke="#63b8ff" d="M255.85,-5425.8C299.71,-5429.3 360.63,-5434.16 400.19,-5437.32"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.9,-5422.29 245.65,-5424.98 255.34,-5429.27 255.9,-5422.29"/>
</a>
</g>
</g>
@@ -3903,8 +3885,8 @@
<g id="Node000142" class="node">
<title>Node142</title>
<g id="a_Node000142"><a xlink:href="classtvm_1_1OpaqueExprNode.html" target="_top" xlink:title="Base node for opaque construction-time expressions.">
-<polygon fill="white" stroke="#666666" points="504.5,-5396 377.5,-5396 377.5,-5377 504.5,-5377 504.5,-5396"/>
-<text text-anchor="middle" x="441" y="-5384" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::OpaqueExprNode</text>
+<polygon fill="white" stroke="#666666" points="504.5,-5413 377.5,-5413 377.5,-5394 504.5,-5394 504.5,-5413"/>
+<text text-anchor="middle" x="441" y="-5401" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::OpaqueExprNode</text>
</a>
</g>
</g>
@@ -3912,8 +3894,8 @@
<g id="edge146_Node000088_Node000142" class="edge">
<title>Node88->Node142</title>
<g id="a_edge146_Node000088_Node000142"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M255.62,-5415.16C292.16,-5409.48 340.63,-5401.95 378.7,-5396.03"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255,-5411.72 245.65,-5416.71 256.07,-5418.64 255,-5411.72"/>
+<path fill="none" stroke="#63b8ff" d="M255.98,-5417.42C292.04,-5414.69 339.61,-5411.09 377.35,-5408.24"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.36,-5413.95 245.65,-5418.2 255.89,-5420.93 255.36,-5413.95"/>
</a>
</g>
</g>
@@ -3921,8 +3903,8 @@
<g id="Node000145" class="node">
<title>Node145</title>
<g id="a_Node000145"><a xlink:href="classtvm_1_1TensorLoadNode.html" target="_top" xlink:title="Load a value from an indexed expression source.">
-<polygon fill="white" stroke="#666666" points="502,-5359 380,-5359 380,-5340 502,-5340 502,-5359"/>
-<text text-anchor="middle" x="441" y="-5347" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TensorLoadNode</text>
+<polygon fill="white" stroke="#666666" points="502,-5376 380,-5376 380,-5357 502,-5357 502,-5376"/>
+<text text-anchor="middle" x="441" y="-5364" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TensorLoadNode</text>
</a>
</g>
</g>
@@ -3930,8 +3912,8 @@
<g id="edge149_Node000088_Node000145" class="edge">
<title>Node88->Node145</title>
<g id="a_edge149_Node000088_Node000145"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M231.59,-5409.52C258.74,-5397.19 300.33,-5379.5 338,-5368.5 351.4,-5364.59 366.03,-5361.3 379.93,-5358.62"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="229.91,-5406.44 222.28,-5413.8 232.83,-5412.81 229.91,-5406.44"/>
+<path fill="none" stroke="#63b8ff" d="M245.14,-5409.2C271.78,-5401.82 306.73,-5392.54 338,-5385.5 353.11,-5382.1 369.58,-5378.84 384.79,-5376.01"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="244.06,-5405.87 235.36,-5411.92 245.94,-5412.61 244.06,-5405.87"/>
</a>
</g>
</g>
@@ -3939,8 +3921,8 @@
<g id="Node000146" class="node">
<title>Node146</title>
<g id="a_Node000146"><a xlink:href="classtvm_1_1TensorRegionNode.html" target="_top" xlink:title="A region of an indexed expression source.">
-<polygon fill="white" stroke="#666666" points="507.5,-5322 374.5,-5322 374.5,-5303 507.5,-5303 507.5,-5322"/>
-<text text-anchor="middle" x="441" y="-5310" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TensorRegionNode</text>
+<polygon fill="white" stroke="#666666" points="507.5,-5339 374.5,-5339 374.5,-5320 507.5,-5320 507.5,-5339"/>
+<text text-anchor="middle" x="441" y="-5327" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TensorRegionNode</text>
</a>
</g>
</g>
@@ -3948,8 +3930,8 @@
<g id="edge150_Node000088_Node000146" class="edge">
<title>Node88->Node146</title>
<g id="a_edge150_Node000088_Node000146"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M220.61,-5407.18C245.54,-5386.24 292,-5350.38 338,-5331.5 349.41,-5326.82 362.02,-5323.28 374.37,-5320.61"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="218.06,-5404.76 212.73,-5413.91 222.6,-5410.08 218.06,-5404.76"/>
+<path fill="none" stroke="#63b8ff" d="M224.87,-5406.37C251.11,-5389.7 295.94,-5363.3 338,-5348.5 349.55,-5344.43 362.17,-5341.19 374.46,-5338.61"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="222.91,-5403.46 216.4,-5411.82 226.7,-5409.35 222.91,-5403.46"/>
</a>
</g>
</g>
@@ -3957,8 +3939,8 @@
<g id="Node000147" class="node">
<title>Node147</title>
<g id="a_Node000147"><a xlink:href="classtvm_1_1TupleGetItemNode.html" target="_top" xlink:title="Get the index-th field out of a tuple.">
-<polygon fill="white" stroke="#666666" points="507.5,-5285 374.5,-5285 374.5,-5266 507.5,-5266 507.5,-5285"/>
-<text text-anchor="middle" x="441" y="-5273" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TupleGetItemNode</text>
+<polygon fill="white" stroke="#666666" points="507.5,-5302 374.5,-5302 374.5,-5283 507.5,-5283 507.5,-5302"/>
+<text text-anchor="middle" x="441" y="-5290" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TupleGetItemNode</text>
</a>
</g>
</g>
@@ -3966,8 +3948,8 @@
<g id="edge151_Node000088_Node000147" class="edge">
<title>Node88->Node147</title>
<g id="a_edge151_Node000088_Node000147"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M215.21,-5405.54C237.24,-5377.03 284.37,-5321.85 338,-5294.5 349.23,-5288.77 361.95,-5284.76 374.5,-5281.94"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="212.21,-5403.7 208.97,-5413.79 217.79,-5407.93 212.21,-5403.7"/>
+<path fill="none" stroke="#63b8ff" d="M217.49,-5404.47C240.99,-5379.77 288.2,-5334.47 338,-5311.5 349.29,-5306.29 361.9,-5302.52 374.3,-5299.77"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="214.73,-5402.29 210.46,-5411.99 219.84,-5407.07 214.73,-5402.29"/>
</a>
</g>
</g>
@@ -3975,8 +3957,8 @@
<g id="Node000148" class="node">
<title>Node148</title>
<g id="a_Node000148"><a xlink:href="classtvm_1_1TupleNode.html" target="_top" xlink:title="Tuple container.">
-<polygon fill="white" stroke="#666666" points="487.5,-5248 394.5,-5248 394.5,-5229 487.5,-5229 487.5,-5248"/>
-<text text-anchor="middle" x="441" y="-5236" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TupleNode</text>
+<polygon fill="white" stroke="#666666" points="487.5,-5265 394.5,-5265 394.5,-5246 487.5,-5246 487.5,-5265"/>
+<text text-anchor="middle" x="441" y="-5253" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TupleNode</text>
</a>
</g>
</g>
@@ -3984,8 +3966,8 @@
<g id="edge152_Node000088_Node000148" class="edge">
<title>Node88->Node148</title>
<g id="a_edge152_Node000088_Node000148"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M211.69,-5404.42C230.7,-5369.12 276.42,-5293.93 338,-5257.5 354.9,-5247.5 375.9,-5242.57 394.44,-5240.21"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="208.41,-5403.15 206.86,-5413.63 214.61,-5406.4 208.41,-5403.15"/>
+<path fill="none" stroke="#63b8ff" d="M213.41,-5402.83C234,-5370.9 280.62,-5306.16 338,-5274.5 355.11,-5265.06 376.04,-5260.21 394.48,-5257.75"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="210.24,-5401.29 207.87,-5411.62 216.17,-5405.03 210.24,-5401.29"/>
</a>
</g>
</g>
@@ -3993,8 +3975,8 @@
<g id="Node000149" class="node">
<title>Node149</title>
<g id="a_Node000149"><a xlink:href="classtvm_1_1VarNode.html" target="_top" xlink:title="A local variable in the IR.">
-<polygon fill="white" stroke="#666666" points="482.5,-5211 399.5,-5211 399.5,-5192 482.5,-5192 482.5,-5211"/>
-<text text-anchor="middle" x="441" y="-5199" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VarNode</text>
+<polygon fill="white" stroke="#666666" points="482.5,-5228 399.5,-5228 399.5,-5209 482.5,-5209 482.5,-5228"/>
+<text text-anchor="middle" x="441" y="-5216" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::VarNode</text>
</a>
</g>
</g>
@@ -4002,8 +3984,8 @@
<g id="edge153_Node000088_Node000149" class="edge">
<title>Node88->Node149</title>
<g id="a_edge153_Node000088_Node000149"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M208.91,-5404.25C224.74,-5363.14 267.75,-5266.76 338,-5220.5 355.98,-5208.66 379.4,-5203.74 399.26,-5201.85"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="205.54,-5403.28 205.32,-5413.87 212.09,-5405.73 205.54,-5403.28"/>
+<path fill="none" stroke="#63b8ff" d="M210.14,-5402.49C227.52,-5364.38 272.13,-5278.72 338,-5237.5 356.17,-5226.13 379.49,-5221.22 399.24,-5219.23"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="206.82,-5401.35 205.96,-5411.91 213.22,-5404.19 206.82,-5401.35"/>
</a>
</g>
</g>
@@ -4011,8 +3993,8 @@
<g id="Node000151" class="node">
<title>Node151</title>
<g id="a_Node000151"><a xlink:href="classtvm_1_1prim_1_1AndNode.html" target="_top" xlink:title="a && b">
-<polygon fill="white" stroke="#666666" points="498.5,-5174 383.5,-5174 383.5,-5155 498.5,-5155 498.5,-5174"/>
-<text text-anchor="middle" x="441" y="-5162" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::AndNode</text>
+<polygon fill="white" stroke="#666666" points="498.5,-5191 383.5,-5191 383.5,-5172 498.5,-5172 498.5,-5191"/>
+<text text-anchor="middle" x="441" y="-5179" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::AndNode</text>
</a>
</g>
</g>
@@ -4020,8 +4002,8 @@
<g id="edge155_Node000088_Node000151" class="edge">
<title>Node88->Node151</title>
<g id="a_edge155_Node000088_Node000151"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M206.86,-5404.3C219.63,-5358.03 258.78,-5240.02 338,-5183.5 351.12,-5174.14 367.54,-5169 383.34,-5166.27"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="203.47,-5403.41 204.29,-5413.98 210.24,-5405.21 203.47,-5403.41"/>
+<path fill="none" stroke="#63b8ff" d="M208,-5401.75C222.48,-5357.75 263.7,-5251.51 338,-5200.5 351.22,-5191.43 367.57,-5186.36 383.29,-5183.62"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="204.59,-5400.94 204.9,-5411.53 211.26,-5403.06 204.59,-5400.94"/>
</a>
</g>
</g>
@@ -4029,8 +4011,8 @@
<g id="Node000152" class="node">
<title>Node152</title>
<g id="a_Node000152"><a xlink:href="classtvm_1_1prim_1_1BinaryOpNode.html" target="_top" xlink:title="Base template to implement binary ops.">
-<polygon fill="white" stroke="#666666" points="526,-5137 356,-5137 356,-5118 526,-5118 526,-5137"/>
-<text text-anchor="middle" x="441" y="-5125" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode< T ></text>
+<polygon fill="white" stroke="#666666" points="526,-5154 356,-5154 356,-5135 526,-5135 526,-5154"/>
+<text text-anchor="middle" x="441" y="-5142" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BinaryOpNode< T ></text>
</a>
</g>
</g>
@@ -4038,8 +4020,8 @@
<g id="edge156_Node000088_Node000152" class="edge">
<title>Node88->Node152</title>
<g id="a_edge156_Node000088_Node000152"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M205.42,-5403.86C215.47,-5352.45 249.93,-5213.35 338,-5146.5 343.45,-5142.36 349.53,-5139.03 355.94,-5136.37"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="201.93,-5403.47 203.55,-5413.94 208.81,-5404.75 201.93,-5403.47"/>
+<path fill="none" stroke="#63b8ff" d="M206.16,-5401.88C217.65,-5352.93 254.61,-5224.93 338,-5163.5 343.44,-5159.49 349.47,-5156.25 355.81,-5153.64"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="202.71,-5401.29 203.93,-5411.81 209.54,-5402.82 202.71,-5401.29"/>
</a>
</g>
</g>
@@ -4047,8 +4029,8 @@
<g id="Node000153" class="node">
<title>Node153</title>
<g id="a_Node000153"><a xlink:href="classtvm_1_1prim_1_1BitwiseNotNode.html" target="_top" xlink:title="~a">
-<polygon fill="white" stroke="#666666" points="515.5,-5100 366.5,-5100 366.5,-5081 515.5,-5081 515.5,-5100"/>
-<text text-anchor="middle" x="441" y="-5088" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseNotNode</text>
+<polygon fill="white" stroke="#666666" points="515.5,-5117 366.5,-5117 366.5,-5098 515.5,-5098 515.5,-5117"/>
+<text text-anchor="middle" x="441" y="-5105" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseNotNode</text>
</a>
</g>
</g>
@@ -4056,8 +4038,8 @@
<g id="edge157_Node000088_Node000153" class="edge">
<title>Node88->Node153</title>
<g id="a_edge157_Node000088_Node000153"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.19,-5403.91C211.55,-5348.07 240.66,-5187.11 338,-5109.5 346.24,-5102.93 356.04,-5098.37 366.26,-5095.25"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.71,-5403.54 202.97,-5413.9 207.66,-5404.4 200.71,-5403.54"/>
+<path fill="none" stroke="#63b8ff" d="M204.76,-5402.02C213.45,-5348.54 245.35,-5198.63 338,-5126.5 346.31,-5120.03 356.16,-5115.52 366.39,-5112.42"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="201.3,-5401.49 203.25,-5411.91 208.22,-5402.55 201.3,-5401.49"/>
</a>
</g>
</g>
@@ -4065,8 +4047,8 @@
<g id="Node000154" class="node">
<title>Node154</title>
<g id="a_Node000154"><a xlink:href="classtvm_1_1prim_1_1BroadcastNode.html" target="_top" xlink:title="Create a vector where all the elements are value.">
-<polygon fill="white" stroke="#666666" points="513.5,-5063 368.5,-5063 368.5,-5044 513.5,-5044 513.5,-5063"/>
-<text text-anchor="middle" x="441" y="-5051" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BroadcastNode</text>
+<polygon fill="white" stroke="#666666" points="513.5,-5080 368.5,-5080 368.5,-5061 513.5,-5061 513.5,-5080"/>
+<text text-anchor="middle" x="441" y="-5068" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BroadcastNode</text>
</a>
</g>
</g>
@@ -4074,8 +4056,8 @@
<g id="edge158_Node000088_Node000154" class="edge">
<title>Node88->Node154</title>
<g id="a_edge158_Node000088_Node000154"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.23,-5403.67C208.12,-5343.36 231.46,-5160.91 338,-5072.5 346.73,-5065.25 357.35,-5060.42 368.38,-5057.26"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.73,-5403.52 202.5,-5413.75 206.72,-5404.03 199.73,-5403.52"/>
+<path fill="none" stroke="#63b8ff" d="M203.69,-5401.97C209.79,-5344.1 236.09,-5172.43 338,-5089.5 346.73,-5082.39 357.28,-5077.63 368.24,-5074.48"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.2,-5401.67 202.72,-5411.97 207.17,-5402.35 200.2,-5401.67"/>
</a>
</g>
</g>
@@ -4083,8 +4065,8 @@
<g id="Node000155" class="node">
<title>Node155</title>
<g id="a_Node000155"><a xlink:href="classtvm_1_1prim_1_1CastNode.html" target="_top" xlink:title="Cast value from one data type to another.">
-<polygon fill="white" stroke="#666666" points="500,-5026 382,-5026 382,-5007 500,-5007 500,-5026"/>
-<text text-anchor="middle" x="441" y="-5014" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CastNode</text>
+<polygon fill="white" stroke="#666666" points="500,-5043 382,-5043 382,-5024 500,-5024 500,-5043"/>
+<text text-anchor="middle" x="441" y="-5031" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CastNode</text>
</a>
</g>
</g>
@@ -4092,8 +4074,8 @@
<g id="edge159_Node000088_Node000155" class="edge">
<title>Node88->Node155</title>
<g id="a_edge159_Node000088_Node000155"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.41,-5403.75C204.9,-5339.53 221.97,-5135.01 338,-5035.5 350.17,-5025.06 366.21,-5019.59 381.95,-5016.88"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.91,-5403.65 202.11,-5413.75 205.91,-5403.86 198.91,-5403.65"/>
+<path fill="none" stroke="#63b8ff" d="M202.8,-5401.9C206.47,-5339.87 226.74,-5146.39 338,-5052.5 350.18,-5042.22 366.13,-5036.78 381.79,-5034.05"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.31,-5401.74 202.29,-5411.9 206.3,-5402.09 199.31,-5401.74"/>
</a>
</g>
</g>
@@ -4101,8 +4083,8 @@
<g id="Node000156" class="node">
<title>Node156</title>
<g id="a_Node000156"><a xlink:href="classtvm_1_1prim_1_1CmpOpNode.html" target="_top" xlink:title="Base template to implement comparison ops.">
-<polygon fill="white" stroke="#666666" points="521.5,-4989 360.5,-4989 360.5,-4970 521.5,-4970 521.5,-4989"/>
-<text text-anchor="middle" x="441" y="-4977" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode< T ></text>
+<polygon fill="white" stroke="#666666" points="521.5,-5006 360.5,-5006 360.5,-4987 521.5,-4987 521.5,-5006"/>
+<text text-anchor="middle" x="441" y="-4994" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::CmpOpNode< T ></text>
</a>
</g>
</g>
@@ -4110,8 +4092,8 @@
<g id="edge160_Node000088_Node000156" class="edge">
<title>Node88->Node156</title>
<g id="a_edge160_Node000088_Node000156"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M201.73,-5403.72C201.96,-5335.66 212.48,-5109.17 338,-4998.5 344.49,-4992.78 352.12,-4988.54 360.26,-4985.42"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.23,-5403.91 201.77,-5413.89 205.23,-5403.88 198.23,-5403.91"/>
+<path fill="none" stroke="#63b8ff" d="M202.07,-5401.74C203.44,-5335.64 217.36,-5120.43 338,-5015.5 344.52,-5009.83 352.19,-5005.61 360.33,-5002.51"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.56,-5401.94 201.94,-5411.98 205.56,-5402.03 198.56,-5401.94"/>
</a>
</g>
</g>
@@ -4119,8 +4101,8 @@
<g id="Node000157" class="node">
<title>Node157</title>
<g id="a_Node000157"><a xlink:href="classtvm_1_1prim_1_1LetNode.html" target="_top" xlink:title="Let binding. Bind var to value then evaluate body.">
-<polygon fill="white" stroke="#666666" points="496.5,-4952 385.5,-4952 385.5,-4933 496.5,-4933 496.5,-4952"/>
-<text text-anchor="middle" x="441" y="-4940" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LetNode</text>
+<polygon fill="white" stroke="#666666" points="496.5,-4969 385.5,-4969 385.5,-4950 496.5,-4950 496.5,-4969"/>
+<text text-anchor="middle" x="441" y="-4957" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LetNode</text>
</a>
</g>
</g>
@@ -4128,8 +4110,8 @@
<g id="edge161_Node000088_Node000157" class="edge">
<title>Node88->Node157</title>
<g id="a_edge161_Node000088_Node000157"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M205.06,-5403.56C217.83,-5323.07 269.38,-5023.45 338,-4961.5 350.84,-4949.91 368.39,-4944.34 385.32,-4941.91"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="201.55,-5403.37 203.46,-5413.79 208.47,-5404.45 201.55,-5403.37"/>
+<path fill="none" stroke="#63b8ff" d="M201.44,-5401.81C200.6,-5332.05 207.78,-5094.69 338,-4978.5 350.9,-4966.99 368.47,-4961.44 385.39,-4959"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="197.94,-5401.92 201.63,-5411.85 204.94,-5401.78 197.94,-5401.92"/>
</a>
</g>
</g>
@@ -4137,8 +4119,8 @@
<g id="Node000158" class="node">
<title>Node158</title>
<g id="a_Node000158"><a xlink:href="classtvm_1_1prim_1_1NotNode.html" target="_top" xlink:title="!a">
-<polygon fill="white" stroke="#666666" points="497.5,-4915 384.5,-4915 384.5,-4896 497.5,-4896 497.5,-4915"/>
-<text text-anchor="middle" x="441" y="-4903" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::NotNode</text>
+<polygon fill="white" stroke="#666666" points="497.5,-4932 384.5,-4932 384.5,-4913 497.5,-4913 497.5,-4932"/>
+<text text-anchor="middle" x="441" y="-4920" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::NotNode</text>
</a>
</g>
</g>
@@ -4146,8 +4128,8 @@
<g id="edge162_Node000088_Node000158" class="edge">
<title>Node88->Node158</title>
<g id="a_edge162_Node000088_Node000158"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.56,-5403.87C215.92,-5319.93 264.45,-4992.26 338,-4924.5 350.52,-4912.97 367.69,-4907.36 384.38,-4904.87"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="201.08,-5403.48 203.23,-5413.86 208.02,-5404.41 201.08,-5403.48"/>
+<path fill="none" stroke="#63b8ff" d="M204.79,-5401.84C216.83,-5319.83 266.95,-5006.3 338,-4941.5 350.58,-4930.03 367.77,-4924.44 384.45,-4921.95"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="201.31,-5401.43 203.35,-5411.82 208.24,-5402.43 201.31,-5401.43"/>
</a>
</g>
</g>
@@ -4155,8 +4137,8 @@
<g id="Node000159" class="node">
<title>Node159</title>
<g id="a_Node000159"><a xlink:href="classtvm_1_1prim_1_1OrNode.html" target="_top" xlink:title="a || b">
-<polygon fill="white" stroke="#666666" points="494.5,-4878 387.5,-4878 387.5,-4859 494.5,-4859 494.5,-4878"/>
-<text text-anchor="middle" x="441" y="-4866" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::OrNode</text>
+<polygon fill="white" stroke="#666666" points="494.5,-4895 387.5,-4895 387.5,-4876 494.5,-4876 494.5,-4895"/>
+<text text-anchor="middle" x="441" y="-4883" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::OrNode</text>
</a>
</g>
</g>
@@ -4164,8 +4146,8 @@
<g id="edge163_Node000088_Node000159" class="edge">
<title>Node88->Node159</title>
<g id="a_edge163_Node000088_Node000159"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M204.21,-5403.56C214.39,-5315.29 259.67,-4960.95 338,-4887.5 351.21,-4875.12 369.76,-4869.53 387.43,-4867.31"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.72,-5403.25 203.07,-5413.58 207.68,-5404.04 200.72,-5403.25"/>
+<path fill="none" stroke="#63b8ff" d="M204.35,-5401.99C215.06,-5316.39 262.04,-4975.1 338,-4904.5 351.26,-4892.18 369.83,-4886.6 387.49,-4884.37"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.88,-5401.58 203.13,-5411.93 207.82,-5402.43 200.88,-5401.58"/>
</a>
</g>
</g>
@@ -4173,8 +4155,8 @@
<g id="Node000160" class="node">
<title>Node160</title>
<g id="a_Node000160"><a xlink:href="classtvm_1_1prim_1_1RampNode.html" target="_top" xlink:title="Construct a vector with lanes elements where its i-th element equals base + i * stride....">
-<polygon fill="white" stroke="#666666" points="503.5,-4841 378.5,-4841 378.5,-4822 503.5,-4822 503.5,-4841"/>
-<text text-anchor="middle" x="441" y="-4829" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::RampNode</text>
+<polygon fill="white" stroke="#666666" points="503.5,-4858 378.5,-4858 378.5,-4839 503.5,-4839 503.5,-4858"/>
+<text text-anchor="middle" x="441" y="-4846" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::RampNode</text>
</a>
</g>
</g>
@@ -4182,8 +4164,8 @@
<g id="edge164_Node000088_Node000160" class="edge">
<title>Node88->Node160</title>
<g id="a_edge164_Node000088_Node000160"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.85,-5403.67C212.81,-5311.94 254.75,-4929.78 338,-4850.5 348.89,-4840.13 363.53,-4834.5 378.31,-4831.63"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.35,-5403.52 202.88,-5413.8 207.32,-5404.18 200.35,-5403.52"/>
+<path fill="none" stroke="#63b8ff" d="M204.04,-5401.48C213.65,-5311.27 257.32,-4943.74 338,-4867.5 348.93,-4857.17 363.58,-4851.56 378.37,-4848.68"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.53,-5401.38 202.97,-5411.69 207.5,-5402.11 200.53,-5401.38"/>
</a>
</g>
</g>
@@ -4191,8 +4173,8 @@
<g id="Node000161" class="node">
<title>Node161</title>
<g id="a_Node000161"><a xlink:href="classtvm_1_1prim_1_1SelectNode.html" target="_top" xlink:title="return true_value if condition is true, otherwise return false_value.">
-<polygon fill="white" stroke="#666666" points="504,-4804 378,-4804 378,-4785 504,-4785 504,-4804"/>
-<text text-anchor="middle" x="441" y="-4792" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::SelectNode</text>
+<polygon fill="white" stroke="#666666" points="504,-4821 378,-4821 378,-4802 504,-4802 504,-4821"/>
+<text text-anchor="middle" x="441" y="-4809" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::SelectNode</text>
</a>
</g>
</g>
@@ -4200,8 +4182,8 @@
<g id="edge165_Node000088_Node000161" class="edge">
<title>Node88->Node161</title>
<g id="a_edge165_Node000088_Node000161"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.55,-5403.61C211.39,-5308.22 249.86,-4898.59 338,-4813.5 348.76,-4803.12 363.26,-4797.47 377.95,-4794.58"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="200.06,-5403.4 202.74,-5413.65 207.03,-5403.96 200.06,-5403.4"/>
+<path fill="none" stroke="#63b8ff" d="M203.67,-5401.94C212.03,-5308.96 252.28,-4912.69 338,-4830.5 348.79,-4820.15 363.31,-4814.52 378,-4811.63"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="200.18,-5401.68 202.79,-5411.95 207.16,-5402.3 200.18,-5401.68"/>
</a>
</g>
</g>
@@ -4209,8 +4191,8 @@
<g id="Node000162" class="node">
<title>Node162</title>
<g id="a_Node000162"><a xlink:href="classtvm_1_1prim_1_1ShuffleNode.html" target="_top" xlink:title="Shuffle instruction. vec = concat(vectors) result = (vec[indices[0]], vec[indices[1]] ....">
-<polygon fill="white" stroke="#666666" points="506,-4767 376,-4767 376,-4748 506,-4748 506,-4767"/>
-<text text-anchor="middle" x="441" y="-4755" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::ShuffleNode</text>
+<polygon fill="white" stroke="#666666" points="506,-4784 376,-4784 376,-4765 506,-4765 506,-4784"/>
+<text text-anchor="middle" x="441" y="-4772" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::ShuffleNode</text>
</a>
</g>
</g>
@@ -4218,8 +4200,8 @@
<g id="edge166_Node000088_Node000162" class="edge">
<title>Node88->Node162</title>
<g id="a_edge166_Node000088_Node000162"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.3,-5403.37C210.1,-5304.04 245.02,-4867.36 338,-4776.5 348.18,-4766.55 361.79,-4760.94 375.74,-4757.93"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.79,-5403.32 202.62,-5413.54 206.77,-5403.79 199.79,-5403.32"/>
+<path fill="none" stroke="#63b8ff" d="M203.41,-5401.66C210.72,-5304.65 247.46,-4881.45 338,-4793.5 348.21,-4783.59 361.83,-4777.98 375.78,-4774.97"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.91,-5401.59 202.66,-5411.82 206.89,-5402.11 199.91,-5401.59"/>
</a>
</g>
</g>
@@ -4227,8 +4209,8 @@
<g id="Node000163" class="node">
<title>Node163</title>
<g id="a_Node000163"><a xlink:href="classtvm_1_1relax_1_1IfNode.html" target="_top" xlink:title="Condition expression.">
-<polygon fill="white" stroke="#666666" points="493.5,-4730 388.5,-4730 388.5,-4711 493.5,-4711 493.5,-4730"/>
-<text text-anchor="middle" x="441" y="-4718" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IfNode</text>
+<polygon fill="white" stroke="#666666" points="493.5,-4747 388.5,-4747 388.5,-4728 493.5,-4728 493.5,-4747"/>
+<text text-anchor="middle" x="441" y="-4735" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::IfNode</text>
</a>
</g>
</g>
@@ -4236,8 +4218,8 @@
<g id="edge167_Node000088_Node000163" class="edge">
<title>Node88->Node163</title>
<g id="a_edge167_Node000088_Node000163"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M203.02,-5403.85C208.72,-5302.15 239.93,-4836.39 338,-4739.5 351.2,-4726.46 370.29,-4720.84 388.39,-4718.77"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.52,-5403.78 202.47,-5413.95 206.51,-5404.15 199.52,-5403.78"/>
+<path fill="none" stroke="#63b8ff" d="M203.17,-5401.46C209.45,-5300.65 242.59,-4850.25 338,-4756.5 351.23,-4743.5 370.33,-4737.88 388.43,-4735.81"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.65,-5401.55 202.54,-5411.74 206.64,-5401.97 199.65,-5401.55"/>
</a>
</g>
</g>
@@ -4245,8 +4227,8 @@
<g id="Node000164" class="node">
<title>Node164</title>
<g id="a_Node000164"><a xlink:href="classtvm_1_1relax_1_1SeqExprNode.html" target="_top" xlink:title="A sequence of blocks followed by an expression.">
-<polygon fill="white" stroke="#666666" points="510,-4693 372,-4693 372,-4674 510,-4674 510,-4693"/>
-<text text-anchor="middle" x="441" y="-4681" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SeqExprNode</text>
+<polygon fill="white" stroke="#666666" points="510,-4710 372,-4710 372,-4691 510,-4691 510,-4710"/>
+<text text-anchor="middle" x="441" y="-4698" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SeqExprNode</text>
</a>
</g>
</g>
@@ -4254,8 +4236,8 @@
<g id="edge168_Node000088_Node000164" class="edge">
<title>Node88->Node164</title>
<g id="a_edge168_Node000088_Node000164"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.81,-5403.8C207.53,-5298.73 235,-4805.26 338,-4702.5 347.18,-4693.34 359.27,-4687.83 371.9,-4684.64"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.31,-5403.79 202.37,-5413.94 206.3,-5404.1 199.31,-5403.79"/>
+<path fill="none" stroke="#63b8ff" d="M202.92,-5401.66C208.17,-5297.96 237.59,-4819.19 338,-4719.5 347.2,-4710.36 359.3,-4704.86 371.93,-4701.68"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.43,-5401.54 202.43,-5411.7 206.42,-5401.88 199.43,-5401.54"/>
</a>
</g>
</g>
@@ -4263,8 +4245,8 @@
<g id="Node000165" class="node">
<title>Node165</title>
<g id="a_Node000165"><a xlink:href="classtvm_1_1relax_1_1ShapeExprNode.html" target="_top" xlink:title="A shape expression which allows users to construct a shape containing PrimExpr.">
-<polygon fill="white" stroke="#666666" points="516,-4656 366,-4656 366,-4637 516,-4637 516,-4656"/>
-<text text-anchor="middle" x="441" y="-4644" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ShapeExprNode</text>
+<polygon fill="white" stroke="#666666" points="516,-4673 366,-4673 366,-4654 516,-4654 516,-4673"/>
+<text text-anchor="middle" x="441" y="-4661" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ShapeExprNode</text>
</a>
</g>
</g>
@@ -4272,8 +4254,8 @@
<g id="edge169_Node000088_Node000165" class="edge">
<title>Node88->Node165</title>
<g id="a_edge169_Node000088_Node000165"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.61,-5403.82C206.39,-5295.63 230.04,-4774.18 338,-4665.5 345.68,-4657.77 355.43,-4652.63 365.84,-4649.29"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="199.11,-5403.85 202.28,-5413.96 206.1,-5404.08 199.11,-5403.85"/>
+<path fill="none" stroke="#63b8ff" d="M202.72,-5401.64C206.99,-5294.67 232.65,-4788.08 338,-4682.5 345.7,-4674.79 355.45,-4669.66 365.87,-4666.32"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.22,-5401.57 202.33,-5411.7 206.21,-5401.84 199.22,-5401.57"/>
</a>
</g>
</g>
@@ -4281,8 +4263,8 @@
<g id="Node000166" class="node">
<title>Node166</title>
<g id="a_Node000166"><a xlink:href="classtvm_1_1sym_1_1IterMapExprNode.html" target="_top" xlink:title="Base class of all iter map expressions.">
-<polygon fill="white" stroke="#666666" points="518,-4619 364,-4619 364,-4600 518,-4600 518,-4619"/>
-<text text-anchor="middle" x="441" y="-4607" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterMapExprNode</text>
+<polygon fill="white" stroke="#666666" points="518,-4636 364,-4636 364,-4617 518,-4617 518,-4636"/>
+<text text-anchor="middle" x="441" y="-4624" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterMapExprNode</text>
</a>
</g>
</g>
@@ -4290,8 +4272,26 @@
<g id="edge170_Node000088_Node000166" class="edge">
<title>Node88->Node166</title>
<g id="a_edge170_Node000088_Node000166"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M202.44,-5403.57C205.33,-5291.72 225.16,-4743.01 338,-4628.5 345.21,-4621.19 354.26,-4616.19 363.98,-4612.84"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="198.94,-5403.68 202.19,-5413.76 205.93,-5403.85 198.94,-5403.68"/>
+<path fill="none" stroke="#63b8ff" d="M202.53,-5401.71C205.87,-5291.75 227.67,-4757.02 338,-4645.5 345.16,-4638.27 354.12,-4633.3 363.75,-4629.95"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="199.02,-5401.9 202.23,-5411.99 206.02,-5402.1 199.02,-5401.9"/>
+</a>
+</g>
+</g>
+<!-- Node169 -->
+<g id="Node000169" class="node">
+<title>Node169</title>
+<g id="a_Node000169"><a xlink:href="classtvm_1_1tirx_1_1LambdaExprNode.html" target="_top" xlink:title="A reified Python lambda: a list of bound variables and a body over them.">
+<polygon fill="white" stroke="#666666" points="516.5,-4599 365.5,-4599 365.5,-4580 516.5,-4580 516.5,-4599"/>
+<text text-anchor="middle" x="441" y="-4587" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::LambdaExprNode</text>
+</a>
+</g>
+</g>
+<!-- Node88->Node169 -->
+<g id="edge173_Node000088_Node000169" class="edge">
+<title>Node88->Node169</title>
+<g id="a_edge173_Node000088_Node000169"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M202.36,-5401.48C204.82,-5287.94 222.77,-4725.87 338,-4608.5 345.57,-4600.79 355.2,-4595.65 365.5,-4592.3"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="198.85,-5401.74 202.15,-5411.81 205.85,-5401.88 198.85,-5401.74"/>
</a>
</g>
</g>
@@ -4299,8 +4299,8 @@
<g id="Node000090" class="node">
<title>Node90</title>
<g id="a_Node000090"><a xlink:href="classtvm_1_1prim_1_1AddNode.html" target="_top" xlink:title="a + b">
-<polygon fill="white" stroke="#666666" points="733.5,-6536 618.5,-6536 618.5,-6517 733.5,-6517 733.5,-6536"/>
-<text text-anchor="middle" x="676" y="-6524" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::AddNode</text>
+<polygon fill="white" stroke="#666666" points="733.5,-6553 618.5,-6553 618.5,-6534 733.5,-6534 733.5,-6553"/>
+<text text-anchor="middle" x="676" y="-6541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::AddNode</text>
</a>
</g>
</g>
@@ -4308,8 +4308,8 @@
<g id="edge94_Node000089_Node000090" class="edge">
<title>Node89->Node90</title>
<g id="a_edge94_Node000089_Node000090"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.74,-6526.5C553.48,-6526.5 589.27,-6526.5 618.28,-6526.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6523 511.59,-6526.5 521.59,-6530 521.59,-6523"/>
+<path fill="none" stroke="#63b8ff" d="M521.74,-6543.5C553.48,-6543.5 589.27,-6543.5 618.28,-6543.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6540 511.59,-6543.5 521.59,-6547 521.59,-6540"/>
</a>
</g>
</g>
@@ -4317,8 +4317,8 @@
<g id="Node000092" class="node">
<title>Node92</title>
<g id="a_Node000092"><a xlink:href="classtvm_1_1prim_1_1BitwiseAndNode.html" target="_top" xlink:title="a & b">
-<polygon fill="white" stroke="#666666" points="751.5,-6488 600.5,-6488 600.5,-6469 751.5,-6469 751.5,-6488"/>
-<text text-anchor="middle" x="676" y="-6476" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseAndNode</text>
+<polygon fill="white" stroke="#666666" points="751.5,-6505 600.5,-6505 600.5,-6486 751.5,-6486 751.5,-6505"/>
+<text text-anchor="middle" x="676" y="-6493" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseAndNode</text>
</a>
</g>
</g>
@@ -4326,8 +4326,8 @@
<g id="edge96_Node000091_Node000092" class="edge">
<title>Node91->Node92</title>
<g id="a_edge96_Node000091_Node000092"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.61,-6478.5C547.15,-6478.5 575.33,-6478.5 600.49,-6478.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6475 511.59,-6478.5 521.59,-6482 521.59,-6475"/>
+<path fill="none" stroke="#63b8ff" d="M521.61,-6495.5C547.15,-6495.5 575.33,-6495.5 600.49,-6495.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6492 511.59,-6495.5 521.59,-6499 521.59,-6492"/>
</a>
</g>
</g>
@@ -4335,8 +4335,8 @@
<g id="Node000094" class="node">
<title>Node94</title>
<g id="a_Node000094"><a xlink:href="classtvm_1_1prim_1_1BitwiseOrNode.html" target="_top" xlink:title="a | b">
-<polygon fill="white" stroke="#666666" points="747.5,-6440 604.5,-6440 604.5,-6421 747.5,-6421 747.5,-6440"/>
-<text text-anchor="middle" x="676" y="-6428" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseOrNode</text>
+<polygon fill="white" stroke="#666666" points="747.5,-6457 604.5,-6457 604.5,-6438 747.5,-6438 747.5,-6457"/>
+<text text-anchor="middle" x="676" y="-6445" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseOrNode</text>
</a>
</g>
</g>
@@ -4344,8 +4344,8 @@
<g id="edge98_Node000093_Node000094" class="edge">
<title>Node93->Node94</title>
<g id="a_edge98_Node000093_Node000094"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.7,-6430.5C548.46,-6430.5 578.12,-6430.5 604.15,-6430.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6427 511.59,-6430.5 521.59,-6434 521.59,-6427"/>
+<path fill="none" stroke="#63b8ff" d="M521.7,-6447.5C548.46,-6447.5 578.12,-6447.5 604.15,-6447.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6444 511.59,-6447.5 521.59,-6451 521.59,-6444"/>
</a>
</g>
</g>
@@ -4353,8 +4353,8 @@
<g id="Node000096" class="node">
<title>Node96</title>
<g id="a_Node000096"><a xlink:href="classtvm_1_1prim_1_1BitwiseXorNode.html" target="_top" xlink:title="a ^ b">
-<polygon fill="white" stroke="#666666" points="750.5,-6392 601.5,-6392 601.5,-6373 750.5,-6373 750.5,-6392"/>
-<text text-anchor="middle" x="676" y="-6380" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseXorNode</text>
+<polygon fill="white" stroke="#666666" points="750.5,-6409 601.5,-6409 601.5,-6390 750.5,-6390 750.5,-6409"/>
+<text text-anchor="middle" x="676" y="-6397" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::BitwiseXorNode</text>
</a>
</g>
</g>
@@ -4362,8 +4362,8 @@
<g id="edge100_Node000095_Node000096" class="edge">
<title>Node95->Node96</title>
<g id="a_edge100_Node000095_Node000096"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.71,-6382.5C547.5,-6382.5 575.98,-6382.5 601.31,-6382.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6379 511.59,-6382.5 521.59,-6386 521.59,-6379"/>
+<path fill="none" stroke="#63b8ff" d="M521.71,-6399.5C547.5,-6399.5 575.98,-6399.5 601.31,-6399.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6396 511.59,-6399.5 521.59,-6403 521.59,-6396"/>
</a>
</g>
</g>
@@ -4371,8 +4371,8 @@
<g id="Node000098" class="node">
<title>Node98</title>
<g id="a_Node000098"><a xlink:href="classtvm_1_1prim_1_1DivNode.html" target="_top" xlink:title="a / b in the C semnatics.">
-<polygon fill="white" stroke="#666666" points="732.5,-6344 619.5,-6344 619.5,-6325 732.5,-6325 732.5,-6344"/>
-<text text-anchor="middle" x="676" y="-6332" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::DivNode</text>
+<polygon fill="white" stroke="#666666" points="732.5,-6361 619.5,-6361 619.5,-6342 732.5,-6342 732.5,-6361"/>
+<text text-anchor="middle" x="676" y="-6349" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::DivNode</text>
</a>
</g>
</g>
@@ -4380,8 +4380,8 @@
<g id="edge102_Node000097_Node000098" class="edge">
<title>Node97->Node98</title>
<g id="a_edge102_Node000097_Node000098"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.86,-6334.5C553.99,-6334.5 590.25,-6334.5 619.42,-6334.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6331 511.59,-6334.5 521.59,-6338 521.59,-6331"/>
+<path fill="none" stroke="#63b8ff" d="M521.86,-6351.5C553.99,-6351.5 590.25,-6351.5 619.42,-6351.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6348 511.59,-6351.5 521.59,-6355 521.59,-6348"/>
</a>
</g>
</g>
@@ -4389,8 +4389,8 @@
<g id="Node000100" class="node">
<title>Node100</title>
<g id="a_Node000100"><a xlink:href="classtvm_1_1prim_1_1FloorDivNode.html" target="_top" xlink:title="Floor division, floor(a/b)">
-<polygon fill="white" stroke="#666666" points="744.5,-6296 607.5,-6296 607.5,-6277 744.5,-6277 744.5,-6296"/>
-<text text-anchor="middle" x="676" y="-6284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::FloorDivNode</text>
+<polygon fill="white" stroke="#666666" points="744.5,-6313 607.5,-6313 607.5,-6294 744.5,-6294 744.5,-6313"/>
+<text text-anchor="middle" x="676" y="-6301" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::FloorDivNode</text>
</a>
</g>
</g>
@@ -4398,8 +4398,8 @@
<g id="edge104_Node000099_Node000100" class="edge">
<title>Node99->Node100</title>
<g id="a_edge104_Node000099_Node000100"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.71,-6286.5C549.58,-6286.5 580.58,-6286.5 607.37,-6286.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6283 511.59,-6286.5 521.59,-6290 521.59,-6283"/>
+<path fill="none" stroke="#63b8ff" d="M521.71,-6303.5C549.58,-6303.5 580.58,-6303.5 607.37,-6303.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6300 511.59,-6303.5 521.59,-6307 521.59,-6300"/>
</a>
</g>
</g>
@@ -4407,8 +4407,8 @@
<g id="Node000102" class="node">
<title>Node102</title>
<g id="a_Node000102"><a xlink:href="classtvm_1_1prim_1_1FloorModNode.html" target="_top" xlink:title="The remainder of the floordiv.">
-<polygon fill="white" stroke="#666666" points="747,-6248 605,-6248 605,-6229 747,-6229 747,-6248"/>
-<text text-anchor="middle" x="676" y="-6236" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::FloorModNode</text>
+<polygon fill="white" stroke="#666666" points="747,-6265 605,-6265 605,-6246 747,-6246 747,-6265"/>
+<text text-anchor="middle" x="676" y="-6253" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::FloorModNode</text>
</a>
</g>
</g>
@@ -4416,8 +4416,8 @@
<g id="edge106_Node000101_Node000102" class="edge">
<title>Node101->Node102</title>
<g id="a_edge106_Node000101_Node000102"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.79,-6238.5C548.81,-6238.5 578.76,-6238.5 604.96,-6238.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6235 511.59,-6238.5 521.59,-6242 521.59,-6235"/>
+<path fill="none" stroke="#63b8ff" d="M521.79,-6255.5C548.81,-6255.5 578.76,-6255.5 604.96,-6255.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6252 511.59,-6255.5 521.59,-6259 521.59,-6252"/>
</a>
</g>
</g>
@@ -4425,8 +4425,8 @@
<g id="Node000104" class="node">
<title>Node104</title>
<g id="a_Node000104"><a xlink:href="classtvm_1_1prim_1_1LShiftNode.html" target="_top" xlink:title="a << b">
-<polygon fill="white" stroke="#666666" points="737.5,-6200 614.5,-6200 614.5,-6181 737.5,-6181 737.5,-6200"/>
-<text text-anchor="middle" x="676" y="-6188" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LShiftNode</text>
+<polygon fill="white" stroke="#666666" points="737.5,-6217 614.5,-6217 614.5,-6198 737.5,-6198 737.5,-6217"/>
+<text text-anchor="middle" x="676" y="-6205" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LShiftNode</text>
</a>
</g>
</g>
@@ -4434,8 +4434,8 @@
<g id="edge108_Node000103_Node000104" class="edge">
<title>Node103->Node104</title>
<g id="a_edge108_Node000103_Node000104"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.73,-6190.5C552.09,-6190.5 586.16,-6190.5 614.45,-6190.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6187 511.59,-6190.5 521.59,-6194 521.59,-6187"/>
+<path fill="none" stroke="#63b8ff" d="M521.73,-6207.5C552.09,-6207.5 586.16,-6207.5 614.45,-6207.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6204 511.59,-6207.5 521.59,-6211 521.59,-6204"/>
</a>
</g>
</g>
@@ -4443,8 +4443,8 @@
<g id="Node000106" class="node">
<title>Node106</title>
<g id="a_Node000106"><a xlink:href="classtvm_1_1prim_1_1MaxNode.html" target="_top" xlink:title="max(a, b)">
-<polygon fill="white" stroke="#666666" points="734.5,-6152 617.5,-6152 617.5,-6133 734.5,-6133 734.5,-6152"/>
-<text text-anchor="middle" x="676" y="-6140" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::MaxNode</text>
+<polygon fill="white" stroke="#666666" points="734.5,-6169 617.5,-6169 617.5,-6150 734.5,-6150 734.5,-6169"/>
+<text text-anchor="middle" x="676" y="-6157" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::MaxNode</text>
</a>
</g>
</g>
@@ -4452,8 +4452,8 @@
<g id="edge110_Node000105_Node000106" class="edge">
<title>Node105->Node106</title>
<g id="a_edge110_Node000105_Node000106"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.62,-6142.5C552.97,-6142.5 588.3,-6142.5 617.14,-6142.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6139 511.59,-6142.5 521.59,-6146 521.59,-6139"/>
+<path fill="none" stroke="#63b8ff" d="M521.62,-6159.5C552.97,-6159.5 588.3,-6159.5 617.14,-6159.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6156 511.59,-6159.5 521.59,-6163 521.59,-6156"/>
</a>
</g>
</g>
@@ -4461,8 +4461,8 @@
<g id="Node000108" class="node">
<title>Node108</title>
<g id="a_Node000108"><a xlink:href="classtvm_1_1prim_1_1MinNode.html" target="_top" xlink:title="min(a, b)">
-<polygon fill="white" stroke="#666666" points="733,-6104 619,-6104 619,-6085 733,-6085 733,-6104"/>
-<text text-anchor="middle" x="676" y="-6092" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::MinNode</text>
+<polygon fill="white" stroke="#666666" points="733,-6121 619,-6121 619,-6102 733,-6102 733,-6121"/>
+<text text-anchor="middle" x="676" y="-6109" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::MinNode</text>
</a>
</g>
</g>
@@ -4470,8 +4470,8 @@
<g id="edge112_Node000107_Node000108" class="edge">
<title>Node107->Node108</title>
<g id="a_edge112_Node000107_Node000108"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.78,-6094.5C553.65,-6094.5 589.6,-6094.5 618.66,-6094.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6091 511.59,-6094.5 521.59,-6098 521.59,-6091"/>
+<path fill="none" stroke="#63b8ff" d="M521.78,-6111.5C553.65,-6111.5 589.6,-6111.5 618.66,-6111.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6108 511.59,-6111.5 521.59,-6115 521.59,-6108"/>
</a>
</g>
</g>
@@ -4479,8 +4479,8 @@
<g id="Node000110" class="node">
<title>Node110</title>
<g id="a_Node000110"><a xlink:href="classtvm_1_1prim_1_1ModNode.html" target="_top" xlink:title="a % b in the C semnatics.">
-<polygon fill="white" stroke="#666666" points="734.5,-6056 617.5,-6056 617.5,-6037 734.5,-6037 734.5,-6056"/>
-<text text-anchor="middle" x="676" y="-6044" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::ModNode</text>
+<polygon fill="white" stroke="#666666" points="734.5,-6073 617.5,-6073 617.5,-6054 734.5,-6054 734.5,-6073"/>
+<text text-anchor="middle" x="676" y="-6061" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::ModNode</text>
</a>
</g>
</g>
@@ -4488,8 +4488,8 @@
<g id="edge114_Node000109_Node000110" class="edge">
<title>Node109->Node110</title>
<g id="a_edge114_Node000109_Node000110"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.62,-6046.5C552.97,-6046.5 588.3,-6046.5 617.14,-6046.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6043 511.59,-6046.5 521.59,-6050 521.59,-6043"/>
+<path fill="none" stroke="#63b8ff" d="M521.62,-6063.5C552.97,-6063.5 588.3,-6063.5 617.14,-6063.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6060 511.59,-6063.5 521.59,-6067 521.59,-6060"/>
</a>
</g>
</g>
@@ -4497,8 +4497,8 @@
<g id="Node000112" class="node">
<title>Node112</title>
<g id="a_Node000112"><a xlink:href="classtvm_1_1prim_1_1MulNode.html" target="_top" xlink:title="a * b">
-<polygon fill="white" stroke="#666666" points="733,-6008 619,-6008 619,-5989 733,-5989 733,-6008"/>
-<text text-anchor="middle" x="676" y="-5996" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::MulNode</text>
+<polygon fill="white" stroke="#666666" points="733,-6025 619,-6025 619,-6006 733,-6006 733,-6025"/>
+<text text-anchor="middle" x="676" y="-6013" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::MulNode</text>
</a>
</g>
</g>
@@ -4506,8 +4506,8 @@
<g id="edge116_Node000111_Node000112" class="edge">
<title>Node111->Node112</title>
<g id="a_edge116_Node000111_Node000112"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.78,-5998.5C553.65,-5998.5 589.6,-5998.5 618.66,-5998.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-5995 511.59,-5998.5 521.59,-6002 521.59,-5995"/>
+<path fill="none" stroke="#63b8ff" d="M521.78,-6015.5C553.65,-6015.5 589.6,-6015.5 618.66,-6015.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-6012 511.59,-6015.5 521.59,-6019 521.59,-6012"/>
</a>
</g>
</g>
@@ -4515,8 +4515,8 @@
<g id="Node000114" class="node">
<title>Node114</title>
<g id="a_Node000114"><a xlink:href="classtvm_1_1prim_1_1RShiftNode.html" target="_top" xlink:title="a >> b">
-<polygon fill="white" stroke="#666666" points="738.5,-5960 613.5,-5960 613.5,-5941 738.5,-5941 738.5,-5960"/>
-<text text-anchor="middle" x="676" y="-5948" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::RShiftNode</text>
+<polygon fill="white" stroke="#666666" points="738.5,-5977 613.5,-5977 613.5,-5958 738.5,-5958 738.5,-5977"/>
+<text text-anchor="middle" x="676" y="-5965" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::RShiftNode</text>
</a>
</g>
</g>
@@ -4524,8 +4524,8 @@
<g id="edge118_Node000113_Node000114" class="edge">
<title>Node113->Node114</title>
<g id="a_edge118_Node000113_Node000114"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.6,-5950.5C551.58,-5950.5 585.18,-5950.5 613.28,-5950.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-5947 511.59,-5950.5 521.59,-5954 521.59,-5947"/>
+<path fill="none" stroke="#63b8ff" d="M521.6,-5967.5C551.58,-5967.5 585.18,-5967.5 613.28,-5967.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-5964 511.59,-5967.5 521.59,-5971 521.59,-5964"/>
</a>
</g>
</g>
@@ -4533,8 +4533,8 @@
<g id="Node000116" class="node">
<title>Node116</title>
<g id="a_Node000116"><a xlink:href="classtvm_1_1prim_1_1SubNode.html" target="_top" xlink:title="a - b">
-<polygon fill="white" stroke="#666666" points="733,-5912 619,-5912 619,-5893 733,-5893 733,-5912"/>
-<text text-anchor="middle" x="676" y="-5900" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::SubNode</text>
+<polygon fill="white" stroke="#666666" points="733,-5929 619,-5929 619,-5910 733,-5910 733,-5929"/>
+<text text-anchor="middle" x="676" y="-5917" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::SubNode</text>
</a>
</g>
</g>
@@ -4542,8 +4542,8 @@
<g id="edge120_Node000115_Node000116" class="edge">
<title>Node115->Node116</title>
<g id="a_edge120_Node000115_Node000116"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M521.78,-5902.5C553.65,-5902.5 589.6,-5902.5 618.66,-5902.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-5899 511.59,-5902.5 521.59,-5906 521.59,-5899"/>
+<path fill="none" stroke="#63b8ff" d="M521.78,-5919.5C553.65,-5919.5 589.6,-5919.5 618.66,-5919.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="521.59,-5916 511.59,-5919.5 521.59,-5923 521.59,-5916"/>
</a>
</g>
</g>
@@ -4551,8 +4551,8 @@
<g id="Node000118" class="node">
<title>Node118</title>
<g id="a_Node000118"><a xlink:href="classtvm_1_1prim_1_1EQNode.html" target="_top" xlink:title="a == b">
-<polygon fill="white" stroke="#666666" points="731,-5864 621,-5864 621,-5845 731,-5845 731,-5864"/>
-<text text-anchor="middle" x="676" y="-5852" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::EQNode</text>
+<polygon fill="white" stroke="#666666" points="731,-5881 621,-5881 621,-5862 731,-5862 731,-5881"/>
+<text text-anchor="middle" x="676" y="-5869" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::EQNode</text>
</a>
</g>
</g>
@@ -4560,8 +4560,8 @@
<g id="edge122_Node000117_Node000118" class="edge">
<title>Node117->Node118</title>
<g id="a_edge122_Node000117_Node000118"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M517.48,-5854.5C551.17,-5854.5 590.09,-5854.5 620.82,-5854.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="517.21,-5851 507.21,-5854.5 517.21,-5858 517.21,-5851"/>
+<path fill="none" stroke="#63b8ff" d="M517.48,-5871.5C551.17,-5871.5 590.09,-5871.5 620.82,-5871.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="517.21,-5868 507.21,-5871.5 517.21,-5875 517.21,-5868"/>
</a>
</g>
</g>
@@ -4569,8 +4569,8 @@
<g id="Node000120" class="node">
<title>Node120</title>
<g id="a_Node000120"><a xlink:href="classtvm_1_1prim_1_1GENode.html" target="_top" xlink:title="a >= b">
-<polygon fill="white" stroke="#666666" points="731,-5816 621,-5816 621,-5797 731,-5797 731,-5816"/>
-<text text-anchor="middle" x="676" y="-5804" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::GENode</text>
+<polygon fill="white" stroke="#666666" points="731,-5833 621,-5833 621,-5814 731,-5814 731,-5833"/>
+<text text-anchor="middle" x="676" y="-5821" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::GENode</text>
</a>
</g>
</g>
@@ -4578,8 +4578,8 @@
<g id="edge124_Node000119_Node000120" class="edge">
<title>Node119->Node120</title>
<g id="a_edge124_Node000119_Node000120"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M517.48,-5806.5C551.17,-5806.5 590.09,-5806.5 620.82,-5806.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="517.21,-5803 507.21,-5806.5 517.21,-5810 517.21,-5803"/>
+<path fill="none" stroke="#63b8ff" d="M517.48,-5823.5C551.17,-5823.5 590.09,-5823.5 620.82,-5823.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="517.21,-5820 507.21,-5823.5 517.21,-5827 517.21,-5820"/>
</a>
</g>
</g>
@@ -4587,8 +4587,8 @@
<g id="Node000122" class="node">
<title>Node122</title>
<g id="a_Node000122"><a xlink:href="classtvm_1_1prim_1_1GTNode.html" target="_top" xlink:title="a > b">
-<polygon fill="white" stroke="#666666" points="731,-5773 621,-5773 621,-5754 731,-5754 731,-5773"/>
-<text text-anchor="middle" x="676" y="-5761" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::GTNode</text>
+<polygon fill="white" stroke="#666666" points="731,-5790 621,-5790 621,-5771 731,-5771 731,-5790"/>
+<text text-anchor="middle" x="676" y="-5778" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::GTNode</text>
</a>
</g>
</g>
@@ -4596,8 +4596,8 @@
<g id="edge126_Node000121_Node000122" class="edge">
<title>Node121->Node122</title>
<g id="a_edge126_Node000121_Node000122"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M517.48,-5760.12C551.17,-5760.84 590.09,-5761.68 620.82,-5762.34"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="517.29,-5756.61 507.21,-5759.9 517.14,-5763.61 517.29,-5756.61"/>
+<path fill="none" stroke="#63b8ff" d="M517.48,-5777.12C551.17,-5777.84 590.09,-5778.68 620.82,-5779.34"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="517.29,-5773.61 507.21,-5776.9 517.14,-5780.61 517.29,-5773.61"/>
</a>
</g>
</g>
@@ -4605,8 +4605,8 @@
<g id="Node000124" class="node">
<title>Node124</title>
<g id="a_Node000124"><a xlink:href="structtvm_1_1prim_1_1LENode.html" target="_top" xlink:title="a <= b">
-<polygon fill="white" stroke="#666666" points="729.5,-5736 622.5,-5736 622.5,-5717 729.5,-5717 729.5,-5736"/>
-<text text-anchor="middle" x="676" y="-5724" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LENode</text>
+<polygon fill="white" stroke="#666666" points="729.5,-5753 622.5,-5753 622.5,-5734 729.5,-5734 729.5,-5753"/>
+<text text-anchor="middle" x="676" y="-5741" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LENode</text>
</a>
</g>
</g>
@@ -4614,8 +4614,8 @@
<g id="edge128_Node000123_Node000124" class="edge">
<title>Node123->Node124</title>
<g id="a_edge128_Node000123_Node000124"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M517.2,-5715.66C551.5,-5718.02 591.3,-5720.75 622.34,-5722.88"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="517.43,-5712.17 507.21,-5714.98 516.95,-5719.16 517.43,-5712.17"/>
+<path fill="none" stroke="#63b8ff" d="M517.2,-5732.66C551.5,-5735.02 591.3,-5737.75 622.34,-5739.88"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="517.43,-5729.17 507.21,-5731.98 516.95,-5736.16 517.43,-5729.17"/>
</a>
</g>
</g>
@@ -4623,8 +4623,8 @@
<g id="Node000126" class="node">
<title>Node126</title>
<g id="a_Node000126"><a xlink:href="classtvm_1_1prim_1_1LTNode.html" target="_top" xlink:title="a < b">
-<polygon fill="white" stroke="#666666" points="729.5,-5699 622.5,-5699 622.5,-5680 729.5,-5680 729.5,-5699"/>
-<text text-anchor="middle" x="676" y="-5687" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LTNode</text>
+<polygon fill="white" stroke="#666666" points="729.5,-5716 622.5,-5716 622.5,-5697 729.5,-5697 729.5,-5716"/>
+<text text-anchor="middle" x="676" y="-5704" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::LTNode</text>
</a>
</g>
</g>
@@ -4632,8 +4632,8 @@
<g id="edge130_Node000125_Node000126" class="edge">
<title>Node125->Node126</title>
<g id="a_edge130_Node000125_Node000126"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M517.2,-5671.21C551.5,-5675.19 591.3,-5679.8 622.34,-5683.4"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="517.55,-5667.73 507.21,-5670.06 516.74,-5674.68 517.55,-5667.73"/>
+<path fill="none" stroke="#63b8ff" d="M517.2,-5688.21C551.5,-5692.19 591.3,-5696.8 622.34,-5700.4"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="517.55,-5684.73 507.21,-5687.06 516.74,-5691.68 517.55,-5684.73"/>
</a>
</g>
</g>
@@ -4641,8 +4641,8 @@
<g id="Node000128" class="node">
<title>Node128</title>
<g id="a_Node000128"><a xlink:href="classtvm_1_1prim_1_1NENode.html" target="_top" xlink:title="a != b">
-<polygon fill="white" stroke="#666666" points="731,-5662 621,-5662 621,-5643 731,-5643 731,-5662"/>
-<text text-anchor="middle" x="676" y="-5650" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::NENode</text>
+<polygon fill="white" stroke="#666666" points="731,-5679 621,-5679 621,-5660 731,-5660 731,-5679"/>
+<text text-anchor="middle" x="676" y="-5667" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::prim::NENode</text>
</a>
</g>
</g>
@@ -4650,8 +4650,8 @@
<g id="edge132_Node000127_Node000128" class="edge">
<title>Node127->Node128</title>
<g id="a_edge132_Node000127_Node000128"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M517.48,-5626.81C551.17,-5632.3 590.09,-5638.65 620.82,-5643.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="517.65,-5623.29 507.21,-5625.14 516.52,-5630.2 517.65,-5623.29"/>
+<path fill="none" stroke="#63b8ff" d="M517.48,-5643.81C551.17,-5649.3 590.09,-5655.65 620.82,-5660.66"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="517.65,-5640.29 507.21,-5642.14 516.52,-5647.2 517.65,-5640.29"/>
</a>
</g>
</g>
@@ -4659,8 +4659,8 @@
<g id="Node000130" class="node">
<title>Node130</title>
<g id="a_Node000130"><a xlink:href="classtvm_1_1relax_1_1ExternFuncNode.html" target="_top" xlink:title="The extern function, which can represent packed function.">
-<polygon fill="white" stroke="#666666" points="752,-5625 600,-5625 600,-5606 752,-5606 752,-5625"/>
-<text text-anchor="middle" x="676" y="-5613" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExternFuncNode</text>
+<polygon fill="white" stroke="#666666" points="752,-5642 600,-5642 600,-5623 752,-5623 752,-5642"/>
+<text text-anchor="middle" x="676" y="-5630" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExternFuncNode</text>
</a>
</g>
</g>
@@ -4668,8 +4668,8 @@
<g id="edge134_Node000129_Node000130" class="edge">
<title>Node129->Node130</title>
<g id="a_edge134_Node000129_Node000130"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M503.66,-5582.9C516.97,-5585.39 530.96,-5588.02 544,-5590.5 560.01,-5593.55 563.99,-5594.43 580,-5597.5 594.34,-5600.25 609.91,-5603.21 624.21,-5605.92"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="504.12,-5579.43 493.64,-5581.04 502.83,-5586.31 504.12,-5579.43"/>
+<path fill="none" stroke="#63b8ff" d="M503.66,-5599.9C516.97,-5602.39 530.96,-5605.02 544,-5607.5 560.01,-5610.55 563.99,-5611.43 580,-5614.5 594.34,-5617.25 609.91,-5620.21 624.21,-5622.92"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="504.12,-5596.43 493.64,-5598.04 502.83,-5603.31 504.12,-5596.43"/>
</a>
</g>
</g>
@@ -4677,8 +4677,8 @@
<g id="Node000131" class="node">
<title>Node131</title>
<g id="a_Node000131"><a xlink:href="classtvm_1_1relax_1_1FunctionNode.html" target="_top" xlink:title="A Relax function.">
-<polygon fill="white" stroke="#666666" points="746,-5588 606,-5588 606,-5569 746,-5569 746,-5588"/>
-<text text-anchor="middle" x="676" y="-5576" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FunctionNode</text>
+<polygon fill="white" stroke="#666666" points="746,-5605 606,-5605 606,-5586 746,-5586 746,-5605"/>
+<text text-anchor="middle" x="676" y="-5593" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FunctionNode</text>
</a>
</g>
</g>
@@ -4686,8 +4686,8 @@
<g id="edge135_Node000129_Node000131" class="edge">
<title>Node129->Node131</title>
<g id="a_edge135_Node000129_Node000131"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M508.2,-5573.49C538.66,-5574.4 574.8,-5575.49 605.63,-5576.42"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="508.21,-5569.99 498.11,-5573.19 508,-5576.98 508.21,-5569.99"/>
+<path fill="none" stroke="#63b8ff" d="M508.2,-5590.49C538.66,-5591.4 574.8,-5592.49 605.63,-5593.42"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="508.21,-5586.99 498.11,-5590.19 508,-5593.98 508.21,-5586.99"/>
</a>
</g>
</g>
@@ -4695,8 +4695,8 @@
<g id="Node000132" class="node">
<title>Node132</title>
<g id="a_Node000132"><a xlink:href="classtvm_1_1tirx_1_1PrimFuncNode.html" target="_top" xlink:title="Primitive functions that contains TIR statements.">
-<polygon fill="white" stroke="#666666" points="743.5,-5551 608.5,-5551 608.5,-5532 743.5,-5532 743.5,-5551"/>
-<text text-anchor="middle" x="676" y="-5539" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::PrimFuncNode</text>
+<polygon fill="white" stroke="#666666" points="743.5,-5568 608.5,-5568 608.5,-5549 743.5,-5549 743.5,-5568"/>
+<text text-anchor="middle" x="676" y="-5556" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::PrimFuncNode</text>
</a>
</g>
</g>
@@ -4704,8 +4704,8 @@
<g id="edge136_Node000129_Node000132" class="edge">
<title>Node129->Node132</title>
<g id="a_edge136_Node000129_Node000132"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M508.05,-5563C539.39,-5558.96 576.76,-5554.15 608.2,-5550.1"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="507.58,-5559.53 498.11,-5564.28 508.47,-5566.47 507.58,-5559.53"/>
+<path fill="none" stroke="#63b8ff" d="M508.05,-5580C539.39,-5575.96 576.76,-5571.15 608.2,-5567.1"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="507.58,-5576.53 498.11,-5581.28 508.47,-5583.47 507.58,-5576.53"/>
</a>
</g>
</g>
@@ -4713,8 +4713,8 @@
<g id="Node000135" class="node">
<title>Node135</title>
<g id="a_Node000135"><a xlink:href="classtvm_1_1DataTypeImmNode.html" target="_top" xlink:title="A data type literal with AnyType as its expression type.">
-<polygon fill="white" stroke="#666666" points="744,-5514 608,-5514 608,-5495 744,-5495 744,-5514"/>
-<text text-anchor="middle" x="676" y="-5502" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DataTypeImmNode</text>
+<polygon fill="white" stroke="#666666" points="744,-5531 608,-5531 608,-5512 744,-5512 744,-5531"/>
+<text text-anchor="middle" x="676" y="-5519" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::DataTypeImmNode</text>
</a>
</g>
</g>
@@ -4722,8 +4722,8 @@
<g id="edge139_Node000134_Node000135" class="edge">
<title>Node134->Node135</title>
<g id="a_edge139_Node000134_Node000135"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M507.03,-5499.45C538.44,-5500.4 576.12,-5501.53 607.81,-5502.48"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="506.73,-5495.94 496.63,-5499.14 506.52,-5502.94 506.73,-5495.94"/>
+<path fill="none" stroke="#63b8ff" d="M507.03,-5516.45C538.44,-5517.4 576.12,-5518.53 607.81,-5519.48"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="506.73,-5512.94 496.63,-5516.14 506.52,-5519.94 506.73,-5512.94"/>
</a>
</g>
</g>
@@ -4731,8 +4731,8 @@
<g id="Node000136" class="node">
<title>Node136</title>
<g id="a_Node000136"><a xlink:href="classtvm_1_1FloatImmNode.html" target="_top" xlink:title="Constant floating point literals in the program.">
-<polygon fill="white" stroke="#666666" points="733.5,-5477 618.5,-5477 618.5,-5458 733.5,-5458 733.5,-5477"/>
-<text text-anchor="middle" x="676" y="-5465" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FloatImmNode</text>
+<polygon fill="white" stroke="#666666" points="733.5,-5494 618.5,-5494 618.5,-5475 733.5,-5475 733.5,-5494"/>
+<text text-anchor="middle" x="676" y="-5482" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FloatImmNode</text>
</a>
</g>
</g>
@@ -4740,8 +4740,8 @@
<g id="edge140_Node000134_Node000136" class="edge">
<title>Node134->Node136</title>
<g id="a_edge140_Node000134_Node000136"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M506.75,-5489.16C541.76,-5484.66 584.59,-5479.14 618.28,-5474.8"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="506.1,-5485.72 496.63,-5490.47 506.99,-5492.66 506.1,-5485.72"/>
+<path fill="none" stroke="#63b8ff" d="M506.75,-5506.16C541.76,-5501.66 584.59,-5496.14 618.28,-5491.8"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="506.1,-5502.72 496.63,-5507.47 506.99,-5509.66 506.1,-5502.72"/>
</a>
</g>
</g>
@@ -4749,8 +4749,8 @@
<g id="Node000137" class="node">
<title>Node137</title>
<g id="a_Node000137"><a xlink:href="classtvm_1_1GenericConstNode.html" target="_top" xlink:title="A constant whose payload is separate from its expression type.">
-<polygon fill="white" stroke="#666666" points="742.5,-5440 609.5,-5440 609.5,-5421 742.5,-5421 742.5,-5440"/>
-<text text-anchor="middle" x="676" y="-5428" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GenericConstNode</text>
+<polygon fill="white" stroke="#666666" points="742.5,-5457 609.5,-5457 609.5,-5438 742.5,-5438 742.5,-5457"/>
+<text text-anchor="middle" x="676" y="-5445" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::GenericConstNode</text>
</a>
</g>
</g>
@@ -4758,8 +4758,8 @@
<g id="edge141_Node000134_Node000137" class="edge">
<title>Node134->Node137</title>
<g id="a_edge141_Node000134_Node000137"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M506.66,-5491.31C519.41,-5488.66 532.42,-5484.88 544,-5479.5 562.89,-5470.73 561.21,-5458.49 580,-5449.5 589.18,-5445.11 599.33,-5441.73 609.47,-5439.14"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="505.71,-5487.93 496.53,-5493.21 507,-5494.81 505.71,-5487.93"/>
+<path fill="none" stroke="#63b8ff" d="M506.66,-5508.31C519.41,-5505.66 532.42,-5501.88 544,-5496.5 562.89,-5487.73 561.21,-5475.49 580,-5466.5 589.18,-5462.11 599.33,-5458.73 609.47,-5456.14"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="505.71,-5504.93 496.53,-5510.21 507,-5511.81 505.71,-5504.93"/>
</a>
</g>
</g>
@@ -4767,8 +4767,8 @@
<g id="Node000138" class="node">
<title>Node138</title>
<g id="a_Node000138"><a xlink:href="classtvm_1_1IntImmNode.html" target="_top" xlink:title="Constant integer literals in the program.">
-<polygon fill="white" stroke="#666666" points="727.5,-5403 624.5,-5403 624.5,-5384 727.5,-5384 727.5,-5403"/>
-<text text-anchor="middle" x="676" y="-5391" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImmNode</text>
+<polygon fill="white" stroke="#666666" points="727.5,-5420 624.5,-5420 624.5,-5401 727.5,-5401 727.5,-5420"/>
+<text text-anchor="middle" x="676" y="-5408" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::IntImmNode</text>
</a>
</g>
</g>
@@ -4776,8 +4776,8 @@
<g id="edge142_Node000134_Node000138" class="edge">
<title>Node134->Node138</title>
<g id="a_edge142_Node000134_Node000138"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M506.74,-5495.03C519.97,-5492.16 533.14,-5487.35 544,-5479.5 571.39,-5459.69 552.84,-5432.62 580,-5412.5 592.7,-5403.09 608.89,-5398.03 624.28,-5395.39"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="505.87,-5491.63 496.65,-5496.86 507.12,-5498.52 505.87,-5491.63"/>
+<path fill="none" stroke="#63b8ff" d="M506.74,-5512.03C519.97,-5509.16 533.14,-5504.35 544,-5496.5 571.39,-5476.69 552.84,-5449.62 580,-5429.5 592.7,-5420.09 608.89,-5415.03 624.28,-5412.39"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="505.87,-5508.63 496.65,-5513.86 507.12,-5515.52 505.87,-5508.63"/>
</a>
</g>
</g>
@@ -4785,8 +4785,8 @@
<g id="Node000139" class="node">
<title>Node139</title>
<g id="a_Node000139"><a xlink:href="classtvm_1_1StringImmNode.html" target="_top" xlink:title="A string literal with shared semantic StringType.">
-<polygon fill="white" stroke="#666666" points="735.5,-5366 616.5,-5366 616.5,-5347 735.5,-5347 735.5,-5366"/>
-<text text-anchor="middle" x="676" y="-5354" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::StringImmNode</text>
+<polygon fill="white" stroke="#666666" points="735.5,-5383 616.5,-5383 616.5,-5364 735.5,-5364 735.5,-5383"/>
+<text text-anchor="middle" x="676" y="-5371" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::StringImmNode</text>
</a>
</g>
</g>
@@ -4794,8 +4794,8 @@
<g id="edge143_Node000134_Node000139" class="edge">
<title>Node134->Node139</title>
<g id="a_edge143_Node000134_Node000139"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M506.5,-5496.57C520.09,-5493.67 533.49,-5488.47 544,-5479.5 581.22,-5447.76 543.15,-5407.66 580,-5375.5 590.14,-5366.65 603.22,-5361.48 616.41,-5358.55"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="505.85,-5493.13 496.6,-5498.29 507.05,-5500.02 505.85,-5493.13"/>
+<path fill="none" stroke="#63b8ff" d="M506.5,-5513.57C520.09,-5510.67 533.49,-5505.47 544,-5496.5 581.22,-5464.76 543.15,-5424.66 580,-5392.5 590.14,-5383.65 603.22,-5378.48 616.41,-5375.55"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="505.85,-5510.13 496.6,-5515.29 507.05,-5517.02 505.85,-5510.13"/>
</a>
</g>
</g>
@@ -4803,8 +4803,8 @@
<g id="Node000143" class="node">
<title>Node143</title>
<g id="a_Node000143"><a xlink:href="classtvm_1_1te_1_1ReduceNode.html" target="_top" xlink:title="Reduction operator.">
-<polygon fill="white" stroke="#666666" points="735.5,-5329 616.5,-5329 616.5,-5310 735.5,-5310 735.5,-5329"/>
-<text text-anchor="middle" x="676" y="-5317" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::ReduceNode</text>
+<polygon fill="white" stroke="#666666" points="735.5,-5346 616.5,-5346 616.5,-5327 735.5,-5327 735.5,-5346"/>
+<text text-anchor="middle" x="676" y="-5334" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::ReduceNode</text>
</a>
</g>
</g>
@@ -4812,8 +4812,8 @@
<g id="edge147_Node000142_Node000143" class="edge">
<title>Node142->Node143</title>
<g id="a_edge147_Node000142_Node000143"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M514.32,-5378.58C524.55,-5376.08 534.73,-5372.8 544,-5368.5 562.89,-5359.73 561.21,-5347.49 580,-5338.5 591.23,-5333.13 603.9,-5329.28 616.25,-5326.51"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="513.53,-5375.17 504.52,-5380.75 515.04,-5382.01 513.53,-5375.17"/>
+<path fill="none" stroke="#63b8ff" d="M514.32,-5395.58C524.55,-5393.08 534.73,-5389.8 544,-5385.5 562.89,-5376.73 561.21,-5364.49 580,-5355.5 591.23,-5350.13 603.9,-5346.28 616.25,-5343.51"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="513.53,-5392.17 504.52,-5397.75 515.04,-5399.01 513.53,-5392.17"/>
</a>
</g>
</g>
@@ -4821,8 +4821,8 @@
<g id="Node000144" class="node">
<title>Node144</title>
<g id="a_Node000144"><a xlink:href="classtvm_1_1te_1_1TensorNode.html" target="_top" xlink:title="Opaque construction-time node that represents a tensor.">
-<polygon fill="white" stroke="#666666" points="733.5,-5292 618.5,-5292 618.5,-5273 733.5,-5273 733.5,-5292"/>
-<text text-anchor="middle" x="676" y="-5280" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::TensorNode</text>
+<polygon fill="white" stroke="#666666" points="733.5,-5309 618.5,-5309 618.5,-5290 733.5,-5290 733.5,-5309"/>
+<text text-anchor="middle" x="676" y="-5297" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::te::TensorNode</text>
</a>
</g>
</g>
@@ -4830,8 +4830,8 @@
<g id="edge148_Node000142_Node000144" class="edge">
<title>Node142->Node144</title>
<g id="a_edge148_Node000142_Node000144"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M514.39,-5382.14C524.98,-5379.19 535.24,-5374.83 544,-5368.5 571.39,-5348.69 552.84,-5321.62 580,-5301.5 591.08,-5293.29 604.81,-5288.39 618.36,-5285.52"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="513.53,-5378.75 504.61,-5384.47 515.15,-5385.55 513.53,-5378.75"/>
+<path fill="none" stroke="#63b8ff" d="M514.39,-5399.14C524.98,-5396.19 535.24,-5391.83 544,-5385.5 571.39,-5365.69 552.84,-5338.62 580,-5318.5 591.08,-5310.29 604.81,-5305.39 618.36,-5302.52"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="513.53,-5395.75 504.61,-5401.47 515.15,-5402.55 513.53,-5395.75"/>
</a>
</g>
</g>
@@ -4839,8 +4839,8 @@
<g id="Node000150" class="node">
<title>Node150</title>
<g id="a_Node000150"><a xlink:href="classtvm_1_1relax_1_1DataflowVarNode.html" target="_top" xlink:title="A sub-type of the variable node used to mark dataflow variables from normal visible "function local" ...">
-<polygon fill="white" stroke="#666666" points="755,-5211 597,-5211 597,-5192 755,-5192 755,-5211"/>
-<text text-anchor="middle" x="676" y="-5199" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowVarNode</text>
+<polygon fill="white" stroke="#666666" points="755,-5228 597,-5228 597,-5209 755,-5209 755,-5228"/>
+<text text-anchor="middle" x="676" y="-5216" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowVarNode</text>
</a>
</g>
</g>
@@ -4848,8 +4848,8 @@
<g id="edge154_Node000149_Node000150" class="edge">
<title>Node149->Node150</title>
<g id="a_edge154_Node000149_Node000150"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M492.94,-5201.5C523.32,-5201.5 562.52,-5201.5 596.76,-5201.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="492.59,-5198 482.59,-5201.5 492.59,-5205 492.59,-5198"/>
+<path fill="none" stroke="#63b8ff" d="M492.94,-5218.5C523.32,-5218.5 562.52,-5218.5 596.76,-5218.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="492.59,-5215 482.59,-5218.5 492.59,-5222 492.59,-5215"/>
</a>
</g>
</g>
@@ -4857,8 +4857,8 @@
<g id="Node000167" class="node">
<title>Node167</title>
<g id="a_Node000167"><a xlink:href="classtvm_1_1sym_1_1IterSplitExprNode.html" target="_top" xlink:title="Split of an iterator.">
-<polygon fill="white" stroke="#666666" points="753.5,-4637 598.5,-4637 598.5,-4618 753.5,-4618 753.5,-4637"/>
-<text text-anchor="middle" x="676" y="-4625" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterSplitExprNode</text>
+<polygon fill="white" stroke="#666666" points="753.5,-4654 598.5,-4654 598.5,-4635 753.5,-4635 753.5,-4654"/>
+<text text-anchor="middle" x="676" y="-4642" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterSplitExprNode</text>
</a>
</g>
</g>
@@ -4866,8 +4866,8 @@
<g id="edge171_Node000166_Node000167" class="edge">
<title>Node166->Node167</title>
<g id="a_edge171_Node000166_Node000167"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M528.33,-4616.17C551.23,-4617.94 575.79,-4619.84 598.14,-4621.56"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="528.53,-4612.67 518.29,-4615.39 527.99,-4619.65 528.53,-4612.67"/>
+<path fill="none" stroke="#63b8ff" d="M528.33,-4633.17C551.23,-4634.94 575.79,-4636.84 598.14,-4638.56"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="528.53,-4629.67 518.29,-4632.39 527.99,-4636.65 528.53,-4629.67"/>
</a>
</g>
</g>
@@ -4875,8 +4875,8 @@
<g id="Node000168" class="node">
<title>Node168</title>
<g id="a_Node000168"><a xlink:href="classtvm_1_1sym_1_1IterSumExprNode.html" target="_top" xlink:title="Fuse multiple iterators by summing them with scaling.">
-<polygon fill="white" stroke="#666666" points="753.5,-4600 598.5,-4600 598.5,-4581 753.5,-4581 753.5,-4600"/>
-<text text-anchor="middle" x="676" y="-4588" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterSumExprNode</text>
+<polygon fill="white" stroke="#666666" points="753.5,-4617 598.5,-4617 598.5,-4598 753.5,-4598 753.5,-4617"/>
+<text text-anchor="middle" x="676" y="-4605" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::sym::IterSumExprNode</text>
</a>
</g>
</g>
@@ -4884,2185 +4884,2185 @@
<g id="edge172_Node000166_Node000168" class="edge">
<title>Node166->Node168</title>
<g id="a_edge172_Node000166_Node000168"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M528.33,-4602.46C551.23,-4600.59 575.79,-4598.59 598.14,-4596.77"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="527.98,-4598.98 518.29,-4603.28 528.54,-4605.95 527.98,-4598.98"/>
-</a>
-</g>
-</g>
-<!-- Node170 -->
-<g id="Node000170" class="node">
-<title>Node170</title>
-<g id="a_Node000170"><a xlink:href="classtvm_1_1relax_1_1DummyGlobalInfoNode.html" target="_top" xlink:title="A dummy global info sub-class for testing purpose.">
-<polygon fill="white" stroke="#666666" points="535,-4582 347,-4582 347,-4563 535,-4563 535,-4582"/>
-<text text-anchor="middle" x="441" y="-4570" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DummyGlobalInfoNode</text>
-</a>
-</g>
-</g>
-<!-- Node169->Node170 -->
-<g id="edge174_Node000169_Node000170" class="edge">
-<title>Node169->Node170</title>
-<g id="a_edge174_Node000169_Node000170"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M240.78,-4527.16C267.82,-4535.68 304.86,-4546.73 338,-4554.5 351.39,-4557.64 365.89,-4560.51 379.63,-4562.99"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="241.52,-4523.72 230.93,-4524.03 239.4,-4530.39 241.52,-4523.72"/>
+<path fill="none" stroke="#63b8ff" d="M528.33,-4619.46C551.23,-4617.59 575.79,-4615.59 598.14,-4613.77"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="527.98,-4615.98 518.29,-4620.28 528.54,-4622.95 527.98,-4615.98"/>
</a>
</g>
</g>
<!-- Node171 -->
<g id="Node000171" class="node">
<title>Node171</title>
-<g id="a_Node000171"><a xlink:href="classtvm_1_1relax_1_1VDeviceNode.html" target="_top" xlink:title="A global info subclass for virtual devices.">
-<polygon fill="white" stroke="#666666" points="510.5,-4545 371.5,-4545 371.5,-4526 510.5,-4526 510.5,-4545"/>
-<text text-anchor="middle" x="441" y="-4533" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::VDeviceNode</text>
+<g id="a_Node000171"><a xlink:href="classtvm_1_1relax_1_1DummyGlobalInfoNode.html" target="_top" xlink:title="A dummy global info sub-class for testing purpose.">
+<polygon fill="white" stroke="#666666" points="535,-4562 347,-4562 347,-4543 535,-4543 535,-4562"/>
+<text text-anchor="middle" x="441" y="-4550" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DummyGlobalInfoNode</text>
</a>
</g>
</g>
-<!-- Node169->Node171 -->
-<g id="edge175_Node000169_Node000171" class="edge">
-<title>Node169->Node171</title>
-<g id="a_edge175_Node000169_Node000171"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M270.3,-4520.53C302.01,-4523.32 339.64,-4526.64 371.4,-4529.45"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="270.49,-4517.03 260.22,-4519.64 269.87,-4524 270.49,-4517.03"/>
+<!-- Node170->Node171 -->
+<g id="edge175_Node000170_Node000171" class="edge">
+<title>Node170->Node171</title>
+<g id="a_edge175_Node000170_Node000171"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M240.78,-4507.16C267.82,-4515.68 304.86,-4526.73 338,-4534.5 351.39,-4537.64 365.89,-4540.51 379.63,-4542.99"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="241.52,-4503.72 230.93,-4504.03 239.4,-4510.39 241.52,-4503.72"/>
</a>
</g>
</g>
<!-- Node172 -->
<g id="Node000172" class="node">
<title>Node172</title>
-<g id="a_Node000172"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1DeviceMeshNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="503.5,-4507.5 378.5,-4507.5 378.5,-4477.5 503.5,-4477.5 503.5,-4507.5"/>
-<text text-anchor="start" x="386.5" y="-4495.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="441" y="-4484.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DeviceMeshNode</text>
+<g id="a_Node000172"><a xlink:href="classtvm_1_1relax_1_1VDeviceNode.html" target="_top" xlink:title="A global info subclass for virtual devices.">
+<polygon fill="white" stroke="#666666" points="510.5,-4525 371.5,-4525 371.5,-4506 510.5,-4506 510.5,-4525"/>
+<text text-anchor="middle" x="441" y="-4513" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::VDeviceNode</text>
</a>
</g>
</g>
-<!-- Node169->Node172 -->
-<g id="edge176_Node000169_Node000172" class="edge">
-<title>Node169->Node172</title>
-<g id="a_edge176_Node000169_Node000172"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M270.53,-4508.17C304.51,-4505.02 345.22,-4501.26 378.22,-4498.21"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="269.86,-4504.71 260.22,-4509.12 270.5,-4511.68 269.86,-4504.71"/>
+<!-- Node170->Node172 -->
+<g id="edge176_Node000170_Node000172" class="edge">
+<title>Node170->Node172</title>
+<g id="a_edge176_Node000170_Node000172"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M270.3,-4500.53C302.01,-4503.32 339.64,-4506.64 371.4,-4509.45"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="270.49,-4497.03 260.22,-4499.64 269.87,-4504 270.49,-4497.03"/>
</a>
</g>
</g>
-<!-- Node175 -->
-<g id="Node000175" class="node">
-<title>Node175</title>
-<g id="a_Node000175"><a xlink:href="classtvm_1_1tirx_1_1IterVarNode.html" target="_top" xlink:title="An iteration variable representing an iteration over a one dimensional interval.">
-<polygon fill="white" stroke="#666666" points="502,-4459 380,-4459 380,-4440 502,-4440 502,-4459"/>
-<text text-anchor="middle" x="441" y="-4447" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IterVarNode</text>
+<!-- Node173 -->
+<g id="Node000173" class="node">
+<title>Node173</title>
+<g id="a_Node000173"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1DeviceMeshNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="503.5,-4487.5 378.5,-4487.5 378.5,-4457.5 503.5,-4457.5 503.5,-4487.5"/>
+<text text-anchor="start" x="386.5" y="-4475.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="441" y="-4464.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DeviceMeshNode</text>
</a>
</g>
</g>
-<!-- Node174->Node175 -->
-<g id="edge179_Node000174_Node000175" class="edge">
-<title>Node174->Node175</title>
-<g id="a_edge179_Node000174_Node000175"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M293.98,-4271.08C296.82,-4272.98 299.51,-4275.11 302,-4277.5 352.73,-4326.15 286.95,-4383.18 338,-4431.5 349.3,-4442.19 364.6,-4447.71 379.92,-4450.34"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="295.45,-4267.89 285.02,-4266.03 292.01,-4273.99 295.45,-4267.89"/>
+<!-- Node170->Node173 -->
+<g id="edge177_Node000170_Node000173" class="edge">
+<title>Node170->Node173</title>
+<g id="a_edge177_Node000170_Node000173"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M270.53,-4488.17C304.51,-4485.02 345.22,-4481.26 378.22,-4478.21"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="269.86,-4484.71 260.22,-4489.12 270.5,-4491.68 269.86,-4484.71"/>
</a>
</g>
</g>
-<!-- Node182 -->
-<g id="Node000182" class="node">
-<title>Node182</title>
-<g id="a_Node000182"><a xlink:href="classtvm_1_1SequentialSpanNode.html" target="_top" xlink:title="Store a list of spans for an expr generated from mulitple source exprs.">
-<polygon fill="white" stroke="#666666" points="512.5,-4422 369.5,-4422 369.5,-4403 512.5,-4403 512.5,-4422"/>
-<text text-anchor="middle" x="441" y="-4410" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SequentialSpanNode</text>
+<!-- Node176 -->
+<g id="Node000176" class="node">
+<title>Node176</title>
+<g id="a_Node000176"><a xlink:href="classtvm_1_1tirx_1_1IterVarNode.html" target="_top" xlink:title="An iteration variable representing an iteration over a one dimensional interval.">
+<polygon fill="white" stroke="#666666" points="502,-4439 380,-4439 380,-4420 502,-4420 502,-4439"/>
+<text text-anchor="middle" x="441" y="-4427" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::IterVarNode</text>
</a>
</g>
</g>
-<!-- Node181->Node182 -->
-<g id="edge186_Node000181_Node000182" class="edge">
-<title>Node181->Node182</title>
-<g id="a_edge186_Node000181_Node000182"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M257.29,-4034.92C273.84,-4037.32 290.6,-4043.12 302,-4055.5 404.66,-4166.94 234.62,-4283.74 338,-4394.5 346.34,-4403.44 357.45,-4408.9 369.27,-4412.1"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="257.37,-4031.41 247.06,-4033.84 256.64,-4038.37 257.37,-4031.41"/>
+<!-- Node175->Node176 -->
+<g id="edge180_Node000175_Node000176" class="edge">
+<title>Node175->Node176</title>
+<g id="a_edge180_Node000175_Node000176"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M293.98,-4251.08C296.82,-4252.98 299.51,-4255.11 302,-4257.5 352.73,-4306.15 286.95,-4363.18 338,-4411.5 349.3,-4422.19 364.6,-4427.71 379.92,-4430.34"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="295.45,-4247.89 285.02,-4246.03 292.01,-4253.99 295.45,-4247.89"/>
</a>
</g>
</g>
-<!-- Node186 -->
-<g id="Node000186" class="node">
-<title>Node186</title>
-<g id="a_Node000186"><a xlink:href="classtvm_1_1AnyTypeNode.html" target="_top" xlink:title="The top type, which admits any value.">
-<polygon fill="white" stroke="#666666" points="495.5,-4385 386.5,-4385 386.5,-4366 495.5,-4366 495.5,-4385"/>
-<text text-anchor="middle" x="441" y="-4373" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AnyTypeNode</text>
+<!-- Node183 -->
+<g id="Node000183" class="node">
+<title>Node183</title>
+<g id="a_Node000183"><a xlink:href="classtvm_1_1SequentialSpanNode.html" target="_top" xlink:title="Store a list of spans for an expr generated from mulitple source exprs.">
+<polygon fill="white" stroke="#666666" points="512.5,-4402 369.5,-4402 369.5,-4383 512.5,-4383 512.5,-4402"/>
+<text text-anchor="middle" x="441" y="-4390" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::SequentialSpanNode</text>
</a>
</g>
</g>
-<!-- Node185->Node186 -->
-<g id="edge190_Node000185_Node000186" class="edge">
-<title>Node185->Node186</title>
-<g id="a_edge190_Node000185_Node000186"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.56,-3923.68C273.4,-3925.99 290.52,-3931.8 302,-3944.5 363.78,-4012.84 275.78,-4289.56 338,-4357.5 350.21,-4370.83 368.55,-4376.46 386.33,-4378.4"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.46,-3920.15 246.17,-3922.66 255.78,-3927.12 256.46,-3920.15"/>
+<!-- Node182->Node183 -->
+<g id="edge187_Node000182_Node000183" class="edge">
+<title>Node182->Node183</title>
+<g id="a_edge187_Node000182_Node000183"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M257.29,-4014.92C273.84,-4017.32 290.6,-4023.12 302,-4035.5 404.66,-4146.94 234.62,-4263.74 338,-4374.5 346.34,-4383.44 357.45,-4388.9 369.27,-4392.1"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="257.37,-4011.41 247.06,-4013.84 256.64,-4018.37 257.37,-4011.41"/>
</a>
</g>
</g>
<!-- Node187 -->
<g id="Node000187" class="node">
<title>Node187</title>
-<g id="a_Node000187"><a xlink:href="classtvm_1_1FuncTypeNode.html" target="_top" xlink:title="Function type.">
-<polygon fill="white" stroke="#666666" points="497.5,-4348 384.5,-4348 384.5,-4329 497.5,-4329 497.5,-4348"/>
-<text text-anchor="middle" x="441" y="-4336" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FuncTypeNode</text>
+<g id="a_Node000187"><a xlink:href="classtvm_1_1AnyTypeNode.html" target="_top" xlink:title="The top type, which admits any value.">
+<polygon fill="white" stroke="#666666" points="495.5,-4365 386.5,-4365 386.5,-4346 495.5,-4346 495.5,-4365"/>
+<text text-anchor="middle" x="441" y="-4353" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::AnyTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node187 -->
-<g id="edge191_Node000185_Node000187" class="edge">
-<title>Node185->Node187</title>
-<g id="a_edge191_Node000185_Node000187"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.5,-3923.73C273.34,-3926.05 290.46,-3931.85 302,-3944.5 358.55,-4006.53 281.04,-4258.84 338,-4320.5 349.77,-4333.25 367.17,-4338.94 384.27,-4341.09"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.4,-3920.21 246.11,-3922.71 255.72,-3927.17 256.4,-3920.21"/>
+<!-- Node186->Node187 -->
+<g id="edge191_Node000186_Node000187" class="edge">
+<title>Node186->Node187</title>
+<g id="a_edge191_Node000186_Node000187"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.56,-3903.68C273.4,-3905.99 290.52,-3911.8 302,-3924.5 363.78,-3992.84 275.78,-4269.56 338,-4337.5 350.21,-4350.83 368.55,-4356.46 386.33,-4358.4"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.46,-3900.15 246.17,-3902.66 255.78,-3907.12 256.46,-3900.15"/>
</a>
</g>
</g>
<!-- Node188 -->
<g id="Node000188" class="node">
<title>Node188</title>
-<g id="a_Node000188"><a xlink:href="classtvm_1_1MissingTypeNode.html" target="_top" xlink:title="Type information that has not been supplied or computed.">
-<polygon fill="white" stroke="#666666" points="505,-4311 377,-4311 377,-4292 505,-4292 505,-4311"/>
-<text text-anchor="middle" x="441" y="-4299" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::MissingTypeNode</text>
+<g id="a_Node000188"><a xlink:href="classtvm_1_1FuncTypeNode.html" target="_top" xlink:title="Function type.">
+<polygon fill="white" stroke="#666666" points="497.5,-4328 384.5,-4328 384.5,-4309 497.5,-4309 497.5,-4328"/>
+<text text-anchor="middle" x="441" y="-4316" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::FuncTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node188 -->
-<g id="edge192_Node000185_Node000188" class="edge">
-<title>Node185->Node188</title>
-<g id="a_edge192_Node000185_Node000188"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.43,-3923.8C273.25,-3926.12 290.4,-3931.91 302,-3944.5 404.66,-4055.94 234.62,-4172.74 338,-4283.5 348.12,-4294.34 362.31,-4300.07 376.9,-4302.85"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.34,-3920.28 246.04,-3922.77 255.65,-3927.24 256.34,-3920.28"/>
+<!-- Node186->Node188 -->
+<g id="edge192_Node000186_Node000188" class="edge">
+<title>Node186->Node188</title>
+<g id="a_edge192_Node000186_Node000188"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.5,-3903.73C273.34,-3906.05 290.46,-3911.85 302,-3924.5 358.55,-3986.53 281.04,-4238.84 338,-4300.5 349.77,-4313.25 367.17,-4318.94 384.27,-4321.09"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.4,-3900.21 246.11,-3902.71 255.72,-3907.17 256.4,-3900.21"/>
</a>
</g>
</g>
<!-- Node189 -->
<g id="Node000189" class="node">
<title>Node189</title>
-<g id="a_Node000189"><a xlink:href="classtvm_1_1OpaqueTypeNode.html" target="_top" xlink:title="Type marker for opaque construction-time expressions.">
-<polygon fill="white" stroke="#666666" points="505,-4274 377,-4274 377,-4255 505,-4255 505,-4274"/>
-<text text-anchor="middle" x="441" y="-4262" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::OpaqueTypeNode</text>
+<g id="a_Node000189"><a xlink:href="classtvm_1_1MissingTypeNode.html" target="_top" xlink:title="Type information that has not been supplied or computed.">
+<polygon fill="white" stroke="#666666" points="505,-4291 377,-4291 377,-4272 505,-4272 505,-4291"/>
+<text text-anchor="middle" x="441" y="-4279" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::MissingTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node189 -->
-<g id="edge193_Node000185_Node000189" class="edge">
-<title>Node185->Node189</title>
-<g id="a_edge193_Node000185_Node000189"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.55,-3923.92C273.3,-3926.27 290.37,-3932.04 302,-3944.5 394.22,-4043.33 245.13,-4148.28 338,-4246.5 348.19,-4257.28 362.41,-4262.98 377,-4265.76"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.51,-3920.4 246.21,-3922.87 255.8,-3927.36 256.51,-3920.4"/>
+<!-- Node186->Node189 -->
+<g id="edge193_Node000186_Node000189" class="edge">
+<title>Node186->Node189</title>
+<g id="a_edge193_Node000186_Node000189"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.43,-3903.8C273.25,-3906.12 290.4,-3911.91 302,-3924.5 404.66,-4035.94 234.62,-4152.74 338,-4263.5 348.12,-4274.34 362.31,-4280.07 376.9,-4282.85"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.34,-3900.28 246.04,-3902.77 255.65,-3907.24 256.34,-3900.28"/>
</a>
</g>
</g>
<!-- Node190 -->
<g id="Node000190" class="node">
<title>Node190</title>
-<g id="a_Node000190"><a xlink:href="classtvm_1_1PointerTypeNode.html" target="_top" xlink:title="Low-level raw pointer type.">
-<polygon fill="white" stroke="#666666" points="503.5,-4237 378.5,-4237 378.5,-4218 503.5,-4218 503.5,-4237"/>
-<text text-anchor="middle" x="441" y="-4225" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PointerTypeNode</text>
+<g id="a_Node000190"><a xlink:href="classtvm_1_1OpaqueTypeNode.html" target="_top" xlink:title="Type marker for opaque construction-time expressions.">
+<polygon fill="white" stroke="#666666" points="505,-4254 377,-4254 377,-4235 505,-4235 505,-4254"/>
+<text text-anchor="middle" x="441" y="-4242" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::OpaqueTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node190 -->
-<g id="edge194_Node000185_Node000190" class="edge">
-<title>Node185->Node190</title>
-<g id="a_edge194_Node000185_Node000190"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.43,-3924.03C273.17,-3926.39 290.27,-3932.13 302,-3944.5 383.8,-4030.73 255.64,-4123.8 338,-4209.5 348.59,-4220.52 363.39,-4226.21 378.44,-4228.89"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.4,-3920.51 246.1,-3922.97 255.69,-3927.47 256.4,-3920.51"/>
+<!-- Node186->Node190 -->
+<g id="edge194_Node000186_Node000190" class="edge">
+<title>Node186->Node190</title>
+<g id="a_edge194_Node000186_Node000190"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.55,-3903.92C273.3,-3906.27 290.37,-3912.04 302,-3924.5 394.22,-4023.33 245.13,-4128.28 338,-4226.5 348.19,-4237.28 362.41,-4242.98 377,-4245.76"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.51,-3900.4 246.21,-3902.87 255.8,-3907.36 256.51,-3900.4"/>
</a>
</g>
</g>
<!-- Node191 -->
<g id="Node000191" class="node">
<title>Node191</title>
-<g id="a_Node000191"><a xlink:href="classtvm_1_1PrimTypeNode.html" target="_top" xlink:title="Primitive data types used in the low-level IR.">
-<polygon fill="white" stroke="#666666" points="497.5,-4200 384.5,-4200 384.5,-4181 497.5,-4181 497.5,-4200"/>
-<text text-anchor="middle" x="441" y="-4188" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimTypeNode</text>
+<g id="a_Node000191"><a xlink:href="classtvm_1_1PointerTypeNode.html" target="_top" xlink:title="Low-level raw pointer type.">
+<polygon fill="white" stroke="#666666" points="503.5,-4217 378.5,-4217 378.5,-4198 503.5,-4198 503.5,-4217"/>
+<text text-anchor="middle" x="441" y="-4205" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PointerTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node191 -->
-<g id="edge195_Node000185_Node000191" class="edge">
-<title>Node185->Node191</title>
-<g id="a_edge195_Node000185_Node000191"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.49,-3924.21C273.16,-3926.59 290.18,-3932.31 302,-3944.5 373.4,-4018.16 266.12,-4099.31 338,-4172.5 350.1,-4184.82 367.46,-4190.43 384.45,-4192.63"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.52,-3920.69 246.21,-3923.13 255.79,-3927.65 256.52,-3920.69"/>
+<!-- Node186->Node191 -->
+<g id="edge195_Node000186_Node000191" class="edge">
+<title>Node186->Node191</title>
+<g id="a_edge195_Node000186_Node000191"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.43,-3904.03C273.17,-3906.39 290.27,-3912.13 302,-3924.5 383.8,-4010.73 255.64,-4103.8 338,-4189.5 348.59,-4200.52 363.39,-4206.21 378.44,-4208.89"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.4,-3900.51 246.1,-3902.97 255.69,-3907.47 256.4,-3900.51"/>
</a>
</g>
</g>
<!-- Node192 -->
<g id="Node000192" class="node">
<title>Node192</title>
-<g id="a_Node000192"><a xlink:href="classtvm_1_1StringTypeNode.html" target="_top" xlink:title="Semantic string type; its physical representation is context dependent.">
-<polygon fill="white" stroke="#666666" points="500.5,-4163 381.5,-4163 381.5,-4144 500.5,-4144 500.5,-4163"/>
-<text text-anchor="middle" x="441" y="-4151" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::StringTypeNode</text>
+<g id="a_Node000192"><a xlink:href="classtvm_1_1PrimTypeNode.html" target="_top" xlink:title="Primitive data types used in the low-level IR.">
+<polygon fill="white" stroke="#666666" points="497.5,-4180 384.5,-4180 384.5,-4161 497.5,-4161 497.5,-4180"/>
+<text text-anchor="middle" x="441" y="-4168" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::PrimTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node192 -->
-<g id="edge196_Node000185_Node000192" class="edge">
-<title>Node185->Node192</title>
-<g id="a_edge196_Node000185_Node000192"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.28,-3924.42C272.93,-3926.81 290.01,-3932.49 302,-3944.5 363.04,-4005.63 276.56,-4074.77 338,-4135.5 349.51,-4146.88 365.53,-4152.48 381.48,-4154.96"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.33,-3920.9 246.01,-3923.32 255.59,-3927.86 256.33,-3920.9"/>
+<!-- Node186->Node192 -->
+<g id="edge196_Node000186_Node000192" class="edge">
+<title>Node186->Node192</title>
+<g id="a_edge196_Node000186_Node000192"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.49,-3904.21C273.16,-3906.59 290.18,-3912.31 302,-3924.5 373.4,-3998.16 266.12,-4079.31 338,-4152.5 350.1,-4164.82 367.46,-4170.43 384.45,-4172.63"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.52,-3900.69 246.21,-3903.13 255.79,-3907.65 256.52,-3900.69"/>
</a>
</g>
</g>
<!-- Node193 -->
<g id="Node000193" class="node">
<title>Node193</title>
-<g id="a_Node000193"><a xlink:href="classtvm_1_1TupleTypeNode.html" target="_top" xlink:title="The type of tuple values.">
-<polygon fill="white" stroke="#666666" points="499,-4126 383,-4126 383,-4107 499,-4107 499,-4126"/>
-<text text-anchor="middle" x="441" y="-4114" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TupleTypeNode</text>
+<g id="a_Node000193"><a xlink:href="classtvm_1_1StringTypeNode.html" target="_top" xlink:title="Semantic string type; its physical representation is context dependent.">
+<polygon fill="white" stroke="#666666" points="500.5,-4143 381.5,-4143 381.5,-4124 500.5,-4124 500.5,-4143"/>
+<text text-anchor="middle" x="441" y="-4131" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::StringTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node193 -->
-<g id="edge197_Node000185_Node000193" class="edge">
-<title>Node185->Node193</title>
-<g id="a_edge197_Node000185_Node000193"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.41,-3924.79C272.9,-3927.24 289.85,-3932.85 302,-3944.5 352.73,-3993.15 286.95,-4050.18 338,-4098.5 350.02,-4109.87 366.57,-4115.4 382.84,-4117.8"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.57,-3921.28 246.24,-3923.64 255.79,-3928.24 256.57,-3921.28"/>
+<!-- Node186->Node193 -->
+<g id="edge197_Node000186_Node000193" class="edge">
+<title>Node186->Node193</title>
+<g id="a_edge197_Node000186_Node000193"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.28,-3904.42C272.93,-3906.81 290.01,-3912.49 302,-3924.5 363.04,-3985.63 276.56,-4054.77 338,-4115.5 349.51,-4126.88 365.53,-4132.48 381.48,-4134.96"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.33,-3900.9 246.01,-3903.32 255.59,-3907.86 256.33,-3900.9"/>
</a>
</g>
</g>
<!-- Node194 -->
<g id="Node000194" class="node">
<title>Node194</title>
-<g id="a_Node000194"><a xlink:href="classtvm_1_1relax_1_1FuncTypeNode.html" target="_top" xlink:title="Function type information.">
-<polygon fill="white" stroke="#666666" points="512.5,-4089 369.5,-4089 369.5,-4070 512.5,-4070 512.5,-4089"/>
-<text text-anchor="middle" x="441" y="-4077" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FuncTypeNode</text>
+<g id="a_Node000194"><a xlink:href="classtvm_1_1TupleTypeNode.html" target="_top" xlink:title="The type of tuple values.">
+<polygon fill="white" stroke="#666666" points="499,-4106 383,-4106 383,-4087 499,-4087 499,-4106"/>
+<text text-anchor="middle" x="441" y="-4094" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::TupleTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node194 -->
-<g id="edge198_Node000185_Node000194" class="edge">
-<title>Node185->Node194</title>
-<g id="a_edge198_Node000185_Node000194"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.16,-3925.32C272.56,-3927.82 289.51,-3933.33 302,-3944.5 342.54,-3980.78 297.22,-4025.48 338,-4061.5 346.83,-4069.3 357.82,-4074.28 369.28,-4077.38"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.4,-3921.83 246.06,-3924.13 255.58,-3928.78 256.4,-3921.83"/>
+<!-- Node186->Node194 -->
+<g id="edge198_Node000186_Node000194" class="edge">
+<title>Node186->Node194</title>
+<g id="a_edge198_Node000186_Node000194"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.41,-3904.79C272.9,-3907.24 289.85,-3912.85 302,-3924.5 352.73,-3973.15 286.95,-4030.18 338,-4078.5 350.02,-4089.87 366.57,-4095.4 382.84,-4097.8"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.57,-3901.28 246.24,-3903.64 255.79,-3908.24 256.57,-3901.28"/>
</a>
</g>
</g>
<!-- Node195 -->
<g id="Node000195" class="node">
<title>Node195</title>
-<g id="a_Node000195"><a xlink:href="classtvm_1_1relax_1_1PackedFuncTypeNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="529.5,-4052 352.5,-4052 352.5,-4033 529.5,-4033 529.5,-4052"/>
-<text text-anchor="middle" x="441" y="-4040" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PackedFuncTypeNode</text>
+<g id="a_Node000195"><a xlink:href="classtvm_1_1relax_1_1FuncTypeNode.html" target="_top" xlink:title="Function type information.">
+<polygon fill="white" stroke="#666666" points="512.5,-4069 369.5,-4069 369.5,-4050 512.5,-4050 512.5,-4069"/>
+<text text-anchor="middle" x="441" y="-4057" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::FuncTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node195 -->
-<g id="edge199_Node000185_Node000195" class="edge">
-<title>Node185->Node195</title>
-<g id="a_edge199_Node000185_Node000195"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256,-3926.37C272.16,-3928.97 289.02,-3934.26 302,-3944.5 332.61,-3968.65 307.23,-4000.55 338,-4024.5 342.4,-4027.92 347.23,-4030.78 352.32,-4033.16"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.44,-3922.9 246.07,-3925.09 255.54,-3929.84 256.44,-3922.9"/>
+<!-- Node186->Node195 -->
+<g id="edge199_Node000186_Node000195" class="edge">
+<title>Node186->Node195</title>
+<g id="a_edge199_Node000186_Node000195"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.16,-3905.32C272.56,-3907.82 289.51,-3913.33 302,-3924.5 342.54,-3960.78 297.22,-4005.48 338,-4041.5 346.83,-4049.3 357.82,-4054.28 369.28,-4057.38"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.4,-3901.83 246.06,-3904.13 255.58,-3908.78 256.4,-3901.83"/>
</a>
</g>
</g>
<!-- Node196 -->
<g id="Node000196" class="node">
<title>Node196</title>
-<g id="a_Node000196"><a xlink:href="classtvm_1_1relax_1_1ShapeTypeNode.html" target="_top" xlink:title="Base type of all Relax type information.">
-<polygon fill="white" stroke="#666666" points="516.5,-4015 365.5,-4015 365.5,-3996 516.5,-3996 516.5,-4015"/>
-<text text-anchor="middle" x="441" y="-4003" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ShapeTypeNode</text>
+<g id="a_Node000196"><a xlink:href="classtvm_1_1relax_1_1PackedFuncTypeNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="529.5,-4032 352.5,-4032 352.5,-4013 529.5,-4013 529.5,-4032"/>
+<text text-anchor="middle" x="441" y="-4020" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::PackedFuncTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node196 -->
-<g id="edge200_Node000185_Node000196" class="edge">
-<title>Node185->Node196</title>
-<g id="a_edge200_Node000185_Node000196"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.19,-3928.93C271.77,-3931.69 288.25,-3936.43 302,-3944.5 323.5,-3957.12 316.42,-3975.02 338,-3987.5 346.41,-3992.36 355.8,-3995.97 365.4,-3998.64"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.53,-3925.44 246.12,-3927.39 255.47,-3932.36 256.53,-3925.44"/>
+<!-- Node186->Node196 -->
+<g id="edge200_Node000186_Node000196" class="edge">
+<title>Node186->Node196</title>
+<g id="a_edge200_Node000186_Node000196"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256,-3906.37C272.16,-3908.97 289.02,-3914.26 302,-3924.5 332.61,-3948.65 307.23,-3980.55 338,-4004.5 342.4,-4007.92 347.23,-4010.78 352.32,-4013.16"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.44,-3902.9 246.07,-3905.09 255.54,-3909.84 256.44,-3902.9"/>
</a>
</g>
</g>
<!-- Node197 -->
<g id="Node000197" class="node">
<title>Node197</title>
-<g id="a_Node000197"><a xlink:href="classtvm_1_1relax_1_1TensorTypeNode.html" target="_top" xlink:title="Type of Tensor.">
-<polygon fill="white" stroke="#666666" points="517,-3978 365,-3978 365,-3959 517,-3959 517,-3978"/>
-<text text-anchor="middle" x="441" y="-3966" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TensorTypeNode</text>
+<g id="a_Node000197"><a xlink:href="classtvm_1_1relax_1_1ShapeTypeNode.html" target="_top" xlink:title="Base type of all Relax type information.">
+<polygon fill="white" stroke="#666666" points="516.5,-3995 365.5,-3995 365.5,-3976 516.5,-3976 516.5,-3995"/>
+<text text-anchor="middle" x="441" y="-3983" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ShapeTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node197 -->
-<g id="edge201_Node000185_Node000197" class="edge">
-<title>Node185->Node197</title>
-<g id="a_edge201_Node000185_Node000197"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.14,-3935.28C295.45,-3942.38 348.34,-3951.94 387.3,-3958.98"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.67,-3931.82 246.21,-3933.49 255.43,-3938.71 256.67,-3931.82"/>
+<!-- Node186->Node197 -->
+<g id="edge201_Node000186_Node000197" class="edge">
+<title>Node186->Node197</title>
+<g id="a_edge201_Node000186_Node000197"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.19,-3908.93C271.77,-3911.69 288.25,-3916.43 302,-3924.5 323.5,-3937.12 316.42,-3955.02 338,-3967.5 346.41,-3972.36 355.8,-3975.97 365.4,-3978.64"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.53,-3905.44 246.12,-3907.39 255.47,-3912.36 256.53,-3905.44"/>
</a>
</g>
</g>
<!-- Node198 -->
<g id="Node000198" class="node">
<title>Node198</title>
-<g id="a_Node000198"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1DTensorTypeNode.html" target="_top" xlink:title="Type of DTensor (Distributed Tensor).">
-<polygon fill="white" stroke="#666666" points="503.5,-3940.5 378.5,-3940.5 378.5,-3910.5 503.5,-3910.5 503.5,-3940.5"/>
-<text text-anchor="start" x="386.5" y="-3928.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
-<text text-anchor="middle" x="441" y="-3917.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DTensorTypeNode</text>
+<g id="a_Node000198"><a xlink:href="classtvm_1_1relax_1_1TensorTypeNode.html" target="_top" xlink:title="Type of Tensor.">
+<polygon fill="white" stroke="#666666" points="517,-3958 365,-3958 365,-3939 517,-3939 517,-3958"/>
+<text text-anchor="middle" x="441" y="-3946" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::TensorTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node198 -->
-<g id="edge202_Node000185_Node000198" class="edge">
-<title>Node185->Node198</title>
-<g id="a_edge202_Node000185_Node000198"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.58,-3925.5C292.81,-3925.5 340.44,-3925.5 378.08,-3925.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="256.21,-3922 246.21,-3925.5 256.21,-3929 256.21,-3922"/>
+<!-- Node186->Node198 -->
+<g id="edge202_Node000186_Node000198" class="edge">
+<title>Node186->Node198</title>
+<g id="a_edge202_Node000186_Node000198"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.14,-3915.28C295.45,-3922.38 348.34,-3931.94 387.3,-3938.98"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.67,-3911.82 246.21,-3913.49 255.43,-3918.71 256.67,-3911.82"/>
</a>
</g>
</g>
<!-- Node199 -->
<g id="Node000199" class="node">
<title>Node199</title>
-<g id="a_Node000199"><a xlink:href="classtvm_1_1tirx_1_1BufferRegionTypeNode.html" target="_top" xlink:title="The type of a multi-dimensional buffer region expression.">
-<polygon fill="white" stroke="#666666" points="529,-3892 353,-3892 353,-3873 529,-3873 529,-3892"/>
-<text text-anchor="middle" x="441" y="-3880" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferRegionTypeNode</text>
+<g id="a_Node000199"><a xlink:href="classtvm_1_1relax_1_1distributed_1_1DTensorTypeNode.html" target="_top" xlink:title="Type of DTensor (Distributed Tensor).">
+<polygon fill="white" stroke="#666666" points="503.5,-3920.5 378.5,-3920.5 378.5,-3890.5 503.5,-3890.5 503.5,-3920.5"/>
+<text text-anchor="start" x="386.5" y="-3908.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::distributed</text>
+<text text-anchor="middle" x="441" y="-3897.5" font-family="Helvetica,sans-Serif" font-size="10.00">::DTensorTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node199 -->
-<g id="edge203_Node000185_Node000199" class="edge">
-<title>Node185->Node199</title>
-<g id="a_edge203_Node000185_Node000199"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M256.14,-3915.72C295.45,-3908.62 348.34,-3899.06 387.3,-3892.02"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="255.43,-3912.29 246.21,-3917.51 256.67,-3919.18 255.43,-3912.29"/>
+<!-- Node186->Node199 -->
+<g id="edge203_Node000186_Node000199" class="edge">
+<title>Node186->Node199</title>
+<g id="a_edge203_Node000186_Node000199"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.58,-3905.5C292.81,-3905.5 340.44,-3905.5 378.08,-3905.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="256.21,-3902 246.21,-3905.5 256.21,-3909 256.21,-3902"/>
</a>
</g>
</g>
<!-- Node200 -->
<g id="Node000200" class="node">
<title>Node200</title>
-<g id="a_Node000200"><a xlink:href="classtvm_1_1tirx_1_1TensorMapTypeNode.html" target="_top" xlink:title="The type of tensor map.">
-<polygon fill="white" stroke="#666666" points="523.5,-3855 358.5,-3855 358.5,-3836 523.5,-3836 523.5,-3855"/>
-<text text-anchor="middle" x="441" y="-3843" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorMapTypeNode</text>
+<g id="a_Node000200"><a xlink:href="classtvm_1_1tirx_1_1BufferRegionTypeNode.html" target="_top" xlink:title="The type of a multi-dimensional buffer region expression.">
+<polygon fill="white" stroke="#666666" points="529,-3872 353,-3872 353,-3853 529,-3853 529,-3872"/>
+<text text-anchor="middle" x="441" y="-3860" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::BufferRegionTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node200 -->
-<g id="edge204_Node000185_Node000200" class="edge">
-<title>Node185->Node200</title>
-<g id="a_edge204_Node000185_Node000200"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M229.1,-3911.03C256.03,-3897.21 298.84,-3876.74 338,-3864.5 350.12,-3860.71 363.3,-3857.57 376.04,-3855"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="227.2,-3908.07 219.94,-3915.79 230.43,-3914.28 227.2,-3908.07"/>
+<!-- Node186->Node200 -->
+<g id="edge204_Node000186_Node000200" class="edge">
+<title>Node186->Node200</title>
+<g id="a_edge204_Node000186_Node000200"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M256.14,-3895.72C295.45,-3888.62 348.34,-3879.06 387.3,-3872.02"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="255.43,-3892.29 246.21,-3897.51 256.67,-3899.18 255.43,-3892.29"/>
</a>
</g>
</g>
<!-- Node201 -->
<g id="Node000201" class="node">
<title>Node201</title>
-<g id="a_Node000201"><a xlink:href="classtvm_1_1tirx_1_1TensorTypeNode.html" target="_top" xlink:title="Structural type of a TIRx tensor variable.">
-<polygon fill="white" stroke="#666666" points="513,-3818 369,-3818 369,-3799 513,-3799 513,-3818"/>
-<text text-anchor="middle" x="441" y="-3806" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorTypeNode</text>
+<g id="a_Node000201"><a xlink:href="classtvm_1_1tirx_1_1TensorMapTypeNode.html" target="_top" xlink:title="The type of tensor map.">
+<polygon fill="white" stroke="#666666" points="523.5,-3835 358.5,-3835 358.5,-3816 523.5,-3816 523.5,-3835"/>
+<text text-anchor="middle" x="441" y="-3823" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorMapTypeNode</text>
</a>
</g>
</g>
-<!-- Node185->Node201 -->
-<g id="edge205_Node000185_Node000201" class="edge">
-<title>Node185->Node201</title>
-<g id="a_edge205_Node000185_Node000201"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M229.55,-3911.17C250.35,-3899.77 279.12,-3882.76 302,-3864.5 319.94,-3850.19 317.77,-3838.33 338,-3827.5 347.53,-3822.4 358.19,-3818.64 368.94,-3815.89"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="227.74,-3908.16 220.6,-3915.99 231.07,-3914.32 227.74,-3908.16"/>
+<!-- Node186->Node201 -->
+<g id="edge205_Node000186_Node000201" class="edge">
+<title>Node186->Node201</title>
+<g id="a_edge205_Node000186_Node000201"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M229.1,-3891.03C256.03,-3877.21 298.84,-3856.74 338,-3844.5 350.12,-3840.71 363.3,-3837.57 376.04,-3835"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="227.2,-3888.07 219.94,-3895.79 230.43,-3894.28 227.2,-3888.07"/>
</a>
</g>
</g>
-<!-- Node205 -->
-<g id="Node000205" class="node">
-<title>Node205</title>
-<g id="a_Node000205"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="525.5,-3781 356.5,-3781 356.5,-3762 525.5,-3762 525.5,-3781"/>
-<text text-anchor="middle" x="441" y="-3769" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlockNode</text>
+<!-- Node202 -->
+<g id="Node000202" class="node">
+<title>Node202</title>
+<g id="a_Node000202"><a xlink:href="classtvm_1_1tirx_1_1TensorTypeNode.html" target="_top" xlink:title="Structural type of a TIRx tensor variable.">
+<polygon fill="white" stroke="#666666" points="513,-3798 369,-3798 369,-3779 513,-3779 513,-3798"/>
+<text text-anchor="middle" x="441" y="-3786" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::tirx::TensorTypeNode</text>
</a>
</g>
</g>
-<!-- Node204->Node205 -->
-<g id="edge209_Node000204_Node000205" class="edge">
-<title>Node204->Node205</title>
-<g id="a_edge209_Node000204_Node000205"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M292.45,-3771.5C313.46,-3771.5 335.74,-3771.5 356.45,-3771.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="292.24,-3768 282.24,-3771.5 292.24,-3775 292.24,-3768"/>
+<!-- Node186->Node202 -->
+<g id="edge206_Node000186_Node000202" class="edge">
+<title>Node186->Node202</title>
+<g id="a_edge206_Node000186_Node000202"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M229.55,-3891.17C250.35,-3879.77 279.12,-3862.76 302,-3844.5 319.94,-3830.19 317.77,-3818.33 338,-3807.5 347.53,-3802.4 358.19,-3798.64 368.94,-3795.89"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="227.74,-3888.16 220.6,-3895.99 231.07,-3894.32 227.74,-3888.16"/>
</a>
</g>
</g>
-<!-- Node207 -->
-<g id="Node000207" class="node">
-<title>Node207</title>
-<g id="a_Node000207"><a xlink:href="classtvm_1_1relax_1_1MatchCastNode.html" target="_top" xlink:title="Runtime-match the value to the type.">
-<polygon fill="white" stroke="#666666" points="516,-3744 366,-3744 366,-3725 516,-3725 516,-3744"/>
-<text text-anchor="middle" x="441" y="-3732" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchCastNode</text>
+<!-- Node206 -->
+<g id="Node000206" class="node">
+<title>Node206</title>
+<g id="a_Node000206"><a xlink:href="classtvm_1_1relax_1_1DataflowBlockNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="525.5,-3761 356.5,-3761 356.5,-3742 525.5,-3742 525.5,-3761"/>
+<text text-anchor="middle" x="441" y="-3749" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataflowBlockNode</text>
</a>
</g>
</g>
-<!-- Node206->Node207 -->
-<g id="edge211_Node000206_Node000207" class="edge">
-<title>Node206->Node207</title>
-<g id="a_edge211_Node000206_Node000207"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M278.73,-3734.5C306.66,-3734.5 338.17,-3734.5 365.87,-3734.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="278.61,-3731 268.61,-3734.5 278.61,-3738 278.61,-3731"/>
+<!-- Node205->Node206 -->
+<g id="edge210_Node000205_Node000206" class="edge">
+<title>Node205->Node206</title>
+<g id="a_edge210_Node000205_Node000206"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M292.45,-3751.5C313.46,-3751.5 335.74,-3751.5 356.45,-3751.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="292.24,-3748 282.24,-3751.5 292.24,-3755 292.24,-3748"/>
</a>
</g>
</g>
<!-- Node208 -->
<g id="Node000208" class="node">
<title>Node208</title>
-<g id="a_Node000208"><a xlink:href="classtvm_1_1relax_1_1VarBindingNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="#666666" points="516.5,-3707 365.5,-3707 365.5,-3688 516.5,-3688 516.5,-3707"/>
-<text text-anchor="middle" x="441" y="-3695" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::VarBindingNode</text>
+<g id="a_Node000208"><a xlink:href="classtvm_1_1relax_1_1MatchCastNode.html" target="_top" xlink:title="Runtime-match the value to the type.">
+<polygon fill="white" stroke="#666666" points="516,-3724 366,-3724 366,-3705 516,-3705 516,-3724"/>
+<text text-anchor="middle" x="441" y="-3712" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::MatchCastNode</text>
</a>
</g>
</g>
-<!-- Node206->Node208 -->
-<g id="edge212_Node000206_Node000208" class="edge">
-<title>Node206->Node208</title>
-<g id="a_edge212_Node000206_Node000208"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M273.47,-3723.39C306.93,-3718.19 346.39,-3712.05 378.5,-3707.06"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="272.63,-3719.98 263.29,-3724.97 273.71,-3726.89 272.63,-3719.98"/>
+<!-- Node207->Node208 -->
+<g id="edge212_Node000207_Node000208" class="edge">
+<title>Node207->Node208</title>
+<g id="a_edge212_Node000207_Node000208"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M278.73,-3714.5C306.66,-3714.5 338.17,-3714.5 365.87,-3714.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="278.61,-3711 268.61,-3714.5 278.61,-3718 278.61,-3711"/>
</a>
</g>
</g>
-<!-- Node211 -->
-<g id="Node000211" class="node">
-<title>Node211</title>
-<g id="a_Node000211"><a xlink:href="classtvm_1_1relax_1_1SameShapeConstraintNode.html" target="_top" xlink:title="A pattern that asserting multiple root patterns have the same shape.">
-<polygon fill="white" stroke="#666666" points="544,-3670 338,-3670 338,-3651 544,-3651 544,-3670"/>
-<text text-anchor="middle" x="441" y="-3658" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SameShapeConstraintNode</text>
+<!-- Node209 -->
+<g id="Node000209" class="node">
+<title>Node209</title>
+<g id="a_Node000209"><a xlink:href="classtvm_1_1relax_1_1VarBindingNode.html" target="_top" xlink:title=" ">
+<polygon fill="white" stroke="#666666" points="516.5,-3687 365.5,-3687 365.5,-3668 516.5,-3668 516.5,-3687"/>
+<text text-anchor="middle" x="441" y="-3675" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::VarBindingNode</text>
</a>
</g>
</g>
-<!-- Node210->Node211 -->
-<g id="edge215_Node000210_Node000211" class="edge">
-<title>Node210->Node211</title>
-<g id="a_edge215_Node000210_Node000211"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M292.39,-3660.5C307.21,-3660.5 322.65,-3660.5 337.73,-3660.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="292.24,-3657 282.24,-3660.5 292.24,-3664 292.24,-3657"/>
+<!-- Node207->Node209 -->
+<g id="edge213_Node000207_Node000209" class="edge">
+<title>Node207->Node209</title>
+<g id="a_edge213_Node000207_Node000209"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M273.47,-3703.39C306.93,-3698.19 346.39,-3692.05 378.5,-3687.06"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="272.63,-3699.98 263.29,-3704.97 273.71,-3706.89 272.63,-3699.98"/>
</a>
</g>
</g>
-<!-- Node213 -->
-<g id="Node000213" class="node">
-<title>Node213</title>
-<g id="a_Node000213"><a xlink:href="classtvm_1_1relax_1_1AndPatternNode.html" target="_top" xlink:title="Match a conjunction of other patterns.">
-<polygon fill="white" stroke="#666666" points="517,-3633 365,-3633 365,-3614 517,-3614 517,-3633"/>
-<text text-anchor="middle" x="441" y="-3621" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AndPatternNode</text>
+<!-- Node212 -->
+<g id="Node000212" class="node">
+<title>Node212</title>
+<g id="a_Node000212"><a xlink:href="classtvm_1_1relax_1_1SameShapeConstraintNode.html" target="_top" xlink:title="A pattern that asserting multiple root patterns have the same shape.">
+<polygon fill="white" stroke="#666666" points="544,-3650 338,-3650 338,-3631 544,-3631 544,-3650"/>
+<text text-anchor="middle" x="441" y="-3638" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::SameShapeConstraintNode</text>
</a>
</g>
</g>
-<!-- Node212->Node213 -->
-<g id="edge217_Node000212_Node000213" class="edge">
-<title>Node212->Node213</title>
-<g id="a_edge217_Node000212_Node000213"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M284.32,-3623.5C310.48,-3623.5 339.27,-3623.5 364.89,-3623.5"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="284.05,-3620 274.05,-3623.5 284.05,-3627 284.05,-3620"/>
+<!-- Node211->Node212 -->
+<g id="edge216_Node000211_Node000212" class="edge">
+<title>Node211->Node212</title>
+<g id="a_edge216_Node000211_Node000212"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M292.39,-3640.5C307.21,-3640.5 322.65,-3640.5 337.73,-3640.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="292.24,-3637 282.24,-3640.5 292.24,-3644 292.24,-3637"/>
</a>
</g>
</g>
<!-- Node214 -->
<g id="Node000214" class="node">
<title>Node214</title>
-<g id="a_Node000214"><a xlink:href="classtvm_1_1relax_1_1AttrPatternNode.html" target="_top" xlink:title="A pattern that asserting a root pattern has certain attributes.">
-<polygon fill="white" stroke="#666666" points="516.5,-3596 365.5,-3596 365.5,-3577 516.5,-3577 516.5,-3596"/>
-<text text-anchor="middle" x="441" y="-3584" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttrPatternNode</text>
+<g id="a_Node000214"><a xlink:href="classtvm_1_1relax_1_1AndPatternNode.html" target="_top" xlink:title="Match a conjunction of other patterns.">
+<polygon fill="white" stroke="#666666" points="517,-3613 365,-3613 365,-3594 517,-3594 517,-3613"/>
+<text text-anchor="middle" x="441" y="-3601" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AndPatternNode</text>
</a>
</g>
</g>
-<!-- Node212->Node214 -->
-<g id="edge218_Node000212_Node000214" class="edge">
-<title>Node212->Node214</title>
-<g id="a_edge218_Node000212_Node000214"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M273.47,-3612.39C306.93,-3607.19 346.39,-3601.05 378.5,-3596.06"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="272.63,-3608.98 263.29,-3613.97 273.71,-3615.89 272.63,-3608.98"/>
+<!-- Node213->Node214 -->
+<g id="edge218_Node000213_Node000214" class="edge">
+<title>Node213->Node214</title>
+<g id="a_edge218_Node000213_Node000214"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M284.32,-3603.5C310.48,-3603.5 339.27,-3603.5 364.89,-3603.5"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="284.05,-3600 274.05,-3603.5 284.05,-3607 284.05,-3600"/>
</a>
</g>
</g>
<!-- Node215 -->
<g id="Node000215" class="node">
<title>Node215</title>
-<g id="a_Node000215"><a xlink:href="classtvm_1_1relax_1_1CallPatternNode.html" target="_top" xlink:title="A pattern to match a callable node in Relax.">
-<polygon fill="white" stroke="#666666" points="517,-3559 365,-3559 365,-3540 517,-3540 517,-3559"/>
-<text text-anchor="middle" x="441" y="-3547" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallPatternNode</text>
+<g id="a_Node000215"><a xlink:href="classtvm_1_1relax_1_1AttrPatternNode.html" target="_top" xlink:title="A pattern that asserting a root pattern has certain attributes.">
+<polygon fill="white" stroke="#666666" points="516.5,-3576 365.5,-3576 365.5,-3557 516.5,-3557 516.5,-3576"/>
+<text text-anchor="middle" x="441" y="-3564" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::AttrPatternNode</text>
</a>
</g>
</g>
-<!-- Node212->Node215 -->
-<g id="edge219_Node000212_Node000215" class="edge">
-<title>Node212->Node215</title>
-<g id="a_edge219_Node000212_Node000215"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M284.12,-3612.13C290.33,-3610 296.36,-3607.48 302,-3604.5 322,-3593.92 317.98,-3579.04 338,-3568.5 346.37,-3564.09 355.59,-3560.69 364.97,-3558.08"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="282.78,-3608.88 274.25,-3615.16 284.83,-3615.57 282.78,-3608.88"/>
+<!-- Node213->Node215 -->
+<g id="edge219_Node000213_Node000215" class="edge">
+<title>Node213->Node215</title>
+<g id="a_edge219_Node000213_Node000215"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M273.47,-3592.39C306.93,-3587.19 346.39,-3581.05 378.5,-3576.06"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="272.63,-3588.98 263.29,-3593.97 273.71,-3595.89 272.63,-3588.98"/>
</a>
</g>
</g>
<!-- Node216 -->
<g id="Node000216" class="node">
<title>Node216</title>
-<g id="a_Node000216"><a xlink:href="classtvm_1_1relax_1_1ConstantPatternNode.html" target="_top" xlink:title="A Pattern to Match a Relax GenericConst.">
-<polygon fill="white" stroke="#666666" points="529,-3522 353,-3522 353,-3503 529,-3503 529,-3522"/>
-<text text-anchor="middle" x="441" y="-3510" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConstantPatternNode</text>
+<g id="a_Node000216"><a xlink:href="classtvm_1_1relax_1_1CallPatternNode.html" target="_top" xlink:title="A pattern to match a callable node in Relax.">
+<polygon fill="white" stroke="#666666" points="517,-3539 365,-3539 365,-3520 517,-3520 517,-3539"/>
+<text text-anchor="middle" x="441" y="-3527" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::CallPatternNode</text>
</a>
</g>
</g>
-<!-- Node212->Node216 -->
-<g id="edge220_Node000212_Node000216" class="edge">
-<title>Node212->Node216</title>
-<g id="a_edge220_Node000212_Node000216"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M283.77,-3614.74C290.28,-3612.07 296.47,-3608.7 302,-3604.5 330.79,-3582.6 309.17,-3553.35 338,-3531.5 343.03,-3527.69 348.58,-3524.57 354.43,-3522.02"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="282.28,-3611.56 274.03,-3618.2 284.62,-3618.15 282.28,-3611.56"/>
+<!-- Node213->Node216 -->
+<g id="edge220_Node000213_Node000216" class="edge">
+<title>Node213->Node216</title>
+<g id="a_edge220_Node000213_Node000216"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M284.12,-3592.13C290.33,-3590 296.36,-3587.48 302,-3584.5 322,-3573.92 317.98,-3559.04 338,-3548.5 346.37,-3544.09 355.59,-3540.69 364.97,-3538.08"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="282.78,-3588.88 274.25,-3595.16 284.83,-3595.57 282.78,-3588.88"/>
</a>
</g>
</g>
<!-- Node217 -->
<g id="Node000217" class="node">
<title>Node217</title>
-<g id="a_Node000217"><a xlink:href="classtvm_1_1relax_1_1DataTypePatternNode.html" target="_top" xlink:title="A pattern that asserting a root pattern has a certain data type.">
-<polygon fill="white" stroke="#666666" points="530.5,-3485 351.5,-3485 351.5,-3466 530.5,-3466 530.5,-3485"/>
-<text text-anchor="middle" x="441" y="-3473" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataTypePatternNode</text>
+<g id="a_Node000217"><a xlink:href="classtvm_1_1relax_1_1ConstantPatternNode.html" target="_top" xlink:title="A Pattern to Match a Relax GenericConst.">
+<polygon fill="white" stroke="#666666" points="529,-3502 353,-3502 353,-3483 529,-3483 529,-3502"/>
+<text text-anchor="middle" x="441" y="-3490" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ConstantPatternNode</text>
</a>
</g>
</g>
-<!-- Node212->Node217 -->
-<g id="edge221_Node000212_Node000217" class="edge">
-<title>Node212->Node217</title>
-<g id="a_edge221_Node000212_Node000217"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M283.49,-3615.98C290.22,-3613.07 296.53,-3609.31 302,-3604.5 340.63,-3570.54 299.3,-3528.39 338,-3494.5 342.2,-3490.82 346.88,-3487.75 351.86,-3485.21"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="282.26,-3612.7 274.09,-3619.45 284.68,-3619.27 282.26,-3612.7"/>
+<!-- Node213->Node217 -->
+<g id="edge221_Node000213_Node000217" class="edge">
+<title>Node213->Node217</title>
+<g id="a_edge221_Node000213_Node000217"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M283.77,-3594.74C290.28,-3592.07 296.47,-3588.7 302,-3584.5 330.79,-3562.6 309.17,-3533.35 338,-3511.5 343.03,-3507.69 348.58,-3504.57 354.43,-3502.02"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="282.28,-3591.56 274.03,-3598.2 284.62,-3598.15 282.28,-3591.56"/>
</a>
</g>
</g>
<!-- Node218 -->
<g id="Node000218" class="node">
<title>Node218</title>
-<g id="a_Node000218"><a xlink:href="classtvm_1_1relax_1_1ExprPatternNode.html" target="_top" xlink:title="Pattern for Relax Expression.">
-<polygon fill="white" stroke="#666666" points="518.5,-3448 363.5,-3448 363.5,-3429 518.5,-3429 518.5,-3448"/>
-<text text-anchor="middle" x="441" y="-3436" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExprPatternNode</text>
+<g id="a_Node000218"><a xlink:href="classtvm_1_1relax_1_1DataTypePatternNode.html" target="_top" xlink:title="A pattern that asserting a root pattern has a certain data type.">
+<polygon fill="white" stroke="#666666" points="530.5,-3465 351.5,-3465 351.5,-3446 530.5,-3446 530.5,-3465"/>
+<text text-anchor="middle" x="441" y="-3453" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::DataTypePatternNode</text>
</a>
</g>
</g>
-<!-- Node212->Node218 -->
-<g id="edge222_Node000212_Node000218" class="edge">
-<title>Node212->Node218</title>
-<g id="a_edge222_Node000212_Node000218"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M283.55,-3616.56C290.33,-3613.54 296.62,-3609.6 302,-3604.5 350.79,-3558.2 289.12,-3503.71 338,-3457.5 345.2,-3450.69 354.01,-3445.93 363.41,-3442.66"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="282.19,-3613.34 274.06,-3620.14 284.65,-3619.89 282.19,-3613.34"/>
+<!-- Node213->Node218 -->
+<g id="edge222_Node000213_Node000218" class="edge">
+<title>Node213->Node218</title>
+<g id="a_edge222_Node000213_Node000218"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M283.49,-3595.98C290.22,-3593.07 296.53,-3589.31 302,-3584.5 340.63,-3550.54 299.3,-3508.39 338,-3474.5 342.2,-3470.82 346.88,-3467.75 351.86,-3465.21"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="282.26,-3592.7 274.09,-3599.45 284.68,-3599.27 282.26,-3592.7"/>
</a>
</g>
</g>
<!-- Node219 -->
<g id="Node000219" class="node">
<title>Node219</title>
-<g id="a_Node000219"><a xlink:href="classtvm_1_1relax_1_1ExternFuncPatternNode.html" target="_top" xlink:title="A pattern of external function.">
-<polygon fill="white" stroke="#666666" points="534.5,-3411 347.5,-3411 347.5,-3392 534.5,-3392 534.5,-3411"/>
-<text text-anchor="middle" x="441" y="-3399" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExternFuncPatternNode</text>
+<g id="a_Node000219"><a xlink:href="classtvm_1_1relax_1_1ExprPatternNode.html" target="_top" xlink:title="Pattern for Relax Expression.">
+<polygon fill="white" stroke="#666666" points="518.5,-3428 363.5,-3428 363.5,-3409 518.5,-3409 518.5,-3428"/>
+<text text-anchor="middle" x="441" y="-3416" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::ExprPatternNode</text>
</a>
</g>
</g>
-<!-- Node212->Node219 -->
-<g id="edge223_Node000212_Node000219" class="edge">
-<title>Node212->Node219</title>
-<g id="a_edge223_Node000212_Node000219"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M283.64,-3616.9C290.43,-3613.82 296.7,-3609.77 302,-3604.5 361.08,-3545.74 278.81,-3479.15 338,-3420.5 341.71,-3416.82 345.89,-3413.74 350.38,-3411.15"/>
-<polygon fill="#63b8ff" stroke="#63b8ff" points="282.21,-3613.7 274.11,-3620.53 284.71,-3620.24 282.21,-3613.7"/>
+<!-- Node213->Node219 -->
+<g id="edge223_Node000213_Node000219" class="edge">
+<title>Node213->Node219</title>
+<g id="a_edge223_Node000213_Node000219"><a xlink:title=" ">
+<path fill="none" stroke="#63b8ff" d="M283.55,-3596.56C290.33,-3593.54 296.62,-3589.6 302,-3584.5 350.79,-3538.2 289.12,-3483.71 338,-3437.5 345.2,-3430.69 354.01,-3425.93 363.41,-3422.66"/>
+<polygon fill="#63b8ff" stroke="#63b8ff" points="282.19,-3593.34 274.06,-3600.14 284.65,-3599.89 282.19,-3593.34"/>
</a>
</g>
</g>
<!-- Node220 -->
<g id="Node000220" class="node">
<title>Node220</title>
-<g id="a_Node000220"><a xlink:href="classtvm_1_1relax_1_1FunctionPatternNode.html" target="_top" xlink:title="A pattern to match a Relax Function.">
... 14173 lines suppressed ...