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/09/25 19:56:55 UTC

(tvm-site) branch asf-site updated: deploying docs (apache/tvm@615d506e0eac781284f472bbf3c185235dc1c76e)

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 24ab2a3205a deploying docs (apache/tvm@615d506e0eac781284f472bbf3c185235dc1c76e)
24ab2a3205a is described below

commit 24ab2a3205a0095990261b67ad3f73d9908f1430
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Fri Sep 25 19:56:48 2026 +0000

    deploying docs (apache/tvm@615d506e0eac781284f472bbf3c185235dc1c76e)
---
 .../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 38942 -> 38942 bytes
 .../relax_creation.zip                             |  Bin 22593 -> 22593 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 24658 -> 24658 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        |   12 +-
 docs/_sources/sg_execution_times.rst               |   20 +-
 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/genindex.html                                 |    6 -
 docs/get_started/tutorials/ir_module.html          |    8 +-
 docs/get_started/tutorials/quick_start.html        |    4 +-
 docs/get_started/tutorials/sg_execution_times.html |    6 +-
 .../tutorials/cross_compilation_and_rpc.html       |    6 +-
 docs/how_to/tutorials/e2e_opt_model.html           |    4 +-
 docs/how_to/tutorials/sg_execution_times.html      |   12 +-
 docs/objects.inv                                   |  Bin 26569 -> 26559 bytes
 ...stvm_1_1script_1_1ir__builder_1_1IRBuilder.html |    2 +-
 ...cript_1_1ir__builder_1_1IRBuilderFrameNode.html |    2 +-
 ...ilder_1_1IRBuilderFrameNode__inherit__graph.svg | 1148 ++++++++++----------
 ..._1_1script_1_1ir__builder_1_1IRBuilderNode.html |    2 +-
 ...lder_1_1relax_1_1FunctionFrameNode-members.html |    3 +-
 ...1ir__builder_1_1relax_1_1FunctionFrameNode.html |   23 +-
 ..._1_1relax_1_1FunctionFrameNode__coll__graph.svg |  272 +++--
 ...1relax_1_1FunctionFrameNode__inherit__graph.svg |  208 ++--
 ..._1_1ir__builder_1_1relax_1_1RelaxFrameNode.html |    2 +-
 ..._1_1relax_1_1RelaxFrameNode__inherit__graph.svg |  364 +++----
 ..._1ir__builder_1_1relax_1_1SeqExprFrameNode.html |    2 +-
 ..._1relax_1_1SeqExprFrameNode__inherit__graph.svg |  280 +++--
 ...der_1_1s__tir_1_1PrimFuncFrameNode-members.html |    5 +-
 ...ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html |    7 +-
 ...1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg |  224 ++--
 ...s__tir_1_1PrimFuncFrameNode__inherit__graph.svg |  186 ++--
 ...ilder_1_1tirx_1_1PrimFuncFrameNode-members.html |    5 +-
 ..._1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html |   23 +-
 ...r_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg |  220 ++--
 ..._1tirx_1_1PrimFuncFrameNode__inherit__graph.svg |  186 ++--
 ...ipt_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html |    2 +-
 ...der_1_1tirx_1_1TIRFrameNode__inherit__graph.svg |  722 ++++++------
 docs/reference/api/doxygen/functions_func_g.html   |    4 +-
 docs/reference/api/doxygen/functions_g.html        |    2 +-
 docs/reference/api/doxygen/functions_k.html        |    4 +-
 docs/reference/api/doxygen/functions_o.html        |    2 +-
 docs/reference/api/doxygen/functions_t.html        |    5 +-
 docs/reference/api/doxygen/functions_u.html        |    2 +-
 docs/reference/api/doxygen/functions_vars_t.html   |    1 -
 .../api/doxygen/namespacemembers_func_r.html       |    1 -
 docs/reference/api/doxygen/namespacemembers_r.html |    1 -
 .../namespacetvm_1_1script_1_1ir__builder.html     |   58 +-
 ...elax_2script_2ir__builder_2frame_8h_source.html |  481 ++++----
 .../relax_2script_2ir__builder_2ir_8h_source.html  |   10 +-
 ..._tir_2script_2ir__builder_2frame_8h_source.html |    2 +-
 .../api/doxygen/script_2ir__builder_2base_8h.html  |    9 +-
 .../script_2ir__builder_2base_8h_source.html       |  258 +++--
 docs/reference/api/doxygen/search/all_10.js        |    2 +-
 docs/reference/api/doxygen/search/all_11.js        |    2 +-
 docs/reference/api/doxygen/search/all_13.js        |  141 ++-
 docs/reference/api/doxygen/search/all_14.js        |    6 +-
 docs/reference/api/doxygen/search/all_15.js        |   73 +-
 docs/reference/api/doxygen/search/all_16.js        |    2 +-
 docs/reference/api/doxygen/search/all_17.js        |    2 +-
 docs/reference/api/doxygen/search/all_18.js        |    4 +-
 docs/reference/api/doxygen/search/all_2.js         |    2 +-
 docs/reference/api/doxygen/search/all_3.js         |    2 +-
 docs/reference/api/doxygen/search/all_5.js         |    2 +-
 docs/reference/api/doxygen/search/all_6.js         |    4 +-
 docs/reference/api/doxygen/search/all_8.js         |    2 +-
 docs/reference/api/doxygen/search/all_a.js         |    2 +-
 docs/reference/api/doxygen/search/all_c.js         |    2 +-
 docs/reference/api/doxygen/search/all_e.js         |    4 +-
 docs/reference/api/doxygen/search/functions_11.js  |   77 +-
 docs/reference/api/doxygen/search/functions_12.js  |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    2 +-
 docs/reference/api/doxygen/search/functions_15.js  |    2 +-
 docs/reference/api/doxygen/search/functions_16.js  |    2 +-
 docs/reference/api/doxygen/search/functions_4.js   |    4 +-
 docs/reference/api/doxygen/search/functions_6.js   |    2 +-
 docs/reference/api/doxygen/search/functions_c.js   |    4 +-
 docs/reference/api/doxygen/search/functions_e.js   |    2 +-
 docs/reference/api/doxygen/search/variables_13.js  |    5 +-
 ...tirx_2script_2ir__builder_2frame_8h_source.html |  985 +++++++++--------
 .../tirx_2script_2ir__builder_2ir_8h_source.html   |   20 +-
 docs/reference/api/python/script/parser.html       |    2 +-
 docs/reference/api/python/script/script.html       |   24 +-
 .../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   |  118 +-
 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_.TensorCacheEntry.html    |   14 +-
 .../interfaces/_internal_.TensorShardEntry.html    |   10 +-
 .../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                       |   20 +-
 182 files changed, 3496 insertions(+), 3667 deletions(-)

diff --git a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip
index 022c098fdd1..04928859b7f 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 a635b00d5a8..a3a7b3286e8 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 1420db22567..af52c20acf2 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 60b1cad060d..3722af92ccb 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 7ae1213ad5e..8ed25232f00 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 5e57673755f..81b9b10dbd8 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 686cb282d83..657839716b1 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 02cb578ae3a..b4bde2239ab 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 00b93238b41..e9ebd0d3120 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 fa79f40df39..a80eef6b838 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 5e47c1d3ab1..8eda4b653fb 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 8b82d2b026b..a926e383e3f 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 4912633a71a..a1aa58b5df5 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 94527cee782..a6b9953be80 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 84ae8517614..c0f14aefd50 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 fea1308b042..68ff7fd3e2d 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 9b985c8da31..2c6ed470bc2 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.129** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.128** 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.076
+     - 00:00.075
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
      - 00:00.053
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 1428a27e7a6..00f7c2af9d3 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:00.526** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.527** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
 
 .. container::
 
@@ -36,7 +36,7 @@ Computation times
      - 00:00.260
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
-     - 00:00.135
+     - 00:00.136
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``dlight_gpu_scheduling.py``)
      - 00:00.123
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 6e3bf4231c8..9cbffb6b95b 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.7247       2.7247       2.7247       2.7247       0.0000                  
+       2.5095       2.5095       2.5095       2.5095       0.0000                  
 
 
 
@@ -297,7 +297,7 @@ action involves reordering these two loops.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.8646       0.8646       0.8646       0.8646       0.0000                  
+       0.8663       0.8663       0.8663       0.8663       0.0000                  
 
 
 
@@ -429,7 +429,7 @@ from the reduction update via the **decompose_reduction** primitive.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.3481       0.3481       0.3481       0.3481       0.0000                  
+       0.3579       0.3579       0.3579       0.3579       0.0000                  
 
 
 
diff --git a/docs/_sources/get_started/tutorials/ir_module.rst b/docs/_sources/get_started/tutorials/ir_module.rst
index dad71595af8..91a35c7a8f2 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst
+++ b/docs/_sources/get_started/tutorials/ir_module.rst
@@ -698,8 +698,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
 
  .. code-block:: none
 
-    [[ 0.03948647  0.0793153   0.123801   -0.09491231  0.15187639 -0.03828565
-       0.03922757  0.01865717  0.13018292 -0.17945915]]
+    [[ 0.0370848   0.26641273  0.00418052  0.08781403  0.20698646 -0.10690594
+      -0.04839756  0.13004658 -0.10378692  0.0829106 ]]
 
 
 
@@ -765,8 +765,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
 
  .. code-block:: none
 
-    [[ 0.03948641  0.07931522  0.1238011  -0.09491236  0.1518764  -0.0382856
-       0.0392276   0.01865712  0.13018295 -0.17945918]]
+    [[ 0.03708479  0.2664128   0.00418054  0.08781409  0.20698649 -0.10690594
+      -0.04839757  0.13004656 -0.10378689  0.08291061]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst b/docs/_sources/get_started/tutorials/quick_start.rst
index dbc3ddbefc5..27b483a1ea1 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst
+++ b/docs/_sources/get_started/tutorials/quick_start.rst
@@ -224,8 +224,8 @@ different devices.
 
  .. code-block:: none
 
-    [[25134.955 26892.611 26181.086 24849.016 25427.197 23793.36  24640.152
-      25401.229 25655.738 23817.846]]
+    [[25429.582 25338.82  26536.424 25485.605 25595.576 25385.912 25317.596
+      24487.012 26225.205 22899.635]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/sg_execution_times.rst b/docs/_sources/get_started/tutorials/sg_execution_times.rst
index fb3371de92c..d71ad6bc17d 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:05.471** total execution time for 2 files **from get_started/tutorials**:
+**00:05.492** total execution time for 2 files **from get_started/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
-     - 00:05.316
+     - 00:05.333
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
-     - 00:00.156
+     - 00:00.159
      - 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 d7941865618..2d3e2a880cd 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
 
-    9e-08 secs/op
+    9.3e-08 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/tmpeiqo6slr/model_deployed.so
-    Saved parameters to: /tmp/tmpeiqo6slr/model_params.npz
+    Exported library to: /tmp/tmpdduiuqqz/model_deployed.so
+    Saved parameters to: /tmp/tmpdduiuqqz/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 611f0c37bc4..082b58be287 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]      75%|███████▌  | 33.5M/44.7M [00:00<00:00, 351MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 374MB/s]
+       0%|          | 0.00/44.7M [00:00<?, ?B/s]      75%|███████▌  | 33.6M/44.7M [00:00<00:00, 353MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 376MB/s]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst b/docs/_sources/how_to/tutorials/sg_execution_times.rst
index 3edea6e4524..be618d35ec3 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:13.084** total execution time for 8 files **from how_to/tutorials**:
+**00:13.120** total execution time for 8 files **from how_to/tutorials**:
 
 .. container::
 
@@ -33,19 +33,19 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
-     - 00:08.424
+     - 00:08.439
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``import_model.py``)
-     - 00:03.278
+     - 00:03.298
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
-     - 00:00.594
+     - 00:00.584
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-     - 00:00.466
+     - 00:00.483
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
-     - 00:00.290
+     - 00:00.284
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``bring_your_own_codegen.py``)
      - 00:00.025
diff --git a/docs/_sources/sg_execution_times.rst b/docs/_sources/sg_execution_times.rst
index aa049d2afec..285792adafa 100644
--- a/docs/_sources/sg_execution_times.rst
+++ b/docs/_sources/sg_execution_times.rst
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:19.210** total execution time for 16 files **from all galleries**:
+**00:19.267** total execution time for 16 files **from all galleries**:
 
 .. container::
 
@@ -33,37 +33,37 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
-     - 00:08.424
+     - 00:08.439
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
-     - 00:05.316
+     - 00:05.333
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``../how_to/tutorials/import_model.py``)
-     - 00:03.278
+     - 00:03.298
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
-     - 00:00.594
+     - 00:00.584
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
-     - 00:00.466
+     - 00:00.483
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
-     - 00:00.290
+     - 00:00.284
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
      - 00:00.260
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
-     - 00:00.156
+     - 00:00.159
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
-     - 00:00.135
+     - 00:00.136
      - 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.123
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
-     - 00:00.076
+     - 00:00.075
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
      - 00:00.053
diff --git a/docs/commit_hash b/docs/commit_hash
index 32480422169..ff0436a9a3f 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-4c4974551c4cf9d2fe6d97c8a132b5068f1f410c
+615d506e0eac781284f472bbf3c185235dc1c76e
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index 80eda969132..3743cd8913e 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.129</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.128</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.076</p></td>
+<td><p>00:00.075</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 a1637396f5c..94e764205e6 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:00.526</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.527</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" />
@@ -660,7 +660,7 @@ $(document).ready( function () {
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
-<td><p>00:00.135</p></td>
+<td><p>00:00.136</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="dlight_gpu_scheduling.html#sphx-glr-deep-dive-tensor-ir-tutorials-dlight-gpu-scheduling-py"><span class="std std-ref">DLight: Rule-Based GPU Scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">dlight_gpu_scheduling.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
index 11c05e74283..447d50555b2 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.7247       2.7247       2.7247       2.7247       0.0000
+   2.5095       2.5095       2.5095       2.5095       0.0000
 </pre></div>
 </div>
 <section id="initialization-schedule">
@@ -822,7 +822,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.8646       0.8646       0.8646       0.8646       0.0000
+   0.8663       0.8663       0.8663       0.8663       0.0000
 </pre></div>
 </div>
 </section>
@@ -920,7 +920,7 @@ class Module:
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.3481       0.3481       0.3481       0.3481       0.0000
+   0.3579       0.3579       0.3579       0.3579       0.0000
 </pre></div>
 </div>
 </section>
diff --git a/docs/genindex.html b/docs/genindex.html
index d33190f0c72..b5ff09336ab 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -5493,12 +5493,6 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.resolve_global_info_args">resolve_global_info_args() (in module tvm.script.ir_builder)</a>
 </li>
-      <li><a href="reference/api/python/script/script.html#tvm.script.relax.resolve_type_var_">resolve_type_var_() (in module tvm.script.relax)</a>
-
-      <ul>
-        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.resolve_type_var_">(in module tvm.script.tirx)</a>
-</li>
-      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TopKAttrs.ret_type">ret_type (tvm.relax.op.op_attrs.TopKAttrs property)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Return">Return (class in tvm.tirx)</a>
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index f143b0b8a06..4092231bfb8 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -1163,8 +1163,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.03948647  0.0793153   0.123801   -0.09491231  0.15187639 -0.03828565
-   0.03922757  0.01865717  0.13018292 -0.17945915]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.0370848   0.26641273  0.00418052  0.08781403  0.20698646 -0.10690594
+  -0.04839756  0.13004658 -0.10378692  0.0829106 ]]
 </pre></div>
 </div>
 </section>
@@ -1198,8 +1198,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.03948641  0.07931522  0.1238011  -0.09491236  0.1518764  -0.0382856
-   0.0392276   0.01865712  0.13018295 -0.17945918]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.03708479  0.2664128   0.00418054  0.08781409  0.20698649 -0.10690594
+  -0.04839757  0.13004656 -0.10378689  0.08291061]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index a546665fc78..08fe0d522c7 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -802,8 +802,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">&quot;forward&quot;</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>[[25134.955 26892.611 26181.086 24849.016 25427.197 23793.36  24640.152
-  25401.229 25655.738 23817.846]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[25429.582 25338.82  26536.424 25485.605 25595.576 25385.912 25317.596
+  24487.012 26225.205 22899.635]]
 </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 d6bc452a5af..e9f82b9ffa6 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:05.471</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:05.492</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -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:05.316</p></td>
+<td><p>00:05.333</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.156</p></td>
+<td><p>00:00.159</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 48d5f8f83fc..6c9e3aedb3c 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">&quot;</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9e-08 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9.3e-08 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/tmpeiqo6slr/model_deployed.so
-Saved parameters to: /tmp/tmpeiqo6slr/model_params.npz
+Exported library to: /tmp/tmpdduiuqqz/model_deployed.so
+Saved parameters to: /tmp/tmpdduiuqqz/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 2c8494b9f4d..48097f4b71a 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: &quot;https://download.pytorch.org/models/resnet18-f37072fd.pth&quot; to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
 
   0%|          | 0.00/44.7M [00:00&lt;?, ?B/s]
- 75%|███████▌  | 33.5M/44.7M [00:00&lt;00:00, 351MB/s]
-100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 374MB/s]
+ 75%|███████▌  | 33.6M/44.7M [00:00&lt;00:00, 353MB/s]
+100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 376MB/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 e05b72248aa..dfbba3a7e7c 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:13.084</strong> total execution time for 8 files <strong>from how_to/tutorials</strong>:</p>
+<p><strong>00:13.120</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,23 +656,23 @@ $(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:08.424</p></td>
+<td><p>00:08.439</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.278</p></td>
+<td><p>00:03.298</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.594</p></td>
+<td><p>00:00.584</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.466</p></td>
+<td><p>00:00.483</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="customize_opt.html#sphx-glr-how-to-tutorials-customize-opt-py"><span class="std std-ref">Customize Optimization</span></a> (<code class="docutils literal notranslate"><span class="pre">customize_opt.py</span></code>)</p></td>
-<td><p>00:00.290</p></td>
+<td><p>00:00.284</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="bring_your_own_codegen.html#sphx-glr-how-to-tutorials-bring-your-own-codegen-py"><span class="std std-ref">Bring Your Own Codegen</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_codegen.py</span></code>)</p></td>
diff --git a/docs/objects.inv b/docs/objects.inv
index 81936b40cdc..8f8f7625e38 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html
index 1c3cc47af98..95fe3f1743a 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html
@@ -203,7 +203,7 @@ tvm::support::With </dd></dl>
 <div class="line">}</div>
 <div class="line"><span class="comment">// IRBuilder::Current() == nullptr</span></div>
 <div class="ttc" id="aclasstvm_1_1With_html"><div class="ttname"><a href="classtvm_1_1With.html">tvm::With</a></div><div class="ttdoc">RAII wrapper function to enter and exit a context object similar to python's with syntax.</div><div class="ttdef"><b>Definition</b> with_context.h:59</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">tvm::script::ir_builder::IRBuilder</a></div><div class="ttdoc">Managed reference to an IRBuilderNode.</div><div class="ttdef"><b>Definition</b> base.h:199</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">tvm::script::ir_builder::IRBuilder</a></div><div class="ttdoc">Managed reference to an IRBuilderNode.</div><div class="ttdef"><b>Definition</b> base.h:194</div></div>
 </div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a7cbc01ca0448da52ce17a3fd961c569e" title="Get the current IRBuilder in the current thread-local scope.">IRBuilder::Current</a> </dd>
 <dd>
 <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a4999d7966e447958e004c6a12417d610" title="Exit the RAII scope.">IRBuilder::ExitWithScope</a> </dd>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html
index 4de7882159a..5962a9544dd 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html
@@ -90,7 +90,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::IRBuilderFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg" width="3726" height="1527"><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_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg" width="3726" height="1487"><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::script::ir_builder::IRBuilderFrameNode:</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg
index b8ebc32fc01..4e82acc89a3 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode__inherit__graph.svg
@@ -4,42 +4,42 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::IRBuilderFrameNode Pages: 1 -->
-<svg width="2794pt" height="1145pt"
- viewBox="0.00 0.00 2793.50 1145.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 1141)">
+<svg width="2794pt" height="1115pt"
+ viewBox="0.00 0.00 2793.50 1115.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 1111)">
 <title>tvm::script::ir_builder::IRBuilderFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="A stack frame of the IRBuilder used to keep track of the current scope. Furthermore,...">
-<polygon fill="#999999" stroke="transparent" points="428.5,-1052 272.5,-1052 272.5,-861 428.5,-861 428.5,-1052"/>
-<text text-anchor="start" x="297" y="-1039.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="297" y="-1028.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="276.5" y="-1013.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-1013.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
-<text text-anchor="start" x="276.5" y="-998.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-998.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<polygon fill="#999999" stroke="transparent" points="428.5,-1022 272.5,-1022 272.5,-831 428.5,-831 428.5,-1022"/>
+<text text-anchor="start" x="297" y="-1009.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="297" y="-998.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="276.5" y="-983.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-983.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="289.5" y="-983.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="276.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="289.5" y="-968.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="276.5" y="-953.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-953.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="289.5" y="-942.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="276.5" y="-927.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-927.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
-<text text-anchor="start" x="276.5" y="-912.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-912.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="289.5" y="-953.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="276.5" y="-938.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="289.5" y="-938.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="276.5" y="-923.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="289.5" y="-923.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="289.5" y="-912.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="276.5" y="-897.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-897.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="289.5" y="-897.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="276.5" y="-882.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-882.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="289.5" y="-882.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="276.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="272.5,-1023.5 272.5,-1023.5 428.5,-1023.5 428.5,-1023.5 272.5,-1023.5"/>
-<polygon fill="#666666" stroke="#666666" points="272.5,-978.5 272.5,-978.5 287.5,-978.5 287.5,-978.5 272.5,-978.5"/>
-<polygon fill="#666666" stroke="#666666" points="287.5,-978.5 287.5,-978.5 428.5,-978.5 428.5,-978.5 287.5,-978.5"/>
-<polygon fill="none" stroke="#666666" points="272.5,-861 272.5,-1052 428.5,-1052 428.5,-861 272.5,-861"/>
+<text text-anchor="start" x="289.5" y="-867.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="276.5" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="289.5" y="-852.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="276.5" y="-837.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="289.5" y="-837.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="272.5,-993.5 272.5,-993.5 428.5,-993.5 428.5,-993.5 272.5,-993.5"/>
+<polygon fill="#666666" stroke="#666666" points="272.5,-948.5 272.5,-948.5 287.5,-948.5 287.5,-948.5 272.5,-948.5"/>
+<polygon fill="#666666" stroke="#666666" points="287.5,-948.5 287.5,-948.5 428.5,-948.5 428.5,-948.5 287.5,-948.5"/>
+<polygon fill="none" stroke="#666666" points="272.5,-831 272.5,-1022 428.5,-1022 428.5,-831 272.5,-831"/>
 </a>
 </g>
 </g>
@@ -47,28 +47,28 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1ir_1_1IRModuleFrameNode.html" target="_top" xlink:title="A frame that represents the IRModule frame with functions and global variables.">
-<polygon fill="white" stroke="transparent" points="254.5,-825 98.5,-825 98.5,-679 254.5,-679 254.5,-825"/>
-<text text-anchor="start" x="116" y="-813" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="116" y="-802" font-family="Helvetica,sans-Serif" font-size="10.00">::ir::IRModuleFrameNode</text>
-<text text-anchor="start" x="102.5" y="-787" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-787" font-family="Helvetica,sans-Serif" font-size="10.00">global_var_map</text>
-<text text-anchor="start" x="102.5" y="-772" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-772" font-family="Helvetica,sans-Serif" font-size="10.00">functions</text>
+<polygon fill="white" stroke="transparent" points="254.5,-795 98.5,-795 98.5,-649 254.5,-649 254.5,-795"/>
+<text text-anchor="start" x="116" y="-783" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="116" y="-772" font-family="Helvetica,sans-Serif" font-size="10.00">::ir::IRModuleFrameNode</text>
 <text text-anchor="start" x="102.5" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="115.5" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00">global_var_map</text>
 <text text-anchor="start" x="102.5" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">global_infos</text>
+<text text-anchor="start" x="115.5" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">functions</text>
 <text text-anchor="start" x="102.5" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="115.5" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="102.5" y="-701" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-701" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="102.5" y="-686" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="115.5" y="-686" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="98.5,-797 98.5,-797 254.5,-797 254.5,-797 98.5,-797"/>
-<polygon fill="#666666" stroke="#666666" points="98.5,-737 98.5,-737 113.5,-737 113.5,-737 98.5,-737"/>
-<polygon fill="#666666" stroke="#666666" points="113.5,-737 113.5,-737 254.5,-737 254.5,-737 113.5,-737"/>
-<polygon fill="none" stroke="#666666" points="98.5,-679 98.5,-825 254.5,-825 254.5,-679 98.5,-679"/>
+<text text-anchor="start" x="115.5" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="102.5" y="-712" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="115.5" y="-712" font-family="Helvetica,sans-Serif" font-size="10.00">global_infos</text>
+<text text-anchor="start" x="102.5" y="-697" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="115.5" y="-697" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="115.5" y="-686" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="102.5" y="-671" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="115.5" y="-671" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="102.5" y="-656" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="115.5" y="-656" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="98.5,-767 98.5,-767 254.5,-767 254.5,-767 98.5,-767"/>
+<polygon fill="#666666" stroke="#666666" points="98.5,-707 98.5,-707 113.5,-707 113.5,-707 98.5,-707"/>
+<polygon fill="#666666" stroke="#666666" points="113.5,-707 113.5,-707 254.5,-707 254.5,-707 113.5,-707"/>
+<polygon fill="none" stroke="#666666" points="98.5,-649 98.5,-795 254.5,-795 254.5,-649 98.5,-649"/>
 </a>
 </g>
 </g>
@@ -76,8 +76,8 @@
 <g id="edge2_Node000001_Node000003" class="edge">
 <title>Node1&#45;&gt;Node3</title>
 <g id="a_edge2_Node000001_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M265.72,-856.83C256.52,-846.13 247.29,-835.38 238.43,-825.07"/>
-<polygon fill="none" stroke="#63b8ff" points="263.24,-859.31 272.41,-864.62 268.54,-854.75 263.24,-859.31"/>
+<path fill="none" stroke="#63b8ff" d="M265.72,-826.83C256.52,-816.13 247.29,-805.38 238.43,-795.07"/>
+<polygon fill="none" stroke="#63b8ff" points="263.24,-829.31 272.41,-834.62 268.54,-824.75 263.24,-829.31"/>
 </a>
 </g>
 </g>
@@ -85,18 +85,18 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html" target="_top" xlink:title="The base ir_builder frame for the relax dialect.">
-<polygon fill="white" stroke="transparent" points="428.5,-795 272.5,-795 272.5,-709 428.5,-709 428.5,-795"/>
-<text text-anchor="start" x="290" y="-783" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="290" y="-772" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
-<text text-anchor="start" x="348.5" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="276.5" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="289.5" y="-731" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="276.5" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="289.5" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="272.5,-767 272.5,-767 428.5,-767 428.5,-767 272.5,-767"/>
-<polygon fill="#666666" stroke="#666666" points="272.5,-752 272.5,-752 428.5,-752 428.5,-752 272.5,-752"/>
-<polygon fill="none" stroke="#666666" points="272.5,-709 272.5,-795 428.5,-795 428.5,-709 272.5,-709"/>
+<polygon fill="white" stroke="transparent" points="428.5,-765 272.5,-765 272.5,-679 428.5,-679 428.5,-765"/>
+<text text-anchor="start" x="290" y="-753" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="290" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
+<text text-anchor="start" x="348.5" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="276.5" y="-712" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="289.5" y="-712" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="289.5" y="-701" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="276.5" y="-686" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="289.5" y="-686" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="272.5,-737 272.5,-737 428.5,-737 428.5,-737 272.5,-737"/>
+<polygon fill="#666666" stroke="#666666" points="272.5,-722 272.5,-722 428.5,-722 428.5,-722 272.5,-722"/>
+<polygon fill="none" stroke="#666666" points="272.5,-679 272.5,-765 428.5,-765 428.5,-679 272.5,-679"/>
 </a>
 </g>
 </g>
@@ -104,8 +104,8 @@
 <g id="edge3_Node000001_Node000004" class="edge">
 <title>Node1&#45;&gt;Node4</title>
 <g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M350.5,-850.76C350.5,-831.01 350.5,-811.44 350.5,-795.05"/>
-<polygon fill="none" stroke="#63b8ff" points="347,-850.77 350.5,-860.77 354,-850.77 347,-850.77"/>
+<path fill="none" stroke="#63b8ff" d="M350.5,-820.76C350.5,-801.01 350.5,-781.44 350.5,-765.05"/>
+<polygon fill="none" stroke="#63b8ff" points="347,-820.77 350.5,-830.77 354,-820.77 347,-820.77"/>
 </a>
 </g>
 </g>
@@ -113,22 +113,22 @@
 <g id="Node000011" class="node">
 <title>Node11</title>
 <g id="a_Node000011"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements.">
-<polygon fill="white" stroke="transparent" points="1646.5,-802.5 1490.5,-802.5 1490.5,-701.5 1646.5,-701.5 1646.5,-802.5"/>
-<text text-anchor="start" x="1516" y="-790" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1518" y="-779" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
-<text text-anchor="start" x="1494.5" y="-764" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1507.5" y="-764" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
-<text text-anchor="start" x="1494.5" y="-749" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1507.5" y="-749" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<polygon fill="white" stroke="transparent" points="1646.5,-772.5 1490.5,-772.5 1490.5,-671.5 1646.5,-671.5 1646.5,-772.5"/>
+<text text-anchor="start" x="1516" y="-760" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1518" y="-749" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
 <text text-anchor="start" x="1494.5" y="-734" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1507.5" y="-734" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1507.5" y="-723" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="1494.5" y="-708" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1507.5" y="-708" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1490.5,-774 1490.5,-774 1646.5,-774 1646.5,-774 1490.5,-774"/>
-<polygon fill="#666666" stroke="#666666" points="1490.5,-759 1490.5,-759 1505.5,-759 1505.5,-759 1490.5,-759"/>
-<polygon fill="#666666" stroke="#666666" points="1505.5,-759 1505.5,-759 1646.5,-759 1646.5,-759 1505.5,-759"/>
-<polygon fill="none" stroke="#666666" points="1490.5,-701.5 1490.5,-802.5 1646.5,-802.5 1646.5,-701.5 1490.5,-701.5"/>
+<text text-anchor="start" x="1507.5" y="-734" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
+<text text-anchor="start" x="1494.5" y="-719" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1507.5" y="-719" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="1494.5" y="-704" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1507.5" y="-704" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1507.5" y="-693" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="1494.5" y="-678" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1507.5" y="-678" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1490.5,-744 1490.5,-744 1646.5,-744 1646.5,-744 1490.5,-744"/>
+<polygon fill="#666666" stroke="#666666" points="1490.5,-729 1490.5,-729 1505.5,-729 1505.5,-729 1490.5,-729"/>
+<polygon fill="#666666" stroke="#666666" points="1505.5,-729 1505.5,-729 1646.5,-729 1646.5,-729 1505.5,-729"/>
+<polygon fill="none" stroke="#666666" points="1490.5,-671.5 1490.5,-772.5 1646.5,-772.5 1646.5,-671.5 1490.5,-671.5"/>
 </a>
 </g>
 </g>
@@ -136,8 +136,8 @@
 <g id="edge10_Node000001_Node000011" class="edge">
 <title>Node1&#45;&gt;Node11</title>
 <g id="a_edge10_Node000001_Node000011"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M438.46,-940.88C666.42,-902.98 1273.64,-802.02 1490.32,-766"/>
-<polygon fill="none" stroke="#63b8ff" points="437.83,-937.43 428.54,-942.52 438.98,-944.34 437.83,-937.43"/>
+<path fill="none" stroke="#63b8ff" d="M438.46,-910.88C666.42,-872.98 1273.64,-772.02 1490.32,-736"/>
+<polygon fill="none" stroke="#63b8ff" points="437.83,-907.43 428.54,-912.52 438.98,-914.34 437.83,-907.43"/>
 </a>
 </g>
 </g>
@@ -145,13 +145,13 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="379.5,-1137 321.5,-1137 321.5,-1088 379.5,-1088 379.5,-1137"/>
-<text text-anchor="start" x="326.5" y="-1124.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="348.5" y="-1109.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="348.5" y="-1094.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="321.5,-1119.5 321.5,-1119.5 379.5,-1119.5 379.5,-1119.5 321.5,-1119.5"/>
-<polygon fill="#666666" stroke="#666666" points="321.5,-1104.5 321.5,-1104.5 379.5,-1104.5 379.5,-1104.5 321.5,-1104.5"/>
-<polygon fill="none" stroke="#666666" points="321.5,-1088 321.5,-1137 379.5,-1137 379.5,-1088 321.5,-1088"/>
+<polygon fill="white" stroke="transparent" points="379.5,-1107 321.5,-1107 321.5,-1058 379.5,-1058 379.5,-1107"/>
+<text text-anchor="start" x="326.5" y="-1094.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
+<text text-anchor="start" x="348.5" y="-1079.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="348.5" y="-1064.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="#666666" stroke="#666666" points="321.5,-1089.5 321.5,-1089.5 379.5,-1089.5 379.5,-1089.5 321.5,-1089.5"/>
+<polygon fill="#666666" stroke="#666666" points="321.5,-1074.5 321.5,-1074.5 379.5,-1074.5 379.5,-1074.5 321.5,-1074.5"/>
+<polygon fill="none" stroke="#666666" points="321.5,-1058 321.5,-1107 379.5,-1107 379.5,-1058 321.5,-1058"/>
 </a>
 </g>
 </g>
@@ -159,8 +159,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M350.5,-1077.72C350.5,-1069.91 350.5,-1061.22 350.5,-1052.19"/>
-<polygon fill="none" stroke="#63b8ff" points="347,-1077.77 350.5,-1087.77 354,-1077.78 347,-1077.77"/>
+<path fill="none" stroke="#63b8ff" d="M350.5,-1047.72C350.5,-1039.91 350.5,-1031.22 350.5,-1022.19"/>
+<polygon fill="none" stroke="#63b8ff" points="347,-1047.77 350.5,-1057.77 354,-1047.78 347,-1047.77"/>
 </a>
 </g>
 </g>
@@ -168,32 +168,32 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html" target="_top" xlink:title="The ir_builder frame for relax binding blocks.">
-<polygon fill="white" stroke="transparent" points="167,-575.5 0,-575.5 0,-399.5 167,-399.5 167,-575.5"/>
-<text text-anchor="start" x="5.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="5.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::BindingBlockFrameNode</text>
-<text text-anchor="start" x="7" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_dataflow</text>
-<text text-anchor="start" x="7" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">emitted_vars</text>
-<text text-anchor="start" x="7" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">block_ended</text>
-<text text-anchor="start" x="7" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">output_vars</text>
-<text text-anchor="start" x="7" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_spans</text>
-<text text-anchor="start" x="7" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="22.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="7" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="7" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="7" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0.5,-547.5 0.5,-547.5 167.5,-547.5 167.5,-547.5 0.5,-547.5"/>
-<polygon fill="#666666" stroke="#666666" points="0.5,-472.5 0.5,-472.5 20.5,-472.5 20.5,-472.5 0.5,-472.5"/>
-<polygon fill="#666666" stroke="#666666" points="20.5,-472.5 20.5,-472.5 167.5,-472.5 167.5,-472.5 20.5,-472.5"/>
-<polygon fill="none" stroke="#666666" points="0,-399.5 0,-575.5 167,-575.5 167,-399.5 0,-399.5"/>
+<polygon fill="white" stroke="transparent" points="167,-553 0,-553 0,-377 167,-377 167,-553"/>
+<text text-anchor="start" x="5.5" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="5.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::BindingBlockFrameNode</text>
+<text text-anchor="start" x="7" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">is_dataflow</text>
+<text text-anchor="start" x="7" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">emitted_vars</text>
+<text text-anchor="start" x="7" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">block_ended</text>
+<text text-anchor="start" x="7" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">output_vars</text>
+<text text-anchor="start" x="7" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">binding_spans</text>
+<text text-anchor="start" x="7" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="22.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="7" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="7" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="7" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0.5,-525 0.5,-525 167.5,-525 167.5,-525 0.5,-525"/>
+<polygon fill="#666666" stroke="#666666" points="0.5,-450 0.5,-450 20.5,-450 20.5,-450 0.5,-450"/>
+<polygon fill="#666666" stroke="#666666" points="20.5,-450 20.5,-450 167.5,-450 167.5,-450 20.5,-450"/>
+<polygon fill="none" stroke="#666666" points="0,-377 0,-553 167,-553 167,-377 0,-377"/>
 </a>
 </g>
 </g>
@@ -201,8 +201,8 @@
 <g id="edge4_Node000004_Node000005" class="edge">
 <title>Node4&#45;&gt;Node5</title>
 <g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M296.63,-702.27C286.06,-693.92 274.74,-685.77 263.5,-679 227.65,-657.42 208.22,-670.3 176.5,-643 155.03,-624.52 137.11,-599.79 122.92,-575.55"/>
-<polygon fill="none" stroke="#63b8ff" points="294.58,-705.11 304.56,-708.67 298.98,-699.67 294.58,-705.11"/>
+<path fill="none" stroke="#63b8ff" d="M296.63,-672.27C286.06,-663.92 274.74,-655.77 263.5,-649 227.65,-627.42 208.52,-639.94 176.5,-613 156.86,-596.47 140.01,-574.71 126.26,-553.02"/>
+<polygon fill="none" stroke="#63b8ff" points="294.58,-675.11 304.56,-678.67 298.98,-669.67 294.58,-675.11"/>
 </a>
 </g>
 </g>
@@ -210,32 +210,32 @@
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html" target="_top" xlink:title="A frame that represents if statement.">
-<polygon fill="white" stroke="transparent" points="341.5,-575.5 185.5,-575.5 185.5,-399.5 341.5,-399.5 341.5,-575.5"/>
-<text text-anchor="start" x="211" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="213.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::IfFrameNode</text>
-<text text-anchor="start" x="189.5" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="189.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">then_expr</text>
-<text text-anchor="start" x="189.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">else_expr</text>
-<text text-anchor="start" x="189.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">var</text>
-<text text-anchor="start" x="189.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">var_name</text>
-<text text-anchor="start" x="189.5" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="202.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="189.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="189.5" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="189.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="185.5,-547.5 185.5,-547.5 341.5,-547.5 341.5,-547.5 185.5,-547.5"/>
-<polygon fill="#666666" stroke="#666666" points="185.5,-472.5 185.5,-472.5 200.5,-472.5 200.5,-472.5 185.5,-472.5"/>
-<polygon fill="#666666" stroke="#666666" points="200.5,-472.5 200.5,-472.5 341.5,-472.5 341.5,-472.5 200.5,-472.5"/>
-<polygon fill="none" stroke="#666666" points="185.5,-399.5 185.5,-575.5 341.5,-575.5 341.5,-399.5 185.5,-399.5"/>
+<polygon fill="white" stroke="transparent" points="341.5,-553 185.5,-553 185.5,-377 341.5,-377 341.5,-553"/>
+<text text-anchor="start" x="211" y="-541" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="213.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::IfFrameNode</text>
+<text text-anchor="start" x="189.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="189.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">then_expr</text>
+<text text-anchor="start" x="189.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">else_expr</text>
+<text text-anchor="start" x="189.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">var</text>
+<text text-anchor="start" x="189.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">var_name</text>
+<text text-anchor="start" x="189.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="202.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="189.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="189.5" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="189.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="185.5,-525 185.5,-525 341.5,-525 341.5,-525 185.5,-525"/>
+<polygon fill="#666666" stroke="#666666" points="185.5,-450 185.5,-450 200.5,-450 200.5,-450 185.5,-450"/>
+<polygon fill="#666666" stroke="#666666" points="200.5,-450 200.5,-450 341.5,-450 341.5,-450 200.5,-450"/>
+<polygon fill="none" stroke="#666666" points="185.5,-377 185.5,-553 341.5,-553 341.5,-377 185.5,-377"/>
 </a>
 </g>
 </g>
@@ -243,8 +243,8 @@
 <g id="edge5_Node000004_Node000006" class="edge">
 <title>Node4&#45;&gt;Node6</title>
 <g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M333.35,-699.24C321.68,-664.06 305.97,-616.64 292.4,-575.7"/>
-<polygon fill="none" stroke="#63b8ff" points="330.05,-700.43 336.52,-708.82 336.7,-698.23 330.05,-700.43"/>
+<path fill="none" stroke="#63b8ff" d="M332.88,-669.35C321.51,-636.02 306.43,-591.82 293.23,-553.14"/>
+<polygon fill="none" stroke="#63b8ff" points="329.59,-670.56 336.13,-678.89 336.22,-668.3 329.59,-670.56"/>
 </a>
 </g>
 </g>
@@ -252,26 +252,26 @@
 <g id="Node000007" class="node">
 <title>Node7</title>
 <g id="a_Node000007"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html" target="_top" xlink:title="The base ir_builder frame for frames with SeqExpr i.e. Functions, If branches.">
-<polygon fill="white" stroke="transparent" points="515.5,-553 359.5,-553 359.5,-422 515.5,-422 515.5,-553"/>
-<text text-anchor="start" x="371" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="371" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
-<text text-anchor="start" x="363.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
-<text text-anchor="start" x="363.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
-<text text-anchor="start" x="363.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="376.5" y="-473.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="363.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="363.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="363.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="359.5,-524.5 359.5,-524.5 515.5,-524.5 515.5,-524.5 359.5,-524.5"/>
-<polygon fill="#666666" stroke="#666666" points="359.5,-494.5 359.5,-494.5 374.5,-494.5 374.5,-494.5 359.5,-494.5"/>
-<polygon fill="#666666" stroke="#666666" points="374.5,-494.5 374.5,-494.5 515.5,-494.5 515.5,-494.5 374.5,-494.5"/>
-<polygon fill="none" stroke="#666666" points="359.5,-422 359.5,-553 515.5,-553 515.5,-422 359.5,-422"/>
+<polygon fill="white" stroke="transparent" points="515.5,-530.5 359.5,-530.5 359.5,-399.5 515.5,-399.5 515.5,-530.5"/>
+<text text-anchor="start" x="371" y="-518" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="371" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
+<text text-anchor="start" x="363.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
+<text text-anchor="start" x="363.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="363.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="376.5" y="-451" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="363.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="363.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="363.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="359.5,-502 359.5,-502 515.5,-502 515.5,-502 359.5,-502"/>
+<polygon fill="#666666" stroke="#666666" points="359.5,-472 359.5,-472 374.5,-472 374.5,-472 359.5,-472"/>
+<polygon fill="#666666" stroke="#666666" points="374.5,-472 374.5,-472 515.5,-472 515.5,-472 374.5,-472"/>
+<polygon fill="none" stroke="#666666" points="359.5,-399.5 359.5,-530.5 515.5,-530.5 515.5,-399.5 359.5,-399.5"/>
 </a>
 </g>
 </g>
@@ -279,8 +279,8 @@
 <g id="edge6_Node000004_Node000007" class="edge">
 <title>Node4&#45;&gt;Node7</title>
 <g id="a_edge6_Node000004_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M367.7,-699.1C381.58,-657.22 401.18,-598.09 416.08,-553.14"/>
-<polygon fill="none" stroke="#63b8ff" points="364.3,-698.23 364.48,-708.82 370.95,-700.43 364.3,-698.23"/>
+<path fill="none" stroke="#63b8ff" d="M368.13,-669.33C381.78,-629.31 400.78,-573.64 415.44,-530.66"/>
+<polygon fill="none" stroke="#63b8ff" points="364.78,-668.3 364.87,-678.89 371.41,-670.56 364.78,-668.3"/>
 </a>
 </g>
 </g>
@@ -288,22 +288,22 @@
 <g id="Node000008" class="node">
 <title>Node8</title>
 <g id="a_Node000008"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html" target="_top" xlink:title="A frame that represents else.">
-<polygon fill="white" stroke="transparent" points="341.5,-206 185.5,-206 185.5,-90 341.5,-90 341.5,-206"/>
-<text text-anchor="start" x="206.5" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="206.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ElseFrameNode</text>
-<text text-anchor="start" x="261.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="189.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="202.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="189.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="189.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="189.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="185.5,-178 185.5,-178 341.5,-178 341.5,-178 185.5,-178"/>
-<polygon fill="#666666" stroke="#666666" points="185.5,-163 185.5,-163 341.5,-163 341.5,-163 185.5,-163"/>
-<polygon fill="none" stroke="#666666" points="185.5,-90 185.5,-206 341.5,-206 341.5,-90 185.5,-90"/>
+<polygon fill="white" stroke="transparent" points="341.5,-198.5 185.5,-198.5 185.5,-82.5 341.5,-82.5 341.5,-198.5"/>
+<text text-anchor="start" x="206.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="206.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ElseFrameNode</text>
+<text text-anchor="start" x="261.5" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="189.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="202.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="189.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="189.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="189.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="185.5,-170.5 185.5,-170.5 341.5,-170.5 341.5,-170.5 185.5,-170.5"/>
+<polygon fill="#666666" stroke="#666666" points="185.5,-155.5 185.5,-155.5 341.5,-155.5 341.5,-155.5 185.5,-155.5"/>
+<polygon fill="none" stroke="#666666" points="185.5,-82.5 185.5,-198.5 341.5,-198.5 341.5,-82.5 185.5,-82.5"/>
 </a>
 </g>
 </g>
@@ -311,8 +311,8 @@
 <g id="edge7_Node000007_Node000008" class="edge">
 <title>Node7&#45;&gt;Node8</title>
 <g id="a_edge7_Node000007_Node000008"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M399.53,-412.85C367.5,-350.73 322.32,-263.08 292.97,-206.15"/>
-<polygon fill="none" stroke="#63b8ff" points="396.46,-414.54 404.16,-421.83 402.69,-411.33 396.46,-414.54"/>
+<path fill="none" stroke="#63b8ff" d="M397.57,-389.99C366.19,-331.84 323.13,-252.03 294.37,-198.71"/>
+<polygon fill="none" stroke="#63b8ff" points="394.67,-391.99 402.5,-399.13 400.83,-388.66 394.67,-391.99"/>
 </a>
 </g>
 </g>
@@ -320,48 +320,46 @@
 <g id="Node000009" class="node">
 <title>Node9</title>
 <g id="a_Node000009"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html" target="_top" xlink:title="The ir_builder frame for the relax function.">
-<polygon fill="white" stroke="transparent" points="515.5,-296 359.5,-296 359.5,0 515.5,0 515.5,-296"/>
-<text text-anchor="start" x="370" y="-284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="370" y="-273" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
-<text text-anchor="start" x="363.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="363.5" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="363.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
-<text text-anchor="start" x="363.5" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
-<text text-anchor="start" x="363.5" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
-<text text-anchor="start" x="363.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="363.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="363.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
-<text text-anchor="start" x="363.5" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
-<text text-anchor="start" x="363.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
-<text text-anchor="start" x="363.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
-<text text-anchor="start" x="363.5" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="363.5" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="363.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="376.5" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="363.5" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="363.5" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="363.5" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="359.5,-268 359.5,-268 515.5,-268 515.5,-268 359.5,-268"/>
-<polygon fill="#666666" stroke="#666666" points="359.5,-73 359.5,-73 374.5,-73 374.5,-73 359.5,-73"/>
-<polygon fill="#666666" stroke="#666666" points="374.5,-73 374.5,-73 515.5,-73 515.5,-73 374.5,-73"/>
-<polygon fill="none" stroke="#666666" points="359.5,0 359.5,-296 515.5,-296 515.5,0 359.5,0"/>
+<polygon fill="white" stroke="transparent" points="515.5,-281 359.5,-281 359.5,0 515.5,0 515.5,-281"/>
+<text text-anchor="start" x="370" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="370" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
+<text text-anchor="start" x="363.5" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="363.5" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
+<text text-anchor="start" x="363.5" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
+<text text-anchor="start" x="363.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
+<text text-anchor="start" x="363.5" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="363.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="363.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
+<text text-anchor="start" x="363.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
+<text text-anchor="start" x="363.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
+<text text-anchor="start" x="363.5" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
+<text text-anchor="start" x="363.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="363.5" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="363.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="376.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="363.5" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="363.5" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="363.5" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="359.5,-252.5 359.5,-252.5 515.5,-252.5 515.5,-252.5 359.5,-252.5"/>
+<polygon fill="#666666" stroke="#666666" points="359.5,-72.5 359.5,-72.5 374.5,-72.5 374.5,-72.5 359.5,-72.5"/>
+<polygon fill="#666666" stroke="#666666" points="374.5,-72.5 374.5,-72.5 515.5,-72.5 515.5,-72.5 374.5,-72.5"/>
+<polygon fill="none" stroke="#666666" points="359.5,0 359.5,-281 515.5,-281 515.5,0 359.5,0"/>
 </a>
 </g>
 </g>
@@ -369,8 +367,8 @@
 <g id="edge8_Node000007_Node000009" class="edge">
 <title>Node7&#45;&gt;Node9</title>
 <g id="a_edge8_Node000007_Node000009"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M437.5,-411.53C437.5,-377.54 437.5,-336.12 437.5,-296.32"/>
-<polygon fill="none" stroke="#63b8ff" points="434,-411.83 437.5,-421.83 441,-411.83 434,-411.83"/>
+<path fill="none" stroke="#63b8ff" d="M437.5,-388.94C437.5,-356.82 437.5,-318.25 437.5,-281.22"/>
+<polygon fill="none" stroke="#63b8ff" points="434,-389.13 437.5,-399.13 441,-389.13 434,-389.13"/>
 </a>
 </g>
 </g>
@@ -378,22 +376,22 @@
 <g id="Node000010" class="node">
 <title>Node10</title>
 <g id="a_Node000010"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html" target="_top" xlink:title="A frame that represents then.">
-<polygon fill="white" stroke="transparent" points="689.5,-206 533.5,-206 533.5,-90 689.5,-90 689.5,-206"/>
-<text text-anchor="start" x="552.5" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="552.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ThenFrameNode</text>
-<text text-anchor="start" x="609.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="537.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="550.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="537.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="537.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="537.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="533.5,-178 533.5,-178 689.5,-178 689.5,-178 533.5,-178"/>
-<polygon fill="#666666" stroke="#666666" points="533.5,-163 533.5,-163 689.5,-163 689.5,-163 533.5,-163"/>
-<polygon fill="none" stroke="#666666" points="533.5,-90 533.5,-206 689.5,-206 689.5,-90 533.5,-90"/>
+<polygon fill="white" stroke="transparent" points="689.5,-198.5 533.5,-198.5 533.5,-82.5 689.5,-82.5 689.5,-198.5"/>
+<text text-anchor="start" x="552.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="552.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ThenFrameNode</text>
+<text text-anchor="start" x="609.5" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="537.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="550.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="537.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="537.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="537.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="533.5,-170.5 533.5,-170.5 689.5,-170.5 689.5,-170.5 533.5,-170.5"/>
+<polygon fill="#666666" stroke="#666666" points="533.5,-155.5 533.5,-155.5 689.5,-155.5 689.5,-155.5 533.5,-155.5"/>
+<polygon fill="none" stroke="#666666" points="533.5,-82.5 533.5,-198.5 689.5,-198.5 689.5,-82.5 533.5,-82.5"/>
 </a>
 </g>
 </g>
@@ -401,8 +399,8 @@
 <g id="edge9_Node000007_Node000010" class="edge">
 <title>Node7&#45;&gt;Node10</title>
 <g id="a_edge9_Node000007_Node000010"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M475.47,-412.85C507.5,-350.73 552.68,-263.08 582.03,-206.15"/>
-<polygon fill="none" stroke="#63b8ff" points="472.31,-411.33 470.84,-421.83 478.54,-414.54 472.31,-411.33"/>
+<path fill="none" stroke="#63b8ff" d="M477.43,-389.99C508.81,-331.84 551.87,-252.03 580.63,-198.71"/>
+<polygon fill="none" stroke="#63b8ff" points="474.17,-388.66 472.5,-399.13 480.33,-391.99 474.17,-388.66"/>
 </a>
 </g>
 </g>
@@ -410,22 +408,22 @@
 <g id="Node000012" class="node">
 <title>Node12</title>
 <g id="a_Node000012"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1BlockInitFrameNode.html" target="_top" xlink:title="A frame that represents the block initialization statment.">
-<polygon fill="white" stroke="transparent" points="689.5,-545.5 533.5,-545.5 533.5,-429.5 689.5,-429.5 689.5,-545.5"/>
-<text text-anchor="start" x="545" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="545" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::BlockInitFrameNode</text>
-<text text-anchor="start" x="609.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="537.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="550.5" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="537.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="537.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="537.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="533.5,-517.5 533.5,-517.5 689.5,-517.5 689.5,-517.5 533.5,-517.5"/>
-<polygon fill="#666666" stroke="#666666" points="533.5,-502.5 533.5,-502.5 689.5,-502.5 689.5,-502.5 533.5,-502.5"/>
-<polygon fill="none" stroke="#666666" points="533.5,-429.5 533.5,-545.5 689.5,-545.5 689.5,-429.5 533.5,-429.5"/>
+<polygon fill="white" stroke="transparent" points="689.5,-523 533.5,-523 533.5,-407 689.5,-407 689.5,-523"/>
+<text text-anchor="start" x="545" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="545" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::BlockInitFrameNode</text>
+<text text-anchor="start" x="609.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="537.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="550.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="537.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="537.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="537.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="533.5,-495 533.5,-495 689.5,-495 689.5,-495 533.5,-495"/>
+<polygon fill="#666666" stroke="#666666" points="533.5,-480 533.5,-480 689.5,-480 689.5,-480 533.5,-480"/>
+<polygon fill="none" stroke="#666666" points="533.5,-407 533.5,-523 689.5,-523 689.5,-407 533.5,-407"/>
 </a>
 </g>
 </g>
@@ -433,8 +431,8 @@
 <g id="edge11_Node000011_Node000012" class="edge">
 <title>Node11&#45;&gt;Node12</title>
 <g id="a_edge11_Node000011_Node000012"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1480.1,-749.93C1285.02,-746.01 824.94,-727.79 698.5,-643 664.62,-620.28 642.51,-579.69 629.06,-545.82"/>
-<polygon fill="none" stroke="#63b8ff" points="1480.25,-753.43 1490.31,-750.13 1480.38,-746.43 1480.25,-753.43"/>
+<path fill="none" stroke="#63b8ff" d="M1480.23,-719.73C1285.42,-715.42 825.84,-696.42 698.5,-613 666.5,-592.04 644.66,-554.87 630.86,-523.16"/>
+<polygon fill="none" stroke="#63b8ff" points="1480.36,-723.24 1490.43,-719.95 1480.51,-716.24 1480.36,-723.24"/>
 </a>
 </g>
 </g>
@@ -442,44 +440,44 @@
 <g id="Node000013" class="node">
 <title>Node13</title>
 <g id="a_Node000013"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrameNode.html" target="_top" xlink:title="A frame that represents the block.">
-<polygon fill="white" stroke="transparent" points="863.5,-620.5 707.5,-620.5 707.5,-354.5 863.5,-354.5 863.5,-620.5"/>
-<text text-anchor="start" x="724" y="-608.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="724" y="-597.5" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::SBlockFrameNode</text>
-<text text-anchor="start" x="711.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-582.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="711.5" y="-567.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-567.5" font-family="Helvetica,sans-Serif" font-size="10.00">iter_vars</text>
-<text text-anchor="start" x="711.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-552.5" font-family="Helvetica,sans-Serif" font-size="10.00">reads</text>
-<text text-anchor="start" x="711.5" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-537.5" font-family="Helvetica,sans-Serif" font-size="10.00">writes</text>
-<text text-anchor="start" x="711.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">init</text>
-<text text-anchor="start" x="711.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">alloc_buffers</text>
-<text text-anchor="start" x="711.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">match_buffers</text>
-<text text-anchor="start" x="711.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">annotations</text>
-<text text-anchor="start" x="711.5" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-462.5" font-family="Helvetica,sans-Serif" font-size="10.00">iter_values</text>
-<text text-anchor="start" x="711.5" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-447.5" font-family="Helvetica,sans-Serif" font-size="10.00">predicate</text>
-<text text-anchor="start" x="711.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-432.5" font-family="Helvetica,sans-Serif" font-size="10.00">no_realize</text>
-<text text-anchor="start" x="711.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-417.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="724.5" y="-406.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="711.5" y="-391.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-391.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
-<text text-anchor="start" x="711.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-376.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="711.5" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="724.5" y="-361.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="707.5,-592.5 707.5,-592.5 863.5,-592.5 863.5,-592.5 707.5,-592.5"/>
-<polygon fill="#666666" stroke="#666666" points="707.5,-427.5 707.5,-427.5 722.5,-427.5 722.5,-427.5 707.5,-427.5"/>
-<polygon fill="#666666" stroke="#666666" points="722.5,-427.5 722.5,-427.5 863.5,-427.5 863.5,-427.5 722.5,-427.5"/>
-<polygon fill="none" stroke="#666666" points="707.5,-354.5 707.5,-620.5 863.5,-620.5 863.5,-354.5 707.5,-354.5"/>
+<polygon fill="white" stroke="transparent" points="863.5,-598 707.5,-598 707.5,-332 863.5,-332 863.5,-598"/>
+<text text-anchor="start" x="724" y="-586" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="724" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::SBlockFrameNode</text>
+<text text-anchor="start" x="711.5" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="711.5" y="-545" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-545" font-family="Helvetica,sans-Serif" font-size="10.00">iter_vars</text>
+<text text-anchor="start" x="711.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">reads</text>
+<text text-anchor="start" x="711.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">writes</text>
+<text text-anchor="start" x="711.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">init</text>
+<text text-anchor="start" x="711.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">alloc_buffers</text>
+<text text-anchor="start" x="711.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">match_buffers</text>
+<text text-anchor="start" x="711.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">annotations</text>
+<text text-anchor="start" x="711.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">iter_values</text>
+<text text-anchor="start" x="711.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">predicate</text>
+<text text-anchor="start" x="711.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">no_realize</text>
+<text text-anchor="start" x="711.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="724.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="711.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="711.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="711.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="724.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="707.5,-570 707.5,-570 863.5,-570 863.5,-570 707.5,-570"/>
+<polygon fill="#666666" stroke="#666666" points="707.5,-405 707.5,-405 722.5,-405 722.5,-405 707.5,-405"/>
+<polygon fill="#666666" stroke="#666666" points="722.5,-405 722.5,-405 863.5,-405 863.5,-405 722.5,-405"/>
+<polygon fill="none" stroke="#666666" points="707.5,-332 707.5,-598 863.5,-598 863.5,-332 707.5,-332"/>
 </a>
 </g>
 </g>
@@ -487,8 +485,8 @@
 <g id="edge12_Node000011_Node000013" class="edge">
 <title>Node11&#45;&gt;Node13</title>
 <g id="a_edge12_Node000011_Node000013"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1480.31,-746.8C1315.68,-737.45 969.47,-710.19 872.5,-643 863.39,-636.69 855.12,-629.1 847.64,-620.71"/>
-<polygon fill="none" stroke="#63b8ff" points="1480.23,-750.3 1490.41,-747.37 1480.62,-743.31 1480.23,-750.3"/>
+<path fill="none" stroke="#63b8ff" d="M1480.13,-716.59C1315.6,-706.9 970.13,-679.1 872.5,-613 866.12,-608.68 860.13,-603.72 854.53,-598.29"/>
+<polygon fill="none" stroke="#63b8ff" points="1480.04,-720.09 1490.22,-717.18 1480.44,-713.1 1480.04,-720.09"/>
 </a>
 </g>
 </g>
@@ -496,26 +494,26 @@
 <g id="Node000014" class="node">
 <title>Node14</title>
 <g id="a_Node000014"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html" target="_top" xlink:title="A frame that represents the assert statement. Proceeds if the condition is true, otherwise aborts wit...">
-<polygon fill="white" stroke="transparent" points="1037.5,-553 881.5,-553 881.5,-422 1037.5,-422 1037.5,-553"/>
-<text text-anchor="start" x="901.5" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="901.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AssertFrameNode</text>
-<text text-anchor="start" x="885.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="898.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="885.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="898.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">error_kind</text>
-<text text-anchor="start" x="885.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="898.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">message_parts</text>
-<text text-anchor="start" x="885.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="898.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="898.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="885.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="898.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="885.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="898.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="881.5,-524.5 881.5,-524.5 1037.5,-524.5 1037.5,-524.5 881.5,-524.5"/>
-<polygon fill="#666666" stroke="#666666" points="881.5,-479.5 881.5,-479.5 896.5,-479.5 896.5,-479.5 881.5,-479.5"/>
-<polygon fill="#666666" stroke="#666666" points="896.5,-479.5 896.5,-479.5 1037.5,-479.5 1037.5,-479.5 896.5,-479.5"/>
-<polygon fill="none" stroke="#666666" points="881.5,-422 881.5,-553 1037.5,-553 1037.5,-422 881.5,-422"/>
+<polygon fill="white" stroke="transparent" points="1037.5,-530.5 881.5,-530.5 881.5,-399.5 1037.5,-399.5 1037.5,-530.5"/>
+<text text-anchor="start" x="901.5" y="-518" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="901.5" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AssertFrameNode</text>
+<text text-anchor="start" x="885.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="898.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="885.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="898.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">error_kind</text>
+<text text-anchor="start" x="885.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="898.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">message_parts</text>
+<text text-anchor="start" x="885.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="898.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="898.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="885.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="898.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="885.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="898.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="881.5,-502 881.5,-502 1037.5,-502 1037.5,-502 881.5,-502"/>
+<polygon fill="#666666" stroke="#666666" points="881.5,-457 881.5,-457 896.5,-457 896.5,-457 881.5,-457"/>
+<polygon fill="#666666" stroke="#666666" points="896.5,-457 896.5,-457 1037.5,-457 1037.5,-457 896.5,-457"/>
+<polygon fill="none" stroke="#666666" points="881.5,-399.5 881.5,-530.5 1037.5,-530.5 1037.5,-399.5 881.5,-399.5"/>
 </a>
 </g>
 </g>
@@ -523,8 +521,8 @@
 <g id="edge13_Node000011_Node000014" class="edge">
 <title>Node11&#45;&gt;Node14</title>
 <g id="a_edge13_Node000011_Node000014"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1480.45,-741.66C1350.3,-726.4 1114.59,-692.75 1046.5,-643 1016.3,-620.94 995.17,-585.01 981.3,-553.36"/>
-<polygon fill="none" stroke="#63b8ff" points="1480.07,-745.14 1490.4,-742.82 1480.87,-738.19 1480.07,-745.14"/>
+<path fill="none" stroke="#63b8ff" d="M1480.32,-711.45C1350.29,-695.93 1115.08,-661.98 1046.5,-613 1018.14,-592.75 997.49,-560.12 983.44,-530.74"/>
+<polygon fill="none" stroke="#63b8ff" points="1479.93,-714.92 1490.27,-712.62 1480.75,-707.97 1479.93,-714.92"/>
 </a>
 </g>
 </g>
@@ -532,26 +530,26 @@
 <g id="Node000015" class="node">
 <title>Node15</title>
 <g id="a_Node000015"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html" target="_top" xlink:title="A frame that represents attribute node.">
-<polygon fill="white" stroke="transparent" points="1211.5,-553 1055.5,-553 1055.5,-422 1211.5,-422 1211.5,-553"/>
-<text text-anchor="start" x="1081" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1082" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AttrFrameNode</text>
-<text text-anchor="start" x="1059.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1072.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">node</text>
-<text text-anchor="start" x="1059.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1072.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
-<text text-anchor="start" x="1059.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1072.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">value</text>
-<text text-anchor="start" x="1059.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1072.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1072.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1059.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1072.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1059.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1072.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1055.5,-524.5 1055.5,-524.5 1211.5,-524.5 1211.5,-524.5 1055.5,-524.5"/>
-<polygon fill="#666666" stroke="#666666" points="1055.5,-479.5 1055.5,-479.5 1070.5,-479.5 1070.5,-479.5 1055.5,-479.5"/>
-<polygon fill="#666666" stroke="#666666" points="1070.5,-479.5 1070.5,-479.5 1211.5,-479.5 1211.5,-479.5 1070.5,-479.5"/>
-<polygon fill="none" stroke="#666666" points="1055.5,-422 1055.5,-553 1211.5,-553 1211.5,-422 1055.5,-422"/>
+<polygon fill="white" stroke="transparent" points="1211.5,-530.5 1055.5,-530.5 1055.5,-399.5 1211.5,-399.5 1211.5,-530.5"/>
+<text text-anchor="start" x="1081" y="-518" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1082" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AttrFrameNode</text>
+<text text-anchor="start" x="1059.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1072.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">node</text>
+<text text-anchor="start" x="1059.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1072.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
+<text text-anchor="start" x="1059.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1072.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">value</text>
+<text text-anchor="start" x="1059.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1072.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1072.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1059.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1072.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1059.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1072.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1055.5,-502 1055.5,-502 1211.5,-502 1211.5,-502 1055.5,-502"/>
+<polygon fill="#666666" stroke="#666666" points="1055.5,-457 1055.5,-457 1070.5,-457 1070.5,-457 1055.5,-457"/>
+<polygon fill="#666666" stroke="#666666" points="1070.5,-457 1070.5,-457 1211.5,-457 1211.5,-457 1070.5,-457"/>
+<polygon fill="none" stroke="#666666" points="1055.5,-399.5 1055.5,-530.5 1211.5,-530.5 1211.5,-399.5 1055.5,-399.5"/>
 </a>
 </g>
 </g>
@@ -559,8 +557,8 @@
 <g id="edge14_Node000011_Node000015" class="edge">
 <title>Node11&#45;&gt;Node15</title>
 <g id="a_edge14_Node000011_Node000015"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1480.15,-741.96C1404.2,-730.22 1295.38,-703.49 1220.5,-643 1191.76,-619.79 1170.85,-584.39 1156.74,-553.33"/>
-<polygon fill="none" stroke="#63b8ff" points="1479.77,-745.44 1490.18,-743.45 1480.8,-738.52 1479.77,-745.44"/>
+<path fill="none" stroke="#63b8ff" d="M1480.47,-711.56C1404.72,-699.57 1296.03,-672.68 1220.5,-613 1193.51,-591.67 1173.11,-559.49 1158.88,-530.67"/>
+<polygon fill="none" stroke="#63b8ff" points="1480.05,-715.04 1490.47,-713.09 1481.11,-708.12 1480.05,-715.04"/>
 </a>
 </g>
 </g>
@@ -568,26 +566,26 @@
 <g id="Node000016" class="node">
 <title>Node16</title>
 <g id="a_Node000016"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="1385.5,-553 1229.5,-553 1229.5,-422 1385.5,-422 1385.5,-553"/>
-<text text-anchor="start" x="1239.5" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1239.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::DeclBufferFrameNode</text>
-<text text-anchor="start" x="1233.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1246.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer</text>
-<text text-anchor="start" x="1233.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1246.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">data</text>
-<text text-anchor="start" x="1233.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1246.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">allocated</text>
-<text text-anchor="start" x="1233.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1246.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1246.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1233.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1246.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1233.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1246.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1229.5,-524.5 1229.5,-524.5 1385.5,-524.5 1385.5,-524.5 1229.5,-524.5"/>
-<polygon fill="#666666" stroke="#666666" points="1229.5,-479.5 1229.5,-479.5 1244.5,-479.5 1244.5,-479.5 1229.5,-479.5"/>
-<polygon fill="#666666" stroke="#666666" points="1244.5,-479.5 1244.5,-479.5 1385.5,-479.5 1385.5,-479.5 1244.5,-479.5"/>
-<polygon fill="none" stroke="#666666" points="1229.5,-422 1229.5,-553 1385.5,-553 1385.5,-422 1229.5,-422"/>
+<polygon fill="white" stroke="transparent" points="1385.5,-530.5 1229.5,-530.5 1229.5,-399.5 1385.5,-399.5 1385.5,-530.5"/>
+<text text-anchor="start" x="1239.5" y="-518" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1239.5" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::DeclBufferFrameNode</text>
+<text text-anchor="start" x="1233.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1246.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">buffer</text>
+<text text-anchor="start" x="1233.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1246.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">data</text>
+<text text-anchor="start" x="1233.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1246.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">allocated</text>
+<text text-anchor="start" x="1233.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1246.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1246.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1233.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1246.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1233.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1246.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1229.5,-502 1229.5,-502 1385.5,-502 1385.5,-502 1229.5,-502"/>
+<polygon fill="#666666" stroke="#666666" points="1229.5,-457 1229.5,-457 1244.5,-457 1244.5,-457 1229.5,-457"/>
+<polygon fill="#666666" stroke="#666666" points="1244.5,-457 1244.5,-457 1385.5,-457 1385.5,-457 1244.5,-457"/>
+<polygon fill="none" stroke="#666666" points="1229.5,-399.5 1229.5,-530.5 1385.5,-530.5 1385.5,-399.5 1229.5,-399.5"/>
 </a>
 </g>
 </g>
@@ -595,8 +593,8 @@
 <g id="edge15_Node000011_Node000016" class="edge">
 <title>Node11&#45;&gt;Node16</title>
 <g id="a_edge15_Node000011_Node000016"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1481.32,-708.46C1451.4,-691.02 1419.24,-668.82 1394.5,-643 1369.69,-617.11 1349.44,-582.78 1334.74,-553.07"/>
-<polygon fill="none" stroke="#63b8ff" points="1479.69,-711.56 1490.11,-713.48 1483.17,-705.48 1479.69,-711.56"/>
+<path fill="none" stroke="#63b8ff" d="M1481.63,-678.16C1451.73,-660.69 1419.52,-638.55 1394.5,-613 1371.26,-589.27 1351.71,-558.16 1337.06,-530.68"/>
+<polygon fill="none" stroke="#63b8ff" points="1479.99,-681.26 1490.41,-683.2 1483.47,-675.19 1479.99,-681.26"/>
 </a>
 </g>
 </g>
@@ -604,22 +602,22 @@
 <g id="Node000017" class="node">
 <title>Node17</title>
 <g id="a_Node000017"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html" target="_top" xlink:title="A frame that represents else.">
-<polygon fill="white" stroke="transparent" points="1559.5,-545.5 1403.5,-545.5 1403.5,-429.5 1559.5,-429.5 1559.5,-545.5"/>
-<text text-anchor="start" x="1428.5" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1428.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ElseFrameNode</text>
-<text text-anchor="start" x="1479.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="1407.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1420.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1420.5" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1407.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1420.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="1407.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1420.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1407.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1420.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1403.5,-517.5 1403.5,-517.5 1559.5,-517.5 1559.5,-517.5 1403.5,-517.5"/>
-<polygon fill="#666666" stroke="#666666" points="1403.5,-502.5 1403.5,-502.5 1559.5,-502.5 1559.5,-502.5 1403.5,-502.5"/>
-<polygon fill="none" stroke="#666666" points="1403.5,-429.5 1403.5,-545.5 1559.5,-545.5 1559.5,-429.5 1403.5,-429.5"/>
+<polygon fill="white" stroke="transparent" points="1559.5,-523 1403.5,-523 1403.5,-407 1559.5,-407 1559.5,-523"/>
+<text text-anchor="start" x="1428.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1428.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ElseFrameNode</text>
+<text text-anchor="start" x="1479.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="1407.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1420.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1420.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1407.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1420.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="1407.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1420.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1407.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1420.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1403.5,-495 1403.5,-495 1559.5,-495 1559.5,-495 1403.5,-495"/>
+<polygon fill="#666666" stroke="#666666" points="1403.5,-480 1403.5,-480 1559.5,-480 1559.5,-480 1403.5,-480"/>
+<polygon fill="none" stroke="#666666" points="1403.5,-407 1403.5,-523 1559.5,-523 1559.5,-407 1403.5,-407"/>
 </a>
 </g>
 </g>
@@ -627,8 +625,8 @@
 <g id="edge16_Node000011_Node000017" class="edge">
 <title>Node11&#45;&gt;Node17</title>
 <g id="a_edge16_Node000011_Node000017"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1548.84,-691.68C1534.36,-648 1514.79,-588.93 1500.47,-545.74"/>
-<polygon fill="none" stroke="#63b8ff" points="1545.57,-692.93 1552.03,-701.32 1552.21,-690.72 1545.57,-692.93"/>
+<path fill="none" stroke="#63b8ff" d="M1548.28,-661.74C1534.05,-620.02 1515.1,-564.47 1501.02,-523.21"/>
+<polygon fill="none" stroke="#63b8ff" points="1544.98,-662.89 1551.52,-671.23 1551.6,-660.63 1544.98,-662.89"/>
 </a>
 </g>
 </g>
@@ -636,30 +634,30 @@
 <g id="Node000018" class="node">
 <title>Node18</title>
 <g id="a_Node000018"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html" target="_top" xlink:title="A frame that represents the for loop.">
-<polygon fill="white" stroke="transparent" points="1733.5,-568 1577.5,-568 1577.5,-407 1733.5,-407 1733.5,-568"/>
-<text text-anchor="start" x="1603" y="-555.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1605.5" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ForFrameNode</text>
-<text text-anchor="start" x="1581.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">vars</text>
-<text text-anchor="start" x="1581.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">doms</text>
-<text text-anchor="start" x="1581.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">steps</text>
-<text text-anchor="start" x="1581.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">f_make_for_loop</text>
-<text text-anchor="start" x="1581.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1594.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1581.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">SetNames()</text>
-<text text-anchor="start" x="1581.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1581.5" y="-413.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1594.5" y="-413.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1577.5,-539.5 1577.5,-539.5 1733.5,-539.5 1733.5,-539.5 1577.5,-539.5"/>
-<polygon fill="#666666" stroke="#666666" points="1577.5,-479.5 1577.5,-479.5 1592.5,-479.5 1592.5,-479.5 1577.5,-479.5"/>
-<polygon fill="#666666" stroke="#666666" points="1592.5,-479.5 1592.5,-479.5 1733.5,-479.5 1733.5,-479.5 1592.5,-479.5"/>
-<polygon fill="none" stroke="#666666" points="1577.5,-407 1577.5,-568 1733.5,-568 1733.5,-407 1577.5,-407"/>
+<polygon fill="white" stroke="transparent" points="1733.5,-545.5 1577.5,-545.5 1577.5,-384.5 1733.5,-384.5 1733.5,-545.5"/>
+<text text-anchor="start" x="1603" y="-533" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1605.5" y="-522" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ForFrameNode</text>
+<text text-anchor="start" x="1581.5" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">vars</text>
+<text text-anchor="start" x="1581.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">doms</text>
+<text text-anchor="start" x="1581.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">steps</text>
+<text text-anchor="start" x="1581.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">f_make_for_loop</text>
+<text text-anchor="start" x="1581.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1594.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1581.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">SetNames()</text>
+<text text-anchor="start" x="1581.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1581.5" y="-391" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1594.5" y="-391" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1577.5,-517 1577.5,-517 1733.5,-517 1733.5,-517 1577.5,-517"/>
+<polygon fill="#666666" stroke="#666666" points="1577.5,-457 1577.5,-457 1592.5,-457 1592.5,-457 1577.5,-457"/>
+<polygon fill="#666666" stroke="#666666" points="1592.5,-457 1592.5,-457 1733.5,-457 1733.5,-457 1592.5,-457"/>
+<polygon fill="none" stroke="#666666" points="1577.5,-384.5 1577.5,-545.5 1733.5,-545.5 1733.5,-384.5 1577.5,-384.5"/>
 </a>
 </g>
 </g>
@@ -667,8 +665,8 @@
 <g id="edge17_Node000011_Node000018" class="edge">
 <title>Node11&#45;&gt;Node18</title>
 <g id="a_edge17_Node000011_Node000018"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1588.12,-691.8C1600.23,-655.27 1615.91,-607.96 1629.1,-568.17"/>
-<polygon fill="none" stroke="#63b8ff" points="1584.79,-690.72 1584.97,-701.32 1591.43,-692.93 1584.79,-690.72"/>
+<path fill="none" stroke="#63b8ff" d="M1588.72,-661.74C1600.52,-627.15 1615.56,-583.07 1628.38,-545.5"/>
+<polygon fill="none" stroke="#63b8ff" points="1585.4,-660.63 1585.48,-671.23 1592.02,-662.89 1585.4,-660.63"/>
 </a>
 </g>
 </g>
@@ -676,24 +674,24 @@
 <g id="Node000019" class="node">
 <title>Node19</title>
 <g id="a_Node000019"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html" target="_top" xlink:title="A frame that represents a hint directive for the sketch language.">
-<polygon fill="white" stroke="transparent" points="1907.5,-545.5 1751.5,-545.5 1751.5,-429.5 1907.5,-429.5 1907.5,-545.5"/>
-<text text-anchor="start" x="1776.5" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1776.5" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::HintFrameNode</text>
-<text text-anchor="start" x="1755.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1768.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">message</text>
-<text text-anchor="start" x="1755.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1768.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="1755.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1768.5" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1768.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1755.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1768.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1755.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1768.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1751.5,-517.5 1751.5,-517.5 1907.5,-517.5 1907.5,-517.5 1751.5,-517.5"/>
-<polygon fill="#666666" stroke="#666666" points="1751.5,-487.5 1751.5,-487.5 1766.5,-487.5 1766.5,-487.5 1751.5,-487.5"/>
-<polygon fill="#666666" stroke="#666666" points="1766.5,-487.5 1766.5,-487.5 1907.5,-487.5 1907.5,-487.5 1766.5,-487.5"/>
-<polygon fill="none" stroke="#666666" points="1751.5,-429.5 1751.5,-545.5 1907.5,-545.5 1907.5,-429.5 1751.5,-429.5"/>
+<polygon fill="white" stroke="transparent" points="1907.5,-523 1751.5,-523 1751.5,-407 1907.5,-407 1907.5,-523"/>
+<text text-anchor="start" x="1776.5" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1776.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::HintFrameNode</text>
+<text text-anchor="start" x="1755.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1768.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">message</text>
+<text text-anchor="start" x="1755.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1768.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="1755.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1768.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1768.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1755.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1768.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1755.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1768.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1751.5,-495 1751.5,-495 1907.5,-495 1907.5,-495 1751.5,-495"/>
+<polygon fill="#666666" stroke="#666666" points="1751.5,-465 1751.5,-465 1766.5,-465 1766.5,-465 1751.5,-465"/>
+<polygon fill="#666666" stroke="#666666" points="1766.5,-465 1766.5,-465 1907.5,-465 1907.5,-465 1766.5,-465"/>
+<polygon fill="none" stroke="#666666" points="1751.5,-407 1751.5,-523 1907.5,-523 1907.5,-407 1751.5,-407"/>
 </a>
 </g>
 </g>
@@ -701,8 +699,8 @@
 <g id="edge18_Node000011_Node000019" class="edge">
 <title>Node11&#45;&gt;Node19</title>
 <g id="a_edge18_Node000011_Node000019"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1655.68,-708.46C1685.6,-691.02 1717.76,-668.82 1742.5,-643 1769.44,-614.88 1791,-576.83 1805.92,-545.52"/>
-<polygon fill="none" stroke="#63b8ff" points="1653.83,-705.48 1646.89,-713.48 1657.31,-711.56 1653.83,-705.48"/>
+<path fill="none" stroke="#63b8ff" d="M1655.37,-678.16C1685.27,-660.69 1717.48,-638.55 1742.5,-613 1767.92,-587.04 1788.93,-552.27 1803.93,-523.06"/>
+<polygon fill="none" stroke="#63b8ff" points="1653.53,-675.19 1646.59,-683.2 1657.01,-681.26 1653.53,-675.19"/>
 </a>
 </g>
 </g>
@@ -710,26 +708,26 @@
 <g id="Node000020" class="node">
 <title>Node20</title>
 <g id="a_Node000020"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html" target="_top" xlink:title="A frame that represents if statement.">
-<polygon fill="white" stroke="transparent" points="2081.5,-553 1925.5,-553 1925.5,-422 2081.5,-422 2081.5,-553"/>
-<text text-anchor="start" x="1951" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1957.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::IfFrameNode</text>
-<text text-anchor="start" x="1929.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1942.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="1929.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1942.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">then_stmts</text>
-<text text-anchor="start" x="1929.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1942.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">else_stmts</text>
-<text text-anchor="start" x="1929.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1942.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1942.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1929.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1942.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1929.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1942.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1925.5,-524.5 1925.5,-524.5 2081.5,-524.5 2081.5,-524.5 1925.5,-524.5"/>
-<polygon fill="#666666" stroke="#666666" points="1925.5,-479.5 1925.5,-479.5 1940.5,-479.5 1940.5,-479.5 1925.5,-479.5"/>
-<polygon fill="#666666" stroke="#666666" points="1940.5,-479.5 1940.5,-479.5 2081.5,-479.5 2081.5,-479.5 1940.5,-479.5"/>
-<polygon fill="none" stroke="#666666" points="1925.5,-422 1925.5,-553 2081.5,-553 2081.5,-422 1925.5,-422"/>
+<polygon fill="white" stroke="transparent" points="2081.5,-530.5 1925.5,-530.5 1925.5,-399.5 2081.5,-399.5 2081.5,-530.5"/>
+<text text-anchor="start" x="1951" y="-518" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1957.5" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::IfFrameNode</text>
+<text text-anchor="start" x="1929.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1942.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="1929.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1942.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">then_stmts</text>
+<text text-anchor="start" x="1929.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1942.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">else_stmts</text>
+<text text-anchor="start" x="1929.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1942.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1942.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1929.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1942.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1929.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1942.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1925.5,-502 1925.5,-502 2081.5,-502 2081.5,-502 1925.5,-502"/>
+<polygon fill="#666666" stroke="#666666" points="1925.5,-457 1925.5,-457 1940.5,-457 1940.5,-457 1925.5,-457"/>
+<polygon fill="#666666" stroke="#666666" points="1940.5,-457 1940.5,-457 2081.5,-457 2081.5,-457 1940.5,-457"/>
+<polygon fill="none" stroke="#666666" points="1925.5,-399.5 1925.5,-530.5 2081.5,-530.5 2081.5,-399.5 1925.5,-399.5"/>
 </a>
 </g>
 </g>
@@ -737,8 +735,8 @@
 <g id="edge19_Node000011_Node000020" class="edge">
 <title>Node11&#45;&gt;Node20</title>
 <g id="a_edge19_Node000011_Node000020"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1656.85,-741.96C1732.8,-730.22 1841.62,-703.49 1916.5,-643 1945.24,-619.79 1966.15,-584.39 1980.26,-553.33"/>
-<polygon fill="none" stroke="#63b8ff" points="1656.2,-738.52 1646.82,-743.45 1657.23,-745.44 1656.2,-738.52"/>
+<path fill="none" stroke="#63b8ff" d="M1656.53,-711.56C1732.28,-699.57 1840.97,-672.68 1916.5,-613 1943.49,-591.67 1963.89,-559.49 1978.12,-530.67"/>
+<polygon fill="none" stroke="#63b8ff" points="1655.89,-708.12 1646.53,-713.09 1656.95,-715.04 1655.89,-708.12"/>
 </a>
 </g>
 </g>
@@ -746,26 +744,26 @@
 <g id="Node000021" class="node">
 <title>Node21</title>
 <g id="a_Node000021"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html" target="_top" xlink:title="The LaunchThreadFrameNode.">
-<polygon fill="white" stroke="transparent" points="2263.5,-553 2099.5,-553 2099.5,-422 2263.5,-422 2263.5,-553"/>
-<text text-anchor="start" x="2104.5" y="-540.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="2104.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::LaunchThreadFrameNode</text>
-<text text-anchor="start" x="2105.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2120.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">extent</text>
-<text text-anchor="start" x="2105.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2120.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
-<text text-anchor="start" x="2105.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2120.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">iter_var</text>
-<text text-anchor="start" x="2105.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2120.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="2120.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="2105.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2120.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="2105.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2120.5" y="-428.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="2099.5,-524.5 2099.5,-524.5 2263.5,-524.5 2263.5,-524.5 2099.5,-524.5"/>
-<polygon fill="#666666" stroke="#666666" points="2099.5,-479.5 2099.5,-479.5 2118.5,-479.5 2118.5,-479.5 2099.5,-479.5"/>
-<polygon fill="#666666" stroke="#666666" points="2118.5,-479.5 2118.5,-479.5 2263.5,-479.5 2263.5,-479.5 2118.5,-479.5"/>
-<polygon fill="none" stroke="#666666" points="2099.5,-422 2099.5,-553 2263.5,-553 2263.5,-422 2099.5,-422"/>
+<polygon fill="white" stroke="transparent" points="2263.5,-530.5 2099.5,-530.5 2099.5,-399.5 2263.5,-399.5 2263.5,-530.5"/>
+<text text-anchor="start" x="2104.5" y="-518" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="2104.5" y="-507" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::LaunchThreadFrameNode</text>
+<text text-anchor="start" x="2105.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2120.5" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">extent</text>
+<text text-anchor="start" x="2105.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2120.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
+<text text-anchor="start" x="2105.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2120.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">iter_var</text>
+<text text-anchor="start" x="2105.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2120.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="2120.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="2105.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2120.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="2105.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2120.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="2099.5,-502 2099.5,-502 2263.5,-502 2263.5,-502 2099.5,-502"/>
+<polygon fill="#666666" stroke="#666666" points="2099.5,-457 2099.5,-457 2118.5,-457 2118.5,-457 2099.5,-457"/>
+<polygon fill="#666666" stroke="#666666" points="2118.5,-457 2118.5,-457 2263.5,-457 2263.5,-457 2118.5,-457"/>
+<polygon fill="none" stroke="#666666" points="2099.5,-399.5 2099.5,-530.5 2263.5,-530.5 2263.5,-399.5 2099.5,-399.5"/>
 </a>
 </g>
 </g>
@@ -773,8 +771,8 @@
 <g id="edge20_Node000011_Node000021" class="edge">
 <title>Node11&#45;&gt;Node21</title>
 <g id="a_edge20_Node000011_Node000021"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1656.69,-741.47C1786.74,-725.97 2021.97,-692.05 2090.5,-643 2121.38,-620.89 2143.5,-584.77 2158.19,-553.01"/>
-<polygon fill="none" stroke="#63b8ff" points="1656.27,-737.99 1646.74,-742.64 1657.09,-744.94 1656.27,-737.99"/>
+<path fill="none" stroke="#63b8ff" d="M1656.56,-711.28C1786.43,-695.54 2021.44,-661.3 2090.5,-613 2119.4,-592.79 2140.94,-560.16 2155.79,-530.78"/>
+<polygon fill="none" stroke="#63b8ff" points="1656.14,-707.8 1646.62,-712.47 1656.97,-714.75 1656.14,-707.8"/>
 </a>
 </g>
 </g>
@@ -782,50 +780,48 @@
 <g id="Node000022" class="node">
 <title>Node22</title>
 <g id="a_Node000022"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html" target="_top" xlink:title="A frame that represents the PrimFunc containing TIR statements.">
-<polygon fill="white" stroke="transparent" points="2437.5,-643 2281.5,-643 2281.5,-332 2437.5,-332 2437.5,-643"/>
-<text text-anchor="start" x="2294.5" y="-630.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="2294.5" y="-619.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
-<text text-anchor="start" x="2285.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-604.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="2285.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-589.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="2285.5" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
-<text text-anchor="start" x="2285.5" y="-559.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-559.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="2285.5" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-544.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
-<text text-anchor="start" x="2285.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-529.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
-<text text-anchor="start" x="2285.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="2285.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
-<text text-anchor="start" x="2285.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
-<text text-anchor="start" x="2285.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-469.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
-<text text-anchor="start" x="2285.5" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-454.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="2285.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="2285.5" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="2298.5" y="-413.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="2285.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-398.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="2285.5" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
-<text text-anchor="start" x="2285.5" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="2285.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<text text-anchor="start" x="2285.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
-<polygon fill="#666666" stroke="#666666" points="2281.5,-614.5 2281.5,-614.5 2437.5,-614.5 2437.5,-614.5 2281.5,-614.5"/>
-<polygon fill="#666666" stroke="#666666" points="2281.5,-434.5 2281.5,-434.5 2296.5,-434.5 2296.5,-434.5 2281.5,-434.5"/>
-<polygon fill="#666666" stroke="#666666" points="2296.5,-434.5 2296.5,-434.5 2437.5,-434.5 2437.5,-434.5 2296.5,-434.5"/>
-<polygon fill="none" stroke="#666666" points="2281.5,-332 2281.5,-643 2437.5,-643 2437.5,-332 2281.5,-332"/>
+<polygon fill="white" stroke="transparent" points="2437.5,-613 2281.5,-613 2281.5,-317 2437.5,-317 2437.5,-613"/>
+<text text-anchor="start" x="2294.5" y="-601" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="2294.5" y="-590" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
+<text text-anchor="start" x="2285.5" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-575" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="2285.5" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
+<text text-anchor="start" x="2285.5" y="-545" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-545" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="2285.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-530" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
+<text text-anchor="start" x="2285.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-515" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
+<text text-anchor="start" x="2285.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="2285.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
+<text text-anchor="start" x="2285.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
+<text text-anchor="start" x="2285.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
+<text text-anchor="start" x="2285.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="2285.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="2285.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="2298.5" y="-399" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="2285.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="2285.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
+<text text-anchor="start" x="2285.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="2285.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<text text-anchor="start" x="2285.5" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
+<polygon fill="#666666" stroke="#666666" points="2281.5,-585 2281.5,-585 2437.5,-585 2437.5,-585 2281.5,-585"/>
+<polygon fill="#666666" stroke="#666666" points="2281.5,-420 2281.5,-420 2296.5,-420 2296.5,-420 2281.5,-420"/>
+<polygon fill="#666666" stroke="#666666" points="2296.5,-420 2296.5,-420 2437.5,-420 2437.5,-420 2296.5,-420"/>
+<polygon fill="none" stroke="#666666" points="2281.5,-317 2281.5,-613 2437.5,-613 2437.5,-317 2281.5,-317"/>
 </a>
 </g>
 </g>
@@ -833,8 +829,8 @@
 <g id="edge21_Node000011_Node000022" class="edge">
 <title>Node11&#45;&gt;Node22</title>
 <g id="a_edge21_Node000011_Node000022"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1656.75,-746.98C1822.87,-737.88 2174.19,-710.99 2272.5,-643 2275.54,-640.9 2278.48,-638.66 2281.34,-636.29"/>
-<polygon fill="none" stroke="#63b8ff" points="1656.36,-743.49 1646.56,-747.52 1656.73,-750.48 1656.36,-743.49"/>
+<path fill="none" stroke="#63b8ff" d="M1656.93,-716.77C1822.96,-707.33 2173.53,-679.89 2272.5,-613 2275.57,-610.92 2278.55,-608.7 2281.44,-606.35"/>
+<polygon fill="none" stroke="#63b8ff" points="1656.54,-713.28 1646.75,-717.34 1656.93,-720.27 1656.54,-713.28"/>
 </a>
 </g>
 </g>
@@ -842,22 +838,22 @@
 <g id="Node000024" class="node">
 <title>Node24</title>
 <g id="a_Node000024"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html" target="_top" xlink:title="A frame that represents then.">
-<polygon fill="white" stroke="transparent" points="2611.5,-545.5 2455.5,-545.5 2455.5,-429.5 2611.5,-429.5 2611.5,-545.5"/>
-<text text-anchor="start" x="2479" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="2479" y="-522.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ThenFrameNode</text>
-<text text-anchor="start" x="2531.5" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="2459.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2472.5" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="2472.5" y="-481.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="2459.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2472.5" y="-466.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="2459.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2472.5" y="-451.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="2459.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2472.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="2455.5,-517.5 2455.5,-517.5 2611.5,-517.5 2611.5,-517.5 2455.5,-517.5"/>
-<polygon fill="#666666" stroke="#666666" points="2455.5,-502.5 2455.5,-502.5 2611.5,-502.5 2611.5,-502.5 2455.5,-502.5"/>
-<polygon fill="none" stroke="#666666" points="2455.5,-429.5 2455.5,-545.5 2611.5,-545.5 2611.5,-429.5 2455.5,-429.5"/>
+<polygon fill="white" stroke="transparent" points="2611.5,-523 2455.5,-523 2455.5,-407 2611.5,-407 2611.5,-523"/>
+<text text-anchor="start" x="2479" y="-511" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="2479" y="-500" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ThenFrameNode</text>
+<text text-anchor="start" x="2531.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="2459.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2472.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="2472.5" y="-459" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="2459.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2472.5" y="-444" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="2459.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2472.5" y="-429" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="2459.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2472.5" y="-414" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="2455.5,-495 2455.5,-495 2611.5,-495 2611.5,-495 2455.5,-495"/>
+<polygon fill="#666666" stroke="#666666" points="2455.5,-480 2455.5,-480 2611.5,-480 2611.5,-480 2455.5,-480"/>
+<polygon fill="none" stroke="#666666" points="2455.5,-407 2455.5,-523 2611.5,-523 2611.5,-407 2455.5,-407"/>
 </a>
 </g>
 </g>
@@ -865,8 +861,8 @@
 <g id="edge23_Node000011_Node000024" class="edge">
 <title>Node11&#45;&gt;Node24</title>
 <g id="a_edge23_Node000011_Node000024"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1656.98,-750.04C1853.43,-746.36 2318.71,-728.59 2446.5,-643 2480.39,-620.3 2502.5,-579.71 2515.95,-545.83"/>
-<polygon fill="none" stroke="#63b8ff" points="1656.64,-746.55 1646.7,-750.23 1656.76,-753.55 1656.64,-746.55"/>
+<path fill="none" stroke="#63b8ff" d="M1656.85,-719.85C1853.04,-715.76 2317.8,-697.21 2446.5,-613 2478.51,-592.05 2500.35,-554.89 2514.15,-523.17"/>
+<polygon fill="none" stroke="#63b8ff" points="1656.51,-716.35 1646.58,-720.05 1656.65,-723.35 1656.51,-716.35"/>
 </a>
 </g>
 </g>
@@ -874,22 +870,22 @@
 <g id="Node000025" class="node">
 <title>Node25</title>
 <g id="a_Node000025"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html" target="_top" xlink:title="A frame that represents while loop.">
-<polygon fill="white" stroke="transparent" points="2785.5,-538 2629.5,-538 2629.5,-437 2785.5,-437 2785.5,-538"/>
-<text text-anchor="start" x="2651" y="-525.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="2651" y="-514.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::WhileFrameNode</text>
-<text text-anchor="start" x="2633.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2646.5" y="-499.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="2633.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2646.5" y="-484.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="2646.5" y="-473.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="2633.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2646.5" y="-458.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="2633.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2646.5" y="-443.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="2629.5,-509.5 2629.5,-509.5 2785.5,-509.5 2785.5,-509.5 2629.5,-509.5"/>
-<polygon fill="#666666" stroke="#666666" points="2629.5,-494.5 2629.5,-494.5 2644.5,-494.5 2644.5,-494.5 2629.5,-494.5"/>
-<polygon fill="#666666" stroke="#666666" points="2644.5,-494.5 2644.5,-494.5 2785.5,-494.5 2785.5,-494.5 2644.5,-494.5"/>
-<polygon fill="none" stroke="#666666" points="2629.5,-437 2629.5,-538 2785.5,-538 2785.5,-437 2629.5,-437"/>
+<polygon fill="white" stroke="transparent" points="2785.5,-515.5 2629.5,-515.5 2629.5,-414.5 2785.5,-414.5 2785.5,-515.5"/>
+<text text-anchor="start" x="2651" y="-503" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="2651" y="-492" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::WhileFrameNode</text>
+<text text-anchor="start" x="2633.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2646.5" y="-477" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="2633.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2646.5" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="2646.5" y="-451" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="2633.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2646.5" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="2633.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2646.5" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="2629.5,-487 2629.5,-487 2785.5,-487 2785.5,-487 2629.5,-487"/>
+<polygon fill="#666666" stroke="#666666" points="2629.5,-472 2629.5,-472 2644.5,-472 2644.5,-472 2629.5,-472"/>
+<polygon fill="#666666" stroke="#666666" points="2644.5,-472 2644.5,-472 2785.5,-472 2785.5,-472 2644.5,-472"/>
+<polygon fill="none" stroke="#666666" points="2629.5,-414.5 2629.5,-515.5 2785.5,-515.5 2785.5,-414.5 2629.5,-414.5"/>
 </a>
 </g>
 </g>
@@ -897,8 +893,8 @@
 <g id="edge24_Node000011_Node000025" class="edge">
 <title>Node11&#45;&gt;Node25</title>
 <g id="a_edge24_Node000011_Node000025"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1656.7,-746.58C1895.23,-733.97 2540.6,-695.36 2620.5,-643 2657.32,-618.87 2680.15,-573.49 2693.13,-538.13"/>
-<polygon fill="none" stroke="#63b8ff" points="1656.47,-743.08 1646.67,-747.1 1656.84,-750.07 1656.47,-743.08"/>
+<path fill="none" stroke="#63b8ff" d="M1656.72,-721.92C1880.11,-722.71 2461.64,-714.68 2620.5,-613 2655.34,-590.7 2678.05,-549.05 2691.49,-515.77"/>
+<polygon fill="none" stroke="#63b8ff" points="1656.69,-718.42 1646.68,-721.88 1656.66,-725.42 1656.69,-718.42"/>
 </a>
 </g>
 </g>
@@ -906,22 +902,22 @@
 <g id="Node000023" class="node">
 <title>Node23</title>
 <g id="a_Node000023"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html" target="_top" xlink:title="Function frame owning schedulable TIR construction.">
-<polygon fill="white" stroke="transparent" points="2437.5,-198.5 2281.5,-198.5 2281.5,-97.5 2437.5,-97.5 2437.5,-198.5"/>
-<text text-anchor="start" x="2292" y="-186" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="2292" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::PrimFuncFrameNode</text>
-<text text-anchor="start" x="2285.5" y="-160" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-160" font-family="Helvetica,sans-Serif" font-size="10.00">root_alloc_buffers</text>
-<text text-anchor="start" x="2285.5" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="2298.5" y="-134" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="2285.5" y="-119" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-119" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="2285.5" y="-104" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2298.5" y="-104" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="2281.5,-170 2281.5,-170 2437.5,-170 2437.5,-170 2281.5,-170"/>
-<polygon fill="#666666" stroke="#666666" points="2281.5,-155 2281.5,-155 2296.5,-155 2296.5,-155 2281.5,-155"/>
-<polygon fill="#666666" stroke="#666666" points="2296.5,-155 2296.5,-155 2437.5,-155 2437.5,-155 2296.5,-155"/>
-<polygon fill="none" stroke="#666666" points="2281.5,-97.5 2281.5,-198.5 2437.5,-198.5 2437.5,-97.5 2281.5,-97.5"/>
+<polygon fill="white" stroke="transparent" points="2437.5,-191 2281.5,-191 2281.5,-90 2437.5,-90 2437.5,-191"/>
+<text text-anchor="start" x="2292" y="-178.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="2292" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::PrimFuncFrameNode</text>
+<text text-anchor="start" x="2285.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">root_alloc_buffers</text>
+<text text-anchor="start" x="2285.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="2298.5" y="-126.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="2285.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="2285.5" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2298.5" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="2281.5,-162.5 2281.5,-162.5 2437.5,-162.5 2437.5,-162.5 2281.5,-162.5"/>
+<polygon fill="#666666" stroke="#666666" points="2281.5,-147.5 2281.5,-147.5 2296.5,-147.5 2296.5,-147.5 2281.5,-147.5"/>
+<polygon fill="#666666" stroke="#666666" points="2296.5,-147.5 2296.5,-147.5 2437.5,-147.5 2437.5,-147.5 2296.5,-147.5"/>
+<polygon fill="none" stroke="#666666" points="2281.5,-90 2281.5,-191 2437.5,-191 2437.5,-90 2281.5,-90"/>
 </a>
 </g>
 </g>
@@ -929,8 +925,8 @@
 <g id="edge22_Node000022_Node000023" class="edge">
 <title>Node22&#45;&gt;Node23</title>
 <g id="a_edge22_Node000022_Node000023"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M2359.5,-321.44C2359.5,-276.69 2359.5,-231.59 2359.5,-198.75"/>
-<polygon fill="none" stroke="#63b8ff" points="2356,-321.58 2359.5,-331.58 2363,-321.58 2356,-321.58"/>
+<path fill="none" stroke="#63b8ff" d="M2359.5,-306.83C2359.5,-264.86 2359.5,-222.53 2359.5,-191.21"/>
+<polygon fill="none" stroke="#63b8ff" points="2356,-306.91 2359.5,-316.91 2363,-306.91 2356,-306.91"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html
index b6aaf49796b..2f88eb4b3df 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html
@@ -166,7 +166,7 @@ Static Public Attributes</h2></td></tr>
 <div class="line">}</div>
 <div class="ttc" id="aclasstvm_1_1IRModule_html"><div class="ttname"><a href="classtvm_1_1IRModule.html">tvm::IRModule</a></div><div class="ttdoc">Managed reference class to IRModuleNode.</div><div class="ttdef"><b>Definition</b> module.h:255</div></div>
 <div class="ttc" id="aclasstvm_1_1With_html"><div class="ttname"><a href="classtvm_1_1With.html">tvm::With</a></div><div class="ttdoc">RAII wrapper function to enter and exit a context object similar to python's with syntax.</div><div class="ttdef"><b>Definition</b> with_context.h:59</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">tvm::script::ir_builder::IRBuilder</a></div><div class="ttdoc">Managed reference to an IRBuilderNode.</div><div class="ttdef"><b>Definition</b> base.h:199</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">tvm::script::ir_builder::IRBuilder</a></div><div class="ttdoc">Managed reference to an IRBuilderNode.</div><div class="ttdef"><b>Definition</b> base.h:194</div></div>
 <div class="ttc" id="anamespacetvm_1_1script_1_1ir__builder_1_1ir_html_a8dd2baa6a2608b6ea12f5455971dacc5"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder_1_1ir.html#a8dd2baa6a2608b6ea12f5455971dacc5">tvm::script::ir_builder::ir::IRModule</a></div><div class="ttdeci">IRModuleFrame IRModule()</div><div class="ttdoc">The IRModule declaration statement.</div><div class="ttdef"><b>Definition</b> module.h:248</div></div>
 <div class="ttc" id="anamespacetvm_1_1script_1_1ir__builder_html"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder.html">tvm::script::ir_builder</a></div><div class="ttdef"><b>Definition</b> frame.h:33</div></div>
 </div><!-- fragment --> </div><h2 class="groupheader">Member Function Documentation</h2>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode-members.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode-members.html
index 8bebe8f2821..fcdb04cba37 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode-members.html
@@ -105,8 +105,7 @@ $(function() {
   <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html#ad3b6bdfb705544638103dd2fde2ca0b0">tvm::script::ir_builder::relax::RelaxFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.relax.RelaxFrame&quot;, RelaxFrameNode, IRBuilderFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">tvm::script::ir_builder::relax::RelaxFrameNode</a></td><td cla [...]
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a05b026329132b684f964a125f90dd117">tvm::script::ir_builder::IRBuilderFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.IRBuilderFrame&quot;, IRBuilderFrameNode, ffi::Object)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
   <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a0e2fcdb6ee652c809f761efa0c0b2d2e">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;script.ir_builder.relax.FunctionFrame&quot;, FunctionFrameNode, SeqExprFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html">tvm::script::ir_builder::relax::FunctionFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">type_var_map</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html">tvm::script::ir_builder::relax::FunctionFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html
index c89be78f574..471f6348bde 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html
@@ -89,12 +89,12 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::relax::FunctionFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__inherit__graph.svg" width="219" height="1207"><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_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__inherit__graph.svg" width="219" height="1187"><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::script::ir_builder::relax::FunctionFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__coll__graph.svg" width="478" height="1460"><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_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__coll__graph.svg" width="478" height="1440"><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>
@@ -151,9 +151,6 @@ Public Attributes</h2></td></tr>
 <tr class="memitem:a93620dafc7b4b72fd06983dd3bbe48d8" id="r_a93620dafc7b4b72fd06983dd3bbe48d8"><td class="memItemLeft" align="right" valign="top">ffi::Optional&lt; ffi::String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a93620dafc7b4b72fd06983dd3bbe48d8">name</a></td></tr>
 <tr class="memdesc:a93620dafc7b4b72fd06983dd3bbe48d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function name.  <br /></td></tr>
 <tr class="separator:a93620dafc7b4b72fd06983dd3bbe48d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:aff3ace5fc634044d12909bf0d477cd7d" id="r_aff3ace5fc634044d12909bf0d477cd7d"><td class="memItemLeft" align="right" valign="top">ffi::Map&lt; ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">type_var_map</a></td></tr>
-<tr class="memdesc:aff3ace5fc634044d12909bf0d477cd7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function-local symbols retained across declaration and body entry.  <br /></td></tr>
-<tr class="separator:aff3ace5fc634044d12909bf0d477cd7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6f8c4140f9a7300fb6a809e85e12b404" id="r_a6f8c4140f9a7300fb6a809e85e12b404"><td class="memItemLeft" align="right" valign="top">ffi::Array&lt; <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">params</a></td></tr>
 <tr class="memdesc:a6f8c4140f9a7300fb6a809e85e12b404"><td class="mdescLeft">&#160;</td><td class="mdescRight">The function params.  <br /></td></tr>
 <tr class="separator:a6f8c4140f9a7300fb6a809e85e12b404"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -514,22 +511,6 @@ Additional Inherited Members</h2></td></tr>
 <p>The function return type. </p>
 <dl class="section note"><dt>Note</dt><dd>Usually the function return type can be deduced by the function body. But we can use this field to specify a more "accurate" return type. i.e. If the <code>ret_ty</code> is None, try to use the deduced type from body If the <code>ret_ty</code> is not None, we can still take body.ty if we ret_ty is base of body.ty. If not, we will take the specified <code>ret_ty</code>. </dd></dl>
 
-</div>
-</div>
-<a id="aff3ace5fc634044d12909bf0d477cd7d" name="aff3ace5fc634044d12909bf0d477cd7d"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#aff3ace5fc634044d12909bf0d477cd7d">&#9670;&#160;</a></span>type_var_map</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::Map&lt;ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a>&gt; tvm::script::ir_builder::relax::FunctionFrameNode::type_var_map</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Function-local symbols retained across declaration and body entry. </p>
-
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__coll__graph.svg
index 58bc5607044..bdc7a243efb 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__coll__graph.svg
@@ -4,54 +4,52 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::relax::FunctionFrameNode Pages: 1 -->
-<svg width="358pt" height="1095pt"
- viewBox="0.00 0.00 358.00 1095.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 1091)">
+<svg width="358pt" height="1080pt"
+ viewBox="0.00 0.00 358.00 1080.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 1076)">
 <title>tvm::script::ir_builder::relax::FunctionFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="The ir_builder frame for the relax function.">
-<polygon fill="#999999" stroke="transparent" points="284,-281 128,-281 128,0 284,0 284,-281"/>
-<text text-anchor="start" x="138.5" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="138.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
-<text text-anchor="start" x="132" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="132" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="132" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
-<text text-anchor="start" x="132" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
-<text text-anchor="start" x="132" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
-<text text-anchor="start" x="132" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="132" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="132" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
-<text text-anchor="start" x="132" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
-<text text-anchor="start" x="132" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
-<text text-anchor="start" x="132" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="132" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="132" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="145" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="132" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="132" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="132" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="145" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="128,-252.5 128,-252.5 284,-252.5 284,-252.5 128,-252.5"/>
-<polygon fill="#666666" stroke="#666666" points="128,-72.5 128,-72.5 143,-72.5 143,-72.5 128,-72.5"/>
-<polygon fill="#666666" stroke="#666666" points="143,-72.5 143,-72.5 284,-72.5 284,-72.5 143,-72.5"/>
-<polygon fill="none" stroke="#666666" points="128,0 128,-281 284,-281 284,0 128,0"/>
+<polygon fill="#999999" stroke="transparent" points="284,-266 128,-266 128,0 284,0 284,-266"/>
+<text text-anchor="start" x="138.5" y="-254" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="138.5" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
+<text text-anchor="start" x="132" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="132" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
+<text text-anchor="start" x="132" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
+<text text-anchor="start" x="132" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
+<text text-anchor="start" x="132" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="132" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="132" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
+<text text-anchor="start" x="132" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
+<text text-anchor="start" x="132" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
+<text text-anchor="start" x="132" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="132" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="132" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="145" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="132" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="132" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="132" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="145" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="128,-238 128,-238 284,-238 284,-238 128,-238"/>
+<polygon fill="#666666" stroke="#666666" points="128,-73 128,-73 143,-73 143,-73 128,-73"/>
+<polygon fill="#666666" stroke="#666666" points="143,-73 143,-73 284,-73 284,-73 143,-73"/>
+<polygon fill="none" stroke="#666666" points="128,0 128,-266 284,-266 284,0 128,0"/>
 </a>
 </g>
 </g>
@@ -59,26 +57,26 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html" target="_top" xlink:title="The base ir_builder frame for frames with SeqExpr i.e. Functions, If branches.">
-<polygon fill="white" stroke="transparent" points="229,-449 73,-449 73,-318 229,-318 229,-449"/>
-<text text-anchor="start" x="84.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="84.5" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
-<text text-anchor="start" x="77" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="90" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
+<polygon fill="white" stroke="transparent" points="229,-434 73,-434 73,-303 229,-303 229,-434"/>
+<text text-anchor="start" x="84.5" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="84.5" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
 <text text-anchor="start" x="77" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="90" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="90" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
 <text text-anchor="start" x="77" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="90" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="90" y="-369.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="77" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="90" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="90" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="77" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="90" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="90" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="77" y="-339.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="90" y="-339.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="90" y="-339.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="77" y="-324.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="90" y="-324.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="73,-420.5 73,-420.5 229,-420.5 229,-420.5 73,-420.5"/>
-<polygon fill="#666666" stroke="#666666" points="73,-390.5 73,-390.5 88,-390.5 88,-390.5 73,-390.5"/>
-<polygon fill="#666666" stroke="#666666" points="88,-390.5 88,-390.5 229,-390.5 229,-390.5 88,-390.5"/>
-<polygon fill="none" stroke="#666666" points="73,-318 73,-449 229,-449 229,-318 73,-318"/>
+<text text-anchor="start" x="90" y="-324.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="77" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="90" y="-309.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="73,-405.5 73,-405.5 229,-405.5 229,-405.5 73,-405.5"/>
+<polygon fill="#666666" stroke="#666666" points="73,-375.5 73,-375.5 88,-375.5 88,-375.5 73,-375.5"/>
+<polygon fill="#666666" stroke="#666666" points="88,-375.5 88,-375.5 229,-375.5 229,-375.5 88,-375.5"/>
+<polygon fill="none" stroke="#666666" points="73,-303 73,-434 229,-434 229,-303 73,-303"/>
 </a>
 </g>
 </g>
@@ -86,8 +84,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M168.01,-307.96C169.98,-299.31 172.04,-290.3 174.13,-281.14"/>
-<polygon fill="none" stroke="#63b8ff" points="164.55,-307.39 165.74,-317.92 171.38,-308.95 164.55,-307.39"/>
+<path fill="none" stroke="#63b8ff" d="M168.57,-292.9C170.59,-284.35 172.68,-275.45 174.81,-266.42"/>
+<polygon fill="none" stroke="#63b8ff" points="165.13,-292.23 166.25,-302.77 171.95,-293.84 165.13,-292.23"/>
 </a>
 </g>
 </g>
@@ -95,18 +93,18 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html" target="_top" xlink:title="The base ir_builder frame for the relax dialect.">
-<polygon fill="white" stroke="transparent" points="220,-572 64,-572 64,-486 220,-486 220,-572"/>
-<text text-anchor="start" x="81.5" y="-560" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="81.5" y="-549" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
-<text text-anchor="start" x="140" y="-534" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="68" y="-519" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="81" y="-519" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="81" y="-508" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="68" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="81" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="64,-544 64,-544 220,-544 220,-544 64,-544"/>
+<polygon fill="white" stroke="transparent" points="220,-557 64,-557 64,-471 220,-471 220,-557"/>
+<text text-anchor="start" x="81.5" y="-545" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="81.5" y="-534" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
+<text text-anchor="start" x="140" y="-519" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="68" y="-504" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="81" y="-504" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="81" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="68" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="81" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
 <polygon fill="#666666" stroke="#666666" points="64,-529 64,-529 220,-529 220,-529 64,-529"/>
-<polygon fill="none" stroke="#666666" points="64,-486 64,-572 220,-572 220,-486 64,-486"/>
+<polygon fill="#666666" stroke="#666666" points="64,-514 64,-514 220,-514 220,-514 64,-514"/>
+<polygon fill="none" stroke="#666666" points="64,-471 64,-557 220,-557 220,-471 64,-471"/>
 </a>
 </g>
 </g>
@@ -114,8 +112,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M145.29,-475.49C145.83,-466.9 146.39,-457.93 146.95,-449.09"/>
-<polygon fill="none" stroke="#63b8ff" points="141.78,-475.52 144.65,-485.72 148.77,-475.96 141.78,-475.52"/>
+<path fill="none" stroke="#63b8ff" d="M145.29,-460.49C145.83,-451.9 146.39,-442.93 146.95,-434.09"/>
+<polygon fill="none" stroke="#63b8ff" points="141.78,-460.52 144.65,-470.72 148.77,-460.96 141.78,-460.52"/>
 </a>
 </g>
 </g>
@@ -123,32 +121,32 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><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="transparent" points="186,-785 30,-785 30,-609 186,-609 186,-785"/>
-<text text-anchor="start" x="54.5" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="54.5" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="34" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="186,-770 30,-770 30,-594 186,-594 186,-770"/>
+<text text-anchor="start" x="54.5" y="-758" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="54.5" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="34" y="-732" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-732" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="47" y="-732" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="34" y="-717" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-717" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="47" y="-717" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="34" y="-702" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-702" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="47" y="-691" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="34" y="-676" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-676" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="47" y="-702" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="34" y="-687" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="47" y="-687" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="47" y="-676" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="34" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="47" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="34" y="-646" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-646" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="47" y="-646" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="34" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="47" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="34" y="-616" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="47" y="-616" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="30,-757 30,-757 186,-757 186,-757 30,-757"/>
-<polygon fill="#666666" stroke="#666666" points="30,-727 30,-727 45,-727 45,-727 30,-727"/>
-<polygon fill="#666666" stroke="#666666" points="45,-727 45,-727 186,-727 186,-727 45,-727"/>
-<polygon fill="none" stroke="#666666" points="30,-609 30,-785 186,-785 186,-609 30,-609"/>
+<text text-anchor="start" x="47" y="-616" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="34" y="-601" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="47" y="-601" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="30,-742 30,-742 186,-742 186,-742 30,-742"/>
+<polygon fill="#666666" stroke="#666666" points="30,-712 30,-712 45,-712 45,-712 30,-712"/>
+<polygon fill="#666666" stroke="#666666" points="45,-712 45,-712 186,-712 186,-712 45,-712"/>
+<polygon fill="none" stroke="#666666" points="30,-594 30,-770 186,-770 186,-594 30,-594"/>
 </a>
 </g>
 </g>
@@ -156,8 +154,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M127.95,-598.59C129.83,-589.41 131.66,-580.48 133.35,-572.25"/>
-<polygon fill="none" stroke="#63b8ff" points="124.47,-598.13 125.9,-608.62 131.33,-599.53 124.47,-598.13"/>
+<path fill="none" stroke="#63b8ff" d="M127.95,-583.59C129.83,-574.41 131.66,-565.48 133.35,-557.25"/>
+<polygon fill="none" stroke="#63b8ff" points="124.47,-583.13 125.9,-593.62 131.33,-584.53 124.47,-583.13"/>
 </a>
 </g>
 </g>
@@ -165,13 +163,13 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="58,-980.5 0,-980.5 0,-931.5 58,-931.5 58,-980.5"/>
-<text text-anchor="start" x="5" y="-968" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="27" y="-953" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="58,-965.5 0,-965.5 0,-916.5 58,-916.5 58,-965.5"/>
+<text text-anchor="start" x="5" y="-953" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="27" y="-938" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="0,-963 0,-963 58,-963 58,-963 0,-963"/>
+<text text-anchor="start" x="27" y="-923" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="0,-948 0,-948 58,-948 58,-948 0,-948"/>
-<polygon fill="none" stroke="#666666" points="0,-931.5 0,-980.5 58,-980.5 58,-931.5 0,-931.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-933 0,-933 58,-933 58,-933 0,-933"/>
+<polygon fill="none" stroke="#666666" points="0,-916.5 0,-965.5 58,-965.5 58,-916.5 0,-916.5"/>
 </a>
 </g>
 </g>
@@ -179,8 +177,8 @@
 <g id="edge4_Node000004_Node000005" class="edge">
 <title>Node5&#45;&gt;Node4</title>
 <g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M39.36,-921.28C49.95,-886.85 66.82,-831.95 81.19,-785.21"/>
-<polygon fill="none" stroke="#63b8ff" points="35.88,-920.7 36.29,-931.28 42.57,-922.75 35.88,-920.7"/>
+<path fill="none" stroke="#63b8ff" d="M39.36,-906.28C49.95,-871.85 66.82,-816.95 81.19,-770.21"/>
+<polygon fill="none" stroke="#63b8ff" points="35.88,-905.7 36.29,-916.28 42.57,-907.75 35.88,-905.7"/>
 </a>
 </g>
 </g>
@@ -188,19 +186,19 @@
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:href="classtvm_1_1Span.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="240,-1001 76,-1001 76,-911 240,-911 240,-1001"/>
-<text text-anchor="start" x="133" y="-989" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
-<text text-anchor="start" x="156" y="-974" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="80" y="-959" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="93" y="-959" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
+<polygon fill="white" stroke="transparent" points="240,-986 76,-986 76,-896 240,-896 240,-986"/>
+<text text-anchor="start" x="133" y="-974" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
+<text text-anchor="start" x="156" y="-959" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <text text-anchor="start" x="80" y="-944" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="93" y="-944" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="93" y="-944" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
 <text text-anchor="start" x="80" y="-929" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="93" y="-929" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="93" y="-918" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="76,-984 76,-984 240,-984 240,-984 76,-984"/>
+<text text-anchor="start" x="93" y="-929" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="80" y="-914" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="93" y="-914" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="93" y="-903" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 <polygon fill="#666666" stroke="#666666" points="76,-969 76,-969 240,-969 240,-969 76,-969"/>
-<polygon fill="none" stroke="#666666" points="76,-911 76,-1001 240,-1001 240,-911 76,-911"/>
+<polygon fill="#666666" stroke="#666666" points="76,-954 76,-954 240,-954 240,-954 76,-954"/>
+<polygon fill="none" stroke="#666666" points="76,-896 76,-986 240,-986 240,-896 76,-896"/>
 </a>
 </g>
 </g>
@@ -208,23 +206,23 @@
 <g id="edge5_Node000004_Node000006" class="edge">
 <title>Node6&#45;&gt;Node4</title>
 <g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M113.25,-910.7C109.52,-905.09 106.3,-899.15 104,-893 92.84,-863.19 90.41,-828.97 91.81,-797.6"/>
-<polygon fill="none" stroke="#63b8ff" points="91.83,-797.26 88.21,-791.03 92.56,-785.28 96.19,-791.51 91.83,-797.26"/>
+<path fill="none" stroke="#63b8ff" d="M113.25,-895.7C109.52,-890.09 106.3,-884.15 104,-878 92.84,-848.19 90.41,-813.97 91.81,-782.6"/>
+<polygon fill="none" stroke="#63b8ff" points="91.83,-782.26 88.21,-776.03 92.56,-770.28 96.19,-776.51 91.83,-782.26"/>
 </a>
 </g>
-<text text-anchor="middle" x="140.5" y="-845.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +source_span</text>
+<text text-anchor="middle" x="140.5" y="-830.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +source_span</text>
 </g>
 <!-- Node7 -->
 <g id="Node000007" class="node">
 <title>Node7</title>
 <g id="a_Node000007"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="271,-1087 197,-1087 197,-1038 271,-1038 271,-1087"/>
-<text text-anchor="start" x="202" y="-1074.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="232" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="271,-1072 197,-1072 197,-1023 271,-1023 271,-1072"/>
+<text text-anchor="start" x="202" y="-1059.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
 <text text-anchor="start" x="232" y="-1044.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="197,-1069.5 197,-1069.5 271,-1069.5 271,-1069.5 197,-1069.5"/>
+<text text-anchor="start" x="232" y="-1029.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="197,-1054.5 197,-1054.5 271,-1054.5 271,-1054.5 197,-1054.5"/>
-<polygon fill="none" stroke="#666666" points="197,-1038 197,-1087 271,-1087 271,-1038 197,-1038"/>
+<polygon fill="#666666" stroke="#666666" points="197,-1039.5 197,-1039.5 271,-1039.5 271,-1039.5 197,-1039.5"/>
+<polygon fill="none" stroke="#666666" points="197,-1023 197,-1072 271,-1072 271,-1023 197,-1023"/>
 </a>
 </g>
 </g>
@@ -232,8 +230,8 @@
 <g id="edge6_Node000006_Node000007" class="edge">
 <title>Node7&#45;&gt;Node6</title>
 <g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M210.76,-1029.54C204.25,-1020.59 197.06,-1010.7 190.13,-1001.18"/>
-<polygon fill="none" stroke="#63b8ff" points="208.04,-1031.76 216.75,-1037.79 213.7,-1027.64 208.04,-1031.76"/>
+<path fill="none" stroke="#63b8ff" d="M210.76,-1014.54C204.25,-1005.59 197.06,-995.7 190.13,-986.18"/>
+<polygon fill="none" stroke="#63b8ff" points="208.04,-1016.76 216.75,-1022.79 213.7,-1012.64 208.04,-1016.76"/>
 </a>
 </g>
 </g>
@@ -241,19 +239,19 @@
 <g id="Node000008" class="node">
 <title>Node8</title>
 <g id="a_Node000008"><a xlink:href="classtvm_1_1relax_1_1BlockBuilder.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="350,-893 186,-893 186,-803 350,-803 350,-893"/>
-<text text-anchor="start" x="209" y="-881" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilder</text>
-<text text-anchor="start" x="266" y="-866" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="190" y="-851" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="203" y="-851" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="203" y="-840" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<text text-anchor="start" x="190" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="203" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">Create()</text>
+<polygon fill="white" stroke="transparent" points="350,-878 186,-878 186,-788 350,-788 350,-878"/>
+<text text-anchor="start" x="209" y="-866" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::relax::BlockBuilder</text>
+<text text-anchor="start" x="266" y="-851" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="190" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="203" y="-836" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="203" y="-825" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 <text text-anchor="start" x="190" y="-810" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
 <text text-anchor="start" x="203" y="-810" font-family="Helvetica,sans-Serif" font-size="10.00">Create()</text>
-<polygon fill="#666666" stroke="#666666" points="186,-876 186,-876 350,-876 350,-876 186,-876"/>
+<text text-anchor="start" x="190" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="203" y="-795" font-family="Helvetica,sans-Serif" font-size="10.00">Create()</text>
 <polygon fill="#666666" stroke="#666666" points="186,-861 186,-861 350,-861 350,-861 186,-861"/>
-<polygon fill="none" stroke="#666666" points="186,-803 186,-893 350,-893 350,-803 186,-803"/>
+<polygon fill="#666666" stroke="#666666" points="186,-846 186,-846 350,-846 350,-846 186,-846"/>
+<polygon fill="none" stroke="#666666" points="186,-788 186,-878 350,-878 350,-788 186,-788"/>
 </a>
 </g>
 </g>
@@ -261,8 +259,8 @@
 <g id="edge8_Node000008_Node000007" class="edge">
 <title>Node7&#45;&gt;Node8</title>
 <g id="a_edge8_Node000008_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M243.07,-1027.94C245.22,-1019.22 247.37,-1009.79 249,-1001 255.7,-964.92 260.7,-923.57 263.88,-893.11"/>
-<polygon fill="none" stroke="#63b8ff" points="239.64,-1027.24 240.57,-1037.79 246.42,-1028.96 239.64,-1027.24"/>
+<path fill="none" stroke="#63b8ff" d="M243.07,-1012.94C245.22,-1004.22 247.37,-994.79 249,-986 255.7,-949.92 260.7,-908.57 263.88,-878.11"/>
+<polygon fill="none" stroke="#63b8ff" points="239.64,-1012.24 240.57,-1022.79 246.42,-1013.96 239.64,-1012.24"/>
 </a>
 </g>
 </g>
@@ -270,11 +268,11 @@
 <g id="edge7_Node000001_Node000008" class="edge">
 <title>Node8&#45;&gt;Node1</title>
 <g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M266.33,-802.61C264.55,-751.56 262,-665.24 262,-591 262,-591 262,-591 262,-382.5 262,-353.24 258.04,-322.49 252.22,-293.11"/>
-<polygon fill="none" stroke="#63b8ff" points="252.15,-292.81 247.02,-287.74 249.71,-281.06 254.85,-286.12 252.15,-292.81"/>
+<path fill="none" stroke="#63b8ff" d="M266.33,-787.61C264.55,-736.56 262,-650.24 262,-576 262,-576 262,-576 262,-367.5 262,-338.19 257.78,-307.36 251.65,-278.07"/>
+<polygon fill="none" stroke="#63b8ff" points="251.58,-277.78 246.39,-272.77 249.01,-266.05 254.2,-271.06 251.58,-277.78"/>
 </a>
 </g>
-<text text-anchor="middle" x="300.5" y="-526.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +block_builder</text>
+<text text-anchor="middle" x="300.5" y="-511.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +block_builder</text>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__inherit__graph.svg
index 5ebc691ee16..3799823a1d9 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode__inherit__graph.svg
@@ -4,56 +4,54 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::relax::FunctionFrameNode Pages: 1 -->
-<svg width="164pt" height="905pt"
- viewBox="0.00 0.00 164.00 905.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 901)">
+<svg width="164pt" height="890pt"
+ viewBox="0.00 0.00 164.00 890.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 886)">
 <title>tvm::script::ir_builder::relax::FunctionFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="The ir_builder frame for the relax function.">
-<polygon fill="#999999" stroke="transparent" points="156,-296 0,-296 0,0 156,0 156,-296"/>
-<text text-anchor="start" x="10.5" y="-284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="10.5" y="-273" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
-<text text-anchor="start" x="4" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="4" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="4" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
-<text text-anchor="start" x="4" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
-<text text-anchor="start" x="4" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
-<text text-anchor="start" x="4" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="4" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="4" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
-<text text-anchor="start" x="4" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
-<text text-anchor="start" x="4" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
-<text text-anchor="start" x="4" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
-<text text-anchor="start" x="4" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="4" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="4" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="4" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="4" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-268 0,-268 156,-268 156,-268 0,-268"/>
-<polygon fill="#666666" stroke="#666666" points="0,-73 0,-73 15,-73 15,-73 0,-73"/>
-<polygon fill="#666666" stroke="#666666" points="15,-73 15,-73 156,-73 156,-73 15,-73"/>
-<polygon fill="none" stroke="#666666" points="0,0 0,-296 156,-296 156,0 0,0"/>
+<polygon fill="#999999" stroke="transparent" points="156,-281 0,-281 0,0 156,0 156,-281"/>
+<text text-anchor="start" x="10.5" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="10.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
+<text text-anchor="start" x="4" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="4" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
+<text text-anchor="start" x="4" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
+<text text-anchor="start" x="4" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
+<text text-anchor="start" x="4" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="4" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="4" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
+<text text-anchor="start" x="4" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
+<text text-anchor="start" x="4" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
+<text text-anchor="start" x="4" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
+<text text-anchor="start" x="4" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="4" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="4" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="4" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="4" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-252.5 0,-252.5 156,-252.5 156,-252.5 0,-252.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-72.5 0,-72.5 15,-72.5 15,-72.5 0,-72.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-72.5 15,-72.5 156,-72.5 156,-72.5 15,-72.5"/>
+<polygon fill="none" stroke="#666666" points="0,0 0,-281 156,-281 156,0 0,0"/>
 </a>
 </g>
 </g>
@@ -61,26 +59,26 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html" target="_top" xlink:title="The base ir_builder frame for frames with SeqExpr i.e. Functions, If branches.">
-<polygon fill="white" stroke="transparent" points="156,-463 0,-463 0,-332 156,-332 156,-463"/>
-<text text-anchor="start" x="11.5" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="11.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
-<text text-anchor="start" x="4" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
+<polygon fill="white" stroke="transparent" points="156,-448 0,-448 0,-317 156,-317 156,-448"/>
+<text text-anchor="start" x="11.5" y="-435.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="11.5" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
 <text text-anchor="start" x="4" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="17" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
 <text text-anchor="start" x="4" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="17" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="4" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="4" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="17" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="4" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-434.5 0,-434.5 156,-434.5 156,-434.5 0,-434.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-404.5 0,-404.5 15,-404.5 15,-404.5 0,-404.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-404.5 15,-404.5 156,-404.5 156,-404.5 15,-404.5"/>
-<polygon fill="none" stroke="#666666" points="0,-332 0,-463 156,-463 156,-332 0,-332"/>
+<text text-anchor="start" x="17" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-419.5 0,-419.5 156,-419.5 156,-419.5 0,-419.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-389.5 0,-389.5 15,-389.5 15,-389.5 0,-389.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-389.5 15,-389.5 156,-389.5 156,-389.5 15,-389.5"/>
+<polygon fill="none" stroke="#666666" points="0,-317 0,-448 156,-448 156,-317 0,-317"/>
 </a>
 </g>
 </g>
@@ -88,8 +86,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-321.64C78,-313.46 78,-304.95 78,-296.28"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-321.8 78,-331.8 81.5,-321.8 74.5,-321.8"/>
+<path fill="none" stroke="#63b8ff" d="M78,-306.65C78,-298.43 78,-289.88 78,-281.18"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-306.87 78,-316.87 81.5,-306.87 74.5,-306.87"/>
 </a>
 </g>
 </g>
@@ -97,18 +95,18 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html" target="_top" xlink:title="The base ir_builder frame for the relax dialect.">
-<polygon fill="white" stroke="transparent" points="156,-585 0,-585 0,-499 156,-499 156,-585"/>
-<text text-anchor="start" x="17.5" y="-573" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="17.5" y="-562" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
-<text text-anchor="start" x="76" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="4" y="-532" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-532" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-521" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-557 0,-557 156,-557 156,-557 0,-557"/>
+<polygon fill="white" stroke="transparent" points="156,-570 0,-570 0,-484 156,-484 156,-570"/>
+<text text-anchor="start" x="17.5" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="17.5" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
+<text text-anchor="start" x="76" y="-532" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4" y="-517" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-517" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
 <polygon fill="#666666" stroke="#666666" points="0,-542 0,-542 156,-542 156,-542 0,-542"/>
-<polygon fill="none" stroke="#666666" points="0,-499 0,-585 156,-585 156,-499 0,-499"/>
+<polygon fill="#666666" stroke="#666666" points="0,-527 0,-527 156,-527 156,-527 0,-527"/>
+<polygon fill="none" stroke="#666666" points="0,-484 0,-570 156,-570 156,-484 0,-484"/>
 </a>
 </g>
 </g>
@@ -116,8 +114,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-488.43C78,-480.2 78,-471.6 78,-463.14"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-488.63 78,-498.63 81.5,-488.63 74.5,-488.63"/>
+<path fill="none" stroke="#63b8ff" d="M78,-473.43C78,-465.2 78,-456.6 78,-448.14"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-473.63 78,-483.63 81.5,-473.63 74.5,-473.63"/>
 </a>
 </g>
 </g>
@@ -125,34 +123,34 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><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="transparent" points="156,-812 0,-812 0,-621 156,-621 156,-812"/>
-<text text-anchor="start" x="24.5" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="24.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="4" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="156,-797 0,-797 0,-606 156,-606 156,-797"/>
+<text text-anchor="start" x="24.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="24.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="4" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<text text-anchor="start" x="17" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="4" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="17" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="4" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="4" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="4" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="4" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="17" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="4" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="17" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="4" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="17" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="4" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-783.5 0,-783.5 156,-783.5 156,-783.5 0,-783.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-738.5 0,-738.5 15,-738.5 15,-738.5 0,-738.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-738.5 15,-738.5 156,-738.5 156,-738.5 15,-738.5"/>
-<polygon fill="none" stroke="#666666" points="0,-621 0,-812 156,-812 156,-621 0,-621"/>
+<text text-anchor="start" x="17" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="4" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-768.5 0,-768.5 156,-768.5 156,-768.5 0,-768.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-723.5 0,-723.5 15,-723.5 15,-723.5 0,-723.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-723.5 15,-723.5 156,-723.5 156,-723.5 15,-723.5"/>
+<polygon fill="none" stroke="#666666" points="0,-606 0,-797 156,-797 156,-606 0,-606"/>
 </a>
 </g>
 </g>
@@ -160,8 +158,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-610.7C78,-601.73 78,-593.04 78,-585.05"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-610.92 78,-620.92 81.5,-610.92 74.5,-610.92"/>
+<path fill="none" stroke="#63b8ff" d="M78,-595.7C78,-586.73 78,-578.04 78,-570.05"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-595.92 78,-605.92 81.5,-595.92 74.5,-595.92"/>
 </a>
 </g>
 </g>
@@ -169,13 +167,13 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="107,-897 49,-897 49,-848 107,-848 107,-897"/>
-<text text-anchor="start" x="54" y="-884.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="76" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="107,-882 49,-882 49,-833 107,-833 107,-882"/>
+<text text-anchor="start" x="54" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="76" y="-854.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="49,-879.5 49,-879.5 107,-879.5 107,-879.5 49,-879.5"/>
+<text text-anchor="start" x="76" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="49,-864.5 49,-864.5 107,-864.5 107,-864.5 49,-864.5"/>
-<polygon fill="none" stroke="#666666" points="49,-848 49,-897 107,-897 107,-848 49,-848"/>
+<polygon fill="#666666" stroke="#666666" points="49,-849.5 49,-849.5 107,-849.5 107,-849.5 49,-849.5"/>
+<polygon fill="none" stroke="#666666" points="49,-833 49,-882 107,-882 107,-833 49,-833"/>
 </a>
 </g>
 </g>
@@ -183,8 +181,8 @@
 <g id="edge4_Node000004_Node000005" class="edge">
 <title>Node5&#45;&gt;Node4</title>
 <g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-837.72C78,-829.91 78,-821.22 78,-812.19"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-837.77 78,-847.77 81.5,-837.78 74.5,-837.77"/>
+<path fill="none" stroke="#63b8ff" d="M78,-822.72C78,-814.91 78,-806.22 78,-797.19"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-822.77 78,-832.77 81.5,-822.78 74.5,-822.77"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html
index 89fb45f3841..71107742cc0 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html
@@ -88,7 +88,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::relax::RelaxFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode__inherit__graph.svg" width="931" height="1267"><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_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode__inherit__graph.svg" width="931" height="1247"><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::script::ir_builder::relax::RelaxFrameNode:</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode__inherit__graph.svg
index c0640637f37..80960b4f76d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode__inherit__graph.svg
@@ -4,26 +4,26 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::relax::RelaxFrameNode Pages: 1 -->
-<svg width="698pt" height="950pt"
- viewBox="0.00 0.00 697.50 950.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 946)">
+<svg width="698pt" height="935pt"
+ viewBox="0.00 0.00 697.50 935.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 931)">
 <title>tvm::script::ir_builder::relax::RelaxFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="The base ir_builder frame for the relax dialect.">
-<polygon fill="#999999" stroke="transparent" points="341.5,-630 185.5,-630 185.5,-544 341.5,-544 341.5,-630"/>
-<text text-anchor="start" x="203" y="-618" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="203" y="-607" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
-<text text-anchor="start" x="261.5" y="-592" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="189.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="202.5" y="-566" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="189.5" y="-551" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-551" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="185.5,-602 185.5,-602 341.5,-602 341.5,-602 185.5,-602"/>
+<polygon fill="#999999" stroke="transparent" points="341.5,-615 185.5,-615 185.5,-529 341.5,-529 341.5,-615"/>
+<text text-anchor="start" x="203" y="-603" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="203" y="-592" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
+<text text-anchor="start" x="261.5" y="-577" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="189.5" y="-562" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-562" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="202.5" y="-551" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="189.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-536" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
 <polygon fill="#666666" stroke="#666666" points="185.5,-587 185.5,-587 341.5,-587 341.5,-587 185.5,-587"/>
-<polygon fill="none" stroke="#666666" points="185.5,-544 185.5,-630 341.5,-630 341.5,-544 185.5,-544"/>
+<polygon fill="#666666" stroke="#666666" points="185.5,-572 185.5,-572 341.5,-572 341.5,-572 185.5,-572"/>
+<polygon fill="none" stroke="#666666" points="185.5,-529 185.5,-615 341.5,-615 341.5,-529 185.5,-529"/>
 </a>
 </g>
 </g>
@@ -31,32 +31,32 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html" target="_top" xlink:title="The ir_builder frame for relax binding blocks.">
-<polygon fill="white" stroke="transparent" points="167,-508 0,-508 0,-332 167,-332 167,-508"/>
-<text text-anchor="start" x="5.5" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="5.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::BindingBlockFrameNode</text>
-<text text-anchor="start" x="7" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">is_dataflow</text>
+<polygon fill="white" stroke="transparent" points="167,-493 0,-493 0,-317 167,-317 167,-493"/>
+<text text-anchor="start" x="5.5" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="5.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::BindingBlockFrameNode</text>
 <text text-anchor="start" x="7" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">emitted_vars</text>
+<text text-anchor="start" x="22.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">is_dataflow</text>
 <text text-anchor="start" x="7" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">block_ended</text>
+<text text-anchor="start" x="22.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">emitted_vars</text>
 <text text-anchor="start" x="7" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">output_vars</text>
+<text text-anchor="start" x="22.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">block_ended</text>
 <text text-anchor="start" x="7" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">binding_spans</text>
+<text text-anchor="start" x="22.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">output_vars</text>
 <text text-anchor="start" x="7" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="22.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="7" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="22.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">binding_spans</text>
+<text text-anchor="start" x="7" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="22.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
 <text text-anchor="start" x="7" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="22.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="7" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="22.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0.5,-480 0.5,-480 167.5,-480 167.5,-480 0.5,-480"/>
-<polygon fill="#666666" stroke="#666666" points="0.5,-405 0.5,-405 20.5,-405 20.5,-405 0.5,-405"/>
-<polygon fill="#666666" stroke="#666666" points="20.5,-405 20.5,-405 167.5,-405 167.5,-405 20.5,-405"/>
-<polygon fill="none" stroke="#666666" points="0,-332 0,-508 167,-508 167,-332 0,-332"/>
+<text text-anchor="start" x="22.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="7" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="22.5" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0.5,-465 0.5,-465 167.5,-465 167.5,-465 0.5,-465"/>
+<polygon fill="#666666" stroke="#666666" points="0.5,-390 0.5,-390 20.5,-390 20.5,-390 0.5,-390"/>
+<polygon fill="#666666" stroke="#666666" points="20.5,-390 20.5,-390 167.5,-390 167.5,-390 20.5,-390"/>
+<polygon fill="none" stroke="#666666" points="0,-317 0,-493 167,-493 167,-317 0,-317"/>
 </a>
 </g>
 </g>
@@ -64,8 +64,8 @@
 <g id="edge3_Node000001_Node000004" class="edge">
 <title>Node1&#45;&gt;Node4</title>
 <g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M208.3,-536.83C197.71,-527.3 186.73,-517.37 176.5,-508 173.4,-505.16 170.25,-502.27 167.07,-499.34"/>
-<polygon fill="none" stroke="#63b8ff" points="206.15,-539.6 215.93,-543.68 210.82,-534.39 206.15,-539.6"/>
+<path fill="none" stroke="#63b8ff" d="M208.3,-521.83C197.71,-512.3 186.73,-502.37 176.5,-493 173.4,-490.16 170.25,-487.27 167.07,-484.34"/>
+<polygon fill="none" stroke="#63b8ff" points="206.15,-524.6 215.93,-528.68 210.82,-519.39 206.15,-524.6"/>
 </a>
 </g>
 </g>
@@ -73,32 +73,32 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html" target="_top" xlink:title="A frame that represents if statement.">
-<polygon fill="white" stroke="transparent" points="341.5,-508 185.5,-508 185.5,-332 341.5,-332 341.5,-508"/>
-<text text-anchor="start" x="211" y="-496" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="213.5" y="-485" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::IfFrameNode</text>
-<text text-anchor="start" x="189.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<polygon fill="white" stroke="transparent" points="341.5,-493 185.5,-493 185.5,-317 341.5,-317 341.5,-493"/>
+<text text-anchor="start" x="211" y="-481" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="213.5" y="-470" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::IfFrameNode</text>
 <text text-anchor="start" x="189.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">then_expr</text>
+<text text-anchor="start" x="202.5" y="-455" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
 <text text-anchor="start" x="189.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">else_expr</text>
+<text text-anchor="start" x="202.5" y="-440" font-family="Helvetica,sans-Serif" font-size="10.00">then_expr</text>
 <text text-anchor="start" x="189.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">var</text>
+<text text-anchor="start" x="202.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">else_expr</text>
 <text text-anchor="start" x="189.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">var_name</text>
+<text text-anchor="start" x="202.5" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">var</text>
 <text text-anchor="start" x="189.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="202.5" y="-384" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="189.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="202.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">var_name</text>
+<text text-anchor="start" x="189.5" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="202.5" y="-369" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
 <text text-anchor="start" x="189.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="202.5" y="-354" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="189.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="185.5,-480 185.5,-480 341.5,-480 341.5,-480 185.5,-480"/>
-<polygon fill="#666666" stroke="#666666" points="185.5,-405 185.5,-405 200.5,-405 200.5,-405 185.5,-405"/>
-<polygon fill="#666666" stroke="#666666" points="200.5,-405 200.5,-405 341.5,-405 341.5,-405 200.5,-405"/>
-<polygon fill="none" stroke="#666666" points="185.5,-332 185.5,-508 341.5,-508 341.5,-332 185.5,-332"/>
+<text text-anchor="start" x="202.5" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="189.5" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-324" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="185.5,-465 185.5,-465 341.5,-465 341.5,-465 185.5,-465"/>
+<polygon fill="#666666" stroke="#666666" points="185.5,-390 185.5,-390 200.5,-390 200.5,-390 185.5,-390"/>
+<polygon fill="#666666" stroke="#666666" points="200.5,-390 200.5,-390 341.5,-390 341.5,-390 200.5,-390"/>
+<polygon fill="none" stroke="#666666" points="185.5,-317 185.5,-493 341.5,-493 341.5,-317 185.5,-317"/>
 </a>
 </g>
 </g>
@@ -106,8 +106,8 @@
 <g id="edge4_Node000001_Node000005" class="edge">
 <title>Node1&#45;&gt;Node5</title>
 <g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M263.5,-533.85C263.5,-525.67 263.5,-517.03 263.5,-508.31"/>
-<polygon fill="none" stroke="#63b8ff" points="260,-533.94 263.5,-543.94 267,-533.94 260,-533.94"/>
+<path fill="none" stroke="#63b8ff" d="M263.5,-518.85C263.5,-510.67 263.5,-502.03 263.5,-493.31"/>
+<polygon fill="none" stroke="#63b8ff" points="260,-518.94 263.5,-528.94 267,-518.94 260,-518.94"/>
 </a>
 </g>
 </g>
@@ -115,26 +115,26 @@
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html" target="_top" xlink:title="The base ir_builder frame for frames with SeqExpr i.e. Functions, If branches.">
-<polygon fill="white" stroke="transparent" points="515.5,-485.5 359.5,-485.5 359.5,-354.5 515.5,-354.5 515.5,-485.5"/>
-<text text-anchor="start" x="371" y="-473" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="371" y="-462" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
-<text text-anchor="start" x="363.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
+<polygon fill="white" stroke="transparent" points="515.5,-470.5 359.5,-470.5 359.5,-339.5 515.5,-339.5 515.5,-470.5"/>
+<text text-anchor="start" x="371" y="-458" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="371" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
 <text text-anchor="start" x="363.5" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="376.5" y="-432" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
 <text text-anchor="start" x="363.5" y="-417" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-417" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="376.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="363.5" y="-391" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-391" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="376.5" y="-417" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="363.5" y="-402" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-402" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="376.5" y="-391" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="363.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="376.5" y="-376" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="363.5" y="-361" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-361" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="359.5,-457 359.5,-457 515.5,-457 515.5,-457 359.5,-457"/>
-<polygon fill="#666666" stroke="#666666" points="359.5,-427 359.5,-427 374.5,-427 374.5,-427 359.5,-427"/>
-<polygon fill="#666666" stroke="#666666" points="374.5,-427 374.5,-427 515.5,-427 515.5,-427 374.5,-427"/>
-<polygon fill="none" stroke="#666666" points="359.5,-354.5 359.5,-485.5 515.5,-485.5 515.5,-354.5 359.5,-354.5"/>
+<text text-anchor="start" x="376.5" y="-361" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="363.5" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="359.5,-442 359.5,-442 515.5,-442 515.5,-442 359.5,-442"/>
+<polygon fill="#666666" stroke="#666666" points="359.5,-412 359.5,-412 374.5,-412 374.5,-412 359.5,-412"/>
+<polygon fill="#666666" stroke="#666666" points="374.5,-412 374.5,-412 515.5,-412 515.5,-412 374.5,-412"/>
+<polygon fill="none" stroke="#666666" points="359.5,-339.5 359.5,-470.5 515.5,-470.5 515.5,-339.5 359.5,-339.5"/>
 </a>
 </g>
 </g>
@@ -142,8 +142,8 @@
 <g id="edge5_Node000001_Node000006" class="edge">
 <title>Node1&#45;&gt;Node6</title>
 <g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M318.96,-537.1C329.52,-527.55 340.43,-517.54 350.5,-508 358.1,-500.8 365.98,-493.17 373.75,-485.54"/>
-<polygon fill="none" stroke="#63b8ff" points="316.43,-534.67 311.34,-543.96 321.11,-539.87 316.43,-534.67"/>
+<path fill="none" stroke="#63b8ff" d="M318.96,-522.1C329.52,-512.55 340.43,-502.54 350.5,-493 358.1,-485.8 365.98,-478.17 373.75,-470.54"/>
+<polygon fill="none" stroke="#63b8ff" points="316.43,-519.67 311.34,-528.96 321.11,-524.87 316.43,-519.67"/>
 </a>
 </g>
 </g>
@@ -151,34 +151,34 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><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="transparent" points="341.5,-857 185.5,-857 185.5,-666 341.5,-666 341.5,-857"/>
-<text text-anchor="start" x="210" y="-844.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="210" y="-833.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="189.5" y="-818.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-818.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="341.5,-842 185.5,-842 185.5,-651 341.5,-651 341.5,-842"/>
+<text text-anchor="start" x="210" y="-829.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="210" y="-818.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="189.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<text text-anchor="start" x="202.5" y="-803.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="189.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="202.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="189.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="202.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="189.5" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="202.5" y="-747.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="189.5" y="-732.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-732.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="202.5" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="189.5" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="202.5" y="-732.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="189.5" y="-717.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-717.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="202.5" y="-717.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="189.5" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="202.5" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="189.5" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="202.5" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="189.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="185.5,-828.5 185.5,-828.5 341.5,-828.5 341.5,-828.5 185.5,-828.5"/>
-<polygon fill="#666666" stroke="#666666" points="185.5,-783.5 185.5,-783.5 200.5,-783.5 200.5,-783.5 185.5,-783.5"/>
-<polygon fill="#666666" stroke="#666666" points="200.5,-783.5 200.5,-783.5 341.5,-783.5 341.5,-783.5 200.5,-783.5"/>
-<polygon fill="none" stroke="#666666" points="185.5,-666 185.5,-857 341.5,-857 341.5,-666 185.5,-666"/>
+<text text-anchor="start" x="202.5" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="189.5" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="185.5,-813.5 185.5,-813.5 341.5,-813.5 341.5,-813.5 185.5,-813.5"/>
+<polygon fill="#666666" stroke="#666666" points="185.5,-768.5 185.5,-768.5 200.5,-768.5 200.5,-768.5 185.5,-768.5"/>
+<polygon fill="#666666" stroke="#666666" points="200.5,-768.5 200.5,-768.5 341.5,-768.5 341.5,-768.5 200.5,-768.5"/>
+<polygon fill="none" stroke="#666666" points="185.5,-651 185.5,-842 341.5,-842 341.5,-651 185.5,-651"/>
 </a>
 </g>
 </g>
@@ -186,8 +186,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M263.5,-655.7C263.5,-646.73 263.5,-638.04 263.5,-630.05"/>
-<polygon fill="none" stroke="#63b8ff" points="260,-655.92 263.5,-665.92 267,-655.92 260,-655.92"/>
+<path fill="none" stroke="#63b8ff" d="M263.5,-640.7C263.5,-631.73 263.5,-623.04 263.5,-615.05"/>
+<polygon fill="none" stroke="#63b8ff" points="260,-640.92 263.5,-650.92 267,-640.92 260,-640.92"/>
 </a>
 </g>
 </g>
@@ -195,13 +195,13 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="292.5,-942 234.5,-942 234.5,-893 292.5,-893 292.5,-942"/>
-<text text-anchor="start" x="239.5" y="-929.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="261.5" y="-914.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="292.5,-927 234.5,-927 234.5,-878 292.5,-878 292.5,-927"/>
+<text text-anchor="start" x="239.5" y="-914.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="261.5" y="-899.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="234.5,-924.5 234.5,-924.5 292.5,-924.5 292.5,-924.5 234.5,-924.5"/>
+<text text-anchor="start" x="261.5" y="-884.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="234.5,-909.5 234.5,-909.5 292.5,-909.5 292.5,-909.5 234.5,-909.5"/>
-<polygon fill="none" stroke="#666666" points="234.5,-893 234.5,-942 292.5,-942 292.5,-893 234.5,-893"/>
+<polygon fill="#666666" stroke="#666666" points="234.5,-894.5 234.5,-894.5 292.5,-894.5 292.5,-894.5 234.5,-894.5"/>
+<polygon fill="none" stroke="#666666" points="234.5,-878 234.5,-927 292.5,-927 292.5,-878 234.5,-878"/>
 </a>
 </g>
 </g>
@@ -209,8 +209,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M263.5,-882.72C263.5,-874.91 263.5,-866.22 263.5,-857.19"/>
-<polygon fill="none" stroke="#63b8ff" points="260,-882.77 263.5,-892.77 267,-882.78 260,-882.77"/>
+<path fill="none" stroke="#63b8ff" d="M263.5,-867.72C263.5,-859.91 263.5,-851.22 263.5,-842.19"/>
+<polygon fill="none" stroke="#63b8ff" points="260,-867.77 263.5,-877.77 267,-867.78 260,-867.77"/>
 </a>
 </g>
 </g>
@@ -218,22 +218,22 @@
 <g id="Node000007" class="node">
 <title>Node7</title>
 <g id="a_Node000007"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html" target="_top" xlink:title="A frame that represents else.">
-<polygon fill="white" stroke="transparent" points="341.5,-206 185.5,-206 185.5,-90 341.5,-90 341.5,-206"/>
-<text text-anchor="start" x="206.5" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="206.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ElseFrameNode</text>
-<text text-anchor="start" x="261.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="189.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="202.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="189.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="189.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="189.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="202.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="185.5,-178 185.5,-178 341.5,-178 341.5,-178 185.5,-178"/>
-<polygon fill="#666666" stroke="#666666" points="185.5,-163 185.5,-163 341.5,-163 341.5,-163 185.5,-163"/>
-<polygon fill="none" stroke="#666666" points="185.5,-90 185.5,-206 341.5,-206 341.5,-90 185.5,-90"/>
+<polygon fill="white" stroke="transparent" points="341.5,-198.5 185.5,-198.5 185.5,-82.5 341.5,-82.5 341.5,-198.5"/>
+<text text-anchor="start" x="206.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="206.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ElseFrameNode</text>
+<text text-anchor="start" x="261.5" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="189.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="202.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="189.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="189.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="189.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="202.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="185.5,-170.5 185.5,-170.5 341.5,-170.5 341.5,-170.5 185.5,-170.5"/>
+<polygon fill="#666666" stroke="#666666" points="185.5,-155.5 185.5,-155.5 341.5,-155.5 341.5,-155.5 185.5,-155.5"/>
+<polygon fill="none" stroke="#666666" points="185.5,-82.5 185.5,-198.5 341.5,-198.5 341.5,-82.5 185.5,-82.5"/>
 </a>
 </g>
 </g>
@@ -241,8 +241,8 @@
 <g id="edge6_Node000006_Node000007" class="edge">
 <title>Node6&#45;&gt;Node7</title>
 <g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M384.3,-345.85C372.9,-329.61 361.1,-312.36 350.5,-296 331.63,-266.88 311.84,-233.68 295.9,-206.2"/>
-<polygon fill="none" stroke="#63b8ff" points="381.6,-348.09 390.22,-354.25 387.32,-344.06 381.6,-348.09"/>
+<path fill="none" stroke="#63b8ff" d="M384.78,-330.95C373.3,-314.63 361.35,-297.32 350.5,-281 332.73,-254.26 313.77,-224.08 298.11,-198.65"/>
+<polygon fill="none" stroke="#63b8ff" points="382.11,-333.23 390.73,-339.38 387.83,-329.19 382.11,-333.23"/>
 </a>
 </g>
 </g>
@@ -250,48 +250,46 @@
 <g id="Node000008" class="node">
 <title>Node8</title>
 <g id="a_Node000008"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html" target="_top" xlink:title="The ir_builder frame for the relax function.">
-<polygon fill="white" stroke="transparent" points="515.5,-296 359.5,-296 359.5,0 515.5,0 515.5,-296"/>
-<text text-anchor="start" x="370" y="-284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="370" y="-273" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
-<text text-anchor="start" x="363.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="363.5" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="363.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
-<text text-anchor="start" x="363.5" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
-<text text-anchor="start" x="363.5" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
-<text text-anchor="start" x="363.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="363.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="363.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
-<text text-anchor="start" x="363.5" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
-<text text-anchor="start" x="363.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
-<text text-anchor="start" x="363.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
-<text text-anchor="start" x="363.5" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="363.5" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="363.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="376.5" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="363.5" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="363.5" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="363.5" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="376.5" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="359.5,-268 359.5,-268 515.5,-268 515.5,-268 359.5,-268"/>
-<polygon fill="#666666" stroke="#666666" points="359.5,-73 359.5,-73 374.5,-73 374.5,-73 359.5,-73"/>
-<polygon fill="#666666" stroke="#666666" points="374.5,-73 374.5,-73 515.5,-73 515.5,-73 374.5,-73"/>
-<polygon fill="none" stroke="#666666" points="359.5,0 359.5,-296 515.5,-296 515.5,0 359.5,0"/>
+<polygon fill="white" stroke="transparent" points="515.5,-281 359.5,-281 359.5,0 515.5,0 515.5,-281"/>
+<text text-anchor="start" x="370" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="370" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
+<text text-anchor="start" x="363.5" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="363.5" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
+<text text-anchor="start" x="363.5" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
+<text text-anchor="start" x="363.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
+<text text-anchor="start" x="363.5" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="363.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="363.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
+<text text-anchor="start" x="363.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
+<text text-anchor="start" x="363.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
+<text text-anchor="start" x="363.5" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
+<text text-anchor="start" x="363.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="363.5" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="363.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="376.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="363.5" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="363.5" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="363.5" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="376.5" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="359.5,-252.5 359.5,-252.5 515.5,-252.5 515.5,-252.5 359.5,-252.5"/>
+<polygon fill="#666666" stroke="#666666" points="359.5,-72.5 359.5,-72.5 374.5,-72.5 374.5,-72.5 359.5,-72.5"/>
+<polygon fill="#666666" stroke="#666666" points="374.5,-72.5 374.5,-72.5 515.5,-72.5 515.5,-72.5 374.5,-72.5"/>
+<polygon fill="none" stroke="#666666" points="359.5,0 359.5,-281 515.5,-281 515.5,0 359.5,0"/>
 </a>
 </g>
 </g>
@@ -299,8 +297,8 @@
 <g id="edge7_Node000006_Node000008" class="edge">
 <title>Node6&#45;&gt;Node8</title>
 <g id="a_edge7_Node000006_Node000008"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M437.5,-344.1C437.5,-329.01 437.5,-312.67 437.5,-296.08"/>
-<polygon fill="none" stroke="#63b8ff" points="434,-344.33 437.5,-354.33 441,-344.33 434,-344.33"/>
+<path fill="none" stroke="#63b8ff" d="M437.5,-329.19C437.5,-314.07 437.5,-297.72 437.5,-281.19"/>
+<polygon fill="none" stroke="#63b8ff" points="434,-329.45 437.5,-339.45 441,-329.45 434,-329.45"/>
 </a>
 </g>
 </g>
@@ -308,22 +306,22 @@
 <g id="Node000009" class="node">
 <title>Node9</title>
 <g id="a_Node000009"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html" target="_top" xlink:title="A frame that represents then.">
-<polygon fill="white" stroke="transparent" points="689.5,-206 533.5,-206 533.5,-90 689.5,-90 689.5,-206"/>
-<text text-anchor="start" x="552.5" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="552.5" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ThenFrameNode</text>
-<text text-anchor="start" x="609.5" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="537.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="550.5" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="537.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="537.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="537.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="550.5" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="533.5,-178 533.5,-178 689.5,-178 689.5,-178 533.5,-178"/>
-<polygon fill="#666666" stroke="#666666" points="533.5,-163 533.5,-163 689.5,-163 689.5,-163 533.5,-163"/>
-<polygon fill="none" stroke="#666666" points="533.5,-90 533.5,-206 689.5,-206 689.5,-90 533.5,-90"/>
+<polygon fill="white" stroke="transparent" points="689.5,-198.5 533.5,-198.5 533.5,-82.5 689.5,-82.5 689.5,-198.5"/>
+<text text-anchor="start" x="552.5" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="552.5" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ThenFrameNode</text>
+<text text-anchor="start" x="609.5" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="537.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="550.5" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="537.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="537.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="537.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="550.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="533.5,-170.5 533.5,-170.5 689.5,-170.5 689.5,-170.5 533.5,-170.5"/>
+<polygon fill="#666666" stroke="#666666" points="533.5,-155.5 533.5,-155.5 689.5,-155.5 689.5,-155.5 533.5,-155.5"/>
+<polygon fill="none" stroke="#666666" points="533.5,-82.5 533.5,-198.5 689.5,-198.5 689.5,-82.5 533.5,-82.5"/>
 </a>
 </g>
 </g>
@@ -331,8 +329,8 @@
 <g id="edge8_Node000006_Node000009" class="edge">
 <title>Node6&#45;&gt;Node9</title>
 <g id="a_edge8_Node000006_Node000009"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M490.7,-345.85C502.1,-329.61 513.9,-312.36 524.5,-296 543.37,-266.88 563.16,-233.68 579.1,-206.2"/>
-<polygon fill="none" stroke="#63b8ff" points="487.68,-344.06 484.78,-354.25 493.4,-348.09 487.68,-344.06"/>
+<path fill="none" stroke="#63b8ff" d="M490.22,-330.95C501.7,-314.63 513.65,-297.32 524.5,-281 542.27,-254.26 561.23,-224.08 576.89,-198.65"/>
+<polygon fill="none" stroke="#63b8ff" points="487.17,-329.19 484.27,-339.38 492.89,-333.23 487.17,-329.19"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html
index 598656b26e4..371d5867b05 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html
@@ -89,7 +89,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::relax::SeqExprFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode__inherit__graph.svg" width="683" height="1207"><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_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode__inherit__graph.svg" width="683" height="1187"><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::script::ir_builder::relax::SeqExprFrameNode:</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode__inherit__graph.svg
index abfc87b6ebc..684c3540663 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode__inherit__graph.svg
@@ -4,34 +4,34 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::relax::SeqExprFrameNode Pages: 1 -->
-<svg width="512pt" height="905pt"
- viewBox="0.00 0.00 512.00 905.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 901)">
+<svg width="512pt" height="890pt"
+ viewBox="0.00 0.00 512.00 890.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 886)">
 <title>tvm::script::ir_builder::relax::SeqExprFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="The base ir_builder frame for frames with SeqExpr i.e. Functions, If branches.">
-<polygon fill="#999999" stroke="transparent" points="330,-463 174,-463 174,-332 330,-332 330,-463"/>
-<text text-anchor="start" x="185.5" y="-450.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="185.5" y="-439.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
-<text text-anchor="start" x="178" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
+<polygon fill="#999999" stroke="transparent" points="330,-448 174,-448 174,-317 330,-317 330,-448"/>
+<text text-anchor="start" x="185.5" y="-435.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="185.5" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::SeqExprFrameNode</text>
 <text text-anchor="start" x="178" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="191" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">binding_blocks</text>
 <text text-anchor="start" x="178" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="191" y="-383.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="178" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="191" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">output</text>
+<text text-anchor="start" x="178" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="191" y="-368.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="178" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="191" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="178" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="174,-434.5 174,-434.5 330,-434.5 330,-434.5 174,-434.5"/>
-<polygon fill="#666666" stroke="#666666" points="174,-404.5 174,-404.5 189,-404.5 189,-404.5 174,-404.5"/>
-<polygon fill="#666666" stroke="#666666" points="189,-404.5 189,-404.5 330,-404.5 330,-404.5 189,-404.5"/>
-<polygon fill="none" stroke="#666666" points="174,-332 174,-463 330,-463 330,-332 174,-332"/>
+<text text-anchor="start" x="191" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="178" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-323.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="174,-419.5 174,-419.5 330,-419.5 330,-419.5 174,-419.5"/>
+<polygon fill="#666666" stroke="#666666" points="174,-389.5 174,-389.5 189,-389.5 189,-389.5 174,-389.5"/>
+<polygon fill="#666666" stroke="#666666" points="189,-389.5 189,-389.5 330,-389.5 330,-389.5 189,-389.5"/>
+<polygon fill="none" stroke="#666666" points="174,-317 174,-448 330,-448 330,-317 174,-317"/>
 </a>
 </g>
 </g>
@@ -39,22 +39,22 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html" target="_top" xlink:title="A frame that represents else.">
-<polygon fill="white" stroke="transparent" points="156,-206 0,-206 0,-90 156,-90 156,-206"/>
-<text text-anchor="start" x="21" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="21" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ElseFrameNode</text>
-<text text-anchor="start" x="76" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="4" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="4" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="4" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-178 0,-178 156,-178 156,-178 0,-178"/>
-<polygon fill="#666666" stroke="#666666" points="0,-163 0,-163 156,-163 156,-163 0,-163"/>
-<polygon fill="none" stroke="#666666" points="0,-90 0,-206 156,-206 156,-90 0,-90"/>
+<polygon fill="white" stroke="transparent" points="156,-198.5 0,-198.5 0,-82.5 156,-82.5 156,-198.5"/>
+<text text-anchor="start" x="21" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="21" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ElseFrameNode</text>
+<text text-anchor="start" x="76" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="4" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="4" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-170.5 0,-170.5 156,-170.5 156,-170.5 0,-170.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-155.5 0,-155.5 156,-155.5 156,-155.5 0,-155.5"/>
+<polygon fill="none" stroke="#666666" points="0,-82.5 0,-198.5 156,-198.5 156,-82.5 0,-82.5"/>
 </a>
 </g>
 </g>
@@ -62,8 +62,8 @@
 <g id="edge4_Node000001_Node000005" class="edge">
 <title>Node1&#45;&gt;Node5</title>
 <g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M186.76,-324.19C179.17,-314.9 171.74,-305.36 165,-296 144.55,-267.6 124.47,-234.15 108.76,-206.34"/>
-<polygon fill="none" stroke="#63b8ff" points="184.08,-326.46 193.16,-331.93 189.48,-321.99 184.08,-326.46"/>
+<path fill="none" stroke="#63b8ff" d="M186.97,-309.04C179.34,-299.78 171.85,-290.29 165,-281 145.77,-254.93 126.49,-224.56 110.98,-198.82"/>
+<polygon fill="none" stroke="#63b8ff" points="184.3,-311.31 193.39,-316.76 189.68,-306.83 184.3,-311.31"/>
 </a>
 </g>
 </g>
@@ -71,48 +71,46 @@
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html" target="_top" xlink:title="The ir_builder frame for the relax function.">
-<polygon fill="white" stroke="transparent" points="330,-296 174,-296 174,0 330,0 330,-296"/>
-<text text-anchor="start" x="184.5" y="-284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="184.5" y="-273" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
-<text text-anchor="start" x="178" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="178" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="178" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
-<text text-anchor="start" x="178" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
-<text text-anchor="start" x="178" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
-<text text-anchor="start" x="178" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="178" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="178" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
-<text text-anchor="start" x="178" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
-<text text-anchor="start" x="178" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
-<text text-anchor="start" x="178" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
-<text text-anchor="start" x="178" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="178" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-78" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="178" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="191" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="178" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="178" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="178" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="174,-268 174,-268 330,-268 330,-268 174,-268"/>
-<polygon fill="#666666" stroke="#666666" points="174,-73 174,-73 189,-73 189,-73 174,-73"/>
-<polygon fill="#666666" stroke="#666666" points="189,-73 189,-73 330,-73 330,-73 189,-73"/>
-<polygon fill="none" stroke="#666666" points="174,0 174,-296 330,-296 330,0 174,0"/>
+<polygon fill="white" stroke="transparent" points="330,-281 174,-281 174,0 330,0 330,-281"/>
+<text text-anchor="start" x="184.5" y="-268.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="184.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::FunctionFrameNode</text>
+<text text-anchor="start" x="178" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="178" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">params</text>
+<text text-anchor="start" x="178" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_ty</text>
+<text text-anchor="start" x="178" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_pure</text>
+<text text-anchor="start" x="178" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="178" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="178" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">block_builder</text>
+<text text-anchor="start" x="178" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">declaration</text>
+<text text-anchor="start" x="178" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">local</text>
+<text text-anchor="start" x="178" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">local_var</text>
+<text text-anchor="start" x="178" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="178" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-77.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="178" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="191" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="178" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="178" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="178" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="174,-252.5 174,-252.5 330,-252.5 330,-252.5 174,-252.5"/>
+<polygon fill="#666666" stroke="#666666" points="174,-72.5 174,-72.5 189,-72.5 189,-72.5 174,-72.5"/>
+<polygon fill="#666666" stroke="#666666" points="189,-72.5 189,-72.5 330,-72.5 330,-72.5 189,-72.5"/>
+<polygon fill="none" stroke="#666666" points="174,0 174,-281 330,-281 330,0 174,0"/>
 </a>
 </g>
 </g>
@@ -120,8 +118,8 @@
 <g id="edge5_Node000001_Node000006" class="edge">
 <title>Node1&#45;&gt;Node6</title>
 <g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M252,-321.64C252,-313.46 252,-304.95 252,-296.28"/>
-<polygon fill="none" stroke="#63b8ff" points="248.5,-321.8 252,-331.8 255.5,-321.8 248.5,-321.8"/>
+<path fill="none" stroke="#63b8ff" d="M252,-306.65C252,-298.43 252,-289.88 252,-281.18"/>
+<polygon fill="none" stroke="#63b8ff" points="248.5,-306.87 252,-316.87 255.5,-306.87 248.5,-306.87"/>
 </a>
 </g>
 </g>
@@ -129,22 +127,22 @@
 <g id="Node000007" class="node">
 <title>Node7</title>
 <g id="a_Node000007"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html" target="_top" xlink:title="A frame that represents then.">
-<polygon fill="white" stroke="transparent" points="504,-206 348,-206 348,-90 504,-90 504,-206"/>
-<text text-anchor="start" x="367" y="-194" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="367" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ThenFrameNode</text>
-<text text-anchor="start" x="424" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="352" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="365" y="-142" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="352" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-127" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="352" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-112" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="352" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-97" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="348,-178 348,-178 504,-178 504,-178 348,-178"/>
-<polygon fill="#666666" stroke="#666666" points="348,-163 348,-163 504,-163 504,-163 348,-163"/>
-<polygon fill="none" stroke="#666666" points="348,-90 348,-206 504,-206 504,-90 348,-90"/>
+<polygon fill="white" stroke="transparent" points="504,-198.5 348,-198.5 348,-82.5 504,-82.5 504,-198.5"/>
+<text text-anchor="start" x="367" y="-186.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="367" y="-175.5" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::ThenFrameNode</text>
+<text text-anchor="start" x="424" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="352" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-145.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="365" y="-134.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="352" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="352" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-104.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="352" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="348,-170.5 348,-170.5 504,-170.5 504,-170.5 348,-170.5"/>
+<polygon fill="#666666" stroke="#666666" points="348,-155.5 348,-155.5 504,-155.5 504,-155.5 348,-155.5"/>
+<polygon fill="none" stroke="#666666" points="348,-82.5 348,-198.5 504,-198.5 504,-82.5 348,-82.5"/>
 </a>
 </g>
 </g>
@@ -152,8 +150,8 @@
 <g id="edge6_Node000001_Node000007" class="edge">
 <title>Node1&#45;&gt;Node7</title>
 <g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M317.24,-324.19C324.83,-314.9 332.26,-305.36 339,-296 359.45,-267.6 379.53,-234.15 395.24,-206.34"/>
-<polygon fill="none" stroke="#63b8ff" points="314.52,-321.99 310.84,-331.93 319.92,-326.46 314.52,-321.99"/>
+<path fill="none" stroke="#63b8ff" d="M317.03,-309.04C324.66,-299.78 332.15,-290.29 339,-281 358.23,-254.93 377.51,-224.56 393.02,-198.82"/>
+<polygon fill="none" stroke="#63b8ff" points="314.32,-306.83 310.61,-316.76 319.7,-311.31 314.32,-306.83"/>
 </a>
 </g>
 </g>
@@ -161,18 +159,18 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html" target="_top" xlink:title="The base ir_builder frame for the relax dialect.">
-<polygon fill="white" stroke="transparent" points="330,-585 174,-585 174,-499 330,-499 330,-585"/>
-<text text-anchor="start" x="191.5" y="-573" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="191.5" y="-562" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
-<text text-anchor="start" x="250" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="178" y="-532" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-532" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="191" y="-521" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="178" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="174,-557 174,-557 330,-557 330,-557 174,-557"/>
+<polygon fill="white" stroke="transparent" points="330,-570 174,-570 174,-484 330,-484 330,-570"/>
+<text text-anchor="start" x="191.5" y="-558" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="191.5" y="-547" font-family="Helvetica,sans-Serif" font-size="10.00">::relax::RelaxFrameNode</text>
+<text text-anchor="start" x="250" y="-532" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="178" y="-517" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-517" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="191" y="-506" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="178" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-491" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
 <polygon fill="#666666" stroke="#666666" points="174,-542 174,-542 330,-542 330,-542 174,-542"/>
-<polygon fill="none" stroke="#666666" points="174,-499 174,-585 330,-585 330,-499 174,-499"/>
+<polygon fill="#666666" stroke="#666666" points="174,-527 174,-527 330,-527 330,-527 174,-527"/>
+<polygon fill="none" stroke="#666666" points="174,-484 174,-570 330,-570 330,-484 174,-484"/>
 </a>
 </g>
 </g>
@@ -180,8 +178,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M252,-488.43C252,-480.2 252,-471.6 252,-463.14"/>
-<polygon fill="none" stroke="#63b8ff" points="248.5,-488.63 252,-498.63 255.5,-488.63 248.5,-488.63"/>
+<path fill="none" stroke="#63b8ff" d="M252,-473.43C252,-465.2 252,-456.6 252,-448.14"/>
+<polygon fill="none" stroke="#63b8ff" points="248.5,-473.63 252,-483.63 255.5,-473.63 248.5,-473.63"/>
 </a>
 </g>
 </g>
@@ -189,34 +187,34 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><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="transparent" points="330,-812 174,-812 174,-621 330,-621 330,-812"/>
-<text text-anchor="start" x="198.5" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="198.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="178" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="330,-797 174,-797 174,-606 330,-606 330,-797"/>
+<text text-anchor="start" x="198.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="198.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="178" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<text text-anchor="start" x="191" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="178" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="191" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="178" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="191" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="178" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="191" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="178" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="191" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="178" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="191" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="178" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="191" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="178" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="191" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="178" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="191" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="178" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="174,-783.5 174,-783.5 330,-783.5 330,-783.5 174,-783.5"/>
-<polygon fill="#666666" stroke="#666666" points="174,-738.5 174,-738.5 189,-738.5 189,-738.5 174,-738.5"/>
-<polygon fill="#666666" stroke="#666666" points="189,-738.5 189,-738.5 330,-738.5 330,-738.5 189,-738.5"/>
-<polygon fill="none" stroke="#666666" points="174,-621 174,-812 330,-812 330,-621 174,-621"/>
+<text text-anchor="start" x="191" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="178" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="174,-768.5 174,-768.5 330,-768.5 330,-768.5 174,-768.5"/>
+<polygon fill="#666666" stroke="#666666" points="174,-723.5 174,-723.5 189,-723.5 189,-723.5 174,-723.5"/>
+<polygon fill="#666666" stroke="#666666" points="189,-723.5 189,-723.5 330,-723.5 330,-723.5 189,-723.5"/>
+<polygon fill="none" stroke="#666666" points="174,-606 174,-797 330,-797 330,-606 174,-606"/>
 </a>
 </g>
 </g>
@@ -224,8 +222,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M252,-610.7C252,-601.73 252,-593.04 252,-585.05"/>
-<polygon fill="none" stroke="#63b8ff" points="248.5,-610.92 252,-620.92 255.5,-610.92 248.5,-610.92"/>
+<path fill="none" stroke="#63b8ff" d="M252,-595.7C252,-586.73 252,-578.04 252,-570.05"/>
+<polygon fill="none" stroke="#63b8ff" points="248.5,-595.92 252,-605.92 255.5,-595.92 248.5,-595.92"/>
 </a>
 </g>
 </g>
@@ -233,13 +231,13 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="281,-897 223,-897 223,-848 281,-848 281,-897"/>
-<text text-anchor="start" x="228" y="-884.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="250" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="281,-882 223,-882 223,-833 281,-833 281,-882"/>
+<text text-anchor="start" x="228" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="250" y="-854.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="223,-879.5 223,-879.5 281,-879.5 281,-879.5 223,-879.5"/>
+<text text-anchor="start" x="250" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="223,-864.5 223,-864.5 281,-864.5 281,-864.5 223,-864.5"/>
-<polygon fill="none" stroke="#666666" points="223,-848 223,-897 281,-897 281,-848 223,-848"/>
+<polygon fill="#666666" stroke="#666666" points="223,-849.5 223,-849.5 281,-849.5 281,-849.5 223,-849.5"/>
+<polygon fill="none" stroke="#666666" points="223,-833 223,-882 281,-882 281,-833 223,-833"/>
 </a>
 </g>
 </g>
@@ -247,8 +245,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M252,-837.72C252,-829.91 252,-821.22 252,-812.19"/>
-<polygon fill="none" stroke="#63b8ff" points="248.5,-837.77 252,-847.77 255.5,-837.78 248.5,-837.77"/>
+<path fill="none" stroke="#63b8ff" d="M252,-822.72C252,-814.91 252,-806.22 252,-797.19"/>
+<polygon fill="none" stroke="#63b8ff" points="248.5,-822.77 252,-832.77 255.5,-822.78 248.5,-822.77"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode-members.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode-members.html
index 6a29ee0c763..ae0d979498e 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode-members.html
@@ -108,9 +108,8 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html#a39cb0ad5038bf2dd3db41c856b1f1575">tvm::script::ir_builder::tirx::TIRFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.tirx.TIRFrame&quot;, TIRFrameNode, IRBuilderFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">tvm::script::ir_builder::tirx::TIRFrameNode</a></td><td class="entry"></td></tr>
   <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a05b026329132b684f964a125f90dd117">tvm::script::ir_builder::IRBuilderFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.IRBuilderFrame&quot;, IRBuilderFrameNode, ffi::Object)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html#a5e09bbe87295427a223dd2ffbbfd73c3">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(&quot;script.ir_builder.s_tir.PrimFuncFrame&quot;, PrimFuncFrameNode, tirx::PrimFuncFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::s_tir::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">type_var_map</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">ValidateAttrs</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">ValidateAttrs</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html
index 001fe08d8c1..ed5f79a5790 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html
@@ -89,12 +89,12 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::s_tir::PrimFuncFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__inherit__graph.svg" width="219" height="1207"><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_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__inherit__graph.svg" width="219" height="1187"><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::script::ir_builder::s_tir::PrimFuncFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg" width="343" height="1375"><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_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg" width="343" height="1355"><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>
@@ -156,9 +156,6 @@ Public Attributes</h2></td></tr>
 <tr class="memdesc:a17dfe65322d7dbb0121b9083ef31e8d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffers allocated in the implicit root block.  <br /></td></tr>
 <tr class="separator:a17dfe65322d7dbb0121b9083ef31e8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="inherit_header pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td></tr>
-<tr class="memitem:a0627a38db0626dfac402590dcda84f17 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode" id="r_a0627a38db0626dfac402590dcda84f17"><td class="memItemLeft" align="right" valign="top">ffi::Map&lt; ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">typ [...]
-<tr class="memdesc:a0627a38db0626dfac402590dcda84f17 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function-local symbols retained across declaration and body entry.  <br /></td></tr>
-<tr class="separator:a0627a38db0626dfac402590dcda84f17 inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa67e06212a1b0fa83e8718fb2d0cab9f inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode" id="r_aa67e06212a1b0fa83e8718fb2d0cab9f"><td class="memItemLeft" align="right" valign="top">ffi::Optional&lt; ffi::String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">name</a></td></tr>
 <tr class="memdesc:aa67e06212a1b0fa83e8718fb2d0cab9f inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode"><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the block.  <br /></td></tr>
 <tr class="separator:aa67e06212a1b0fa83e8718fb2d0cab9f inherit pub_attribs_classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode"><td class="memSeparator" colspan="2">&#160;</td></tr>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg
index b02d867ba91..0423a95b182 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__coll__graph.svg
@@ -4,9 +4,9 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::s_tir::PrimFuncFrameNode Pages: 1 -->
-<svg width="257pt" height="1031pt"
- viewBox="0.00 0.00 257.00 1031.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 1027)">
+<svg width="257pt" height="1016pt"
+ viewBox="0.00 0.00 257.00 1016.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 1012)">
 <title>tvm::script::ir_builder::s_tir::PrimFuncFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
@@ -35,50 +35,48 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html" target="_top" xlink:title="A frame that represents the PrimFunc containing TIR statements.">
-<polygon fill="white" stroke="transparent" points="156,-449 0,-449 0,-138 156,-138 156,-449"/>
-<text text-anchor="start" x="13" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="13" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
-<text text-anchor="start" x="4" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="4" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="4" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
-<text text-anchor="start" x="4" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="4" y="-350.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-350.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
-<text text-anchor="start" x="4" y="-335.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-335.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
-<text text-anchor="start" x="4" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-320.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="4" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-305.5" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
-<text text-anchor="start" x="4" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-290.5" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
-<text text-anchor="start" x="4" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
-<text text-anchor="start" x="4" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-260.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="4" y="-245.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-245.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="4" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-204.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-189.5" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
-<text text-anchor="start" x="4" y="-174.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-174.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="4" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<text text-anchor="start" x="4" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-144.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-420.5 0,-420.5 156,-420.5 156,-420.5 0,-420.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-240.5 0,-240.5 15,-240.5 15,-240.5 0,-240.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-240.5 15,-240.5 156,-240.5 156,-240.5 15,-240.5"/>
-<polygon fill="none" stroke="#666666" points="0,-138 0,-449 156,-449 156,-138 0,-138"/>
+<polygon fill="white" stroke="transparent" points="156,-434 0,-434 0,-138 156,-138 156,-434"/>
+<text text-anchor="start" x="13" y="-422" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="13" y="-411" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
+<text text-anchor="start" x="4" y="-396" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-396" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="4" y="-381" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-381" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
+<text text-anchor="start" x="4" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="4" y="-351" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-351" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
+<text text-anchor="start" x="4" y="-336" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-336" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
+<text text-anchor="start" x="4" y="-321" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-321" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="4" y="-306" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-306" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
+<text text-anchor="start" x="4" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-291" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
+<text text-anchor="start" x="4" y="-276" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-276" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
+<text text-anchor="start" x="4" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-261" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="4" y="-246" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-246" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="4" y="-231" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-231" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-220" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-205" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-190" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
+<text text-anchor="start" x="4" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-175" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="4" y="-160" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-160" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<text text-anchor="start" x="4" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-145" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-406 0,-406 156,-406 156,-406 0,-406"/>
+<polygon fill="#666666" stroke="#666666" points="0,-241 0,-241 15,-241 15,-241 0,-241"/>
+<polygon fill="#666666" stroke="#666666" points="15,-241 15,-241 156,-241 156,-241 15,-241"/>
+<polygon fill="none" stroke="#666666" points="0,-138 0,-434 156,-434 156,-138 0,-138"/>
 </a>
 </g>
 </g>
@@ -86,8 +84,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-127.59C78,-118.29 78,-109.4 78,-101.2"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-127.83 78,-137.83 81.5,-127.83 74.5,-127.83"/>
+<path fill="none" stroke="#63b8ff" d="M78,-127.6C78,-118.35 78,-109.49 78,-101.29"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-127.78 78,-137.78 81.5,-127.78 74.5,-127.78"/>
 </a>
 </g>
 </g>
@@ -95,22 +93,22 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements.">
-<polygon fill="white" stroke="transparent" points="156,-587 0,-587 0,-486 156,-486 156,-587"/>
-<text text-anchor="start" x="25.5" y="-574.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="27.5" y="-563.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
-<text text-anchor="start" x="4" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
+<polygon fill="white" stroke="transparent" points="156,-572 0,-572 0,-471 156,-471 156,-572"/>
+<text text-anchor="start" x="25.5" y="-559.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="27.5" y="-548.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
 <text text-anchor="start" x="4" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="17" y="-533.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
 <text text-anchor="start" x="4" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-558.5 0,-558.5 156,-558.5 156,-558.5 0,-558.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-543.5 0,-543.5 15,-543.5 15,-543.5 0,-543.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-543.5 15,-543.5 156,-543.5 156,-543.5 15,-543.5"/>
-<polygon fill="none" stroke="#666666" points="0,-486 0,-587 156,-587 156,-486 0,-486"/>
+<text text-anchor="start" x="17" y="-518.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="4" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-503.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-492.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-477.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-543.5 0,-543.5 156,-543.5 156,-543.5 0,-543.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-528.5 0,-528.5 15,-528.5 15,-528.5 0,-528.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-528.5 15,-528.5 156,-528.5 156,-528.5 15,-528.5"/>
+<polygon fill="none" stroke="#666666" points="0,-471 0,-572 156,-572 156,-471 0,-471"/>
 </a>
 </g>
 </g>
@@ -118,8 +116,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-475.6C78,-467.27 78,-458.42 78,-449.28"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-475.86 78,-485.86 81.5,-475.86 74.5,-475.86"/>
+<path fill="none" stroke="#63b8ff" d="M78,-460.93C78,-452.46 78,-443.45 78,-434.18"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-460.98 78,-470.98 81.5,-460.98 74.5,-460.98"/>
 </a>
 </g>
 </g>
@@ -127,32 +125,32 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><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="transparent" points="156,-800 0,-800 0,-624 156,-624 156,-800"/>
-<text text-anchor="start" x="24.5" y="-788" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="24.5" y="-777" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="4" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="156,-785 0,-785 0,-609 156,-609 156,-785"/>
+<text text-anchor="start" x="24.5" y="-773" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="24.5" y="-762" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="4" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="17" y="-747" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="4" y="-732" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-732" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-732" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="4" y="-717" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-717" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-706" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-691" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-691" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-717" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="4" y="-702" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-702" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-691" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="4" y="-676" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-676" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="17" y="-676" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="4" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="17" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="4" y="-646" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-646" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="17" y="-646" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="4" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-772 0,-772 156,-772 156,-772 0,-772"/>
-<polygon fill="#666666" stroke="#666666" points="0,-742 0,-742 15,-742 15,-742 0,-742"/>
-<polygon fill="#666666" stroke="#666666" points="15,-742 15,-742 156,-742 156,-742 15,-742"/>
-<polygon fill="none" stroke="#666666" points="0,-624 0,-800 156,-800 156,-624 0,-624"/>
+<text text-anchor="start" x="17" y="-631" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="4" y="-616" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-616" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-757 0,-757 156,-757 156,-757 0,-757"/>
+<polygon fill="#666666" stroke="#666666" points="0,-727 0,-727 15,-727 15,-727 0,-727"/>
+<polygon fill="#666666" stroke="#666666" points="15,-727 15,-727 156,-727 156,-727 15,-727"/>
+<polygon fill="none" stroke="#666666" points="0,-609 0,-785 156,-785 156,-609 0,-609"/>
 </a>
 </g>
 </g>
@@ -160,8 +158,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-613.91C78,-604.66 78,-595.56 78,-587.05"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-614 78,-624 81.5,-614 74.5,-614"/>
+<path fill="none" stroke="#63b8ff" d="M78,-598.91C78,-589.66 78,-580.56 78,-572.05"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-599 78,-609 81.5,-599 74.5,-599"/>
 </a>
 </g>
 </g>
@@ -169,13 +167,13 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="67,-916.5 9,-916.5 9,-867.5 67,-867.5 67,-916.5"/>
-<text text-anchor="start" x="14" y="-904" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="36" y="-889" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="67,-901.5 9,-901.5 9,-852.5 67,-852.5 67,-901.5"/>
+<text text-anchor="start" x="14" y="-889" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="36" y="-874" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="9,-899 9,-899 67,-899 67,-899 9,-899"/>
+<text text-anchor="start" x="36" y="-859" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="9,-884 9,-884 67,-884 67,-884 9,-884"/>
-<polygon fill="none" stroke="#666666" points="9,-867.5 9,-916.5 67,-916.5 67,-867.5 9,-867.5"/>
+<polygon fill="#666666" stroke="#666666" points="9,-869 9,-869 67,-869 67,-869 9,-869"/>
+<polygon fill="none" stroke="#666666" points="9,-852.5 9,-901.5 67,-901.5 67,-852.5 9,-852.5"/>
 </a>
 </g>
 </g>
@@ -183,8 +181,8 @@
 <g id="edge4_Node000004_Node000005" class="edge">
 <title>Node5&#45;&gt;Node4</title>
 <g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M45.58,-857.25C49.26,-840.89 53.86,-820.41 58.44,-800.06"/>
-<polygon fill="none" stroke="#63b8ff" points="42.09,-856.84 43.31,-867.36 48.92,-858.37 42.09,-856.84"/>
+<path fill="none" stroke="#63b8ff" d="M45.58,-842.25C49.26,-825.89 53.86,-805.41 58.44,-785.06"/>
+<polygon fill="none" stroke="#63b8ff" points="42.09,-841.84 43.31,-852.36 48.92,-843.37 42.09,-841.84"/>
 </a>
 </g>
 </g>
@@ -192,19 +190,19 @@
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:href="classtvm_1_1Span.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="249,-937 85,-937 85,-847 249,-847 249,-937"/>
-<text text-anchor="start" x="142" y="-925" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
-<text text-anchor="start" x="165" y="-910" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="89" y="-895" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="102" y="-895" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
+<polygon fill="white" stroke="transparent" points="249,-922 85,-922 85,-832 249,-832 249,-922"/>
+<text text-anchor="start" x="142" y="-910" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
+<text text-anchor="start" x="165" y="-895" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <text text-anchor="start" x="89" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="102" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="102" y="-880" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
 <text text-anchor="start" x="89" y="-865" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="102" y="-865" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="102" y="-854" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="85,-920 85,-920 249,-920 249,-920 85,-920"/>
+<text text-anchor="start" x="102" y="-865" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="89" y="-850" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="102" y="-850" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="102" y="-839" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 <polygon fill="#666666" stroke="#666666" points="85,-905 85,-905 249,-905 249,-905 85,-905"/>
-<polygon fill="none" stroke="#666666" points="85,-847 85,-937 249,-937 249,-847 85,-847"/>
+<polygon fill="#666666" stroke="#666666" points="85,-890 85,-890 249,-890 249,-890 85,-890"/>
+<polygon fill="none" stroke="#666666" points="85,-832 85,-922 249,-922 249,-832 85,-832"/>
 </a>
 </g>
 </g>
@@ -212,23 +210,23 @@
 <g id="edge5_Node000004_Node000006" class="edge">
 <title>Node6&#45;&gt;Node4</title>
 <g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M145,-847C139.51,-836.01 133.39,-823.78 127.15,-811.3"/>
-<polygon fill="none" stroke="#63b8ff" points="127.02,-811.03 120.76,-807.46 121.65,-800.3 127.91,-803.88 127.02,-811.03"/>
+<path fill="none" stroke="#63b8ff" d="M145,-832C139.51,-821.01 133.39,-808.78 127.15,-796.3"/>
+<polygon fill="none" stroke="#63b8ff" points="127.02,-796.03 120.76,-792.46 121.65,-785.3 127.91,-788.88 127.02,-796.03"/>
 </a>
 </g>
-<text text-anchor="middle" x="171.5" y="-821" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +source_span</text>
+<text text-anchor="middle" x="171.5" y="-806" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +source_span</text>
 </g>
 <!-- Node7 -->
 <g id="Node000007" class="node">
 <title>Node7</title>
 <g id="a_Node000007"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="204,-1023 130,-1023 130,-974 204,-974 204,-1023"/>
-<text text-anchor="start" x="135" y="-1010.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="165" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="204,-1008 130,-1008 130,-959 204,-959 204,-1008"/>
+<text text-anchor="start" x="135" y="-995.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
 <text text-anchor="start" x="165" y="-980.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="130,-1005.5 130,-1005.5 204,-1005.5 204,-1005.5 130,-1005.5"/>
+<text text-anchor="start" x="165" y="-965.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="130,-990.5 130,-990.5 204,-990.5 204,-990.5 130,-990.5"/>
-<polygon fill="none" stroke="#666666" points="130,-974 130,-1023 204,-1023 204,-974 130,-974"/>
+<polygon fill="#666666" stroke="#666666" points="130,-975.5 130,-975.5 204,-975.5 204,-975.5 130,-975.5"/>
+<polygon fill="none" stroke="#666666" points="130,-959 130,-1008 204,-1008 204,-959 130,-959"/>
 </a>
 </g>
 </g>
@@ -236,8 +234,8 @@
 <g id="edge6_Node000006_Node000007" class="edge">
 <title>Node7&#45;&gt;Node6</title>
 <g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M167,-963.59C167,-955.16 167,-946.01 167,-937.18"/>
-<polygon fill="none" stroke="#63b8ff" points="163.5,-963.79 167,-973.79 170.5,-963.79 163.5,-963.79"/>
+<path fill="none" stroke="#63b8ff" d="M167,-948.59C167,-940.16 167,-931.01 167,-922.18"/>
+<polygon fill="none" stroke="#63b8ff" points="163.5,-948.79 167,-958.79 170.5,-948.79 163.5,-948.79"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__inherit__graph.svg
index 57c0c731494..5c8ae272f05 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode__inherit__graph.svg
@@ -4,9 +4,9 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::s_tir::PrimFuncFrameNode Pages: 1 -->
-<svg width="164pt" height="905pt"
- viewBox="0.00 0.00 164.00 905.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 901)">
+<svg width="164pt" height="890pt"
+ viewBox="0.00 0.00 164.00 890.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 886)">
 <title>tvm::script::ir_builder::s_tir::PrimFuncFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
@@ -35,50 +35,48 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html" target="_top" xlink:title="A frame that represents the PrimFunc containing TIR statements.">
-<polygon fill="white" stroke="transparent" points="156,-448 0,-448 0,-137 156,-137 156,-448"/>
-<text text-anchor="start" x="13" y="-435.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="13" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
-<text text-anchor="start" x="4" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="4" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="4" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
-<text text-anchor="start" x="4" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="4" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
-<text text-anchor="start" x="4" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
-<text text-anchor="start" x="4" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="4" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
-<text text-anchor="start" x="4" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
-<text text-anchor="start" x="4" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
-<text text-anchor="start" x="4" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="4" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="4" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-218.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-203.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-203.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
-<text text-anchor="start" x="4" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="4" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<text text-anchor="start" x="4" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-419.5 0,-419.5 156,-419.5 156,-419.5 0,-419.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-239.5 0,-239.5 15,-239.5 15,-239.5 0,-239.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-239.5 15,-239.5 156,-239.5 156,-239.5 15,-239.5"/>
-<polygon fill="none" stroke="#666666" points="0,-137 0,-448 156,-448 156,-137 0,-137"/>
+<polygon fill="white" stroke="transparent" points="156,-433 0,-433 0,-137 156,-137 156,-433"/>
+<text text-anchor="start" x="13" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="13" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
+<text text-anchor="start" x="4" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="4" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
+<text text-anchor="start" x="4" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="4" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
+<text text-anchor="start" x="4" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
+<text text-anchor="start" x="4" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="4" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
+<text text-anchor="start" x="4" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
+<text text-anchor="start" x="4" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
+<text text-anchor="start" x="4" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="4" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="4" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
+<text text-anchor="start" x="4" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="4" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<text text-anchor="start" x="4" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-405 0,-405 156,-405 156,-405 0,-405"/>
+<polygon fill="#666666" stroke="#666666" points="0,-240 0,-240 15,-240 15,-240 0,-240"/>
+<polygon fill="#666666" stroke="#666666" points="15,-240 15,-240 156,-240 156,-240 15,-240"/>
+<polygon fill="none" stroke="#666666" points="0,-137 0,-433 156,-433 156,-137 0,-137"/>
 </a>
 </g>
 </g>
@@ -86,8 +84,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-126.51C78,-117.55 78,-108.97 78,-101.04"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-126.79 78,-136.79 81.5,-126.79 74.5,-126.79"/>
+<path fill="none" stroke="#63b8ff" d="M78,-126.54C78,-117.61 78,-109.06 78,-101.14"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-126.75 78,-136.75 81.5,-126.75 74.5,-126.75"/>
 </a>
 </g>
 </g>
@@ -95,22 +93,22 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements.">
-<polygon fill="white" stroke="transparent" points="156,-585 0,-585 0,-484 156,-484 156,-585"/>
-<text text-anchor="start" x="25.5" y="-572.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="27.5" y="-561.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
-<text text-anchor="start" x="4" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
+<polygon fill="white" stroke="transparent" points="156,-570 0,-570 0,-469 156,-469 156,-570"/>
+<text text-anchor="start" x="25.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="27.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
 <text text-anchor="start" x="4" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="17" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
 <text text-anchor="start" x="4" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-556.5 0,-556.5 156,-556.5 156,-556.5 0,-556.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-541.5 0,-541.5 15,-541.5 15,-541.5 0,-541.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-541.5 15,-541.5 156,-541.5 156,-541.5 15,-541.5"/>
-<polygon fill="none" stroke="#666666" points="0,-484 0,-585 156,-585 156,-484 0,-484"/>
+<text text-anchor="start" x="17" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="4" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-541.5 0,-541.5 156,-541.5 156,-541.5 0,-541.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-526.5 0,-526.5 15,-526.5 15,-526.5 0,-526.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-526.5 15,-526.5 156,-526.5 156,-526.5 15,-526.5"/>
+<polygon fill="none" stroke="#666666" points="0,-469 0,-570 156,-570 156,-469 0,-469"/>
 </a>
 </g>
 </g>
@@ -118,8 +116,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-473.55C78,-465.54 78,-457.06 78,-448.31"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-473.77 78,-483.77 81.5,-473.77 74.5,-473.77"/>
+<path fill="none" stroke="#63b8ff" d="M78,-458.87C78,-450.73 78,-442.09 78,-433.2"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-458.91 78,-468.91 81.5,-458.91 74.5,-458.91"/>
 </a>
 </g>
 </g>
@@ -127,34 +125,34 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><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="transparent" points="156,-812 0,-812 0,-621 156,-621 156,-812"/>
-<text text-anchor="start" x="24.5" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="24.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="4" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="156,-797 0,-797 0,-606 156,-606 156,-797"/>
+<text text-anchor="start" x="24.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="24.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="4" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<text text-anchor="start" x="17" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="4" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="17" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="4" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="4" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="4" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="4" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="17" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="4" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="17" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="4" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="17" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="4" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-783.5 0,-783.5 156,-783.5 156,-783.5 0,-783.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-738.5 0,-738.5 15,-738.5 15,-738.5 0,-738.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-738.5 15,-738.5 156,-738.5 156,-738.5 15,-738.5"/>
-<polygon fill="none" stroke="#666666" points="0,-621 0,-812 156,-812 156,-621 0,-621"/>
+<text text-anchor="start" x="17" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="4" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-768.5 0,-768.5 156,-768.5 156,-768.5 0,-768.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-723.5 0,-723.5 15,-723.5 15,-723.5 0,-723.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-723.5 15,-723.5 156,-723.5 156,-723.5 15,-723.5"/>
+<polygon fill="none" stroke="#666666" points="0,-606 0,-797 156,-797 156,-606 0,-606"/>
 </a>
 </g>
 </g>
@@ -162,8 +160,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-610.51C78,-601.85 78,-593.37 78,-585.42"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-610.76 78,-620.76 81.5,-610.76 74.5,-610.76"/>
+<path fill="none" stroke="#63b8ff" d="M78,-595.51C78,-586.85 78,-578.37 78,-570.42"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-595.76 78,-605.76 81.5,-595.76 74.5,-595.76"/>
 </a>
 </g>
 </g>
@@ -171,13 +169,13 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="107,-897 49,-897 49,-848 107,-848 107,-897"/>
-<text text-anchor="start" x="54" y="-884.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="76" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="107,-882 49,-882 49,-833 107,-833 107,-882"/>
+<text text-anchor="start" x="54" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="76" y="-854.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="49,-879.5 49,-879.5 107,-879.5 107,-879.5 49,-879.5"/>
+<text text-anchor="start" x="76" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="49,-864.5 49,-864.5 107,-864.5 107,-864.5 49,-864.5"/>
-<polygon fill="none" stroke="#666666" points="49,-848 49,-897 107,-897 107,-848 49,-848"/>
+<polygon fill="#666666" stroke="#666666" points="49,-849.5 49,-849.5 107,-849.5 107,-849.5 49,-849.5"/>
+<polygon fill="none" stroke="#666666" points="49,-833 49,-882 107,-882 107,-833 49,-833"/>
 </a>
 </g>
 </g>
@@ -185,8 +183,8 @@
 <g id="edge4_Node000004_Node000005" class="edge">
 <title>Node5&#45;&gt;Node4</title>
 <g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-837.72C78,-829.91 78,-821.22 78,-812.19"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-837.77 78,-847.77 81.5,-837.78 74.5,-837.77"/>
+<path fill="none" stroke="#63b8ff" d="M78,-822.72C78,-814.91 78,-806.22 78,-797.19"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-822.77 78,-832.77 81.5,-822.78 74.5,-822.77"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode-members.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode-members.html
index 14286b94b07..e6a274c938d 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode-members.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode-members.html
@@ -106,9 +106,8 @@ $(function() {
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6e598e1647e8e3dcb54de10d7a49461b">TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.tirx.PrimFuncFrame&quot;, PrimFuncFrameNode, TIRFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
   <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html#a39cb0ad5038bf2dd3db41c856b1f1575">tvm::script::ir_builder::tirx::TIRFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.tirx.TIRFrame&quot;, TIRFrameNode, IRBuilderFrameNode)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">tvm::script::ir_builder::tirx::TIRFrameNode</a></td><td class="entry"></td></tr>
   <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a05b026329132b684f964a125f90dd117">tvm::script::ir_builder::IRBuilderFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a>(&quot;script.ir_builder.IRBuilderFrame&quot;, IRBuilderFrameNode, ffi::Object)</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">type_var_map</a></td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">ValidateAttrs</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
-  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
+  <tr class="odd"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">ValidateAttrs</a>() const</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a8e61799eac4e806aef5a87d07943883d">~IRBuilderFrameNode</a>()=default</td><td class="entry"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></td><td class="entry"><span class="mlabel">virtual</span></td></tr>
 </table></div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html
index 4f2ac3d3c0a..e4d3eb124aa 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html
@@ -90,12 +90,12 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::tirx::PrimFuncFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__inherit__graph.svg" width="219" height="1207"><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_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__inherit__graph.svg" width="219" height="1187"><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::script::ir_builder::tirx::PrimFuncFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg" width="343" height="1191"><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_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg" width="343" height="1171"><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-types" name="pub-types"></a>
@@ -153,9 +153,6 @@ Static Public Member Functions</h2></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>
-<tr class="memitem:a0627a38db0626dfac402590dcda84f17" id="r_a0627a38db0626dfac402590dcda84f17"><td class="memItemLeft" align="right" valign="top">ffi::Map&lt; ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">type_var_map</a></td></tr>
-<tr class="memdesc:a0627a38db0626dfac402590dcda84f17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function-local symbols retained across declaration and body entry.  <br /></td></tr>
-<tr class="separator:a0627a38db0626dfac402590dcda84f17"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:aa67e06212a1b0fa83e8718fb2d0cab9f" id="r_aa67e06212a1b0fa83e8718fb2d0cab9f"><td class="memItemLeft" align="right" valign="top">ffi::Optional&lt; ffi::String &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">name</a></td></tr>
 <tr class="memdesc:aa67e06212a1b0fa83e8718fb2d0cab9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">The name of the block.  <br /></td></tr>
 <tr class="separator:aa67e06212a1b0fa83e8718fb2d0cab9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -572,22 +569,6 @@ Additional Inherited Members</h2></td></tr>
 
 <p>The return type of the function. </p>
 
-</div>
-</div>
-<a id="a0627a38db0626dfac402590dcda84f17" name="a0627a38db0626dfac402590dcda84f17"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a0627a38db0626dfac402590dcda84f17">&#9670;&#160;</a></span>type_var_map</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname">ffi::Map&lt;ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a>&gt; tvm::script::ir_builder::tirx::PrimFuncFrameNode::type_var_map</td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Function-local symbols retained across declaration and body entry. </p>
-
 </div>
 </div>
 <hr/>The documentation for this class was generated from the following file:<ul>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg
index 2c4990a4dec..e8e77c50ec0 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg
@@ -4,58 +4,56 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::tirx::PrimFuncFrameNode Pages: 1 -->
-<svg width="257pt" height="893pt"
- viewBox="0.00 0.00 257.00 893.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 889)">
+<svg width="257pt" height="878pt"
+ viewBox="0.00 0.00 257.00 878.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 874)">
 <title>tvm::script::ir_builder::tirx::PrimFuncFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="A frame that represents the PrimFunc containing TIR statements.">
-<polygon fill="#999999" stroke="transparent" points="156,-311 0,-311 0,0 156,0 156,-311"/>
-<text text-anchor="start" x="13" y="-298.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="13" y="-287.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
-<text text-anchor="start" x="4" y="-272.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-272.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="4" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="4" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-242.5" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
-<text text-anchor="start" x="4" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-227.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="4" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-212.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
-<text text-anchor="start" x="4" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
-<text text-anchor="start" x="4" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-182.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="4" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-167.5" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
-<text text-anchor="start" x="4" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
-<text text-anchor="start" x="4" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-137.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
-<text text-anchor="start" x="4" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-122.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="4" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="4" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-92.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-81.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-66.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-66.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
-<text text-anchor="start" x="4" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-36.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="4" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-21.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<text text-anchor="start" x="4" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-6.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-282.5 0,-282.5 156,-282.5 156,-282.5 0,-282.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-102.5 0,-102.5 15,-102.5 15,-102.5 0,-102.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-102.5 15,-102.5 156,-102.5 156,-102.5 15,-102.5"/>
-<polygon fill="none" stroke="#666666" points="0,0 0,-311 156,-311 156,0 0,0"/>
+<polygon fill="#999999" stroke="transparent" points="156,-296 0,-296 0,0 156,0 156,-296"/>
+<text text-anchor="start" x="13" y="-284" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="13" y="-273" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
+<text text-anchor="start" x="4" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-258" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="4" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-243" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
+<text text-anchor="start" x="4" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-228" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="4" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-213" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
+<text text-anchor="start" x="4" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-198" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
+<text text-anchor="start" x="4" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-183" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="4" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-168" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
+<text text-anchor="start" x="4" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-153" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
+<text text-anchor="start" x="4" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-138" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
+<text text-anchor="start" x="4" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-123" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="4" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-108" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="4" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-93" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-82" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-67" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-67" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
+<text text-anchor="start" x="4" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-37" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="4" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-22" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<text text-anchor="start" x="4" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-268 0,-268 156,-268 156,-268 0,-268"/>
+<polygon fill="#666666" stroke="#666666" points="0,-103 0,-103 15,-103 15,-103 0,-103"/>
+<polygon fill="#666666" stroke="#666666" points="15,-103 15,-103 156,-103 156,-103 15,-103"/>
+<polygon fill="none" stroke="#666666" points="0,0 0,-296 156,-296 156,0 0,0"/>
 </a>
 </g>
 </g>
@@ -63,22 +61,22 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements.">
-<polygon fill="white" stroke="transparent" points="156,-449 0,-449 0,-348 156,-348 156,-449"/>
-<text text-anchor="start" x="25.5" y="-436.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="27.5" y="-425.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
-<text text-anchor="start" x="4" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
+<polygon fill="white" stroke="transparent" points="156,-434 0,-434 0,-333 156,-333 156,-434"/>
+<text text-anchor="start" x="25.5" y="-421.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="27.5" y="-410.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
 <text text-anchor="start" x="4" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="17" y="-395.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
 <text text-anchor="start" x="4" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-369.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-420.5 0,-420.5 156,-420.5 156,-420.5 0,-420.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-405.5 0,-405.5 15,-405.5 15,-405.5 0,-405.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-405.5 15,-405.5 156,-405.5 156,-405.5 15,-405.5"/>
-<polygon fill="none" stroke="#666666" points="0,-348 0,-449 156,-449 156,-348 0,-348"/>
+<text text-anchor="start" x="17" y="-380.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="4" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-365.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-354.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-339.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-339.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-405.5 0,-405.5 156,-405.5 156,-405.5 0,-405.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-390.5 0,-390.5 15,-390.5 15,-390.5 0,-390.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-390.5 15,-390.5 156,-390.5 156,-390.5 15,-390.5"/>
+<polygon fill="none" stroke="#666666" points="0,-333 0,-434 156,-434 156,-333 0,-333"/>
 </a>
 </g>
 </g>
@@ -86,8 +84,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-337.6C78,-329.27 78,-320.42 78,-311.28"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-337.86 78,-347.86 81.5,-337.86 74.5,-337.86"/>
+<path fill="none" stroke="#63b8ff" d="M78,-322.93C78,-314.46 78,-305.45 78,-296.18"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-322.98 78,-332.98 81.5,-322.98 74.5,-322.98"/>
 </a>
 </g>
 </g>
@@ -95,32 +93,32 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><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="transparent" points="156,-662 0,-662 0,-486 156,-486 156,-662"/>
-<text text-anchor="start" x="24.5" y="-650" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="24.5" y="-639" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="4" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="156,-647 0,-647 0,-471 156,-471 156,-647"/>
+<text text-anchor="start" x="24.5" y="-635" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="24.5" y="-624" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="4" y="-609" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-609" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="17" y="-609" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="4" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-594" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="4" y="-579" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-579" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-568" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-553" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-553" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-579" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="4" y="-564" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-564" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-553" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="4" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="17" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="4" y="-523" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-523" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="17" y="-523" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="4" y="-508" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-508" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="17" y="-508" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="4" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-634 0,-634 156,-634 156,-634 0,-634"/>
-<polygon fill="#666666" stroke="#666666" points="0,-604 0,-604 15,-604 15,-604 0,-604"/>
-<polygon fill="#666666" stroke="#666666" points="15,-604 15,-604 156,-604 156,-604 15,-604"/>
-<polygon fill="none" stroke="#666666" points="0,-486 0,-662 156,-662 156,-486 0,-486"/>
+<text text-anchor="start" x="17" y="-493" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="4" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-619 0,-619 156,-619 156,-619 0,-619"/>
+<polygon fill="#666666" stroke="#666666" points="0,-589 0,-589 15,-589 15,-589 0,-589"/>
+<polygon fill="#666666" stroke="#666666" points="15,-589 15,-589 156,-589 156,-589 15,-589"/>
+<polygon fill="none" stroke="#666666" points="0,-471 0,-647 156,-647 156,-471 0,-471"/>
 </a>
 </g>
 </g>
@@ -128,8 +126,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-475.91C78,-466.66 78,-457.56 78,-449.05"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-476 78,-486 81.5,-476 74.5,-476"/>
+<path fill="none" stroke="#63b8ff" d="M78,-460.91C78,-451.66 78,-442.56 78,-434.05"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-461 78,-471 81.5,-461 74.5,-461"/>
 </a>
 </g>
 </g>
@@ -137,13 +135,13 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="67,-778.5 9,-778.5 9,-729.5 67,-729.5 67,-778.5"/>
-<text text-anchor="start" x="14" y="-766" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="36" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="67,-763.5 9,-763.5 9,-714.5 67,-714.5 67,-763.5"/>
+<text text-anchor="start" x="14" y="-751" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="36" y="-736" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="9,-761 9,-761 67,-761 67,-761 9,-761"/>
+<text text-anchor="start" x="36" y="-721" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="9,-746 9,-746 67,-746 67,-746 9,-746"/>
-<polygon fill="none" stroke="#666666" points="9,-729.5 9,-778.5 67,-778.5 67,-729.5 9,-729.5"/>
+<polygon fill="#666666" stroke="#666666" points="9,-731 9,-731 67,-731 67,-731 9,-731"/>
+<polygon fill="none" stroke="#666666" points="9,-714.5 9,-763.5 67,-763.5 67,-714.5 9,-714.5"/>
 </a>
 </g>
 </g>
@@ -151,8 +149,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M45.58,-719.25C49.26,-702.89 53.86,-682.41 58.44,-662.06"/>
-<polygon fill="none" stroke="#63b8ff" points="42.09,-718.84 43.31,-729.36 48.92,-720.37 42.09,-718.84"/>
+<path fill="none" stroke="#63b8ff" d="M45.58,-704.25C49.26,-687.89 53.86,-667.41 58.44,-647.06"/>
+<polygon fill="none" stroke="#63b8ff" points="42.09,-703.84 43.31,-714.36 48.92,-705.37 42.09,-703.84"/>
 </a>
 </g>
 </g>
@@ -160,19 +158,19 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:href="classtvm_1_1Span.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="249,-799 85,-799 85,-709 249,-709 249,-799"/>
-<text text-anchor="start" x="142" y="-787" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
-<text text-anchor="start" x="165" y="-772" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="89" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="102" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
+<polygon fill="white" stroke="transparent" points="249,-784 85,-784 85,-694 249,-694 249,-784"/>
+<text text-anchor="start" x="142" y="-772" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::Span</text>
+<text text-anchor="start" x="165" y="-757" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <text text-anchor="start" x="89" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="102" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="102" y="-742" font-family="Helvetica,sans-Serif" font-size="10.00">Span()</text>
 <text text-anchor="start" x="89" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="102" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
-<text text-anchor="start" x="102" y="-716" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
-<polygon fill="#666666" stroke="#666666" points="85,-782 85,-782 249,-782 249,-782 85,-782"/>
+<text text-anchor="start" x="102" y="-727" font-family="Helvetica,sans-Serif" font-size="10.00">Merge()</text>
+<text text-anchor="start" x="89" y="-712" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="102" y="-712" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DEFINE_OBJECT</text>
+<text text-anchor="start" x="102" y="-701" font-family="Helvetica,sans-Serif" font-size="10.00">_REF_METHODS_NULLABLE()</text>
 <polygon fill="#666666" stroke="#666666" points="85,-767 85,-767 249,-767 249,-767 85,-767"/>
-<polygon fill="none" stroke="#666666" points="85,-709 85,-799 249,-799 249,-709 85,-709"/>
+<polygon fill="#666666" stroke="#666666" points="85,-752 85,-752 249,-752 249,-752 85,-752"/>
+<polygon fill="none" stroke="#666666" points="85,-694 85,-784 249,-784 249,-694 85,-694"/>
 </a>
 </g>
 </g>
@@ -180,23 +178,23 @@
 <g id="edge4_Node000003_Node000005" class="edge">
 <title>Node5&#45;&gt;Node3</title>
 <g id="a_edge4_Node000003_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M145,-709C139.51,-698.01 133.39,-685.78 127.15,-673.3"/>
-<polygon fill="none" stroke="#63b8ff" points="127.02,-673.03 120.76,-669.46 121.65,-662.3 127.91,-665.88 127.02,-673.03"/>
+<path fill="none" stroke="#63b8ff" d="M145,-694C139.51,-683.01 133.39,-670.78 127.15,-658.3"/>
+<polygon fill="none" stroke="#63b8ff" points="127.02,-658.03 120.76,-654.46 121.65,-647.3 127.91,-650.88 127.02,-658.03"/>
 </a>
 </g>
-<text text-anchor="middle" x="171.5" y="-683" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +source_span</text>
+<text text-anchor="middle" x="171.5" y="-668" font-family="Helvetica,sans-Serif" font-size="10.00" fill="grey"> +source_span</text>
 </g>
 <!-- Node6 -->
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="204,-885 130,-885 130,-836 204,-836 204,-885"/>
-<text text-anchor="start" x="135" y="-872.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
-<text text-anchor="start" x="165" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="204,-870 130,-870 130,-821 204,-821 204,-870"/>
+<text text-anchor="start" x="135" y="-857.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::ObjectRef</text>
 <text text-anchor="start" x="165" y="-842.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="130,-867.5 130,-867.5 204,-867.5 204,-867.5 130,-867.5"/>
+<text text-anchor="start" x="165" y="-827.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="130,-852.5 130,-852.5 204,-852.5 204,-852.5 130,-852.5"/>
-<polygon fill="none" stroke="#666666" points="130,-836 130,-885 204,-885 204,-836 130,-836"/>
+<polygon fill="#666666" stroke="#666666" points="130,-837.5 130,-837.5 204,-837.5 204,-837.5 130,-837.5"/>
+<polygon fill="none" stroke="#666666" points="130,-821 130,-870 204,-870 204,-821 130,-821"/>
 </a>
 </g>
 </g>
@@ -204,8 +202,8 @@
 <g id="edge5_Node000005_Node000006" class="edge">
 <title>Node6&#45;&gt;Node5</title>
 <g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M167,-825.59C167,-817.16 167,-808.01 167,-799.18"/>
-<polygon fill="none" stroke="#63b8ff" points="163.5,-825.79 167,-835.79 170.5,-825.79 163.5,-825.79"/>
+<path fill="none" stroke="#63b8ff" d="M167,-810.59C167,-802.16 167,-793.01 167,-784.18"/>
+<polygon fill="none" stroke="#63b8ff" points="163.5,-810.79 167,-820.79 170.5,-810.79 163.5,-810.79"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__inherit__graph.svg
index 2bd38a11c14..11d290b2d78 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode__inherit__graph.svg
@@ -4,58 +4,56 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::tirx::PrimFuncFrameNode Pages: 1 -->
-<svg width="164pt" height="905pt"
- viewBox="0.00 0.00 164.00 905.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 901)">
+<svg width="164pt" height="890pt"
+ viewBox="0.00 0.00 164.00 890.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 886)">
 <title>tvm::script::ir_builder::tirx::PrimFuncFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="A frame that represents the PrimFunc containing TIR statements.">
-<polygon fill="#999999" stroke="transparent" points="156,-448 0,-448 0,-137 156,-137 156,-448"/>
-<text text-anchor="start" x="13" y="-435.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="13" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
-<text text-anchor="start" x="4" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="4" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="4" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
-<text text-anchor="start" x="4" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="4" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
-<text text-anchor="start" x="4" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
-<text text-anchor="start" x="4" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="4" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
-<text text-anchor="start" x="4" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
-<text text-anchor="start" x="4" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
-<text text-anchor="start" x="4" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="4" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="4" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-218.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-203.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-203.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
-<text text-anchor="start" x="4" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="4" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<text text-anchor="start" x="4" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-419.5 0,-419.5 156,-419.5 156,-419.5 0,-419.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-239.5 0,-239.5 15,-239.5 15,-239.5 0,-239.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-239.5 15,-239.5 156,-239.5 156,-239.5 15,-239.5"/>
-<polygon fill="none" stroke="#666666" points="0,-137 0,-448 156,-448 156,-137 0,-137"/>
+<polygon fill="#999999" stroke="transparent" points="156,-433 0,-433 0,-137 156,-137 156,-433"/>
+<text text-anchor="start" x="13" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="13" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
+<text text-anchor="start" x="4" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="4" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
+<text text-anchor="start" x="4" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="4" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
+<text text-anchor="start" x="4" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
+<text text-anchor="start" x="4" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="4" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
+<text text-anchor="start" x="4" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
+<text text-anchor="start" x="4" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
+<text text-anchor="start" x="4" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="4" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="4" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="4" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
+<text text-anchor="start" x="4" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="4" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<text text-anchor="start" x="4" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-405 0,-405 156,-405 156,-405 0,-405"/>
+<polygon fill="#666666" stroke="#666666" points="0,-240 0,-240 15,-240 15,-240 0,-240"/>
+<polygon fill="#666666" stroke="#666666" points="15,-240 15,-240 156,-240 156,-240 15,-240"/>
+<polygon fill="none" stroke="#666666" points="0,-137 0,-433 156,-433 156,-137 0,-137"/>
 </a>
 </g>
 </g>
@@ -86,8 +84,8 @@
 <g id="edge4_Node000001_Node000005" class="edge">
 <title>Node1&#45;&gt;Node5</title>
 <g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-126.51C78,-117.55 78,-108.97 78,-101.04"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-126.79 78,-136.79 81.5,-126.79 74.5,-126.79"/>
+<path fill="none" stroke="#63b8ff" d="M78,-126.54C78,-117.61 78,-109.06 78,-101.14"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-126.75 78,-136.75 81.5,-126.75 74.5,-126.75"/>
 </a>
 </g>
 </g>
@@ -95,22 +93,22 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html" target="_top" xlink:title="A base frame that represents the TIR fame with body of statements.">
-<polygon fill="white" stroke="transparent" points="156,-585 0,-585 0,-484 156,-484 156,-585"/>
-<text text-anchor="start" x="25.5" y="-572.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="27.5" y="-561.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
-<text text-anchor="start" x="4" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
+<polygon fill="white" stroke="transparent" points="156,-570 0,-570 0,-469 156,-469 156,-570"/>
+<text text-anchor="start" x="25.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="27.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
 <text text-anchor="start" x="4" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="17" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
 <text text-anchor="start" x="4" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-556.5 0,-556.5 156,-556.5 156,-556.5 0,-556.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-541.5 0,-541.5 15,-541.5 15,-541.5 0,-541.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-541.5 15,-541.5 156,-541.5 156,-541.5 15,-541.5"/>
-<polygon fill="none" stroke="#666666" points="0,-484 0,-585 156,-585 156,-484 0,-484"/>
+<text text-anchor="start" x="17" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="4" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="4" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-541.5 0,-541.5 156,-541.5 156,-541.5 0,-541.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-526.5 0,-526.5 15,-526.5 15,-526.5 0,-526.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-526.5 15,-526.5 156,-526.5 156,-526.5 15,-526.5"/>
+<polygon fill="none" stroke="#666666" points="0,-469 0,-570 156,-570 156,-469 0,-469"/>
 </a>
 </g>
 </g>
@@ -118,8 +116,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-473.55C78,-465.54 78,-457.06 78,-448.31"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-473.77 78,-483.77 81.5,-473.77 74.5,-473.77"/>
+<path fill="none" stroke="#63b8ff" d="M78,-458.87C78,-450.73 78,-442.09 78,-433.2"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-458.91 78,-468.91 81.5,-458.91 74.5,-458.91"/>
 </a>
 </g>
 </g>
@@ -127,34 +125,34 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><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="transparent" points="156,-812 0,-812 0,-621 156,-621 156,-812"/>
-<text text-anchor="start" x="24.5" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="24.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="4" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="156,-797 0,-797 0,-606 156,-606 156,-797"/>
+<text text-anchor="start" x="24.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="24.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="4" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<text text-anchor="start" x="17" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="4" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="17" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="4" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="4" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="4" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="17" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="4" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="4" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="17" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="4" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="17" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="4" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="17" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="4" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-783.5 0,-783.5 156,-783.5 156,-783.5 0,-783.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-738.5 0,-738.5 15,-738.5 15,-738.5 0,-738.5"/>
-<polygon fill="#666666" stroke="#666666" points="15,-738.5 15,-738.5 156,-738.5 156,-738.5 15,-738.5"/>
-<polygon fill="none" stroke="#666666" points="0,-621 0,-812 156,-812 156,-621 0,-621"/>
+<text text-anchor="start" x="17" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="4" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-768.5 0,-768.5 156,-768.5 156,-768.5 0,-768.5"/>
+<polygon fill="#666666" stroke="#666666" points="0,-723.5 0,-723.5 15,-723.5 15,-723.5 0,-723.5"/>
+<polygon fill="#666666" stroke="#666666" points="15,-723.5 15,-723.5 156,-723.5 156,-723.5 15,-723.5"/>
+<polygon fill="none" stroke="#666666" points="0,-606 0,-797 156,-797 156,-606 0,-606"/>
 </a>
 </g>
 </g>
@@ -162,8 +160,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-610.51C78,-601.85 78,-593.37 78,-585.42"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-610.76 78,-620.76 81.5,-610.76 74.5,-610.76"/>
+<path fill="none" stroke="#63b8ff" d="M78,-595.51C78,-586.85 78,-578.37 78,-570.42"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-595.76 78,-605.76 81.5,-595.76 74.5,-595.76"/>
 </a>
 </g>
 </g>
@@ -171,13 +169,13 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="107,-897 49,-897 49,-848 107,-848 107,-897"/>
-<text text-anchor="start" x="54" y="-884.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="76" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="107,-882 49,-882 49,-833 107,-833 107,-882"/>
+<text text-anchor="start" x="54" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="76" y="-854.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="49,-879.5 49,-879.5 107,-879.5 107,-879.5 49,-879.5"/>
+<text text-anchor="start" x="76" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="49,-864.5 49,-864.5 107,-864.5 107,-864.5 49,-864.5"/>
-<polygon fill="none" stroke="#666666" points="49,-848 49,-897 107,-897 107,-848 49,-848"/>
+<polygon fill="#666666" stroke="#666666" points="49,-849.5 49,-849.5 107,-849.5 107,-849.5 49,-849.5"/>
+<polygon fill="none" stroke="#666666" points="49,-833 49,-882 107,-882 107,-833 49,-833"/>
 </a>
 </g>
 </g>
@@ -185,8 +183,8 @@
 <g id="edge3_Node000003_Node000004" class="edge">
 <title>Node4&#45;&gt;Node3</title>
 <g id="a_edge3_Node000003_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M78,-837.72C78,-829.91 78,-821.22 78,-812.19"/>
-<polygon fill="none" stroke="#63b8ff" points="74.5,-837.77 78,-847.77 81.5,-837.78 74.5,-837.77"/>
+<path fill="none" stroke="#63b8ff" d="M78,-822.72C78,-814.91 78,-806.22 78,-797.19"/>
+<polygon fill="none" stroke="#63b8ff" points="74.5,-822.77 78,-832.77 81.5,-822.78 74.5,-822.77"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html
index dbf24c458d2..41b2ed9a282 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html
@@ -89,7 +89,7 @@ $(function() {
 <div class="dynheader">
 Inheritance diagram for tvm::script::ir_builder::tirx::TIRFrameNode:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode__inherit__graph.svg" width="3014" height="1207"><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_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode__inherit__graph.svg" width="3014" height="1187"><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::script::ir_builder::tirx::TIRFrameNode:</div>
diff --git a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode__inherit__graph.svg b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode__inherit__graph.svg
index b63e8db49c3..632e3189cbb 100644
--- a/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode__inherit__graph.svg
+++ b/docs/reference/api/doxygen/classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode__inherit__graph.svg
@@ -4,30 +4,30 @@
 <!-- Generated by graphviz version 2.43.0 (0)
  -->
 <!-- Title: tvm::script::ir_builder::tirx::TIRFrameNode Pages: 1 -->
-<svg width="2260pt" height="905pt"
- viewBox="0.00 0.00 2260.00 905.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 901)">
+<svg width="2260pt" height="890pt"
+ viewBox="0.00 0.00 2260.00 890.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 886)">
 <title>tvm::script::ir_builder::tirx::TIRFrameNode</title>
 <!-- Node1 -->
 <g id="Node000001" class="node">
 <title>Node1</title>
 <g id="a_Node000001"><a xlink:title="A base frame that represents the TIR fame with body of statements.">
-<polygon fill="#999999" stroke="transparent" points="1200,-585 1044,-585 1044,-484 1200,-484 1200,-585"/>
-<text text-anchor="start" x="1069.5" y="-572.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1071.5" y="-561.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
-<text text-anchor="start" x="1048" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
+<polygon fill="#999999" stroke="transparent" points="1200,-570 1044,-570 1044,-469 1200,-469 1200,-570"/>
+<text text-anchor="start" x="1069.5" y="-557.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1071.5" y="-546.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::TIRFrameNode</text>
 <text text-anchor="start" x="1048" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="1061" y="-531.5" font-family="Helvetica,sans-Serif" font-size="10.00">stmts</text>
 <text text-anchor="start" x="1048" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1061" y="-505.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="1048" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1044,-556.5 1044,-556.5 1200,-556.5 1200,-556.5 1044,-556.5"/>
-<polygon fill="#666666" stroke="#666666" points="1044,-541.5 1044,-541.5 1059,-541.5 1059,-541.5 1044,-541.5"/>
-<polygon fill="#666666" stroke="#666666" points="1059,-541.5 1059,-541.5 1200,-541.5 1200,-541.5 1059,-541.5"/>
-<polygon fill="none" stroke="#666666" points="1044,-484 1044,-585 1200,-585 1200,-484 1044,-484"/>
+<text text-anchor="start" x="1061" y="-516.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="1048" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-501.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1061" y="-490.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="1048" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-475.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1044,-541.5 1044,-541.5 1200,-541.5 1200,-541.5 1044,-541.5"/>
+<polygon fill="#666666" stroke="#666666" points="1044,-526.5 1044,-526.5 1059,-526.5 1059,-526.5 1044,-526.5"/>
+<polygon fill="#666666" stroke="#666666" points="1059,-526.5 1059,-526.5 1200,-526.5 1200,-526.5 1059,-526.5"/>
+<polygon fill="none" stroke="#666666" points="1044,-469 1044,-570 1200,-570 1200,-469 1044,-469"/>
 </a>
 </g>
 </g>
@@ -35,22 +35,22 @@
 <g id="Node000004" class="node">
 <title>Node4</title>
 <g id="a_Node000004"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1BlockInitFrameNode.html" target="_top" xlink:title="A frame that represents the block initialization statment.">
-<polygon fill="white" stroke="transparent" points="156,-350.5 0,-350.5 0,-234.5 156,-234.5 156,-350.5"/>
-<text text-anchor="start" x="11.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="11.5" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::BlockInitFrameNode</text>
-<text text-anchor="start" x="76" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="4" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="17" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="4" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="4" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="4" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="17" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="0,-322.5 0,-322.5 156,-322.5 156,-322.5 0,-322.5"/>
-<polygon fill="#666666" stroke="#666666" points="0,-307.5 0,-307.5 156,-307.5 156,-307.5 0,-307.5"/>
-<polygon fill="none" stroke="#666666" points="0,-234.5 0,-350.5 156,-350.5 156,-234.5 0,-234.5"/>
+<polygon fill="white" stroke="transparent" points="156,-343 0,-343 0,-227 156,-227 156,-343"/>
+<text text-anchor="start" x="11.5" y="-331" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="11.5" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::BlockInitFrameNode</text>
+<text text-anchor="start" x="76" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="4" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="17" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="17" y="-279" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</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">EnterWithScope()</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">ExitWithScope()</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">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="0,-315 0,-315 156,-315 156,-315 0,-315"/>
+<polygon fill="#666666" stroke="#666666" points="0,-300 0,-300 156,-300 156,-300 0,-300"/>
+<polygon fill="none" stroke="#666666" points="0,-227 0,-343 156,-343 156,-227 0,-227"/>
 </a>
 </g>
 </g>
@@ -58,8 +58,8 @@
 <g id="edge3_Node000001_Node000004" class="edge">
 <title>Node1&#45;&gt;Node4</title>
 <g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1033.67,-530.27C810.58,-521.46 237.02,-494.52 165,-448 130.61,-425.79 108.47,-384.95 95.14,-350.84"/>
-<polygon fill="none" stroke="#63b8ff" points="1033.57,-533.77 1043.7,-530.66 1033.85,-526.78 1033.57,-533.77"/>
+<path fill="none" stroke="#63b8ff" d="M1033.73,-515.18C810.77,-506.16 237.51,-478.74 165,-433 132.52,-412.51 110.64,-375.13 96.94,-343.2"/>
+<polygon fill="none" stroke="#63b8ff" points="1033.62,-518.68 1043.76,-515.58 1033.9,-511.68 1033.62,-518.68"/>
 </a>
 </g>
 </g>
@@ -67,44 +67,44 @@
 <g id="Node000005" class="node">
 <title>Node5</title>
 <g id="a_Node000005"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrameNode.html" target="_top" xlink:title="A frame that represents the block.">
-<polygon fill="white" stroke="transparent" points="330,-425.5 174,-425.5 174,-159.5 330,-159.5 330,-425.5"/>
-<text text-anchor="start" x="190.5" y="-413.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="190.5" y="-402.5" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::SBlockFrameNode</text>
-<text text-anchor="start" x="178" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-387.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="178" y="-372.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-372.5" font-family="Helvetica,sans-Serif" font-size="10.00">iter_vars</text>
-<text text-anchor="start" x="178" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00">reads</text>
-<text text-anchor="start" x="178" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00">writes</text>
-<text text-anchor="start" x="178" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">init</text>
-<text text-anchor="start" x="178" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">alloc_buffers</text>
-<text text-anchor="start" x="178" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">match_buffers</text>
-<text text-anchor="start" x="178" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">annotations</text>
-<text text-anchor="start" x="178" y="-267.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-267.5" font-family="Helvetica,sans-Serif" font-size="10.00">iter_values</text>
-<text text-anchor="start" x="178" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-252.5" font-family="Helvetica,sans-Serif" font-size="10.00">predicate</text>
-<text text-anchor="start" x="178" y="-237.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-237.5" font-family="Helvetica,sans-Serif" font-size="10.00">no_realize</text>
-<text text-anchor="start" x="178" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-222.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="191" y="-211.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="178" y="-196.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-196.5" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
-<text text-anchor="start" x="178" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="178" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="191" y="-166.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="174,-397.5 174,-397.5 330,-397.5 330,-397.5 174,-397.5"/>
-<polygon fill="#666666" stroke="#666666" points="174,-232.5 174,-232.5 189,-232.5 189,-232.5 174,-232.5"/>
-<polygon fill="#666666" stroke="#666666" points="189,-232.5 189,-232.5 330,-232.5 330,-232.5 189,-232.5"/>
-<polygon fill="none" stroke="#666666" points="174,-159.5 174,-425.5 330,-425.5 330,-159.5 174,-159.5"/>
+<polygon fill="white" stroke="transparent" points="330,-418 174,-418 174,-152 330,-152 330,-418"/>
+<text text-anchor="start" x="190.5" y="-406" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="190.5" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">::s_tir::SBlockFrameNode</text>
+<text text-anchor="start" x="178" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="178" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">iter_vars</text>
+<text text-anchor="start" x="178" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">reads</text>
+<text text-anchor="start" x="178" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">writes</text>
+<text text-anchor="start" x="178" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">init</text>
+<text text-anchor="start" x="178" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">alloc_buffers</text>
+<text text-anchor="start" x="178" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">match_buffers</text>
+<text text-anchor="start" x="178" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">annotations</text>
+<text text-anchor="start" x="178" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">iter_values</text>
+<text text-anchor="start" x="178" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">predicate</text>
+<text text-anchor="start" x="178" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">no_realize</text>
+<text text-anchor="start" x="178" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="191" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="178" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">BindBufferRegion()</text>
+<text text-anchor="start" x="178" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="178" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="191" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="174,-390 174,-390 330,-390 330,-390 174,-390"/>
+<polygon fill="#666666" stroke="#666666" points="174,-225 174,-225 189,-225 189,-225 174,-225"/>
+<polygon fill="#666666" stroke="#666666" points="189,-225 189,-225 330,-225 330,-225 189,-225"/>
+<polygon fill="none" stroke="#666666" points="174,-152 174,-418 330,-418 330,-152 174,-152"/>
 </a>
 </g>
 </g>
@@ -112,8 +112,8 @@
 <g id="edge4_Node000001_Node000005" class="edge">
 <title>Node1&#45;&gt;Node5</title>
 <g id="a_edge4_Node000001_Node000005"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1033.44,-533.79C853.19,-532.8 451.24,-522.07 339,-448 329.62,-441.81 321.15,-434.25 313.52,-425.82"/>
-<polygon fill="none" stroke="#63b8ff" points="1033.67,-537.29 1043.68,-533.83 1033.7,-530.29 1033.67,-537.29"/>
+<path fill="none" stroke="#63b8ff" d="M1033.57,-518.59C853.56,-517.23 452.03,-505.86 339,-433 332.27,-428.66 325.99,-423.6 320.15,-418.03"/>
+<polygon fill="none" stroke="#63b8ff" points="1033.78,-522.09 1043.8,-518.66 1033.82,-515.09 1033.78,-522.09"/>
 </a>
 </g>
 </g>
@@ -121,26 +121,26 @@
 <g id="Node000006" class="node">
 <title>Node6</title>
 <g id="a_Node000006"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html" target="_top" xlink:title="A frame that represents the assert statement. Proceeds if the condition is true, otherwise aborts wit...">
-<polygon fill="white" stroke="transparent" points="504,-358 348,-358 348,-227 504,-227 504,-358"/>
-<text text-anchor="start" x="368" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="368" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AssertFrameNode</text>
-<text text-anchor="start" x="352" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="352" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">error_kind</text>
-<text text-anchor="start" x="352" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">message_parts</text>
-<text text-anchor="start" x="352" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="365" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="352" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="352" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="365" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="348,-329.5 348,-329.5 504,-329.5 504,-329.5 348,-329.5"/>
-<polygon fill="#666666" stroke="#666666" points="348,-284.5 348,-284.5 363,-284.5 363,-284.5 348,-284.5"/>
-<polygon fill="#666666" stroke="#666666" points="363,-284.5 363,-284.5 504,-284.5 504,-284.5 363,-284.5"/>
-<polygon fill="none" stroke="#666666" points="348,-227 348,-358 504,-358 504,-227 348,-227"/>
+<polygon fill="white" stroke="transparent" points="504,-350.5 348,-350.5 348,-219.5 504,-219.5 504,-350.5"/>
+<text text-anchor="start" x="368" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="368" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AssertFrameNode</text>
+<text text-anchor="start" x="352" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="352" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">error_kind</text>
+<text text-anchor="start" x="352" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">message_parts</text>
+<text text-anchor="start" x="352" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="365" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="352" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="352" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="365" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="348,-322 348,-322 504,-322 504,-322 348,-322"/>
+<polygon fill="#666666" stroke="#666666" points="348,-277 348,-277 363,-277 363,-277 348,-277"/>
+<polygon fill="#666666" stroke="#666666" points="363,-277 363,-277 504,-277 504,-277 363,-277"/>
+<polygon fill="none" stroke="#666666" points="348,-219.5 348,-350.5 504,-350.5 504,-219.5 348,-219.5"/>
 </a>
 </g>
 </g>
@@ -148,8 +148,8 @@
 <g id="edge5_Node000001_Node000006" class="edge">
 <title>Node1&#45;&gt;Node6</title>
 <g id="a_edge5_Node000001_Node000006"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1033.44,-530.58C885.44,-524.16 595.9,-504.56 513,-448 481.85,-426.75 460.59,-390.46 446.89,-358.39"/>
-<polygon fill="none" stroke="#63b8ff" points="1033.71,-534.09 1043.85,-531.02 1034,-527.1 1033.71,-534.09"/>
+<path fill="none" stroke="#63b8ff" d="M1033.57,-515.39C885.77,-508.68 596.5,-488.66 513,-433 483.76,-413.51 462.95,-380.56 449.03,-350.8"/>
+<polygon fill="none" stroke="#63b8ff" points="1033.82,-518.9 1043.96,-515.85 1034.13,-511.91 1033.82,-518.9"/>
 </a>
 </g>
 </g>
@@ -157,26 +157,26 @@
 <g id="Node000007" class="node">
 <title>Node7</title>
 <g id="a_Node000007"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html" target="_top" xlink:title="A frame that represents attribute node.">
-<polygon fill="white" stroke="transparent" points="678,-358 522,-358 522,-227 678,-227 678,-358"/>
-<text text-anchor="start" x="547.5" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="548.5" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AttrFrameNode</text>
-<text text-anchor="start" x="526" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="539" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">node</text>
-<text text-anchor="start" x="526" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="539" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
-<text text-anchor="start" x="526" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="539" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">value</text>
-<text text-anchor="start" x="526" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="539" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="539" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="526" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="539" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="526" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="539" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="522,-329.5 522,-329.5 678,-329.5 678,-329.5 522,-329.5"/>
-<polygon fill="#666666" stroke="#666666" points="522,-284.5 522,-284.5 537,-284.5 537,-284.5 522,-284.5"/>
-<polygon fill="#666666" stroke="#666666" points="537,-284.5 537,-284.5 678,-284.5 678,-284.5 537,-284.5"/>
-<polygon fill="none" stroke="#666666" points="522,-227 522,-358 678,-358 678,-227 522,-227"/>
+<polygon fill="white" stroke="transparent" points="678,-350.5 522,-350.5 522,-219.5 678,-219.5 678,-350.5"/>
+<text text-anchor="start" x="547.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="548.5" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::AttrFrameNode</text>
+<text text-anchor="start" x="526" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="539" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">node</text>
+<text text-anchor="start" x="526" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="539" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
+<text text-anchor="start" x="526" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="539" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">value</text>
+<text text-anchor="start" x="526" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="539" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="539" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="526" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="539" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="526" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="539" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="522,-322 522,-322 678,-322 678,-322 522,-322"/>
+<polygon fill="#666666" stroke="#666666" points="522,-277 522,-277 537,-277 537,-277 522,-277"/>
+<polygon fill="#666666" stroke="#666666" points="537,-277 537,-277 678,-277 678,-277 537,-277"/>
+<polygon fill="none" stroke="#666666" points="522,-219.5 522,-350.5 678,-350.5 678,-219.5 522,-219.5"/>
 </a>
 </g>
 </g>
@@ -184,8 +184,8 @@
 <g id="edge6_Node000001_Node000007" class="edge">
 <title>Node1&#45;&gt;Node7</title>
 <g id="a_edge6_Node000001_Node000007"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1033.53,-524.89C922.86,-512.65 741.28,-487.25 687,-448 656.57,-426 635.38,-389.88 621.54,-358.09"/>
-<polygon fill="none" stroke="#63b8ff" points="1033.36,-528.39 1043.68,-526 1034.12,-521.44 1033.36,-528.39"/>
+<path fill="none" stroke="#63b8ff" d="M1033.66,-509.71C923.13,-497.28 741.7,-471.66 687,-433 658.54,-412.89 637.88,-380.27 623.85,-350.86"/>
+<polygon fill="none" stroke="#63b8ff" points="1033.47,-513.21 1043.79,-510.84 1034.24,-506.26 1033.47,-513.21"/>
 </a>
 </g>
 </g>
@@ -193,26 +193,26 @@
 <g id="Node000008" class="node">
 <title>Node8</title>
 <g id="a_Node000008"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html" target="_top" xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="852,-358 696,-358 696,-227 852,-227 852,-358"/>
-<text text-anchor="start" x="706" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="706" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::DeclBufferFrameNode</text>
-<text text-anchor="start" x="700" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="713" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer</text>
-<text text-anchor="start" x="700" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="713" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">data</text>
-<text text-anchor="start" x="700" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="713" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">allocated</text>
-<text text-anchor="start" x="700" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="713" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="713" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="700" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="713" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="700" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="713" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="696,-329.5 696,-329.5 852,-329.5 852,-329.5 696,-329.5"/>
-<polygon fill="#666666" stroke="#666666" points="696,-284.5 696,-284.5 711,-284.5 711,-284.5 696,-284.5"/>
-<polygon fill="#666666" stroke="#666666" points="711,-284.5 711,-284.5 852,-284.5 852,-284.5 711,-284.5"/>
-<polygon fill="none" stroke="#666666" points="696,-227 696,-358 852,-358 852,-227 696,-227"/>
+<polygon fill="white" stroke="transparent" points="852,-350.5 696,-350.5 696,-219.5 852,-219.5 852,-350.5"/>
+<text text-anchor="start" x="706" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="706" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::DeclBufferFrameNode</text>
+<text text-anchor="start" x="700" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="713" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">buffer</text>
+<text text-anchor="start" x="700" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="713" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">data</text>
+<text text-anchor="start" x="700" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="713" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">allocated</text>
+<text text-anchor="start" x="700" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="713" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="713" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="700" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="713" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="700" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="713" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="696,-322 696,-322 852,-322 852,-322 696,-322"/>
+<polygon fill="#666666" stroke="#666666" points="696,-277 696,-277 711,-277 711,-277 696,-277"/>
+<polygon fill="#666666" stroke="#666666" points="711,-277 711,-277 852,-277 852,-277 711,-277"/>
+<polygon fill="none" stroke="#666666" points="696,-219.5 696,-350.5 852,-350.5 852,-219.5 696,-219.5"/>
 </a>
 </g>
 </g>
@@ -220,8 +220,8 @@
 <g id="edge7_Node000001_Node000008" class="edge">
 <title>Node1&#45;&gt;Node8</title>
 <g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1033.93,-521.29C979.25,-509.96 910.27,-488.44 861,-448 832.45,-424.56 811.55,-389.15 797.4,-358.14"/>
-<polygon fill="none" stroke="#63b8ff" points="1033.47,-524.77 1043.96,-523.29 1034.84,-517.9 1033.47,-524.77"/>
+<path fill="none" stroke="#63b8ff" d="M1033.93,-505.86C979.42,-494.37 910.62,-472.84 861,-433 834.29,-411.56 813.97,-379.54 799.72,-350.86"/>
+<polygon fill="none" stroke="#63b8ff" points="1033.44,-509.34 1043.94,-507.9 1034.84,-502.48 1033.44,-509.34"/>
 </a>
 </g>
 </g>
@@ -229,22 +229,22 @@
 <g id="Node000009" class="node">
 <title>Node9</title>
 <g id="a_Node000009"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html" target="_top" xlink:title="A frame that represents else.">
-<polygon fill="white" stroke="transparent" points="1026,-350.5 870,-350.5 870,-234.5 1026,-234.5 1026,-350.5"/>
-<text text-anchor="start" x="895" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="895" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ElseFrameNode</text>
-<text text-anchor="start" x="946" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="874" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="887" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="887" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="874" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="887" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="874" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="887" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="874" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="887" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="870,-322.5 870,-322.5 1026,-322.5 1026,-322.5 870,-322.5"/>
-<polygon fill="#666666" stroke="#666666" points="870,-307.5 870,-307.5 1026,-307.5 1026,-307.5 870,-307.5"/>
-<polygon fill="none" stroke="#666666" points="870,-234.5 870,-350.5 1026,-350.5 1026,-234.5 870,-234.5"/>
+<polygon fill="white" stroke="transparent" points="1026,-343 870,-343 870,-227 1026,-227 1026,-343"/>
+<text text-anchor="start" x="895" y="-331" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="895" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ElseFrameNode</text>
+<text text-anchor="start" x="946" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="874" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="887" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="887" y="-279" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="874" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="887" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="874" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="887" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="874" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="887" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="870,-315 870,-315 1026,-315 1026,-315 870,-315"/>
+<polygon fill="#666666" stroke="#666666" points="870,-300 870,-300 1026,-300 1026,-300 870,-300"/>
+<polygon fill="none" stroke="#666666" points="870,-227 870,-343 1026,-343 1026,-227 870,-227"/>
 </a>
 </g>
 </g>
@@ -252,8 +252,8 @@
 <g id="edge8_Node000001_Node000009" class="edge">
 <title>Node1&#45;&gt;Node9</title>
 <g id="a_edge8_Node000001_Node000009"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1059.59,-476.49C1050.9,-467.34 1042.42,-457.69 1035,-448 1011.89,-417.82 990.83,-380.8 975.22,-350.56"/>
-<polygon fill="none" stroke="#63b8ff" points="1057.12,-478.97 1066.6,-483.71 1062.15,-474.09 1057.12,-478.97"/>
+<path fill="none" stroke="#63b8ff" d="M1059.78,-461.34C1051.06,-452.22 1042.52,-442.6 1035,-433 1013.15,-405.1 992.75,-371.21 977.19,-343.01"/>
+<polygon fill="none" stroke="#63b8ff" points="1057.31,-463.83 1066.8,-468.55 1062.33,-458.95 1057.31,-463.83"/>
 </a>
 </g>
 </g>
@@ -261,30 +261,30 @@
 <g id="Node000010" class="node">
 <title>Node10</title>
 <g id="a_Node000010"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html" target="_top" xlink:title="A frame that represents the for loop.">
-<polygon fill="white" stroke="transparent" points="1200,-373 1044,-373 1044,-212 1200,-212 1200,-373"/>
-<text text-anchor="start" x="1069.5" y="-360.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1072" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ForFrameNode</text>
-<text text-anchor="start" x="1048" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">vars</text>
-<text text-anchor="start" x="1048" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">doms</text>
-<text text-anchor="start" x="1048" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">steps</text>
-<text text-anchor="start" x="1048" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">f_make_for_loop</text>
-<text text-anchor="start" x="1048" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1061" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1048" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">SetNames()</text>
-<text text-anchor="start" x="1048" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1048" y="-218.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-218.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1044,-344.5 1044,-344.5 1200,-344.5 1200,-344.5 1044,-344.5"/>
-<polygon fill="#666666" stroke="#666666" points="1044,-284.5 1044,-284.5 1059,-284.5 1059,-284.5 1044,-284.5"/>
-<polygon fill="#666666" stroke="#666666" points="1059,-284.5 1059,-284.5 1200,-284.5 1200,-284.5 1059,-284.5"/>
-<polygon fill="none" stroke="#666666" points="1044,-212 1044,-373 1200,-373 1200,-212 1044,-212"/>
+<polygon fill="white" stroke="transparent" points="1200,-365.5 1044,-365.5 1044,-204.5 1200,-204.5 1200,-365.5"/>
+<text text-anchor="start" x="1069.5" y="-353" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1072" y="-342" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ForFrameNode</text>
+<text text-anchor="start" x="1048" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">vars</text>
+<text text-anchor="start" x="1048" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">doms</text>
+<text text-anchor="start" x="1048" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">steps</text>
+<text text-anchor="start" x="1048" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">f_make_for_loop</text>
+<text text-anchor="start" x="1048" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1061" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1048" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">SetNames()</text>
+<text text-anchor="start" x="1048" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1048" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-211" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1044,-337 1044,-337 1200,-337 1200,-337 1044,-337"/>
+<polygon fill="#666666" stroke="#666666" points="1044,-277 1044,-277 1059,-277 1059,-277 1044,-277"/>
+<polygon fill="#666666" stroke="#666666" points="1059,-277 1059,-277 1200,-277 1200,-277 1059,-277"/>
+<polygon fill="none" stroke="#666666" points="1044,-204.5 1044,-365.5 1200,-365.5 1200,-204.5 1044,-204.5"/>
 </a>
 </g>
 </g>
@@ -292,8 +292,8 @@
 <g id="edge9_Node000001_Node000010" class="edge">
 <title>Node1&#45;&gt;Node10</title>
 <g id="a_edge9_Node000001_Node000010"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1122,-473.77C1122,-443.43 1122,-406.16 1122,-373.4"/>
-<polygon fill="none" stroke="#63b8ff" points="1118.5,-473.77 1122,-483.77 1125.5,-473.77 1118.5,-473.77"/>
+<path fill="none" stroke="#63b8ff" d="M1122,-458.76C1122,-430.44 1122,-396.2 1122,-365.7"/>
+<polygon fill="none" stroke="#63b8ff" points="1118.5,-458.91 1122,-468.91 1125.5,-458.91 1118.5,-458.91"/>
 </a>
 </g>
 </g>
@@ -301,24 +301,24 @@
 <g id="Node000011" class="node">
 <title>Node11</title>
 <g id="a_Node000011"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html" target="_top" xlink:title="A frame that represents a hint directive for the sketch language.">
-<polygon fill="white" stroke="transparent" points="1374,-350.5 1218,-350.5 1218,-234.5 1374,-234.5 1374,-350.5"/>
-<text text-anchor="start" x="1243" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1243" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::HintFrameNode</text>
-<text text-anchor="start" x="1222" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1235" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00">message</text>
-<text text-anchor="start" x="1222" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1235" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="1222" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1235" y="-282.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1235" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1222" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1235" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1222" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1235" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1218,-322.5 1218,-322.5 1374,-322.5 1374,-322.5 1218,-322.5"/>
-<polygon fill="#666666" stroke="#666666" points="1218,-292.5 1218,-292.5 1233,-292.5 1233,-292.5 1218,-292.5"/>
-<polygon fill="#666666" stroke="#666666" points="1233,-292.5 1233,-292.5 1374,-292.5 1374,-292.5 1233,-292.5"/>
-<polygon fill="none" stroke="#666666" points="1218,-234.5 1218,-350.5 1374,-350.5 1374,-234.5 1218,-234.5"/>
+<polygon fill="white" stroke="transparent" points="1374,-343 1218,-343 1218,-227 1374,-227 1374,-343"/>
+<text text-anchor="start" x="1243" y="-331" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1243" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::HintFrameNode</text>
+<text text-anchor="start" x="1222" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1235" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">message</text>
+<text text-anchor="start" x="1222" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1235" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="1222" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1235" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1235" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1222" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1235" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1222" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1235" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1218,-315 1218,-315 1374,-315 1374,-315 1218,-315"/>
+<polygon fill="#666666" stroke="#666666" points="1218,-285 1218,-285 1233,-285 1233,-285 1218,-285"/>
+<polygon fill="#666666" stroke="#666666" points="1233,-285 1233,-285 1374,-285 1374,-285 1233,-285"/>
+<polygon fill="none" stroke="#666666" points="1218,-227 1218,-343 1374,-343 1374,-227 1218,-227"/>
 </a>
 </g>
 </g>
@@ -326,8 +326,8 @@
 <g id="edge10_Node000001_Node000011" class="edge">
 <title>Node1&#45;&gt;Node11</title>
 <g id="a_edge10_Node000001_Node000011"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1184.41,-476.49C1193.1,-467.34 1201.58,-457.69 1209,-448 1232.11,-417.82 1253.17,-380.8 1268.78,-350.56"/>
-<polygon fill="none" stroke="#63b8ff" points="1181.85,-474.09 1177.4,-483.71 1186.88,-478.97 1181.85,-474.09"/>
+<path fill="none" stroke="#63b8ff" d="M1184.22,-461.34C1192.94,-452.22 1201.48,-442.6 1209,-433 1230.85,-405.1 1251.25,-371.21 1266.81,-343.01"/>
+<polygon fill="none" stroke="#63b8ff" points="1181.67,-458.95 1177.2,-468.55 1186.69,-463.83 1181.67,-458.95"/>
 </a>
 </g>
 </g>
@@ -335,26 +335,26 @@
 <g id="Node000012" class="node">
 <title>Node12</title>
 <g id="a_Node000012"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html" target="_top" xlink:title="A frame that represents if statement.">
-<polygon fill="white" stroke="transparent" points="1548,-358 1392,-358 1392,-227 1548,-227 1548,-358"/>
-<text text-anchor="start" x="1417.5" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1424" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::IfFrameNode</text>
-<text text-anchor="start" x="1396" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1409" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="1396" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1409" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">then_stmts</text>
-<text text-anchor="start" x="1396" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1409" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">else_stmts</text>
-<text text-anchor="start" x="1396" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1409" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1409" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1396" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1409" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1396" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1409" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1392,-329.5 1392,-329.5 1548,-329.5 1548,-329.5 1392,-329.5"/>
-<polygon fill="#666666" stroke="#666666" points="1392,-284.5 1392,-284.5 1407,-284.5 1407,-284.5 1392,-284.5"/>
-<polygon fill="#666666" stroke="#666666" points="1407,-284.5 1407,-284.5 1548,-284.5 1548,-284.5 1407,-284.5"/>
-<polygon fill="none" stroke="#666666" points="1392,-227 1392,-358 1548,-358 1548,-227 1392,-227"/>
+<polygon fill="white" stroke="transparent" points="1548,-350.5 1392,-350.5 1392,-219.5 1548,-219.5 1548,-350.5"/>
+<text text-anchor="start" x="1417.5" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1424" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::IfFrameNode</text>
+<text text-anchor="start" x="1396" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1409" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="1396" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1409" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">then_stmts</text>
+<text text-anchor="start" x="1396" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1409" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">else_stmts</text>
+<text text-anchor="start" x="1396" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1409" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1409" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1396" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1409" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1396" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1409" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1392,-322 1392,-322 1548,-322 1548,-322 1392,-322"/>
+<polygon fill="#666666" stroke="#666666" points="1392,-277 1392,-277 1407,-277 1407,-277 1392,-277"/>
+<polygon fill="#666666" stroke="#666666" points="1407,-277 1407,-277 1548,-277 1548,-277 1407,-277"/>
+<polygon fill="none" stroke="#666666" points="1392,-219.5 1392,-350.5 1548,-350.5 1548,-219.5 1392,-219.5"/>
 </a>
 </g>
 </g>
@@ -362,8 +362,8 @@
 <g id="edge11_Node000001_Node000012" class="edge">
 <title>Node1&#45;&gt;Node12</title>
 <g id="a_edge11_Node000001_Node000012"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1210.07,-521.29C1264.75,-509.96 1333.73,-488.44 1383,-448 1411.55,-424.56 1432.45,-389.15 1446.6,-358.14"/>
-<polygon fill="none" stroke="#63b8ff" points="1209.16,-517.9 1200.04,-523.29 1210.53,-524.77 1209.16,-517.9"/>
+<path fill="none" stroke="#63b8ff" d="M1210.07,-505.86C1264.58,-494.37 1333.38,-472.84 1383,-433 1409.71,-411.56 1430.03,-379.54 1444.28,-350.86"/>
+<polygon fill="none" stroke="#63b8ff" points="1209.16,-502.48 1200.06,-507.9 1210.56,-509.34 1209.16,-502.48"/>
 </a>
 </g>
 </g>
@@ -371,26 +371,26 @@
 <g id="Node000013" class="node">
 <title>Node13</title>
 <g id="a_Node000013"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html" target="_top" xlink:title="The LaunchThreadFrameNode.">
-<polygon fill="white" stroke="transparent" points="1730,-358 1566,-358 1566,-227 1730,-227 1730,-358"/>
-<text text-anchor="start" x="1571" y="-345.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1571" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::LaunchThreadFrameNode</text>
-<text text-anchor="start" x="1572" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1587" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">extent</text>
-<text text-anchor="start" x="1572" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1587" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
-<text text-anchor="start" x="1572" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1587" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">iter_var</text>
-<text text-anchor="start" x="1572" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1587" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1587" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1572" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1587" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1572" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1587" y="-233.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1566,-329.5 1566,-329.5 1730,-329.5 1730,-329.5 1566,-329.5"/>
-<polygon fill="#666666" stroke="#666666" points="1566,-284.5 1566,-284.5 1585,-284.5 1585,-284.5 1566,-284.5"/>
-<polygon fill="#666666" stroke="#666666" points="1585,-284.5 1585,-284.5 1730,-284.5 1730,-284.5 1585,-284.5"/>
-<polygon fill="none" stroke="#666666" points="1566,-227 1566,-358 1730,-358 1730,-227 1566,-227"/>
+<polygon fill="white" stroke="transparent" points="1730,-350.5 1566,-350.5 1566,-219.5 1730,-219.5 1730,-350.5"/>
+<text text-anchor="start" x="1571" y="-338" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1571" y="-327" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::LaunchThreadFrameNode</text>
+<text text-anchor="start" x="1572" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1587" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">extent</text>
+<text text-anchor="start" x="1572" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1587" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">attr_key</text>
+<text text-anchor="start" x="1572" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1587" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">iter_var</text>
+<text text-anchor="start" x="1572" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1587" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1587" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1572" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1587" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1572" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1587" y="-226" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1566,-322 1566,-322 1730,-322 1730,-322 1566,-322"/>
+<polygon fill="#666666" stroke="#666666" points="1566,-277 1566,-277 1585,-277 1585,-277 1566,-277"/>
+<polygon fill="#666666" stroke="#666666" points="1585,-277 1585,-277 1730,-277 1730,-277 1585,-277"/>
+<polygon fill="none" stroke="#666666" points="1566,-219.5 1566,-350.5 1730,-350.5 1730,-219.5 1566,-219.5"/>
 </a>
 </g>
 </g>
@@ -398,8 +398,8 @@
 <g id="edge12_Node000001_Node000013" class="edge">
 <title>Node1&#45;&gt;Node13</title>
 <g id="a_edge12_Node000001_Node000013"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1210.36,-524.73C1320.9,-512.31 1502.34,-486.72 1557,-448 1587.99,-426.05 1610.11,-389.93 1624.78,-358.13"/>
-<polygon fill="none" stroke="#63b8ff" points="1209.77,-521.27 1200.22,-525.85 1210.54,-528.23 1209.77,-521.27"/>
+<path fill="none" stroke="#63b8ff" d="M1210.23,-509.54C1320.63,-496.93 1501.91,-471.11 1557,-433 1586.13,-412.85 1607.74,-380.04 1622.57,-350.53"/>
+<polygon fill="none" stroke="#63b8ff" points="1209.64,-506.09 1200.1,-510.69 1210.43,-513.04 1209.64,-506.09"/>
 </a>
 </g>
 </g>
@@ -407,50 +407,48 @@
 <g id="Node000014" class="node">
 <title>Node14</title>
 <g id="a_Node000014"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html" target="_top" xlink:title="A frame that represents the PrimFunc containing TIR statements.">
-<polygon fill="white" stroke="transparent" points="1904,-448 1748,-448 1748,-137 1904,-137 1904,-448"/>
-<text text-anchor="start" x="1761" y="-435.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1761" y="-424.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
-<text text-anchor="start" x="1752" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00">type_var_map</text>
-<text text-anchor="start" x="1752" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-394.5" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
-<text text-anchor="start" x="1752" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-379.5" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
-<text text-anchor="start" x="1752" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-364.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
-<text text-anchor="start" x="1752" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-349.5" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
-<text text-anchor="start" x="1752" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-334.5" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
-<text text-anchor="start" x="1752" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
-<text text-anchor="start" x="1752" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
-<text text-anchor="start" x="1752" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
-<text text-anchor="start" x="1752" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-274.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
-<text text-anchor="start" x="1752" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-259.5" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
-<text text-anchor="start" x="1752" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-244.5" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
-<text text-anchor="start" x="1752" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-229.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1765" y="-218.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="1752" y="-203.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-203.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1752" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-188.5" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
-<text text-anchor="start" x="1752" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
-<text text-anchor="start" x="1752" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-158.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<text text-anchor="start" x="1752" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1765" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
-<polygon fill="#666666" stroke="#666666" points="1748,-419.5 1748,-419.5 1904,-419.5 1904,-419.5 1748,-419.5"/>
-<polygon fill="#666666" stroke="#666666" points="1748,-239.5 1748,-239.5 1763,-239.5 1763,-239.5 1748,-239.5"/>
-<polygon fill="#666666" stroke="#666666" points="1763,-239.5 1763,-239.5 1904,-239.5 1904,-239.5 1763,-239.5"/>
-<polygon fill="none" stroke="#666666" points="1748,-137 1748,-448 1904,-448 1904,-137 1748,-137"/>
+<polygon fill="white" stroke="transparent" points="1904,-433 1748,-433 1748,-137 1904,-137 1904,-433"/>
+<text text-anchor="start" x="1761" y="-421" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1761" y="-410" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::PrimFuncFrameNode</text>
+<text text-anchor="start" x="1752" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-395" font-family="Helvetica,sans-Serif" font-size="10.00">name</text>
+<text text-anchor="start" x="1752" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-380" font-family="Helvetica,sans-Serif" font-size="10.00">args</text>
+<text text-anchor="start" x="1752" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-365" font-family="Helvetica,sans-Serif" font-size="10.00">is_private</text>
+<text text-anchor="start" x="1752" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-350" font-family="Helvetica,sans-Serif" font-size="10.00">ret_type</text>
+<text text-anchor="start" x="1752" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">buffer_map</text>
+<text text-anchor="start" x="1752" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">attrs</text>
+<text text-anchor="start" x="1752" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00">env_threads</text>
+<text text-anchor="start" x="1752" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">persistent</text>
+<text text-anchor="start" x="1752" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-275" font-family="Helvetica,sans-Serif" font-size="10.00">is_declaration</text>
+<text text-anchor="start" x="1752" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-260" font-family="Helvetica,sans-Serif" font-size="10.00">function</text>
+<text text-anchor="start" x="1752" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-245" font-family="Helvetica,sans-Serif" font-size="10.00">global_var</text>
+<text text-anchor="start" x="1752" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-230" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1765" y="-219" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
+<text text-anchor="start" x="1752" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-204" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1752" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-189" font-family="Helvetica,sans-Serif" font-size="10.00">ValidateAttrs()</text>
+<text text-anchor="start" x="1752" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-174" font-family="Helvetica,sans-Serif" font-size="10.00">FinalizeFunction()</text>
+<text text-anchor="start" x="1752" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-159" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<text text-anchor="start" x="1752" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1765" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterAttrValidator()</text>
+<polygon fill="#666666" stroke="#666666" points="1748,-405 1748,-405 1904,-405 1904,-405 1748,-405"/>
+<polygon fill="#666666" stroke="#666666" points="1748,-240 1748,-240 1763,-240 1763,-240 1748,-240"/>
+<polygon fill="#666666" stroke="#666666" points="1763,-240 1763,-240 1904,-240 1904,-240 1763,-240"/>
+<polygon fill="none" stroke="#666666" points="1748,-137 1748,-433 1904,-433 1904,-137 1748,-137"/>
 </a>
 </g>
 </g>
@@ -458,8 +456,8 @@
 <g id="edge13_Node000001_Node000014" class="edge">
 <title>Node1&#45;&gt;Node14</title>
 <g id="a_edge13_Node000001_Node000014"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1210.1,-530.78C1359.53,-524.64 1654.68,-505.42 1739,-448 1742.05,-445.92 1745.01,-443.7 1747.88,-441.35"/>
-<polygon fill="none" stroke="#63b8ff" points="1209.89,-527.29 1200.04,-531.19 1210.17,-534.28 1209.89,-527.29"/>
+<path fill="none" stroke="#63b8ff" d="M1210.27,-515.58C1359.59,-509.14 1654.12,-489.47 1739,-433 1742.09,-430.95 1745.08,-428.74 1747.98,-426.41"/>
+<polygon fill="none" stroke="#63b8ff" points="1210.05,-512.09 1200.21,-516 1210.34,-519.08 1210.05,-512.09"/>
 </a>
 </g>
 </g>
@@ -467,22 +465,22 @@
 <g id="Node000016" class="node">
 <title>Node16</title>
 <g id="a_Node000016"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html" target="_top" xlink:title="A frame that represents then.">
-<polygon fill="white" stroke="transparent" points="2078,-350.5 1922,-350.5 1922,-234.5 2078,-234.5 2078,-350.5"/>
-<text text-anchor="start" x="1945.5" y="-338.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1945.5" y="-327.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ThenFrameNode</text>
-<text text-anchor="start" x="1998" y="-312.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<text text-anchor="start" x="1926" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1939" y="-297.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1939" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="1926" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1939" y="-271.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
-<text text-anchor="start" x="1926" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1939" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="1926" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1939" y="-241.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1922,-322.5 1922,-322.5 2078,-322.5 2078,-322.5 1922,-322.5"/>
-<polygon fill="#666666" stroke="#666666" points="1922,-307.5 1922,-307.5 2078,-307.5 2078,-307.5 1922,-307.5"/>
-<polygon fill="none" stroke="#666666" points="1922,-234.5 1922,-350.5 2078,-350.5 2078,-234.5 1922,-234.5"/>
+<polygon fill="white" stroke="transparent" points="2078,-343 1922,-343 1922,-227 2078,-227 2078,-343"/>
+<text text-anchor="start" x="1945.5" y="-331" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1945.5" y="-320" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::ThenFrameNode</text>
+<text text-anchor="start" x="1998" y="-305" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<text text-anchor="start" x="1926" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1939" y="-290" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1939" y="-279" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="1926" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1939" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="1926" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1939" y="-249" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1926" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1939" y="-234" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1922,-315 1922,-315 2078,-315 2078,-315 1922,-315"/>
+<polygon fill="#666666" stroke="#666666" points="1922,-300 1922,-300 2078,-300 2078,-300 1922,-300"/>
+<polygon fill="none" stroke="#666666" points="1922,-227 1922,-343 2078,-343 2078,-227 1922,-227"/>
 </a>
 </g>
 </g>
@@ -490,8 +488,8 @@
 <g id="edge15_Node000001_Node000016" class="edge">
 <title>Node1&#45;&gt;Node16</title>
 <g id="a_edge15_Node000001_Node000016"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1210.17,-533.9C1391.62,-533.16 1799.32,-522.94 1913,-448 1947.18,-425.47 1969.33,-384.65 1982.72,-350.62"/>
-<polygon fill="none" stroke="#63b8ff" points="1210.11,-530.4 1200.12,-533.94 1210.13,-537.4 1210.11,-530.4"/>
+<path fill="none" stroke="#63b8ff" d="M1210.04,-518.71C1391.25,-517.6 1798.52,-506.71 1913,-433 1945.17,-412.29 1967.01,-375.13 1980.76,-343.35"/>
+<polygon fill="none" stroke="#63b8ff" points="1209.99,-515.21 1200.01,-518.76 1210.03,-522.21 1209.99,-515.21"/>
 </a>
 </g>
 </g>
@@ -499,22 +497,22 @@
 <g id="Node000017" class="node">
 <title>Node17</title>
 <g id="a_Node000017"><a xlink:href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html" target="_top" xlink:title="A frame that represents while loop.">
-<polygon fill="white" stroke="transparent" points="2252,-343 2096,-343 2096,-242 2252,-242 2252,-343"/>
-<text text-anchor="start" x="2117.5" y="-330.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="2117.5" y="-319.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::WhileFrameNode</text>
-<text text-anchor="start" x="2100" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2113" y="-304.5" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
-<text text-anchor="start" x="2100" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2113" y="-289.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="2113" y="-278.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
-<text text-anchor="start" x="2100" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2113" y="-263.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
-<text text-anchor="start" x="2100" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="2113" y="-248.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="2096,-314.5 2096,-314.5 2252,-314.5 2252,-314.5 2096,-314.5"/>
-<polygon fill="#666666" stroke="#666666" points="2096,-299.5 2096,-299.5 2111,-299.5 2111,-299.5 2096,-299.5"/>
-<polygon fill="#666666" stroke="#666666" points="2111,-299.5 2111,-299.5 2252,-299.5 2252,-299.5 2111,-299.5"/>
-<polygon fill="none" stroke="#666666" points="2096,-242 2096,-343 2252,-343 2252,-242 2096,-242"/>
+<polygon fill="white" stroke="transparent" points="2252,-335.5 2096,-335.5 2096,-234.5 2252,-234.5 2252,-335.5"/>
+<text text-anchor="start" x="2117.5" y="-323" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="2117.5" y="-312" font-family="Helvetica,sans-Serif" font-size="10.00">::tirx::WhileFrameNode</text>
+<text text-anchor="start" x="2100" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2113" y="-297" font-family="Helvetica,sans-Serif" font-size="10.00">condition</text>
+<text text-anchor="start" x="2100" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2113" y="-282" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="2113" y="-271" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO_FINAL()</text>
+<text text-anchor="start" x="2100" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2113" y="-256" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="2100" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="2113" y="-241" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="2096,-307 2096,-307 2252,-307 2252,-307 2096,-307"/>
+<polygon fill="#666666" stroke="#666666" points="2096,-292 2096,-292 2111,-292 2111,-292 2096,-292"/>
+<polygon fill="#666666" stroke="#666666" points="2111,-292 2111,-292 2252,-292 2252,-292 2111,-292"/>
+<polygon fill="none" stroke="#666666" points="2096,-234.5 2096,-335.5 2252,-335.5 2252,-234.5 2096,-234.5"/>
 </a>
 </g>
 </g>
@@ -522,8 +520,8 @@
 <g id="edge16_Node000001_Node000017" class="edge">
 <title>Node1&#45;&gt;Node17</title>
 <g id="a_edge16_Node000001_Node000017"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1210.26,-530.34C1434.63,-521.67 2014.28,-494.93 2087,-448 2123.99,-424.13 2146.8,-378.72 2159.73,-343.28"/>
-<polygon fill="none" stroke="#63b8ff" points="1210.03,-526.85 1200.17,-530.73 1210.3,-533.85 1210.03,-526.85"/>
+<path fill="none" stroke="#63b8ff" d="M1210.2,-515.25C1434.44,-506.36 2013.78,-479.15 2087,-433 2122.12,-410.86 2144.85,-368.97 2158.23,-335.56"/>
+<polygon fill="none" stroke="#63b8ff" points="1209.97,-511.76 1200.12,-515.65 1210.25,-518.75 1209.97,-511.76"/>
 </a>
 </g>
 </g>
@@ -531,34 +529,34 @@
 <g id="Node000002" class="node">
 <title>Node2</title>
 <g id="a_Node000002"><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="transparent" points="1200,-812 1044,-812 1044,-621 1200,-621 1200,-812"/>
-<text text-anchor="start" x="1068.5" y="-799.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
-<text text-anchor="start" x="1068.5" y="-788.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
-<text text-anchor="start" x="1048" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
+<polygon fill="white" stroke="transparent" points="1200,-797 1044,-797 1044,-606 1200,-606 1200,-797"/>
+<text text-anchor="start" x="1068.5" y="-784.5" font-family="Helvetica,sans-Serif" font-size="10.00">tvm::script::ir_builder</text>
+<text text-anchor="start" x="1068.5" y="-773.5" font-family="Helvetica,sans-Serif" font-size="10.00">::IRBuilderFrameNode</text>
 <text text-anchor="start" x="1048" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
+<text text-anchor="start" x="1061" y="-758.5" font-family="Helvetica,sans-Serif" font-size="10.00">callbacks</text>
 <text text-anchor="start" x="1048" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
+<text text-anchor="start" x="1061" y="-743.5" font-family="Helvetica,sans-Serif" font-size="10.00">source_span</text>
 <text text-anchor="start" x="1048" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="1061" y="-728.5" font-family="Helvetica,sans-Serif" font-size="10.00">_type_mutable</text>
 <text text-anchor="start" x="1048" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
-<text text-anchor="start" x="1061" y="-702.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
-<text text-anchor="start" x="1048" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
+<text text-anchor="start" x="1061" y="-713.5" font-family="Helvetica,sans-Serif" font-size="10.00">IRBuilderFrameNode()</text>
+<text text-anchor="start" x="1048" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-698.5" font-family="Helvetica,sans-Serif" font-size="10.00">TVM_FFI_DECLARE_OBJECT</text>
+<text text-anchor="start" x="1061" y="-687.5" font-family="Helvetica,sans-Serif" font-size="10.00">_INFO()</text>
 <text text-anchor="start" x="1048" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
+<text text-anchor="start" x="1061" y="-672.5" font-family="Helvetica,sans-Serif" font-size="10.00">~IRBuilderFrameNode()</text>
 <text text-anchor="start" x="1048" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
+<text text-anchor="start" x="1061" y="-657.5" font-family="Helvetica,sans-Serif" font-size="10.00">EnterWithScope()</text>
 <text text-anchor="start" x="1048" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="1061" y="-642.5" font-family="Helvetica,sans-Serif" font-size="10.00">ExitWithScope()</text>
 <text text-anchor="start" x="1048" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
-<text text-anchor="start" x="1061" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
-<polygon fill="#666666" stroke="#666666" points="1044,-783.5 1044,-783.5 1200,-783.5 1200,-783.5 1044,-783.5"/>
-<polygon fill="#666666" stroke="#666666" points="1044,-738.5 1044,-738.5 1059,-738.5 1059,-738.5 1044,-738.5"/>
-<polygon fill="#666666" stroke="#666666" points="1059,-738.5 1059,-738.5 1200,-738.5 1200,-738.5 1059,-738.5"/>
-<polygon fill="none" stroke="#666666" points="1044,-621 1044,-812 1200,-812 1200,-621 1044,-621"/>
+<text text-anchor="start" x="1061" y="-627.5" font-family="Helvetica,sans-Serif" font-size="10.00">AddCallback()</text>
+<text text-anchor="start" x="1048" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
+<text text-anchor="start" x="1061" y="-612.5" font-family="Helvetica,sans-Serif" font-size="10.00">RegisterReflection()</text>
+<polygon fill="#666666" stroke="#666666" points="1044,-768.5 1044,-768.5 1200,-768.5 1200,-768.5 1044,-768.5"/>
+<polygon fill="#666666" stroke="#666666" points="1044,-723.5 1044,-723.5 1059,-723.5 1059,-723.5 1044,-723.5"/>
+<polygon fill="#666666" stroke="#666666" points="1059,-723.5 1059,-723.5 1200,-723.5 1200,-723.5 1059,-723.5"/>
+<polygon fill="none" stroke="#666666" points="1044,-606 1044,-797 1200,-797 1200,-606 1044,-606"/>
 </a>
 </g>
 </g>
@@ -566,8 +564,8 @@
 <g id="edge1_Node000001_Node000002" class="edge">
 <title>Node2&#45;&gt;Node1</title>
 <g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1122,-610.51C1122,-601.85 1122,-593.37 1122,-585.42"/>
-<polygon fill="none" stroke="#63b8ff" points="1118.5,-610.76 1122,-620.76 1125.5,-610.76 1118.5,-610.76"/>
+<path fill="none" stroke="#63b8ff" d="M1122,-595.51C1122,-586.85 1122,-578.37 1122,-570.42"/>
+<polygon fill="none" stroke="#63b8ff" points="1118.5,-595.76 1122,-605.76 1125.5,-595.76 1118.5,-595.76"/>
 </a>
 </g>
 </g>
@@ -575,13 +573,13 @@
 <g id="Node000003" class="node">
 <title>Node3</title>
 <g id="a_Node000003"><a xlink:title=" ">
-<polygon fill="white" stroke="transparent" points="1151,-897 1093,-897 1093,-848 1151,-848 1151,-897"/>
-<text text-anchor="start" x="1098" y="-884.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
-<text text-anchor="start" x="1120" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
+<polygon fill="white" stroke="transparent" points="1151,-882 1093,-882 1093,-833 1151,-833 1151,-882"/>
+<text text-anchor="start" x="1098" y="-869.5" font-family="Helvetica,sans-Serif" font-size="10.00">ffi::Object</text>
 <text text-anchor="start" x="1120" y="-854.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
-<polygon fill="#666666" stroke="#666666" points="1093,-879.5 1093,-879.5 1151,-879.5 1151,-879.5 1093,-879.5"/>
+<text text-anchor="start" x="1120" y="-839.5" font-family="Helvetica,sans-Serif" font-size="10.00"> </text>
 <polygon fill="#666666" stroke="#666666" points="1093,-864.5 1093,-864.5 1151,-864.5 1151,-864.5 1093,-864.5"/>
-<polygon fill="none" stroke="#666666" points="1093,-848 1093,-897 1151,-897 1151,-848 1093,-848"/>
+<polygon fill="#666666" stroke="#666666" points="1093,-849.5 1093,-849.5 1151,-849.5 1151,-849.5 1093,-849.5"/>
+<polygon fill="none" stroke="#666666" points="1093,-833 1093,-882 1151,-882 1151,-833 1093,-833"/>
 </a>
 </g>
 </g>
@@ -589,8 +587,8 @@
 <g id="edge2_Node000002_Node000003" class="edge">
 <title>Node3&#45;&gt;Node2</title>
 <g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1122,-837.72C1122,-829.91 1122,-821.22 1122,-812.19"/>
-<polygon fill="none" stroke="#63b8ff" points="1118.5,-837.77 1122,-847.77 1125.5,-837.78 1118.5,-837.77"/>
+<path fill="none" stroke="#63b8ff" d="M1122,-822.72C1122,-814.91 1122,-806.22 1122,-797.19"/>
+<polygon fill="none" stroke="#63b8ff" points="1118.5,-822.77 1122,-832.77 1125.5,-822.78 1118.5,-822.77"/>
 </a>
 </g>
 </g>
@@ -621,8 +619,8 @@
 <g id="edge14_Node000014_Node000015" class="edge">
 <title>Node14&#45;&gt;Node15</title>
 <g id="a_edge14_Node000014_Node000015"><a xlink:title=" ">
-<path fill="none" stroke="#63b8ff" d="M1826,-126.51C1826,-117.55 1826,-108.97 1826,-101.04"/>
-<polygon fill="none" stroke="#63b8ff" points="1822.5,-126.79 1826,-136.79 1829.5,-126.79 1822.5,-126.79"/>
+<path fill="none" stroke="#63b8ff" d="M1826,-126.54C1826,-117.61 1826,-109.06 1826,-101.14"/>
+<polygon fill="none" stroke="#63b8ff" points="1822.5,-126.75 1826,-136.75 1829.5,-126.75 1822.5,-126.75"/>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/functions_func_g.html b/docs/reference/api/doxygen/functions_func_g.html
index 5028440a376..8f6663f829c 100644
--- a/docs/reference/api/doxygen/functions_func_g.html
+++ b/docs/reference/api/doxygen/functions_func_g.html
@@ -81,8 +81,8 @@ $(function() {
 <li>get()&#160;:&#160;<a class="el" href="classtvm_1_1OpAttrMap.html#adbee48a3d975f50cc812fec1a4543eaa">tvm::OpAttrMap&lt; ValueType &gt;</a>, <a class="el" href="classtvm_1_1relax_1_1Binding.html#af3305881e12b4a6f2d1013a04060fadd">tvm::relax::Binding</a></li>
 <li>Get()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html#a73c216f7f77ba02083adb8483551ed55">tvm::relax::ExecBuilderNode</a>, <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#a2b100fe3a7f95c2d11376ae3b2fdb6a2">tvm::runtime::DeviceAPI</a>, <a class="el" href="structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html#a69a26e7fced7ff0a61faf48d9a5d8dc5">tvm::runtime::ThreadLocalDiscoWorker</a>, <a class="el" href="classtvm_1_1s__tir_1_1InstructionKind.html#a7c41f [...]
 <li>get()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1BufferVar.html#aa1f460b2002f8eaef9e86746e4375d03">tvm::tirx::BufferVar</a></li>
-<li>Get()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1SLayoutAxis.html#a0cf0f914c783fff690361cc718ad10a9">tvm::tirx::SLayoutAxis</a></li>
-<li>get()&#160;:&#160;<a class="el" href="classtvm_1_1With.html#ab35df63e7c2a021c1656131f627adb60">tvm::With&lt; ContextType &gt;</a></li>
+<li>Get()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1SLayoutAxis.html#a291f7bc96670c6ecc903d164b8161de1">tvm::tirx::SLayoutAxis</a></li>
+<li>get()&#160;:&#160;<a class="el" href="classtvm_1_1With.html#aeba9bd793f52d87f0d1635cccf7bd337">tvm::With&lt; ContextType &gt;</a></li>
 <li>GetAllocator()&#160;:&#160;<a class="el" href="classtvm_1_1runtime_1_1memory_1_1MemoryManager.html#adf54a15a89cdfc4698c1a5a95542e407">tvm::runtime::memory::MemoryManager</a></li>
 <li>GetAllTuningRecords()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html#af2b0a7e2305c8222d02971ea4b3c66fa">tvm::s_tir::meta_schedule::DatabaseNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1PyDatabaseNode.html#af2898ac3be0dd1ccf587b7671e593e40">tvm::s_tir::meta_schedule::PyDatabaseNode</a></li>
 <li>GetAnalyzer()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html#a8562b7497e5f1032aa86f7eee0867e5a">tvm::relax::BlockBuilderNode</a></li>
diff --git a/docs/reference/api/doxygen/functions_g.html b/docs/reference/api/doxygen/functions_g.html
index 3e889d3d5b1..c62d72700f9 100644
--- a/docs/reference/api/doxygen/functions_g.html
+++ b/docs/reference/api/doxygen/functions_g.html
@@ -82,7 +82,7 @@ $(function() {
 <li>Get()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1ExecBuilderNode.html#a73c216f7f77ba02083adb8483551ed55">tvm::relax::ExecBuilderNode</a>, <a class="el" href="classtvm_1_1runtime_1_1DeviceAPI.html#a2b100fe3a7f95c2d11376ae3b2fdb6a2">tvm::runtime::DeviceAPI</a>, <a class="el" href="structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html#a69a26e7fced7ff0a61faf48d9a5d8dc5">tvm::runtime::ThreadLocalDiscoWorker</a>, <a class="el" href="classtvm_1_1s__tir_1_1InstructionKind.html#a7c41f [...]
 <li>get()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1BufferVar.html#aa1f460b2002f8eaef9e86746e4375d03">tvm::tirx::BufferVar</a></li>
 <li>Get()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1SLayoutAxis.html#a291f7bc96670c6ecc903d164b8161de1">tvm::tirx::SLayoutAxis</a></li>
-<li>get()&#160;:&#160;<a class="el" href="classtvm_1_1With.html#ab35df63e7c2a021c1656131f627adb60">tvm::With&lt; ContextType &gt;</a></li>
+<li>get()&#160;:&#160;<a class="el" href="classtvm_1_1With.html#aeba9bd793f52d87f0d1635cccf7bd337">tvm::With&lt; ContextType &gt;</a></li>
 <li>GetAllocator()&#160;:&#160;<a class="el" href="classtvm_1_1runtime_1_1memory_1_1MemoryManager.html#adf54a15a89cdfc4698c1a5a95542e407">tvm::runtime::memory::MemoryManager</a></li>
 <li>GetAllTuningRecords()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html#af2b0a7e2305c8222d02971ea4b3c66fa">tvm::s_tir::meta_schedule::DatabaseNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1PyDatabaseNode.html#af2898ac3be0dd1ccf587b7671e593e40">tvm::s_tir::meta_schedule::PyDatabaseNode</a></li>
 <li>GetAnalyzer()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html#a8562b7497e5f1032aa86f7eee0867e5a">tvm::relax::BlockBuilderNode</a></li>
diff --git a/docs/reference/api/doxygen/functions_k.html b/docs/reference/api/doxygen/functions_k.html
index 8254832ea76..97f1f901359 100644
--- a/docs/reference/api/doxygen/functions_k.html
+++ b/docs/reference/api/doxygen/functions_k.html
@@ -83,9 +83,9 @@ $(function() {
 <li>kernel_layout&#160;:&#160;<a class="el" href="structtvm_1_1relax_1_1Conv1DAttrs.html#af70c6ca935a777db8340eb1baafa76a7">tvm::relax::Conv1DAttrs</a>, <a class="el" href="structtvm_1_1relax_1_1Conv1DTransposeAttrs.html#af87b41a5579c12b0ad23cee8981727fa">tvm::relax::Conv1DTransposeAttrs</a>, <a class="el" href="structtvm_1_1relax_1_1Conv2DAttrs.html#a5958b2a79298fe97a4629e74a33382c9">tvm::relax::Conv2DAttrs</a>, <a class="el" href="structtvm_1_1relax_1_1Conv2DTransposeAttrs.html#a1494dd [...]
 <li>key&#160;:&#160;<a class="el" href="structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a02e039fb92f6b02600261b0919630dc8">tvm::ir::ConfigSchema::OptionEntry</a></li>
 <li>keys&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1DictDocNode.html#a30b541b91e929ad81ffbc648d034352f">tvm::script::printer::DictDocNode</a>, <a class="el" href="classtvm_1_1TargetNode.html#a995d1698b89412e2ef8b8d030092affc">tvm::TargetNode</a></li>
-<li>kind&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#a10142ff77dbc08a2a46c5adb51701aa2">tvm::relax::distributed::PlacementSpecNode</a>, <a class="el" href="classtvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html#a7112fa7c5d42dbfcc78c127892cdaa79">tvm::runtime::vm::Instruction::Arg</a>, <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ae676ec014588c886e9df8a9323df22ef">tvm::runtime::vm::VMExecutable</a>, <a class="el" href="str [...]
+<li>kind&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#a10142ff77dbc08a2a46c5adb51701aa2">tvm::relax::distributed::PlacementSpecNode</a>, <a class="el" href="classtvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html#a7112fa7c5d42dbfcc78c127892cdaa79">tvm::runtime::vm::Instruction::Arg</a>, <a class="el" href="classtvm_1_1runtime_1_1vm_1_1VMExecutable.html#ae676ec014588c886e9df8a9323df22ef">tvm::runtime::vm::VMExecutable</a>, <a class="el" href="str [...]
 <li>Kind&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDocNode.html#ab096bbea749ee994d75230cd8136afc2">tvm::script::printer::OperationDocNode</a></li>
-<li>kind&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDocNode.html#a9b996402fa4a7202d749c56ac044e810">tvm::script::printer::OperationDocNode</a>, <a class="el" href="classtvm_1_1TargetNode.html#ac19a4ee0f0ec7ea607ec746bc4551b71">tvm::TargetNode</a>, <a class="el" href="classtvm_1_1tirx_1_1DependencyNode.html#aad99641267be2c02bb453e4edbbdc606">tvm::tirx::DependencyNode</a>, <a class="el" href="classtvm_1_1tirx_1_1ExecScopeNode.html#a4e8b0e6dc6c5c2ba2b1ea8bc060 [...]
+<li>kind&#160;:&#160;<a class="el" href="classtvm_1_1TargetNode.html#ac19a4ee0f0ec7ea607ec746bc4551b71">tvm::TargetNode</a>, <a class="el" href="classtvm_1_1tirx_1_1DependencyNode.html#aad99641267be2c02bb453e4edbbdc606">tvm::tirx::DependencyNode</a>, <a class="el" href="classtvm_1_1tirx_1_1ExecScopeNode.html#a4e8b0e6dc6c5c2ba2b1ea8bc060c8b25">tvm::tirx::ExecScopeNode</a>, <a class="el" href="classtvm_1_1tirx_1_1ForNode.html#aafc5aa4abb12156c88d9e0e9fdc7b71e">tvm::tirx::ForNode</a></li>
 <li>kKindBit&#160;:&#160;<a class="el" href="structtvm_1_1runtime_1_1vm_1_1Instruction.html#a7a4692009e4009d327a503558e3d8c7a">tvm::runtime::vm::Instruction</a></li>
 <li>kMay&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1PatternContextNode.html#a2c27ca5386cb5d333c9b79d6d4e8c9c4ab75a1bd45b79c8fef9d897d9bc39b5cd">tvm::relax::PatternContextNode</a></li>
 <li>kMustNot&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1PatternContextNode.html#a2c27ca5386cb5d333c9b79d6d4e8c9c4a32002bc3cf7871a07f2bc00a24a2bf8e">tvm::relax::PatternContextNode</a></li>
diff --git a/docs/reference/api/doxygen/functions_o.html b/docs/reference/api/doxygen/functions_o.html
index 6f85fc4200e..72742acbd65 100644
--- a/docs/reference/api/doxygen/functions_o.html
+++ b/docs/reference/api/doxygen/functions_o.html
@@ -91,7 +91,7 @@ $(function() {
 <li>OpaqueType()&#160;:&#160;<a class="el" href="classtvm_1_1OpaqueType.html#a6c374ff2d7cb64952ec2e7067e438d8f">tvm::OpaqueType</a></li>
 <li>OpCallDoc()&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1OpCallDoc.html#ab5b4f91b550e6e9b43f8a5659604da42">tvm::script::printer::OpCallDoc</a></li>
 <li>operands&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDocNode.html#a2d6086cff6613d467c7606a1a71c7e63">tvm::script::printer::OperationDocNode</a></li>
-<li>Operation()&#160;:&#160;<a class="el" href="classtvm_1_1te_1_1Operation.html#a7bc69f793cb5cbc99bf20fed8617d487">tvm::te::Operation</a></li>
+<li>Operation()&#160;:&#160;<a class="el" href="classtvm_1_1te_1_1Operation.html#acac0ade4a74dcfd1ebb76971b9a2fbf8">tvm::te::Operation</a></li>
 <li>OperationDoc()&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1OperationDoc.html#a4cb1202058caaf27c3ed6f2951af28e3">tvm::script::printer::OperationDoc</a></li>
 <li>operator PatternSeq()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1DFPattern.html#afce09ce23acba783755ac41f21145b0f">tvm::relax::DFPattern</a></li>
 <li>operator PrimExpr()&#160;:&#160;<a class="el" href="classtvm_1_1te_1_1Tensor_1_1Slice.html#ab4d687e16bdccebe425e327fc3f2f4ba">tvm::te::Tensor::Slice</a>, <a class="el" href="classtvm_1_1tirx_1_1IterVar.html#af43e201d382259b57fe5328c2d573de0">tvm::tirx::IterVar</a></li>
diff --git a/docs/reference/api/doxygen/functions_t.html b/docs/reference/api/doxygen/functions_t.html
index d49e8999120..bfd8fa61c18 100644
--- a/docs/reference/api/doxygen/functions_t.html
+++ b/docs/reference/api/doxygen/functions_t.html
@@ -117,7 +117,7 @@ $(function() {
 <li>tile_layout&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1ComposeLayoutNode.html#a4c90358e33fcb3f5e9c8dddf7329b814">tvm::tirx::ComposeLayoutNode</a></li>
 <li>TileLayout()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1TileLayout.html#a9317589823ea5b704d135721be94431e">tvm::tirx::TileLayout</a></li>
 <li>TilePrimitiveCall()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCall.html#a6b540aa3a3c5b894e64e7a600034c610">tvm::tirx::TilePrimitiveCall</a></li>
-<li>TilePrimitiveCallNode()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCallNode.html#a7e83180024d93dfdc72b5cd17a21a243">tvm::tirx::TilePrimitiveCallNode</a></li>
+<li>TilePrimitiveCallNode()&#160;:&#160;<a class="el" href="classtvm_1_1tirx_1_1TilePrimitiveCallNode.html#a34ce941868dcea5086ff45d0d393b97b">tvm::tirx::TilePrimitiveCallNode</a></li>
 <li>TimedScope()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1Profiler.html#aa808076cd8e770318d18a1cf7fa1d5c7">tvm::s_tir::meta_schedule::Profiler</a></li>
 <li>TIRFrame()&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html#a2494400e71e245dd6ef829c22e979783">tvm::script::ir_builder::tirx::TIRFrame</a></li>
 <li>to_users_&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#a667829eb57e5e2ca06817f15dc4e45ff">tvm::relax::DataflowBlockRewriteNode</a></li>
@@ -147,7 +147,7 @@ $(function() {
 <li>TryCompare()&#160;:&#160;<a class="el" href="classtvm_1_1sym_1_1TransitiveComparisonAnalyzer.html#afea57334fa61b93ad0e07420c71a3654">tvm::sym::TransitiveComparisonAnalyzer</a></li>
 <li>TSelf&#160;:&#160;<a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a29adf4db79c99318db779a71f26acc0f">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a></li>
 <li>Tune()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1PyTaskSchedulerNode.html#ae53395f76102c0ba1077ec95b1559c52">tvm::s_tir::meta_schedule::PyTaskSchedulerNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html#a6a0d8cdf714b5fe0f7490d3df3a62a21">tvm::s_tir::meta_schedule::TaskSchedulerNode</a></li>
-<li>TuneContext()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContext.html#a6d67cd0d78eb565b1e3e7adfad73e3a0">tvm::s_tir::meta_schedule::TuneContext</a></li>
+<li>TuneContext()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuneContext.html#af2767b162132858b348bd46203d3de70">tvm::s_tir::meta_schedule::TuneContext</a></li>
 <li>TuningRecord()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecord.html#ae81312e55bb3f48a51b145084a2cfcf9">tvm::s_tir::meta_schedule::TuningRecord</a></li>
 <li>tuple&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1TupleGetItemPatternNode.html#aa2c7e22ed458fb63f4466d9f820ba26c">tvm::relax::TupleGetItemPatternNode</a></li>
 <li>Tuple()&#160;:&#160;<a class="el" href="classtvm_1_1Tuple.html#ae3cedb8eabaeba7b4d7aab2b6e67957f">tvm::Tuple</a></li>
@@ -176,7 +176,6 @@ $(function() {
 <li>type_info&#160;:&#160;<a class="el" href="classtvm_1_1ArgumentInfoNode.html#a546e864a8d048ec7922009f1c7864933">tvm::ArgumentInfoNode</a></li>
 <li>type_params&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1FunctionDocNode.html#a6b3656238d197981cf25870e7f7bb1ab">tvm::script::printer::FunctionDocNode</a></li>
 <li>type_str&#160;:&#160;<a class="el" href="structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a4f3cb8337bef2fb3460e575d534b087a">tvm::ir::ConfigSchema::OptionEntry</a></li>
-<li>type_var_map&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">tvm::script::ir_builder::relax::FunctionFrameNode</a>, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></li>
 <li>TypedEnvFunc()&#160;:&#160;<a class="el" href="classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b">tvm::TypedEnvFunc&lt; R(Args...)&gt;</a></li>
 <li>TypePattern()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1TypePattern.html#af2b7f3fea37e9fa141388d4cb2ec7cf1">tvm::relax::TypePattern</a></li>
 </ul>
diff --git a/docs/reference/api/doxygen/functions_u.html b/docs/reference/api/doxygen/functions_u.html
index 464dc44f138..8a979250ba4 100644
--- a/docs/reference/api/doxygen/functions_u.html
+++ b/docs/reference/api/doxygen/functions_u.html
@@ -83,7 +83,7 @@ $(function() {
 <li>Unroll()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a066ca595d9c1d73b650ccf0923c6fefc">tvm::s_tir::ScheduleNode</a></li>
 <li>UnsafeHideBufferAccess()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a4056d43eb6b342b6d0fa49a8398ae67c">tvm::s_tir::ScheduleNode</a></li>
 <li>UnsafeSetDType()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1ScheduleNode.html#a1e51e99b4ad58d1ed9be294c6118842f">tvm::s_tir::ScheduleNode</a></li>
-<li>Update()&#160;:&#160;<a class="el" href="classtvm_1_1IRModuleNode.html#abdd8936c6fca33ef9b7c086f8fd58f84">tvm::IRModuleNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html#aa0c38a59df049d172db8b1c006ed0a9d">tvm::s_tir::meta_schedule::CostModelNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1PyCostModelNode.html#a07f068f342ed4200e7e46aca11f548b4">tvm::s_tir::meta_schedule::PyCostModelNode</a>, <a class="el" href="classtvm_1_1sym [...]
+<li>Update()&#160;:&#160;<a class="el" href="classtvm_1_1IRModuleNode.html#a94a93385e64ce844299729af6a573015">tvm::IRModuleNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html#aa0c38a59df049d172db8b1c006ed0a9d">tvm::s_tir::meta_schedule::CostModelNode</a>, <a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1PyCostModelNode.html#a07f068f342ed4200e7e46aca11f548b4">tvm::s_tir::meta_schedule::PyCostModelNode</a>, <a class="el" href="classtvm_1_1sym [...]
 <li>update&#160;:&#160;<a class="el" href="classtvm_1_1te_1_1ScanOpNode.html#a39af4284df8be4c01effac21ff2384f2">tvm::te::ScanOpNode</a></li>
 <li>UpdateCostModel()&#160;:&#160;<a class="el" href="classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallback.html#a44444271b19db2c1fc207e37ff7317f9">tvm::s_tir::meta_schedule::MeasureCallback</a></li>
 <li>UpdateFunction()&#160;:&#160;<a class="el" href="classtvm_1_1relax_1_1BlockBuilderNode.html#a9e6755182f969ac7ef85b5219104bebf">tvm::relax::BlockBuilderNode</a></li>
diff --git a/docs/reference/api/doxygen/functions_vars_t.html b/docs/reference/api/doxygen/functions_vars_t.html
index 424095a1a21..69a3bb4a9c6 100644
--- a/docs/reference/api/doxygen/functions_vars_t.html
+++ b/docs/reference/api/doxygen/functions_vars_t.html
@@ -106,7 +106,6 @@ $(function() {
 <li>type_info&#160;:&#160;<a class="el" href="classtvm_1_1ArgumentInfoNode.html#a546e864a8d048ec7922009f1c7864933">tvm::ArgumentInfoNode</a></li>
 <li>type_params&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1printer_1_1FunctionDocNode.html#a6b3656238d197981cf25870e7f7bb1ab">tvm::script::printer::FunctionDocNode</a></li>
 <li>type_str&#160;:&#160;<a class="el" href="structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a4f3cb8337bef2fb3460e575d534b087a">tvm::ir::ConfigSchema::OptionEntry</a></li>
-<li>type_var_map&#160;:&#160;<a class="el" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">tvm::script::ir_builder::relax::FunctionFrameNode</a>, <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></li>
 </ul>
 </div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/namespacemembers_func_r.html b/docs/reference/api/doxygen/namespacemembers_func_r.html
index 757399b75ff..9f027d78180 100644
--- a/docs/reference/api/doxygen/namespacemembers_func_r.html
+++ b/docs/reference/api/doxygen/namespacemembers_func_r.html
@@ -101,7 +101,6 @@ $(function() {
 <li>reorg()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi_1_1vision.html#a1014df582489005202c4218e51792314">tvm::topi::vision</a></li>
 <li>repeat()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi.html#afe9f6d9103b2dfbc601bfd2304a4e687">tvm::topi</a></li>
 <li>reshape()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527">tvm::topi</a></li>
-<li>ResolveTypeVar()&#160;:&#160;<a class="el" href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">tvm::script::ir_builder</a></li>
 <li>Return()&#160;:&#160;<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#af040a4c3c53a13885635540988224273">tvm::script::ir_builder::tirx</a></li>
 <li>reverse_sequence()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi.html#ab8ad5eed3079de21c92a7639ed370096">tvm::topi</a></li>
 <li>RewriteBindings()&#160;:&#160;<a class="el" href="namespacetvm_1_1relax.html#af5845e4d011ab64d1ebbb8faa289c8b6">tvm::relax</a></li>
diff --git a/docs/reference/api/doxygen/namespacemembers_r.html b/docs/reference/api/doxygen/namespacemembers_r.html
index c805c8ca24b..8e541b47326 100644
--- a/docs/reference/api/doxygen/namespacemembers_r.html
+++ b/docs/reference/api/doxygen/namespacemembers_r.html
@@ -106,7 +106,6 @@ $(function() {
 <li>repeat()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi.html#afe9f6d9103b2dfbc601bfd2304a4e687">tvm::topi</a></li>
 <li>require_block_var_bound_predicate&#160;:&#160;<a class="el" href="namespacetvm_1_1s__tir_1_1attr.html#a4c7c6443fb2b204b8c5c39ad1cc5eea9">tvm::s_tir::attr</a></li>
 <li>reshape()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527">tvm::topi</a></li>
-<li>ResolveTypeVar()&#160;:&#160;<a class="el" href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">tvm::script::ir_builder</a></li>
 <li>Return()&#160;:&#160;<a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#af040a4c3c53a13885635540988224273">tvm::script::ir_builder::tirx</a></li>
 <li>reverse_sequence()&#160;:&#160;<a class="el" href="namespacetvm_1_1topi.html#ab8ad5eed3079de21c92a7639ed370096">tvm::topi</a></li>
 <li>RewriteBindings()&#160;:&#160;<a class="el" href="namespacetvm_1_1relax.html#af5845e4d011ab64d1ebbb8faa289c8b6">tvm::relax</a></li>
diff --git a/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder.html b/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder.html
index ee017f1168f..350d12332a9 100644
--- a/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder.html
+++ b/docs/reference/api/doxygen/namespacetvm_1_1script_1_1ir__builder.html
@@ -75,8 +75,7 @@ $(function() {
 <div class="header">
   <div class="summary">
 <a href="#namespaces">Namespaces</a> &#124;
-<a href="#nested-classes">Classes</a> &#124;
-<a href="#func-members">Functions</a>  </div>
+<a href="#nested-classes">Classes</a>  </div>
   <div class="headertitle"><div class="title">tvm::script::ir_builder Namespace Reference</div></div>
 </div><!--header-->
 <div class="contents">
@@ -108,62 +107,7 @@ Classes</h2></td></tr>
 <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a></td></tr>
 <tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A language variant agnostic <a class="el" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html" title="Managed reference to an IRBuilderNode.">IRBuilder</a> that constructs any IR of TVM. An idiomatic use of this class is to put this inside the RAII with-scope, call language variant specific methods accordingly. Upon exiting the scope.  <a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#detail [...]
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a8852629d7fefcbca60fab8c2eae58961" id="r_a8852629d7fefcbca60fab8c2eae58961"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Var.html">tvm::Var</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">ResolveTypeVar</a> (ffi::Map&lt; ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt; *symbols, const ffi::String &amp;nam [...]
-<tr class="memdesc:a8852629d7fefcbca60fab8c2eae58961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolve one symbol in a native function frame's retained map.  <br /></td></tr>
-<tr class="separator:a8852629d7fefcbca60fab8c2eae58961"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
-<h2 class="groupheader">Function Documentation</h2>
-<a id="a8852629d7fefcbca60fab8c2eae58961" name="a8852629d7fefcbca60fab8c2eae58961"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a8852629d7fefcbca60fab8c2eae58961">&#9670;&#160;</a></span>ResolveTypeVar()</h2>
-
-<div class="memitem">
-<div class="memproto">
-      <table class="memname">
-        <tr>
-          <td class="memname"><a class="el" href="classtvm_1_1Var.html">tvm::Var</a> tvm::script::ir_builder::ResolveTypeVar </td>
-          <td>(</td>
-          <td class="paramtype">ffi::Map&lt; ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt; *&#160;</td>
-          <td class="paramname"><em>symbols</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">const ffi::String &amp;&#160;</td>
-          <td class="paramname"><em>name</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ffi::Optional&lt; <a class="el" href="classtvm_1_1PrimType.html">PrimType</a> &gt;&#160;</td>
-          <td class="paramname"><em>dtype</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype">ffi::Optional&lt; <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt;&#160;</td>
-          <td class="paramname"><em>value</em>, </td>
-        </tr>
-        <tr>
-          <td class="paramkey"></td>
-          <td></td>
-          <td class="paramtype"><a class="el" href="classtvm_1_1Span.html">Span</a>&#160;</td>
-          <td class="paramname"><em>span</em>&#160;</td>
-        </tr>
-        <tr>
-          <td></td>
-          <td>)</td>
-          <td></td><td></td>
-        </tr>
-      </table>
-</div><div class="memdoc">
-
-<p>Resolve one symbol in a native function frame's retained map. </p>
-
-</div>
-</div>
 </div><!-- contents -->
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
diff --git a/docs/reference/api/doxygen/relax_2script_2ir__builder_2frame_8h_source.html b/docs/reference/api/doxygen/relax_2script_2ir__builder_2frame_8h_source.html
index 4fe3504cfb3..72539460672 100644
--- a/docs/reference/api/doxygen/relax_2script_2ir__builder_2frame_8h_source.html
+++ b/docs/reference/api/doxygen/relax_2script_2ir__builder_2frame_8h_source.html
@@ -188,265 +188,262 @@ $(document).ready(function() { init_codefold(0); });
 <div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html">   92</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html">FunctionFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode [...]
 <div class="line"><a id="l00093" name="l00093"></a><span class="lineno">   93</span> <span class="keyword">public</span>:</div>
 <div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a93620dafc7b4b72fd06983dd3bbe48d8">   99</a></span>  ffi::Optional&lt;ffi::String&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a93620dafc7b4b72fd06983dd3bbe48d8">name</a>;</div>
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">  101</a></span>  ffi::Map&lt;ffi::String, tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">type_var_map</a>;</div>
-<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">  103</a></span>  ffi::Array&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">params</a>;</div>
-<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">  113</a></span>  ffi::Optional&lt;tvm::Type&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">ret_ty</a>;</div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">  115</a></span>  ffi::Optional&lt;bool&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">is_pure</a>;</div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a812d7496fe9a06c33c551294d624c3df">  117</a></span>  ffi::Optional&lt;bool&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a812d7496fe9a06c33c551294d624c3df">is_private</a>;</div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">  119</a></span>  ffi::Map&lt;ffi::String, Any&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">attrs</a>;</div>
-<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a08817c8c879fedbf4af38435dadce024">  121</a></span>  <a class="code hl_class" href="classtvm_1_1relax_1_1BlockBuilder.html">tvm::relax::BlockBuilder</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a08817c8c879fedbf4af38435dadce024">block_builder</a>;</div>
-<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a258c15dd13b9c4c9c4367f031f7c7936">  123</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a258c15dd13b9c4c9c4367f031f7c7936">declaration</a> = <span class="keyword">false</span>;</div>
-<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a549ac2489d26031f8ea996891e177773">  124</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a549ac2489d26031f8ea996891e177773">local</a> = <span class="keyword">false</span>;</div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">  125</a></span>  ffi::Optional&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">local_var</a>;</div>
-<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">  127</a></span>  ffi::Optional&lt;tvm::relax::Function&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">function</a>;</div>
-<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">  128</a></span>  ffi::Optional&lt;tvm::GlobalVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">global_var</a>;</div>
-<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span> </div>
-<div class="foldopen" id="foldopen00130" data-start="{" data-end="}">
-<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a2e1e88114fa7e1fdd63bd7211a3d04a7">  130</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a2e1e88114fa7e1fdd63bd7211a3d04a7">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    refl::ObjectDef&lt;FunctionFrameNode&gt;()</div>
-<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>        .def_ro(<span class="stringliteral">&quot;type_var_map&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">FunctionFrameNode::type_var_map</a>)</div>
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>        .def_ro(<span class="stringliteral">&quot;name&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a93620dafc7b4b72fd06983dd3bbe48d8">FunctionFrameNode::name</a>)</div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>        .def_ro(<span class="stringliteral">&quot;params&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">FunctionFrameNode::params</a>)</div>
-<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>        .def_ro(<span class="stringliteral">&quot;ret_ty&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">FunctionFrameNode::ret_ty</a>)</div>
-<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        .def_ro(<span class="stringliteral">&quot;is_pure&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">FunctionFrameNode::is_pure</a>)</div>
-<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>        .def_ro(<span class="stringliteral">&quot;attrs&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">FunctionFrameNode::attrs</a>)</div>
-<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>        .def_ro(<span class="stringliteral">&quot;function&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">FunctionFrameNode::function</a>)</div>
-<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>        .def_ro(<span class="stringliteral">&quot;global_var&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">FunctionFrameNode::global_var</a>)</div>
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>        .def_ro(<span class="stringliteral">&quot;local_var&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">FunctionFrameNode::local_var</a>);</div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    <span class="comment">// `binding_blocks` and `output` are inherited from SeqExprFrameNode.</span></div>
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>    <span class="comment">// `block_builder` is not registered as it&#39;s not visited.</span></div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>  }</div>
-</div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a0e2fcdb6ee652c809f761efa0c0b2d2e">  145</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a0e2fcdb6ee652c809f761efa0c0b2d2e">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.FunctionFrame&quot;</span>, <a class="code [...]
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a>);</div>
-<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span> </div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a1cd8e869ddb57a8c3dc1b620df052217">  149</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a1cd8e869ddb57a8c3dc1b620df052217">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a58c27b860e11ed926d4f29335c7dea07">  150</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a58c27b860e11ed926d4f29335c7dea07">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>};</div>
-</div>
-<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span> </div>
-<div class="foldopen" id="foldopen00153" data-start="{" data-end="};">
-<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">  153</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">FunctionFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">SeqExprFrame</a> {</div>
-<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00155" data-start="{" data-end="}">
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af93069dfc97056b88dc3477656dab69c">  155</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af93069dfc97056b88dc3477656dab69c">FunctionFrame</a>(ffi::ObjectPtr&lt;FunctionFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_ [...]
-<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>  }</div>
-</div>
-<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af9097351681d8f6be2280e18b264fef2">  158</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af9097351681d8f6be2280e18b264fef2">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html" [...]
-<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span>};</div>
-</div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> </div>
-<div class="foldopen" id="foldopen00162" data-start="{" data-end="};">
-<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">  162</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">BindingBlockFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">RelaxF [...]
-<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a766102d250c6fc8e95a4b6cb9df186a1">  165</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a766102d250c6fc8e95a4b6cb9df186a1">is_dataflow</a>;</div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0f87f9ee3e853bea827593ca9fb49f0f">  167</a></span>  ffi::Array&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0f87f9ee3e853bea827593ca9fb49f0f">emitted_vars</a>;</div>
-<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a74aaba8698160f1bdeeeb94a2f332772">  173</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a74aaba8698160f1bdeeeb94a2f332772">block_ended</a>;</div>
-<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a7c342512bdcfbe1e67420afd1956ddf3">  178</a></span>  ffi::Array&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a7c342512bdcfbe1e67420afd1956ddf3">output_vars</a>;</div>
-<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0693c6b35821d91431bcb59829c4a464">  180</a></span>  ffi::Map&lt;tvm::Var, Span&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0693c6b35821d91431bcb59829c4a464">binding_spans</a>;</div>
-<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
-<div class="foldopen" id="foldopen00182" data-start="{" data-end="}">
-<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#aeb377e0f179068f76e48fe52724cca86">  182</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#aeb377e0f179068f76e48fe52724cca86">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>    refl::ObjectDef&lt;BindingBlockFrameNode&gt;()</div>
-<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>        .def_ro(<span class="stringliteral">&quot;is_dataflow&quot;</span>, &amp;BindingBlockFrameNode::is_dataflow)</div>
-<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>        .def_ro(<span class="stringliteral">&quot;emitted_vars&quot;</span>, &amp;BindingBlockFrameNode::emitted_vars)</div>
-<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>        .def_ro(<span class="stringliteral">&quot;output_vars&quot;</span>, &amp;BindingBlockFrameNode::output_vars);</div>
-<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>    <span class="comment">// `block_ended` is not registered as it&#39;s not visited.</span></div>
-<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>  }</div>
-</div>
-<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a2c69ebf7d4c1abc75d2495dd05e62923">  190</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a2c69ebf7d4c1abc75d2495dd05e62923">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.BindingBlockFrame&quot;</span>,</div>
-<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">BindingBlockFrameNode</a>, <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">RelaxFrameNode</a>);</div>
-<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span> </div>
-<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#ad2fb67f89febf5a385a105d488c316cc">  194</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#ad2fb67f89febf5a385a105d488c316cc">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a9c6e81af397146ddfd84a9f193d0a748">  195</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
-<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>};</div>
-</div>
-<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
-<div class="foldopen" id="foldopen00198" data-start="{" data-end="};">
-<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">  198</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">BindingBlockFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrame.html">RelaxFrame</a> {</div>
-<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00200" data-start="{" data-end="}">
-<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#ad94eb6d073c49ff04a8d4662fcd75144">  200</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#ad94eb6d073c49ff04a8d4662fcd75144">BindingBlockFrame</a>(ffi::ObjectPtr&lt;BindingBlockFrameNode&gt; data) : <a class="code hl_class" h [...]
-<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>  }</div>
-</div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#a68f395c8f557033dc740647546bfe22c">  203</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#a68f395c8f557033dc740647546bfe22c">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBloc [...]
-<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>                                                <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">BindingBlockFrameNode</a>);</div>
-<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span>};</div>
-</div>
-<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span> </div>
-<div class="foldopen" id="foldopen00212" data-start="{" data-end="};">
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html">  212</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html">IfFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">RelaxFrameNode</a> {</div>
-<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a9821c9fed205e193abd4c405e77a7ffe">  215</a></span>  <a class="code hl_class" href="classtvm_1_1Expr.html">tvm::relax::Expr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a9821c9fed205e193abd4c405e77a7ffe">condition</a>;</div>
-<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a416c388c64c6ca85d99e386258012a4e">  217</a></span>  ffi::Optional&lt;tvm::relax::Expr&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a416c388c64c6ca85d99e386258012a4e">then_expr</a>;</div>
-<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ada0a650eb19a475314373876b310164a">  219</a></span>  ffi::Optional&lt;tvm::relax::Expr&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ada0a650eb19a475314373876b310164a">else_expr</a>;</div>
-<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5">  221</a></span>  <a class="code hl_class" href="classtvm_1_1Var.html">tvm::Var</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5">var</a>;</div>
-<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">  223</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">var_name</a>;</div>
-<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span> </div>
-<div class="foldopen" id="foldopen00225" data-start="{" data-end="}">
-<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a90bdff6cf73f875ec5ba39db55826cbe">  225</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a90bdff6cf73f875ec5ba39db55826cbe">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>    refl::ObjectDef&lt;IfFrameNode&gt;()</div>
-<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>        .def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;IfFrameNode::condition)</div>
-<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>        .def_ro(<span class="stringliteral">&quot;then_expr&quot;</span>, &amp;IfFrameNode::then_expr)</div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>        .def_ro(<span class="stringliteral">&quot;else_expr&quot;</span>, &amp;IfFrameNode::else_expr)</div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span>        .def_ro(<span class="stringliteral">&quot;var&quot;</span>, &amp;IfFrameNode::var)</div>
-<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span>        .def_ro(<span class="stringliteral">&quot;var_name&quot;</span>, &amp;IfFrameNode::var_name);</div>
-<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>  }</div>
-</div>
-<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a232b0699f469c3ab60302099dd0371c9">  234</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a232b0699f469c3ab60302099dd0371c9">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.IfFrame&quot;</span>, <a class="code hl_class" href="c [...]
-<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a81742de1e4587c0f8fa7318e84ce54fc">  241</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a81742de1e4587c0f8fa7318e84ce54fc">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#af7b9b33ae049b9fe735b50a814e29c92">  246</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
-<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>};</div>
-</div>
-<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span> </div>
-<div class="foldopen" id="foldopen00254" data-start="{" data-end="};">
-<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">  254</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">IfFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrame.html">RelaxFrame</a> {</div>
-<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00256" data-start="{" data-end="}">
-<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#abd5e125b569a7f39be94aadb6c4d5286">  256</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#abd5e125b569a7f39be94aadb6c4d5286">IfFrame</a>(ffi::ObjectPtr&lt;IfFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1 [...]
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span>  }</div>
-</div>
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#a0ed91eaa893bd059fae92e4b577a733f">  259</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#a0ed91eaa893bd059fae92e4b577a733f">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">IfFrame</a>, <a c [...]
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>};</div>
-</div>
-<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span> </div>
-<div class="foldopen" id="foldopen00267" data-start="{" data-end="};">
-<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html">  267</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html">ThenFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a> {</div>
-<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00269" data-start="{" data-end="}">
-<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a88a4caa8a671342c0cbb0f0fa851da4a">  269</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a88a4caa8a671342c0cbb0f0fa851da4a">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>    refl::ObjectDef&lt;ThenFrameNode&gt;();</div>
-<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>  }</div>
-</div>
-<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ab8a14a7824787f5adda7b63d77ac8c03">  273</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ab8a14a7824787f5adda7b63d77ac8c03">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.ThenFrame&quot;</span>, <a class="code hl_class" h [...]
-<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a>);</div>
-<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span> </div>
-<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a1335957cab5c174bf967ed3990cb76ea">  281</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a1335957cab5c174bf967ed3990cb76ea">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ae8d6c2ae184fc9243fe1c96f61535a80">  286</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
-<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>};</div>
-</div>
-<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span> </div>
-<div class="foldopen" id="foldopen00294" data-start="{" data-end="};">
-<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">  294</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">ThenFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">SeqExprFrame</a> {</div>
-<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00296" data-start="{" data-end="}">
-<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a9ba280b34bd1ad8438774aee57c56e5b">  296</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a9ba280b34bd1ad8438774aee57c56e5b">ThenFrame</a>(ffi::ObjectPtr&lt;ThenFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__b [...]
-<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span>  }</div>
-</div>
-<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a28c793d60f9284ce30179b998ca1a704">  299</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a28c793d60f9284ce30179b998ca1a704">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">ThenFrame</ [...]
-<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>};</div>
-</div>
-<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span> </div>
-<div class="foldopen" id="foldopen00307" data-start="{" data-end="};">
-<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html">  307</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html">ElseFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a> {</div>
-<div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00309" data-start="{" data-end="}">
-<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#a4aca653042fb29a2dbe70591c4df12eb">  309</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#a4aca653042fb29a2dbe70591c4df12eb">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span>    refl::ObjectDef&lt;ElseFrameNode&gt;();</div>
-<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span>  }</div>
-</div>
-<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#ad3d8cc6b82f2f69904245775496eb27b">  313</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#ad3d8cc6b82f2f69904245775496eb27b">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.ElseFrame&quot;</span>, <a class="code hl_class" h [...]
-<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a>);</div>
-<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span> </div>
-<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#aec821783aa09d06ce70865362658693e">  321</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#aec821783aa09d06ce70865362658693e">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#abe63be5967d4d9b6a5a29cbb24ec1f6f">  326</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
-<div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span>};</div>
-</div>
-<div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span> </div>
-<div class="foldopen" id="foldopen00334" data-start="{" data-end="};">
-<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">  334</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">ElseFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">SeqExprFrame</a> {</div>
-<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00336" data-start="{" data-end="}">
-<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#a89deb948b4722646d4f3e6c6728d19fb">  336</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#a89deb948b4722646d4f3e6c6728d19fb">ElseFrame</a>(ffi::ObjectPtr&lt;ElseFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__b [...]
-<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>  }</div>
-</div>
-<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#abec8fedf2430397e1a694c742061d45f">  339</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#abec8fedf2430397e1a694c742061d45f">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">ElseFrame</ [...]
-<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>};</div>
-</div>
-<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span> </div>
-<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>}  <span class="comment">// namespace relax</span></div>
-</div>
-<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>}  <span class="comment">// namespace ir_builder</span></div>
-</div>
-<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>}  <span class="comment">// namespace script</span></div>
-</div>
-<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>}  <span class="comment">// namespace tvm</span></div>
-<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span> </div>
-<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span><span class="preprocessor">#endif  </span><span class="comment">// TVM_RELAX_SCRIPT_IR_BUILDER_FRAME_H_</span></div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">  101</a></span>  ffi::Array&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">params</a>;</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">  111</a></span>  ffi::Optional&lt;tvm::Type&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">ret_ty</a>;</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">  113</a></span>  ffi::Optional&lt;bool&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">is_pure</a>;</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a812d7496fe9a06c33c551294d624c3df">  115</a></span>  ffi::Optional&lt;bool&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a812d7496fe9a06c33c551294d624c3df">is_private</a>;</div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">  117</a></span>  ffi::Map&lt;ffi::String, Any&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">attrs</a>;</div>
+<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a08817c8c879fedbf4af38435dadce024">  119</a></span>  <a class="code hl_class" href="classtvm_1_1relax_1_1BlockBuilder.html">tvm::relax::BlockBuilder</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a08817c8c879fedbf4af38435dadce024">block_builder</a>;</div>
+<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a258c15dd13b9c4c9c4367f031f7c7936">  121</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a258c15dd13b9c4c9c4367f031f7c7936">declaration</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a549ac2489d26031f8ea996891e177773">  122</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a549ac2489d26031f8ea996891e177773">local</a> = <span class="keyword">false</span>;</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">  123</a></span>  ffi::Optional&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">local_var</a>;</div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">  125</a></span>  ffi::Optional&lt;tvm::relax::Function&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">function</a>;</div>
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">  126</a></span>  ffi::Optional&lt;tvm::GlobalVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">global_var</a>;</div>
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span> </div>
+<div class="foldopen" id="foldopen00128" data-start="{" data-end="}">
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a2e1e88114fa7e1fdd63bd7211a3d04a7">  128</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a2e1e88114fa7e1fdd63bd7211a3d04a7">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>    refl::ObjectDef&lt;FunctionFrameNode&gt;()</div>
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>        .def_ro(<span class="stringliteral">&quot;name&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a93620dafc7b4b72fd06983dd3bbe48d8">FunctionFrameNode::name</a>)</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>        .def_ro(<span class="stringliteral">&quot;params&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">FunctionFrameNode::params</a>)</div>
+<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>        .def_ro(<span class="stringliteral">&quot;ret_ty&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">FunctionFrameNode::ret_ty</a>)</div>
+<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>        .def_ro(<span class="stringliteral">&quot;is_pure&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">FunctionFrameNode::is_pure</a>)</div>
+<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>        .def_ro(<span class="stringliteral">&quot;attrs&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">FunctionFrameNode::attrs</a>)</div>
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>        .def_ro(<span class="stringliteral">&quot;function&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">FunctionFrameNode::function</a>)</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>        .def_ro(<span class="stringliteral">&quot;global_var&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">FunctionFrameNode::global_var</a>)</div>
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>        .def_ro(<span class="stringliteral">&quot;local_var&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">FunctionFrameNode::local_var</a>);</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>    <span class="comment">// `binding_blocks` and `output` are inherited from SeqExprFrameNode.</span></div>
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>    <span class="comment">// `block_builder` is not registered as it&#39;s not visited.</span></div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>  }</div>
+</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a0e2fcdb6ee652c809f761efa0c0b2d2e">  142</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a0e2fcdb6ee652c809f761efa0c0b2d2e">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.FunctionFrame&quot;</span>, <a class="code [...]
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a>);</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a1cd8e869ddb57a8c3dc1b620df052217">  146</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a1cd8e869ddb57a8c3dc1b620df052217">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a58c27b860e11ed926d4f29335c7dea07">  147</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a58c27b860e11ed926d4f29335c7dea07">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>};</div>
+</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span> </div>
+<div class="foldopen" id="foldopen00150" data-start="{" data-end="};">
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">  150</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">FunctionFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">SeqExprFrame</a> {</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00152" data-start="{" data-end="}">
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af93069dfc97056b88dc3477656dab69c">  152</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af93069dfc97056b88dc3477656dab69c">FunctionFrame</a>(ffi::ObjectPtr&lt;FunctionFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_ [...]
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>  }</div>
+</div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af9097351681d8f6be2280e18b264fef2">  155</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af9097351681d8f6be2280e18b264fef2">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html" [...]
+<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>};</div>
+</div>
+<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span> </div>
+<div class="foldopen" id="foldopen00159" data-start="{" data-end="};">
+<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">  159</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">BindingBlockFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">RelaxF [...]
+<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a766102d250c6fc8e95a4b6cb9df186a1">  162</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a766102d250c6fc8e95a4b6cb9df186a1">is_dataflow</a>;</div>
+<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0f87f9ee3e853bea827593ca9fb49f0f">  164</a></span>  ffi::Array&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0f87f9ee3e853bea827593ca9fb49f0f">emitted_vars</a>;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a74aaba8698160f1bdeeeb94a2f332772">  170</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a74aaba8698160f1bdeeeb94a2f332772">block_ended</a>;</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a7c342512bdcfbe1e67420afd1956ddf3">  175</a></span>  ffi::Array&lt;tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a7c342512bdcfbe1e67420afd1956ddf3">output_vars</a>;</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0693c6b35821d91431bcb59829c4a464">  177</a></span>  ffi::Map&lt;tvm::Var, Span&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0693c6b35821d91431bcb59829c4a464">binding_spans</a>;</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
+<div class="foldopen" id="foldopen00179" data-start="{" data-end="}">
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#aeb377e0f179068f76e48fe52724cca86">  179</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#aeb377e0f179068f76e48fe52724cca86">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>    refl::ObjectDef&lt;BindingBlockFrameNode&gt;()</div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>        .def_ro(<span class="stringliteral">&quot;is_dataflow&quot;</span>, &amp;BindingBlockFrameNode::is_dataflow)</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>        .def_ro(<span class="stringliteral">&quot;emitted_vars&quot;</span>, &amp;BindingBlockFrameNode::emitted_vars)</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>        .def_ro(<span class="stringliteral">&quot;output_vars&quot;</span>, &amp;BindingBlockFrameNode::output_vars);</div>
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>    <span class="comment">// `block_ended` is not registered as it&#39;s not visited.</span></div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>  }</div>
+</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a2c69ebf7d4c1abc75d2495dd05e62923">  187</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a2c69ebf7d4c1abc75d2495dd05e62923">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.BindingBlockFrame&quot;</span>,</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">BindingBlockFrameNode</a>, <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">RelaxFrameNode</a>);</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#ad2fb67f89febf5a385a105d488c316cc">  191</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#ad2fb67f89febf5a385a105d488c316cc">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a9c6e81af397146ddfd84a9f193d0a748">  192</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
+<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>};</div>
+</div>
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span> </div>
+<div class="foldopen" id="foldopen00195" data-start="{" data-end="};">
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">  195</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">BindingBlockFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrame.html">RelaxFrame</a> {</div>
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00197" data-start="{" data-end="}">
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#ad94eb6d073c49ff04a8d4662fcd75144">  197</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#ad94eb6d073c49ff04a8d4662fcd75144">BindingBlockFrame</a>(ffi::ObjectPtr&lt;BindingBlockFrameNode&gt; data) : <a class="code hl_class" h [...]
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>  }</div>
+</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#a68f395c8f557033dc740647546bfe22c">  200</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#a68f395c8f557033dc740647546bfe22c">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBloc [...]
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>                                                <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">BindingBlockFrameNode</a>);</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>};</div>
+</div>
+<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span> </div>
+<div class="foldopen" id="foldopen00209" data-start="{" data-end="};">
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html">  209</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html">IfFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">RelaxFrameNode</a> {</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a9821c9fed205e193abd4c405e77a7ffe">  212</a></span>  <a class="code hl_class" href="classtvm_1_1Expr.html">tvm::relax::Expr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a9821c9fed205e193abd4c405e77a7ffe">condition</a>;</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a416c388c64c6ca85d99e386258012a4e">  214</a></span>  ffi::Optional&lt;tvm::relax::Expr&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a416c388c64c6ca85d99e386258012a4e">then_expr</a>;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ada0a650eb19a475314373876b310164a">  216</a></span>  ffi::Optional&lt;tvm::relax::Expr&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ada0a650eb19a475314373876b310164a">else_expr</a>;</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5">  218</a></span>  <a class="code hl_class" href="classtvm_1_1Var.html">tvm::Var</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5">var</a>;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">  220</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">var_name</a>;</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span> </div>
+<div class="foldopen" id="foldopen00222" data-start="{" data-end="}">
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a90bdff6cf73f875ec5ba39db55826cbe">  222</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a90bdff6cf73f875ec5ba39db55826cbe">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>    refl::ObjectDef&lt;IfFrameNode&gt;()</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>        .def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;IfFrameNode::condition)</div>
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>        .def_ro(<span class="stringliteral">&quot;then_expr&quot;</span>, &amp;IfFrameNode::then_expr)</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>        .def_ro(<span class="stringliteral">&quot;else_expr&quot;</span>, &amp;IfFrameNode::else_expr)</div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span>        .def_ro(<span class="stringliteral">&quot;var&quot;</span>, &amp;IfFrameNode::var)</div>
+<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>        .def_ro(<span class="stringliteral">&quot;var_name&quot;</span>, &amp;IfFrameNode::var_name);</div>
+<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>  }</div>
+</div>
+<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a232b0699f469c3ab60302099dd0371c9">  231</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a232b0699f469c3ab60302099dd0371c9">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.IfFrame&quot;</span>, <a class="code hl_class" href="c [...]
+<div class="line"><a id="l00232" name="l00232"></a><span class="lineno">  232</span> </div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a81742de1e4587c0f8fa7318e84ce54fc">  238</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a81742de1e4587c0f8fa7318e84ce54fc">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#af7b9b33ae049b9fe735b50a814e29c92">  243</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>};</div>
+</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="foldopen" id="foldopen00251" data-start="{" data-end="};">
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">  251</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">IfFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrame.html">RelaxFrame</a> {</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00253" data-start="{" data-end="}">
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#abd5e125b569a7f39be94aadb6c4d5286">  253</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#abd5e125b569a7f39be94aadb6c4d5286">IfFrame</a>(ffi::ObjectPtr&lt;IfFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1 [...]
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>  }</div>
+</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#a0ed91eaa893bd059fae92e4b577a733f">  256</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#a0ed91eaa893bd059fae92e4b577a733f">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">IfFrame</a>, <a c [...]
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>};</div>
+</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> </div>
+<div class="foldopen" id="foldopen00264" data-start="{" data-end="};">
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html">  264</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html">ThenFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a> {</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00266" data-start="{" data-end="}">
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a88a4caa8a671342c0cbb0f0fa851da4a">  266</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a88a4caa8a671342c0cbb0f0fa851da4a">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>    refl::ObjectDef&lt;ThenFrameNode&gt;();</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>  }</div>
+</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ab8a14a7824787f5adda7b63d77ac8c03">  270</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ab8a14a7824787f5adda7b63d77ac8c03">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.ThenFrame&quot;</span>, <a class="code hl_class" h [...]
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a>);</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a1335957cab5c174bf967ed3990cb76ea">  278</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a1335957cab5c174bf967ed3990cb76ea">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ae8d6c2ae184fc9243fe1c96f61535a80">  283</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>};</div>
+</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span> </div>
+<div class="foldopen" id="foldopen00291" data-start="{" data-end="};">
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">  291</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">ThenFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">SeqExprFrame</a> {</div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00293" data-start="{" data-end="}">
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a9ba280b34bd1ad8438774aee57c56e5b">  293</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a9ba280b34bd1ad8438774aee57c56e5b">ThenFrame</a>(ffi::ObjectPtr&lt;ThenFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__b [...]
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>  }</div>
+</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a28c793d60f9284ce30179b998ca1a704">  296</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a28c793d60f9284ce30179b998ca1a704">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">ThenFrame</ [...]
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span>};</div>
+</div>
+<div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span> </div>
+<div class="foldopen" id="foldopen00304" data-start="{" data-end="};">
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html">  304</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html">ElseFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a> {</div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00306" data-start="{" data-end="}">
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#a4aca653042fb29a2dbe70591c4df12eb">  306</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#a4aca653042fb29a2dbe70591c4df12eb">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span>    refl::ObjectDef&lt;ElseFrameNode&gt;();</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span>  }</div>
+</div>
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#ad3d8cc6b82f2f69904245775496eb27b">  310</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#ad3d8cc6b82f2f69904245775496eb27b">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.relax.ElseFrame&quot;</span>, <a class="code hl_class" h [...]
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrameNode.html">SeqExprFrameNode</a>);</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#aec821783aa09d06ce70865362658693e">  318</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#aec821783aa09d06ce70865362658693e">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#abe63be5967d4d9b6a5a29cbb24ec1f6f">  323</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
+<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>};</div>
+</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span> </div>
+<div class="foldopen" id="foldopen00331" data-start="{" data-end="};">
+<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">  331</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">ElseFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">SeqExprFrame</a> {</div>
+<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00333" data-start="{" data-end="}">
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#a89deb948b4722646d4f3e6c6728d19fb">  333</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#a89deb948b4722646d4f3e6c6728d19fb">ElseFrame</a>(ffi::ObjectPtr&lt;ElseFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__b [...]
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span>  }</div>
+</div>
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#abec8fedf2430397e1a694c742061d45f">  336</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#abec8fedf2430397e1a694c742061d45f">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">ElseFrame</ [...]
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>};</div>
+</div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span> </div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span>}  <span class="comment">// namespace relax</span></div>
+</div>
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>}  <span class="comment">// namespace ir_builder</span></div>
+</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>}  <span class="comment">// namespace script</span></div>
+</div>
+<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>}  <span class="comment">// namespace tvm</span></div>
+<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span> </div>
+<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span><span class="preprocessor">#endif  </span><span class="comment">// TVM_RELAX_SCRIPT_IR_BUILDER_FRAME_H_</span></div>
 <div class="ttc" id="ablock__builder_8h_html"><div class="ttname"><a href="block__builder_8h.html">block_builder.h</a></div><div class="ttdoc">The utility for constructing Relax binding blocks.</div></div>
 <div class="ttc" id="aclasstvm_1_1Expr_html"><div class="ttname"><a href="classtvm_1_1Expr.html">tvm::Expr</a></div><div class="ttdoc">Managed reference to ExprNode.</div><div class="ttdef"><b>Definition</b> base_expr.h:336</div></div>
 <div class="ttc" id="aclasstvm_1_1Var_html"><div class="ttname"><a href="classtvm_1_1Var.html">tvm::Var</a></div><div class="ttdoc">Managed reference to VarNode.</div><div class="ttdef"><b>Definition</b> expr.h:375</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1BlockBuilder_html"><div class="ttname"><a href="classtvm_1_1relax_1_1BlockBuilder.html">tvm::relax::BlockBuilder</a></div><div class="ttdef"><b>Definition</b> block_builder.h:257</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></div><div class="ttdoc">A stack frame of the IRBuilder used to keep track of the current scope. Furthermore,...</div><div class="ttdef"><b>Definition</b> base.h:43</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html">tvm::script::ir_builder::IRBuilderFrame</a></div><div class="ttdoc">Managed reference to an IRBuilderFrameNode.</div><div class="ttdef"><b>Definition</b> base.h:85</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">tvm::script::ir_builder::relax::BindingBlockFrameNode</a></div><div class="ttdoc">The ir_builder frame for relax binding blocks.</div><div class="ttdef"><b>Definition</b> frame.h:162</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a0693c6b35821d91431bcb59829c4a464"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0693c6b35821d91431bcb59829c4a464">tvm::script::ir_builder::relax::BindingBlockFrameNode::binding_spans</a></div><div class="ttdeci">ffi::Map&lt; tvm::Var, Span &gt; binding_spans</div><div class="ttdoc">Statement ranges for explicitly emitted bindings.</div>< [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a0f87f9ee3e853bea827593ca9fb49f0f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0f87f9ee3e853bea827593ca9fb49f0f">tvm::script::ir_builder::relax::BindingBlockFrameNode::emitted_vars</a></div><div class="ttdeci">ffi::Array&lt; tvm::Var &gt; emitted_vars</div><div class="ttdoc">The variables emitted in this block.</div><div class="ttdef">< [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html">tvm::script::ir_builder::relax::BindingBlockFrameNode</a></div><div class="ttdoc">The ir_builder frame for relax binding blocks.</div><div class="ttdef"><b>Definition</b> frame.h:159</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a0693c6b35821d91431bcb59829c4a464"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0693c6b35821d91431bcb59829c4a464">tvm::script::ir_builder::relax::BindingBlockFrameNode::binding_spans</a></div><div class="ttdeci">ffi::Map&lt; tvm::Var, Span &gt; binding_spans</div><div class="ttdoc">Statement ranges for explicitly emitted bindings.</div>< [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a0f87f9ee3e853bea827593ca9fb49f0f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a0f87f9ee3e853bea827593ca9fb49f0f">tvm::script::ir_builder::relax::BindingBlockFrameNode::emitted_vars</a></div><div class="ttdeci">ffi::Array&lt; tvm::Var &gt; emitted_vars</div><div class="ttdoc">The variables emitted in this block.</div><div class="ttdef">< [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a2c69ebf7d4c1abc75d2495dd05e62923"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a2c69ebf7d4c1abc75d2495dd05e62923">tvm::script::ir_builder::relax::BindingBlockFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.relax.BindingBlockFrame&quot;, BindingBlockFrameN [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a74aaba8698160f1bdeeeb94a2f332772"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a74aaba8698160f1bdeeeb94a2f332772">tvm::script::ir_builder::relax::BindingBlockFrameNode::block_ended</a></div><div class="ttdeci">bool block_ended</div><div class="ttdoc">A boolean indicating if the dataflow block is ended of construction. If it is true,...</ [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a766102d250c6fc8e95a4b6cb9df186a1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a766102d250c6fc8e95a4b6cb9df186a1">tvm::script::ir_builder::relax::BindingBlockFrameNode::is_dataflow</a></div><div class="ttdeci">bool is_dataflow</div><div class="ttdoc">The flag that indicates whether the block is a dataflow block.</div><div class="ttdef">< [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a7c342512bdcfbe1e67420afd1956ddf3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a7c342512bdcfbe1e67420afd1956ddf3">tvm::script::ir_builder::relax::BindingBlockFrameNode::output_vars</a></div><div class="ttdeci">ffi::Array&lt; tvm::Var &gt; output_vars</div><div class="ttdoc">The output vars of the dataflow block.</div><div class="ttdef">< [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a74aaba8698160f1bdeeeb94a2f332772"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a74aaba8698160f1bdeeeb94a2f332772">tvm::script::ir_builder::relax::BindingBlockFrameNode::block_ended</a></div><div class="ttdeci">bool block_ended</div><div class="ttdoc">A boolean indicating if the dataflow block is ended of construction. If it is true,...</ [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a766102d250c6fc8e95a4b6cb9df186a1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a766102d250c6fc8e95a4b6cb9df186a1">tvm::script::ir_builder::relax::BindingBlockFrameNode::is_dataflow</a></div><div class="ttdeci">bool is_dataflow</div><div class="ttdoc">The flag that indicates whether the block is a dataflow block.</div><div class="ttdef">< [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_a7c342512bdcfbe1e67420afd1956ddf3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#a7c342512bdcfbe1e67420afd1956ddf3">tvm::script::ir_builder::relax::BindingBlockFrameNode::output_vars</a></div><div class="ttdeci">ffi::Array&lt; tvm::Var &gt; output_vars</div><div class="ttdoc">The output vars of the dataflow block.</div><div class="ttdef">< [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_ad2fb67f89febf5a385a105d488c316cc"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#ad2fb67f89febf5a385a105d488c316cc">tvm::script::ir_builder::relax::BindingBlockFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_aeb377e0f179068f76e48fe52724cca86"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#aeb377e0f179068f76e48fe52724cca86">tvm::script::ir_builder::relax::BindingBlockFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:182</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">tvm::script::ir_builder::relax::BindingBlockFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:198</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode_html_aeb377e0f179068f76e48fe52724cca86"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrameNode.html#aeb377e0f179068f76e48fe52724cca86">tvm::script::ir_builder::relax::BindingBlockFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:179</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">tvm::script::ir_builder::relax::BindingBlockFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:195</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html_a68f395c8f557033dc740647546bfe22c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#a68f395c8f557033dc740647546bfe22c">tvm::script::ir_builder::relax::BindingBlockFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(BindingBlockFrame, RelaxFrame, BindingBlockFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html_ad94eb6d073c49ff04a8d4662fcd75144"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#ad94eb6d073c49ff04a8d4662fcd75144">tvm::script::ir_builder::relax::BindingBlockFrame::BindingBlockFrame</a></div><div class="ttdeci">BindingBlockFrame(ffi::ObjectPtr&lt; BindingBlockFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:200</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html">tvm::script::ir_builder::relax::ElseFrameNode</a></div><div class="ttdoc">A frame that represents else.</div><div class="ttdef"><b>Definition</b> frame.h:307</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode_html_a4aca653042fb29a2dbe70591c4df12eb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#a4aca653042fb29a2dbe70591c4df12eb">tvm::script::ir_builder::relax::ElseFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:309</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html_ad94eb6d073c49ff04a8d4662fcd75144"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html#ad94eb6d073c49ff04a8d4662fcd75144">tvm::script::ir_builder::relax::BindingBlockFrame::BindingBlockFrame</a></div><div class="ttdeci">BindingBlockFrame(ffi::ObjectPtr&lt; BindingBlockFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:197</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html">tvm::script::ir_builder::relax::ElseFrameNode</a></div><div class="ttdoc">A frame that represents else.</div><div class="ttdef"><b>Definition</b> frame.h:304</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode_html_a4aca653042fb29a2dbe70591c4df12eb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#a4aca653042fb29a2dbe70591c4df12eb">tvm::script::ir_builder::relax::ElseFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:306</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode_html_ad3d8cc6b82f2f69904245775496eb27b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#ad3d8cc6b82f2f69904245775496eb27b">tvm::script::ir_builder::relax::ElseFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.relax.ElseFrame&quot;, ElseFrameNode, SeqExprFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode_html_aec821783aa09d06ce70865362658693e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrameNode.html#aec821783aa09d06ce70865362658693e">tvm::script::ir_builder::relax::ElseFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">tvm::script::ir_builder::relax::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:334</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html_a89deb948b4722646d4f3e6c6728d19fb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#a89deb948b4722646d4f3e6c6728d19fb">tvm::script::ir_builder::relax::ElseFrame::ElseFrame</a></div><div class="ttdeci">ElseFrame(ffi::ObjectPtr&lt; ElseFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:336</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">tvm::script::ir_builder::relax::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:331</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html_a89deb948b4722646d4f3e6c6728d19fb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#a89deb948b4722646d4f3e6c6728d19fb">tvm::script::ir_builder::relax::ElseFrame::ElseFrame</a></div><div class="ttdeci">ElseFrame(ffi::ObjectPtr&lt; ElseFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:333</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html_abec8fedf2430397e1a694c742061d45f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html#abec8fedf2430397e1a694c742061d45f">tvm::script::ir_builder::relax::ElseFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(ElseFrame, SeqExprFrame, ElseFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html">tvm::script::ir_builder::relax::FunctionFrameNode</a></div><div class="ttdoc">The ir_builder frame for the relax function.</div><div class="ttdef"><b>Definition</b> frame.h:92</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a08817c8c879fedbf4af38435dadce024"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a08817c8c879fedbf4af38435dadce024">tvm::script::ir_builder::relax::FunctionFrameNode::block_builder</a></div><div class="ttdeci">tvm::relax::BlockBuilder block_builder</div><div class="ttdoc">The block builder to create Relax function.</div><div class="ttdef"><b>Defin [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a08817c8c879fedbf4af38435dadce024"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a08817c8c879fedbf4af38435dadce024">tvm::script::ir_builder::relax::FunctionFrameNode::block_builder</a></div><div class="ttdeci">tvm::relax::BlockBuilder block_builder</div><div class="ttdoc">The block builder to create Relax function.</div><div class="ttdef"><b>Defin [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a0e2fcdb6ee652c809f761efa0c0b2d2e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a0e2fcdb6ee652c809f761efa0c0b2d2e">tvm::script::ir_builder::relax::FunctionFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.relax.FunctionFrame&quot;, FunctionFrameNode, SeqExprFrameNod [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a1cd8e869ddb57a8c3dc1b620df052217"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a1cd8e869ddb57a8c3dc1b620df052217">tvm::script::ir_builder::relax::FunctionFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a258c15dd13b9c4c9c4367f031f7c7936"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a258c15dd13b9c4c9c4367f031f7c7936">tvm::script::ir_builder::relax::FunctionFrameNode::declaration</a></div><div class="ttdeci">bool declaration</div><div class="ttdoc">Whether this frame constructs only a function signature.</div><div class="ttdef"><b>Definition</b> f [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a2e1e88114fa7e1fdd63bd7211a3d04a7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a2e1e88114fa7e1fdd63bd7211a3d04a7">tvm::script::ir_builder::relax::FunctionFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:130</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a549ac2489d26031f8ea996891e177773"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a549ac2489d26031f8ea996891e177773">tvm::script::ir_builder::relax::FunctionFrameNode::local</a></div><div class="ttdeci">bool local</div><div class="ttdef"><b>Definition</b> frame.h:124</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a258c15dd13b9c4c9c4367f031f7c7936"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a258c15dd13b9c4c9c4367f031f7c7936">tvm::script::ir_builder::relax::FunctionFrameNode::declaration</a></div><div class="ttdeci">bool declaration</div><div class="ttdoc">Whether this frame constructs only a function signature.</div><div class="ttdef"><b>Definition</b> f [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a2e1e88114fa7e1fdd63bd7211a3d04a7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a2e1e88114fa7e1fdd63bd7211a3d04a7">tvm::script::ir_builder::relax::FunctionFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:128</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a549ac2489d26031f8ea996891e177773"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a549ac2489d26031f8ea996891e177773">tvm::script::ir_builder::relax::FunctionFrameNode::local</a></div><div class="ttdeci">bool local</div><div class="ttdef"><b>Definition</b> frame.h:122</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a58c27b860e11ed926d4f29335c7dea07"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a58c27b860e11ed926d4f29335c7dea07">tvm::script::ir_builder::relax::FunctionFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a5a1122b6247dabe055f33a9a9da33809"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">tvm::script::ir_builder::relax::FunctionFrameNode::ret_ty</a></div><div class="ttdeci">ffi::Optional&lt; tvm::Type &gt; ret_ty</div><div class="ttdoc">The function return type.</div><div class="ttdef"><b>Definition</b> frame.h:113</d [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a5a9cb5d4fe6fb47d52fde39fefda06dc"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">tvm::script::ir_builder::relax::FunctionFrameNode::global_var</a></div><div class="ttdeci">ffi::Optional&lt; tvm::GlobalVar &gt; global_var</div><div class="ttdef"><b>Definition</b> frame.h:128</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a6f8c4140f9a7300fb6a809e85e12b404"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">tvm::script::ir_builder::relax::FunctionFrameNode::params</a></div><div class="ttdeci">ffi::Array&lt; tvm::Var &gt; params</div><div class="ttdoc">The function params.</div><div class="ttdef"><b>Definition</b> frame.h:103</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a812d7496fe9a06c33c551294d624c3df"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a812d7496fe9a06c33c551294d624c3df">tvm::script::ir_builder::relax::FunctionFrameNode::is_private</a></div><div class="ttdeci">ffi::Optional&lt; bool &gt; is_private</div><div class="ttdoc">Whether the function is annotated as private.</div><div class="ttdef"><b>Defini [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a5a1122b6247dabe055f33a9a9da33809"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809">tvm::script::ir_builder::relax::FunctionFrameNode::ret_ty</a></div><div class="ttdeci">ffi::Optional&lt; tvm::Type &gt; ret_ty</div><div class="ttdoc">The function return type.</div><div class="ttdef"><b>Definition</b> frame.h:111</d [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a5a9cb5d4fe6fb47d52fde39fefda06dc"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a9cb5d4fe6fb47d52fde39fefda06dc">tvm::script::ir_builder::relax::FunctionFrameNode::global_var</a></div><div class="ttdeci">ffi::Optional&lt; tvm::GlobalVar &gt; global_var</div><div class="ttdef"><b>Definition</b> frame.h:126</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a6f8c4140f9a7300fb6a809e85e12b404"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a6f8c4140f9a7300fb6a809e85e12b404">tvm::script::ir_builder::relax::FunctionFrameNode::params</a></div><div class="ttdeci">ffi::Array&lt; tvm::Var &gt; params</div><div class="ttdoc">The function params.</div><div class="ttdef"><b>Definition</b> frame.h:101</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a812d7496fe9a06c33c551294d624c3df"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a812d7496fe9a06c33c551294d624c3df">tvm::script::ir_builder::relax::FunctionFrameNode::is_private</a></div><div class="ttdeci">ffi::Optional&lt; bool &gt; is_private</div><div class="ttdoc">Whether the function is annotated as private.</div><div class="ttdef"><b>Defini [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a93620dafc7b4b72fd06983dd3bbe48d8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a93620dafc7b4b72fd06983dd3bbe48d8">tvm::script::ir_builder::relax::FunctionFrameNode::name</a></div><div class="ttdeci">ffi::Optional&lt; ffi::String &gt; name</div><div class="ttdoc">The function name.</div><div class="ttdef"><b>Definition</b> frame.h:99</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a949cc6f89a95b576af51f2ee3c757ff5"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">tvm::script::ir_builder::relax::FunctionFrameNode::attrs</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, Any &gt; attrs</div><div class="ttdoc">The function attributes.</div><div class="ttdef"><b>Definition</b> frame.h:119</di [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a95af9e4febf73cb8b0b36952f14130d4"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">tvm::script::ir_builder::relax::FunctionFrameNode::is_pure</a></div><div class="ttdeci">ffi::Optional&lt; bool &gt; is_pure</div><div class="ttdoc">Whether the function is annotated as pure.</div><div class="ttdef"><b>Definition</b>  [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_ac8b2e51545488bf087437c53af2074f8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">tvm::script::ir_builder::relax::FunctionFrameNode::local_var</a></div><div class="ttdeci">ffi::Optional&lt; tvm::Var &gt; local_var</div><div class="ttdef"><b>Definition</b> frame.h:125</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_acf739b335fb410ace8736e5c1f927357"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">tvm::script::ir_builder::relax::FunctionFrameNode::function</a></div><div class="ttdeci">ffi::Optional&lt; tvm::relax::Function &gt; function</div><div class="ttdoc">Finalized function and its stable module reference.</div><div class [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_aff3ace5fc634044d12909bf0d477cd7d"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d">tvm::script::ir_builder::relax::FunctionFrameNode::type_var_map</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, tvm::Var &gt; type_var_map</div><div class="ttdoc">Function-local symbols retained across declaration and body ent [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">tvm::script::ir_builder::relax::FunctionFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:153</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a949cc6f89a95b576af51f2ee3c757ff5"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a949cc6f89a95b576af51f2ee3c757ff5">tvm::script::ir_builder::relax::FunctionFrameNode::attrs</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, Any &gt; attrs</div><div class="ttdoc">The function attributes.</div><div class="ttdef"><b>Definition</b> frame.h:117</di [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_a95af9e4febf73cb8b0b36952f14130d4"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a95af9e4febf73cb8b0b36952f14130d4">tvm::script::ir_builder::relax::FunctionFrameNode::is_pure</a></div><div class="ttdeci">ffi::Optional&lt; bool &gt; is_pure</div><div class="ttdoc">Whether the function is annotated as pure.</div><div class="ttdef"><b>Definition</b>  [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_ac8b2e51545488bf087437c53af2074f8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#ac8b2e51545488bf087437c53af2074f8">tvm::script::ir_builder::relax::FunctionFrameNode::local_var</a></div><div class="ttdeci">ffi::Optional&lt; tvm::Var &gt; local_var</div><div class="ttdef"><b>Definition</b> frame.h:123</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode_html_acf739b335fb410ace8736e5c1f927357"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#acf739b335fb410ace8736e5c1f927357">tvm::script::ir_builder::relax::FunctionFrameNode::function</a></div><div class="ttdeci">ffi::Optional&lt; tvm::relax::Function &gt; function</div><div class="ttdoc">Finalized function and its stable module reference.</div><div class [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">tvm::script::ir_builder::relax::FunctionFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:150</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html_af9097351681d8f6be2280e18b264fef2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af9097351681d8f6be2280e18b264fef2">tvm::script::ir_builder::relax::FunctionFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(FunctionFrame, SeqExprFrame, FunctionFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html_af93069dfc97056b88dc3477656dab69c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af93069dfc97056b88dc3477656dab69c">tvm::script::ir_builder::relax::FunctionFrame::FunctionFrame</a></div><div class="ttdeci">FunctionFrame(ffi::ObjectPtr&lt; FunctionFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:155</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html">tvm::script::ir_builder::relax::IfFrameNode</a></div><div class="ttdoc">A frame that represents if statement.</div><div class="ttdef"><b>Definition</b> frame.h:212</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html_af93069dfc97056b88dc3477656dab69c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html#af93069dfc97056b88dc3477656dab69c">tvm::script::ir_builder::relax::FunctionFrame::FunctionFrame</a></div><div class="ttdeci">FunctionFrame(ffi::ObjectPtr&lt; FunctionFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:152</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html">tvm::script::ir_builder::relax::IfFrameNode</a></div><div class="ttdoc">A frame that represents if statement.</div><div class="ttdef"><b>Definition</b> frame.h:209</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a232b0699f469c3ab60302099dd0371c9"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a232b0699f469c3ab60302099dd0371c9">tvm::script::ir_builder::relax::IfFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.relax.IfFrame&quot;, IfFrameNode, RelaxFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a416c388c64c6ca85d99e386258012a4e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a416c388c64c6ca85d99e386258012a4e">tvm::script::ir_builder::relax::IfFrameNode::then_expr</a></div><div class="ttdeci">ffi::Optional&lt; tvm::relax::Expr &gt; then_expr</div><div class="ttdoc">The Bindings in the true branch.</div><div class="ttdef"><b>Definition</b> frame.h:217< [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a416c388c64c6ca85d99e386258012a4e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a416c388c64c6ca85d99e386258012a4e">tvm::script::ir_builder::relax::IfFrameNode::then_expr</a></div><div class="ttdeci">ffi::Optional&lt; tvm::relax::Expr &gt; then_expr</div><div class="ttdoc">The Bindings in the true branch.</div><div class="ttdef"><b>Definition</b> frame.h:214< [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a81742de1e4587c0f8fa7318e84ce54fc"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a81742de1e4587c0f8fa7318e84ce54fc">tvm::script::ir_builder::relax::IfFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a90bdff6cf73f875ec5ba39db55826cbe"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a90bdff6cf73f875ec5ba39db55826cbe">tvm::script::ir_builder::relax::IfFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:225</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a9821c9fed205e193abd4c405e77a7ffe"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a9821c9fed205e193abd4c405e77a7ffe">tvm::script::ir_builder::relax::IfFrameNode::condition</a></div><div class="ttdeci">tvm::relax::Expr condition</div><div class="ttdoc">The condition of the if statement.</div><div class="ttdef"><b>Definition</b> frame.h:215</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_ab7e517b6100fa4c236bd88cc1a9a600a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">tvm::script::ir_builder::relax::IfFrameNode::var_name</a></div><div class="ttdeci">ffi::String var_name</div><div class="ttdoc">The binding var name.</div><div class="ttdef"><b>Definition</b> frame.h:223</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_ada0a650eb19a475314373876b310164a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ada0a650eb19a475314373876b310164a">tvm::script::ir_builder::relax::IfFrameNode::else_expr</a></div><div class="ttdeci">ffi::Optional&lt; tvm::relax::Expr &gt; else_expr</div><div class="ttdoc">The Bindings in the false branch.</div><div class="ttdef"><b>Definition</b> frame.h:219 [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_add326ea061e3521c1ee2179a75960fb5"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5">tvm::script::ir_builder::relax::IfFrameNode::var</a></div><div class="ttdeci">tvm::Var var</div><div class="ttdoc">The Binding var.</div><div class="ttdef"><b>Definition</b> frame.h:221</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">tvm::script::ir_builder::relax::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:254</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a90bdff6cf73f875ec5ba39db55826cbe"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a90bdff6cf73f875ec5ba39db55826cbe">tvm::script::ir_builder::relax::IfFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:222</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_a9821c9fed205e193abd4c405e77a7ffe"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#a9821c9fed205e193abd4c405e77a7ffe">tvm::script::ir_builder::relax::IfFrameNode::condition</a></div><div class="ttdeci">tvm::relax::Expr condition</div><div class="ttdoc">The condition of the if statement.</div><div class="ttdef"><b>Definition</b> frame.h:212</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_ab7e517b6100fa4c236bd88cc1a9a600a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a">tvm::script::ir_builder::relax::IfFrameNode::var_name</a></div><div class="ttdeci">ffi::String var_name</div><div class="ttdoc">The binding var name.</div><div class="ttdef"><b>Definition</b> frame.h:220</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_ada0a650eb19a475314373876b310164a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ada0a650eb19a475314373876b310164a">tvm::script::ir_builder::relax::IfFrameNode::else_expr</a></div><div class="ttdeci">ffi::Optional&lt; tvm::relax::Expr &gt; else_expr</div><div class="ttdoc">The Bindings in the false branch.</div><div class="ttdef"><b>Definition</b> frame.h:216 [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode_html_add326ea061e3521c1ee2179a75960fb5"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5">tvm::script::ir_builder::relax::IfFrameNode::var</a></div><div class="ttdeci">tvm::Var var</div><div class="ttdoc">The Binding var.</div><div class="ttdef"><b>Definition</b> frame.h:218</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">tvm::script::ir_builder::relax::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:251</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html_a0ed91eaa893bd059fae92e4b577a733f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#a0ed91eaa893bd059fae92e4b577a733f">tvm::script::ir_builder::relax::IfFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(IfFrame, RelaxFrame, IfFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html_abd5e125b569a7f39be94aadb6c4d5286"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#abd5e125b569a7f39be94aadb6c4d5286">tvm::script::ir_builder::relax::IfFrame::IfFrame</a></div><div class="ttdeci">IfFrame(ffi::ObjectPtr&lt; IfFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:256</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html_abd5e125b569a7f39be94aadb6c4d5286"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html#abd5e125b569a7f39be94aadb6c4d5286">tvm::script::ir_builder::relax::IfFrame::IfFrame</a></div><div class="ttdeci">IfFrame(ffi::ObjectPtr&lt; IfFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:253</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html">tvm::script::ir_builder::relax::RelaxFrameNode</a></div><div class="ttdoc">The base ir_builder frame for the relax dialect.</div><div class="ttdef"><b>Definition</b> frame.h:37</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode_html_a8e838b2392b3b0b42e015b6435fdac76"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html#a8e838b2392b3b0b42e015b6435fdac76">tvm::script::ir_builder::relax::RelaxFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:39</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode_html_ad3b6bdfb705544638103dd2fde2ca0b0"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html#ad3b6bdfb705544638103dd2fde2ca0b0">tvm::script::ir_builder::relax::RelaxFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO(&quot;script.ir_builder.relax.RelaxFrame&quot;, RelaxFrameNode, IRBuilderFrameNode)</div></div>
@@ -464,13 +461,13 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html">tvm::script::ir_builder::relax::SeqExprFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:83</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame_html_a0104b0133047ae523afeddf00afeda50"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html#a0104b0133047ae523afeddf00afeda50">tvm::script::ir_builder::relax::SeqExprFrame::SeqExprFrame</a></div><div class="ttdeci">SeqExprFrame(ffi::ObjectPtr&lt; SeqExprFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:85</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame_html_ab44438298bee615ae88322420a107b02"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1SeqExprFrame.html#ab44438298bee615ae88322420a107b02">tvm::script::ir_builder::relax::SeqExprFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(SeqExprFrame, RelaxFrame, SeqExprFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html">tvm::script::ir_builder::relax::ThenFrameNode</a></div><div class="ttdoc">A frame that represents then.</div><div class="ttdef"><b>Definition</b> frame.h:267</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html">tvm::script::ir_builder::relax::ThenFrameNode</a></div><div class="ttdoc">A frame that represents then.</div><div class="ttdef"><b>Definition</b> frame.h:264</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode_html_a1335957cab5c174bf967ed3990cb76ea"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a1335957cab5c174bf967ed3990cb76ea">tvm::script::ir_builder::relax::ThenFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode_html_a88a4caa8a671342c0cbb0f0fa851da4a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a88a4caa8a671342c0cbb0f0fa851da4a">tvm::script::ir_builder::relax::ThenFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:269</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode_html_a88a4caa8a671342c0cbb0f0fa851da4a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#a88a4caa8a671342c0cbb0f0fa851da4a">tvm::script::ir_builder::relax::ThenFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:266</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode_html_ab8a14a7824787f5adda7b63d77ac8c03"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrameNode.html#ab8a14a7824787f5adda7b63d77ac8c03">tvm::script::ir_builder::relax::ThenFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.relax.ThenFrame&quot;, ThenFrameNode, SeqExprFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">tvm::script::ir_builder::relax::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:294</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">tvm::script::ir_builder::relax::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:291</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html_a28c793d60f9284ce30179b998ca1a704"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a28c793d60f9284ce30179b998ca1a704">tvm::script::ir_builder::relax::ThenFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(ThenFrame, SeqExprFrame, ThenFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html_a9ba280b34bd1ad8438774aee57c56e5b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a9ba280b34bd1ad8438774aee57c56e5b">tvm::script::ir_builder::relax::ThenFrame::ThenFrame</a></div><div class="ttdeci">ThenFrame(ffi::ObjectPtr&lt; ThenFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:296</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html_a9ba280b34bd1ad8438774aee57c56e5b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html#a9ba280b34bd1ad8438774aee57c56e5b">tvm::script::ir_builder::relax::ThenFrame::ThenFrame</a></div><div class="ttdeci">ThenFrame(ffi::ObjectPtr&lt; ThenFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:293</div></div>
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition</b> attr_registry_map.h:31</div></div>
 <div class="ttc" id="arelax_2expr_8h_html"><div class="ttname"><a href="relax_2expr_8h.html">expr.h</a></div></div>
 <div class="ttc" id="ascript_2ir__builder_2base_8h_html"><div class="ttname"><a href="script_2ir__builder_2base_8h.html">base.h</a></div></div>
diff --git a/docs/reference/api/doxygen/relax_2script_2ir__builder_2ir_8h_source.html b/docs/reference/api/doxygen/relax_2script_2ir__builder_2ir_8h_source.html
index e84dc37bc2d..02248b6f2a4 100644
--- a/docs/reference/api/doxygen/relax_2script_2ir__builder_2ir_8h_source.html
+++ b/docs/reference/api/doxygen/relax_2script_2ir__builder_2ir_8h_source.html
@@ -173,11 +173,11 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1Var_html"><div class="ttname"><a href="classtvm_1_1Var.html">tvm::Var</a></div><div class="ttdoc">Managed reference to VarNode.</div><div class="ttdef"><b>Definition</b> expr.h:375</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1VDevice_html"><div class="ttname"><a href="classtvm_1_1relax_1_1VDevice.html">tvm::relax::VDevice</a></div><div class="ttdoc">Managed reference to VDeviceNode.</div><div class="ttdef"><b>Definition</b> global_info.h:66</div></div>
 <div class="ttc" id="aclasstvm_1_1relax_1_1VarBinding_html"><div class="ttname"><a href="classtvm_1_1relax_1_1VarBinding.html">tvm::relax::VarBinding</a></div><div class="ttdef"><b>Definition</b> expr.h:185</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">tvm::script::ir_builder::relax::BindingBlockFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:198</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">tvm::script::ir_builder::relax::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:334</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">tvm::script::ir_builder::relax::FunctionFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:153</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">tvm::script::ir_builder::relax::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:254</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">tvm::script::ir_builder::relax::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:294</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1BindingBlockFrame.html">tvm::script::ir_builder::relax::BindingBlockFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:195</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ElseFrame.html">tvm::script::ir_builder::relax::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:331</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrame.html">tvm::script::ir_builder::relax::FunctionFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:150</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrame.html">tvm::script::ir_builder::relax::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:251</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1relax_1_1ThenFrame.html">tvm::script::ir_builder::relax::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:291</div></div>
 <div class="ttc" id="anamespacetvm_1_1script_1_1ir__builder_1_1relax_html_a1611a19fe164760c87ec716b164132a2"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder_1_1relax.html#a1611a19fe164760c87ec716b164132a2">tvm::script::ir_builder::relax::EmitMatchCastWithSpan</a></div><div class="ttdeci">tvm::Var EmitMatchCastWithSpan(const tvm::relax::Expr &amp;value, const tvm::Type &amp;ty, const ffi::Optional&lt; Span &gt; &amp;name_span, const ffi::Optional&lt; Span &gt; &amp;span [...]
 <div class="ttc" id="anamespacetvm_1_1script_1_1ir__builder_1_1relax_html_a2c4b43ec366efeac074ba3f8763675b4"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder_1_1relax.html#a2c4b43ec366efeac074ba3f8763675b4">tvm::script::ir_builder::relax::LookupVDevice</a></div><div class="ttdeci">tvm::relax::VDevice LookupVDevice(ffi::String target_kind, int device_index)</div><div class="ttdoc">Find a module virtual device by target kind and index.</div></div>
 <div class="ttc" id="anamespacetvm_1_1script_1_1ir__builder_1_1relax_html_a44374d47afa3ef9582de82cd5ec771ce"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder_1_1relax.html#a44374d47afa3ef9582de82cd5ec771ce">tvm::script::ir_builder::relax::BindingBlock</a></div><div class="ttdeci">BindingBlockFrame BindingBlock()</div><div class="ttdoc">Start a binding block frame.</div></div>
diff --git a/docs/reference/api/doxygen/s__tir_2script_2ir__builder_2frame_8h_source.html b/docs/reference/api/doxygen/s__tir_2script_2ir__builder_2frame_8h_source.html
index b971f0ded0f..f5ad70d3d57 100644
--- a/docs/reference/api/doxygen/s__tir_2script_2ir__builder_2frame_8h_source.html
+++ b/docs/reference/api/doxygen/s__tir_2script_2ir__builder_2frame_8h_source.html
@@ -272,7 +272,7 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrame_html_aa0160cb88e05f8de71dbf2d6978abfed"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrame.html#aa0160cb88e05f8de71dbf2d6978abfed">tvm::script::ir_builder::s_tir::SBlockFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(SBlockFrame, TIRFrame, SBlockFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrame_html_abaf635ba0228b69a410002965390fddb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrame.html#abaf635ba0228b69a410002965390fddb">tvm::script::ir_builder::s_tir::SBlockFrame::SBlockFrame</a></div><div class="ttdeci">SBlockFrame(ffi::ObjectPtr&lt; SBlockFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:125</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></div><div class="ttdoc">A frame that represents the PrimFunc containing TIR statements.</div><div class="ttdef"><b>Definition</b> frame.h:75</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">tvm::script::ir_builder::tirx::PrimFuncFrame</a></div><div class="ttdoc">Managed reference to PrimFuncFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:141</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">tvm::script::ir_builder::tirx::PrimFuncFrame</a></div><div class="ttdoc">Managed reference to PrimFuncFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:138</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">tvm::script::ir_builder::tirx::TIRFrameNode</a></div><div class="ttdoc">A base frame that represents the TIR fame with body of statements.</div><div class="ttdef"><b>Definition</b> frame.h:41</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">tvm::script::ir_builder::tirx::TIRFrame</a></div><div class="ttdoc">Managed reference to TIRFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:61</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1BufferVar_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1BufferVar.html">tvm::tirx::BufferVar</a></div><div class="ttdoc">Checked zero-state view over an ordinary VarNode with BufferType.</div><div class="ttdef"><b>Definition</b> expr.h:50</div></div>
diff --git a/docs/reference/api/doxygen/script_2ir__builder_2base_8h.html b/docs/reference/api/doxygen/script_2ir__builder_2base_8h.html
index 9cf444385aa..86c383a4e42 100644
--- a/docs/reference/api/doxygen/script_2ir__builder_2base_8h.html
+++ b/docs/reference/api/doxygen/script_2ir__builder_2base_8h.html
@@ -75,8 +75,7 @@ $(function() {
 <div class="header">
   <div class="summary">
 <a href="#nested-classes">Classes</a> &#124;
-<a href="#namespaces">Namespaces</a> &#124;
-<a href="#func-members">Functions</a>  </div>
+<a href="#namespaces">Namespaces</a>  </div>
   <div class="headertitle"><div class="title">base.h File Reference</div></div>
 </div><!--header-->
 <div class="contents">
@@ -129,12 +128,6 @@ Namespaces</h2></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:namespacetvm_1_1script_1_1ir__builder_1_1details" id="r_namespacetvm_1_1script_1_1ir__builder_1_1details"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html">tvm::script::ir_builder::details</a></td></tr>
 <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
-</table><table class="memberdecls">
-<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
-Functions</h2></td></tr>
-<tr class="memitem:a8852629d7fefcbca60fab8c2eae58961" id="r_a8852629d7fefcbca60fab8c2eae58961"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classtvm_1_1Var.html">tvm::Var</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">tvm::script::ir_builder::ResolveTypeVar</a> (ffi::Map&lt; ffi::String, <a class="el" href="classtvm_1_1Var.html">tvm::Var</a> &gt; *symbols, c [...]
-<tr class="memdesc:a8852629d7fefcbca60fab8c2eae58961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resolve one symbol in a native function frame's retained map.  <br /></td></tr>
-<tr class="separator:a8852629d7fefcbca60fab8c2eae58961"><td class="memSeparator" colspan="2">&#160;</td></tr>
 </table>
 </div><!-- contents -->
 <!-- start footer part -->
diff --git a/docs/reference/api/doxygen/script_2ir__builder_2base_8h_source.html b/docs/reference/api/doxygen/script_2ir__builder_2base_8h_source.html
index 531c7abda4c..122f80cea2c 100644
--- a/docs/reference/api/doxygen/script_2ir__builder_2base_8h_source.html
+++ b/docs/reference/api/doxygen/script_2ir__builder_2base_8h_source.html
@@ -166,137 +166,132 @@ $(document).ready(function() { init_codefold(0); });
 <div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>};</div>
 </div>
 <div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">  115</a></span>TVM_DLL <a class="code hl_class" href="classtvm_1_1Var.html">tvm::Var</a> <a class="code hl_function" href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">ResolveTypeVar</a>(ffi::Map&lt;ffi::String, tvm::Var&gt;* symbols, <span class="keyword">const</span> ffi::String&amp; [...]
-<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>                                ffi::Optional&lt;PrimType&gt; dtype, ffi::Optional&lt;tvm::Var&gt; value,</div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>                                <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span);</div>
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span> </div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> </div>
-<div class="foldopen" id="foldopen00141" data-start="{" data-end="};">
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">  141</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a> : <span class="keyword">public</span> ffi::Object {</div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">  144</a></span>  ffi::Array&lt;IRBuilderFrame&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>;</div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">  146</a></span>  ffi::Optional&lt;ffi::ObjectRef&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">result</a>;</div>
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a552736edf4c1fac043441331339307e7">  148</a></span>  std::vector&lt;Span&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a552736edf4c1fac043441331339307e7">source_spans</a>;</div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span> </div>
-<div class="foldopen" id="foldopen00150" data-start="{" data-end="}">
-<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#af45f626a7c75b81cc5393d25a3bb148e">  150</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#af45f626a7c75b81cc5393d25a3bb148e">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span>    refl::ObjectDef&lt;IRBuilderNode&gt;()</div>
-<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>        .def_ro(<span class="stringliteral">&quot;frames&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">IRBuilderNode::frames</a>)</div>
-<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>        .def_ro(<span class="stringliteral">&quot;result&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">IRBuilderNode::result</a>);</div>
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span>  }</div>
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span> </div>
+<div class="foldopen" id="foldopen00136" data-start="{" data-end="};">
+<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">  136</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">IRBuilderNode</a> : <span class="keyword">public</span> ffi::Object {</div>
+<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">  139</a></span>  ffi::Array&lt;IRBuilderFrame&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>;</div>
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">  141</a></span>  ffi::Optional&lt;ffi::ObjectRef&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">result</a>;</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a552736edf4c1fac043441331339307e7">  143</a></span>  std::vector&lt;Span&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a552736edf4c1fac043441331339307e7">source_spans</a>;</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span> </div>
+<div class="foldopen" id="foldopen00145" data-start="{" data-end="}">
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#af45f626a7c75b81cc5393d25a3bb148e">  145</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#af45f626a7c75b81cc5393d25a3bb148e">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>    refl::ObjectDef&lt;IRBuilderNode&gt;()</div>
+<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>        .def_ro(<span class="stringliteral">&quot;frames&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">IRBuilderNode::frames</a>)</div>
+<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>        .def_ro(<span class="stringliteral">&quot;result&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">IRBuilderNode::result</a>);</div>
+<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>  }</div>
 </div>
-<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span> </div>
-<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#ae7234be564e059c1ab4bfad3bc1f9ae8">  157</a></span>  <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#ae7234be564e059c1ab4bfad3bc1f9ae8">_type_mutable</a [...]
-<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a60d542971d40f2d20366fecd16f98a12">  158</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a60d542971d40f2d20366fecd16f98a12">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.IRBuilder&quot;</span>, <a class="code hl_class" href="classtvm_1_1script_ [...]
-<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
-<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
-<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span>  <span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">FindFrame</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
-<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>  <span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">GetLastFrame</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TObjectRef&gt;</div>
-<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>  <span class="keyword">inline</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">Get</a>() <span class="keyword">const</span>;</div>
-<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a01b53fdb7ca95e26fc0957a22d03f3ef">  184</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a01b53fdb7ca95e26fc0957a22d03f3ef">PushSourceSpan</a>(<a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span);</div>
-<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a29d14ce54f41c7aba6f9ca7a15313b56">  186</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a29d14ce54f41c7aba6f9ca7a15313b56">PopSourceSpan</a>();</div>
-<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a8f6adff94ec1ed1c2641243d9ccafdb0">  188</a></span>  <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a8f6adff94ec1ed1c2641243d9ccafdb0">GetCurrentSourceSpan</a>(<a class="code hl_class" href="classtvm_1_1Span.html">Span</a> location = <a [...]
-<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeccc56e39cc5626292ba1c18c188310a">  190</a></span>  ffi::ObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeccc56e39cc5626292ba1c18c188310a">SetCurrentSourceSpan</a>(ffi::ObjectRef obj) <span class="keyword">const</span>;</div>
-<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a99f1adf012e9936c271a567d03a4e49f">  192</a></span>  ffi::ObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a99f1adf012e9936c271a567d03a4e49f">SetSourceSpan</a>(ffi::ObjectRef obj, <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span) <span class="keyword">const</span>;</div>
-<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>};</div>
+<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span> </div>
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#ae7234be564e059c1ab4bfad3bc1f9ae8">  152</a></span>  <span class="keyword">static</span> <span class="keyword">constexpr</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#ae7234be564e059c1ab4bfad3bc1f9ae8">_type_mutable</a [...]
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a60d542971d40f2d20366fecd16f98a12">  153</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a60d542971d40f2d20366fecd16f98a12">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.IRBuilder&quot;</span>, <a class="code hl_class" href="classtvm_1_1script_ [...]
+<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span> </div>
+<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>  <span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">FindFrame</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
+<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>  <span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">GetLastFrame</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>  <span class="keyword">template</span> &lt;<span class="keyword">typename</span> TObjectRef&gt;</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>  <span class="keyword">inline</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">Get</a>() <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a01b53fdb7ca95e26fc0957a22d03f3ef">  179</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a01b53fdb7ca95e26fc0957a22d03f3ef">PushSourceSpan</a>(<a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span);</div>
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a29d14ce54f41c7aba6f9ca7a15313b56">  181</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a29d14ce54f41c7aba6f9ca7a15313b56">PopSourceSpan</a>();</div>
+<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a8f6adff94ec1ed1c2641243d9ccafdb0">  183</a></span>  <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a8f6adff94ec1ed1c2641243d9ccafdb0">GetCurrentSourceSpan</a>(<a class="code hl_class" href="classtvm_1_1Span.html">Span</a> location = <a [...]
+<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeccc56e39cc5626292ba1c18c188310a">  185</a></span>  ffi::ObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeccc56e39cc5626292ba1c18c188310a">SetCurrentSourceSpan</a>(ffi::ObjectRef obj) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a99f1adf012e9936c271a567d03a4e49f">  187</a></span>  ffi::ObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a99f1adf012e9936c271a567d03a4e49f">SetSourceSpan</a>(ffi::ObjectRef obj, <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span) <span class="keyword">const</span>;</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>};</div>
 </div>
-<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span> </div>
-<div class="foldopen" id="foldopen00199" data-start="{" data-end="};">
-<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">  199</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
+<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span> </div>
+<div class="foldopen" id="foldopen00194" data-start="{" data-end="};">
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">  194</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a> : <span class="keyword">public</span> ffi::ObjectRef {</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">  197</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">IRBuilder</a>();</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a011ac2087782f0ca090dff841ddbb626">  198</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a011ac2087782f0ca090dff841ddbb626">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a>, ffi::ObjectRef, <a clas [...]
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span> </div>
 <div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">  202</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">IRBuilder</a>();</div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a011ac2087782f0ca090dff841ddbb626">  203</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a011ac2087782f0ca090dff841ddbb626">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a>, ffi::ObjectRef, <a clas [...]
-<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
-<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a91b23ff72360fba3500c0b5c8346f67d">  223</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a91b23ff72360fba3500c0b5c8346f67d">EnterWithScope</a>();</div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a4999d7966e447958e004c6a12417d610">  230</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a4999d7966e447958e004c6a12417d610">ExitWithScope</a>();</div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a7cbc01ca0448da52ce17a3fd961c569e">  238</a></span>  <span class="keyword">static</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a7cbc01ca0448da52ce17a3fd961c569e">Current</a>();</div>
-<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#aa6d010c0e56be5695f509eb65e764cb9">  240</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#aa6d010c0e56be5695f509eb65e764cb9">IsInScope</a>();</div>
-<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>  <span class="keyword">template</span> &lt;<span class="keyword">class</span> TObjectRef&gt;</div>
-<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>  <span class="keyword">inline</span> <span class="keyword">static</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">Name</a>(ffi::String name, TObjectRef obj);</div>
-<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>};</div>
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a91b23ff72360fba3500c0b5c8346f67d">  218</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a91b23ff72360fba3500c0b5c8346f67d">EnterWithScope</a>();</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a4999d7966e447958e004c6a12417d610">  225</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a4999d7966e447958e004c6a12417d610">ExitWithScope</a>();</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a7cbc01ca0448da52ce17a3fd961c569e">  233</a></span>  <span class="keyword">static</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">IRBuilder</a> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a7cbc01ca0448da52ce17a3fd961c569e">Current</a>();</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#aa6d010c0e56be5695f509eb65e764cb9">  235</a></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#aa6d010c0e56be5695f509eb65e764cb9">IsInScope</a>();</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span>  <span class="keyword">template</span> &lt;<span class="keyword">class</span> TObjectRef&gt;</div>
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>  <span class="keyword">inline</span> <span class="keyword">static</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">Name</a>(ffi::String name, TObjectRef obj);</div>
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>};</div>
 </div>
-<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span> </div>
-<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span> </div>
-<div class="foldopen" id="foldopen00253" data-start="{" data-end="}">
-<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html">  253</a></span><span class="keyword">namespace </span>details {</div>
-<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span> </div>
-<div class="foldopen" id="foldopen00256" data-start="{" data-end="};">
-<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html">  256</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html">SourceSpanAccessor</a> {</div>
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#aceb3a33a450f0e5733129a202863b40a">  258</a></span>  <span class="keyword">using </span><a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a> = <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">ObjectFunctor</a>&lt;<a class="code hl_class" href="classtvm_1_1Span.html">Span</a>*(<span class="ke [...]
-<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#a57d10065de05433b8e3225c71d32fcf1">  259</a></span>  <span class="keyword">static</span> <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a>&amp; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#a57d10065de05433b8e3225c71d32fcf1">vtable</a>();</div>
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>};</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> </div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span> </div>
+<div class="foldopen" id="foldopen00248" data-start="{" data-end="}">
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="namespacetvm_1_1script_1_1ir__builder_1_1details.html">  248</a></span><span class="keyword">namespace </span>details {</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="foldopen" id="foldopen00251" data-start="{" data-end="};">
+<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html">  251</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html">SourceSpanAccessor</a> {</div>
+<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#aceb3a33a450f0e5733129a202863b40a">  253</a></span>  <span class="keyword">using </span><a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a> = <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">ObjectFunctor</a>&lt;<a class="code hl_class" href="classtvm_1_1Span.html">Span</a>*(<span class="ke [...]
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#a57d10065de05433b8e3225c71d32fcf1">  254</a></span>  <span class="keyword">static</span> <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a>&amp; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#a57d10065de05433b8e3225c71d32fcf1">vtable</a>();</div>
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>};</div>
 </div>
-<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span> </div>
-<div class="foldopen" id="foldopen00262" data-start="{" data-end="};">
-<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">  262</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">Namer</a> {</div>
-<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a7f65365f45dc0531383b8ae2e1c84422">  264</a></span>  <span class="keyword">using </span><a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a> = <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">ObjectFunctor</a>&lt;void(<span class="keyword">const</span> ffi::ObjectRef&amp;, ffi::String)&gt;;</div>
-<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#ac15fa1c07a3e7fca27ce8ac46c0027c3">  265</a></span>  <span class="keyword">static</span> <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a>&amp; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#ac15fa1c07a3e7fca27ce8ac46c0027c3">vtable</a>();</div>
-<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">  266</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">Name</a>(ffi::ObjectRef node, ffi::String name);</div>
-<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>};</div>
+<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span> </div>
+<div class="foldopen" id="foldopen00257" data-start="{" data-end="};">
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">  257</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">Namer</a> {</div>
+<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a7f65365f45dc0531383b8ae2e1c84422">  259</a></span>  <span class="keyword">using </span><a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a> = <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">ObjectFunctor</a>&lt;void(<span class="keyword">const</span> ffi::ObjectRef&amp;, ffi::String)&gt;;</div>
+<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#ac15fa1c07a3e7fca27ce8ac46c0027c3">  260</a></span>  <span class="keyword">static</span> <a class="code hl_class" href="classtvm_1_1ObjectFunctor.html">FType</a>&amp; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#ac15fa1c07a3e7fca27ce8ac46c0027c3">vtable</a>();</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">  261</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">Name</a>(ffi::ObjectRef node, ffi::String name);</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>};</div>
 </div>
-<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span> </div>
-<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>}  <span class="comment">// namespace details</span></div>
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span> </div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>}  <span class="comment">// namespace details</span></div>
 </div>
-<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span> </div>
-<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> TObjectRef&gt;</div>
-<div class="foldopen" id="foldopen00272" data-start="{" data-end="}">
-<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">  272</a></span><span class="keyword">inline</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">IRBuilder::Name</a>(ffi::String name, TObjectRef obj) {</div>
-<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">details::Namer::Name</a>(obj, name);</div>
-<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>  <span class="keywordflow">return</span> obj.template as_or_throw&lt;TObjectRef&gt;();</div>
-<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>}</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> </div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span><span class="keyword">template</span> &lt;<span class="keyword">class</span> TObjectRef&gt;</div>
+<div class="foldopen" id="foldopen00267" data-start="{" data-end="}">
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">  267</a></span><span class="keyword">inline</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">IRBuilder::Name</a>(ffi::String name, TObjectRef obj) {</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">details::Namer::Name</a>(obj, name);</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>  <span class="keywordflow">return</span> obj.template as_or_throw&lt;TObjectRef&gt;();</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>}</div>
 </div>
-<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span> </div>
-<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
-<div class="foldopen" id="foldopen00278" data-start="{" data-end="}">
-<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">  278</a></span><span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">IRBuilderNode::FindFrame</a>()<span class="keyword"> const </span>{</div>
-<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>  <span class="keyword">using </span>TFrameNode = <span class="keyword">typename</span> TFrame::ContainerType;</div>
-<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.rbegin(); it != <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.rend(); ++it) {</div>
-<div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span>    <span class="keywordflow">if</span> (<span class="keyword">const</span> TFrameNode* p = (*it).template as&lt;TFrameNode&gt;()) {</div>
-<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>      <span class="keywordflow">return</span> ffi::GetRef&lt;TFrame&gt;(p);</div>
-<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span>    }</div>
-<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>  }</div>
-<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>  <span class="keywordflow">return</span> std::nullopt;</div>
-<div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>}</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span> </div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
+<div class="foldopen" id="foldopen00273" data-start="{" data-end="}">
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">  273</a></span><span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">IRBuilderNode::FindFrame</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>  <span class="keyword">using </span>TFrameNode = <span class="keyword">typename</span> TFrame::ContainerType;</div>
+<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> it = <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.rbegin(); it != <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.rend(); ++it) {</div>
+<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span>    <span class="keywordflow">if</span> (<span class="keyword">const</span> TFrameNode* p = (*it).template as&lt;TFrameNode&gt;()) {</div>
+<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span>      <span class="keywordflow">return</span> ffi::GetRef&lt;TFrame&gt;(p);</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>    }</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>  }</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span>  <span class="keywordflow">return</span> std::nullopt;</div>
+<div class="line"><a id="l00281" name="l00281"></a><span class="lineno">  281</span>}</div>
 </div>
-<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span> </div>
-<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
-<div class="foldopen" id="foldopen00289" data-start="{" data-end="}">
-<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">  289</a></span><span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">IRBuilderNode::GetLastFrame</a>()<span class="keyword"> const </span>{</div>
-<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span>  <span class="keyword">using </span>TFrameNode = <span class="keyword">typename</span> TFrame::ContainerType;</div>
-<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span>  <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.empty() &amp;&amp; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.back()-&gt;IsInstance&lt;TFrameNode&gt;()) {</div>
-<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>    <span class="keywordflow">return</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.back().template as_or_throw&lt;TFrame&gt;();</div>
-<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>  }</div>
-<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>  <span class="keywordflow">return</span> std::nullopt;</div>
-<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>}</div>
+<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span> </div>
+<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> TFrame&gt;</div>
+<div class="foldopen" id="foldopen00284" data-start="{" data-end="}">
+<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">  284</a></span><span class="keyword">inline</span> ffi::Optional&lt;TFrame&gt; <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">IRBuilderNode::GetLastFrame</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>  <span class="keyword">using </span>TFrameNode = <span class="keyword">typename</span> TFrame::ContainerType;</div>
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>  <span class="keywordflow">if</span> (!<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.empty() &amp;&amp; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.back()-&gt;IsInstance&lt;TFrameNode&gt;()) {</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>    <span class="keywordflow">return</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">frames</a>.back().template as_or_throw&lt;TFrame&gt;();</div>
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span>  }</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>  <span class="keywordflow">return</span> std::nullopt;</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span>}</div>
 </div>
-<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span> </div>
-<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> TObjectRef&gt;</div>
-<div class="foldopen" id="foldopen00298" data-start="{" data-end="}">
-<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">  298</a></span><span class="keyword">inline</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">IRBuilderNode::Get</a>()<span class="keyword"> const </span>{</div>
-<div class="line"><a id="l00299" name="l00299"></a><span class="lineno">  299</span>  <span class="keyword">using </span>TObject = <span class="keyword">typename</span> TObjectRef::ContainerType;</div>
-<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>  TVM_FFI_CHECK(<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">result</a>.has_value(), IndexError) &lt;&lt; <span class="stringliteral">&quot;No result exists in IRBuilder yet&quot;</span>;</div>
-<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>  <span class="keyword">const</span> <span class="keyword">auto</span>* n = <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">result</a>.as&lt;TObject&gt;();</div>
-<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>  TVM_FFI_CHECK(n != <span class="keyword">nullptr</span>, TypeError)</div>
-<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>      &lt;&lt; <span class="stringliteral">&quot;IRBuilder result is not of type: &quot;</span> &lt;&lt; TObject::_type_key;</div>
-<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>  <span class="keywordflow">return</span> ffi::GetRef&lt;TObjectRef&gt;(n);</div>
-<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span>}</div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span> </div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span><span class="keyword">template</span> &lt;<span class="keyword">typename</span> TObjectRef&gt;</div>
+<div class="foldopen" id="foldopen00293" data-start="{" data-end="}">
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">  293</a></span><span class="keyword">inline</span> TObjectRef <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">IRBuilderNode::Get</a>()<span class="keyword"> const </span>{</div>
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>  <span class="keyword">using </span>TObject = <span class="keyword">typename</span> TObjectRef::ContainerType;</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>  TVM_FFI_CHECK(<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">result</a>.has_value(), IndexError) &lt;&lt; <span class="stringliteral">&quot;No result exists in IRBuilder yet&quot;</span>;</div>
+<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span>  <span class="keyword">const</span> <span class="keyword">auto</span>* n = <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">result</a>.as&lt;TObject&gt;();</div>
+<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span>  TVM_FFI_CHECK(n != <span class="keyword">nullptr</span>, TypeError)</div>
+<div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span>      &lt;&lt; <span class="stringliteral">&quot;IRBuilder result is not of type: &quot;</span> &lt;&lt; TObject::_type_key;</div>
+<div class="line"><a id="l00299" name="l00299"></a><span class="lineno">  299</span>  <span class="keywordflow">return</span> ffi::GetRef&lt;TObjectRef&gt;(n);</div>
+<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>}</div>
 </div>
-<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span> </div>
-<div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span>}  <span class="comment">// namespace ir_builder</span></div>
-<div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span>}  <span class="comment">// namespace script</span></div>
-<div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span>}  <span class="comment">// namespace tvm</span></div>
-<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</span> </div>
-<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span><span class="preprocessor">#endif  </span><span class="comment">// TVM_SCRIPT_IR_BUILDER_BASE_H_</span></div>
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span> </div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>}  <span class="comment">// namespace ir_builder</span></div>
+<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>}  <span class="comment">// namespace script</span></div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>}  <span class="comment">// namespace tvm</span></div>
+<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> </div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span><span class="preprocessor">#endif  </span><span class="comment">// TVM_SCRIPT_IR_BUILDER_BASE_H_</span></div>
 <div class="ttc" id="aclasstvm_1_1ObjectFunctor_html"><div class="ttname"><a href="classtvm_1_1ObjectFunctor.html">tvm::ObjectFunctor</a></div><div class="ttdoc">A dynamically dispatched functor on the type of the first argument.</div><div class="ttdef"><b>Definition</b> object_functor.h:85</div></div>
 <div class="ttc" id="aclasstvm_1_1Span_html"><div class="ttname"><a href="classtvm_1_1Span.html">tvm::Span</a></div><div class="ttdef"><b>Definition</b> source_map.h:111</div></div>
-<div class="ttc" id="aclasstvm_1_1Var_html"><div class="ttname"><a href="classtvm_1_1Var.html">tvm::Var</a></div><div class="ttdoc">Managed reference to VarNode.</div><div class="ttdef"><b>Definition</b> expr.h:375</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></div><div class="ttdoc">A stack frame of the IRBuilder used to keep track of the current scope. Furthermore,...</div><div class="ttdef"><b>Definition</b> base.h:43</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode_html_a05b026329132b684f964a125f90dd117"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a05b026329132b684f964a125f90dd117">tvm::script::ir_builder::IRBuilderFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO(&quot;script.ir_builder.IRBuilderFrame&quot;, IRBuilderFrameNode, ffi::Object)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode_html_a174fb590c4fb0d8e7126d038e405052b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html#a174fb590c4fb0d8e7126d038e405052b">tvm::script::ir_builder::IRBuilderFrameNode::_type_mutable</a></div><div class="ttdeci">static constexpr const bool _type_mutable</div><div class="ttdef"><b>Definition</b> base.h:58</div></div>
@@ -314,37 +309,36 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrame_html_a4ab7fb335968d6947f88b7b934c56354"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a4ab7fb335968d6947f88b7b934c56354">tvm::script::ir_builder::IRBuilderFrame::IRBuilderFrame</a></div><div class="ttdeci">IRBuilderFrame()=default</div><div class="ttdoc">Disallow direct construction of this object.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrame_html_a69dd444ed8fe3d06a398d747c309e87e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a69dd444ed8fe3d06a398d747c309e87e">tvm::script::ir_builder::IRBuilderFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(IRBuilderFrame, ffi::ObjectRef, IRBuilderFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrame_html_a8ca5afe93534c3bf7e521609d5654ac3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html#a8ca5afe93534c3bf7e521609d5654ac3">tvm::script::ir_builder::IRBuilderFrame::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope()</div><div class="ttdoc">Redirected to IRBuilderFrameNode::ExitWithScope.</div><div class="ttdef"><b>Definition</b> base.h:107</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">tvm::script::ir_builder::IRBuilderNode</a></div><div class="ttdoc">A language variant agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class i...</div><div class="ttdef"><b>Definition</b> base.h:141</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html">tvm::script::ir_builder::IRBuilderNode</a></div><div class="ttdoc">A language variant agnostic IRBuilder that constructs any IR of TVM. An idiomatic use of this class i...</div><div class="ttdef"><b>Definition</b> base.h:136</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a01b53fdb7ca95e26fc0957a22d03f3ef"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a01b53fdb7ca95e26fc0957a22d03f3ef">tvm::script::ir_builder::IRBuilderNode::PushSourceSpan</a></div><div class="ttdeci">void PushSourceSpan(Span span)</div><div class="ttdoc">Push a frontend source span for IR constructed in the nested scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a23c14fb69cc3a8ffc8a02a00a2102fa0"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">tvm::script::ir_builder::IRBuilderNode::FindFrame</a></div><div class="ttdeci">ffi::Optional&lt; TFrame &gt; FindFrame() const</div><div class="ttdoc">Find a frame of the given type in the stack this-&gt;frames from top to bottom.</div><div class="ttdef"><b>D [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a269c953494bb520cf6d6f1ade1e0dfd1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">tvm::script::ir_builder::IRBuilderNode::GetLastFrame</a></div><div class="ttdeci">ffi::Optional&lt; TFrame &gt; GetLastFrame() const</div><div class="ttdoc">Get the top frame if its type is TFrame.</div><div class="ttdef"><b>Definition</b> base.h:289</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a23c14fb69cc3a8ffc8a02a00a2102fa0"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a23c14fb69cc3a8ffc8a02a00a2102fa0">tvm::script::ir_builder::IRBuilderNode::FindFrame</a></div><div class="ttdeci">ffi::Optional&lt; TFrame &gt; FindFrame() const</div><div class="ttdoc">Find a frame of the given type in the stack this-&gt;frames from top to bottom.</div><div class="ttdef"><b>D [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a269c953494bb520cf6d6f1ade1e0dfd1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a269c953494bb520cf6d6f1ade1e0dfd1">tvm::script::ir_builder::IRBuilderNode::GetLastFrame</a></div><div class="ttdeci">ffi::Optional&lt; TFrame &gt; GetLastFrame() const</div><div class="ttdoc">Get the top frame if its type is TFrame.</div><div class="ttdef"><b>Definition</b> base.h:284</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a29d14ce54f41c7aba6f9ca7a15313b56"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a29d14ce54f41c7aba6f9ca7a15313b56">tvm::script::ir_builder::IRBuilderNode::PopSourceSpan</a></div><div class="ttdeci">void PopSourceSpan()</div><div class="ttdoc">Pop the innermost frontend source span.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a552736edf4c1fac043441331339307e7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a552736edf4c1fac043441331339307e7">tvm::script::ir_builder::IRBuilderNode::source_spans</a></div><div class="ttdeci">std::vector&lt; Span &gt; source_spans</div><div class="ttdoc">Active frontend source spans, from outermost to innermost.</div><div class="ttdef"><b>Definition</b> base.h:148</d [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a552736edf4c1fac043441331339307e7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a552736edf4c1fac043441331339307e7">tvm::script::ir_builder::IRBuilderNode::source_spans</a></div><div class="ttdeci">std::vector&lt; Span &gt; source_spans</div><div class="ttdoc">Active frontend source spans, from outermost to innermost.</div><div class="ttdef"><b>Definition</b> base.h:143</d [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a60d542971d40f2d20366fecd16f98a12"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a60d542971d40f2d20366fecd16f98a12">tvm::script::ir_builder::IRBuilderNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.IRBuilder&quot;, IRBuilderNode, ffi::Object)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a84baa43243371ac9aa0c67aa1b5dd570"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">tvm::script::ir_builder::IRBuilderNode::Get</a></div><div class="ttdeci">TObjectRef Get() const</div><div class="ttdoc">Get the IR being constructed.</div><div class="ttdef"><b>Definition</b> base.h:298</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a84baa43243371ac9aa0c67aa1b5dd570"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570">tvm::script::ir_builder::IRBuilderNode::Get</a></div><div class="ttdeci">TObjectRef Get() const</div><div class="ttdoc">Get the IR being constructed.</div><div class="ttdef"><b>Definition</b> base.h:293</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a8f6adff94ec1ed1c2641243d9ccafdb0"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a8f6adff94ec1ed1c2641243d9ccafdb0">tvm::script::ir_builder::IRBuilderNode::GetCurrentSourceSpan</a></div><div class="ttdeci">Span GetCurrentSourceSpan(Span location=Span()) const</div><div class="ttdoc">Return the normalized active source span, including expansion history.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_a99f1adf012e9936c271a567d03a4e49f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a99f1adf012e9936c271a567d03a4e49f">tvm::script::ir_builder::IRBuilderNode::SetSourceSpan</a></div><div class="ttdeci">ffi::ObjectRef SetSourceSpan(ffi::ObjectRef obj, Span span) const</div><div class="ttdoc">Attach an explicit location composed with the active source-call context.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_aa0e80774ba214883d0952c3aa9048159"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">tvm::script::ir_builder::IRBuilderNode::result</a></div><div class="ttdeci">ffi::Optional&lt; ffi::ObjectRef &gt; result</div><div class="ttdoc">The outcome of IR construction.</div><div class="ttdef"><b>Definition</b> base.h:146</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_ae7234be564e059c1ab4bfad3bc1f9ae8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#ae7234be564e059c1ab4bfad3bc1f9ae8">tvm::script::ir_builder::IRBuilderNode::_type_mutable</a></div><div class="ttdeci">static constexpr const bool _type_mutable</div><div class="ttdef"><b>Definition</b> base.h:157</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_aa0e80774ba214883d0952c3aa9048159"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159">tvm::script::ir_builder::IRBuilderNode::result</a></div><div class="ttdeci">ffi::Optional&lt; ffi::ObjectRef &gt; result</div><div class="ttdoc">The outcome of IR construction.</div><div class="ttdef"><b>Definition</b> base.h:141</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_ae7234be564e059c1ab4bfad3bc1f9ae8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#ae7234be564e059c1ab4bfad3bc1f9ae8">tvm::script::ir_builder::IRBuilderNode::_type_mutable</a></div><div class="ttdeci">static constexpr const bool _type_mutable</div><div class="ttdef"><b>Definition</b> base.h:152</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_aeccc56e39cc5626292ba1c18c188310a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeccc56e39cc5626292ba1c18c188310a">tvm::script::ir_builder::IRBuilderNode::SetCurrentSourceSpan</a></div><div class="ttdeci">ffi::ObjectRef SetCurrentSourceSpan(ffi::ObjectRef obj) const</div><div class="ttdoc">Compose active source context onto a supported node or construction frame.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_aeee5257a6e808eceb3908bb6a55debf2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">tvm::script::ir_builder::IRBuilderNode::frames</a></div><div class="ttdeci">ffi::Array&lt; IRBuilderFrame &gt; frames</div><div class="ttdoc">A stack of context frames in the IRBuilder.</div><div class="ttdef"><b>Definition</b> base.h:144</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_af45f626a7c75b81cc5393d25a3bb148e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#af45f626a7c75b81cc5393d25a3bb148e">tvm::script::ir_builder::IRBuilderNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> base.h:150</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">tvm::script::ir_builder::IRBuilder</a></div><div class="ttdoc">Managed reference to an IRBuilderNode.</div><div class="ttdef"><b>Definition</b> base.h:199</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_aeee5257a6e808eceb3908bb6a55debf2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aeee5257a6e808eceb3908bb6a55debf2">tvm::script::ir_builder::IRBuilderNode::frames</a></div><div class="ttdeci">ffi::Array&lt; IRBuilderFrame &gt; frames</div><div class="ttdoc">A stack of context frames in the IRBuilder.</div><div class="ttdef"><b>Definition</b> base.h:139</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderNode_html_af45f626a7c75b81cc5393d25a3bb148e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#af45f626a7c75b81cc5393d25a3bb148e">tvm::script::ir_builder::IRBuilderNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> base.h:145</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html">tvm::script::ir_builder::IRBuilder</a></div><div class="ttdoc">Managed reference to an IRBuilderNode.</div><div class="ttdef"><b>Definition</b> base.h:194</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_a011ac2087782f0ca090dff841ddbb626"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a011ac2087782f0ca090dff841ddbb626">tvm::script::ir_builder::IRBuilder::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(IRBuilder, ffi::ObjectRef, IRBuilderNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_a16bb7ca91d7a825ce3941a81a57782d9"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">tvm::script::ir_builder::IRBuilder::Name</a></div><div class="ttdeci">static TObjectRef Name(ffi::String name, TObjectRef obj)</div><div class="ttdoc">Give a string name to the obj</div><div class="ttdef"><b>Definition</b> base.h:272</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_a16bb7ca91d7a825ce3941a81a57782d9"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a16bb7ca91d7a825ce3941a81a57782d9">tvm::script::ir_builder::IRBuilder::Name</a></div><div class="ttdeci">static TObjectRef Name(ffi::String name, TObjectRef obj)</div><div class="ttdoc">Give a string name to the obj</div><div class="ttdef"><b>Definition</b> base.h:267</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_a4999d7966e447958e004c6a12417d610"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a4999d7966e447958e004c6a12417d610">tvm::script::ir_builder::IRBuilder::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope()</div><div class="ttdoc">Exit the RAII scope.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_a7cbc01ca0448da52ce17a3fd961c569e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a7cbc01ca0448da52ce17a3fd961c569e">tvm::script::ir_builder::IRBuilder::Current</a></div><div class="ttdeci">static IRBuilder Current()</div><div class="ttdoc">Get the current IRBuilder in the current thread-local scope.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_a91b23ff72360fba3500c0b5c8346f67d"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#a91b23ff72360fba3500c0b5c8346f67d">tvm::script::ir_builder::IRBuilder::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope()</div><div class="ttdoc">Puts the current IRBuilder into a thread-local scope, which can be retrieved using IRBuilder::Current...</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_aa6d010c0e56be5695f509eb65e764cb9"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#aa6d010c0e56be5695f509eb65e764cb9">tvm::script::ir_builder::IRBuilder::IsInScope</a></div><div class="ttdeci">static bool IsInScope()</div><div class="ttdoc">See if the current thread-local scope has an IRBuilder.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilder_html_af63e228f3faaa0d87fdd52e1fe921dd3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilder.html#af63e228f3faaa0d87fdd52e1fe921dd3">tvm::script::ir_builder::IRBuilder::IRBuilder</a></div><div class="ttdeci">IRBuilder()</div><div class="ttdoc">Creates an IRBuilder.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1Namer_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">tvm::script::ir_builder::details::Namer</a></div><div class="ttdef"><b>Definition</b> base.h:262</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1Namer_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html">tvm::script::ir_builder::details::Namer</a></div><div class="ttdef"><b>Definition</b> base.h:257</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1Namer_html_a39cda244096d654bfbd5a38e90723dbf"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#a39cda244096d654bfbd5a38e90723dbf">tvm::script::ir_builder::details::Namer::Name</a></div><div class="ttdeci">static void Name(ffi::ObjectRef node, ffi::String name)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1Namer_html_ac15fa1c07a3e7fca27ce8ac46c0027c3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1Namer.html#ac15fa1c07a3e7fca27ce8ac46c0027c3">tvm::script::ir_builder::details::Namer::vtable</a></div><div class="ttdeci">static FType &amp; vtable()</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html">tvm::script::ir_builder::details::SourceSpanAccessor</a></div><div class="ttdoc">Language variant extensible access to an object's mutable source span.</div><div class="ttdef"><b>Definition</b> base.h:256</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html">tvm::script::ir_builder::details::SourceSpanAccessor</a></div><div class="ttdoc">Language variant extensible access to an object's mutable source span.</div><div class="ttdef"><b>Definition</b> base.h:251</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor_html_a57d10065de05433b8e3225c71d32fcf1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1details_1_1SourceSpanAccessor.html#a57d10065de05433b8e3225c71d32fcf1">tvm::script::ir_builder::details::SourceSpanAccessor::vtable</a></div><div class="ttdeci">static FType &amp; vtable()</div></div>
 <div class="ttc" id="air_2expr_8h_html"><div class="ttname"><a href="ir_2expr_8h.html">expr.h</a></div><div class="ttdoc">Base expr nodes in TVM.</div></div>
 <div class="ttc" id="air_2function_8h_html"><div class="ttname"><a href="ir_2function_8h.html">function.h</a></div><div class="ttdoc">Function nodes.</div></div>
-<div class="ttc" id="anamespacetvm_1_1script_1_1ir__builder_html_a8852629d7fefcbca60fab8c2eae58961"><div class="ttname"><a href="namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961">tvm::script::ir_builder::ResolveTypeVar</a></div><div class="ttdeci">tvm::Var ResolveTypeVar(ffi::Map&lt; ffi::String, tvm::Var &gt; *symbols, const ffi::String &amp;name, ffi::Optional&lt; PrimType &gt; dtype, ffi::Optional&lt; tvm::Var &gt; value, Span span)</div><div class="ttdoc"> [...]
 <div class="ttc" id="anamespacetvm_html"><div class="ttname"><a href="namespacetvm.html">tvm</a></div><div class="ttdoc">An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.</div><div class="ttdef"><b>Definition</b> attr_registry_map.h:31</div></div>
 <div class="ttc" id="aobject__functor_8h_html"><div class="ttname"><a href="object__functor_8h.html">object_functor.h</a></div><div class="ttdoc">Native object dispatch, visiting and mutation with structural fallback.</div></div>
 </div><!-- fragment --></div><!-- contents -->
diff --git a/docs/reference/api/doxygen/search/all_10.js b/docs/reference/api/doxygen/search/all_10.js
index 9462e467560..46464a960b1 100644
--- a/docs/reference/api/doxygen/search/all_10.js
+++ b/docs/reference/api/doxygen/search/all_10.js
@@ -22,7 +22,7 @@ var searchData=
   ['onlyusedby_19',['onlyusedby',['../classtvm_1_1relax_1_1PatternSeq.html#a456f12bd57d6c0c161fe40b0373cd316',1,'tvm::relax::PatternSeq::OnlyUsedBy(PatternSeq other, int index=-1) const'],['../classtvm_1_1relax_1_1PatternSeq.html#ade577cee507218825a40a864634f6158',1,'tvm::relax::PatternSeq::OnlyUsedBy'],['../namespacetvm_1_1relax.html#ae7d3238251393e90f87314ae9ea1d773',1,'tvm::relax::OnlyUsedBy()']]],
   ['oob_5ffill_20',['oob_fill',['../structtvm_1_1tirx_1_1TensorMapEncodeTiledAttr.html#a4a122e686e11a0acda8187ab1bc79f9d',1,'tvm::tirx::TensorMapEncodeTiledAttr']]],
   ['oobchecker_21',['OOBChecker',['../namespacetvm_1_1s__tir_1_1transform.html#afb41fe047152ae0e6804c1a29d3fa401',1,'tvm::s_tir::transform']]],
-  ['op_22',['op',['../classtvm_1_1Op.html',1,'tvm::Op'],['../classtvm_1_1OpAttrMap.html#a2c31e8a3c11caeb061d69db14ebb0e95',1,'tvm::OpAttrMap::Op'],['../classtvm_1_1Op.html#ae3f0bff0046a7e49afdccaedbd549e83',1,'tvm::Op::Op()'],['../classtvm_1_1CallNode.html#ac3dfcf0a89d8d88438e3d691fcbb1c5b',1,'tvm::CallNode::op'],['../classtvm_1_1relax_1_1CallPatternNode.html#acca965091e2c19561da9937bfb4c81e5',1,'tvm::relax::CallPatternNode::op'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#aa16a3 [...]
+  ['op_22',['op',['../classtvm_1_1Op.html',1,'tvm::Op'],['../classtvm_1_1CallNode.html#ac3dfcf0a89d8d88438e3d691fcbb1c5b',1,'tvm::CallNode::op'],['../classtvm_1_1relax_1_1CallPatternNode.html#acca965091e2c19561da9937bfb4c81e5',1,'tvm::relax::CallPatternNode::op'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#aa16a3e7e4030a69da0def6465d65e745',1,'tvm::runtime::vm::Instruction::op'],['../classtvm_1_1te_1_1TensorNode.html#a64faab73896ac7e9dd8dc43110920c7c',1,'tvm::te::TensorNode::op'] [...]
   ['op_2eh_23',['op.h',['../ir_2op_8h.html',1,'(Global Namespace)'],['../ir_2prim_2op_8h.html',1,'(Global Namespace)'],['../relax_2attrs_2op_8h.html',1,'(Global Namespace)'],['../tirx_2op_8h.html',1,'(Global Namespace)']]],
   ['op_5fattr_5ftypes_2eh_24',['op_attr_types.h',['../tirx_2op__attr__types_8h.html',1,'(Global Namespace)'],['../relax_2op__attr__types_8h.html',1,'(Global Namespace)'],['../ir_2op__attr__types_8h.html',1,'(Global Namespace)']]],
   ['op_5ftype_25',['op_type',['../structtvm_1_1relax_1_1AllReduceAttrs.html#aa0884b56708052f5a53ac5cf77a5f36d',1,'tvm::relax::AllReduceAttrs']]],
diff --git a/docs/reference/api/doxygen/search/all_11.js b/docs/reference/api/doxygen/search/all_11.js
index bafa7255f3f..06c30e26259 100644
--- a/docs/reference/api/doxygen/search/all_11.js
+++ b/docs/reference/api/doxygen/search/all_11.js
@@ -59,7 +59,7 @@ var searchData=
   ['placeholder_56',['placeholder',['../namespacetvm_1_1te.html#a711a5c0456165ef4889857c965e219fe',1,'tvm::te']]],
   ['placeholderop_57',['placeholderop',['../classtvm_1_1te_1_1PlaceholderOp.html#ab1a5743b95f1cb249ef9265fe81da46a',1,'tvm::te::PlaceholderOp::PlaceholderOp()'],['../classtvm_1_1te_1_1PlaceholderOp.html',1,'tvm::te::PlaceholderOp']]],
   ['placeholderopnode_58',['PlaceholderOpNode',['../classtvm_1_1te_1_1PlaceholderOpNode.html',1,'tvm::te']]],
-  ['placement_59',['placement',['../classtvm_1_1relax_1_1distributed_1_1Placement.html',1,'tvm::relax::distributed::Placement'],['../structtvm_1_1relax_1_1DistributionAttrs.html#a545f1c2a814cf32d4f24418c9639aa25',1,'tvm::relax::DistributionAttrs::placement'],['../classtvm_1_1relax_1_1distributed_1_1DTensorTypeNode.html#a8aa315762ba57d4080e8b2eaad769bc9',1,'tvm::relax::distributed::DTensorTypeNode::placement'],['../classtvm_1_1relax_1_1distributed_1_1Placement.html#a4d129958cebee88cd07421 [...]
+  ['placement_59',['placement',['../classtvm_1_1relax_1_1distributed_1_1Placement.html',1,'tvm::relax::distributed::Placement'],['../classtvm_1_1relax_1_1distributed_1_1Placement.html#a4d129958cebee88cd07421e1ed41c9f8',1,'tvm::relax::distributed::Placement::Placement()'],['../structtvm_1_1relax_1_1DistributionAttrs.html#a545f1c2a814cf32d4f24418c9639aa25',1,'tvm::relax::DistributionAttrs::placement'],['../classtvm_1_1relax_1_1distributed_1_1DTensorTypeNode.html#a8aa315762ba57d4080e8b2eaad [...]
   ['placementnode_60',['PlacementNode',['../classtvm_1_1relax_1_1distributed_1_1PlacementNode.html',1,'tvm::relax::distributed']]],
   ['placementspec_61',['PlacementSpec',['../classtvm_1_1relax_1_1distributed_1_1PlacementSpec.html',1,'tvm::relax::distributed']]],
   ['placementspeckind_62',['PlacementSpecKind',['../namespacetvm_1_1relax_1_1distributed.html#ace74b0da0d9500ab6811d67b1b98ca78',1,'tvm::relax::distributed']]],
diff --git a/docs/reference/api/doxygen/search/all_13.js b/docs/reference/api/doxygen/search/all_13.js
index 9f64bad8d44..eb34d7a3161 100644
--- a/docs/reference/api/doxygen/search/all_13.js
+++ b/docs/reference/api/doxygen/search/all_13.js
@@ -48,7 +48,7 @@ var searchData=
   ['reindex_45',['ReIndex',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a2cb4cef0537e66429d40860594780aaa',1,'tvm::s_tir::ScheduleNode']]],
   ['reindexcacheread_46',['ReindexCacheRead',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ae521878b0f82d4dcf4932b34c0f11476',1,'tvm::s_tir::ScheduleNode']]],
   ['reindexcachewrite_47',['ReindexCacheWrite',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ac2cdcd319867c595140eb958e28b4173',1,'tvm::s_tir::ScheduleNode']]],
-  ['reinterpret_48',['reinterpret',['../namespacetvm_1_1prim.html#af5c3792ad7364619a7e9560939b37223',1,'tvm::prim::reinterpret(DLDataType t, PrimExpr value, Span span=Span())'],['../namespacetvm_1_1prim.html#a4043a2be59ead8eab9e0802420de729d',1,'tvm::prim::reinterpret(PrimType t, PrimExpr value, Span span=Span())'],['../namespacetvm_1_1tirx_1_1builtin.html#ab5509ba13edd4e15610dd38e7f835286',1,'tvm::tirx::builtin::reinterpret()'],['../namespacetvm_1_1prim.html#a0f3d19e6576b635ed54b07140e7 [...]
+  ['reinterpret_48',['reinterpret',['../namespacetvm_1_1prim.html#a4043a2be59ead8eab9e0802420de729d',1,'tvm::prim::reinterpret()'],['../namespacetvm_1_1tirx_1_1builtin.html#ab5509ba13edd4e15610dd38e7f835286',1,'tvm::tirx::builtin::reinterpret()'],['../namespacetvm_1_1prim.html#af5c3792ad7364619a7e9560939b37223',1,'tvm::prim::reinterpret()'],['../namespacetvm_1_1topi.html#aedd11cfff075a657f28588f4180c85dc',1,'tvm::topi::reinterpret(const Tensor &amp;x, PrimType type, std::string name, std [...]
   ['reject_49',['reject',['../classtvm_1_1relax_1_1NotPatternNode.html#a1619244d06204b06ab1bdb104dc707f6',1,'tvm::relax::NotPatternNode']]],
   ['relax_5fdfpattern_5ffunctor_5fdispatch_50',['RELAX_DFPATTERN_FUNCTOR_DISPATCH',['../dataflow__pattern__functor_8h.html#a7228ca29abfac6af0879d9d682ca7122',1,'dataflow_pattern_functor.h']]],
   ['relax_5fexpr_5ffunctor_5fdispatch_51',['RELAX_EXPR_FUNCTOR_DISPATCH',['../relax_2expr__functor_8h.html#a7ff558688303dd7c9366f045e9e2be72',1,'expr_functor.h']]],
@@ -63,7 +63,7 @@ var searchData=
   ['remove_60',['Remove',['../classtvm_1_1IRModuleNode.html#a1350c7d68665605f9c4f10850f4a90b9',1,'tvm::IRModuleNode']]],
   ['remove_5fdispatch_61',['remove_dispatch',['../classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html#a1c492896358892a7c8b9c120b3568a00',1,'tvm::script::printer::IRDocsifierFunctor']]],
   ['remove_5ffallback_62',['remove_fallback',['../classtvm_1_1script_1_1printer_1_1IRDocsifierFunctor.html#a82d3a3b7ef744706df18a4696677b94e',1,'tvm::script::printer::IRDocsifierFunctor']]],
-  ['removeallunused_63',['removeallunused',['../namespacetvm_1_1relax.html#a32fc012aed7e73dbbe354553614acd14',1,'tvm::relax::RemoveAllUnused()'],['../classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#ad44d84245706e24e5504ce1973c4fa15',1,'tvm::relax::DataflowBlockRewriteNode::RemoveAllUnused()']]],
+  ['removeallunused_63',['removeallunused',['../classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#ad44d84245706e24e5504ce1973c4fa15',1,'tvm::relax::DataflowBlockRewriteNode::RemoveAllUnused()'],['../namespacetvm_1_1relax.html#a32fc012aed7e73dbbe354553614acd14',1,'tvm::relax::RemoveAllUnused()']]],
   ['removebuildartifact_64',['RemoveBuildArtifact',['../classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallback.html#a43e452fff8359b90a4540e06752bc5b2',1,'tvm::s_tir::meta_schedule::MeasureCallback']]],
   ['removenoop_65',['RemoveNoOp',['../namespacetvm_1_1tirx_1_1transform.html#aaef9a2423ed45cb46c65b957db211864',1,'tvm::tirx::transform']]],
   ['removepuritychecking_66',['RemovePurityChecking',['../namespacetvm_1_1relax_1_1transform.html#a792aa8a2b0aa28064b41215bc7d4e93a',1,'tvm::relax::transform']]],
@@ -85,12 +85,12 @@ var searchData=
   ['reorg_2eh_82',['reorg.h',['../reorg_8h.html',1,'']]],
   ['repeat_83',['repeat',['../namespacetvm_1_1topi.html#afe9f6d9103b2dfbc601bfd2304a4e687',1,'tvm::topi']]],
   ['repeatattrs_84',['RepeatAttrs',['../structtvm_1_1relax_1_1RepeatAttrs.html',1,'tvm::relax']]],
-  ['repeats_85',['repeats',['../structtvm_1_1relax_1_1TileAttrs.html#a94a363ba45157bf555fa645af602f730',1,'tvm::relax::TileAttrs::repeats'],['../structtvm_1_1relax_1_1RepeatAttrs.html#a924e5ff0773bc90b70289053d5058ca1',1,'tvm::relax::RepeatAttrs::repeats']]],
+  ['repeats_85',['repeats',['../structtvm_1_1relax_1_1RepeatAttrs.html#a924e5ff0773bc90b70289053d5058ca1',1,'tvm::relax::RepeatAttrs::repeats'],['../structtvm_1_1relax_1_1TileAttrs.html#a94a363ba45157bf555fa645af602f730',1,'tvm::relax::TileAttrs::repeats']]],
   ['replace_86',['Replace',['../classtvm_1_1s__tir_1_1ScheduleStateNode.html#a7b867b7a8886e32fecc7835dde24e8dd',1,'tvm::s_tir::ScheduleStateNode']]],
   ['replacealluses_87',['ReplaceAllUses',['../classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#accdf3b49ec7ad51da201c7f48057d731',1,'tvm::relax::DataflowBlockRewriteNode']]],
   ['replayfunc_88',['ReplayFunc',['../classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategy.html#ac551cfcf801c3b12ddd0cc8ff96d5c93',1,'tvm::s_tir::meta_schedule::SearchStrategy']]],
   ['replaytrace_89',['ReplayTrace',['../classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategy.html#af6801879c31074e69d6f234e62655919',1,'tvm::s_tir::meta_schedule::SearchStrategy']]],
-  ['replica_90',['replica',['../classtvm_1_1tirx_1_1TileLayoutNode.html#a1f05ca754a1c3ccd8aad489e9a5b33d2',1,'tvm::tirx::TileLayoutNode::replica'],['../classtvm_1_1relax_1_1distributed_1_1PlacementSpec.html#a7c59afa4c0feaf6fd964188895508504',1,'tvm::relax::distributed::PlacementSpec::Replica()']]],
+  ['replica_90',['replica',['../classtvm_1_1relax_1_1distributed_1_1PlacementSpec.html#a7c59afa4c0feaf6fd964188895508504',1,'tvm::relax::distributed::PlacementSpec::Replica()'],['../classtvm_1_1tirx_1_1TileLayoutNode.html#a1f05ca754a1c3ccd8aad489e9a5b33d2',1,'tvm::tirx::TileLayoutNode::replica']]],
   ['reply_91',['Reply',['../classtvm_1_1runtime_1_1DiscoChannel.html#a5470b546c36e163a3d7b7b1ab1ab8137',1,'tvm::runtime::DiscoChannel']]],
   ['require_5fblock_5fvar_5fbound_5fpredicate_92',['require_block_var_bound_predicate',['../namespacetvm_1_1s__tir_1_1attr.html#a4c7c6443fb2b204b8c5c39ad1cc5eea9',1,'tvm::s_tir::attr']]],
   ['required_93',['required',['../classtvm_1_1transform_1_1PassInfoNode.html#a9679bf4b8c2969ab93e55832b6826fe3',1,'tvm::transform::PassInfoNode']]],
@@ -102,72 +102,71 @@ var searchData=
   ['reshape_99',['reshape',['../namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527',1,'tvm::topi']]],
   ['resize2dattrs_100',['Resize2DAttrs',['../structtvm_1_1relax_1_1Resize2DAttrs.html',1,'tvm::relax']]],
   ['resize3dattrs_101',['Resize3DAttrs',['../structtvm_1_1relax_1_1Resize3DAttrs.html',1,'tvm::relax']]],
-  ['resolve_102',['resolve',['../classtvm_1_1tirx_1_1ScopeIdResolve.html#a9d886fd1cd0850c8e398425837e37db1',1,'tvm::tirx::ScopeIdResolve::Resolve()'],['../classtvm_1_1ir_1_1ConfigSchema.html#a23bba3ffee226ebf40c869a144471145',1,'tvm::ir::ConfigSchema::Resolve()']]],
+  ['resolve_102',['resolve',['../classtvm_1_1ir_1_1ConfigSchema.html#a23bba3ffee226ebf40c869a144471145',1,'tvm::ir::ConfigSchema::Resolve()'],['../classtvm_1_1tirx_1_1ScopeIdResolve.html#a9d886fd1cd0850c8e398425837e37db1',1,'tvm::tirx::ScopeIdResolve::Resolve()']]],
   ['resolvedependency_103',['ResolveDependency',['../classtvm_1_1transform_1_1SequentialNode.html#a5549edf77e0a64bd6fcb692603967b8e',1,'tvm::transform::SequentialNode']]],
-  ['resolvetypevar_104',['ResolveTypeVar',['../namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961',1,'tvm::script::ir_builder']]],
-  ['result_105',['result',['../classtvm_1_1te_1_1CommReducerNode.html#aa2b4893f320a7dbc35ba20fbfe6f15d8',1,'tvm::te::CommReducerNode::result'],['../classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159',1,'tvm::script::ir_builder::IRBuilderNode::result'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ae0d33229af059c727db2abd3616660e0',1,'tvm::runtime::vm::Instruction::result'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html#a65c [...]
-  ['result_5ftype_106',['result_type',['../classtvm_1_1tirx_1_1StmtFunctor_3_01R_07const_01Stmt_01_6_00_01Args_8_8_8_08_4.html#a50a77608aeaacdede060d4b9d1cc4cae',1,'tvm::tirx::StmtFunctor&lt; R(const Stmt &amp;, Args...)&gt;::result_type'],['../classtvm_1_1s__tir_1_1LinearCongruentialEngine.html#a99c8c57b7836e41de5168799849de6fc',1,'tvm::s_tir::LinearCongruentialEngine::result_type'],['../classtvm_1_1relax_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html#ab0d5197db85c4 [...]
-  ['ret_107',['ret',['../namespacetvm_1_1runtime_1_1vm.html#a8d8d95ce8d629c7213f2f595917870ecaa4228a09dd66155de8e93a39245768bd',1,'tvm::runtime::vm::Ret'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ad14f3c094aa2b6c602ebaa74bfec7ffa',1,'tvm::runtime::vm::Instruction::Ret()'],['../classtvm_1_1relax_1_1FuncTypeNode.html#a106fdc6e77c3d27f8a3e876f53688263',1,'tvm::relax::FuncTypeNode::ret']]],
-  ['ret_5fty_108',['ret_ty',['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809',1,'tvm::script::ir_builder::relax::FunctionFrameNode::ret_ty'],['../classtvm_1_1relax_1_1FunctionNode.html#aa5ec96021a73883e0297218270714607',1,'tvm::relax::FunctionNode::ret_ty']]],
-  ['ret_5ftype_109',['ret_type',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee',1,'tvm::script::ir_builder::tirx::PrimFuncFrameNode::ret_type'],['../classtvm_1_1tirx_1_1PrimFuncNode.html#aeeeccf0a231507f6870503e127fa0567',1,'tvm::tirx::PrimFuncNode::ret_type'],['../structtvm_1_1relax_1_1TopKAttrs.html#aad94dd8b51edece5eb776be86a7af75a',1,'tvm::relax::TopKAttrs::ret_type'],['../classtvm_1_1FuncTypeNode.html#a4d30bd05ee4751f963daf [...]
-  ['return_110',['return',['../classtvm_1_1tirx_1_1Return.html',1,'tvm::tirx::Return'],['../classtvm_1_1tirx_1_1Return.html#a22c41f3d18f30d5c5b2b49fbb1d33dc7',1,'tvm::tirx::Return::Return()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#af040a4c3c53a13885635540988224273',1,'tvm::script::ir_builder::tirx::Return()']]],
-  ['return_5findices_111',['return_indices',['../structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html#a13070ecbc0317caf064e744295ba356f',1,'tvm::relax::NonMaximumSuppressionAttrs']]],
-  ['return_5ftype_112',['return_type',['../classtvm_1_1script_1_1printer_1_1FunctionDocNode.html#afa0b2960cc5f30fcdfca365357d266b1',1,'tvm::script::printer::FunctionDocNode']]],
-  ['returndoc_113',['returndoc',['../classtvm_1_1script_1_1printer_1_1ReturnDoc.html#afcf99665a7639d31b82c6cacc498a49d',1,'tvm::script::printer::ReturnDoc::ReturnDoc()'],['../classtvm_1_1script_1_1printer_1_1ReturnDoc.html',1,'tvm::script::printer::ReturnDoc']]],
-  ['returndocnode_114',['ReturnDocNode',['../classtvm_1_1script_1_1printer_1_1ReturnDocNode.html',1,'tvm::script::printer']]],
-  ['returnnode_115',['ReturnNode',['../classtvm_1_1tirx_1_1ReturnNode.html',1,'tvm::tirx']]],
-  ['reverse_5fsequence_116',['reverse_sequence',['../namespacetvm_1_1topi.html#ab8ad5eed3079de21c92a7639ed370096',1,'tvm::topi']]],
-  ['reversecomputeat_117',['ReverseComputeAt',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a119d54c0e79404882988a19d33a52ff9',1,'tvm::s_tir::ScheduleNode']]],
-  ['reversecomputeinline_118',['ReverseComputeInline',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a657c99b9a98e72413f302b3ae6d8bcb1',1,'tvm::s_tir::ScheduleNode']]],
-  ['reversesequenceattrs_119',['ReverseSequenceAttrs',['../structtvm_1_1relax_1_1ReverseSequenceAttrs.html',1,'tvm::relax']]],
-  ['rewrite_5fsimplify_120',['rewrite_simplify',['../classtvm_1_1sym_1_1AnalyzerObj.html#a0d5ef9c26cf8c54841e94d7e40af2edd',1,'tvm::sym::AnalyzerObj']]],
-  ['rewritebindings_121',['RewriteBindings',['../namespacetvm_1_1relax.html#af5845e4d011ab64d1ebbb8faa289c8b6',1,'tvm::relax']]],
-  ['rewritecall_122',['RewriteCall',['../namespacetvm_1_1relax.html#a4adfa32db8b3d194fc6fb2ff0edf6ce4',1,'tvm::relax']]],
-  ['rewritecooperativefetch_123',['RewriteCooperativeFetch',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a4ede8a71ec01446f238796be8ad629c2',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewritecudagraph_124',['RewriteCUDAGraph',['../namespacetvm_1_1relax_1_1transform.html#ad769f00c33bd5eac4fa5e608ce92b87b',1,'tvm::relax::transform']]],
-  ['rewritedataflowreshape_125',['RewriteDataflowReshape',['../namespacetvm_1_1relax_1_1transform.html#ab39386a8c6dad83320670e691e7a60c0',1,'tvm::relax::transform']]],
-  ['rewritelayout_126',['RewriteLayout',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9bedbdcbe339c6d73888e5fb2f2041f6',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewriteparallelvectorizeunroll_127',['RewriteParallelVectorizeUnroll',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9e934c0abf4365ded1a5da6aec0f739d',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewritereductionblock_128',['RewriteReductionBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a5f3af3eac1d923a1999c5ffe1ce01ad2',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewritesimplifier_129',['RewriteSimplifier',['../classtvm_1_1sym_1_1RewriteSimplifier.html',1,'tvm::sym']]],
-  ['rewritetensorize_130',['RewriteTensorize',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a919ab89d465caafc81840943afb481af',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewriteunboundblock_131',['RewriteUnboundBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a2fa39c2e5a159e1edc3d7de177797936',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewriteunsafeselect_132',['RewriteUnsafeSelect',['../namespacetvm_1_1s__tir_1_1transform.html#adaa2770e18b9bf339ae775ee11270dc2',1,'tvm::s_tir::transform']]],
-  ['rfactor_133',['RFactor',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a048544cae8a79606f96a9639459867b4',1,'tvm::s_tir::ScheduleNode']]],
-  ['rhs_134',['rhs',['../classtvm_1_1te_1_1CommReducerNode.html#a270c5e31fa40ebabf78bea3e6a8555f4',1,'tvm::te::CommReducerNode::rhs'],['../classtvm_1_1script_1_1printer_1_1ScopeDocNode.html#abf3636ac2820118a3d48f2fea32b2b0b',1,'tvm::script::printer::ScopeDocNode::rhs'],['../classtvm_1_1script_1_1printer_1_1ForDocNode.html#aa72614136675287310ea08520f596642',1,'tvm::script::printer::ForDocNode::rhs'],['../classtvm_1_1script_1_1printer_1_1AssignDocNode.html#a5d0c1c3cd389576cd2cb56ce69925077 [...]
-  ['right_135',['right',['../structtvm_1_1relax_1_1BucketizeAttrs.html#a87344bdd40f4e6b6982e92da3b30b830',1,'tvm::relax::BucketizeAttrs::right'],['../classtvm_1_1relax_1_1AndPatternNode.html#a2dd5c8578040865a4ab3faf80e88f9c6',1,'tvm::relax::AndPatternNode::right'],['../classtvm_1_1relax_1_1OrPatternNode.html#a3e8456e038afbda59a7fd5985362e23b',1,'tvm::relax::OrPatternNode::right']]],
-  ['right_5fshift_136',['right_shift',['../namespacetvm_1_1topi.html#a8d155306c648c5925352eca1d7b17a60',1,'tvm::topi::right_shift()'],['../namespacetvm.html#ae8ecc0382685a855187bede0c97d93e6',1,'tvm::right_shift(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.html#af49dde9dfdeea62e8ad3a6d8db53de0b',1,'tvm::right_shift(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm.html#a98ff4361d0a24570f8dc32d03cde972a',1,'tvm::right_shift(int a, const PrimExpr &amp;b,  [...]
-  ['rms_5fnorm_137',['rms_norm',['../namespacetvm_1_1topi_1_1nn.html#aecbd73f84d66f263ce8b8582844d77db',1,'tvm::topi::nn']]],
-  ['rms_5fnorm_2eh_138',['rms_norm.h',['../rms__norm_8h.html',1,'']]],
-  ['rmsnormattrs_139',['RMSNormAttrs',['../structtvm_1_1relax_1_1RMSNormAttrs.html',1,'tvm::relax']]],
-  ['roi_140',['roi',['../structtvm_1_1relax_1_1Resize2DAttrs.html#a1c0e6623f08e976f34bb54090b72c4bf',1,'tvm::relax::Resize2DAttrs::roi'],['../structtvm_1_1relax_1_1Resize3DAttrs.html#a5d05cdd894595bf191c6087eb3d112f5',1,'tvm::relax::Resize3DAttrs::roi']]],
-  ['roialignattrs_141',['ROIAlignAttrs',['../structtvm_1_1relax_1_1ROIAlignAttrs.html',1,'tvm::relax']]],
-  ['roipoolattrs_142',['ROIPoolAttrs',['../structtvm_1_1relax_1_1ROIPoolAttrs.html',1,'tvm::relax']]],
-  ['rollingbuffer_143',['RollingBuffer',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ade004c879f9ea381bab34da5aeb3c165',1,'tvm::s_tir::ScheduleNode']]],
-  ['root_5falloc_5fbuffers_144',['root_alloc_buffers',['../classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html#a17dfe65322d7dbb0121b9083ef31e8d2',1,'tvm::script::ir_builder::s_tir::PrimFuncFrameNode']]],
-  ['root_5ffn_5f_145',['root_fn_',['../classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#a854c996f9e9eb5e38b6942352f753eb4',1,'tvm::relax::DataflowBlockRewriteNode']]],
-  ['rootmark_146',['RootMark',['../classtvm_1_1tirx_1_1StmtSRef.html#a8baeedc5f10b77aa6f3a9cb53ac848cf',1,'tvm::tirx::StmtSRef']]],
-  ['round_147',['round',['../namespacetvm_1_1prim.html#a0645bf2b37dcb9f8fdb38ce392a7ae6b',1,'tvm::prim::round()'],['../namespacetvm_1_1topi.html#a11030c7cd076210bf364c6f70846de78',1,'tvm::topi::round()']]],
-  ['rounding_5fmethod_148',['rounding_method',['../structtvm_1_1relax_1_1Resize3DAttrs.html#abed6a05241d60f894384761a3541735d',1,'tvm::relax::Resize3DAttrs::rounding_method'],['../structtvm_1_1relax_1_1Resize2DAttrs.html#abd653f720d5731fc0db15f7de0a21849',1,'tvm::relax::Resize2DAttrs::rounding_method']]],
-  ['roundrobin_149',['RoundRobin',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskScheduler.html#a55941a78a0fec7501a88e5cd329a9bbf',1,'tvm::s_tir::meta_schedule::TaskScheduler']]],
-  ['rshift_150',['rshift',['../classtvm_1_1prim_1_1RShift.html#a224ebcd660b7b54d1f9077608bbb9582',1,'tvm::prim::RShift::RShift()'],['../classtvm_1_1prim_1_1RShift.html',1,'tvm::prim::RShift']]],
-  ['rshiftnode_151',['RShiftNode',['../classtvm_1_1prim_1_1RShiftNode.html',1,'tvm::prim']]],
-  ['rsqrt_152',['rsqrt',['../namespacetvm_1_1prim.html#a28d4523f88d7dd94285fa5b663e3d298',1,'tvm::prim::rsqrt()'],['../namespacetvm_1_1topi.html#a87781e08068ff16cbae1356a32331cdc',1,'tvm::topi::rsqrt()']]],
-  ['run_153',['run',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html#ac4680f23f0d2a2f653ee23ff496cd8e7',1,'tvm::s_tir::meta_schedule::RunnerNode::Run()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1PyRunnerNode.html#a3be5bbc7c428e6ad3618d476ce46520d',1,'tvm::s_tir::meta_schedule::PyRunnerNode::Run()']]],
-  ['run_5ferror_5fcount_154',['run_error_count',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html#af72ad92bc5bf6f9c75a19253974fe47a',1,'tvm::s_tir::meta_schedule::TaskRecordNode']]],
-  ['run_5fsecs_155',['run_secs',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html#ab5ee00c86037c1239976700a0dd40ac0',1,'tvm::s_tir::meta_schedule::TuningRecordNode::run_secs'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResultNode.html#ac01158ce9ba4fa5a47ddb9a81fe57f19',1,'tvm::s_tir::meta_schedule::RunnerResultNode::run_secs']]],
-  ['runafterpass_156',['RunAfterPass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a49332b9ab696afefa427b676dbaba1b0',1,'tvm::instrument::PassInstrumentNode']]],
-  ['runbeforepass_157',['RunBeforePass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a4c5781489ab0113fbfcb9a61e6348b43',1,'tvm::instrument::PassInstrumentNode']]],
-  ['runcodegen_158',['RunCodegen',['../namespacetvm_1_1relax_1_1transform.html#a9d00529108ea6c23d2cd526a30c65ce2',1,'tvm::relax::transform']]],
-  ['runner_159',['runner',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html#a94e173785f54a9d00e374dc5cc71f550',1,'tvm::s_tir::meta_schedule::Runner::Runner()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html',1,'tvm::s_tir::meta_schedule::Runner']]],
-  ['runner_2eh_160',['runner.h',['../runner_8h.html',1,'']]],
-  ['runner_5ffutures_161',['runner_futures',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html#a98601b4989fa0b5c200670b54b5be3ba',1,'tvm::s_tir::meta_schedule::TaskRecordNode']]],
-  ['runnerfuture_162',['runnerfuture',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html',1,'tvm::s_tir::meta_schedule::RunnerFuture'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html#a74364d1d1717245decc57cefc6169ca0',1,'tvm::s_tir::meta_schedule::RunnerFuture::RunnerFuture()']]],
-  ['runnerfuturenode_163',['RunnerFutureNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html',1,'tvm::s_tir::meta_schedule']]],
-  ['runnerinput_164',['runnerinput',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html',1,'tvm::s_tir::meta_schedule::RunnerInput'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html#a757a5bb992067bac644968dbbaba1db4',1,'tvm::s_tir::meta_schedule::RunnerInput::RunnerInput()']]],
-  ['runnerinputnode_165',['RunnerInputNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInputNode.html',1,'tvm::s_tir::meta_schedule']]],
-  ['runnernode_166',['RunnerNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html',1,'tvm::s_tir::meta_schedule']]],
-  ['runnerresult_167',['runnerresult',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html#a0a7fc9f46a3a69e0fb4290386b03e46e',1,'tvm::s_tir::meta_schedule::RunnerResult::RunnerResult()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html',1,'tvm::s_tir::meta_schedule::RunnerResult']]],
-  ['runnerresultnode_168',['RunnerResultNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResultNode.html',1,'tvm::s_tir::meta_schedule']]],
-  ['runtimeenabled_169',['RuntimeEnabled',['../namespacetvm_1_1runtime.html#a5b86c1a967df6d41784685f3e8dd5398',1,'tvm::runtime']]]
+  ['result_104',['result',['../classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#aa0e80774ba214883d0952c3aa9048159',1,'tvm::script::ir_builder::IRBuilderNode::result'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ae0d33229af059c727db2abd3616660e0',1,'tvm::runtime::vm::Instruction::result'],['../classtvm_1_1te_1_1CommReducerNode.html#aa2b4893f320a7dbc35ba20fbfe6f15d8',1,'tvm::te::CommReducerNode::result'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html#a65c [...]
+  ['result_5ftype_105',['result_type',['../classtvm_1_1ExprFunctor_3_01R_07const_01Expr_01_6_00_01Args_8_8_8_08_4.html#ad7abb157a3310016a806de8d1d17dbaf',1,'tvm::ExprFunctor&lt; R(const Expr &amp;, Args...)&gt;::result_type'],['../classtvm_1_1ObjectFunctor_3_01R_07NodeArg_00_01Args_8_8_8_08_4.html#a7d0f4bcddb297602fcf1c547faa963a5',1,'tvm::ObjectFunctor&lt; R(NodeArg, Args...)&gt;::result_type'],['../classtvm_1_1tirx_1_1StmtFunctor_3_01R_07const_01Stmt_01_6_00_01Args_8_8_8_08_4.html#a50a [...]
+  ['ret_106',['ret',['../classtvm_1_1relax_1_1FuncTypeNode.html#a106fdc6e77c3d27f8a3e876f53688263',1,'tvm::relax::FuncTypeNode::ret'],['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ad14f3c094aa2b6c602ebaa74bfec7ffa',1,'tvm::runtime::vm::Instruction::Ret()'],['../namespacetvm_1_1runtime_1_1vm.html#a8d8d95ce8d629c7213f2f595917870ecaa4228a09dd66155de8e93a39245768bd',1,'tvm::runtime::vm::Ret']]],
+  ['ret_5fty_107',['ret_ty',['../classtvm_1_1relax_1_1FunctionNode.html#aa5ec96021a73883e0297218270714607',1,'tvm::relax::FunctionNode::ret_ty'],['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#a5a1122b6247dabe055f33a9a9da33809',1,'tvm::script::ir_builder::relax::FunctionFrameNode::ret_ty']]],
+  ['ret_5ftype_108',['ret_type',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee',1,'tvm::script::ir_builder::tirx::PrimFuncFrameNode::ret_type'],['../classtvm_1_1FuncTypeNode.html#a4d30bd05ee4751f963daf10f0c69036d',1,'tvm::FuncTypeNode::ret_type'],['../structtvm_1_1relax_1_1TopKAttrs.html#aad94dd8b51edece5eb776be86a7af75a',1,'tvm::relax::TopKAttrs::ret_type'],['../classtvm_1_1tirx_1_1PrimFuncNode.html#aeeeccf0a231507f6870503e127f [...]
+  ['return_109',['return',['../classtvm_1_1tirx_1_1Return.html',1,'tvm::tirx::Return'],['../classtvm_1_1tirx_1_1Return.html#a22c41f3d18f30d5c5b2b49fbb1d33dc7',1,'tvm::tirx::Return::Return()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#af040a4c3c53a13885635540988224273',1,'tvm::script::ir_builder::tirx::Return()']]],
+  ['return_5findices_110',['return_indices',['../structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html#a13070ecbc0317caf064e744295ba356f',1,'tvm::relax::NonMaximumSuppressionAttrs']]],
+  ['return_5ftype_111',['return_type',['../classtvm_1_1script_1_1printer_1_1FunctionDocNode.html#afa0b2960cc5f30fcdfca365357d266b1',1,'tvm::script::printer::FunctionDocNode']]],
+  ['returndoc_112',['returndoc',['../classtvm_1_1script_1_1printer_1_1ReturnDoc.html#afcf99665a7639d31b82c6cacc498a49d',1,'tvm::script::printer::ReturnDoc::ReturnDoc()'],['../classtvm_1_1script_1_1printer_1_1ReturnDoc.html',1,'tvm::script::printer::ReturnDoc']]],
+  ['returndocnode_113',['ReturnDocNode',['../classtvm_1_1script_1_1printer_1_1ReturnDocNode.html',1,'tvm::script::printer']]],
+  ['returnnode_114',['ReturnNode',['../classtvm_1_1tirx_1_1ReturnNode.html',1,'tvm::tirx']]],
+  ['reverse_5fsequence_115',['reverse_sequence',['../namespacetvm_1_1topi.html#ab8ad5eed3079de21c92a7639ed370096',1,'tvm::topi']]],
+  ['reversecomputeat_116',['ReverseComputeAt',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a119d54c0e79404882988a19d33a52ff9',1,'tvm::s_tir::ScheduleNode']]],
+  ['reversecomputeinline_117',['ReverseComputeInline',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a657c99b9a98e72413f302b3ae6d8bcb1',1,'tvm::s_tir::ScheduleNode']]],
+  ['reversesequenceattrs_118',['ReverseSequenceAttrs',['../structtvm_1_1relax_1_1ReverseSequenceAttrs.html',1,'tvm::relax']]],
+  ['rewrite_5fsimplify_119',['rewrite_simplify',['../classtvm_1_1sym_1_1AnalyzerObj.html#a0d5ef9c26cf8c54841e94d7e40af2edd',1,'tvm::sym::AnalyzerObj']]],
+  ['rewritebindings_120',['RewriteBindings',['../namespacetvm_1_1relax.html#af5845e4d011ab64d1ebbb8faa289c8b6',1,'tvm::relax']]],
+  ['rewritecall_121',['RewriteCall',['../namespacetvm_1_1relax.html#a4adfa32db8b3d194fc6fb2ff0edf6ce4',1,'tvm::relax']]],
+  ['rewritecooperativefetch_122',['RewriteCooperativeFetch',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a4ede8a71ec01446f238796be8ad629c2',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewritecudagraph_123',['RewriteCUDAGraph',['../namespacetvm_1_1relax_1_1transform.html#ad769f00c33bd5eac4fa5e608ce92b87b',1,'tvm::relax::transform']]],
+  ['rewritedataflowreshape_124',['RewriteDataflowReshape',['../namespacetvm_1_1relax_1_1transform.html#ab39386a8c6dad83320670e691e7a60c0',1,'tvm::relax::transform']]],
+  ['rewritelayout_125',['RewriteLayout',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9bedbdcbe339c6d73888e5fb2f2041f6',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewriteparallelvectorizeunroll_126',['RewriteParallelVectorizeUnroll',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9e934c0abf4365ded1a5da6aec0f739d',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewritereductionblock_127',['RewriteReductionBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a5f3af3eac1d923a1999c5ffe1ce01ad2',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewritesimplifier_128',['RewriteSimplifier',['../classtvm_1_1sym_1_1RewriteSimplifier.html',1,'tvm::sym']]],
+  ['rewritetensorize_129',['RewriteTensorize',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a919ab89d465caafc81840943afb481af',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewriteunboundblock_130',['RewriteUnboundBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a2fa39c2e5a159e1edc3d7de177797936',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewriteunsafeselect_131',['RewriteUnsafeSelect',['../namespacetvm_1_1s__tir_1_1transform.html#adaa2770e18b9bf339ae775ee11270dc2',1,'tvm::s_tir::transform']]],
+  ['rfactor_132',['RFactor',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a048544cae8a79606f96a9639459867b4',1,'tvm::s_tir::ScheduleNode']]],
+  ['rhs_133',['rhs',['../classtvm_1_1script_1_1printer_1_1ForDocNode.html#aa72614136675287310ea08520f596642',1,'tvm::script::printer::ForDocNode::rhs'],['../classtvm_1_1script_1_1printer_1_1ScopeDocNode.html#abf3636ac2820118a3d48f2fea32b2b0b',1,'tvm::script::printer::ScopeDocNode::rhs'],['../classtvm_1_1te_1_1CommReducerNode.html#a270c5e31fa40ebabf78bea3e6a8555f4',1,'tvm::te::CommReducerNode::rhs'],['../classtvm_1_1script_1_1printer_1_1AssignDocNode.html#a5d0c1c3cd389576cd2cb56ce69925077 [...]
+  ['right_134',['right',['../classtvm_1_1relax_1_1OrPatternNode.html#a3e8456e038afbda59a7fd5985362e23b',1,'tvm::relax::OrPatternNode::right'],['../classtvm_1_1relax_1_1AndPatternNode.html#a2dd5c8578040865a4ab3faf80e88f9c6',1,'tvm::relax::AndPatternNode::right'],['../structtvm_1_1relax_1_1BucketizeAttrs.html#a87344bdd40f4e6b6982e92da3b30b830',1,'tvm::relax::BucketizeAttrs::right']]],
+  ['right_5fshift_135',['right_shift',['../namespacetvm_1_1topi.html#a8d155306c648c5925352eca1d7b17a60',1,'tvm::topi::right_shift()'],['../namespacetvm.html#af49dde9dfdeea62e8ad3a6d8db53de0b',1,'tvm::right_shift(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm.html#a98ff4361d0a24570f8dc32d03cde972a',1,'tvm::right_shift(int a, const PrimExpr &amp;b, Span span=Span())'],['../namespacetvm_1_1topi.html#a9673b9caffb46404b566c3f04a492dfe',1,'tvm::topi::right_shift(const tvm: [...]
+  ['rms_5fnorm_136',['rms_norm',['../namespacetvm_1_1topi_1_1nn.html#aecbd73f84d66f263ce8b8582844d77db',1,'tvm::topi::nn']]],
+  ['rms_5fnorm_2eh_137',['rms_norm.h',['../rms__norm_8h.html',1,'']]],
+  ['rmsnormattrs_138',['RMSNormAttrs',['../structtvm_1_1relax_1_1RMSNormAttrs.html',1,'tvm::relax']]],
+  ['roi_139',['roi',['../structtvm_1_1relax_1_1Resize2DAttrs.html#a1c0e6623f08e976f34bb54090b72c4bf',1,'tvm::relax::Resize2DAttrs::roi'],['../structtvm_1_1relax_1_1Resize3DAttrs.html#a5d05cdd894595bf191c6087eb3d112f5',1,'tvm::relax::Resize3DAttrs::roi']]],
+  ['roialignattrs_140',['ROIAlignAttrs',['../structtvm_1_1relax_1_1ROIAlignAttrs.html',1,'tvm::relax']]],
+  ['roipoolattrs_141',['ROIPoolAttrs',['../structtvm_1_1relax_1_1ROIPoolAttrs.html',1,'tvm::relax']]],
+  ['rollingbuffer_142',['RollingBuffer',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ade004c879f9ea381bab34da5aeb3c165',1,'tvm::s_tir::ScheduleNode']]],
+  ['root_5falloc_5fbuffers_143',['root_alloc_buffers',['../classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1PrimFuncFrameNode.html#a17dfe65322d7dbb0121b9083ef31e8d2',1,'tvm::script::ir_builder::s_tir::PrimFuncFrameNode']]],
+  ['root_5ffn_5f_144',['root_fn_',['../classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#a854c996f9e9eb5e38b6942352f753eb4',1,'tvm::relax::DataflowBlockRewriteNode']]],
+  ['rootmark_145',['RootMark',['../classtvm_1_1tirx_1_1StmtSRef.html#a8baeedc5f10b77aa6f3a9cb53ac848cf',1,'tvm::tirx::StmtSRef']]],
+  ['round_146',['round',['../namespacetvm_1_1prim.html#a0645bf2b37dcb9f8fdb38ce392a7ae6b',1,'tvm::prim::round()'],['../namespacetvm_1_1topi.html#a11030c7cd076210bf364c6f70846de78',1,'tvm::topi::round()']]],
+  ['rounding_5fmethod_147',['rounding_method',['../structtvm_1_1relax_1_1Resize3DAttrs.html#abed6a05241d60f894384761a3541735d',1,'tvm::relax::Resize3DAttrs::rounding_method'],['../structtvm_1_1relax_1_1Resize2DAttrs.html#abd653f720d5731fc0db15f7de0a21849',1,'tvm::relax::Resize2DAttrs::rounding_method']]],
+  ['roundrobin_148',['RoundRobin',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskScheduler.html#a55941a78a0fec7501a88e5cd329a9bbf',1,'tvm::s_tir::meta_schedule::TaskScheduler']]],
+  ['rshift_149',['rshift',['../classtvm_1_1prim_1_1RShift.html#a224ebcd660b7b54d1f9077608bbb9582',1,'tvm::prim::RShift::RShift()'],['../classtvm_1_1prim_1_1RShift.html',1,'tvm::prim::RShift']]],
+  ['rshiftnode_150',['RShiftNode',['../classtvm_1_1prim_1_1RShiftNode.html',1,'tvm::prim']]],
+  ['rsqrt_151',['rsqrt',['../namespacetvm_1_1prim.html#a28d4523f88d7dd94285fa5b663e3d298',1,'tvm::prim::rsqrt()'],['../namespacetvm_1_1topi.html#a87781e08068ff16cbae1356a32331cdc',1,'tvm::topi::rsqrt()']]],
+  ['run_152',['run',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html#ac4680f23f0d2a2f653ee23ff496cd8e7',1,'tvm::s_tir::meta_schedule::RunnerNode::Run()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1PyRunnerNode.html#a3be5bbc7c428e6ad3618d476ce46520d',1,'tvm::s_tir::meta_schedule::PyRunnerNode::Run()']]],
+  ['run_5ferror_5fcount_153',['run_error_count',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html#af72ad92bc5bf6f9c75a19253974fe47a',1,'tvm::s_tir::meta_schedule::TaskRecordNode']]],
+  ['run_5fsecs_154',['run_secs',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html#ab5ee00c86037c1239976700a0dd40ac0',1,'tvm::s_tir::meta_schedule::TuningRecordNode::run_secs'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResultNode.html#ac01158ce9ba4fa5a47ddb9a81fe57f19',1,'tvm::s_tir::meta_schedule::RunnerResultNode::run_secs']]],
+  ['runafterpass_155',['RunAfterPass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a49332b9ab696afefa427b676dbaba1b0',1,'tvm::instrument::PassInstrumentNode']]],
+  ['runbeforepass_156',['RunBeforePass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a4c5781489ab0113fbfcb9a61e6348b43',1,'tvm::instrument::PassInstrumentNode']]],
+  ['runcodegen_157',['RunCodegen',['../namespacetvm_1_1relax_1_1transform.html#a9d00529108ea6c23d2cd526a30c65ce2',1,'tvm::relax::transform']]],
+  ['runner_158',['runner',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html#a94e173785f54a9d00e374dc5cc71f550',1,'tvm::s_tir::meta_schedule::Runner::Runner()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html',1,'tvm::s_tir::meta_schedule::Runner']]],
+  ['runner_2eh_159',['runner.h',['../runner_8h.html',1,'']]],
+  ['runner_5ffutures_160',['runner_futures',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskRecordNode.html#a98601b4989fa0b5c200670b54b5be3ba',1,'tvm::s_tir::meta_schedule::TaskRecordNode']]],
+  ['runnerfuture_161',['runnerfuture',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html',1,'tvm::s_tir::meta_schedule::RunnerFuture'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html#a74364d1d1717245decc57cefc6169ca0',1,'tvm::s_tir::meta_schedule::RunnerFuture::RunnerFuture()']]],
+  ['runnerfuturenode_162',['RunnerFutureNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html',1,'tvm::s_tir::meta_schedule']]],
+  ['runnerinput_163',['runnerinput',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html',1,'tvm::s_tir::meta_schedule::RunnerInput'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html#a757a5bb992067bac644968dbbaba1db4',1,'tvm::s_tir::meta_schedule::RunnerInput::RunnerInput()']]],
+  ['runnerinputnode_164',['RunnerInputNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInputNode.html',1,'tvm::s_tir::meta_schedule']]],
+  ['runnernode_165',['RunnerNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html',1,'tvm::s_tir::meta_schedule']]],
+  ['runnerresult_166',['runnerresult',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html#a0a7fc9f46a3a69e0fb4290386b03e46e',1,'tvm::s_tir::meta_schedule::RunnerResult::RunnerResult()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html',1,'tvm::s_tir::meta_schedule::RunnerResult']]],
+  ['runnerresultnode_167',['RunnerResultNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResultNode.html',1,'tvm::s_tir::meta_schedule']]],
+  ['runtimeenabled_168',['RuntimeEnabled',['../namespacetvm_1_1runtime.html#a5b86c1a967df6d41784685f3e8dd5398',1,'tvm::runtime']]]
 ];
diff --git a/docs/reference/api/doxygen/search/all_14.js b/docs/reference/api/doxygen/search/all_14.js
index 13f442a5aff..7866f1f53ca 100644
--- a/docs/reference/api/doxygen/search/all_14.js
+++ b/docs/reference/api/doxygen/search/all_14.js
@@ -34,7 +34,7 @@ var searchData=
   ['scale_31',['scale',['../structtvm_1_1relax_1_1BatchNormAttrs.html#a7570b9d1db92d07156c528bb6a9e79ca',1,'tvm::relax::BatchNormAttrs::scale'],['../structtvm_1_1relax_1_1LayerNormAttrs.html#a092044955be9913a89574bd7bcddfe5a',1,'tvm::relax::LayerNormAttrs::scale'],['../structtvm_1_1relax_1_1GroupNormAttrs.html#aff52aaca359492974c2686eeabe64466',1,'tvm::relax::GroupNormAttrs::scale'],['../structtvm_1_1relax_1_1InstanceNormAttrs.html#a73b6e3b0782a81d2ab149c72ff768141',1,'tvm::relax::Instan [...]
   ['scale_5fshift_5fnchw_32',['scale_shift_nchw',['../namespacetvm_1_1topi_1_1nn.html#a07b8a04f27f17af58dd9f18218cfe081',1,'tvm::topi::nn']]],
   ['scale_5fshift_5fnhwc_33',['scale_shift_nhwc',['../namespacetvm_1_1topi_1_1nn.html#acaf3bc4e89fc55b8444d2550d25f4f22',1,'tvm::topi::nn']]],
-  ['scan_34',['scan',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir_1_1axis.html#ae704ac53b7e25ce714cd6fd6e3b004a1',1,'tvm::script::ir_builder::s_tir::axis::Scan()'],['../namespacetvm_1_1te.html#a665b6af508ca707d3c4aed749e8a113e',1,'tvm::te::scan()']]],
+  ['scan_34',['scan',['../namespacetvm_1_1te.html#a665b6af508ca707d3c4aed749e8a113e',1,'tvm::te::scan()'],['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir_1_1axis.html#ae704ac53b7e25ce714cd6fd6e3b004a1',1,'tvm::script::ir_builder::s_tir::axis::Scan()']]],
   ['scan_5faxis_35',['scan_axis',['../classtvm_1_1te_1_1ScanOpNode.html#a9c67e6383696efbba8e1ff9bd7470c8a',1,'tvm::te::ScanOpNode']]],
   ['scanop_36',['scanop',['../classtvm_1_1te_1_1ScanOp.html#ac543d72bda102433f59f765976c6d14e',1,'tvm::te::ScanOp::ScanOp()'],['../classtvm_1_1te_1_1ScanOp.html',1,'tvm::te::ScanOp']]],
   ['scanopattrs_37',['ScanopAttrs',['../structtvm_1_1relax_1_1ScanopAttrs.html',1,'tvm::relax']]],
@@ -184,7 +184,7 @@ var searchData=
   ['shared_5fstate_181',['shared_state',['../classtvm_1_1tirx_1_1DispatchContextNode.html#a22bc09047e9dda15e44882b350676a1c',1,'tvm::tirx::DispatchContextNode']]],
   ['sharedstateget_182',['SharedStateGet',['../classtvm_1_1tirx_1_1DispatchContextNode.html#a83b72021c5c9354e6ee7c0247d2fb381',1,'tvm::tirx::DispatchContextNode']]],
   ['sharedstateset_183',['SharedStateSet',['../classtvm_1_1tirx_1_1DispatchContextNode.html#a71d6f811e8238fbedeed4f9a5b149525',1,'tvm::tirx::DispatchContextNode']]],
-  ['shash_184',['shash',['../classtvm_1_1IRModuleNode.html#a56f657949e3732acd2fdfee6e9c6c546',1,'tvm::IRModuleNode::SHash()'],['../classtvm_1_1GlobalVarNode.html#a1807a822cda2810fbb3ac163b03bb41d',1,'tvm::GlobalVarNode::SHash()'],['../classtvm_1_1relax_1_1VarBindingNode.html#a768c04bf99ac2eb64fc7bf3639398432',1,'tvm::relax::VarBindingNode::SHash()'],['../classtvm_1_1relax_1_1SeqExprNode.html#a9a9d7baf3f91ebf5c69c03d32e990adb',1,'tvm::relax::SeqExprNode::SHash()'],['../classtvm_1_1tirx_1_ [...]
+  ['shash_184',['shash',['../classtvm_1_1GlobalVarNode.html#a1807a822cda2810fbb3ac163b03bb41d',1,'tvm::GlobalVarNode::SHash()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadNode.html#a70db0e7d31133e33144be868defc538c',1,'tvm::s_tir::meta_schedule::WorkloadNode::shash'],['../classtvm_1_1IRModuleNode.html#a56f657949e3732acd2fdfee6e9c6c546',1,'tvm::IRModuleNode::SHash()'],['../classtvm_1_1relax_1_1VarBindingNode.html#a768c04bf99ac2eb64fc7bf3639398432',1,'tvm::relax::VarBindingNode:: [...]
   ['shouldrun_185',['ShouldRun',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a2b21cac2b6f389c98b359a9a0d640de5',1,'tvm::instrument::PassInstrumentNode']]],
   ['show_5fmeta_186',['show_meta',['../classtvm_1_1PrinterConfigNode.html#aa11acd5d0e720eda7619ae1c7baa8c2c',1,'tvm::PrinterConfigNode']]],
   ['show_5fobject_5faddress_187',['show_object_address',['../classtvm_1_1PrinterConfigNode.html#a895ea453f71467ba1ff0f0febbec410f',1,'tvm::PrinterConfigNode']]],
@@ -301,7 +301,7 @@ var searchData=
   ['stmtsimplify_298',['stmtsimplify',['../namespacetvm_1_1tirx_1_1transform.html#a9b414ef779723fba397b9302d33400c2',1,'tvm::tirx::transform::StmtSimplify()'],['../namespacetvm_1_1s__tir_1_1transform.html#a20b050e2315472ab2ff1380bb29f53a2',1,'tvm::s_tir::transform::StmtSimplify()']]],
   ['stmtsref_299',['stmtsref',['../classtvm_1_1tirx_1_1StmtSRef.html#a8e616fa554a3226402530eeb2d35ebd6',1,'tvm::tirx::StmtSRef::StmtSRef()'],['../classtvm_1_1tirx_1_1StmtSRef.html',1,'tvm::tirx::StmtSRef']]],
   ['stmtsrefnode_300',['StmtSRefNode',['../classtvm_1_1tirx_1_1StmtSRefNode.html',1,'tvm::tirx']]],
-  ['stop_301',['stop',['../classtvm_1_1script_1_1printer_1_1SliceDocNode.html#ab50085f5404b9d37827e19f7b382d2e6',1,'tvm::script::printer::SliceDocNode::stop'],['../classtvm_1_1runtime_1_1TimerNode.html#a67eb764f2c9e3fb7c2708f01c0c35683',1,'tvm::runtime::TimerNode::Stop()']]],
+  ['stop_301',['stop',['../classtvm_1_1runtime_1_1TimerNode.html#a67eb764f2c9e3fb7c2708f01c0c35683',1,'tvm::runtime::TimerNode::Stop()'],['../classtvm_1_1script_1_1printer_1_1SliceDocNode.html#ab50085f5404b9d37827e19f7b382d2e6',1,'tvm::script::printer::SliceDocNode::stop']]],
   ['storage_302',['storage',['../classtvm_1_1runtime_1_1memory_1_1Storage.html#a4c6962cccc82e0ed78ae327c6c4c6844',1,'tvm::runtime::memory::Storage::Storage()'],['../classtvm_1_1runtime_1_1memory_1_1Storage.html',1,'tvm::runtime::memory::Storage']]],
   ['storage_5falignment_303',['storage_alignment',['../namespacetvm_1_1tirx_1_1attr.html#a578f957aa3fea3bca9bdfcc121122d2e',1,'tvm::tirx::attr']]],
   ['storage_5fscope_304',['storage_scope',['../classtvm_1_1tirx_1_1BufferTypeNode.html#a8698677627e72d7a5fc2407c6f6c2d25',1,'tvm::tirx::BufferTypeNode::storage_scope'],['../classtvm_1_1PointerTypeNode.html#ae309f7f562a4243bf92f070a9d86ebe4',1,'tvm::PointerTypeNode::storage_scope']]],
diff --git a/docs/reference/api/doxygen/search/all_15.js b/docs/reference/api/doxygen/search/all_15.js
index 4a384caee29..0349e17bdc0 100644
--- a/docs/reference/api/doxygen/search/all_15.js
+++ b/docs/reference/api/doxygen/search/all_15.js
@@ -8,7 +8,7 @@ var searchData=
   ['takeattrs_5',['TakeAttrs',['../structtvm_1_1relax_1_1TakeAttrs.html',1,'tvm::relax']]],
   ['tan_6',['tan',['../namespacetvm_1_1topi.html#a13b757fe52775f43a58d91c0a1330f97',1,'tvm::topi::tan()'],['../namespacetvm_1_1prim.html#a70c590aaca168c70a862ce2887c30e60',1,'tvm::prim::tan()']]],
   ['tanh_7',['tanh',['../namespacetvm_1_1topi.html#aec153e599d33c78a7592007cde1c02cb',1,'tvm::topi::tanh()'],['../namespacetvm_1_1prim.html#af703e5216d25c58bd8e4d50c57461253',1,'tvm::prim::tanh()']]],
-  ['target_8',['target',['../classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInputNode.html#adc80c4100cf7cd7732a409c050efba0c',1,'tvm::s_tir::meta_schedule::BuilderInputNode::target'],['../classtvm_1_1Target.html#a58a5a1e042e265fe5a6973045226fe1a',1,'tvm::Target::Target(std::nullptr_t)'],['../classtvm_1_1Target.html#ab8c52b5090b986f9b9c049aefd2689dd',1,'tvm::Target::Target(const ffi::String &amp;tag_or_config_or_target_str)'],['../classtvm_1_1Target.html#a7b805c03310a3f4ac3ee5cfa7a094f78' [...]
+  ['target_8',['target',['../classtvm_1_1tirx_1_1DispatchContextNode.html#a62f1f41ca0f1f62aeea52c32a43bc41a',1,'tvm::tirx::DispatchContextNode::target'],['../classtvm_1_1relax_1_1VDeviceNode.html#aabaa59aadc9f6220b0d66832ab6720a3',1,'tvm::relax::VDeviceNode::target'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1BuilderInputNode.html#adc80c4100cf7cd7732a409c050efba0c',1,'tvm::s_tir::meta_schedule::BuilderInputNode::target'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.htm [...]
   ['target_2eh_9',['target.h',['../target_8h.html',1,'']]],
   ['target_5fcanonicalizer_10',['target_canonicalizer',['../classtvm_1_1TargetKindNode.html#a1b1bd4a8799399aca6d2a8761ff3615a',1,'tvm::TargetKindNode']]],
   ['target_5fkind_2eh_11',['target_kind.h',['../target__kind_8h.html',1,'']]],
@@ -127,7 +127,7 @@ var searchData=
   ['touchtask_124',['TouchTask',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html#a96dad2bf37679aba787f4e4b81c979f9',1,'tvm::s_tir::meta_schedule::TaskSchedulerNode']]],
   ['tovdeviceattrs_125',['ToVDeviceAttrs',['../structtvm_1_1relax_1_1ToVDeviceAttrs.html',1,'tvm::relax']]],
   ['tparent_126',['tparent',['../classtvm_1_1OpAttrMap.html#a316480ca7450209650fc1a62f7ce4a14',1,'tvm::OpAttrMap::TParent'],['../classtvm_1_1TargetKindAttrMap.html#a37eb6bfb0d881cf897147b17ff7d3265',1,'tvm::TargetKindAttrMap::TParent'],['../classtvm_1_1tirx_1_1AxisAttrMap.html#a8afa3398b1677aeb366edd02dbc61073',1,'tvm::tirx::AxisAttrMap::TParent']]],
-  ['trace_127',['trace',['../classtvm_1_1s__tir_1_1Trace.html',1,'tvm::s_tir::Trace'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html#a6c420954230cab91f9b839852eafe7fd',1,'tvm::s_tir::meta_schedule::TuningRecordNode::trace'],['../classtvm_1_1s__tir_1_1Trace.html#aab8cc9848fd4be6164533a515937978c',1,'tvm::s_tir::Trace::Trace(ffi::Array&lt; Instruction &gt; insts, ffi::Map&lt; Instruction, Any &gt; decisions)'],['../classtvm_1_1s__tir_1_1Trace.html#a894c9a4fca263f9ad13ce [...]
+  ['trace_127',['trace',['../classtvm_1_1s__tir_1_1Trace.html',1,'tvm::s_tir::Trace'],['../classtvm_1_1s__tir_1_1Trace.html#a894c9a4fca263f9ad13cec46ac74de11',1,'tvm::s_tir::Trace::Trace()'],['../classtvm_1_1s__tir_1_1ScheduleNode.html#a181cd324ae42a93a5308454122d10ff3',1,'tvm::s_tir::ScheduleNode::trace()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html#a6c420954230cab91f9b839852eafe7fd',1,'tvm::s_tir::meta_schedule::TuningRecordNode::trace'],['../classtvm_1_1s__tir_ [...]
   ['trace_2eh_128',['trace.h',['../trace_8h.html',1,'']]],
   ['traceable_129',['traceable',['../classtvm_1_1transform_1_1PassInfoNode.html#a186b6462745006cec12748c6cd6ee792',1,'tvm::transform::PassInfoNode']]],
   ['traced_130',['Traced',['../classtvm_1_1s__tir_1_1Schedule.html#a5e3700664d2588ecb67b05d537fe3bbb',1,'tvm::s_tir::Schedule']]],
@@ -250,12 +250,12 @@ var searchData=
   ['tvm_5fdefine_5fobject_5ffunctor_5fdefault_5fconstructor_247',['TVM_DEFINE_OBJECT_FUNCTOR_DEFAULT_CONSTRUCTOR',['../object__functor_8h.html#a4a48df19c48977e46bc4814dcfc05292',1,'object_functor.h']]],
   ['tvm_5fdefine_5fobject_5fref_5fcow_5fmethod_248',['tvm_define_object_ref_cow_method',['../classtvm_1_1TensorLoad.html#aa3da47a8008bdae4e86dc017824c64b9',1,'tvm::TensorLoad::TVM_DEFINE_OBJECT_REF_COW_METHOD()'],['../classtvm_1_1tirx_1_1IterVar.html#af6dbd11f6a9e030e1faf959d9948582d',1,'tvm::tirx::IterVar::TVM_DEFINE_OBJECT_REF_COW_METHOD()'],['../classtvm_1_1tirx_1_1TilePrimitiveCall.html#a11c32b9a436019c17e286203de1fccd0',1,'tvm::tirx::TilePrimitiveCall::TVM_DEFINE_OBJECT_REF_COW_METH [...]
   ['tvm_5fffi_5fdeclare_5fobject_5finfo_249',['tvm_ffi_declare_object_info',['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1RelaxFrameNode.html#ad3b6bdfb705544638103dd2fde2ca0b0',1,'tvm::script::ir_builder::relax::RelaxFrameNode::TVM_FFI_DECLARE_OBJECT_INFO()'],['../classtvm_1_1te_1_1OperationNode.html#a0512ba7cf1a2c98a6daad6a90b795095',1,'tvm::te::OperationNode::TVM_FFI_DECLARE_OBJECT_INFO()'],['../classtvm_1_1relax_1_1BindingBlockNode.html#a94bb55950cc66a338c8654428a9fce94',1,'tvm:: [...]
-  ['tvm_5fffi_5fdeclare_5fobject_5finfo_5ffinal_250',['tvm_ffi_declare_object_info_final',['../classtvm_1_1script_1_1printer_1_1CallDocNode.html#a1a664aa1e72f61a92c8684f10c8ab17a',1,'tvm::script::printer::CallDocNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL()'],['../classtvm_1_1script_1_1printer_1_1IndexDocNode.html#a3f121cad5ffae9ecb8d3feed9522a6d1',1,'tvm::script::printer::IndexDocNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL()'],['../classtvm_1_1script_1_1printer_1_1AttrAccessDocNode.html#a56afd1 [...]
+  ['tvm_5fffi_5fdeclare_5fobject_5finfo_5ffinal_250',['tvm_ffi_declare_object_info_final',['../classtvm_1_1script_1_1printer_1_1CallDocNode.html#a1a664aa1e72f61a92c8684f10c8ab17a',1,'tvm::script::printer::CallDocNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL()'],['../classtvm_1_1script_1_1printer_1_1IndexDocNode.html#a3f121cad5ffae9ecb8d3feed9522a6d1',1,'tvm::script::printer::IndexDocNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL()'],['../classtvm_1_1script_1_1printer_1_1AttrAccessDocNode.html#a56afd1 [...]
   ['tvm_5fffi_5fdeclare_5fobject_5finfo_5fpredefined_5ftype_5fkey_251',['tvm_ffi_declare_object_info_predefined_type_key',['../classtvm_1_1prim_1_1BinaryOpNode.html#a4ea9d6d505a52f8c48703981630df05c',1,'tvm::prim::BinaryOpNode::TVM_FFI_DECLARE_OBJECT_INFO_PREDEFINED_TYPE_KEY()'],['../classtvm_1_1prim_1_1CmpOpNode.html#a6f8cddcdbc85626674cffa6d59c585d7',1,'tvm::prim::CmpOpNode::TVM_FFI_DECLARE_OBJECT_INFO_PREDEFINED_TYPE_KEY()']]],
   ['tvm_5fffi_5fdeclare_5fobject_5finfo_5fstatic_252',['TVM_FFI_DECLARE_OBJECT_INFO_STATIC',['../classtvm_1_1runtime_1_1DRefObj.html#a18ed3c1a2f001484e33295fd0b7476aa',1,'tvm::runtime::DRefObj']]],
   ['tvm_5fffi_5fdefine_5fdefault_5fcopy_5fmove_5fand_5fassign_253',['TVM_FFI_DEFINE_DEFAULT_COPY_MOVE_AND_ASSIGN',['../classtvm_1_1tirx_1_1BufferVar.html#af3f1683463a646192ae0ce3f2c744a5e',1,'tvm::tirx::BufferVar']]],
   ['tvm_5fffi_5fdefine_5fobject_5fref_5fmethods_5fnotnullable_254',['tvm_ffi_define_object_ref_methods_notnullable',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a6e020c49208c7219e29715f441a17c7a',1,'tvm::script::ir_builder::tirx::PrimFuncFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE()'],['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html#a7967dc5bc781ae0df804f384065c98c5',1,'tvm::script::ir_builder::tirx::TIRFrame::TVM_FFI_DEFINE_OBJECT_REF_METH [...]
-  ['tvm_5fffi_5fdefine_5fobject_5fref_5fmethods_5fnullable_255',['tvm_ffi_define_object_ref_methods_nullable',['../classtvm_1_1sym_1_1IntSet.html#ac084ebe999d68c80f5e68ae349334e99',1,'tvm::sym::IntSet::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()'],['../classtvm_1_1sym_1_1IterMapExpr.html#a7d2fe822ddd5fafa12553c4a475c2824',1,'tvm::sym::IterMapExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()'],['../classtvm_1_1sym_1_1IterMark.html#a037d9d816cc0d6b6c119fc1a1808b75e',1,'tvm::sym::IterMark [...]
+  ['tvm_5fffi_5fdefine_5fobject_5fref_5fmethods_5fnullable_255',['tvm_ffi_define_object_ref_methods_nullable',['../classtvm_1_1sym_1_1IntSet.html#ac084ebe999d68c80f5e68ae349334e99',1,'tvm::sym::IntSet::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()'],['../classtvm_1_1sym_1_1IterMapExpr.html#a7d2fe822ddd5fafa12553c4a475c2824',1,'tvm::sym::IterMapExpr::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NULLABLE()'],['../classtvm_1_1sym_1_1IterMark.html#a037d9d816cc0d6b6c119fc1a1808b75e',1,'tvm::sym::IterMark [...]
   ['tvm_5fglobal_5fbarrier_5fkinit_256',['tvm_global_barrier_kinit',['../namespacetvm_1_1tirx_1_1builtin.html#a498f5b5fed513f3baf6cf2f6c0a2b1bb',1,'tvm::tirx::builtin']]],
   ['tvm_5fglobal_5fbarrier_5fstate_257',['tvm_global_barrier_state',['../namespacetvm_1_1runtime_1_1symbol.html#ac21d436bd65464b49858ba4bc55fb3ec',1,'tvm::runtime::symbol']]],
   ['tvm_5findex_5fdefault_5fi64_258',['TVM_INDEX_DEFAULT_I64',['../tirx_2type_8h.html#af4c763c99c1617d96f0779aad8b70e38',1,'type.h']]],
@@ -322,41 +322,40 @@ var searchData=
   ['tvmstructfieldkind_319',['TVMStructFieldKind',['../namespacetvm_1_1tirx_1_1builtin.html#ae07af6f2c9ac36b2aa4f43717e037463',1,'tvm::tirx::builtin']]],
   ['ty_320',['ty',['../classtvm_1_1ExprNode.html#a4c2a9b792a5ec422d8e04d6d78707fcb',1,'tvm::ExprNode::ty'],['../classtvm_1_1relax_1_1TypePatternNode.html#a4c785bb96db69e2bb8b6741009483279',1,'tvm::relax::TypePatternNode::ty'],['../classtvm_1_1relax_1_1MatchCastNode.html#a93a4d080db242436bdee1ae702536324',1,'tvm::relax::MatchCastNode::ty'],['../classtvm_1_1TypedExpr.html#a7d83b1f31a1cc6f0774df309e207e678',1,'tvm::TypedExpr::ty()']]],
   ['ty_5fargs_321',['ty_args',['../classtvm_1_1CallNode.html#aea255b3c2342dc40ac3b2a4af9d332a0',1,'tvm::CallNode']]],
-  ['type_322',['type',['../classtvm_1_1Type.html',1,'tvm::Type'],['../structtvm_1_1relax_1_1PairCons.html#aa7fe6fdef3ab68d2f5176485000646b9',1,'tvm::relax::PairCons::type'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#a5690ce0a8e9e25bd8e5568173cc0b1bb',1,'tvm::runtime::memory::Allocator::type()'],['../classtvm_1_1tirx_1_1BufferVar.html#a35098bcb9514367e61bd65470c3daf3d',1,'tvm::tirx::BufferVar::type()'],['../structtvm_1_1relax_1_1PairCons.html#ab64ed8db46c468684a6e00fcb6530647',1 [...]
-  ['type_2eh_323',['type.h',['../relax_2type_8h.html',1,'(Global Namespace)'],['../relax_2distributed_2type_8h.html',1,'(Global Namespace)'],['../ir_2type_8h.html',1,'(Global Namespace)'],['../tirx_2type_8h.html',1,'(Global Namespace)']]],
+  ['type_322',['type',['../classtvm_1_1Type.html',1,'tvm::Type'],['../structtvm_1_1relax_1_1PairCons.html#ab64ed8db46c468684a6e00fcb6530647',1,'tvm::relax::PairCons::Type'],['../classtvm_1_1tirx_1_1BufferVar.html#a35098bcb9514367e61bd65470c3daf3d',1,'tvm::tirx::BufferVar::type()'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#a5690ce0a8e9e25bd8e5568173cc0b1bb',1,'tvm::runtime::memory::Allocator::type()'],['../structtvm_1_1relax_1_1PairCons.html#aa7fe6fdef3ab68d2f5176485000646b9',1 [...]
+  ['type_2eh_323',['type.h',['../tirx_2type_8h.html',1,'(Global Namespace)'],['../relax_2type_8h.html',1,'(Global Namespace)'],['../relax_2distributed_2type_8h.html',1,'(Global Namespace)'],['../ir_2type_8h.html',1,'(Global Namespace)']]],
   ['type_5ffunctor_2eh_324',['type_functor.h',['../type__functor_8h.html',1,'']]],
   ['type_5finfo_325',['type_info',['../classtvm_1_1ArgumentInfoNode.html#a546e864a8d048ec7922009f1c7864933',1,'tvm::ArgumentInfoNode']]],
   ['type_5fparams_326',['type_params',['../classtvm_1_1script_1_1printer_1_1FunctionDocNode.html#a6b3656238d197981cf25870e7f7bb1ab',1,'tvm::script::printer::FunctionDocNode']]],
   ['type_5fstr_327',['type_str',['../structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a4f3cb8337bef2fb3460e575d534b087a',1,'tvm::ir::ConfigSchema::OptionEntry']]],
-  ['type_5fvar_5fmap_328',['type_var_map',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17',1,'tvm::script::ir_builder::tirx::PrimFuncFrameNode::type_var_map'],['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d',1,'tvm::script::ir_builder::relax::FunctionFrameNode::type_var_map']]],
-  ['typeannotation_329',['TypeAnnotation',['../namespacetvm_1_1tirx.html#a9082c1c8ba490c75cbf147f16e125be5',1,'tvm::tirx']]],
-  ['typebasecheck_330',['typebasecheck',['../namespacetvm_1_1relax.html#a48283de4613ef710233c532910388a86',1,'tvm::relax::TypeBaseCheck(const Type &amp;base, const Type &amp;derived)'],['../namespacetvm_1_1relax.html#a6c5dbeb8e3d6dd67373038499d3e8e1a',1,'tvm::relax::TypeBaseCheck(const Type &amp;base, const Type &amp;derived, const sym::Analyzer &amp;ana)']]],
-  ['typebasecheckprecondition_331',['TypeBaseCheckPrecondition',['../namespacetvm_1_1relax.html#a7ef5d31688551af203e8aa71e3ccf428',1,'tvm::relax']]],
-  ['typedenvfunc_332',['typedenvfunc',['../classtvm_1_1TypedEnvFunc.html',1,'tvm::TypedEnvFunc&lt; FType &gt;'],['../classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b',1,'tvm::TypedEnvFunc&lt; R(Args...)&gt;::TypedEnvFunc()'],['../classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#aa3eaac31193938e9011aeabfcce94919',1,'tvm::TypedEnvFunc&lt; R(Args...)&gt;::TypedEnvFunc(ffi::ObjectPtr&lt; ffi::Object &gt; n)'],['../classtvm_1_1TypedEnvFunc_3_01R_07A [...]
-  ['typedenvfunc_3c_20r_28args_2e_2e_2e_29_3e_333',['TypedEnvFunc&lt; R(Args...)&gt;',['../classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html',1,'tvm']]],
-  ['typederivefunc_334',['TypeDeriveFunc',['../namespacetvm_1_1relax.html#ac576b1f5ccd3b1a1132f8de18e195155',1,'tvm::relax']]],
-  ['typedexpr_335',['TypedExpr',['../classtvm_1_1TypedExpr.html',1,'tvm']]],
-  ['typedexpr_3c_20primtype_20_3e_336',['TypedExpr&lt; PrimType &gt;',['../classtvm_1_1TypedExpr.html',1,'tvm']]],
-  ['typedexprwithfallbacktraitsbase_337',['TypedExprWithFallbackTraitsBase',['../structtvm_1_1ffi_1_1TypedExprWithFallbackTraitsBase.html',1,'tvm::ffi']]],
-  ['typedexprwithfallbacktraitsbase_3c_20primexpr_2c_20primtype_2c_20strictbool_2c_20int64_5ft_2c_20double_2c_20primexprconvertible_20_3e_338',['TypedExprWithFallbackTraitsBase&lt; PrimExpr, PrimType, StrictBool, int64_t, double, PrimExprConvertible &gt;',['../structtvm_1_1ffi_1_1TypedExprWithFallbackTraitsBase.html',1,'tvm::ffi']]],
-  ['typefromstatictype_339',['TypeFromStaticType',['../namespacetvm_1_1relax.html#a9bd202e6151b669697851d3b81979cb7',1,'tvm::relax']]],
-  ['typefunctor_340',['TypeFunctor',['../classtvm_1_1relax_1_1TypeFunctor.html',1,'tvm::relax']]],
-  ['typefunctor_3c_20r_28const_20type_20_26n_2c_20args_2e_2e_2e_29_3e_341',['TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;',['../classtvm_1_1relax_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html',1,'tvm::relax']]],
-  ['typefunctor_3c_20type_28const_20type_20_26n_29_3e_342',['TypeFunctor&lt; Type(const Type &amp;n)&gt;',['../classtvm_1_1relax_1_1TypeFunctor.html',1,'tvm::relax']]],
-  ['typefunctor_3c_20void_28const_20type_20_26n_29_3e_343',['TypeFunctor&lt; void(const Type &amp;n)&gt;',['../classtvm_1_1relax_1_1TypeFunctor.html',1,'tvm::relax']]],
-  ['typelca_344',['typelca',['../namespacetvm_1_1relax.html#ae9238d1a2d5c3e3e1b7f09a70c4dd44a',1,'tvm::relax::TypeLCA(const Type &amp;lhs, const Type &amp;rhs)'],['../namespacetvm_1_1relax.html#afd17192177ccf8eb8b31f00a5a0f59de',1,'tvm::relax::TypeLCA(const Type &amp;lhs, const Type &amp;rhs, const sym::Analyzer &amp;ana)']]],
-  ['typemutator_345',['TypeMutator',['../classtvm_1_1relax_1_1TypeMutator.html',1,'tvm::relax']]],
-  ['typenode_346',['TypeNode',['../classtvm_1_1TypeNode.html',1,'tvm']]],
-  ['typepattern_347',['typepattern',['../classtvm_1_1relax_1_1TypePattern.html',1,'tvm::relax::TypePattern'],['../classtvm_1_1relax_1_1TypePattern.html#af2b7f3fea37e9fa141388d4cb2ec7cf1',1,'tvm::relax::TypePattern::TypePattern()']]],
-  ['typepatternnode_348',['TypePatternNode',['../classtvm_1_1relax_1_1TypePatternNode.html',1,'tvm::relax']]],
-  ['typetraits_3c_20expr_20_3e_349',['TypeTraits&lt; Expr &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01Expr_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20floatimm_20_3e_350',['TypeTraits&lt; FloatImm &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20intimm_20_3e_351',['TypeTraits&lt; IntImm &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20primexpr_20_3e_352',['TypeTraits&lt; PrimExpr &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20primtype_20_3e_353',['TypeTraits&lt; PrimType &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01PrimType_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20primvar_20_3e_354',['TypeTraits&lt; PrimVar &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01PrimVar_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20tirx_3a_3abuffervar_20_3e_355',['TypeTraits&lt; tirx::BufferVar &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01tirx_1_1BufferVar_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20tvm_3a_3astringimm_20_3e_356',['TypeTraits&lt; tvm::StringImm &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1StringImm_01_4.html',1,'tvm::ffi']]],
-  ['typetraits_3c_20typedexpr_3c_20expectedtype_20_3e_20_3e_357',['TypeTraits&lt; TypedExpr&lt; ExpectedType &gt; &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01TypedExpr_3_01ExpectedType_01_4_01_4.html',1,'tvm::ffi']]],
-  ['typevisitor_358',['TypeVisitor',['../classtvm_1_1relax_1_1TypeVisitor.html',1,'tvm::relax']]]
+  ['typeannotation_328',['TypeAnnotation',['../namespacetvm_1_1tirx.html#a9082c1c8ba490c75cbf147f16e125be5',1,'tvm::tirx']]],
+  ['typebasecheck_329',['typebasecheck',['../namespacetvm_1_1relax.html#a48283de4613ef710233c532910388a86',1,'tvm::relax::TypeBaseCheck(const Type &amp;base, const Type &amp;derived)'],['../namespacetvm_1_1relax.html#a6c5dbeb8e3d6dd67373038499d3e8e1a',1,'tvm::relax::TypeBaseCheck(const Type &amp;base, const Type &amp;derived, const sym::Analyzer &amp;ana)']]],
+  ['typebasecheckprecondition_330',['TypeBaseCheckPrecondition',['../namespacetvm_1_1relax.html#a7ef5d31688551af203e8aa71e3ccf428',1,'tvm::relax']]],
+  ['typedenvfunc_331',['typedenvfunc',['../classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#a41a6b9014d0feeb628ca7edfd0d26f0b',1,'tvm::TypedEnvFunc&lt; R(Args...)&gt;::TypedEnvFunc()'],['../classtvm_1_1TypedEnvFunc.html',1,'tvm::TypedEnvFunc&lt; FType &gt;'],['../classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html#aa3eaac31193938e9011aeabfcce94919',1,'tvm::TypedEnvFunc&lt; R(Args...)&gt;::TypedEnvFunc(ffi::ObjectPtr&lt; ffi::Object &gt; n)'],['../classtvm_1_1TypedEnvFunc_3_01R_07A [...]
+  ['typedenvfunc_3c_20r_28args_2e_2e_2e_29_3e_332',['TypedEnvFunc&lt; R(Args...)&gt;',['../classtvm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html',1,'tvm']]],
+  ['typederivefunc_333',['TypeDeriveFunc',['../namespacetvm_1_1relax.html#ac576b1f5ccd3b1a1132f8de18e195155',1,'tvm::relax']]],
+  ['typedexpr_334',['TypedExpr',['../classtvm_1_1TypedExpr.html',1,'tvm']]],
+  ['typedexpr_3c_20primtype_20_3e_335',['TypedExpr&lt; PrimType &gt;',['../classtvm_1_1TypedExpr.html',1,'tvm']]],
+  ['typedexprwithfallbacktraitsbase_336',['TypedExprWithFallbackTraitsBase',['../structtvm_1_1ffi_1_1TypedExprWithFallbackTraitsBase.html',1,'tvm::ffi']]],
+  ['typedexprwithfallbacktraitsbase_3c_20primexpr_2c_20primtype_2c_20strictbool_2c_20int64_5ft_2c_20double_2c_20primexprconvertible_20_3e_337',['TypedExprWithFallbackTraitsBase&lt; PrimExpr, PrimType, StrictBool, int64_t, double, PrimExprConvertible &gt;',['../structtvm_1_1ffi_1_1TypedExprWithFallbackTraitsBase.html',1,'tvm::ffi']]],
+  ['typefromstatictype_338',['TypeFromStaticType',['../namespacetvm_1_1relax.html#a9bd202e6151b669697851d3b81979cb7',1,'tvm::relax']]],
+  ['typefunctor_339',['TypeFunctor',['../classtvm_1_1relax_1_1TypeFunctor.html',1,'tvm::relax']]],
+  ['typefunctor_3c_20r_28const_20type_20_26n_2c_20args_2e_2e_2e_29_3e_340',['TypeFunctor&lt; R(const Type &amp;n, Args...)&gt;',['../classtvm_1_1relax_1_1TypeFunctor_3_01R_07const_01Type_01_6n_00_01Args_8_8_8_08_4.html',1,'tvm::relax']]],
+  ['typefunctor_3c_20type_28const_20type_20_26n_29_3e_341',['TypeFunctor&lt; Type(const Type &amp;n)&gt;',['../classtvm_1_1relax_1_1TypeFunctor.html',1,'tvm::relax']]],
+  ['typefunctor_3c_20void_28const_20type_20_26n_29_3e_342',['TypeFunctor&lt; void(const Type &amp;n)&gt;',['../classtvm_1_1relax_1_1TypeFunctor.html',1,'tvm::relax']]],
+  ['typelca_343',['typelca',['../namespacetvm_1_1relax.html#ae9238d1a2d5c3e3e1b7f09a70c4dd44a',1,'tvm::relax::TypeLCA(const Type &amp;lhs, const Type &amp;rhs)'],['../namespacetvm_1_1relax.html#afd17192177ccf8eb8b31f00a5a0f59de',1,'tvm::relax::TypeLCA(const Type &amp;lhs, const Type &amp;rhs, const sym::Analyzer &amp;ana)']]],
+  ['typemutator_344',['TypeMutator',['../classtvm_1_1relax_1_1TypeMutator.html',1,'tvm::relax']]],
+  ['typenode_345',['TypeNode',['../classtvm_1_1TypeNode.html',1,'tvm']]],
+  ['typepattern_346',['typepattern',['../classtvm_1_1relax_1_1TypePattern.html',1,'tvm::relax::TypePattern'],['../classtvm_1_1relax_1_1TypePattern.html#af2b7f3fea37e9fa141388d4cb2ec7cf1',1,'tvm::relax::TypePattern::TypePattern()']]],
+  ['typepatternnode_347',['TypePatternNode',['../classtvm_1_1relax_1_1TypePatternNode.html',1,'tvm::relax']]],
+  ['typetraits_3c_20expr_20_3e_348',['TypeTraits&lt; Expr &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01Expr_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20floatimm_20_3e_349',['TypeTraits&lt; FloatImm &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20intimm_20_3e_350',['TypeTraits&lt; IntImm &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20primexpr_20_3e_351',['TypeTraits&lt; PrimExpr &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20primtype_20_3e_352',['TypeTraits&lt; PrimType &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01PrimType_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20primvar_20_3e_353',['TypeTraits&lt; PrimVar &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01PrimVar_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20tirx_3a_3abuffervar_20_3e_354',['TypeTraits&lt; tirx::BufferVar &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01tirx_1_1BufferVar_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20tvm_3a_3astringimm_20_3e_355',['TypeTraits&lt; tvm::StringImm &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01tvm_1_1StringImm_01_4.html',1,'tvm::ffi']]],
+  ['typetraits_3c_20typedexpr_3c_20expectedtype_20_3e_20_3e_356',['TypeTraits&lt; TypedExpr&lt; ExpectedType &gt; &gt;',['../structtvm_1_1ffi_1_1TypeTraits_3_01TypedExpr_3_01ExpectedType_01_4_01_4.html',1,'tvm::ffi']]],
+  ['typevisitor_357',['TypeVisitor',['../classtvm_1_1relax_1_1TypeVisitor.html',1,'tvm::relax']]]
 ];
diff --git a/docs/reference/api/doxygen/search/all_16.js b/docs/reference/api/doxygen/search/all_16.js
index e9c85e73589..cdfcb68de77 100644
--- a/docs/reference/api/doxygen/search/all_16.js
+++ b/docs/reference/api/doxygen/search/all_16.js
@@ -51,7 +51,7 @@ var searchData=
   ['unrollloop_48',['UnrollLoop',['../namespacetvm_1_1tirx_1_1transform.html#ad28f214ddefa23071603ef7e91b5bffd',1,'tvm::tirx::transform']]],
   ['unsafehidebufferaccess_49',['UnsafeHideBufferAccess',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a4056d43eb6b342b6d0fa49a8398ae67c',1,'tvm::s_tir::ScheduleNode']]],
   ['unsafesetdtype_50',['UnsafeSetDType',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a1e51e99b4ad58d1ed9be294c6118842f',1,'tvm::s_tir::ScheduleNode']]],
-  ['update_51',['update',['../classtvm_1_1IRModuleNode.html#a94a93385e64ce844299729af6a573015',1,'tvm::IRModuleNode::Update(const IRModule &amp;other)'],['../classtvm_1_1IRModuleNode.html#abdd8936c6fca33ef9b7c086f8fd58f84',1,'tvm::IRModuleNode::Update(const GlobalVar &amp;var, const BaseFunc &amp;func)'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html#aa0c38a59df049d172db8b1c006ed0a9d',1,'tvm::s_tir::meta_schedule::CostModelNode::Update()'],['../classtvm_1_1s__tir_1_1meta [...]
+  ['update_51',['update',['../classtvm_1_1IRModuleNode.html#abdd8936c6fca33ef9b7c086f8fd58f84',1,'tvm::IRModuleNode::Update()'],['../classtvm_1_1te_1_1ScanOpNode.html#a39af4284df8be4c01effac21ff2384f2',1,'tvm::te::ScanOpNode::update'],['../classtvm_1_1IRModuleNode.html#a94a93385e64ce844299729af6a573015',1,'tvm::IRModuleNode::Update()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1CostModelNode.html#aa0c38a59df049d172db8b1c006ed0a9d',1,'tvm::s_tir::meta_schedule::CostModelNode::Update()'] [...]
   ['updatecostmodel_52',['UpdateCostModel',['../classtvm_1_1s__tir_1_1meta__schedule_1_1MeasureCallback.html#a44444271b19db2c1fc207e37ff7317f9',1,'tvm::s_tir::meta_schedule::MeasureCallback']]],
   ['updatefunction_53',['UpdateFunction',['../classtvm_1_1relax_1_1BlockBuilderNode.html#a9e6755182f969ac7ef85b5219104bebf',1,'tvm::relax::BlockBuilderNode']]],
   ['updateglobalinfo_54',['UpdateGlobalInfo',['../classtvm_1_1IRModuleNode.html#a2c7f693ed272acf3f74a06bc0a2298c6',1,'tvm::IRModuleNode']]],
diff --git a/docs/reference/api/doxygen/search/all_17.js b/docs/reference/api/doxygen/search/all_17.js
index c3cb687e692..f884b0e9a36 100644
--- a/docs/reference/api/doxygen/search/all_17.js
+++ b/docs/reference/api/doxygen/search/all_17.js
@@ -7,7 +7,7 @@ var searchData=
   ['value_5findex_4',['value_index',['../classtvm_1_1te_1_1ReduceNode.html#a3546c7fc46030aca807e2182480bfd34',1,'tvm::te::ReduceNode::value_index'],['../classtvm_1_1te_1_1TensorNode.html#aaf908a208cea7f27477c1c58ba605aa8',1,'tvm::te::TensorNode::value_index']]],
   ['value_5fto_5fbound_5fvar_5',['value_to_bound_var',['../classtvm_1_1relax_1_1transform_1_1PatternCheckContextNode.html#a015fa5f7ff630ae7aa065fc169817f9f',1,'tvm::relax::transform::PatternCheckContextNode']]],
   ['values_6',['values',['../classtvm_1_1relax_1_1ShapeExprNode.html#a0b018e0a288a46268ab03b0f4fd54e1c',1,'tvm::relax::ShapeExprNode::values'],['../classtvm_1_1relax_1_1ShapeTypeNode.html#add3416d082274253baf955642455fcf6',1,'tvm::relax::ShapeTypeNode::values'],['../classtvm_1_1script_1_1printer_1_1DictDocNode.html#af448345c2b322d0a35453c8b602e50d3',1,'tvm::script::printer::DictDocNode::values']]],
-  ['var_7',['var',['../classtvm_1_1tirx_1_1BufferVar.html#a5a71693e34d4c4ca4a3d1f4b94b49a4c',1,'tvm::tirx::BufferVar::var()'],['../classtvm_1_1prim_1_1LetNode.html#a46efb191894de5fe00445a43c3d683a7',1,'tvm::prim::LetNode::var'],['../classtvm_1_1relax_1_1BindingNode.html#a31222a9c83a8532274cd8a56f991157b',1,'tvm::relax::BindingNode::var'],['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#add326ea061e3521c1ee2179a75960fb5',1,'tvm::script::ir_builder::relax::IfFrameNode::v [...]
+  ['var_7',['var',['../classtvm_1_1tirx_1_1IterVarNode.html#a9f9b36c1ed0e8090c19eaf534b56625c',1,'tvm::tirx::IterVarNode::var'],['../classtvm_1_1Var.html#a5d3fb40557f1f178a7c646068ad5bfe0',1,'tvm::Var::Var()'],['../classtvm_1_1prim_1_1LetNode.html#a46efb191894de5fe00445a43c3d683a7',1,'tvm::prim::LetNode::var'],['../classtvm_1_1relax_1_1BindingNode.html#a31222a9c83a8532274cd8a56f991157b',1,'tvm::relax::BindingNode::var'],['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html# [...]
   ['var_2eh_8',['var.h',['../var_8h.html',1,'']]],
   ['var_5fname_9',['var_name',['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1IfFrameNode.html#ab7e517b6100fa4c236bd88cc1a9a600a',1,'tvm::script::ir_builder::relax::IfFrameNode']]],
   ['var_5frange_5fmap_10',['var_range_map',['../classtvm_1_1tirx_1_1DispatchContextNode.html#a7909dd3b101c742b55e145b7f43b92b9',1,'tvm::tirx::DispatchContextNode']]],
diff --git a/docs/reference/api/doxygen/search/all_18.js b/docs/reference/api/doxygen/search/all_18.js
index 5bf388b577a..a620cbe1e26 100644
--- a/docs/reference/api/doxygen/search/all_18.js
+++ b/docs/reference/api/doxygen/search/all_18.js
@@ -5,7 +5,7 @@ var searchData=
   ['warpid_2',['WarpId',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a100742007467deb0c3516fef49880e0c',1,'tvm::script::ir_builder::tirx']]],
   ['weight_3',['weight',['../classtvm_1_1s__tir_1_1meta__schedule_1_1ExtractedTaskNode.html#a6d6591e4744fbd0fc3825bc240194525',1,'tvm::s_tir::meta_schedule::ExtractedTaskNode']]],
   ['wellformed_4',['WellFormed',['../namespacetvm_1_1relax.html#ab277242c7f49d3ca1924729ac3b0d99b',1,'tvm::relax']]],
-  ['where_5',['where',['../namespacetvm_1_1topi.html#af011847b6e7f72f1bec25eee05c80590',1,'tvm::topi::where()'],['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir.html#aaa9410e5707855d6e5efb97be03a7a04',1,'tvm::script::ir_builder::s_tir::Where()']]],
+  ['where_5',['where',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir.html#aaa9410e5707855d6e5efb97be03a7a04',1,'tvm::script::ir_builder::s_tir::Where()'],['../namespacetvm_1_1topi.html#af011847b6e7f72f1bec25eee05c80590',1,'tvm::topi::where()']]],
   ['while_6',['while',['../classtvm_1_1tirx_1_1While.html',1,'tvm::tirx::While'],['../classtvm_1_1tirx_1_1While.html#ab0b5efffa898af6690bfbd4d3956c5d1',1,'tvm::tirx::While::While()'],['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a021a4b73625c5731ab93400404b6505e',1,'tvm::script::ir_builder::tirx::While()']]],
   ['whiledoc_7',['whiledoc',['../classtvm_1_1script_1_1printer_1_1WhileDoc.html',1,'tvm::script::printer::WhileDoc'],['../classtvm_1_1script_1_1printer_1_1WhileDoc.html#aed5d0c9693c8137a909e9c3d9836ef28',1,'tvm::script::printer::WhileDoc::WhileDoc()']]],
   ['whiledocnode_8',['WhileDocNode',['../classtvm_1_1script_1_1printer_1_1WhileDocNode.html',1,'tvm::script::printer']]],
@@ -48,7 +48,7 @@ var searchData=
   ['worker_5fzero_5fdata_45',['worker_zero_data',['../classtvm_1_1runtime_1_1DiscoWorker.html#ac4a5ec8d54ff321dbb960d442106773f',1,'tvm::runtime::DiscoWorker']]],
   ['workerid_46',['WorkerId',['../namespacetvm_1_1runtime.html#ae5875354f9dd641d0c26925dc3ed7117',1,'tvm::runtime']]],
   ['workerzerodata_47',['WorkerZeroData',['../classtvm_1_1runtime_1_1WorkerZeroData.html',1,'tvm::runtime']]],
-  ['workload_48',['workload',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html#a950857678405bdfbedda2632aab850d1',1,'tvm::s_tir::meta_schedule::TuningRecordNode::workload'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Workload.html#ac58e502d27bb29071ceb6455724392d2',1,'tvm::s_tir::meta_schedule::Workload::Workload()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Workload.html',1,'tvm::s_tir::meta_schedule::Workload'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Workload. [...]
+  ['workload_48',['workload',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Workload.html#a21acf51a06ad0dbbad3661afc2206953',1,'tvm::s_tir::meta_schedule::Workload::Workload()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1TuningRecordNode.html#a950857678405bdfbedda2632aab850d1',1,'tvm::s_tir::meta_schedule::TuningRecordNode::workload'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Workload.html',1,'tvm::s_tir::meta_schedule::Workload'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1Workload. [...]
   ['workloadequal_49',['workloadequal',['../structtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadEqual.html',1,'tvm::s_tir::meta_schedule::WorkloadEqual'],['../structtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadEqual.html#aecd57490b4085910fa0f34d958df11c9',1,'tvm::s_tir::meta_schedule::WorkloadEqual::WorkloadEqual()']]],
   ['workloadhash_50',['WorkloadHash',['../structtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadHash.html',1,'tvm::s_tir::meta_schedule']]],
   ['workloadnode_51',['WorkloadNode',['../classtvm_1_1s__tir_1_1meta__schedule_1_1WorkloadNode.html',1,'tvm::s_tir::meta_schedule']]],
diff --git a/docs/reference/api/doxygen/search/all_2.js b/docs/reference/api/doxygen/search/all_2.js
index bd1f8b2225d..4f62cd61b82 100644
--- a/docs/reference/api/doxygen/search/all_2.js
+++ b/docs/reference/api/doxygen/search/all_2.js
@@ -53,7 +53,7 @@ var searchData=
   ['alloc_5ftype_50',['alloc_type',['../structtvm_1_1runtime_1_1memory_1_1Buffer.html#a7b03e4d62b4bb8174e5a2d92e54e6607',1,'tvm::runtime::memory::Buffer']]],
   ['allocated_51',['allocated',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f',1,'tvm::script::ir_builder::tirx::DeclBufferFrameNode']]],
   ['allocated_5faddr_52',['allocated_addr',['../classtvm_1_1tirx_1_1BufferTypeNode.html#a6b8487ac35e9242f460151876c62d4cb',1,'tvm::tirx::BufferTypeNode']]],
-  ['allocator_53',['allocator',['../classtvm_1_1runtime_1_1memory_1_1Allocator.html',1,'tvm::runtime::memory::Allocator'],['../classtvm_1_1runtime_1_1memory_1_1StorageObj.html#a47e545604ab70ce4e315da02ac2a8cdf',1,'tvm::runtime::memory::StorageObj::allocator'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#a79a611871161884ffa6342c329e6ca77',1,'tvm::runtime::memory::Allocator::Allocator()']]],
+  ['allocator_53',['allocator',['../classtvm_1_1runtime_1_1memory_1_1Allocator.html',1,'tvm::runtime::memory::Allocator'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#a79a611871161884ffa6342c329e6ca77',1,'tvm::runtime::memory::Allocator::Allocator()'],['../classtvm_1_1runtime_1_1memory_1_1StorageObj.html#a47e545604ab70ce4e315da02ac2a8cdf',1,'tvm::runtime::memory::StorageObj::allocator']]],
   ['allocators_54',['allocators',['../classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#ae4c4ea6e0464c6b47682d59d019fefe5',1,'tvm::runtime::vm::VirtualMachine']]],
   ['allocators_5f_55',['allocators_',['../classtvm_1_1runtime_1_1memory_1_1MemoryManager.html#adb5375ee7892c72fe8105216a6936763',1,'tvm::runtime::memory::MemoryManager']]],
   ['allocatortype_56',['AllocatorType',['../namespacetvm_1_1runtime_1_1memory.html#a902bbce5a86071aad9677b07d93b5518',1,'tvm::runtime::memory']]],
diff --git a/docs/reference/api/doxygen/search/all_3.js b/docs/reference/api/doxygen/search/all_3.js
index c6bf64c02d9..0b0c62ecebe 100644
--- a/docs/reference/api/doxygen/search/all_3.js
+++ b/docs/reference/api/doxygen/search/all_3.js
@@ -7,7 +7,7 @@ var searchData=
   ['barrier_5fflag_4',['barrier_flag',['../classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html#aba77dd23312758b704fecc4ea004a4ef',1,'tvm::runtime::cuda_ipc::CUDAIPCMemoryObj']]],
   ['barrier_5fin_5',['barrier_in',['../classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html#a8d4a0fe583176227e28e77214e82ec2a',1,'tvm::runtime::cuda_ipc::CUDAIPCMemoryObj']]],
   ['barrier_5fout_6',['barrier_out',['../classtvm_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html#a78705723c7a73985bf86b0b946164168',1,'tvm::runtime::cuda_ipc::CUDAIPCMemoryObj']]],
-  ['base_7',['base',['../structtvm_1_1ffi_1_1TypeTraits_3_01tirx_1_1BufferVar_01_4.html#a8aa4d8966dbb9ac0467b42032baa2de3',1,'tvm::ffi::TypeTraits&lt; tirx::BufferVar &gt;::Base'],['../classtvm_1_1prim_1_1RampNode.html#a556ef0605a354657ad3e44fe1fa5d044',1,'tvm::prim::RampNode::base'],['../classtvm_1_1sym_1_1ModularSetNode.html#a11afcd4f3d30e34c900fc7e8177655ec',1,'tvm::sym::ModularSetNode::base'],['../classtvm_1_1sym_1_1IterSumExprNode.html#a6726e0511cda9dee70d3202841799c65',1,'tvm::sym: [...]
+  ['base_7',['base',['../classtvm_1_1sym_1_1IterSumExprNode.html#a6726e0511cda9dee70d3202841799c65',1,'tvm::sym::IterSumExprNode::base'],['../structtvm_1_1ffi_1_1TypeTraits_3_01TypedExpr_3_01ExpectedType_01_4_01_4.html#a261eb8941abd472c85c45bf32a4f4131',1,'tvm::ffi::TypeTraits&lt; TypedExpr&lt; ExpectedType &gt; &gt;::Base'],['../structtvm_1_1ffi_1_1TypedExprWithFallbackTraitsBase.html#af3446c89272971590ddfc8be9a1ca6ac',1,'tvm::ffi::TypedExprWithFallbackTraitsBase::Base'],['../structtvm_ [...]
   ['base_2eh_8',['base.h',['../script_2ir__builder_2base_8h.html',1,'(Global Namespace)'],['../runtime_2base_8h.html',1,'(Global Namespace)']]],
   ['base_5fexpr_2eh_9',['base_expr.h',['../base__expr_8h.html',1,'']]],
   ['basecheckresult_10',['BaseCheckResult',['../namespacetvm_1_1relax.html#a04ee98afc287f8466486f83957bbceb2',1,'tvm::relax']]],
diff --git a/docs/reference/api/doxygen/search/all_5.js b/docs/reference/api/doxygen/search/all_5.js
index 755363b0104..8303ff69cf7 100644
--- a/docs/reference/api/doxygen/search/all_5.js
+++ b/docs/reference/api/doxygen/search/all_5.js
@@ -151,7 +151,7 @@ var searchData=
   ['discoemptytensor_148',['DiscoEmptyTensor',['../namespacetvm_1_1runtime.html#a18bfd889b715e875efc04209b09f6e46',1,'tvm::runtime']]],
   ['discoworker_149',['discoworker',['../classtvm_1_1runtime_1_1DiscoWorker.html#a089d3adcb982ccae8a8f760d2b52a080',1,'tvm::runtime::DiscoWorker::DiscoWorker()'],['../classtvm_1_1runtime_1_1DiscoWorker.html',1,'tvm::runtime::DiscoWorker']]],
   ['discoworker_3a_3aimpl_150',['Impl',['../classtvm_1_1runtime_1_1DiscoWorker.html#a379c6dd5a183ed1df75515f7f21a3f49',1,'tvm::runtime::DiscoWorker']]],
-  ['dispatch_151',['dispatch',['../classtvm_1_1tirx_1_1TilePrimitiveCallNode.html#a12eb99de8f80ac3c41f82909800c9996',1,'tvm::tirx::TilePrimitiveCallNode::dispatch'],['../classtvm_1_1script_1_1printer_1_1OpCallDocNode.html#a9463aa1e349fdaa77ee00318eda01047',1,'tvm::script::printer::OpCallDocNode::dispatch'],['../classtvm_1_1tirx_1_1StmtFunctor_3_01R_07const_01Stmt_01_6_00_01Args_8_8_8_08_4.html#afe2459adeed04fc2dadd0c7195de9a94',1,'tvm::tirx::StmtFunctor&lt; R(const Stmt &amp;, Args...)&g [...]
+  ['dispatch_151',['dispatch',['../classtvm_1_1tirx_1_1StmtFunctor_3_01R_07const_01Stmt_01_6_00_01Args_8_8_8_08_4.html#afe2459adeed04fc2dadd0c7195de9a94',1,'tvm::tirx::StmtFunctor&lt; R(const Stmt &amp;, Args...)&gt;::Dispatch()'],['../classtvm_1_1ExprFunctor_3_01R_07const_01Expr_01_6_00_01Args_8_8_8_08_4.html#a8b267961edf7db8ed2eea10db0964932',1,'tvm::ExprFunctor&lt; R(const Expr &amp;, Args...)&gt;::Dispatch()'],['../classtvm_1_1tirx_1_1TilePrimitiveCallNode.html#a12eb99de8f80ac3c41f82 [...]
   ['dispatch_5f_152',['dispatch_',['../classtvm_1_1tirx_1_1ExprFunctor_3_01R_07const_01Expr_01_6_00_01Args_8_8_8_08_4.html#acb3451e7efe6d3d1bd77bdf2b66f3734',1,'tvm::tirx::ExprFunctor&lt; R(const Expr &amp;, Args...)&gt;::Dispatch_(const prim::FloorDivNode *node, Args... args)'],['../classtvm_1_1tirx_1_1ExprFunctor_3_01R_07const_01Expr_01_6_00_01Args_8_8_8_08_4.html#a37de38f6445eeca120eef0ff7debefaa',1,'tvm::tirx::ExprFunctor&lt; R(const Expr &amp;, Args...)&gt;::Dispatch_(const GenericC [...]
   ['dispatch_5ftokens_153',['dispatch_tokens',['../classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html#a8925867500ed07477cf9d063826fdb75',1,'tvm::script::printer::IRDocsifierNode']]],
   ['dispatchcontext_154',['dispatchcontext',['../classtvm_1_1tirx_1_1DispatchContext.html#a7991adc691047534476e436f1bcd5912',1,'tvm::tirx::DispatchContext::DispatchContext()'],['../classtvm_1_1tirx_1_1DispatchContext.html',1,'tvm::tirx::DispatchContext']]],
diff --git a/docs/reference/api/doxygen/search/all_6.js b/docs/reference/api/doxygen/search/all_6.js
index 71e57bba95e..7389a6a4366 100644
--- a/docs/reference/api/doxygen/search/all_6.js
+++ b/docs/reference/api/doxygen/search/all_6.js
@@ -34,7 +34,7 @@ var searchData=
   ['emitvarbinding_31',['EmitVarBinding',['../namespacetvm_1_1script_1_1ir__builder_1_1relax.html#acad6c10152cb6f9e58c7a0287adb7f1c',1,'tvm::script::ir_builder::relax']]],
   ['emitwithspan_32',['EmitWithSpan',['../namespacetvm_1_1script_1_1ir__builder_1_1relax.html#af5fd43a5a537e687f7f786900a182003',1,'tvm::script::ir_builder::relax']]],
   ['emplace_33',['Emplace',['../classtvm_1_1WithGroup.html#a5884d772a34f712c34ae0236fc1ae682',1,'tvm::WithGroup']]],
-  ['empty_34',['empty',['../classtvm_1_1ScopeStack.html#a3130865249610edbc411b1382233cbd3',1,'tvm::ScopeStack::empty()'],['../classtvm_1_1TupleType.html#af99baa239cc3c717979b2dfeefed75c2',1,'tvm::TupleType::Empty()'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#ae7e60035d73bb4c48868994ee5c94352',1,'tvm::runtime::memory::Allocator::Empty()'],['../classtvm_1_1runtime_1_1Tensor.html#a1e047609cf8fbdbcc539b01a0714b229',1,'tvm::runtime::Tensor::Empty()']]],
+  ['empty_34',['empty',['../classtvm_1_1TupleType.html#af99baa239cc3c717979b2dfeefed75c2',1,'tvm::TupleType::Empty()'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#ae7e60035d73bb4c48868994ee5c94352',1,'tvm::runtime::memory::Allocator::Empty()'],['../classtvm_1_1runtime_1_1Tensor.html#a1e047609cf8fbdbcc539b01a0714b229',1,'tvm::runtime::Tensor::Empty()'],['../classtvm_1_1ScopeStack.html#a3130865249610edbc411b1382233cbd3',1,'tvm::ScopeStack::empty()']]],
   ['enable_5fcheck_35',['enable_check',['../classtvm_1_1s__tir_1_1ScheduleStateNode.html#a7c085a1632f3e1e3b991c4d45456880f',1,'tvm::s_tir::ScheduleStateNode']]],
   ['enabled_36',['enabled',['../structtvm_1_1support_1_1Serializer_3_01ffi_1_1Map_3_01K_00_01V_01_4_01_4.html#af552db7153d9291005a438a5511cf572',1,'tvm::support::Serializer&lt; ffi::Map&lt; K, V &gt; &gt;::enabled'],['../structtvm_1_1support_1_1Serializer.html#ab6f1296f20fdaa02138540d15ef7e4e2',1,'tvm::support::Serializer::enabled'],['../structtvm_1_1support_1_1Serializer_3_01ffi_1_1String_01_4.html#a912478461473b84d0bcfa7bdc3c1c1ec',1,'tvm::support::Serializer&lt; ffi::String &gt;::enab [...]
   ['encodesplitside_37',['EncodeSplitSide',['../namespacetvm_1_1tirx.html#a44ad1e4091153d791f3eebe5f2bd362e',1,'tvm::tirx']]],
@@ -59,7 +59,7 @@ var searchData=
   ['epsilon_56',['epsilon',['../structtvm_1_1relax_1_1RMSNormAttrs.html#a64e0a712d2ff28824a46e311d4e008d9',1,'tvm::relax::RMSNormAttrs::epsilon'],['../structtvm_1_1relax_1_1InstanceNormAttrs.html#a336de92a574bdce540942b8d378ef4da',1,'tvm::relax::InstanceNormAttrs::epsilon'],['../structtvm_1_1relax_1_1GroupNormAttrs.html#aac8d9a35e1477255de863c5f4d9ffda0',1,'tvm::relax::GroupNormAttrs::epsilon'],['../structtvm_1_1relax_1_1LayerNormAttrs.html#afe14236b953e723c076d75d04aa00efa',1,'tvm::rela [...]
   ['eq_57',['eq',['../classtvm_1_1prim_1_1EQ.html#a6dca71e65d22fea27b5ea6dcaa7a083e',1,'tvm::prim::EQ::EQ()'],['../classtvm_1_1prim_1_1EQ.html',1,'tvm::prim::EQ']]],
   ['eqnode_58',['EQNode',['../classtvm_1_1prim_1_1EQNode.html',1,'tvm::prim']]],
-  ['equal_59',['equal',['../namespacetvm_1_1topi.html#a23301af4bee39c516369b20089f93da7',1,'tvm::topi::equal(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;equal&quot;, std::string tag=kBroadcast)'],['../namespacetvm_1_1topi.html#aad662b8455d6393f5bbf54a03c5b5df4',1,'tvm::topi::equal(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm.html#a1c4f14382b85bcfa57d9a3460db2354a',1,'tvm::equal()'],['../namespacetvm_1_1t [...]
+  ['equal_59',['equal',['../namespacetvm_1_1topi.html#aad662b8455d6393f5bbf54a03c5b5df4',1,'tvm::topi::equal()'],['../namespacetvm.html#a1c4f14382b85bcfa57d9a3460db2354a',1,'tvm::equal()'],['../namespacetvm_1_1relax.html#aff256c278f6c4493843a3b8fe5703092',1,'tvm::relax::Equal()'],['../namespacetvm_1_1topi.html#a23301af4bee39c516369b20089f93da7',1,'tvm::topi::equal(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;equal&quot;, std::string ta [...]
   ['equals_60',['Equals',['../classtvm_1_1tirx_1_1SLayout.html#a58eda37795fbd98e48613bc4de9a53f3',1,'tvm::tirx::SLayout']]],
   ['erasetowelldefined_61',['erasetowelldefined',['../namespacetvm_1_1relax.html#a581d1dc5a3c158b784456222837e9371',1,'tvm::relax::EraseToWellDefined(const Type &amp;info, std::function&lt; ffi::Optional&lt; Expr &gt;(const Var &amp;var)&gt; f_var_map=nullptr)'],['../namespacetvm_1_1relax.html#a57b7060272deb9b52ca82928036d946c',1,'tvm::relax::EraseToWellDefined(const Type &amp;info, std::function&lt; ffi::Optional&lt; Expr &gt;(const Var &amp;var)&gt; f_var_map, const sym::Analyzer &amp; [...]
   ['erf_62',['erf',['../namespacetvm_1_1topi.html#aed0d20f9ea6893d02d1bb282a1d991e2',1,'tvm::topi::erf()'],['../namespacetvm_1_1prim.html#ae1e96d6a79ef2d18b594a5bf83fb09bc',1,'tvm::prim::erf()']]],
diff --git a/docs/reference/api/doxygen/search/all_8.js b/docs/reference/api/doxygen/search/all_8.js
index 60214e69248..e278460bd60 100644
--- a/docs/reference/api/doxygen/search/all_8.js
+++ b/docs/reference/api/doxygen/search/all_8.js
@@ -13,7 +13,7 @@ var searchData=
   ['genericconst_10',['genericconst',['../classtvm_1_1GenericConst.html',1,'tvm::GenericConst'],['../classtvm_1_1GenericConst.html#a511b438e649a74e796993556ea47e18f',1,'tvm::GenericConst::GenericConst()']]],
   ['genericconstnode_11',['GenericConstNode',['../classtvm_1_1GenericConstNode.html',1,'tvm']]],
   ['genode_12',['GENode',['../classtvm_1_1prim_1_1GENode.html',1,'tvm::prim']]],
-  ['get_13',['get',['../classtvm_1_1tirx_1_1SLayoutAxis.html#a0cf0f914c783fff690361cc718ad10a9',1,'tvm::tirx::SLayoutAxis::Get(const char name)'],['../classtvm_1_1tirx_1_1SLayoutAxis.html#a58d05ab13f7022f06605afc13ce7d210',1,'tvm::tirx::SLayoutAxis::Get(const tirx::IterVar &amp;itvar)'],['../classtvm_1_1tirx_1_1SLayoutAxis.html#a291f7bc96670c6ecc903d164b8161de1',1,'tvm::tirx::SLayoutAxis::Get(const std::string &amp;name)'],['../structtvm_1_1runtime_1_1ThreadLocalDiscoWorker.html#a69a26e7 [...]
+  ['get_13',['get',['../classtvm_1_1s__tir_1_1TensorIntrin.html#a6c87e5e34e0ac257917c3c568235afc5',1,'tvm::s_tir::TensorIntrin::Get()'],['../classtvm_1_1script_1_1ir__builder_1_1IRBuilderNode.html#a84baa43243371ac9aa0c67aa1b5dd570',1,'tvm::script::ir_builder::IRBuilderNode::Get()'],['../classtvm_1_1TargetTag.html#a35fbf6d5de1864dc837a0e88e516000e',1,'tvm::TargetTag::Get()'],['../classtvm_1_1s__tir_1_1ScheduleNode.html#a20a8aa623ce7126d503778e5c6d95ea0',1,'tvm::s_tir::ScheduleNode::Get()' [...]
   ['get_5factive_5flane_5fmask_14',['get_active_lane_mask',['../namespacetvm_1_1tirx_1_1builtin.html#a9af4293510642333cc835ff86af33c2b',1,'tvm::tirx::builtin']]],
   ['getallocator_15',['GetAllocator',['../classtvm_1_1runtime_1_1memory_1_1MemoryManager.html#adf54a15a89cdfc4698c1a5a95542e407',1,'tvm::runtime::memory::MemoryManager']]],
   ['getalltuningrecords_16',['getalltuningrecords',['../classtvm_1_1s__tir_1_1meta__schedule_1_1PyDatabaseNode.html#af2898ac3be0dd1ccf587b7671e593e40',1,'tvm::s_tir::meta_schedule::PyDatabaseNode::GetAllTuningRecords()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html#af2b0a7e2305c8222d02971ea4b3c66fa',1,'tvm::s_tir::meta_schedule::DatabaseNode::GetAllTuningRecords()']]],
diff --git a/docs/reference/api/doxygen/search/all_a.js b/docs/reference/api/doxygen/search/all_a.js
index b2e3e082ac3..76fb8f01137 100644
--- a/docs/reference/api/doxygen/search/all_a.js
+++ b/docs/reference/api/doxygen/search/all_a.js
@@ -48,7 +48,7 @@ var searchData=
   ['infersymbolicvarmap_45',['InferSymbolicVarMap',['../namespacetvm_1_1relax.html#a6aa7781877fa94e9729b9cee7463e67d',1,'tvm::relax']]],
   ['infinity_46',['infinity',['../namespacetvm_1_1prim.html#a25134d1bfa8597dcb3be5497180cc564',1,'tvm::prim']]],
   ['info_47',['info',['../classtvm_1_1transform_1_1PassNode.html#ab602b215ed172c9f09cf0fa2862858af',1,'tvm::transform::PassNode::Info()'],['../classtvm_1_1transform_1_1SequentialNode.html#a4873bfc55a74cb39b692884b7b9aa5c2',1,'tvm::transform::SequentialNode::Info()']]],
-  ['init_48',['init',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir.html#ad6fd2724183fdc51d775ab446c88b2e5',1,'tvm::script::ir_builder::s_tir::Init()'],['../classtvm_1_1te_1_1ScanOpNode.html#a32b277a2640ecb2bc20fcd19b53f535d',1,'tvm::te::ScanOpNode::init'],['../classtvm_1_1te_1_1ReduceNode.html#a25eb1e0924ceb16cd5c2050d0af0e6ae',1,'tvm::te::ReduceNode::init'],['../classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrameNode.html#adc126585393f6d49bff86a72c57a2e6f',1,'tvm::script:: [...]
+  ['init_48',['init',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir.html#ad6fd2724183fdc51d775ab446c88b2e5',1,'tvm::script::ir_builder::s_tir::Init()'],['../classtvm_1_1runtime_1_1vm_1_1VirtualMachine.html#abe90a6aea407ed8281815a38d27c2770',1,'tvm::runtime::vm::VirtualMachine::Init()'],['../classtvm_1_1te_1_1ScanOpNode.html#a32b277a2640ecb2bc20fcd19b53f535d',1,'tvm::te::ScanOpNode::init'],['../classtvm_1_1s__tir_1_1SBlockNode.html#a83550e2b7fda218008cff57cbc915397',1,'tvm::s_tir::S [...]
   ['initattrs_49',['InitAttrs',['../structtvm_1_1relax_1_1InitAttrs.html',1,'tvm::relax']]],
   ['initccl_50',['InitCCL',['../classtvm_1_1runtime_1_1SessionObj.html#adbdb57dd887113eefafda2941cd11f6b',1,'tvm::runtime::SessionObj']]],
   ['initial_5findices_51',['initial_indices',['../classtvm_1_1tirx_1_1IndexMapNode.html#a40bc58979a6d31311c64e2b8c201ed15',1,'tvm::tirx::IndexMapNode']]],
diff --git a/docs/reference/api/doxygen/search/all_c.js b/docs/reference/api/doxygen/search/all_c.js
index dcb2a06eff2..7c2fe93dc41 100644
--- a/docs/reference/api/doxygen/search/all_c.js
+++ b/docs/reference/api/doxygen/search/all_c.js
@@ -105,7 +105,7 @@ var searchData=
   ['kimagepitchalignment_102',['kImagePitchAlignment',['../namespacetvm_1_1runtime.html#a46fef1ca0ccc05473e9bb0a8c6b66619a72d56bdb4e70760379da4a19d6477735',1,'tvm::runtime']]],
   ['kimmediate_103',['kImmediate',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ad009411831e6f77c97ea9bf65e88ba6ba9d5396915e9c40be7d43f985aa8e5ae0',1,'tvm::runtime::vm::Instruction']]],
   ['kinconsistent_104',['kInconsistent',['../namespacetvm_1_1sym.html#a4944fdf92dde33c184a7ca2fec7486b1af9f8d006118de5ad04dd7c000b8f3b91',1,'tvm::sym']]],
-  ['kind_105',['kind',['../classtvm_1_1tirx_1_1ForNode.html#aafc5aa4abb12156c88d9e0e9fdc7b71e',1,'tvm::tirx::ForNode::kind'],['../classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#a10142ff77dbc08a2a46c5adb51701aa2',1,'tvm::relax::distributed::PlacementSpecNode::kind'],['../structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html#a28c496ea36dfce28b237b254c7dfbcdc',1,'tvm::runtime::vm::VMFuncInfo::kind'],['../classtvm_1_1tirx_1_1DependencyNode.html#aad99641267be2c02bb453e4edbbdc606',1,'tvm:: [...]
+  ['kind_105',['kind',['../classtvm_1_1tirx_1_1ExecScopeNode.html#a4e8b0e6dc6c5c2ba2b1ea8bc060c8b25',1,'tvm::tirx::ExecScopeNode::kind'],['../classtvm_1_1script_1_1printer_1_1OperationDocNode.html#ab096bbea749ee994d75230cd8136afc2',1,'tvm::script::printer::OperationDocNode::Kind'],['../classtvm_1_1relax_1_1distributed_1_1PlacementSpecNode.html#a10142ff77dbc08a2a46c5adb51701aa2',1,'tvm::relax::distributed::PlacementSpecNode::kind'],['../structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html#a28c49 [...]
   ['kinjective_106',['kinjective',['../namespacetvm_1_1relax.html#acffa9e980a7331f2eb89cce97f2e3575aad7813b18db6196460bcd45dc8cd4567',1,'tvm::relax::kInjective'],['../namespacetvm_1_1topi.html#a29e22aa45900dad3b6f9f705bb1dc688',1,'tvm::topi::kInjective']]],
   ['kint64arrayelem_107',['kInt64ArrayElem',['../namespacetvm_1_1tirx_1_1builtin.html#ae07af6f2c9ac36b2aa4f43717e037463aca0f156be67359e059c2f9c5f8a30c12',1,'tvm::tirx::builtin']]],
   ['kinternal_108',['kInternal',['../namespacetvm.html#aee9f3322da6fdb9d0d120167beb329cca96509148247c627a753b021d6dbea774',1,'tvm']]],
diff --git a/docs/reference/api/doxygen/search/all_e.js b/docs/reference/api/doxygen/search/all_e.js
index dfd01444e61..2b956548836 100644
--- a/docs/reference/api/doxygen/search/all_e.js
+++ b/docs/reference/api/doxygen/search/all_e.js
@@ -96,13 +96,13 @@ var searchData=
   ['meta_5fschedule_5fvectorize_93',['meta_schedule_vectorize',['../namespacetvm_1_1s__tir_1_1attr.html#a93ebf9ef41a28840e3fbc56f776878c1',1,'tvm::s_tir::attr']]],
   ['metadata_94',['metadata',['../classtvm_1_1script_1_1printer_1_1IRDocsifierNode.html#a58261fd73a720d496d1ceac625289614',1,'tvm::script::printer::IRDocsifierNode']]],
   ['method_95',['method',['../structtvm_1_1relax_1_1GridSampleAttrs.html#a3807854d414d998038d5bb58da915559',1,'tvm::relax::GridSampleAttrs::method'],['../structtvm_1_1relax_1_1Resize3DAttrs.html#a0c6bd0180a2598fe0072a25d8a06b27b',1,'tvm::relax::Resize3DAttrs::method'],['../structtvm_1_1relax_1_1Resize2DAttrs.html#aabee5f8bb0423dd70a7733ec02842d46',1,'tvm::relax::Resize2DAttrs::method']]],
-  ['min_96',['min',['../namespacetvm_1_1topi.html#a41bd6309fa8d354ddb4e15a2df46e5b3',1,'tvm::topi::min()'],['../namespacetvm.html#aac2abc149c1a47944c37b560181b15c0',1,'tvm::min(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.html#a9a10cd15c6ff847edef0cb3e6aea94f9',1,'tvm::min(const PrimExpr &amp;a, float b, Span span=Span())'],['../namespacetvm.html#a17cf44684890b213c54c64bc756fbc3c',1,'tvm::min(float a, const PrimExpr &amp;b, Span span=Span())'],['../namespacetvm.html#acfa [...]
+  ['min_96',['min',['../namespacetvm_1_1topi.html#a41bd6309fa8d354ddb4e15a2df46e5b3',1,'tvm::topi::min()'],['../namespacetvm.html#aac2abc149c1a47944c37b560181b15c0',1,'tvm::min(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.html#a9a10cd15c6ff847edef0cb3e6aea94f9',1,'tvm::min(const PrimExpr &amp;a, float b, Span span=Span())'],['../namespacetvm.html#a17cf44684890b213c54c64bc756fbc3c',1,'tvm::min(float a, const PrimExpr &amp;b, Span span=Span())'],['../namespacetvm.html#acfa [...]
   ['min_5fvalue_97',['min_value',['../classtvm_1_1sym_1_1ConstIntBoundNode.html#add6d89e9c7bf59c9208da8635321bd7e',1,'tvm::sym::ConstIntBoundNode::min_value'],['../namespacetvm_1_1prim.html#a2c0bfbb969e2b525161d46e5ba5229b4',1,'tvm::prim::min_value()']]],
   ['minimum_98',['minimum',['../namespacetvm_1_1topi.html#a066874e668ad3b770d3893ac7c0bb52d',1,'tvm::topi::minimum(const tvm::PrimExpr &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kElementWise)'],['../namespacetvm_1_1topi.html#a28d4ef4b3426bff237215ce356dd5681',1,'tvm::topi::minimum(const tvm::te::Tensor &amp;A, const tvm::PrimExpr &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kElementWise)'],['. [...]
   ['minnode_99',['MinNode',['../classtvm_1_1prim_1_1MinNode.html',1,'tvm::prim']]],
   ['minop_100',['MinOp',['../namespacetvm_1_1topi.html#a962d43069468bc496e8a09f8e7a7a72f',1,'tvm::topi']]],
   ['missing_101',['Missing',['../classtvm_1_1Type.html#a13b41c597288962b84de7f56474826d1',1,'tvm::Type']]],
-  ['mod_102',['mod',['../namespacetvm_1_1topi.html#a4eb4b5a58cf4c5dbbdd4413cfd166882',1,'tvm::topi::mod()'],['../classtvm_1_1prim_1_1Mod.html',1,'tvm::prim::Mod'],['../namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2',1,'tvm::topi::mod()'],['../classtvm_1_1s__tir_1_1ScheduleNode.html#a7692e40978563d72ac08192f5306528b',1,'tvm::s_tir::ScheduleNode::mod()'],['../classtvm_1_1s__tir_1_1ScheduleStateNode.html#a2ccdf186a36ec64934bdc2aa39770a61',1,'tvm::s_tir::ScheduleStateNode::mod'] [...]
+  ['mod_102',['mod',['../namespacetvm_1_1topi.html#a4eb4b5a58cf4c5dbbdd4413cfd166882',1,'tvm::topi::mod()'],['../classtvm_1_1prim_1_1Mod.html',1,'tvm::prim::Mod'],['../namespacetvm_1_1topi.html#aaa95d3ad68932ab206efbe0a326db6a2',1,'tvm::topi::mod()'],['../classtvm_1_1prim_1_1Mod.html#acf948b20bd7d30a6c8f8371994154ea0',1,'tvm::prim::Mod::Mod()'],['../classtvm_1_1s__tir_1_1ScheduleNode.html#a7692e40978563d72ac08192f5306528b',1,'tvm::s_tir::ScheduleNode::mod()'],['../classtvm_1_1s__tir_1_1S [...]
   ['mode_103',['mode',['../classtvm_1_1tirx_1_1ScopeIdDefVerifier.html#ab07102c0dcc049d3f3b7f8a50239a146',1,'tvm::tirx::ScopeIdDefVerifier::Mode'],['../structtvm_1_1relax_1_1TakeAttrs.html#a407e7d7a9b5b4bdd588879f0bc17bb82',1,'tvm::relax::TakeAttrs::mode'],['../structtvm_1_1relax_1_1ROIAlignAttrs.html#aacb5d19d1474ee5d453853244644da2b',1,'tvm::relax::ROIAlignAttrs::mode']]],
   ['modnode_104',['ModNode',['../classtvm_1_1prim_1_1ModNode.html',1,'tvm::prim']]],
   ['modular_5fset_105',['modular_set',['../classtvm_1_1sym_1_1AnalyzerObj.html#af8f8af2a884d7be5b061e5fbbec94e81',1,'tvm::sym::AnalyzerObj']]],
diff --git a/docs/reference/api/doxygen/search/functions_11.js b/docs/reference/api/doxygen/search/functions_11.js
index cb571c5b57f..2758b29dd8b 100644
--- a/docs/reference/api/doxygen/search/functions_11.js
+++ b/docs/reference/api/doxygen/search/functions_11.js
@@ -25,8 +25,8 @@ var searchData=
   ['register_22',['register',['../classtvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html#ae0be1e974aeb433b0de34a0d4f6186e9',1,'tvm::runtime::vm::Instruction::Arg::Register()'],['../classtvm_1_1s__tir_1_1TensorIntrin.html#a1f7e3b3d4694ef6ff69c5cf91961843c',1,'tvm::s_tir::TensorIntrin::Register()']]],
   ['registerattrvalidator_23',['RegisterAttrValidator',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a61bdb5b1e1c83ccbd07d89da70bf962c',1,'tvm::script::ir_builder::tirx::PrimFuncFrameNode']]],
   ['registerconfigoption_24',['RegisterConfigOption',['../classtvm_1_1transform_1_1PassContext.html#aa27a9804d0b669ca33bd0f9081a83053',1,'tvm::transform::PassContext']]],
-  ['registerorget_25',['registerorget',['../classtvm_1_1TargetKindRegEntry.html#ad264f866e592106068e59ed8fc66d254',1,'tvm::TargetKindRegEntry::RegisterOrGet()'],['../classtvm_1_1tirx_1_1AxisRegEntry.html#aa6ac40b85fb16bf21263da54eb604c93',1,'tvm::tirx::AxisRegEntry::RegisterOrGet()'],['../classtvm_1_1OpRegEntry.html#af52e43bf754c9a0cd8373f75b627fa98',1,'tvm::OpRegEntry::RegisterOrGet()'],['../classtvm_1_1s__tir_1_1InstructionKindRegEntry.html#a745f857dde6141ea9ee06f18a91e906b',1,'tvm::s_ [...]
-  ['registerreflection_26',['registerreflection',['../classtvm_1_1s__tir_1_1MatchBufferRegionNode.html#a056d6cf1df7f554d336bff3f0e9cfdb7',1,'tvm::s_tir::MatchBufferRegionNode::RegisterReflection()'],['../classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1BlockInitFrameNode.html#a265cbd56e22e562ec89cb259483404ff',1,'tvm::script::ir_builder::s_tir::BlockInitFrameNode::RegisterReflection()'],['../classtvm_1_1script_1_1ir__builder_1_1s__tir_1_1SBlockFrameNode.html#aec39c5f85e4a2e9b26f1720db25dc7 [...]
+  ['registerorget_25',['registerorget',['../classtvm_1_1s__tir_1_1InstructionKindRegEntry.html#a745f857dde6141ea9ee06f18a91e906b',1,'tvm::s_tir::InstructionKindRegEntry::RegisterOrGet()'],['../classtvm_1_1OpRegEntry.html#af52e43bf754c9a0cd8373f75b627fa98',1,'tvm::OpRegEntry::RegisterOrGet()'],['../classtvm_1_1TargetKindRegEntry.html#ad264f866e592106068e59ed8fc66d254',1,'tvm::TargetKindRegEntry::RegisterOrGet()'],['../classtvm_1_1TargetTagRegEntry.html#a6294ecfdea96e41823f6d0cd7880bc47',1 [...]
+  ['registerreflection_26',['registerreflection',['../classtvm_1_1s__tir_1_1InstructionKindNode.html#a9df2aa85028357d57cfb72dbe040d0a2',1,'tvm::s_tir::InstructionKindNode::RegisterReflection()'],['../classtvm_1_1s__tir_1_1InstructionNode.html#a9c0f7624bd4423d8315abe48335c3cf3',1,'tvm::s_tir::InstructionNode::RegisterReflection()'],['../classtvm_1_1s__tir_1_1SBlockRVNode.html#a18b154b67b428937e484d997bca191f1',1,'tvm::s_tir::SBlockRVNode::RegisterReflection()'],['../classtvm_1_1s__tir_1_1 [...]
   ['reindex_27',['ReIndex',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a2cb4cef0537e66429d40860594780aaa',1,'tvm::s_tir::ScheduleNode']]],
   ['reindexcacheread_28',['ReindexCacheRead',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ae521878b0f82d4dcf4932b34c0f11476',1,'tvm::s_tir::ScheduleNode']]],
   ['reindexcachewrite_29',['ReindexCacheWrite',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ac2cdcd319867c595140eb958e28b4173',1,'tvm::s_tir::ScheduleNode']]],
@@ -70,41 +70,40 @@ var searchData=
   ['reshape_67',['reshape',['../namespacetvm_1_1topi.html#a0abdbb387ab49291c72687fa741e1527',1,'tvm::topi']]],
   ['resolve_68',['resolve',['../classtvm_1_1tirx_1_1ScopeIdResolve.html#a9d886fd1cd0850c8e398425837e37db1',1,'tvm::tirx::ScopeIdResolve::Resolve()'],['../classtvm_1_1ir_1_1ConfigSchema.html#a23bba3ffee226ebf40c869a144471145',1,'tvm::ir::ConfigSchema::Resolve()']]],
   ['resolvedependency_69',['ResolveDependency',['../classtvm_1_1transform_1_1SequentialNode.html#a5549edf77e0a64bd6fcb692603967b8e',1,'tvm::transform::SequentialNode']]],
-  ['resolvetypevar_70',['ResolveTypeVar',['../namespacetvm_1_1script_1_1ir__builder.html#a8852629d7fefcbca60fab8c2eae58961',1,'tvm::script::ir_builder']]],
-  ['result_71',['Result',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html#a65c9a22e50b0c49becc14e6e83fd7f9c',1,'tvm::s_tir::meta_schedule::RunnerFutureNode']]],
-  ['ret_72',['Ret',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ad14f3c094aa2b6c602ebaa74bfec7ffa',1,'tvm::runtime::vm::Instruction']]],
-  ['return_73',['return',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#af040a4c3c53a13885635540988224273',1,'tvm::script::ir_builder::tirx::Return()'],['../classtvm_1_1tirx_1_1Return.html#a22c41f3d18f30d5c5b2b49fbb1d33dc7',1,'tvm::tirx::Return::Return()']]],
-  ['returndoc_74',['ReturnDoc',['../classtvm_1_1script_1_1printer_1_1ReturnDoc.html#afcf99665a7639d31b82c6cacc498a49d',1,'tvm::script::printer::ReturnDoc']]],
-  ['reverse_5fsequence_75',['reverse_sequence',['../namespacetvm_1_1topi.html#ab8ad5eed3079de21c92a7639ed370096',1,'tvm::topi']]],
-  ['reversecomputeat_76',['ReverseComputeAt',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a119d54c0e79404882988a19d33a52ff9',1,'tvm::s_tir::ScheduleNode']]],
-  ['reversecomputeinline_77',['ReverseComputeInline',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a657c99b9a98e72413f302b3ae6d8bcb1',1,'tvm::s_tir::ScheduleNode']]],
-  ['rewritebindings_78',['RewriteBindings',['../namespacetvm_1_1relax.html#af5845e4d011ab64d1ebbb8faa289c8b6',1,'tvm::relax']]],
-  ['rewritecall_79',['RewriteCall',['../namespacetvm_1_1relax.html#a4adfa32db8b3d194fc6fb2ff0edf6ce4',1,'tvm::relax']]],
-  ['rewritecooperativefetch_80',['RewriteCooperativeFetch',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a4ede8a71ec01446f238796be8ad629c2',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewritecudagraph_81',['RewriteCUDAGraph',['../namespacetvm_1_1relax_1_1transform.html#ad769f00c33bd5eac4fa5e608ce92b87b',1,'tvm::relax::transform']]],
-  ['rewritedataflowreshape_82',['RewriteDataflowReshape',['../namespacetvm_1_1relax_1_1transform.html#ab39386a8c6dad83320670e691e7a60c0',1,'tvm::relax::transform']]],
-  ['rewritelayout_83',['RewriteLayout',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9bedbdcbe339c6d73888e5fb2f2041f6',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewriteparallelvectorizeunroll_84',['RewriteParallelVectorizeUnroll',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9e934c0abf4365ded1a5da6aec0f739d',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewritereductionblock_85',['RewriteReductionBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a5f3af3eac1d923a1999c5ffe1ce01ad2',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewritetensorize_86',['RewriteTensorize',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a919ab89d465caafc81840943afb481af',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewriteunboundblock_87',['RewriteUnboundBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a2fa39c2e5a159e1edc3d7de177797936',1,'tvm::s_tir::meta_schedule::Postproc']]],
-  ['rewriteunsafeselect_88',['RewriteUnsafeSelect',['../namespacetvm_1_1s__tir_1_1transform.html#adaa2770e18b9bf339ae775ee11270dc2',1,'tvm::s_tir::transform']]],
-  ['rfactor_89',['RFactor',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a048544cae8a79606f96a9639459867b4',1,'tvm::s_tir::ScheduleNode']]],
-  ['right_5fshift_90',['right_shift',['../namespacetvm.html#a98ff4361d0a24570f8dc32d03cde972a',1,'tvm::right_shift(int a, const PrimExpr &amp;b, Span span=Span())'],['../namespacetvm.html#ae8ecc0382685a855187bede0c97d93e6',1,'tvm::right_shift(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.html#af49dde9dfdeea62e8ad3a6d8db53de0b',1,'tvm::right_shift(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm_1_1topi.html#a9673b9caffb46404b566c3f04a492dfe',1,'tvm::top [...]
-  ['rms_5fnorm_91',['rms_norm',['../namespacetvm_1_1topi_1_1nn.html#aecbd73f84d66f263ce8b8582844d77db',1,'tvm::topi::nn']]],
-  ['rollingbuffer_92',['RollingBuffer',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ade004c879f9ea381bab34da5aeb3c165',1,'tvm::s_tir::ScheduleNode']]],
-  ['rootmark_93',['RootMark',['../classtvm_1_1tirx_1_1StmtSRef.html#a8baeedc5f10b77aa6f3a9cb53ac848cf',1,'tvm::tirx::StmtSRef']]],
-  ['round_94',['round',['../namespacetvm_1_1prim.html#a0645bf2b37dcb9f8fdb38ce392a7ae6b',1,'tvm::prim::round()'],['../namespacetvm_1_1topi.html#a11030c7cd076210bf364c6f70846de78',1,'tvm::topi::round()']]],
-  ['roundrobin_95',['RoundRobin',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskScheduler.html#a55941a78a0fec7501a88e5cd329a9bbf',1,'tvm::s_tir::meta_schedule::TaskScheduler']]],
-  ['rshift_96',['RShift',['../classtvm_1_1prim_1_1RShift.html#a224ebcd660b7b54d1f9077608bbb9582',1,'tvm::prim::RShift']]],
-  ['rsqrt_97',['rsqrt',['../namespacetvm_1_1prim.html#a28d4523f88d7dd94285fa5b663e3d298',1,'tvm::prim::rsqrt()'],['../namespacetvm_1_1topi.html#a87781e08068ff16cbae1356a32331cdc',1,'tvm::topi::rsqrt()']]],
-  ['run_98',['run',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html#ac4680f23f0d2a2f653ee23ff496cd8e7',1,'tvm::s_tir::meta_schedule::RunnerNode::Run()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1PyRunnerNode.html#a3be5bbc7c428e6ad3618d476ce46520d',1,'tvm::s_tir::meta_schedule::PyRunnerNode::Run()']]],
-  ['runafterpass_99',['RunAfterPass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a49332b9ab696afefa427b676dbaba1b0',1,'tvm::instrument::PassInstrumentNode']]],
-  ['runbeforepass_100',['RunBeforePass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a4c5781489ab0113fbfcb9a61e6348b43',1,'tvm::instrument::PassInstrumentNode']]],
-  ['runcodegen_101',['RunCodegen',['../namespacetvm_1_1relax_1_1transform.html#a9d00529108ea6c23d2cd526a30c65ce2',1,'tvm::relax::transform']]],
-  ['runner_102',['Runner',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html#a94e173785f54a9d00e374dc5cc71f550',1,'tvm::s_tir::meta_schedule::Runner']]],
-  ['runnerfuture_103',['RunnerFuture',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html#a74364d1d1717245decc57cefc6169ca0',1,'tvm::s_tir::meta_schedule::RunnerFuture']]],
-  ['runnerinput_104',['RunnerInput',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html#a757a5bb992067bac644968dbbaba1db4',1,'tvm::s_tir::meta_schedule::RunnerInput']]],
-  ['runnerresult_105',['RunnerResult',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html#a0a7fc9f46a3a69e0fb4290386b03e46e',1,'tvm::s_tir::meta_schedule::RunnerResult']]],
-  ['runtimeenabled_106',['RuntimeEnabled',['../namespacetvm_1_1runtime.html#a5b86c1a967df6d41784685f3e8dd5398',1,'tvm::runtime']]]
+  ['result_70',['Result',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFutureNode.html#a65c9a22e50b0c49becc14e6e83fd7f9c',1,'tvm::s_tir::meta_schedule::RunnerFutureNode']]],
+  ['ret_71',['Ret',['../structtvm_1_1runtime_1_1vm_1_1Instruction.html#ad14f3c094aa2b6c602ebaa74bfec7ffa',1,'tvm::runtime::vm::Instruction']]],
+  ['return_72',['return',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#af040a4c3c53a13885635540988224273',1,'tvm::script::ir_builder::tirx::Return()'],['../classtvm_1_1tirx_1_1Return.html#a22c41f3d18f30d5c5b2b49fbb1d33dc7',1,'tvm::tirx::Return::Return()']]],
+  ['returndoc_73',['ReturnDoc',['../classtvm_1_1script_1_1printer_1_1ReturnDoc.html#afcf99665a7639d31b82c6cacc498a49d',1,'tvm::script::printer::ReturnDoc']]],
+  ['reverse_5fsequence_74',['reverse_sequence',['../namespacetvm_1_1topi.html#ab8ad5eed3079de21c92a7639ed370096',1,'tvm::topi']]],
+  ['reversecomputeat_75',['ReverseComputeAt',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a119d54c0e79404882988a19d33a52ff9',1,'tvm::s_tir::ScheduleNode']]],
+  ['reversecomputeinline_76',['ReverseComputeInline',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a657c99b9a98e72413f302b3ae6d8bcb1',1,'tvm::s_tir::ScheduleNode']]],
+  ['rewritebindings_77',['RewriteBindings',['../namespacetvm_1_1relax.html#af5845e4d011ab64d1ebbb8faa289c8b6',1,'tvm::relax']]],
+  ['rewritecall_78',['RewriteCall',['../namespacetvm_1_1relax.html#a4adfa32db8b3d194fc6fb2ff0edf6ce4',1,'tvm::relax']]],
+  ['rewritecooperativefetch_79',['RewriteCooperativeFetch',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a4ede8a71ec01446f238796be8ad629c2',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewritecudagraph_80',['RewriteCUDAGraph',['../namespacetvm_1_1relax_1_1transform.html#ad769f00c33bd5eac4fa5e608ce92b87b',1,'tvm::relax::transform']]],
+  ['rewritedataflowreshape_81',['RewriteDataflowReshape',['../namespacetvm_1_1relax_1_1transform.html#ab39386a8c6dad83320670e691e7a60c0',1,'tvm::relax::transform']]],
+  ['rewritelayout_82',['RewriteLayout',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9bedbdcbe339c6d73888e5fb2f2041f6',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewriteparallelvectorizeunroll_83',['RewriteParallelVectorizeUnroll',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a9e934c0abf4365ded1a5da6aec0f739d',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewritereductionblock_84',['RewriteReductionBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a5f3af3eac1d923a1999c5ffe1ce01ad2',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewritetensorize_85',['RewriteTensorize',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a919ab89d465caafc81840943afb481af',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewriteunboundblock_86',['RewriteUnboundBlock',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Postproc.html#a2fa39c2e5a159e1edc3d7de177797936',1,'tvm::s_tir::meta_schedule::Postproc']]],
+  ['rewriteunsafeselect_87',['RewriteUnsafeSelect',['../namespacetvm_1_1s__tir_1_1transform.html#adaa2770e18b9bf339ae775ee11270dc2',1,'tvm::s_tir::transform']]],
+  ['rfactor_88',['RFactor',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a048544cae8a79606f96a9639459867b4',1,'tvm::s_tir::ScheduleNode']]],
+  ['right_5fshift_89',['right_shift',['../namespacetvm.html#a98ff4361d0a24570f8dc32d03cde972a',1,'tvm::right_shift(int a, const PrimExpr &amp;b, Span span=Span())'],['../namespacetvm.html#ae8ecc0382685a855187bede0c97d93e6',1,'tvm::right_shift(PrimExpr a, PrimExpr b, Span span=Span())'],['../namespacetvm.html#af49dde9dfdeea62e8ad3a6d8db53de0b',1,'tvm::right_shift(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm_1_1topi.html#a9673b9caffb46404b566c3f04a492dfe',1,'tvm::top [...]
+  ['rms_5fnorm_90',['rms_norm',['../namespacetvm_1_1topi_1_1nn.html#aecbd73f84d66f263ce8b8582844d77db',1,'tvm::topi::nn']]],
+  ['rollingbuffer_91',['RollingBuffer',['../classtvm_1_1s__tir_1_1ScheduleNode.html#ade004c879f9ea381bab34da5aeb3c165',1,'tvm::s_tir::ScheduleNode']]],
+  ['rootmark_92',['RootMark',['../classtvm_1_1tirx_1_1StmtSRef.html#a8baeedc5f10b77aa6f3a9cb53ac848cf',1,'tvm::tirx::StmtSRef']]],
+  ['round_93',['round',['../namespacetvm_1_1prim.html#a0645bf2b37dcb9f8fdb38ce392a7ae6b',1,'tvm::prim::round()'],['../namespacetvm_1_1topi.html#a11030c7cd076210bf364c6f70846de78',1,'tvm::topi::round()']]],
+  ['roundrobin_94',['RoundRobin',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskScheduler.html#a55941a78a0fec7501a88e5cd329a9bbf',1,'tvm::s_tir::meta_schedule::TaskScheduler']]],
+  ['rshift_95',['RShift',['../classtvm_1_1prim_1_1RShift.html#a224ebcd660b7b54d1f9077608bbb9582',1,'tvm::prim::RShift']]],
+  ['rsqrt_96',['rsqrt',['../namespacetvm_1_1prim.html#a28d4523f88d7dd94285fa5b663e3d298',1,'tvm::prim::rsqrt()'],['../namespacetvm_1_1topi.html#a87781e08068ff16cbae1356a32331cdc',1,'tvm::topi::rsqrt()']]],
+  ['run_97',['run',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerNode.html#ac4680f23f0d2a2f653ee23ff496cd8e7',1,'tvm::s_tir::meta_schedule::RunnerNode::Run()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1PyRunnerNode.html#a3be5bbc7c428e6ad3618d476ce46520d',1,'tvm::s_tir::meta_schedule::PyRunnerNode::Run()']]],
+  ['runafterpass_98',['RunAfterPass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a49332b9ab696afefa427b676dbaba1b0',1,'tvm::instrument::PassInstrumentNode']]],
+  ['runbeforepass_99',['RunBeforePass',['../classtvm_1_1instrument_1_1PassInstrumentNode.html#a4c5781489ab0113fbfcb9a61e6348b43',1,'tvm::instrument::PassInstrumentNode']]],
+  ['runcodegen_100',['RunCodegen',['../namespacetvm_1_1relax_1_1transform.html#a9d00529108ea6c23d2cd526a30c65ce2',1,'tvm::relax::transform']]],
+  ['runner_101',['Runner',['../classtvm_1_1s__tir_1_1meta__schedule_1_1Runner.html#a94e173785f54a9d00e374dc5cc71f550',1,'tvm::s_tir::meta_schedule::Runner']]],
+  ['runnerfuture_102',['RunnerFuture',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerFuture.html#a74364d1d1717245decc57cefc6169ca0',1,'tvm::s_tir::meta_schedule::RunnerFuture']]],
+  ['runnerinput_103',['RunnerInput',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerInput.html#a757a5bb992067bac644968dbbaba1db4',1,'tvm::s_tir::meta_schedule::RunnerInput']]],
+  ['runnerresult_104',['RunnerResult',['../classtvm_1_1s__tir_1_1meta__schedule_1_1RunnerResult.html#a0a7fc9f46a3a69e0fb4290386b03e46e',1,'tvm::s_tir::meta_schedule::RunnerResult']]],
+  ['runtimeenabled_105',['RuntimeEnabled',['../namespacetvm_1_1runtime.html#a5b86c1a967df6d41784685f3e8dd5398',1,'tvm::runtime']]]
 ];
diff --git a/docs/reference/api/doxygen/search/functions_12.js b/docs/reference/api/doxygen/search/functions_12.js
index ee0558729c5..32c7dca1e26 100644
--- a/docs/reference/api/doxygen/search/functions_12.js
+++ b/docs/reference/api/doxygen/search/functions_12.js
@@ -21,7 +21,7 @@ var searchData=
   ['scalablevector_18',['ScalableVector',['../classtvm_1_1PrimType.html#a043514f4e0b140cb32826f8153205d35',1,'tvm::PrimType']]],
   ['scale_5fshift_5fnchw_19',['scale_shift_nchw',['../namespacetvm_1_1topi_1_1nn.html#a07b8a04f27f17af58dd9f18218cfe081',1,'tvm::topi::nn']]],
   ['scale_5fshift_5fnhwc_20',['scale_shift_nhwc',['../namespacetvm_1_1topi_1_1nn.html#acaf3bc4e89fc55b8444d2550d25f4f22',1,'tvm::topi::nn']]],
-  ['scan_21',['scan',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir_1_1axis.html#ae704ac53b7e25ce714cd6fd6e3b004a1',1,'tvm::script::ir_builder::s_tir::axis::Scan()'],['../namespacetvm_1_1te.html#a665b6af508ca707d3c4aed749e8a113e',1,'tvm::te::scan()']]],
+  ['scan_21',['scan',['../namespacetvm_1_1te.html#a665b6af508ca707d3c4aed749e8a113e',1,'tvm::te::scan()'],['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir_1_1axis.html#ae704ac53b7e25ce714cd6fd6e3b004a1',1,'tvm::script::ir_builder::s_tir::axis::Scan()']]],
   ['scanop_22',['ScanOp',['../classtvm_1_1te_1_1ScanOp.html#ac543d72bda102433f59f765976c6d14e',1,'tvm::te::ScanOp']]],
   ['scanopnode_23',['ScanOpNode',['../classtvm_1_1te_1_1ScanOpNode.html#a1b681295f74cb94732ef167a15a8488f',1,'tvm::te::ScanOpNode']]],
   ['scatterfromworker0_24',['ScatterFromWorker0',['../namespacetvm_1_1runtime.html#a8f601397b80f97c316413a0a0236b5e3',1,'tvm::runtime']]],
diff --git a/docs/reference/api/doxygen/search/functions_13.js b/docs/reference/api/doxygen/search/functions_13.js
index a05ab395485..c3330ca2082 100644
--- a/docs/reference/api/doxygen/search/functions_13.js
+++ b/docs/reference/api/doxygen/search/functions_13.js
@@ -52,7 +52,7 @@ var searchData=
   ['tostring_49',['ToString',['../classtvm_1_1relax_1_1distributed_1_1PlacementNode.html#a4f377361f55466f7e855f6bdbd1f4266',1,'tvm::relax::distributed::PlacementNode']]],
   ['tosubordinate_50',['ToSubordinate',['../classtvm_1_1tirx_1_1SLayoutAxis.html#a368bd171964e4714331b744913abdbfa',1,'tvm::tirx::SLayoutAxis']]],
   ['touchtask_51',['TouchTask',['../classtvm_1_1s__tir_1_1meta__schedule_1_1TaskSchedulerNode.html#a96dad2bf37679aba787f4e4b81c979f9',1,'tvm::s_tir::meta_schedule::TaskSchedulerNode']]],
-  ['trace_52',['trace',['../classtvm_1_1s__tir_1_1Trace.html#a894c9a4fca263f9ad13cec46ac74de11',1,'tvm::s_tir::Trace::Trace()'],['../classtvm_1_1s__tir_1_1ScheduleNode.html#a181cd324ae42a93a5308454122d10ff3',1,'tvm::s_tir::ScheduleNode::trace()'],['../classtvm_1_1s__tir_1_1Trace.html#aab8cc9848fd4be6164533a515937978c',1,'tvm::s_tir::Trace::Trace()']]],
+  ['trace_52',['trace',['../classtvm_1_1s__tir_1_1Trace.html#aab8cc9848fd4be6164533a515937978c',1,'tvm::s_tir::Trace::Trace(ffi::Array&lt; Instruction &gt; insts, ffi::Map&lt; Instruction, Any &gt; decisions)'],['../classtvm_1_1s__tir_1_1Trace.html#a894c9a4fca263f9ad13cec46ac74de11',1,'tvm::s_tir::Trace::Trace()'],['../classtvm_1_1s__tir_1_1ScheduleNode.html#a181cd324ae42a93a5308454122d10ff3',1,'tvm::s_tir::ScheduleNode::trace()']]],
   ['traced_53',['Traced',['../classtvm_1_1s__tir_1_1Schedule.html#a5e3700664d2588ecb67b05d537fe3bbb',1,'tvm::s_tir::Schedule']]],
   ['transformblocklayout_54',['TransformBlockLayout',['../classtvm_1_1s__tir_1_1ScheduleNode.html#a804ffa32697098deb4d62faa557ae742',1,'tvm::s_tir::ScheduleNode']]],
   ['transformlayout_55',['TransformLayout',['../classtvm_1_1s__tir_1_1ScheduleNode.html#adba248c3349835b6262b890743f73a05',1,'tvm::s_tir::ScheduleNode']]],
diff --git a/docs/reference/api/doxygen/search/functions_15.js b/docs/reference/api/doxygen/search/functions_15.js
index 6020392d1be..79cf6070d3f 100644
--- a/docs/reference/api/doxygen/search/functions_15.js
+++ b/docs/reference/api/doxygen/search/functions_15.js
@@ -2,7 +2,7 @@ var searchData=
 [
   ['validateattrs_0',['ValidateAttrs',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3',1,'tvm::script::ir_builder::tirx::PrimFuncFrameNode']]],
   ['value_1',['value',['../classtvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html#a7f8b13a64c4160100aaf691f877f0270',1,'tvm::runtime::vm::Instruction::Arg']]],
-  ['var_2',['var',['../classtvm_1_1tirx_1_1BufferVar.html#a5a71693e34d4c4ca4a3d1f4b94b49a4c',1,'tvm::tirx::BufferVar::var()'],['../classtvm_1_1Var.html#a5d3fb40557f1f178a7c646068ad5bfe0',1,'tvm::Var::Var()'],['../namespacetvm_1_1te.html#a054fef7460475c6d4adb0c845648bcd7',1,'tvm::te::var()']]],
+  ['var_2',['var',['../classtvm_1_1Var.html#a5d3fb40557f1f178a7c646068ad5bfe0',1,'tvm::Var::Var()'],['../classtvm_1_1tirx_1_1BufferVar.html#a5a71693e34d4c4ca4a3d1f4b94b49a4c',1,'tvm::tirx::BufferVar::var()'],['../namespacetvm_1_1te.html#a054fef7460475c6d4adb0c845648bcd7',1,'tvm::te::var()']]],
   ['varbinding_3',['VarBinding',['../classtvm_1_1relax_1_1VarBinding.html#abd1a546ed7fa509d776563e8018b4599',1,'tvm::relax::VarBinding']]],
   ['varpattern_4',['VarPattern',['../classtvm_1_1relax_1_1VarPattern.html#a55ce0a13e1e0f61a3fecfdb2f5e0e64f',1,'tvm::relax::VarPattern']]],
   ['varremapget_5',['VarRemapGet',['../classtvm_1_1ObjectMutator.html#ac9fb043350cd3da8d26f0b549605be64',1,'tvm::ObjectMutator']]],
diff --git a/docs/reference/api/doxygen/search/functions_16.js b/docs/reference/api/doxygen/search/functions_16.js
index 1cfc5bf5bb0..53762cbe90d 100644
--- a/docs/reference/api/doxygen/search/functions_16.js
+++ b/docs/reference/api/doxygen/search/functions_16.js
@@ -3,7 +3,7 @@ var searchData=
   ['warpgroupid_0',['WarpgroupId',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#ae196bded710edd1c3b8bf45c376255e4',1,'tvm::script::ir_builder::tirx']]],
   ['warpid_1',['WarpId',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a100742007467deb0c3516fef49880e0c',1,'tvm::script::ir_builder::tirx']]],
   ['wellformed_2',['WellFormed',['../namespacetvm_1_1relax.html#ab277242c7f49d3ca1924729ac3b0d99b',1,'tvm::relax']]],
-  ['where_3',['where',['../namespacetvm_1_1topi.html#af011847b6e7f72f1bec25eee05c80590',1,'tvm::topi::where()'],['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir.html#aaa9410e5707855d6e5efb97be03a7a04',1,'tvm::script::ir_builder::s_tir::Where()']]],
+  ['where_3',['where',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir.html#aaa9410e5707855d6e5efb97be03a7a04',1,'tvm::script::ir_builder::s_tir::Where()'],['../namespacetvm_1_1topi.html#af011847b6e7f72f1bec25eee05c80590',1,'tvm::topi::where()']]],
   ['while_4',['while',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a021a4b73625c5731ab93400404b6505e',1,'tvm::script::ir_builder::tirx::While()'],['../classtvm_1_1tirx_1_1While.html#ab0b5efffa898af6690bfbd4d3956c5d1',1,'tvm::tirx::While::While()']]],
   ['whiledoc_5',['WhileDoc',['../classtvm_1_1script_1_1printer_1_1WhileDoc.html#aed5d0c9693c8137a909e9c3d9836ef28',1,'tvm::script::printer::WhileDoc']]],
   ['whileframe_6',['WhileFrame',['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754',1,'tvm::script::ir_builder::tirx::WhileFrame']]],
diff --git a/docs/reference/api/doxygen/search/functions_4.js b/docs/reference/api/doxygen/search/functions_4.js
index 4e571263084..027314b033c 100644
--- a/docs/reference/api/doxygen/search/functions_4.js
+++ b/docs/reference/api/doxygen/search/functions_4.js
@@ -20,7 +20,7 @@ var searchData=
   ['emitvarbinding_17',['EmitVarBinding',['../namespacetvm_1_1script_1_1ir__builder_1_1relax.html#acad6c10152cb6f9e58c7a0287adb7f1c',1,'tvm::script::ir_builder::relax']]],
   ['emitwithspan_18',['EmitWithSpan',['../namespacetvm_1_1script_1_1ir__builder_1_1relax.html#af5fd43a5a537e687f7f786900a182003',1,'tvm::script::ir_builder::relax']]],
   ['emplace_19',['Emplace',['../classtvm_1_1WithGroup.html#a5884d772a34f712c34ae0236fc1ae682',1,'tvm::WithGroup']]],
-  ['empty_20',['empty',['../classtvm_1_1runtime_1_1Tensor.html#a1e047609cf8fbdbcc539b01a0714b229',1,'tvm::runtime::Tensor::Empty()'],['../classtvm_1_1ScopeStack.html#a3130865249610edbc411b1382233cbd3',1,'tvm::ScopeStack::empty()'],['../classtvm_1_1TupleType.html#af99baa239cc3c717979b2dfeefed75c2',1,'tvm::TupleType::Empty()'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#ae7e60035d73bb4c48868994ee5c94352',1,'tvm::runtime::memory::Allocator::Empty()']]],
+  ['empty_20',['empty',['../classtvm_1_1ScopeStack.html#a3130865249610edbc411b1382233cbd3',1,'tvm::ScopeStack::empty()'],['../classtvm_1_1TupleType.html#af99baa239cc3c717979b2dfeefed75c2',1,'tvm::TupleType::Empty()'],['../classtvm_1_1runtime_1_1memory_1_1Allocator.html#ae7e60035d73bb4c48868994ee5c94352',1,'tvm::runtime::memory::Allocator::Empty()'],['../classtvm_1_1runtime_1_1Tensor.html#a1e047609cf8fbdbcc539b01a0714b229',1,'tvm::runtime::Tensor::Empty()']]],
   ['encodesplitside_21',['EncodeSplitSide',['../namespacetvm_1_1tirx.html#a44ad1e4091153d791f3eebe5f2bd362e',1,'tvm::tirx']]],
   ['end_5findex_22',['end_index',['../namespacetvm_1_1topi_1_1nn.html#acf37f4e086a14dd0566d7118adbab34e',1,'tvm::topi::nn']]],
   ['end_5fprofile_5fintrinsic_23',['end_profile_intrinsic',['../namespacetvm_1_1tirx_1_1builtin.html#a39832bf1479ada70fae085753c02e1f4',1,'tvm::tirx::builtin']]],
@@ -36,7 +36,7 @@ var searchData=
   ['envfuncnode_33',['EnvFuncNode',['../classtvm_1_1EnvFuncNode.html#a808b81ced7b01c4955b4994a89bc71a4',1,'tvm::EnvFuncNode']]],
   ['envthread_34',['EnvThread',['../namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a0ab06044d53b0b4ba94a229d33fee43b',1,'tvm::script::ir_builder::tirx']]],
   ['eq_35',['EQ',['../classtvm_1_1prim_1_1EQ.html#a6dca71e65d22fea27b5ea6dcaa7a083e',1,'tvm::prim::EQ']]],
-  ['equal_36',['equal',['../namespacetvm.html#a1c4f14382b85bcfa57d9a3460db2354a',1,'tvm::equal()'],['../namespacetvm_1_1topi.html#aad662b8455d6393f5bbf54a03c5b5df4',1,'tvm::topi::equal(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a23301af4bee39c516369b20089f93da7',1,'tvm::topi::equal(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;equal&quot;, std::string tag=kBroadcast)'],['../namespacetvm_1_1t [...]
+  ['equal_36',['equal',['../namespacetvm_1_1relax.html#aff256c278f6c4493843a3b8fe5703092',1,'tvm::relax::Equal()'],['../namespacetvm.html#a1c4f14382b85bcfa57d9a3460db2354a',1,'tvm::equal()'],['../namespacetvm_1_1topi.html#aad662b8455d6393f5bbf54a03c5b5df4',1,'tvm::topi::equal(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a23301af4bee39c516369b20089f93da7',1,'tvm::topi::equal(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string [...]
   ['equals_37',['Equals',['../classtvm_1_1tirx_1_1SLayout.html#a58eda37795fbd98e48613bc4de9a53f3',1,'tvm::tirx::SLayout']]],
   ['erasetowelldefined_38',['erasetowelldefined',['../namespacetvm_1_1relax.html#a6a2d1815703e8f01b5d6a514da1ab90e',1,'tvm::relax::EraseToWellDefined(const Type &amp;info, ffi::Map&lt; Var, Expr &gt; var_map, const sym::Analyzer &amp;ana)'],['../namespacetvm_1_1relax.html#aac5a959950264220990513966657b595',1,'tvm::relax::EraseToWellDefined(const Type &amp;info, ffi::Map&lt; Var, Expr &gt; var_map)'],['../namespacetvm_1_1relax.html#a57b7060272deb9b52ca82928036d946c',1,'tvm::relax::EraseTo [...]
   ['erf_39',['erf',['../namespacetvm_1_1topi.html#aed0d20f9ea6893d02d1bb282a1d991e2',1,'tvm::topi::erf()'],['../namespacetvm_1_1prim.html#ae1e96d6a79ef2d18b594a5bf83fb09bc',1,'tvm::prim::erf()']]],
diff --git a/docs/reference/api/doxygen/search/functions_6.js b/docs/reference/api/doxygen/search/functions_6.js
index 3cca3b45206..b334310dc25 100644
--- a/docs/reference/api/doxygen/search/functions_6.js
+++ b/docs/reference/api/doxygen/search/functions_6.js
@@ -9,7 +9,7 @@ var searchData=
   ['generatedesignspace_6',['generatedesignspace',['../classtvm_1_1s__tir_1_1meta__schedule_1_1SpaceGeneratorNode.html#a503b416e2ed3be08b4bec5595a829d2f',1,'tvm::s_tir::meta_schedule::SpaceGeneratorNode::GenerateDesignSpace()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1PySpaceGeneratorNode.html#a9453ab8d72edd8c1fdeaf791deff8de1',1,'tvm::s_tir::meta_schedule::PySpaceGeneratorNode::GenerateDesignSpace()']]],
   ['generatemeasurecandidates_7',['generatemeasurecandidates',['../classtvm_1_1s__tir_1_1meta__schedule_1_1PySearchStrategyNode.html#a92f9d62a91f30369a887a6b31647178e',1,'tvm::s_tir::meta_schedule::PySearchStrategyNode::GenerateMeasureCandidates()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1SearchStrategyNode.html#a62ff11f63ebf69ad2d5b32417a92c0d5',1,'tvm::s_tir::meta_schedule::SearchStrategyNode::GenerateMeasureCandidates()']]],
   ['genericconst_8',['GenericConst',['../classtvm_1_1GenericConst.html#a511b438e649a74e796993556ea47e18f',1,'tvm::GenericConst']]],
-  ['get_9',['get',['../classtvm_1_1DictAttrs.html#ad8f7996b9debb6eb1bf729251f3b78b3',1,'tvm::DictAttrs::get()'],['../classtvm_1_1AttrRegistryMapContainerMap.html#ab54ef96480b7a42b9480dd80d30d2420',1,'tvm::AttrRegistryMapContainerMap::get()'],['../classtvm_1_1AttrRegistryMap.html#a270fff39d8366d78c8d02e64cae10753',1,'tvm::AttrRegistryMap::get()'],['../classtvm_1_1tirx_1_1Axis.html#ad850c9303a65227f5d7a467cd2694b9a',1,'tvm::tirx::Axis::Get()'],['../classtvm_1_1TargetKind.html#a7658b2fdebfa [...]
+  ['get_9',['get',['../classtvm_1_1SourceName.html#a44973bf3009230d58348f4877ec45cba',1,'tvm::SourceName::Get()'],['../classtvm_1_1EnvFunc.html#a4743fb115d189998a1c92f267de91272',1,'tvm::EnvFunc::Get()'],['../classtvm_1_1Op.html#a220d373cc3abc54c51583916931cdacc',1,'tvm::Op::Get()'],['../classtvm_1_1tirx_1_1BufferVar.html#aa1f460b2002f8eaef9e86746e4375d03',1,'tvm::tirx::BufferVar::get()'],['../classtvm_1_1relax_1_1Binding.html#af3305881e12b4a6f2d1013a04060fadd',1,'tvm::relax::Binding::ge [...]
   ['get_5factive_5flane_5fmask_10',['get_active_lane_mask',['../namespacetvm_1_1tirx_1_1builtin.html#a9af4293510642333cc835ff86af33c2b',1,'tvm::tirx::builtin']]],
   ['getallocator_11',['GetAllocator',['../classtvm_1_1runtime_1_1memory_1_1MemoryManager.html#adf54a15a89cdfc4698c1a5a95542e407',1,'tvm::runtime::memory::MemoryManager']]],
   ['getalltuningrecords_12',['getalltuningrecords',['../classtvm_1_1s__tir_1_1meta__schedule_1_1DatabaseNode.html#af2b0a7e2305c8222d02971ea4b3c66fa',1,'tvm::s_tir::meta_schedule::DatabaseNode::GetAllTuningRecords()'],['../classtvm_1_1s__tir_1_1meta__schedule_1_1PyDatabaseNode.html#af2898ac3be0dd1ccf587b7671e593e40',1,'tvm::s_tir::meta_schedule::PyDatabaseNode::GetAllTuningRecords()']]],
diff --git a/docs/reference/api/doxygen/search/functions_c.js b/docs/reference/api/doxygen/search/functions_c.js
index 59bddf8100a..6a2a728e92c 100644
--- a/docs/reference/api/doxygen/search/functions_c.js
+++ b/docs/reference/api/doxygen/search/functions_c.js
@@ -49,12 +49,12 @@ var searchData=
   ['mergesharedmemoryallocations_46',['MergeSharedMemoryAllocations',['../namespacetvm_1_1s__tir_1_1transform.html#ae5f770e4509106fa3a94e6f240491425',1,'tvm::s_tir::transform']]],
   ['meshgrid_47',['meshgrid',['../namespacetvm_1_1topi.html#a5670c16be614dfa345702fe563104b17',1,'tvm::topi']]],
   ['meta_5fschedule_5flayout_5ftransform_48',['meta_schedule_layout_transform',['../namespacetvm_1_1topi.html#ad35a7996969a759f5d0c02cd0dd67279',1,'tvm::topi']]],
-  ['min_49',['min',['../namespacetvm.html#a256aa9e1b6ed1c8dbadc529aae0eddc3',1,'tvm::min(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm.html#a9a10cd15c6ff847edef0cb3e6aea94f9',1,'tvm::min(const PrimExpr &amp;a, float b, Span span=Span())'],['../classtvm_1_1prim_1_1Min.html#a45460b7434c54d4ede75387532ad5179',1,'tvm::prim::Min::Min()'],['../classtvm_1_1s__tir_1_1LinearCongruentialEngine.html#ae7f68480d8c5c8db8bc01f6fd261a8c1',1,'tvm::s_tir::LinearCongruentialEngine::mi [...]
+  ['min_49',['min',['../namespacetvm.html#a256aa9e1b6ed1c8dbadc529aae0eddc3',1,'tvm::min(const PrimExpr &amp;a, int b, Span span=Span())'],['../namespacetvm.html#a9a10cd15c6ff847edef0cb3e6aea94f9',1,'tvm::min(const PrimExpr &amp;a, float b, Span span=Span())'],['../classtvm_1_1s__tir_1_1LinearCongruentialEngine.html#ae7f68480d8c5c8db8bc01f6fd261a8c1',1,'tvm::s_tir::LinearCongruentialEngine::min()'],['../classtvm_1_1sym_1_1IntSet.html#a856f5f5d3370bd6434a5f47c1367eee5',1,'tvm::sym::IntSet [...]
   ['min_5fvalue_50',['min_value',['../namespacetvm_1_1prim.html#a2c0bfbb969e2b525161d46e5ba5229b4',1,'tvm::prim']]],
   ['minimum_51',['minimum',['../namespacetvm_1_1tirx.html#a1d42824a8bf815ff9e7847253ab0e06d',1,'tvm::tirx::minimum()'],['../namespacetvm_1_1topi.html#a7ac1dc0d99ce93090a4cdf90ab19d4b8',1,'tvm::topi::minimum(const tvm::PrimExpr &amp;a, const tvm::PrimExpr &amp;b)'],['../namespacetvm_1_1topi.html#a0e19dc06a2b1ecbb83b0942fdf836169',1,'tvm::topi::minimum(const tvm::te::Tensor &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;minimum&quot;, std::string tag=kBroadcast [...]
   ['minop_52',['MinOp',['../namespacetvm_1_1topi.html#a962d43069468bc496e8a09f8e7a7a72f',1,'tvm::topi']]],
   ['missing_53',['Missing',['../classtvm_1_1Type.html#a13b41c597288962b84de7f56474826d1',1,'tvm::Type']]],
-  ['mod_54',['mod',['../namespacetvm_1_1topi.html#a87d479472e2846030990c87731f7a759',1,'tvm::topi::mod(const tvm::PrimExpr &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;mod&quot;, std::string tag=kElementWise)'],['../namespacetvm_1_1topi.html#a184233e08051d0bfec6536b25d959208',1,'tvm::topi::mod(const tvm::te::Tensor &amp;A, const tvm::PrimExpr &amp;B, std::string name=&quot;T_&quot; &quot;mod&quot;, std::string tag=kElementWise)'],['../namespacetvm_1_1topi.h [...]
+  ['mod_54',['mod',['../namespacetvm_1_1topi.html#a87d479472e2846030990c87731f7a759',1,'tvm::topi::mod(const tvm::PrimExpr &amp;A, const tvm::te::Tensor &amp;B, std::string name=&quot;T_&quot; &quot;mod&quot;, std::string tag=kElementWise)'],['../namespacetvm_1_1topi.html#a184233e08051d0bfec6536b25d959208',1,'tvm::topi::mod(const tvm::te::Tensor &amp;A, const tvm::PrimExpr &amp;B, std::string name=&quot;T_&quot; &quot;mod&quot;, std::string tag=kElementWise)'],['../namespacetvm_1_1topi.h [...]
   ['modularset_55',['ModularSet',['../classtvm_1_1sym_1_1ModularSet.html#a9eee6eff57460ebf849cae50edc2d0d5',1,'tvm::sym::ModularSet']]],
   ['modulo_56',['Modulo',['../structtvm_1_1tirx_1_1AxisRange.html#ade0ad7fce85304ced473eb4a9ed4429e',1,'tvm::tirx::AxisRange']]],
   ['mul_57',['mul',['../namespacetvm.html#a40c70817dccaa589da0562bc8f179008',1,'tvm::mul()'],['../classtvm_1_1prim_1_1Mul.html#afd2e0515b258e3f716fcdcb65e35af05',1,'tvm::prim::Mul::Mul()'],['../namespacetvm_1_1tirx.html#a4b74a44a40ac657420c98fe18909ea3f',1,'tvm::tirx::mul()'],['../namespacetvm.html#a92b9c69c93190d9057dd6f73ff93797a',1,'tvm::mul(const PrimExpr &amp;a, double b, Span span=Span())'],['../namespacetvm.html#add1522db4005299ee5d3ee0c7460466d',1,'tvm::mul(const PrimExpr &amp;a, [...]
diff --git a/docs/reference/api/doxygen/search/functions_e.js b/docs/reference/api/doxygen/search/functions_e.js
index 54782f45d83..9e1d9afbd69 100644
--- a/docs/reference/api/doxygen/search/functions_e.js
+++ b/docs/reference/api/doxygen/search/functions_e.js
@@ -7,7 +7,7 @@ var searchData=
   ['one_5fhot_4',['one_hot',['../namespacetvm_1_1topi.html#abb010bf48b2726fba253b05aaa078515',1,'tvm::topi::one_hot(const Tensor &amp;indices, const PrimExpr on_value, const PrimExpr off_value, int depth, int axis, PrimType dtype, ffi::Array&lt; PrimExpr &gt; oshape=ffi::Array&lt; PrimExpr &gt;(), const std::string name=&quot;T_one_hot&quot;, const std::string tag=kInjective)'],['../namespacetvm_1_1topi.html#a6fda3f5e93f0977c07fd1158a8afa761',1,'tvm::topi::one_hot(const Tensor &amp;indic [...]
   ['onlyusedby_5',['onlyusedby',['../namespacetvm_1_1relax.html#ae7d3238251393e90f87314ae9ea1d773',1,'tvm::relax::OnlyUsedBy()'],['../classtvm_1_1relax_1_1PatternSeq.html#a456f12bd57d6c0c161fe40b0373cd316',1,'tvm::relax::PatternSeq::OnlyUsedBy()']]],
   ['oobchecker_6',['OOBChecker',['../namespacetvm_1_1s__tir_1_1transform.html#afb41fe047152ae0e6804c1a29d3fa401',1,'tvm::s_tir::transform']]],
-  ['op_7',['op',['../classtvm_1_1OpRegEntry.html#a2205db26ba7006b48a2995c096548257',1,'tvm::OpRegEntry::op()'],['../classtvm_1_1Op.html#ae3f0bff0046a7e49afdccaedbd549e83',1,'tvm::Op::Op()']]],
+  ['op_7',['op',['../classtvm_1_1Op.html#ae3f0bff0046a7e49afdccaedbd549e83',1,'tvm::Op::Op()'],['../classtvm_1_1OpRegEntry.html#a2205db26ba7006b48a2995c096548257',1,'tvm::OpRegEntry::op()']]],
   ['opaque_8',['Opaque',['../namespacetvm_1_1script_1_1ir__builder_1_1s__tir_1_1axis.html#ae131e4c17ad6ab1dc4401d11dafbbc5a',1,'tvm::script::ir_builder::s_tir::axis']]],
   ['opaquefunc_9',['opaquefunc',['../classtvm_1_1relax_1_1FuncType.html#a74b08d30c1a2d58e1c0efb548054bbe8',1,'tvm::relax::FuncType::OpaqueFunc(TypeDeriveFunc derive_func, bool purity=false, Span span=Span())'],['../classtvm_1_1relax_1_1FuncType.html#a4e2383b983df75ec94c62515c90b32c2',1,'tvm::relax::FuncType::OpaqueFunc(Type ret=AnyType(), bool purity=false, Span span=Span())']]],
   ['opaquetype_10',['OpaqueType',['../classtvm_1_1OpaqueType.html#a6c374ff2d7cb64952ec2e7067e438d8f',1,'tvm::OpaqueType']]],
diff --git a/docs/reference/api/doxygen/search/variables_13.js b/docs/reference/api/doxygen/search/variables_13.js
index d40ee14c985..558ba7ada11 100644
--- a/docs/reference/api/doxygen/search/variables_13.js
+++ b/docs/reference/api/doxygen/search/variables_13.js
@@ -18,7 +18,7 @@ var searchData=
   ['thread_5fbinding_15',['thread_binding',['../classtvm_1_1tirx_1_1ForNode.html#a3d98571b7c497e317b0ff34da875b5d8',1,'tvm::tirx::ForNode']]],
   ['thread_5fextent_16',['thread_extent',['../namespacetvm_1_1tirx_1_1attr.html#a3626ee89890a92345703c4b6eee52415',1,'tvm::tirx::attr']]],
   ['thread_5ftag_17',['thread_tag',['../classtvm_1_1tirx_1_1IterVarNode.html#a18766ac76709bc97141c500a11062d50',1,'tvm::tirx::IterVarNode']]],
-  ['threshold_18',['threshold',['../structtvm_1_1relax_1_1SoftplusAttrs.html#a354c1dc30d9cea52bee0714384178cb9',1,'tvm::relax::SoftplusAttrs::threshold'],['../structtvm_1_1relax_1_1MultiboxTransformLocAttrs.html#ad645d845bf2f6cd7af0be73ec7582cee',1,'tvm::relax::MultiboxTransformLocAttrs::threshold']]],
+  ['threshold_18',['threshold',['../structtvm_1_1relax_1_1MultiboxTransformLocAttrs.html#ad645d845bf2f6cd7af0be73ec7582cee',1,'tvm::relax::MultiboxTransformLocAttrs::threshold'],['../structtvm_1_1relax_1_1SoftplusAttrs.html#a354c1dc30d9cea52bee0714384178cb9',1,'tvm::relax::SoftplusAttrs::threshold']]],
   ['tile_5flayout_19',['tile_layout',['../classtvm_1_1tirx_1_1ComposeLayoutNode.html#a4c90358e33fcb3f5e9c8dddf7329b814',1,'tvm::tirx::ComposeLayoutNode']]],
   ['to_5fusers_5f_20',['to_users_',['../classtvm_1_1relax_1_1DataflowBlockRewriteNode.html#a667829eb57e5e2ca06817f15dc4e45ff',1,'tvm::relax::DataflowBlockRewriteNode']]],
   ['top_5fk_21',['top_k',['../structtvm_1_1relax_1_1NonMaximumSuppressionAttrs.html#a606a2e78db8c9db146a4354f31f7f3ac',1,'tvm::relax::NonMaximumSuppressionAttrs']]],
@@ -37,6 +37,5 @@ var searchData=
   ['type_34',['type',['../structtvm_1_1relax_1_1PairCons.html#aa7fe6fdef3ab68d2f5176485000646b9',1,'tvm::relax::PairCons']]],
   ['type_5finfo_35',['type_info',['../classtvm_1_1ArgumentInfoNode.html#a546e864a8d048ec7922009f1c7864933',1,'tvm::ArgumentInfoNode']]],
   ['type_5fparams_36',['type_params',['../classtvm_1_1script_1_1printer_1_1FunctionDocNode.html#a6b3656238d197981cf25870e7f7bb1ab',1,'tvm::script::printer::FunctionDocNode']]],
-  ['type_5fstr_37',['type_str',['../structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a4f3cb8337bef2fb3460e575d534b087a',1,'tvm::ir::ConfigSchema::OptionEntry']]],
-  ['type_5fvar_5fmap_38',['type_var_map',['../classtvm_1_1script_1_1ir__builder_1_1relax_1_1FunctionFrameNode.html#aff3ace5fc634044d12909bf0d477cd7d',1,'tvm::script::ir_builder::relax::FunctionFrameNode::type_var_map'],['../classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17',1,'tvm::script::ir_builder::tirx::PrimFuncFrameNode::type_var_map']]]
+  ['type_5fstr_37',['type_str',['../structtvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html#a4f3cb8337bef2fb3460e575d534b087a',1,'tvm::ir::ConfigSchema::OptionEntry']]]
 ];
diff --git a/docs/reference/api/doxygen/tirx_2script_2ir__builder_2frame_8h_source.html b/docs/reference/api/doxygen/tirx_2script_2ir__builder_2frame_8h_source.html
index 7f891f6859a..7ba05a7a2d1 100644
--- a/docs/reference/api/doxygen/tirx_2script_2ir__builder_2frame_8h_source.html
+++ b/docs/reference/api/doxygen/tirx_2script_2ir__builder_2frame_8h_source.html
@@ -148,423 +148,421 @@ $(document).ready(function() { init_codefold(0); });
 <div class="foldopen" id="foldopen00075" data-start="{" data-end="};">
 <div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">   75</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">PrimFuncFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
 <div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">   78</a></span>  ffi::Map&lt;ffi::String, tvm::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">type_var_map</a>;</div>
-<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">   80</a></span>  ffi::Optional&lt;ffi::String&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">name</a>;</div>
-<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">   82</a></span>  ffi::Array&lt;tvm::tirx::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">args</a>;</div>
-<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">   84</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">is_private</a>;</div>
-<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">   86</a></span>  ffi::Optional&lt;Type&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">ret_type</a>;</div>
-<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">   88</a></span>  ffi::Map&lt;tvm::tirx::Var, tvm::tirx::BufferVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">buffer_map</a>;</div>
-<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">   90</a></span>  ffi::Map&lt;ffi::String, Any&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">attrs</a>;</div>
-<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">   92</a></span>  ffi::Map&lt;tvm::tirx::Var, tvm::tirx::IterVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">env_threads</a>;</div>
-<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">   94</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">persistent</a>;</div>
-<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">   96</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">is_declaration</a>{<span class="keyword">false</span>};</div>
-<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">   98</a></span>  ffi::Optional&lt;tvm::tirx::PrimFunc&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">function</a>;</div>
-<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">   99</a></span>  ffi::Optional&lt;GlobalVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">global_var</a>;</div>
-<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span> </div>
-<div class="foldopen" id="foldopen00101" data-start="{" data-end="}">
-<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa533511971b3dcd599e1fec79bb89880">  101</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa533511971b3dcd599e1fec79bb89880">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>    refl::ObjectDef&lt;PrimFuncFrameNode&gt;()</div>
-<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>        .def_ro(<span class="stringliteral">&quot;type_var_map&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">PrimFuncFrameNode::type_var_map</a>)</div>
-<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>        .def_ro(<span class="stringliteral">&quot;name&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">PrimFuncFrameNode::name</a>)</div>
-<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>        .def_ro(<span class="stringliteral">&quot;args&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">PrimFuncFrameNode::args</a>)</div>
-<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>        .def_ro(<span class="stringliteral">&quot;is_private&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">PrimFuncFrameNode::is_private</a>)</div>
-<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>        .def_ro(<span class="stringliteral">&quot;ret_type&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">PrimFuncFrameNode::ret_type</a>)</div>
-<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>        .def_ro(<span class="stringliteral">&quot;buffer_map&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">PrimFuncFrameNode::buffer_map</a>)</div>
-<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>        .def_ro(<span class="stringliteral">&quot;attrs&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">PrimFuncFrameNode::attrs</a>)</div>
-<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>        .def_ro(<span class="stringliteral">&quot;env_threads&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">PrimFuncFrameNode::env_threads</a>)</div>
-<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>        .def_ro(<span class="stringliteral">&quot;persistent&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">PrimFuncFrameNode::persistent</a>)</div>
-<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>        .def_ro(<span class="stringliteral">&quot;is_declaration&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">PrimFuncFrameNode::is_declaration</a>)</div>
-<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span>        .def_ro(<span class="stringliteral">&quot;function&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">PrimFuncFrameNode::function</a>)</div>
-<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>        .def_ro(<span class="stringliteral">&quot;global_var&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">PrimFuncFrameNode::global_var</a>);</div>
-<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>  }</div>
-</div>
-<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6e598e1647e8e3dcb54de10d7a49461b">  117</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6e598e1647e8e3dcb54de10d7a49461b">TVM_FFI_DECLARE_OBJECT_INFO</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.PrimFuncFrame&quot;</span>, <a class="code hl_class [...]
-<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>                              <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span> </div>
-<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1a1548bd4ee59aeab9686605311cca49">  125</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1a1548bd4ee59aeab9686605311cca49">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span> </div>
-<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a5d12d458d3ce4b16a03a8ad93e95053f">  128</a></span>  using <a class="code hl_typedef" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a5d12d458d3ce4b16a03a8ad93e95053f">AttrValidator</a> = std::<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601 [...]
-<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a61bdb5b1e1c83ccbd07d89da70bf962c">  129</a></span>  static <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a61bdb5b1e1c83ccbd07d89da70bf962c">RegisterAttrValidator</a>(ffi::String key, <a class="code hl_typedef" href="classtvm_1_1script_ [...]
-<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">  130</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">ValidateAttrs</a>() const;</div>
-<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span> </div>
-<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a9a6ab5b91a2b5fc9e262c91decc474ff">  133</a></span>  virtual <a class="code hl_namespace" href="namespacetvm.html">tvm</a>::tirx::<a class="code hl_function" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a5dcf05102c57a5166d95156d81e9c63c">PrimFunc</a> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder [...]
-<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>};</div>
-</div>
-<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span> </div>
-<div class="foldopen" id="foldopen00141" data-start="{" data-end="};">
-<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">  141</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">PrimFuncFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00143" data-start="{" data-end="}">
-<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a9221e092102fb72cc99576654fd82f16">  143</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a9221e092102fb72cc99576654fd82f16">PrimFuncFrame</a>(ffi::ObjectPtr&lt;PrimFuncFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1s [...]
-<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>  }</div>
-</div>
-<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a6e020c49208c7219e29715f441a17c7a">  147</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a6e020c49208c7219e29715f441a17c7a">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">Pr [...]
-<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>};</div>
-</div>
-<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span> </div>
-<div class="foldopen" id="foldopen00155" data-start="{" data-end="};">
-<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html">  155</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html">ForFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">  164</a></span>  <span class="keyword">using </span><a class="code hl_typedef" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">FMakeForLoop</a> = ffi::TypedFunction&lt;<a class="code hl_class" href="classtvm_1_1tirx_1_1Stmt.html">tvm::tirx::St [...]
-<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>      ffi::Array&lt;tvm::tirx::Var&gt; loop_vars, ffi::Array&lt;Range&gt; loop_extents,</div>
-<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>      ffi::Array&lt;ffi::Optional&lt;PrimExpr&gt;&gt; loop_steps, <a class="code hl_class" href="classtvm_1_1tirx_1_1Stmt.html">tvm::tirx::Stmt</a> loop_body, <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span)&gt;;</div>
-<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#acd074075b8a7fa00e28106139fa3c319">  168</a></span>  ffi::Array&lt;tvm::tirx::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#acd074075b8a7fa00e28106139fa3c319">vars</a>;</div>
-<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a7d5fa09e4fd15a21d1114a890ef86b4b">  170</a></span>  ffi::Array&lt;Range&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a7d5fa09e4fd15a21d1114a890ef86b4b">doms</a>;</div>
-<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee5156c4001499065c39bb32eba66f42">  172</a></span>  ffi::Array&lt;ffi::Optional&lt;PrimExpr&gt;&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee5156c4001499065c39bb32eba66f42">steps</a>;</div>
-<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a54f25a70acea2744f45264090c18164a">  174</a></span>  <a class="code hl_typedef" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">FMakeForLoop</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a54f25a70acea2744f45264090c18164a">f_ [...]
-<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
-<div class="foldopen" id="foldopen00176" data-start="{" data-end="}">
-<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a718c5a27bbacc7d7f850767753aaac4b">  176</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a718c5a27bbacc7d7f850767753aaac4b">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>    refl::ObjectDef&lt;ForFrameNode&gt;()</div>
-<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>        .def_ro(<span class="stringliteral">&quot;vars&quot;</span>, &amp;ForFrameNode::vars)</div>
-<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>        .def_ro(<span class="stringliteral">&quot;doms&quot;</span>, &amp;ForFrameNode::doms);</div>
-<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>    <span class="comment">// `f_make_for_loop` is not registered as it&#39;s not visited.</span></div>
-<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>  }</div>
-</div>
-<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a3b3078aff183b1b22517935c94f85d12">  183</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a3b3078aff183b1b22517935c94f85d12">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.ForFrame&quot;</span>, <a class="code hl_class" href="c [...]
-<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span> </div>
-<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a6835bf8e4a71ddc764565cc5ae6da567">  187</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a6835bf8e4a71ddc764565cc5ae6da567">SetNames</a>(ffi::Optional&lt;ffi::Variant&lt;ffi::String, ffi::Array&lt;ffi::String&gt;&gt;&gt; names);</div>
-<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee1bc610915f08205a47716a5e1140c3">  189</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee1bc610915f08205a47716a5e1140c3">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>};</div>
-</div>
-<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span> </div>
-<div class="foldopen" id="foldopen00197" data-start="{" data-end="};">
-<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">  197</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">ForFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00199" data-start="{" data-end="}">
-<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a504039071d02b0a1edc0098935b7a671">  199</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a504039071d02b0a1edc0098935b7a671">ForFrame</a>(ffi::ObjectPtr&lt;ForFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder [...]
-<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>  }</div>
-</div>
-<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a514c0cc191a23cc61139e743263a32b2">  203</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a514c0cc191a23cc61139e743263a32b2">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">ForFrame</a>, <a  [...]
-<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>};</div>
-</div>
-<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
-<div class="foldopen" id="foldopen00212" data-start="{" data-end="};">
-<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html">  212</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html">AssertFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#ad7965b50201ddf7567811c469e3eec1c">  215</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#ad7965b50201ddf7567811c469e3eec1c">condition</a>;</div>
-<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#aef997581338d59ceb28bafae9a2c46cd">  217</a></span>  <a class="code hl_class" href="classtvm_1_1StringImm.html">tvm::StringImm</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#aef997581338d59ceb28bafae9a2c46cd">error_kind</a>;</div>
-<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a1c7522facbc69ff7fd2a42788e7716c2">  219</a></span>  ffi::Array&lt;tvm::StringImm&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a1c7522facbc69ff7fd2a42788e7716c2">message_parts</a>;</div>
-<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span> </div>
-<div class="foldopen" id="foldopen00221" data-start="{" data-end="}">
-<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a14191ae88b79d561bfc6ed67da9259c4">  221</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a14191ae88b79d561bfc6ed67da9259c4">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>    refl::ObjectDef&lt;AssertFrameNode&gt;()</div>
-<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>        .def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;AssertFrameNode::condition)</div>
-<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>        .def_ro(<span class="stringliteral">&quot;error_kind&quot;</span>, &amp;AssertFrameNode::error_kind)</div>
-<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>        .def_ro(<span class="stringliteral">&quot;message_parts&quot;</span>, &amp;AssertFrameNode::message_parts);</div>
-<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>  }</div>
-</div>
-<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a2bc625147bb23923ec49ab053e5109e8">  228</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a2bc625147bb23923ec49ab053e5109e8">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.AssertFrame&quot;</span>, <a class="code hl_class [...]
-<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span> </div>
-<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a542aea5cf65787ea26a4028b92ebec87">  236</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a542aea5cf65787ea26a4028b92ebec87">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>};</div>
-</div>
-<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span> </div>
-<div class="foldopen" id="foldopen00244" data-start="{" data-end="};">
-<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">  244</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">AssertFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00246" data-start="{" data-end="}">
-<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#a7ee201a32d7b0d06959f8f8a4ac4536f">  246</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#a7ee201a32d7b0d06959f8f8a4ac4536f">AssertFrame</a>(ffi::ObjectPtr&lt;AssertFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_ [...]
-<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>  }</div>
-</div>
-<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#ac9735ddbda3eb5a47141231567cfcd92">  250</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#ac9735ddbda3eb5a47141231567cfcd92">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">AssertFr [...]
-<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>};</div>
-</div>
-<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span> </div>
-<div class="foldopen" id="foldopen00257" data-start="{" data-end="};">
-<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">  257</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">LaunchThreadFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNod [...]
-<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a1401ee8d08bfce173ce760cabd4fdc32">  260</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a1401ee8d08bfce173ce760cabd4fdc32">extent</a>;</div>
-<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a91d331ce926187b34c4bd0ae6dbe5746">  262</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a91d331ce926187b34c4bd0ae6dbe5746">attr_key</a>;</div>
-<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a3831c048bd1535984464ad8dc6c658a7">  264</a></span>  <a class="code hl_class" href="classtvm_1_1tirx_1_1IterVar.html">tvm::tirx::IterVar</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a3831c048bd1535984464ad8dc6c658a7">iter_var</a>;</div>
-<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span> </div>
-<div class="foldopen" id="foldopen00266" data-start="{" data-end="}">
-<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#aa21be7cfba695d995574795215d76053">  266</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#aa21be7cfba695d995574795215d76053">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>    refl::ObjectDef&lt;LaunchThreadFrameNode&gt;()</div>
-<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>        .def_ro(<span class="stringliteral">&quot;extent&quot;</span>, &amp;LaunchThreadFrameNode::extent)</div>
-<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>        .def_ro(<span class="stringliteral">&quot;attr_key&quot;</span>, &amp;LaunchThreadFrameNode::attr_key)</div>
-<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>        .def_ro(<span class="stringliteral">&quot;iter_var&quot;</span>, &amp;LaunchThreadFrameNode::iter_var);</div>
-<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>  }</div>
-</div>
-<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#abcfd4b9f05a76ab2b5151cad882378e9">  273</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#abcfd4b9f05a76ab2b5151cad882378e9">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.LaunchThreadFrame&quot;</span>,</div>
-<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">LaunchThreadFrameNode</a>, <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span> </div>
-<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a9c89a4d09e0677c34996f5aad7f07ecb">  281</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a9c89a4d09e0677c34996f5aad7f07ecb">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>};</div>
-</div>
-<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span> </div>
-<div class="foldopen" id="foldopen00289" data-start="{" data-end="};">
-<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">  289</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00291" data-start="{" data-end="}">
-<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#abd6ef07a0598593a4f5f3abed3d07782">  291</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#abd6ef07a0598593a4f5f3abed3d07782">LaunchThreadFrame</a>(ffi::ObjectPtr&lt;LaunchThreadFrameNode&gt; data)</div>
-<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>      : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a>(ffi::UnsafeInit{}) {</div>
-<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>  }</div>
-</div>
-<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#a5b2ab4cc0844f692c7de6b982e2ceb13">  296</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#a5b2ab4cc0844f692c7de6b982e2ceb13">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFr [...]
-<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span>};</div>
-</div>
-<div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span> </div>
-<div class="foldopen" id="foldopen00304" data-start="{" data-end="};">
-<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html">  304</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html">AttrFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#aa31867696611ee9ceeb6781c6d314122">  307</a></span>  Any <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#aa31867696611ee9ceeb6781c6d314122">node</a>;</div>
-<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a597f050b4f5d1f06bb59f8f4bc2cc0c1">  309</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a597f050b4f5d1f06bb59f8f4bc2cc0c1">attr_key</a>;</div>
-<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a75ffef3d960f408e0855bbf06476def6">  311</a></span>  <a class="code hl_class" href="classtvm_1_1Expr.html">Expr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a75ffef3d960f408e0855bbf06476def6">value</a>;</div>
-<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
-<div class="foldopen" id="foldopen00313" data-start="{" data-end="}">
-<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#adf96a9037c36e10f9444bda260c1ca6b">  313</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#adf96a9037c36e10f9444bda260c1ca6b">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span>    refl::ObjectDef&lt;AttrFrameNode&gt;()</div>
-<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>        .def_ro(<span class="stringliteral">&quot;node&quot;</span>, &amp;AttrFrameNode::node)</div>
-<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span>        .def_ro(<span class="stringliteral">&quot;attr_key&quot;</span>, &amp;AttrFrameNode::attr_key)</div>
-<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>        .def_ro(<span class="stringliteral">&quot;value&quot;</span>, &amp;AttrFrameNode::value);</div>
-<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span>  }</div>
-</div>
-<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#acedbf2fbe5bd82ea4572568433161e22">  320</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#acedbf2fbe5bd82ea4572568433161e22">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.AttrFrame&quot;</span>, <a class="code hl_class" href [...]
-<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span> </div>
-<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#ad2ec7f6022b219a62fd3600685ff1781">  328</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#ad2ec7f6022b219a62fd3600685ff1781">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span>};</div>
-</div>
-<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span> </div>
-<div class="foldopen" id="foldopen00336" data-start="{" data-end="};">
-<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">  336</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">AttrFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00338" data-start="{" data-end="}">
-<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a6ad0c00f7c544d179b7b22afc7effbed">  338</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a6ad0c00f7c544d179b7b22afc7effbed">AttrFrame</a>(ffi::ObjectPtr&lt;AttrFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
-<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>  }</div>
-</div>
-<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a2ca50c4cca94b61347a63f6691e853ae">  342</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a2ca50c4cca94b61347a63f6691e853ae">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">AttrFrame</a>, [...]
-<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>};</div>
-</div>
-<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span> </div>
-<div class="foldopen" id="foldopen00350" data-start="{" data-end="};">
-<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html">  350</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html">WhileFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a979bda599cb7517d1580a6bf13796d7c">  353</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a979bda599cb7517d1580a6bf13796d7c">condition</a>;</div>
-<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span> </div>
-<div class="foldopen" id="foldopen00355" data-start="{" data-end="}">
-<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ad2fe18d1a98e9d2b10e07147f737021e">  355</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ad2fe18d1a98e9d2b10e07147f737021e">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span>    refl::ObjectDef&lt;WhileFrameNode&gt;().def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;WhileFrameNode::condition);</div>
-<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span>  }</div>
-</div>
-<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a31c682c1d2d1768e05d894b078c8811c">  359</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a31c682c1d2d1768e05d894b078c8811c">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.WhileFrame&quot;</span>, <a class="code hl_class" h [...]
-<div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span> </div>
-<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ac4370eb4ce89519e1f234872fc83d9a8">  367</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ac4370eb4ce89519e1f234872fc83d9a8">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>};</div>
-</div>
-<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span> </div>
-<div class="foldopen" id="foldopen00375" data-start="{" data-end="};">
-<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">  375</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">WhileFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00377" data-start="{" data-end="}">
-<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754">  377</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754">WhileFrame</a>(ffi::ObjectPtr&lt;WhileFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir_ [...]
-<div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span>  }</div>
-</div>
-<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#aa045208074c9e6b017fc83770c6e9d9f">  381</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#aa045208074c9e6b017fc83770c6e9d9f">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">WhileFrame< [...]
-<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span>};</div>
-</div>
-<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span> </div>
-<div class="foldopen" id="foldopen00389" data-start="{" data-end="};">
-<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html">  389</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html">IfFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#abb733295aaeee65a6e65eaf6730cd32a">  392</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#abb733295aaeee65a6e65eaf6730cd32a">condition</a>;</div>
-<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a69a64c58c09f1c120bb46844d2a581d2">  394</a></span>  ffi::Optional&lt;ffi::Array&lt;tvm::tirx::Stmt&gt;&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a69a64c58c09f1c120bb46844d2a581d2">then_stmts</a>;</div>
-<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a2fb8c0d174304b32c352dd122f51e7ab">  396</a></span>  ffi::Optional&lt;ffi::Array&lt;tvm::tirx::Stmt&gt;&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a2fb8c0d174304b32c352dd122f51e7ab">else_stmts</a>;</div>
-<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span> </div>
-<div class="foldopen" id="foldopen00398" data-start="{" data-end="}">
-<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#ad6a4a7565c53f683c72c09656fba8c75">  398</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#ad6a4a7565c53f683c72c09656fba8c75">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span>    refl::ObjectDef&lt;IfFrameNode&gt;()</div>
-<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>        .def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;IfFrameNode::condition)</div>
-<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span>        .def_ro(<span class="stringliteral">&quot;then_stmts&quot;</span>, &amp;IfFrameNode::then_stmts)</div>
-<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span>        .def_ro(<span class="stringliteral">&quot;else_stmts&quot;</span>, &amp;IfFrameNode::else_stmts);</div>
-<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span>  }</div>
-</div>
-<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a09a20a58da715852c4cd782fd396d3a6">  405</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a09a20a58da715852c4cd782fd396d3a6">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.IfFrame&quot;</span>, <a class="code hl_class" href="clas [...]
-<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span> </div>
-<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#aa44f9d2d31bd5d5056eae1bc54b89211">  412</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#aa44f9d2d31bd5d5056eae1bc54b89211">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span>};</div>
-</div>
-<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span> </div>
-<div class="foldopen" id="foldopen00420" data-start="{" data-end="};">
-<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">  420</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">IfFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00422" data-start="{" data-end="}">
-<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#aea2f82121c6a3ee375dea9935ca9e55a">  422</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#aea2f82121c6a3ee375dea9935ca9e55a">IfFrame</a>(ffi::ObjectPtr&lt;IfFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1 [...]
-<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span>  }</div>
-</div>
-<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#acf9b001432d472f6437bd4ebc4ad7b79">  425</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#acf9b001432d472f6437bd4ebc4ad7b79">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">IfFrame</a>, <a clas [...]
-<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span>};</div>
-</div>
-<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span> </div>
-<div class="foldopen" id="foldopen00433" data-start="{" data-end="};">
-<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html">  433</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html">ThenFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00435" data-start="{" data-end="}">
-<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#af3d2c3812406918e9073e5e840178758">  435</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#af3d2c3812406918e9073e5e840178758">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span>    refl::ObjectDef&lt;ThenFrameNode&gt;();</div>
-<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span>  }</div>
-</div>
-<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#ae1bf7b9850a3dbf5e4e14010f9f250d2">  439</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#ae1bf7b9850a3dbf5e4e14010f9f250d2">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.ThenFrame&quot;</span>, <a class="code hl_class" href [...]
-<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span> </div>
-<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#aa6d5313d5a8ea03578209898657253c4">  447</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#aa6d5313d5a8ea03578209898657253c4">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#a54e94313532e1871a9abef0dd930c890">  452</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
-<div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  453</span>};</div>
-</div>
-<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
-<div class="foldopen" id="foldopen00460" data-start="{" data-end="};">
-<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">  460</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">ThenFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00462" data-start="{" data-end="}">
-<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#ae9e84c6ef5b16bd8246d898dabcb61e1">  462</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#ae9e84c6ef5b16bd8246d898dabcb61e1">ThenFrame</a>(ffi::ObjectPtr&lt;ThenFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
-<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span>  }</div>
-</div>
-<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#a98723ffafbc1969bc16d8858d95ec3e7">  465</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#a98723ffafbc1969bc16d8858d95ec3e7">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">ThenFrame</a>, [...]
-<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span>};</div>
-</div>
-<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span> </div>
-<div class="foldopen" id="foldopen00473" data-start="{" data-end="};">
-<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html">  473</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html">ElseFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00475" data-start="{" data-end="}">
-<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ae556cd3bdeda64b2cb52cf6f1e376a9b">  475</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ae556cd3bdeda64b2cb52cf6f1e376a9b">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span>    refl::ObjectDef&lt;ElseFrameNode&gt;();</div>
-<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span>  }</div>
-</div>
-<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#aea3eb718662c0b63fe432c3a0b5a82e8">  479</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#aea3eb718662c0b63fe432c3a0b5a82e8">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.ElseFrame&quot;</span>, <a class="code hl_class" href [...]
-<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  480</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span> </div>
-<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ab14e43afafef37832b46cb5aaead6eb2">  487</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ab14e43afafef37832b46cb5aaead6eb2">EnterWithScope</a>() final;</div>
-<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#af8c0b360a2e2da7ffbd96da59e7ce97d">  492</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
-<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span>};</div>
-</div>
-<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span> </div>
-<div class="foldopen" id="foldopen00500" data-start="{" data-end="};">
-<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">  500</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">ElseFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00502" data-start="{" data-end="}">
-<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac90e8e5a6407374238eb0fd0e9f857d3">  502</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac90e8e5a6407374238eb0fd0e9f857d3">ElseFrame</a>(ffi::ObjectPtr&lt;ElseFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
-<div class="line"><a id="l00503" name="l00503"></a><span class="lineno">  503</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>  }</div>
+<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">   78</a></span>  ffi::Optional&lt;ffi::String&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">name</a>;</div>
+<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">   80</a></span>  ffi::Array&lt;tvm::tirx::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">args</a>;</div>
+<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">   82</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">is_private</a>;</div>
+<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">   84</a></span>  ffi::Optional&lt;Type&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">ret_type</a>;</div>
+<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">   86</a></span>  ffi::Map&lt;tvm::tirx::Var, tvm::tirx::BufferVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">buffer_map</a>;</div>
+<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">   88</a></span>  ffi::Map&lt;ffi::String, Any&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">attrs</a>;</div>
+<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">   90</a></span>  ffi::Map&lt;tvm::tirx::Var, tvm::tirx::IterVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">env_threads</a>;</div>
+<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">   92</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">persistent</a>;</div>
+<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">   94</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">is_declaration</a>{<span class="keyword">false</span>};</div>
+<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">   96</a></span>  ffi::Optional&lt;tvm::tirx::PrimFunc&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">function</a>;</div>
+<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">   97</a></span>  ffi::Optional&lt;GlobalVar&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">global_var</a>;</div>
+<div class="line"><a id="l00098" name="l00098"></a><span class="lineno">   98</span> </div>
+<div class="foldopen" id="foldopen00099" data-start="{" data-end="}">
+<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa533511971b3dcd599e1fec79bb89880">   99</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa533511971b3dcd599e1fec79bb89880">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00100" name="l00100"></a><span class="lineno">  100</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00101" name="l00101"></a><span class="lineno">  101</span>    refl::ObjectDef&lt;PrimFuncFrameNode&gt;()</div>
+<div class="line"><a id="l00102" name="l00102"></a><span class="lineno">  102</span>        .def_ro(<span class="stringliteral">&quot;name&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">PrimFuncFrameNode::name</a>)</div>
+<div class="line"><a id="l00103" name="l00103"></a><span class="lineno">  103</span>        .def_ro(<span class="stringliteral">&quot;args&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">PrimFuncFrameNode::args</a>)</div>
+<div class="line"><a id="l00104" name="l00104"></a><span class="lineno">  104</span>        .def_ro(<span class="stringliteral">&quot;is_private&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">PrimFuncFrameNode::is_private</a>)</div>
+<div class="line"><a id="l00105" name="l00105"></a><span class="lineno">  105</span>        .def_ro(<span class="stringliteral">&quot;ret_type&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">PrimFuncFrameNode::ret_type</a>)</div>
+<div class="line"><a id="l00106" name="l00106"></a><span class="lineno">  106</span>        .def_ro(<span class="stringliteral">&quot;buffer_map&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">PrimFuncFrameNode::buffer_map</a>)</div>
+<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span>        .def_ro(<span class="stringliteral">&quot;attrs&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">PrimFuncFrameNode::attrs</a>)</div>
+<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span>        .def_ro(<span class="stringliteral">&quot;env_threads&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">PrimFuncFrameNode::env_threads</a>)</div>
+<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span>        .def_ro(<span class="stringliteral">&quot;persistent&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">PrimFuncFrameNode::persistent</a>)</div>
+<div class="line"><a id="l00110" name="l00110"></a><span class="lineno">  110</span>        .def_ro(<span class="stringliteral">&quot;is_declaration&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">PrimFuncFrameNode::is_declaration</a>)</div>
+<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>        .def_ro(<span class="stringliteral">&quot;function&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">PrimFuncFrameNode::function</a>)</div>
+<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>        .def_ro(<span class="stringliteral">&quot;global_var&quot;</span>, &amp;<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">PrimFuncFrameNode::global_var</a>);</div>
+<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>  }</div>
+</div>
+<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6e598e1647e8e3dcb54de10d7a49461b">  114</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6e598e1647e8e3dcb54de10d7a49461b">TVM_FFI_DECLARE_OBJECT_INFO</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.PrimFuncFrame&quot;</span>, <a class="code hl_class [...]
+<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>                              <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span> </div>
+<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1a1548bd4ee59aeab9686605311cca49">  122</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1a1548bd4ee59aeab9686605311cca49">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span> </div>
+<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a5d12d458d3ce4b16a03a8ad93e95053f">  125</a></span>  using <a class="code hl_typedef" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a5d12d458d3ce4b16a03a8ad93e95053f">AttrValidator</a> = std::<a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601 [...]
+<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a61bdb5b1e1c83ccbd07d89da70bf962c">  126</a></span>  static <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a61bdb5b1e1c83ccbd07d89da70bf962c">RegisterAttrValidator</a>(ffi::String key, <a class="code hl_typedef" href="classtvm_1_1script_ [...]
+<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">  127</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">ValidateAttrs</a>() const;</div>
+<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span> </div>
+<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a9a6ab5b91a2b5fc9e262c91decc474ff">  130</a></span>  virtual <a class="code hl_namespace" href="namespacetvm.html">tvm</a>::tirx::<a class="code hl_function" href="namespacetvm_1_1script_1_1ir__builder_1_1tirx.html#a5dcf05102c57a5166d95156d81e9c63c">PrimFunc</a> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder [...]
+<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>};</div>
+</div>
+<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span> </div>
+<div class="foldopen" id="foldopen00138" data-start="{" data-end="};">
+<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">  138</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">PrimFuncFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00140" data-start="{" data-end="}">
+<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a9221e092102fb72cc99576654fd82f16">  140</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a9221e092102fb72cc99576654fd82f16">PrimFuncFrame</a>(ffi::ObjectPtr&lt;PrimFuncFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1s [...]
+<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>  }</div>
+</div>
+<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a6e020c49208c7219e29715f441a17c7a">  144</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a6e020c49208c7219e29715f441a17c7a">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">Pr [...]
+<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>};</div>
+</div>
+<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span> </div>
+<div class="foldopen" id="foldopen00152" data-start="{" data-end="};">
+<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html">  152</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html">ForFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">  161</a></span>  <span class="keyword">using </span><a class="code hl_typedef" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">FMakeForLoop</a> = ffi::TypedFunction&lt;<a class="code hl_class" href="classtvm_1_1tirx_1_1Stmt.html">tvm::tirx::St [...]
+<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span>      ffi::Array&lt;tvm::tirx::Var&gt; loop_vars, ffi::Array&lt;Range&gt; loop_extents,</div>
+<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>      ffi::Array&lt;ffi::Optional&lt;PrimExpr&gt;&gt; loop_steps, <a class="code hl_class" href="classtvm_1_1tirx_1_1Stmt.html">tvm::tirx::Stmt</a> loop_body, <a class="code hl_class" href="classtvm_1_1Span.html">Span</a> span)&gt;;</div>
+<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#acd074075b8a7fa00e28106139fa3c319">  165</a></span>  ffi::Array&lt;tvm::tirx::Var&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#acd074075b8a7fa00e28106139fa3c319">vars</a>;</div>
+<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a7d5fa09e4fd15a21d1114a890ef86b4b">  167</a></span>  ffi::Array&lt;Range&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a7d5fa09e4fd15a21d1114a890ef86b4b">doms</a>;</div>
+<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee5156c4001499065c39bb32eba66f42">  169</a></span>  ffi::Array&lt;ffi::Optional&lt;PrimExpr&gt;&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee5156c4001499065c39bb32eba66f42">steps</a>;</div>
+<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a54f25a70acea2744f45264090c18164a">  171</a></span>  <a class="code hl_typedef" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">FMakeForLoop</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a54f25a70acea2744f45264090c18164a">f_ [...]
+<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span> </div>
+<div class="foldopen" id="foldopen00173" data-start="{" data-end="}">
+<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a718c5a27bbacc7d7f850767753aaac4b">  173</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a718c5a27bbacc7d7f850767753aaac4b">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    refl::ObjectDef&lt;ForFrameNode&gt;()</div>
+<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>        .def_ro(<span class="stringliteral">&quot;vars&quot;</span>, &amp;ForFrameNode::vars)</div>
+<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>        .def_ro(<span class="stringliteral">&quot;doms&quot;</span>, &amp;ForFrameNode::doms);</div>
+<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span>    <span class="comment">// `f_make_for_loop` is not registered as it&#39;s not visited.</span></div>
+<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>  }</div>
+</div>
+<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a3b3078aff183b1b22517935c94f85d12">  180</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a3b3078aff183b1b22517935c94f85d12">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.ForFrame&quot;</span>, <a class="code hl_class" href="c [...]
+<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span> </div>
+<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a6835bf8e4a71ddc764565cc5ae6da567">  184</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a6835bf8e4a71ddc764565cc5ae6da567">SetNames</a>(ffi::Optional&lt;ffi::Variant&lt;ffi::String, ffi::Array&lt;ffi::String&gt;&gt;&gt; names);</div>
+<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee1bc610915f08205a47716a5e1140c3">  186</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee1bc610915f08205a47716a5e1140c3">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>};</div>
+</div>
+<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span> </div>
+<div class="foldopen" id="foldopen00194" data-start="{" data-end="};">
+<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">  194</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">ForFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00196" data-start="{" data-end="}">
+<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a504039071d02b0a1edc0098935b7a671">  196</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a504039071d02b0a1edc0098935b7a671">ForFrame</a>(ffi::ObjectPtr&lt;ForFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder [...]
+<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00198" name="l00198"></a><span class="lineno">  198</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00199" name="l00199"></a><span class="lineno">  199</span>  }</div>
+</div>
+<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a514c0cc191a23cc61139e743263a32b2">  200</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a514c0cc191a23cc61139e743263a32b2">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">ForFrame</a>, <a  [...]
+<div class="line"><a id="l00201" name="l00201"></a><span class="lineno">  201</span>};</div>
+</div>
+<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span> </div>
+<div class="foldopen" id="foldopen00209" data-start="{" data-end="};">
+<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html">  209</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html">AssertFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#ad7965b50201ddf7567811c469e3eec1c">  212</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#ad7965b50201ddf7567811c469e3eec1c">condition</a>;</div>
+<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#aef997581338d59ceb28bafae9a2c46cd">  214</a></span>  <a class="code hl_class" href="classtvm_1_1StringImm.html">tvm::StringImm</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#aef997581338d59ceb28bafae9a2c46cd">error_kind</a>;</div>
+<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a1c7522facbc69ff7fd2a42788e7716c2">  216</a></span>  ffi::Array&lt;tvm::StringImm&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a1c7522facbc69ff7fd2a42788e7716c2">message_parts</a>;</div>
+<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span> </div>
+<div class="foldopen" id="foldopen00218" data-start="{" data-end="}">
+<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a14191ae88b79d561bfc6ed67da9259c4">  218</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a14191ae88b79d561bfc6ed67da9259c4">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>    refl::ObjectDef&lt;AssertFrameNode&gt;()</div>
+<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>        .def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;AssertFrameNode::condition)</div>
+<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span>        .def_ro(<span class="stringliteral">&quot;error_kind&quot;</span>, &amp;AssertFrameNode::error_kind)</div>
+<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>        .def_ro(<span class="stringliteral">&quot;message_parts&quot;</span>, &amp;AssertFrameNode::message_parts);</div>
+<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>  }</div>
+</div>
+<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a2bc625147bb23923ec49ab053e5109e8">  225</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a2bc625147bb23923ec49ab053e5109e8">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.AssertFrame&quot;</span>, <a class="code hl_class [...]
+<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span> </div>
+<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a542aea5cf65787ea26a4028b92ebec87">  233</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a542aea5cf65787ea26a4028b92ebec87">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>};</div>
+</div>
+<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
+<div class="foldopen" id="foldopen00241" data-start="{" data-end="};">
+<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">  241</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">AssertFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00242" name="l00242"></a><span class="lineno">  242</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00243" data-start="{" data-end="}">
+<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#a7ee201a32d7b0d06959f8f8a4ac4536f">  243</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#a7ee201a32d7b0d06959f8f8a4ac4536f">AssertFrame</a>(ffi::ObjectPtr&lt;AssertFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_ [...]
+<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>  }</div>
+</div>
+<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#ac9735ddbda3eb5a47141231567cfcd92">  247</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#ac9735ddbda3eb5a47141231567cfcd92">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">AssertFr [...]
+<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span>};</div>
+</div>
+<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span> </div>
+<div class="foldopen" id="foldopen00254" data-start="{" data-end="};">
+<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">  254</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">LaunchThreadFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNod [...]
+<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a1401ee8d08bfce173ce760cabd4fdc32">  257</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a1401ee8d08bfce173ce760cabd4fdc32">extent</a>;</div>
+<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a91d331ce926187b34c4bd0ae6dbe5746">  259</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a91d331ce926187b34c4bd0ae6dbe5746">attr_key</a>;</div>
+<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a3831c048bd1535984464ad8dc6c658a7">  261</a></span>  <a class="code hl_class" href="classtvm_1_1tirx_1_1IterVar.html">tvm::tirx::IterVar</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a3831c048bd1535984464ad8dc6c658a7">iter_var</a>;</div>
+<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span> </div>
+<div class="foldopen" id="foldopen00263" data-start="{" data-end="}">
+<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#aa21be7cfba695d995574795215d76053">  263</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#aa21be7cfba695d995574795215d76053">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span>    refl::ObjectDef&lt;LaunchThreadFrameNode&gt;()</div>
+<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span>        .def_ro(<span class="stringliteral">&quot;extent&quot;</span>, &amp;LaunchThreadFrameNode::extent)</div>
+<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>        .def_ro(<span class="stringliteral">&quot;attr_key&quot;</span>, &amp;LaunchThreadFrameNode::attr_key)</div>
+<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>        .def_ro(<span class="stringliteral">&quot;iter_var&quot;</span>, &amp;LaunchThreadFrameNode::iter_var);</div>
+<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>  }</div>
+</div>
+<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#abcfd4b9f05a76ab2b5151cad882378e9">  270</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#abcfd4b9f05a76ab2b5151cad882378e9">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.LaunchThreadFrame&quot;</span>,</div>
+<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">LaunchThreadFrameNode</a>, <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span> </div>
+<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a9c89a4d09e0677c34996f5aad7f07ecb">  278</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a9c89a4d09e0677c34996f5aad7f07ecb">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>};</div>
+</div>
+<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
+<div class="foldopen" id="foldopen00286" data-start="{" data-end="};">
+<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">  286</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">LaunchThreadFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00288" data-start="{" data-end="}">
+<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#abd6ef07a0598593a4f5f3abed3d07782">  288</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#abd6ef07a0598593a4f5f3abed3d07782">LaunchThreadFrame</a>(ffi::ObjectPtr&lt;LaunchThreadFrameNode&gt; data)</div>
+<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>      : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a>(ffi::UnsafeInit{}) {</div>
+<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>  }</div>
+</div>
+<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#a5b2ab4cc0844f692c7de6b982e2ceb13">  293</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#a5b2ab4cc0844f692c7de6b982e2ceb13">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFr [...]
+<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>};</div>
+</div>
+<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span> </div>
+<div class="foldopen" id="foldopen00301" data-start="{" data-end="};">
+<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html">  301</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html">AttrFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#aa31867696611ee9ceeb6781c6d314122">  304</a></span>  Any <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#aa31867696611ee9ceeb6781c6d314122">node</a>;</div>
+<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a597f050b4f5d1f06bb59f8f4bc2cc0c1">  306</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a597f050b4f5d1f06bb59f8f4bc2cc0c1">attr_key</a>;</div>
+<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a75ffef3d960f408e0855bbf06476def6">  308</a></span>  <a class="code hl_class" href="classtvm_1_1Expr.html">Expr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a75ffef3d960f408e0855bbf06476def6">value</a>;</div>
+<div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span> </div>
+<div class="foldopen" id="foldopen00310" data-start="{" data-end="}">
+<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#adf96a9037c36e10f9444bda260c1ca6b">  310</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#adf96a9037c36e10f9444bda260c1ca6b">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span>    refl::ObjectDef&lt;AttrFrameNode&gt;()</div>
+<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span>        .def_ro(<span class="stringliteral">&quot;node&quot;</span>, &amp;AttrFrameNode::node)</div>
+<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>        .def_ro(<span class="stringliteral">&quot;attr_key&quot;</span>, &amp;AttrFrameNode::attr_key)</div>
+<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span>        .def_ro(<span class="stringliteral">&quot;value&quot;</span>, &amp;AttrFrameNode::value);</div>
+<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>  }</div>
+</div>
+<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#acedbf2fbe5bd82ea4572568433161e22">  317</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#acedbf2fbe5bd82ea4572568433161e22">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.AttrFrame&quot;</span>, <a class="code hl_class" href [...]
+<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span> </div>
+<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#ad2ec7f6022b219a62fd3600685ff1781">  325</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#ad2ec7f6022b219a62fd3600685ff1781">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span>};</div>
+</div>
+<div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span> </div>
+<div class="foldopen" id="foldopen00333" data-start="{" data-end="};">
+<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">  333</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">AttrFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00335" data-start="{" data-end="}">
+<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a6ad0c00f7c544d179b7b22afc7effbed">  335</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a6ad0c00f7c544d179b7b22afc7effbed">AttrFrame</a>(ffi::ObjectPtr&lt;AttrFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
+<div class="line"><a id="l00336" name="l00336"></a><span class="lineno">  336</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>  }</div>
+</div>
+<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a2ca50c4cca94b61347a63f6691e853ae">  339</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a2ca50c4cca94b61347a63f6691e853ae">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">AttrFrame</a>, [...]
+<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span>};</div>
+</div>
+<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span> </div>
+<div class="foldopen" id="foldopen00347" data-start="{" data-end="};">
+<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html">  347</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html">WhileFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a979bda599cb7517d1580a6bf13796d7c">  350</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a979bda599cb7517d1580a6bf13796d7c">condition</a>;</div>
+<div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span> </div>
+<div class="foldopen" id="foldopen00352" data-start="{" data-end="}">
+<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ad2fe18d1a98e9d2b10e07147f737021e">  352</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ad2fe18d1a98e9d2b10e07147f737021e">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>    refl::ObjectDef&lt;WhileFrameNode&gt;().def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;WhileFrameNode::condition);</div>
+<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span>  }</div>
+</div>
+<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a31c682c1d2d1768e05d894b078c8811c">  356</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a31c682c1d2d1768e05d894b078c8811c">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.WhileFrame&quot;</span>, <a class="code hl_class" h [...]
+<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span> </div>
+<div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ac4370eb4ce89519e1f234872fc83d9a8">  364</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ac4370eb4ce89519e1f234872fc83d9a8">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>};</div>
+</div>
+<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span> </div>
+<div class="foldopen" id="foldopen00372" data-start="{" data-end="};">
+<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">  372</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">WhileFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00374" data-start="{" data-end="}">
+<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754">  374</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754">WhileFrame</a>(ffi::ObjectPtr&lt;WhileFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir_ [...]
+<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span>  }</div>
+</div>
+<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#aa045208074c9e6b017fc83770c6e9d9f">  378</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#aa045208074c9e6b017fc83770c6e9d9f">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">WhileFrame< [...]
+<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span>};</div>
+</div>
+<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span> </div>
+<div class="foldopen" id="foldopen00386" data-start="{" data-end="};">
+<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html">  386</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html">IfFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00387" name="l00387"></a><span class="lineno">  387</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#abb733295aaeee65a6e65eaf6730cd32a">  389</a></span>  <a class="code hl_class" href="classtvm_1_1PrimExpr.html">PrimExpr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#abb733295aaeee65a6e65eaf6730cd32a">condition</a>;</div>
+<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a69a64c58c09f1c120bb46844d2a581d2">  391</a></span>  ffi::Optional&lt;ffi::Array&lt;tvm::tirx::Stmt&gt;&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a69a64c58c09f1c120bb46844d2a581d2">then_stmts</a>;</div>
+<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a2fb8c0d174304b32c352dd122f51e7ab">  393</a></span>  ffi::Optional&lt;ffi::Array&lt;tvm::tirx::Stmt&gt;&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a2fb8c0d174304b32c352dd122f51e7ab">else_stmts</a>;</div>
+<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span> </div>
+<div class="foldopen" id="foldopen00395" data-start="{" data-end="}">
+<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#ad6a4a7565c53f683c72c09656fba8c75">  395</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#ad6a4a7565c53f683c72c09656fba8c75">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span>    refl::ObjectDef&lt;IfFrameNode&gt;()</div>
+<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>        .def_ro(<span class="stringliteral">&quot;condition&quot;</span>, &amp;IfFrameNode::condition)</div>
+<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>        .def_ro(<span class="stringliteral">&quot;then_stmts&quot;</span>, &amp;IfFrameNode::then_stmts)</div>
+<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span>        .def_ro(<span class="stringliteral">&quot;else_stmts&quot;</span>, &amp;IfFrameNode::else_stmts);</div>
+<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>  }</div>
+</div>
+<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a09a20a58da715852c4cd782fd396d3a6">  402</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a09a20a58da715852c4cd782fd396d3a6">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.IfFrame&quot;</span>, <a class="code hl_class" href="clas [...]
+<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span> </div>
+<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#aa44f9d2d31bd5d5056eae1bc54b89211">  409</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#aa44f9d2d31bd5d5056eae1bc54b89211">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span>};</div>
+</div>
+<div class="line"><a id="l00411" name="l00411"></a><span class="lineno">  411</span> </div>
+<div class="foldopen" id="foldopen00417" data-start="{" data-end="};">
+<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">  417</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">IfFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00419" data-start="{" data-end="}">
+<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#aea2f82121c6a3ee375dea9935ca9e55a">  419</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#aea2f82121c6a3ee375dea9935ca9e55a">IfFrame</a>(ffi::ObjectPtr&lt;IfFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1 [...]
+<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span>  }</div>
+</div>
+<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#acf9b001432d472f6437bd4ebc4ad7b79">  422</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#acf9b001432d472f6437bd4ebc4ad7b79">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">IfFrame</a>, <a clas [...]
+<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span>};</div>
+</div>
+<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span> </div>
+<div class="foldopen" id="foldopen00430" data-start="{" data-end="};">
+<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html">  430</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html">ThenFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00432" data-start="{" data-end="}">
+<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#af3d2c3812406918e9073e5e840178758">  432</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#af3d2c3812406918e9073e5e840178758">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span>    refl::ObjectDef&lt;ThenFrameNode&gt;();</div>
+<div class="line"><a id="l00435" name="l00435"></a><span class="lineno">  435</span>  }</div>
+</div>
+<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#ae1bf7b9850a3dbf5e4e14010f9f250d2">  436</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#ae1bf7b9850a3dbf5e4e14010f9f250d2">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.ThenFrame&quot;</span>, <a class="code hl_class" href [...]
+<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span> </div>
+<div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#aa6d5313d5a8ea03578209898657253c4">  444</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#aa6d5313d5a8ea03578209898657253c4">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#a54e94313532e1871a9abef0dd930c890">  449</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
+<div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  450</span>};</div>
+</div>
+<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span> </div>
+<div class="foldopen" id="foldopen00457" data-start="{" data-end="};">
+<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">  457</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">ThenFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  458</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00459" data-start="{" data-end="}">
+<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#ae9e84c6ef5b16bd8246d898dabcb61e1">  459</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#ae9e84c6ef5b16bd8246d898dabcb61e1">ThenFrame</a>(ffi::ObjectPtr&lt;ThenFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
+<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span>  }</div>
+</div>
+<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#a98723ffafbc1969bc16d8858d95ec3e7">  462</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#a98723ffafbc1969bc16d8858d95ec3e7">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">ThenFrame</a>, [...]
+<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span>};</div>
+</div>
+<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span> </div>
+<div class="foldopen" id="foldopen00470" data-start="{" data-end="};">
+<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html">  470</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html">ElseFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00472" data-start="{" data-end="}">
+<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ae556cd3bdeda64b2cb52cf6f1e376a9b">  472</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ae556cd3bdeda64b2cb52cf6f1e376a9b">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span>    refl::ObjectDef&lt;ElseFrameNode&gt;();</div>
+<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>  }</div>
+</div>
+<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#aea3eb718662c0b63fe432c3a0b5a82e8">  476</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#aea3eb718662c0b63fe432c3a0b5a82e8">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.ElseFrame&quot;</span>, <a class="code hl_class" href [...]
+<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span> </div>
+<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ab14e43afafef37832b46cb5aaead6eb2">  484</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ab14e43afafef37832b46cb5aaead6eb2">EnterWithScope</a>() final;</div>
+<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#af8c0b360a2e2da7ffbd96da59e7ce97d">  489</a></span>  <span class="keywordtype">void</span> ExitWithScope() final;</div>
+<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span>};</div>
+</div>
+<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span> </div>
+<div class="foldopen" id="foldopen00497" data-start="{" data-end="};">
+<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">  497</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">ElseFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00499" data-start="{" data-end="}">
+<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac90e8e5a6407374238eb0fd0e9f857d3">  499</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac90e8e5a6407374238eb0fd0e9f857d3">ElseFrame</a>(ffi::ObjectPtr&lt;ElseFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
+<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span>  }</div>
+</div>
+<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span> </div>
+<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac470ac8b34688b21d27cfd9e00dbfdd6">  503</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac470ac8b34688b21d27cfd9e00dbfdd6">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">ElseFrame</a>, [...]
+<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>};</div>
 </div>
 <div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span> </div>
-<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac470ac8b34688b21d27cfd9e00dbfdd6">  506</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac470ac8b34688b21d27cfd9e00dbfdd6">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">ElseFrame</a>, [...]
-<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span>};</div>
-</div>
-<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span> </div>
-<div class="foldopen" id="foldopen00509" data-start="{" data-end="};">
-<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html">  509</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html">DeclBufferFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a54abd31e4f45384ad677d5db9b5f4d4a">  512</a></span>  <a class="code hl_class" href="classtvm_1_1tirx_1_1BufferVar.html">tvm::tirx::BufferVar</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a54abd31e4f45384ad677d5db9b5f4d4a">buffer</a>;</div>
-<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a536e2ef4f416b87d8c012180ecf0f125">  514</a></span>  <a class="code hl_class" href="classtvm_1_1Expr.html">Expr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a536e2ef4f416b87d8c012180ecf0f125">data</a>;</div>
-<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f">  516</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f">allocated</a>;</div>
-<div class="line"><a id="l00517" name="l00517"></a><span class="lineno">  517</span> </div>
-<div class="foldopen" id="foldopen00518" data-start="{" data-end="}">
-<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a1dfee494220fe963b9a3de373f7d6e07">  518</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a1dfee494220fe963b9a3de373f7d6e07">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00519" name="l00519"></a><span class="lineno">  519</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>    refl::ObjectDef&lt;DeclBufferFrameNode&gt;()</div>
-<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>        .def_ro(<span class="stringliteral">&quot;buffer&quot;</span>, &amp;DeclBufferFrameNode::buffer)</div>
-<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span>        .def_ro(<span class="stringliteral">&quot;data&quot;</span>, &amp;DeclBufferFrameNode::data)</div>
-<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span>        .def_ro(<span class="stringliteral">&quot;allocated&quot;</span>, &amp;DeclBufferFrameNode::allocated);</div>
-<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span>  }</div>
-</div>
-<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#acba19e94b07f6a0f42855e75b9f67243">  525</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#acba19e94b07f6a0f42855e75b9f67243">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.DeclBufferFrame&quot;</span>, <a class="c [...]
-<div class="line"><a id="l00526" name="l00526"></a><span class="lineno">  526</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00527" name="l00527"></a><span class="lineno">  527</span> </div>
-<div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#abb6395a94402e4aa875e8bc242cf63e5">  529</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#abb6395a94402e4aa875e8bc242cf63e5">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span>};</div>
-</div>
-<div class="line"><a id="l00531" name="l00531"></a><span class="lineno">  531</span> </div>
-<div class="foldopen" id="foldopen00532" data-start="{" data-end="};">
-<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">  532</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">DeclBufferFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00533" name="l00533"></a><span class="lineno">  533</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00534" data-start="{" data-end="}">
-<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a1542c0fb7f3719854ce8df37b0ea5438">  534</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a1542c0fb7f3719854ce8df37b0ea5438">DeclBufferFrame</a>(ffi::ObjectPtr&lt;DeclBufferFrameNode&gt; data) : <a class="code hl_class" href="class [...]
-<div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span>  }</div>
-</div>
-<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a08b12a577380ea731ee351f11cad01a8">  537</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a08b12a577380ea731ee351f11cad01a8">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.ht [...]
-<div class="line"><a id="l00538" name="l00538"></a><span class="lineno">  538</span>};</div>
-</div>
-<div class="line"><a id="l00539" name="l00539"></a><span class="lineno">  539</span> </div>
-<div class="foldopen" id="foldopen00545" data-start="{" data-end="};">
-<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">  545</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">HintFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
-<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a53b831f8cbfe6c5a3a4d056de4001fea">  548</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a53b831f8cbfe6c5a3a4d056de4001fea">message</a>;</div>
-<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#ac6fdc86e130dc67da113c5054ef355a8">  550</a></span>  ffi::Map&lt;ffi::String, ffi::Any&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#ac6fdc86e130dc67da113c5054ef355a8">attrs</a>;</div>
-<div class="line"><a id="l00551" name="l00551"></a><span class="lineno">  551</span> </div>
-<div class="foldopen" id="foldopen00552" data-start="{" data-end="}">
-<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a67796846e0af6e1e53c0000d47afe18a">  552</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a67796846e0af6e1e53c0000d47afe18a">RegisterReflection</a>() {</div>
-<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
-<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span>    refl::ObjectDef&lt;HintFrameNode&gt;()</div>
-<div class="line"><a id="l00555" name="l00555"></a><span class="lineno">  555</span>        .def_ro(<span class="stringliteral">&quot;message&quot;</span>, &amp;HintFrameNode::message)</div>
-<div class="line"><a id="l00556" name="l00556"></a><span class="lineno">  556</span>        .def_ro(<span class="stringliteral">&quot;attrs&quot;</span>, &amp;HintFrameNode::attrs);</div>
-<div class="line"><a id="l00557" name="l00557"></a><span class="lineno">  557</span>  }</div>
-</div>
-<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a190137c30c2f983e9e4e465b50475e58">  558</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a190137c30c2f983e9e4e465b50475e58">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.HintFrame&quot;</span>, <a class="code hl_class" href [...]
-<div class="line"><a id="l00559" name="l00559"></a><span class="lineno">  559</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
-<div class="line"><a id="l00560" name="l00560"></a><span class="lineno">  560</span> </div>
-<div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span> <span class="keyword">public</span>:</div>
-<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#adcfb969bc30c4888172bbdeb42492dc9">  562</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#adcfb969bc30c4888172bbdeb42492dc9">ExitWithScope</a>() final;</div>
-<div class="line"><a id="l00563" name="l00563"></a><span class="lineno">  563</span>};</div>
-</div>
-<div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span> </div>
-<div class="foldopen" id="foldopen00570" data-start="{" data-end="};">
-<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">  570</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">HintFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
-<div class="line"><a id="l00571" name="l00571"></a><span class="lineno">  571</span> <span class="keyword">public</span>:</div>
-<div class="foldopen" id="foldopen00572" data-start="{" data-end="}">
-<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#a4544399eddf6d211d303cf132b71e197">  572</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#a4544399eddf6d211d303cf132b71e197">HintFrame</a>(ffi::ObjectPtr&lt;HintFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
-<div class="line"><a id="l00573" name="l00573"></a><span class="lineno">  573</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
-<div class="line"><a id="l00574" name="l00574"></a><span class="lineno">  574</span>    data_ = std::move(data);</div>
-<div class="line"><a id="l00575" name="l00575"></a><span class="lineno">  575</span>  }</div>
-</div>
-<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#aba4eee1e7b1d32953f5b5c032fe509d0">  576</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#aba4eee1e7b1d32953f5b5c032fe509d0">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">HintFrame</a>, [...]
-<div class="line"><a id="l00577" name="l00577"></a><span class="lineno">  577</span>};</div>
-</div>
-<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span> </div>
-<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span>}  <span class="comment">// namespace tirx</span></div>
-</div>
-<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span>}  <span class="comment">// namespace ir_builder</span></div>
-<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span>}  <span class="comment">// namespace script</span></div>
-<div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span>}  <span class="comment">// namespace tvm</span></div>
-<div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span> </div>
-<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span><span class="preprocessor">#endif  </span><span class="comment">// TVM_TIRX_SCRIPT_IR_BUILDER_FRAME_H_</span></div>
+<div class="foldopen" id="foldopen00506" data-start="{" data-end="};">
+<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html">  506</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html">DeclBufferFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a54abd31e4f45384ad677d5db9b5f4d4a">  509</a></span>  <a class="code hl_class" href="classtvm_1_1tirx_1_1BufferVar.html">tvm::tirx::BufferVar</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a54abd31e4f45384ad677d5db9b5f4d4a">buffer</a>;</div>
+<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a536e2ef4f416b87d8c012180ecf0f125">  511</a></span>  <a class="code hl_class" href="classtvm_1_1Expr.html">Expr</a> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a536e2ef4f416b87d8c012180ecf0f125">data</a>;</div>
+<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f">  513</a></span>  <span class="keywordtype">bool</span> <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f">allocated</a>;</div>
+<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span> </div>
+<div class="foldopen" id="foldopen00515" data-start="{" data-end="}">
+<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a1dfee494220fe963b9a3de373f7d6e07">  515</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a1dfee494220fe963b9a3de373f7d6e07">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00516" name="l00516"></a><span class="lineno">  516</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00517" name="l00517"></a><span class="lineno">  517</span>    refl::ObjectDef&lt;DeclBufferFrameNode&gt;()</div>
+<div class="line"><a id="l00518" name="l00518"></a><span class="lineno">  518</span>        .def_ro(<span class="stringliteral">&quot;buffer&quot;</span>, &amp;DeclBufferFrameNode::buffer)</div>
+<div class="line"><a id="l00519" name="l00519"></a><span class="lineno">  519</span>        .def_ro(<span class="stringliteral">&quot;data&quot;</span>, &amp;DeclBufferFrameNode::data)</div>
+<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>        .def_ro(<span class="stringliteral">&quot;allocated&quot;</span>, &amp;DeclBufferFrameNode::allocated);</div>
+<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>  }</div>
+</div>
+<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#acba19e94b07f6a0f42855e75b9f67243">  522</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#acba19e94b07f6a0f42855e75b9f67243">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.DeclBufferFrame&quot;</span>, <a class="c [...]
+<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span> </div>
+<div class="line"><a id="l00525" name="l00525"></a><span class="lineno">  525</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#abb6395a94402e4aa875e8bc242cf63e5">  526</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#abb6395a94402e4aa875e8bc242cf63e5">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00527" name="l00527"></a><span class="lineno">  527</span>};</div>
+</div>
+<div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</span> </div>
+<div class="foldopen" id="foldopen00529" data-start="{" data-end="};">
+<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">  529</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">DeclBufferFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00531" data-start="{" data-end="}">
+<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a1542c0fb7f3719854ce8df37b0ea5438">  531</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a1542c0fb7f3719854ce8df37b0ea5438">DeclBufferFrame</a>(ffi::ObjectPtr&lt;DeclBufferFrameNode&gt; data) : <a class="code hl_class" href="class [...]
+<div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00533" name="l00533"></a><span class="lineno">  533</span>  }</div>
+</div>
+<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a08b12a577380ea731ee351f11cad01a8">  534</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a08b12a577380ea731ee351f11cad01a8">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.ht [...]
+<div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span>};</div>
+</div>
+<div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span> </div>
+<div class="foldopen" id="foldopen00542" data-start="{" data-end="};">
+<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">  542</a></span><span class="keyword">class </span><a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">HintFrameNode</a> : <span class="keyword">public</span> <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a> {</div>
+<div class="line"><a id="l00543" name="l00543"></a><span class="lineno">  543</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a53b831f8cbfe6c5a3a4d056de4001fea">  545</a></span>  ffi::String <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a53b831f8cbfe6c5a3a4d056de4001fea">message</a>;</div>
+<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#ac6fdc86e130dc67da113c5054ef355a8">  547</a></span>  ffi::Map&lt;ffi::String, ffi::Any&gt; <a class="code hl_variable" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#ac6fdc86e130dc67da113c5054ef355a8">attrs</a>;</div>
+<div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span> </div>
+<div class="foldopen" id="foldopen00549" data-start="{" data-end="}">
+<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a67796846e0af6e1e53c0000d47afe18a">  549</a></span>  <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a67796846e0af6e1e53c0000d47afe18a">RegisterReflection</a>() {</div>
+<div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span>    <span class="keyword">namespace </span>refl = tvm::ffi::reflection;</div>
+<div class="line"><a id="l00551" name="l00551"></a><span class="lineno">  551</span>    refl::ObjectDef&lt;HintFrameNode&gt;()</div>
+<div class="line"><a id="l00552" name="l00552"></a><span class="lineno">  552</span>        .def_ro(<span class="stringliteral">&quot;message&quot;</span>, &amp;HintFrameNode::message)</div>
+<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span>        .def_ro(<span class="stringliteral">&quot;attrs&quot;</span>, &amp;HintFrameNode::attrs);</div>
+<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span>  }</div>
+</div>
+<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a190137c30c2f983e9e4e465b50475e58">  555</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a190137c30c2f983e9e4e465b50475e58">TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a>(<span class="stringliteral">&quot;script.ir_builder.tirx.HintFrame&quot;</span>, <a class="code hl_class" href [...]
+<div class="line"><a id="l00556" name="l00556"></a><span class="lineno">  556</span>                                    <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">TIRFrameNode</a>);</div>
+<div class="line"><a id="l00557" name="l00557"></a><span class="lineno">  557</span> </div>
+<div class="line"><a id="l00558" name="l00558"></a><span class="lineno">  558</span> <span class="keyword">public</span>:</div>
+<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#adcfb969bc30c4888172bbdeb42492dc9">  559</a></span>  <span class="keywordtype">void</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#adcfb969bc30c4888172bbdeb42492dc9">ExitWithScope</a>() final;</div>
+<div class="line"><a id="l00560" name="l00560"></a><span class="lineno">  560</span>};</div>
+</div>
+<div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span> </div>
+<div class="foldopen" id="foldopen00567" data-start="{" data-end="};">
+<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">  567</a></span>class <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">HintFrame</a> : public <a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html">TIRFrame</a> {</div>
+<div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span> <span class="keyword">public</span>:</div>
+<div class="foldopen" id="foldopen00569" data-start="{" data-end="}">
+<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#a4544399eddf6d211d303cf132b71e197">  569</a></span>  <span class="keyword">explicit</span> <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#a4544399eddf6d211d303cf132b71e197">HintFrame</a>(ffi::ObjectPtr&lt;HintFrameNode&gt; data) : <a class="code hl_class" href="classtvm_1_1script_1_1ir__bui [...]
+<div class="line"><a id="l00570" name="l00570"></a><span class="lineno">  570</span>    TVM_FFI_ICHECK(data != <span class="keyword">nullptr</span>);</div>
+<div class="line"><a id="l00571" name="l00571"></a><span class="lineno">  571</span>    data_ = std::move(data);</div>
+<div class="line"><a id="l00572" name="l00572"></a><span class="lineno">  572</span>  }</div>
+</div>
+<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"><a class="line" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#aba4eee1e7b1d32953f5b5c032fe509d0">  573</a></span>  <a class="code hl_function" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#aba4eee1e7b1d32953f5b5c032fe509d0">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a>(<a class="code hl_class" href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">HintFrame</a>, [...]
+<div class="line"><a id="l00574" name="l00574"></a><span class="lineno">  574</span>};</div>
+</div>
+<div class="line"><a id="l00575" name="l00575"></a><span class="lineno">  575</span> </div>
+<div class="line"><a id="l00576" name="l00576"></a><span class="lineno">  576</span>}  <span class="comment">// namespace tirx</span></div>
+</div>
+<div class="line"><a id="l00577" name="l00577"></a><span class="lineno">  577</span>}  <span class="comment">// namespace ir_builder</span></div>
+<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span>}  <span class="comment">// namespace script</span></div>
+<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span>}  <span class="comment">// namespace tvm</span></div>
+<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span> </div>
+<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span><span class="preprocessor">#endif  </span><span class="comment">// TVM_TIRX_SCRIPT_IR_BUILDER_FRAME_H_</span></div>
 <div class="ttc" id="aclasstvm_1_1Expr_html"><div class="ttname"><a href="classtvm_1_1Expr.html">tvm::Expr</a></div><div class="ttdoc">Managed reference to ExprNode.</div><div class="ttdef"><b>Definition</b> base_expr.h:336</div></div>
 <div class="ttc" id="aclasstvm_1_1PrimExpr_html"><div class="ttname"><a href="classtvm_1_1PrimExpr.html">tvm::PrimExpr</a></div><div class="ttdoc">Typed reference/view over any Expr whose ExprNode::ty is PrimType.</div><div class="ttdef"><b>Definition</b> base_expr.h:402</div></div>
 <div class="ttc" id="aclasstvm_1_1Span_html"><div class="ttname"><a href="classtvm_1_1Span.html">tvm::Span</a></div><div class="ttdef"><b>Definition</b> source_map.h:111</div></div>
@@ -572,108 +570,107 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1TensorRegion_html"><div class="ttname"><a href="classtvm_1_1TensorRegion.html">tvm::TensorRegion</a></div><div class="ttdoc">Managed reference to TensorRegionNode.</div><div class="ttdef"><b>Definition</b> expr.h:759</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrameNode.html">tvm::script::ir_builder::IRBuilderFrameNode</a></div><div class="ttdoc">A stack frame of the IRBuilder used to keep track of the current scope. Furthermore,...</div><div class="ttdef"><b>Definition</b> base.h:43</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1IRBuilderFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1IRBuilderFrame.html">tvm::script::ir_builder::IRBuilderFrame</a></div><div class="ttdoc">Managed reference to an IRBuilderFrameNode.</div><div class="ttdef"><b>Definition</b> base.h:85</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html">tvm::script::ir_builder::tirx::AssertFrameNode</a></div><div class="ttdoc">A frame that represents the assert statement. Proceeds if the condition is true, otherwise aborts wit...</div><div class="ttdef"><b>Definition</b> frame.h:212</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_a14191ae88b79d561bfc6ed67da9259c4"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a14191ae88b79d561bfc6ed67da9259c4">tvm::script::ir_builder::tirx::AssertFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:221</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_a1c7522facbc69ff7fd2a42788e7716c2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a1c7522facbc69ff7fd2a42788e7716c2">tvm::script::ir_builder::tirx::AssertFrameNode::message_parts</a></div><div class="ttdeci">ffi::Array&lt; tvm::StringImm &gt; message_parts</div><div class="ttdoc">Error message fragments, concatenated at runtime when assertion fails.</div [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html">tvm::script::ir_builder::tirx::AssertFrameNode</a></div><div class="ttdoc">A frame that represents the assert statement. Proceeds if the condition is true, otherwise aborts wit...</div><div class="ttdef"><b>Definition</b> frame.h:209</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_a14191ae88b79d561bfc6ed67da9259c4"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a14191ae88b79d561bfc6ed67da9259c4">tvm::script::ir_builder::tirx::AssertFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:218</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_a1c7522facbc69ff7fd2a42788e7716c2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a1c7522facbc69ff7fd2a42788e7716c2">tvm::script::ir_builder::tirx::AssertFrameNode::message_parts</a></div><div class="ttdeci">ffi::Array&lt; tvm::StringImm &gt; message_parts</div><div class="ttdoc">Error message fragments, concatenated at runtime when assertion fails.</div [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_a2bc625147bb23923ec49ab053e5109e8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a2bc625147bb23923ec49ab053e5109e8">tvm::script::ir_builder::tirx::AssertFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.AssertFrame&quot;, AssertFrameNode, TIRFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_a542aea5cf65787ea26a4028b92ebec87"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#a542aea5cf65787ea26a4028b92ebec87">tvm::script::ir_builder::tirx::AssertFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_ad7965b50201ddf7567811c469e3eec1c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#ad7965b50201ddf7567811c469e3eec1c">tvm::script::ir_builder::tirx::AssertFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The PrimExpr to test.</div><div class="ttdef"><b>Definition</b> frame.h:215</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_aef997581338d59ceb28bafae9a2c46cd"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#aef997581338d59ceb28bafae9a2c46cd">tvm::script::ir_builder::tirx::AssertFrameNode::error_kind</a></div><div class="ttdeci">tvm::StringImm error_kind</div><div class="ttdoc">The error kind, e.g. &quot;RuntimeError&quot;, &quot;TypeError&quot;, &quot;ValueError&quot;.</div><d [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">tvm::script::ir_builder::tirx::AssertFrame</a></div><div class="ttdoc">Managed reference to AssertFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:244</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html_a7ee201a32d7b0d06959f8f8a4ac4536f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#a7ee201a32d7b0d06959f8f8a4ac4536f">tvm::script::ir_builder::tirx::AssertFrame::AssertFrame</a></div><div class="ttdeci">AssertFrame(ffi::ObjectPtr&lt; AssertFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:246</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_ad7965b50201ddf7567811c469e3eec1c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#ad7965b50201ddf7567811c469e3eec1c">tvm::script::ir_builder::tirx::AssertFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The PrimExpr to test.</div><div class="ttdef"><b>Definition</b> frame.h:212</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode_html_aef997581338d59ceb28bafae9a2c46cd"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrameNode.html#aef997581338d59ceb28bafae9a2c46cd">tvm::script::ir_builder::tirx::AssertFrameNode::error_kind</a></div><div class="ttdeci">tvm::StringImm error_kind</div><div class="ttdoc">The error kind, e.g. &quot;RuntimeError&quot;, &quot;TypeError&quot;, &quot;ValueError&quot;.</div><d [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">tvm::script::ir_builder::tirx::AssertFrame</a></div><div class="ttdoc">Managed reference to AssertFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:241</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html_a7ee201a32d7b0d06959f8f8a4ac4536f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#a7ee201a32d7b0d06959f8f8a4ac4536f">tvm::script::ir_builder::tirx::AssertFrame::AssertFrame</a></div><div class="ttdeci">AssertFrame(ffi::ObjectPtr&lt; AssertFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:243</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html_ac9735ddbda3eb5a47141231567cfcd92"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html#ac9735ddbda3eb5a47141231567cfcd92">tvm::script::ir_builder::tirx::AssertFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(AssertFrame, TIRFrame, AssertFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html">tvm::script::ir_builder::tirx::AttrFrameNode</a></div><div class="ttdoc">A frame that represents attribute node.</div><div class="ttdef"><b>Definition</b> frame.h:304</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_a597f050b4f5d1f06bb59f8f4bc2cc0c1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a597f050b4f5d1f06bb59f8f4bc2cc0c1">tvm::script::ir_builder::tirx::AttrFrameNode::attr_key</a></div><div class="ttdeci">ffi::String attr_key</div><div class="ttdoc">Attribute type key.</div><div class="ttdef"><b>Definition</b> frame.h:309</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_a75ffef3d960f408e0855bbf06476def6"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a75ffef3d960f408e0855bbf06476def6">tvm::script::ir_builder::tirx::AttrFrameNode::value</a></div><div class="ttdeci">Expr value</div><div class="ttdoc">The value of the attribute.</div><div class="ttdef"><b>Definition</b> frame.h:311</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_aa31867696611ee9ceeb6781c6d314122"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#aa31867696611ee9ceeb6781c6d314122">tvm::script::ir_builder::tirx::AttrFrameNode::node</a></div><div class="ttdeci">Any node</div><div class="ttdoc">The node to annotate the attribute.</div><div class="ttdef"><b>Definition</b> frame.h:307</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html">tvm::script::ir_builder::tirx::AttrFrameNode</a></div><div class="ttdoc">A frame that represents attribute node.</div><div class="ttdef"><b>Definition</b> frame.h:301</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_a597f050b4f5d1f06bb59f8f4bc2cc0c1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a597f050b4f5d1f06bb59f8f4bc2cc0c1">tvm::script::ir_builder::tirx::AttrFrameNode::attr_key</a></div><div class="ttdeci">ffi::String attr_key</div><div class="ttdoc">Attribute type key.</div><div class="ttdef"><b>Definition</b> frame.h:306</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_a75ffef3d960f408e0855bbf06476def6"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#a75ffef3d960f408e0855bbf06476def6">tvm::script::ir_builder::tirx::AttrFrameNode::value</a></div><div class="ttdeci">Expr value</div><div class="ttdoc">The value of the attribute.</div><div class="ttdef"><b>Definition</b> frame.h:308</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_aa31867696611ee9ceeb6781c6d314122"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#aa31867696611ee9ceeb6781c6d314122">tvm::script::ir_builder::tirx::AttrFrameNode::node</a></div><div class="ttdeci">Any node</div><div class="ttdoc">The node to annotate the attribute.</div><div class="ttdef"><b>Definition</b> frame.h:304</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_acedbf2fbe5bd82ea4572568433161e22"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#acedbf2fbe5bd82ea4572568433161e22">tvm::script::ir_builder::tirx::AttrFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.AttrFrame&quot;, AttrFrameNode, TIRFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_ad2ec7f6022b219a62fd3600685ff1781"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#ad2ec7f6022b219a62fd3600685ff1781">tvm::script::ir_builder::tirx::AttrFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_adf96a9037c36e10f9444bda260c1ca6b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#adf96a9037c36e10f9444bda260c1ca6b">tvm::script::ir_builder::tirx::AttrFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:313</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">tvm::script::ir_builder::tirx::AttrFrame</a></div><div class="ttdoc">Managed reference to AttrFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:336</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode_html_adf96a9037c36e10f9444bda260c1ca6b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html#adf96a9037c36e10f9444bda260c1ca6b">tvm::script::ir_builder::tirx::AttrFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:310</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">tvm::script::ir_builder::tirx::AttrFrame</a></div><div class="ttdoc">Managed reference to AttrFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:333</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html_a2ca50c4cca94b61347a63f6691e853ae"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a2ca50c4cca94b61347a63f6691e853ae">tvm::script::ir_builder::tirx::AttrFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(AttrFrame, TIRFrame, AttrFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html_a6ad0c00f7c544d179b7b22afc7effbed"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a6ad0c00f7c544d179b7b22afc7effbed">tvm::script::ir_builder::tirx::AttrFrame::AttrFrame</a></div><div class="ttdeci">AttrFrame(ffi::ObjectPtr&lt; AttrFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:338</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tirx::DeclBufferFrameNode</a></div><div class="ttdef"><b>Definition</b> frame.h:509</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a1dfee494220fe963b9a3de373f7d6e07"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a1dfee494220fe963b9a3de373f7d6e07">tvm::script::ir_builder::tirx::DeclBufferFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:518</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a4f4d184353dfb549b57c432fd9f7658f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f">tvm::script::ir_builder::tirx::DeclBufferFrameNode::allocated</a></div><div class="ttdeci">bool allocated</div><div class="ttdoc">The buffer allocated or not.</div><div class="ttdef"><b>Definition</b> frame.h:516</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a536e2ef4f416b87d8c012180ecf0f125"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a536e2ef4f416b87d8c012180ecf0f125">tvm::script::ir_builder::tirx::DeclBufferFrameNode::data</a></div><div class="ttdeci">Expr data</div><div class="ttdoc">Physical pointer expression backing the declaration.</div><div class="ttdef"><b>Definition</b> frame.h:514</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a54abd31e4f45384ad677d5db9b5f4d4a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a54abd31e4f45384ad677d5db9b5f4d4a">tvm::script::ir_builder::tirx::DeclBufferFrameNode::buffer</a></div><div class="ttdeci">tvm::tirx::BufferVar buffer</div><div class="ttdoc">The declared buffer.</div><div class="ttdef"><b>Definition</b> frame.h:512</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html_a6ad0c00f7c544d179b7b22afc7effbed"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html#a6ad0c00f7c544d179b7b22afc7effbed">tvm::script::ir_builder::tirx::AttrFrame::AttrFrame</a></div><div class="ttdeci">AttrFrame(ffi::ObjectPtr&lt; AttrFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:335</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html">tvm::script::ir_builder::tirx::DeclBufferFrameNode</a></div><div class="ttdef"><b>Definition</b> frame.h:506</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a1dfee494220fe963b9a3de373f7d6e07"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a1dfee494220fe963b9a3de373f7d6e07">tvm::script::ir_builder::tirx::DeclBufferFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:515</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a4f4d184353dfb549b57c432fd9f7658f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a4f4d184353dfb549b57c432fd9f7658f">tvm::script::ir_builder::tirx::DeclBufferFrameNode::allocated</a></div><div class="ttdeci">bool allocated</div><div class="ttdoc">The buffer allocated or not.</div><div class="ttdef"><b>Definition</b> frame.h:513</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a536e2ef4f416b87d8c012180ecf0f125"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a536e2ef4f416b87d8c012180ecf0f125">tvm::script::ir_builder::tirx::DeclBufferFrameNode::data</a></div><div class="ttdeci">Expr data</div><div class="ttdoc">Physical pointer expression backing the declaration.</div><div class="ttdef"><b>Definition</b> frame.h:511</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_a54abd31e4f45384ad677d5db9b5f4d4a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#a54abd31e4f45384ad677d5db9b5f4d4a">tvm::script::ir_builder::tirx::DeclBufferFrameNode::buffer</a></div><div class="ttdeci">tvm::tirx::BufferVar buffer</div><div class="ttdoc">The declared buffer.</div><div class="ttdef"><b>Definition</b> frame.h:509</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_abb6395a94402e4aa875e8bc242cf63e5"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#abb6395a94402e4aa875e8bc242cf63e5">tvm::script::ir_builder::tirx::DeclBufferFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode_html_acba19e94b07f6a0f42855e75b9f67243"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrameNode.html#acba19e94b07f6a0f42855e75b9f67243">tvm::script::ir_builder::tirx::DeclBufferFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.DeclBufferFrame&quot;, DeclBufferFrameNode, TIRFrameN [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">tvm::script::ir_builder::tirx::DeclBufferFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:532</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">tvm::script::ir_builder::tirx::DeclBufferFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:529</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html_a08b12a577380ea731ee351f11cad01a8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a08b12a577380ea731ee351f11cad01a8">tvm::script::ir_builder::tirx::DeclBufferFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(DeclBufferFrame, TIRFrame, DeclBufferFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html_a1542c0fb7f3719854ce8df37b0ea5438"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a1542c0fb7f3719854ce8df37b0ea5438">tvm::script::ir_builder::tirx::DeclBufferFrame::DeclBufferFrame</a></div><div class="ttdeci">DeclBufferFrame(ffi::ObjectPtr&lt; DeclBufferFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:534</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html">tvm::script::ir_builder::tirx::ElseFrameNode</a></div><div class="ttdoc">A frame that represents else.</div><div class="ttdef"><b>Definition</b> frame.h:473</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html_a1542c0fb7f3719854ce8df37b0ea5438"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html#a1542c0fb7f3719854ce8df37b0ea5438">tvm::script::ir_builder::tirx::DeclBufferFrame::DeclBufferFrame</a></div><div class="ttdeci">DeclBufferFrame(ffi::ObjectPtr&lt; DeclBufferFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:531</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html">tvm::script::ir_builder::tirx::ElseFrameNode</a></div><div class="ttdoc">A frame that represents else.</div><div class="ttdef"><b>Definition</b> frame.h:470</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode_html_ab14e43afafef37832b46cb5aaead6eb2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ab14e43afafef37832b46cb5aaead6eb2">tvm::script::ir_builder::tirx::ElseFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode_html_ae556cd3bdeda64b2cb52cf6f1e376a9b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ae556cd3bdeda64b2cb52cf6f1e376a9b">tvm::script::ir_builder::tirx::ElseFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:475</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode_html_ae556cd3bdeda64b2cb52cf6f1e376a9b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#ae556cd3bdeda64b2cb52cf6f1e376a9b">tvm::script::ir_builder::tirx::ElseFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:472</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode_html_aea3eb718662c0b63fe432c3a0b5a82e8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html#aea3eb718662c0b63fe432c3a0b5a82e8">tvm::script::ir_builder::tirx::ElseFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.ElseFrame&quot;, ElseFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">tvm::script::ir_builder::tirx::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:500</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">tvm::script::ir_builder::tirx::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:497</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html_ac470ac8b34688b21d27cfd9e00dbfdd6"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac470ac8b34688b21d27cfd9e00dbfdd6">tvm::script::ir_builder::tirx::ElseFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(ElseFrame, TIRFrame, ElseFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html_ac90e8e5a6407374238eb0fd0e9f857d3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac90e8e5a6407374238eb0fd0e9f857d3">tvm::script::ir_builder::tirx::ElseFrame::ElseFrame</a></div><div class="ttdeci">ElseFrame(ffi::ObjectPtr&lt; ElseFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:502</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html">tvm::script::ir_builder::tirx::ForFrameNode</a></div><div class="ttdoc">A frame that represents the for loop.</div><div class="ttdef"><b>Definition</b> frame.h:155</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a2712eecebff8a00463cc9e777ff55566"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">tvm::script::ir_builder::tirx::ForFrameNode::FMakeForLoop</a></div><div class="ttdeci">ffi::TypedFunction&lt; tvm::tirx::Stmt(ffi::Array&lt; tvm::tirx::Var &gt; loop_vars, ffi::Array&lt; Range &gt; loop_extents, ffi::Array&lt; ffi::Optional&lt;  [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html_ac90e8e5a6407374238eb0fd0e9f857d3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html#ac90e8e5a6407374238eb0fd0e9f857d3">tvm::script::ir_builder::tirx::ElseFrame::ElseFrame</a></div><div class="ttdeci">ElseFrame(ffi::ObjectPtr&lt; ElseFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:499</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html">tvm::script::ir_builder::tirx::ForFrameNode</a></div><div class="ttdoc">A frame that represents the for loop.</div><div class="ttdef"><b>Definition</b> frame.h:152</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a2712eecebff8a00463cc9e777ff55566"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a2712eecebff8a00463cc9e777ff55566">tvm::script::ir_builder::tirx::ForFrameNode::FMakeForLoop</a></div><div class="ttdeci">ffi::TypedFunction&lt; tvm::tirx::Stmt(ffi::Array&lt; tvm::tirx::Var &gt; loop_vars, ffi::Array&lt; Range &gt; loop_extents, ffi::Array&lt; ffi::Optional&lt;  [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a3b3078aff183b1b22517935c94f85d12"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a3b3078aff183b1b22517935c94f85d12">tvm::script::ir_builder::tirx::ForFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.ForFrame&quot;, ForFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a54f25a70acea2744f45264090c18164a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a54f25a70acea2744f45264090c18164a">tvm::script::ir_builder::tirx::ForFrameNode::f_make_for_loop</a></div><div class="ttdeci">FMakeForLoop f_make_for_loop</div><div class="ttdoc">The for loop generating function.</div><div class="ttdef"><b>Definition</b> frame.h:174</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a54f25a70acea2744f45264090c18164a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a54f25a70acea2744f45264090c18164a">tvm::script::ir_builder::tirx::ForFrameNode::f_make_for_loop</a></div><div class="ttdeci">FMakeForLoop f_make_for_loop</div><div class="ttdoc">The for loop generating function.</div><div class="ttdef"><b>Definition</b> frame.h:171</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a6835bf8e4a71ddc764565cc5ae6da567"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a6835bf8e4a71ddc764565cc5ae6da567">tvm::script::ir_builder::tirx::ForFrameNode::SetNames</a></div><div class="ttdeci">void SetNames(ffi::Optional&lt; ffi::Variant&lt; ffi::String, ffi::Array&lt; ffi::String &gt; &gt; &gt; names)</div><div class="ttdoc">Apply source target names b [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a718c5a27bbacc7d7f850767753aaac4b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a718c5a27bbacc7d7f850767753aaac4b">tvm::script::ir_builder::tirx::ForFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:176</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a7d5fa09e4fd15a21d1114a890ef86b4b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a7d5fa09e4fd15a21d1114a890ef86b4b">tvm::script::ir_builder::tirx::ForFrameNode::doms</a></div><div class="ttdeci">ffi::Array&lt; Range &gt; doms</div><div class="ttdoc">The domains of iteration.</div><div class="ttdef"><b>Definition</b> frame.h:170</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_acd074075b8a7fa00e28106139fa3c319"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#acd074075b8a7fa00e28106139fa3c319">tvm::script::ir_builder::tirx::ForFrameNode::vars</a></div><div class="ttdeci">ffi::Array&lt; tvm::tirx::Var &gt; vars</div><div class="ttdoc">The loop variable.</div><div class="ttdef"><b>Definition</b> frame.h:168</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a718c5a27bbacc7d7f850767753aaac4b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a718c5a27bbacc7d7f850767753aaac4b">tvm::script::ir_builder::tirx::ForFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:173</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_a7d5fa09e4fd15a21d1114a890ef86b4b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#a7d5fa09e4fd15a21d1114a890ef86b4b">tvm::script::ir_builder::tirx::ForFrameNode::doms</a></div><div class="ttdeci">ffi::Array&lt; Range &gt; doms</div><div class="ttdoc">The domains of iteration.</div><div class="ttdef"><b>Definition</b> frame.h:167</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_acd074075b8a7fa00e28106139fa3c319"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#acd074075b8a7fa00e28106139fa3c319">tvm::script::ir_builder::tirx::ForFrameNode::vars</a></div><div class="ttdeci">ffi::Array&lt; tvm::tirx::Var &gt; vars</div><div class="ttdoc">The loop variable.</div><div class="ttdef"><b>Definition</b> frame.h:165</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_aee1bc610915f08205a47716a5e1140c3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee1bc610915f08205a47716a5e1140c3">tvm::script::ir_builder::tirx::ForFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">Construct the loop nest with this frame's stored source location.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_aee5156c4001499065c39bb32eba66f42"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee5156c4001499065c39bb32eba66f42">tvm::script::ir_builder::tirx::ForFrameNode::steps</a></div><div class="ttdeci">ffi::Array&lt; ffi::Optional&lt; PrimExpr &gt; &gt; steps</div><div class="ttdoc">The optional steps of iteration.</div><div class="ttdef"><b>Definition</b> frame.h: [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">tvm::script::ir_builder::tirx::ForFrame</a></div><div class="ttdoc">Managed reference to ForFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:197</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html_a504039071d02b0a1edc0098935b7a671"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a504039071d02b0a1edc0098935b7a671">tvm::script::ir_builder::tirx::ForFrame::ForFrame</a></div><div class="ttdeci">ForFrame(ffi::ObjectPtr&lt; ForFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:199</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode_html_aee5156c4001499065c39bb32eba66f42"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrameNode.html#aee5156c4001499065c39bb32eba66f42">tvm::script::ir_builder::tirx::ForFrameNode::steps</a></div><div class="ttdeci">ffi::Array&lt; ffi::Optional&lt; PrimExpr &gt; &gt; steps</div><div class="ttdoc">The optional steps of iteration.</div><div class="ttdef"><b>Definition</b> frame.h: [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">tvm::script::ir_builder::tirx::ForFrame</a></div><div class="ttdoc">Managed reference to ForFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:194</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html_a504039071d02b0a1edc0098935b7a671"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a504039071d02b0a1edc0098935b7a671">tvm::script::ir_builder::tirx::ForFrame::ForFrame</a></div><div class="ttdeci">ForFrame(ffi::ObjectPtr&lt; ForFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:196</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html_a514c0cc191a23cc61139e743263a32b2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html#a514c0cc191a23cc61139e743263a32b2">tvm::script::ir_builder::tirx::ForFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(ForFrame, TIRFrame, ForFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">tvm::script::ir_builder::tirx::HintFrameNode</a></div><div class="ttdoc">A frame that represents a hint directive for the sketch language.</div><div class="ttdef"><b>Definition</b> frame.h:545</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html">tvm::script::ir_builder::tirx::HintFrameNode</a></div><div class="ttdoc">A frame that represents a hint directive for the sketch language.</div><div class="ttdef"><b>Definition</b> frame.h:542</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_a190137c30c2f983e9e4e465b50475e58"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a190137c30c2f983e9e4e465b50475e58">tvm::script::ir_builder::tirx::HintFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.HintFrame&quot;, HintFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_a53b831f8cbfe6c5a3a4d056de4001fea"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a53b831f8cbfe6c5a3a4d056de4001fea">tvm::script::ir_builder::tirx::HintFrameNode::message</a></div><div class="ttdeci">ffi::String message</div><div class="ttdoc">The free-form hint message string.</div><div class="ttdef"><b>Definition</b> frame.h:548</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_a67796846e0af6e1e53c0000d47afe18a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a67796846e0af6e1e53c0000d47afe18a">tvm::script::ir_builder::tirx::HintFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:552</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_ac6fdc86e130dc67da113c5054ef355a8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#ac6fdc86e130dc67da113c5054ef355a8">tvm::script::ir_builder::tirx::HintFrameNode::attrs</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, ffi::Any &gt; attrs</div><div class="ttdoc">Optional structured key-value attributes.</div><div class="ttdef"><b>Definition</b> frame.h: [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_a53b831f8cbfe6c5a3a4d056de4001fea"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a53b831f8cbfe6c5a3a4d056de4001fea">tvm::script::ir_builder::tirx::HintFrameNode::message</a></div><div class="ttdeci">ffi::String message</div><div class="ttdoc">The free-form hint message string.</div><div class="ttdef"><b>Definition</b> frame.h:545</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_a67796846e0af6e1e53c0000d47afe18a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#a67796846e0af6e1e53c0000d47afe18a">tvm::script::ir_builder::tirx::HintFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:549</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_ac6fdc86e130dc67da113c5054ef355a8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#ac6fdc86e130dc67da113c5054ef355a8">tvm::script::ir_builder::tirx::HintFrameNode::attrs</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, ffi::Any &gt; attrs</div><div class="ttdoc">Optional structured key-value attributes.</div><div class="ttdef"><b>Definition</b> frame.h: [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode_html_adcfb969bc30c4888172bbdeb42492dc9"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrameNode.html#adcfb969bc30c4888172bbdeb42492dc9">tvm::script::ir_builder::tirx::HintFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">tvm::script::ir_builder::tirx::HintFrame</a></div><div class="ttdoc">Managed reference to HintFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:570</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame_html_a4544399eddf6d211d303cf132b71e197"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#a4544399eddf6d211d303cf132b71e197">tvm::script::ir_builder::tirx::HintFrame::HintFrame</a></div><div class="ttdeci">HintFrame(ffi::ObjectPtr&lt; HintFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:572</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html">tvm::script::ir_builder::tirx::HintFrame</a></div><div class="ttdoc">Managed reference to HintFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:567</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame_html_a4544399eddf6d211d303cf132b71e197"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#a4544399eddf6d211d303cf132b71e197">tvm::script::ir_builder::tirx::HintFrame::HintFrame</a></div><div class="ttdeci">HintFrame(ffi::ObjectPtr&lt; HintFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:569</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame_html_aba4eee1e7b1d32953f5b5c032fe509d0"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1HintFrame.html#aba4eee1e7b1d32953f5b5c032fe509d0">tvm::script::ir_builder::tirx::HintFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(HintFrame, TIRFrame, HintFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html">tvm::script::ir_builder::tirx::IfFrameNode</a></div><div class="ttdoc">A frame that represents if statement.</div><div class="ttdef"><b>Definition</b> frame.h:389</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html">tvm::script::ir_builder::tirx::IfFrameNode</a></div><div class="ttdoc">A frame that represents if statement.</div><div class="ttdef"><b>Definition</b> frame.h:386</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_a09a20a58da715852c4cd782fd396d3a6"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a09a20a58da715852c4cd782fd396d3a6">tvm::script::ir_builder::tirx::IfFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.IfFrame&quot;, IfFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_a2fb8c0d174304b32c352dd122f51e7ab"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a2fb8c0d174304b32c352dd122f51e7ab">tvm::script::ir_builder::tirx::IfFrameNode::else_stmts</a></div><div class="ttdeci">ffi::Optional&lt; ffi::Array&lt; tvm::tirx::Stmt &gt; &gt; else_stmts</div><div class="ttdoc">The stetements in the false branch.</div><div class="ttdef"><b>Defini [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_a69a64c58c09f1c120bb46844d2a581d2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a69a64c58c09f1c120bb46844d2a581d2">tvm::script::ir_builder::tirx::IfFrameNode::then_stmts</a></div><div class="ttdeci">ffi::Optional&lt; ffi::Array&lt; tvm::tirx::Stmt &gt; &gt; then_stmts</div><div class="ttdoc">The statements in the true branch.</div><div class="ttdef"><b>Definit [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_a2fb8c0d174304b32c352dd122f51e7ab"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a2fb8c0d174304b32c352dd122f51e7ab">tvm::script::ir_builder::tirx::IfFrameNode::else_stmts</a></div><div class="ttdeci">ffi::Optional&lt; ffi::Array&lt; tvm::tirx::Stmt &gt; &gt; else_stmts</div><div class="ttdoc">The stetements in the false branch.</div><div class="ttdef"><b>Defini [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_a69a64c58c09f1c120bb46844d2a581d2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#a69a64c58c09f1c120bb46844d2a581d2">tvm::script::ir_builder::tirx::IfFrameNode::then_stmts</a></div><div class="ttdeci">ffi::Optional&lt; ffi::Array&lt; tvm::tirx::Stmt &gt; &gt; then_stmts</div><div class="ttdoc">The statements in the true branch.</div><div class="ttdef"><b>Definit [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_aa44f9d2d31bd5d5056eae1bc54b89211"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#aa44f9d2d31bd5d5056eae1bc54b89211">tvm::script::ir_builder::tirx::IfFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_abb733295aaeee65a6e65eaf6730cd32a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#abb733295aaeee65a6e65eaf6730cd32a">tvm::script::ir_builder::tirx::IfFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The condition of the if statement.</div><div class="ttdef"><b>Definition</b> frame.h:392</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_ad6a4a7565c53f683c72c09656fba8c75"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#ad6a4a7565c53f683c72c09656fba8c75">tvm::script::ir_builder::tirx::IfFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:398</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">tvm::script::ir_builder::tirx::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:420</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_abb733295aaeee65a6e65eaf6730cd32a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#abb733295aaeee65a6e65eaf6730cd32a">tvm::script::ir_builder::tirx::IfFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The condition of the if statement.</div><div class="ttdef"><b>Definition</b> frame.h:389</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode_html_ad6a4a7565c53f683c72c09656fba8c75"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrameNode.html#ad6a4a7565c53f683c72c09656fba8c75">tvm::script::ir_builder::tirx::IfFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:395</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">tvm::script::ir_builder::tirx::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:417</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html_acf9b001432d472f6437bd4ebc4ad7b79"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#acf9b001432d472f6437bd4ebc4ad7b79">tvm::script::ir_builder::tirx::IfFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(IfFrame, TIRFrame, IfFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html_aea2f82121c6a3ee375dea9935ca9e55a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#aea2f82121c6a3ee375dea9935ca9e55a">tvm::script::ir_builder::tirx::IfFrame::IfFrame</a></div><div class="ttdeci">IfFrame(ffi::ObjectPtr&lt; IfFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:422</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">tvm::script::ir_builder::tirx::LaunchThreadFrameNode</a></div><div class="ttdoc">The LaunchThreadFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:257</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a1401ee8d08bfce173ce760cabd4fdc32"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a1401ee8d08bfce173ce760cabd4fdc32">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::extent</a></div><div class="ttdeci">PrimExpr extent</div><div class="ttdoc">The extent of environment thread.</div><div class="ttdef"><b>Definition</b> frame.h:260</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a3831c048bd1535984464ad8dc6c658a7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a3831c048bd1535984464ad8dc6c658a7">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::iter_var</a></div><div class="ttdeci">tvm::tirx::IterVar iter_var</div><div class="ttdoc">The iteration variable.</div><div class="ttdef"><b>Definition</b> frame.h:264</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a91d331ce926187b34c4bd0ae6dbe5746"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a91d331ce926187b34c4bd0ae6dbe5746">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::attr_key</a></div><div class="ttdeci">ffi::String attr_key</div><div class="ttdoc">The attribute key, could be either virtual_thread or thread_extent.</div><div class="ttdef [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html_aea2f82121c6a3ee375dea9935ca9e55a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html#aea2f82121c6a3ee375dea9935ca9e55a">tvm::script::ir_builder::tirx::IfFrame::IfFrame</a></div><div class="ttdeci">IfFrame(ffi::ObjectPtr&lt; IfFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:419</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html">tvm::script::ir_builder::tirx::LaunchThreadFrameNode</a></div><div class="ttdoc">The LaunchThreadFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:254</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a1401ee8d08bfce173ce760cabd4fdc32"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a1401ee8d08bfce173ce760cabd4fdc32">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::extent</a></div><div class="ttdeci">PrimExpr extent</div><div class="ttdoc">The extent of environment thread.</div><div class="ttdef"><b>Definition</b> frame.h:257</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a3831c048bd1535984464ad8dc6c658a7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a3831c048bd1535984464ad8dc6c658a7">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::iter_var</a></div><div class="ttdeci">tvm::tirx::IterVar iter_var</div><div class="ttdoc">The iteration variable.</div><div class="ttdef"><b>Definition</b> frame.h:261</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a91d331ce926187b34c4bd0ae6dbe5746"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a91d331ce926187b34c4bd0ae6dbe5746">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::attr_key</a></div><div class="ttdeci">ffi::String attr_key</div><div class="ttdoc">The attribute key, could be either virtual_thread or thread_extent.</div><div class="ttdef [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_a9c89a4d09e0677c34996f5aad7f07ecb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#a9c89a4d09e0677c34996f5aad7f07ecb">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_aa21be7cfba695d995574795215d76053"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#aa21be7cfba695d995574795215d76053">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:266</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_aa21be7cfba695d995574795215d76053"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#aa21be7cfba695d995574795215d76053">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:263</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode_html_abcfd4b9f05a76ab2b5151cad882378e9"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrameNode.html#abcfd4b9f05a76ab2b5151cad882378e9">tvm::script::ir_builder::tirx::LaunchThreadFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.LaunchThreadFrame&quot;, LaunchThreadFrameNode, [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">tvm::script::ir_builder::tirx::LaunchThreadFrame</a></div><div class="ttdoc">Managed reference to LaunchThreadFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:289</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">tvm::script::ir_builder::tirx::LaunchThreadFrame</a></div><div class="ttdoc">Managed reference to LaunchThreadFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:286</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html_a5b2ab4cc0844f692c7de6b982e2ceb13"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#a5b2ab4cc0844f692c7de6b982e2ceb13">tvm::script::ir_builder::tirx::LaunchThreadFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(LaunchThreadFrame, TIRFrame, LaunchThreadFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html_abd6ef07a0598593a4f5f3abed3d07782"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#abd6ef07a0598593a4f5f3abed3d07782">tvm::script::ir_builder::tirx::LaunchThreadFrame::LaunchThreadFrame</a></div><div class="ttdeci">LaunchThreadFrame(ffi::ObjectPtr&lt; LaunchThreadFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:291</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html_abd6ef07a0598593a4f5f3abed3d07782"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html#abd6ef07a0598593a4f5f3abed3d07782">tvm::script::ir_builder::tirx::LaunchThreadFrame::LaunchThreadFrame</a></div><div class="ttdeci">LaunchThreadFrame(ffi::ObjectPtr&lt; LaunchThreadFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:288</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html">tvm::script::ir_builder::tirx::PrimFuncFrameNode</a></div><div class="ttdoc">A frame that represents the PrimFunc containing TIR statements.</div><div class="ttdef"><b>Definition</b> frame.h:75</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a0627a38db0626dfac402590dcda84f17"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a0627a38db0626dfac402590dcda84f17">tvm::script::ir_builder::tirx::PrimFuncFrameNode::type_var_map</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, tvm::Var &gt; type_var_map</div><div class="ttdoc">Function-local symbols retained across declaration and body entry. [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a1298f096c65a2b348437d651e3fa469e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">tvm::script::ir_builder::tirx::PrimFuncFrameNode::is_declaration</a></div><div class="ttdeci">bool is_declaration</div><div class="ttdoc">Whether this frame declares a bodyless signature.</div><div class="ttdef"><b>Definition</b> frame [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a164b69f21d8bcc1dd9b0195cc0b93878"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">tvm::script::ir_builder::tirx::PrimFuncFrameNode::global_var</a></div><div class="ttdeci">ffi::Optional&lt; GlobalVar &gt; global_var</div><div class="ttdef"><b>Definition</b> frame.h:99</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a1298f096c65a2b348437d651e3fa469e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1298f096c65a2b348437d651e3fa469e">tvm::script::ir_builder::tirx::PrimFuncFrameNode::is_declaration</a></div><div class="ttdeci">bool is_declaration</div><div class="ttdoc">Whether this frame declares a bodyless signature.</div><div class="ttdef"><b>Definition</b> frame [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a164b69f21d8bcc1dd9b0195cc0b93878"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a164b69f21d8bcc1dd9b0195cc0b93878">tvm::script::ir_builder::tirx::PrimFuncFrameNode::global_var</a></div><div class="ttdeci">ffi::Optional&lt; GlobalVar &gt; global_var</div><div class="ttdef"><b>Definition</b> frame.h:97</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a1a1548bd4ee59aeab9686605311cca49"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a1a1548bd4ee59aeab9686605311cca49">tvm::script::ir_builder::tirx::PrimFuncFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a562d80758dd9cc142771f2617e17560b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">tvm::script::ir_builder::tirx::PrimFuncFrameNode::buffer_map</a></div><div class="ttdeci">ffi::Map&lt; tvm::tirx::Var, tvm::tirx::BufferVar &gt; buffer_map</div><div class="ttdoc">Maps some parameters to specific buffer data structures [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a5d12d458d3ce4b16a03a8ad93e95053f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a5d12d458d3ce4b16a03a8ad93e95053f">tvm::script::ir_builder::tirx::PrimFuncFrameNode::AttrValidator</a></div><div class="ttdeci">std::function&lt; void(const PrimFuncFrameNode *, const ffi::Any &amp;)&gt; AttrValidator</div><div class="ttdoc">Register validation for an e [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a562d80758dd9cc142771f2617e17560b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a562d80758dd9cc142771f2617e17560b">tvm::script::ir_builder::tirx::PrimFuncFrameNode::buffer_map</a></div><div class="ttdeci">ffi::Map&lt; tvm::tirx::Var, tvm::tirx::BufferVar &gt; buffer_map</div><div class="ttdoc">Maps some parameters to specific buffer data structures [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a5d12d458d3ce4b16a03a8ad93e95053f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a5d12d458d3ce4b16a03a8ad93e95053f">tvm::script::ir_builder::tirx::PrimFuncFrameNode::AttrValidator</a></div><div class="ttdeci">std::function&lt; void(const PrimFuncFrameNode *, const ffi::Any &amp;)&gt; AttrValidator</div><div class="ttdoc">Register validation for an e [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a61bdb5b1e1c83ccbd07d89da70bf962c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a61bdb5b1e1c83ccbd07d89da70bf962c">tvm::script::ir_builder::tirx::PrimFuncFrameNode::RegisterAttrValidator</a></div><div class="ttdeci">static void RegisterAttrValidator(ffi::String key, AttrValidator validator)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a6dbc186d0e1461586025b38f10a67dee"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">tvm::script::ir_builder::tirx::PrimFuncFrameNode::ret_type</a></div><div class="ttdeci">ffi::Optional&lt; Type &gt; ret_type</div><div class="ttdoc">The return type of the function.</div><div class="ttdef"><b>Definition</b> frame.h:86< [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a6dbc186d0e1461586025b38f10a67dee"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6dbc186d0e1461586025b38f10a67dee">tvm::script::ir_builder::tirx::PrimFuncFrameNode::ret_type</a></div><div class="ttdeci">ffi::Optional&lt; Type &gt; ret_type</div><div class="ttdoc">The return type of the function.</div><div class="ttdef"><b>Definition</b> frame.h:84< [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a6e598e1647e8e3dcb54de10d7a49461b"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a6e598e1647e8e3dcb54de10d7a49461b">tvm::script::ir_builder::tirx::PrimFuncFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO(&quot;script.ir_builder.tirx.PrimFuncFrame&quot;, PrimFuncFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a8036743a7e955833b2e7117b32a59a45"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">tvm::script::ir_builder::tirx::PrimFuncFrameNode::attrs</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, Any &gt; attrs</div><div class="ttdoc">Additional attributes storing the meta-data.</div><div class="ttdef"><b>Definition</b [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a980e86c4387d555aa44f8a5d88f2da82"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">tvm::script::ir_builder::tirx::PrimFuncFrameNode::is_private</a></div><div class="ttdeci">bool is_private</div><div class="ttdoc">Whether the PrimFunc is annotated as private.</div><div class="ttdef"><b>Definition</b> frame.h:84</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a8036743a7e955833b2e7117b32a59a45"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a8036743a7e955833b2e7117b32a59a45">tvm::script::ir_builder::tirx::PrimFuncFrameNode::attrs</a></div><div class="ttdeci">ffi::Map&lt; ffi::String, Any &gt; attrs</div><div class="ttdoc">Additional attributes storing the meta-data.</div><div class="ttdef"><b>Definition</b [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a980e86c4387d555aa44f8a5d88f2da82"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a980e86c4387d555aa44f8a5d88f2da82">tvm::script::ir_builder::tirx::PrimFuncFrameNode::is_private</a></div><div class="ttdeci">bool is_private</div><div class="ttdoc">Whether the PrimFunc is annotated as private.</div><div class="ttdef"><b>Definition</b> frame.h:82</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_a9a6ab5b91a2b5fc9e262c91decc474ff"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#a9a6ab5b91a2b5fc9e262c91decc474ff">tvm::script::ir_builder::tirx::PrimFuncFrameNode::FinalizeFunction</a></div><div class="ttdeci">virtual tvm::tirx::PrimFunc FinalizeFunction(tvm::tirx::PrimFunc func)</div><div class="ttdoc">Complete dialect-specific function construct [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_aa533511971b3dcd599e1fec79bb89880"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa533511971b3dcd599e1fec79bb89880">tvm::script::ir_builder::tirx::PrimFuncFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:101</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_aa67e06212a1b0fa83e8718fb2d0cab9f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">tvm::script::ir_builder::tirx::PrimFuncFrameNode::name</a></div><div class="ttdeci">ffi::Optional&lt; ffi::String &gt; name</div><div class="ttdoc">The name of the block.</div><div class="ttdef"><b>Definition</b> frame.h:80</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_aaf9c1e6b22227729b2ae1384752ea4bb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">tvm::script::ir_builder::tirx::PrimFuncFrameNode::args</a></div><div class="ttdeci">ffi::Array&lt; tvm::tirx::Var &gt; args</div><div class="ttdoc">Function parameters.</div><div class="ttdef"><b>Definition</b> frame.h:82</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_aa533511971b3dcd599e1fec79bb89880"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa533511971b3dcd599e1fec79bb89880">tvm::script::ir_builder::tirx::PrimFuncFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:99</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_aa67e06212a1b0fa83e8718fb2d0cab9f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aa67e06212a1b0fa83e8718fb2d0cab9f">tvm::script::ir_builder::tirx::PrimFuncFrameNode::name</a></div><div class="ttdeci">ffi::Optional&lt; ffi::String &gt; name</div><div class="ttdoc">The name of the block.</div><div class="ttdef"><b>Definition</b> frame.h:78</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_aaf9c1e6b22227729b2ae1384752ea4bb"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#aaf9c1e6b22227729b2ae1384752ea4bb">tvm::script::ir_builder::tirx::PrimFuncFrameNode::args</a></div><div class="ttdeci">ffi::Array&lt; tvm::tirx::Var &gt; args</div><div class="ttdoc">Function parameters.</div><div class="ttdef"><b>Definition</b> frame.h:80</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ab3a62fed05bd96be5f42f740e7c788e3"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab3a62fed05bd96be5f42f740e7c788e3">tvm::script::ir_builder::tirx::PrimFuncFrameNode::ValidateAttrs</a></div><div class="ttdeci">void ValidateAttrs() const</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ab5d89a38b05142cd3d90999ed057876c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">tvm::script::ir_builder::tirx::PrimFuncFrameNode::persistent</a></div><div class="ttdeci">bool persistent</div><div class="ttdoc">Whether it is a persistent kernel.</div><div class="ttdef"><b>Definition</b> frame.h:94</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ae15b67665d439473d077f78a00287704"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">tvm::script::ir_builder::tirx::PrimFuncFrameNode::env_threads</a></div><div class="ttdeci">ffi::Map&lt; tvm::tirx::Var, tvm::tirx::IterVar &gt; env_threads</div><div class="ttdoc">The variable map bound to thread env.</div><div class=" [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ae357601691ee733893de296d043d2aa6"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">tvm::script::ir_builder::tirx::PrimFuncFrameNode::function</a></div><div class="ttdeci">ffi::Optional&lt; tvm::tirx::PrimFunc &gt; function</div><div class="ttdoc">Finalized function and its module identity.</div><div class="ttdef"><b> [...]
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">tvm::script::ir_builder::tirx::PrimFuncFrame</a></div><div class="ttdoc">Managed reference to PrimFuncFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:141</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ab5d89a38b05142cd3d90999ed057876c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ab5d89a38b05142cd3d90999ed057876c">tvm::script::ir_builder::tirx::PrimFuncFrameNode::persistent</a></div><div class="ttdeci">bool persistent</div><div class="ttdoc">Whether it is a persistent kernel.</div><div class="ttdef"><b>Definition</b> frame.h:92</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ae15b67665d439473d077f78a00287704"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae15b67665d439473d077f78a00287704">tvm::script::ir_builder::tirx::PrimFuncFrameNode::env_threads</a></div><div class="ttdeci">ffi::Map&lt; tvm::tirx::Var, tvm::tirx::IterVar &gt; env_threads</div><div class="ttdoc">The variable map bound to thread env.</div><div class=" [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode_html_ae357601691ee733893de296d043d2aa6"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html#ae357601691ee733893de296d043d2aa6">tvm::script::ir_builder::tirx::PrimFuncFrameNode::function</a></div><div class="ttdeci">ffi::Optional&lt; tvm::tirx::PrimFunc &gt; function</div><div class="ttdoc">Finalized function and its module identity.</div><div class="ttdef"><b> [...]
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">tvm::script::ir_builder::tirx::PrimFuncFrame</a></div><div class="ttdoc">Managed reference to PrimFuncFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:138</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html_a6e020c49208c7219e29715f441a17c7a"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a6e020c49208c7219e29715f441a17c7a">tvm::script::ir_builder::tirx::PrimFuncFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(PrimFuncFrame, TIRFrame, PrimFuncFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html_a9221e092102fb72cc99576654fd82f16"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a9221e092102fb72cc99576654fd82f16">tvm::script::ir_builder::tirx::PrimFuncFrame::PrimFuncFrame</a></div><div class="ttdeci">PrimFuncFrame(ffi::ObjectPtr&lt; PrimFuncFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:143</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html_a9221e092102fb72cc99576654fd82f16"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html#a9221e092102fb72cc99576654fd82f16">tvm::script::ir_builder::tirx::PrimFuncFrame::PrimFuncFrame</a></div><div class="ttdeci">PrimFuncFrame(ffi::ObjectPtr&lt; PrimFuncFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:140</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html">tvm::script::ir_builder::tirx::TIRFrameNode</a></div><div class="ttdoc">A base frame that represents the TIR fame with body of statements.</div><div class="ttdef"><b>Definition</b> frame.h:41</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode_html_a346c82f47ed7bc7541e38cf4ce76366e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html#a346c82f47ed7bc7541e38cf4ce76366e">tvm::script::ir_builder::tirx::TIRFrameNode::BindBufferRegion</a></div><div class="ttdeci">virtual void BindBufferRegion(tvm::tirx::BufferVar buffer, tvm::TensorRegion region)</div><div class="ttdoc">Bind a view in frames that support region ali [...]
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode_html_a39cb0ad5038bf2dd3db41c856b1f1575"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html#a39cb0ad5038bf2dd3db41c856b1f1575">tvm::script::ir_builder::tirx::TIRFrameNode::TVM_FFI_DECLARE_OBJECT_INFO</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO(&quot;script.ir_builder.tirx.TIRFrame&quot;, TIRFrameNode, IRBuilderFrameNode)</div></div>
@@ -683,20 +680,20 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame_html_a2494400e71e245dd6ef829c22e979783"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html#a2494400e71e245dd6ef829c22e979783">tvm::script::ir_builder::tirx::TIRFrame::TIRFrame</a></div><div class="ttdeci">TIRFrame()=default</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame_html_a7967dc5bc781ae0df804f384065c98c5"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html#a7967dc5bc781ae0df804f384065c98c5">tvm::script::ir_builder::tirx::TIRFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(TIRFrame, IRBuilderFrame, TIRFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame_html_aa8117c4c56bc11ece758742b208f3386"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html#aa8117c4c56bc11ece758742b208f3386">tvm::script::ir_builder::tirx::TIRFrame::TIRFrame</a></div><div class="ttdeci">TIRFrame(ffi::ObjectPtr&lt; TIRFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:67</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html">tvm::script::ir_builder::tirx::ThenFrameNode</a></div><div class="ttdoc">A frame that represents then.</div><div class="ttdef"><b>Definition</b> frame.h:433</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html">tvm::script::ir_builder::tirx::ThenFrameNode</a></div><div class="ttdoc">A frame that represents then.</div><div class="ttdef"><b>Definition</b> frame.h:430</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode_html_aa6d5313d5a8ea03578209898657253c4"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#aa6d5313d5a8ea03578209898657253c4">tvm::script::ir_builder::tirx::ThenFrameNode::EnterWithScope</a></div><div class="ttdeci">void EnterWithScope() final</div><div class="ttdoc">The method called when entering RAII scope.</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode_html_ae1bf7b9850a3dbf5e4e14010f9f250d2"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#ae1bf7b9850a3dbf5e4e14010f9f250d2">tvm::script::ir_builder::tirx::ThenFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.ThenFrame&quot;, ThenFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode_html_af3d2c3812406918e9073e5e840178758"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#af3d2c3812406918e9073e5e840178758">tvm::script::ir_builder::tirx::ThenFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:435</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">tvm::script::ir_builder::tirx::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:460</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode_html_af3d2c3812406918e9073e5e840178758"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html#af3d2c3812406918e9073e5e840178758">tvm::script::ir_builder::tirx::ThenFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:432</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">tvm::script::ir_builder::tirx::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:457</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html_a98723ffafbc1969bc16d8858d95ec3e7"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#a98723ffafbc1969bc16d8858d95ec3e7">tvm::script::ir_builder::tirx::ThenFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(ThenFrame, TIRFrame, ThenFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html_ae9e84c6ef5b16bd8246d898dabcb61e1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#ae9e84c6ef5b16bd8246d898dabcb61e1">tvm::script::ir_builder::tirx::ThenFrame::ThenFrame</a></div><div class="ttdeci">ThenFrame(ffi::ObjectPtr&lt; ThenFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:462</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html">tvm::script::ir_builder::tirx::WhileFrameNode</a></div><div class="ttdoc">A frame that represents while loop.</div><div class="ttdef"><b>Definition</b> frame.h:350</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html_ae9e84c6ef5b16bd8246d898dabcb61e1"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html#ae9e84c6ef5b16bd8246d898dabcb61e1">tvm::script::ir_builder::tirx::ThenFrame::ThenFrame</a></div><div class="ttdeci">ThenFrame(ffi::ObjectPtr&lt; ThenFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:459</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html">tvm::script::ir_builder::tirx::WhileFrameNode</a></div><div class="ttdoc">A frame that represents while loop.</div><div class="ttdef"><b>Definition</b> frame.h:347</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html_a31c682c1d2d1768e05d894b078c8811c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a31c682c1d2d1768e05d894b078c8811c">tvm::script::ir_builder::tirx::WhileFrameNode::TVM_FFI_DECLARE_OBJECT_INFO_FINAL</a></div><div class="ttdeci">TVM_FFI_DECLARE_OBJECT_INFO_FINAL(&quot;script.ir_builder.tirx.WhileFrame&quot;, WhileFrameNode, TIRFrameNode)</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html_a979bda599cb7517d1580a6bf13796d7c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a979bda599cb7517d1580a6bf13796d7c">tvm::script::ir_builder::tirx::WhileFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The termination condition of while.</div><div class="ttdef"><b>Definition</b> frame.h:353</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html_a979bda599cb7517d1580a6bf13796d7c"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#a979bda599cb7517d1580a6bf13796d7c">tvm::script::ir_builder::tirx::WhileFrameNode::condition</a></div><div class="ttdeci">PrimExpr condition</div><div class="ttdoc">The termination condition of while.</div><div class="ttdef"><b>Definition</b> frame.h:350</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html_ac4370eb4ce89519e1f234872fc83d9a8"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ac4370eb4ce89519e1f234872fc83d9a8">tvm::script::ir_builder::tirx::WhileFrameNode::ExitWithScope</a></div><div class="ttdeci">void ExitWithScope() final</div><div class="ttdoc">The method called when exiting RAII scope.</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html_ad2fe18d1a98e9d2b10e07147f737021e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ad2fe18d1a98e9d2b10e07147f737021e">tvm::script::ir_builder::tirx::WhileFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:355</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">tvm::script::ir_builder::tirx::WhileFrame</a></div><div class="ttdoc">Managed reference to WhileFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:375</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html_a20128982bbfec3e6d71b1fe5ec620754"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754">tvm::script::ir_builder::tirx::WhileFrame::WhileFrame</a></div><div class="ttdeci">WhileFrame(ffi::ObjectPtr&lt; WhileFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:377</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode_html_ad2fe18d1a98e9d2b10e07147f737021e"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html#ad2fe18d1a98e9d2b10e07147f737021e">tvm::script::ir_builder::tirx::WhileFrameNode::RegisterReflection</a></div><div class="ttdeci">static void RegisterReflection()</div><div class="ttdef"><b>Definition</b> frame.h:352</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">tvm::script::ir_builder::tirx::WhileFrame</a></div><div class="ttdoc">Managed reference to WhileFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:372</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html_a20128982bbfec3e6d71b1fe5ec620754"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#a20128982bbfec3e6d71b1fe5ec620754">tvm::script::ir_builder::tirx::WhileFrame::WhileFrame</a></div><div class="ttdeci">WhileFrame(ffi::ObjectPtr&lt; WhileFrameNode &gt; data)</div><div class="ttdef"><b>Definition</b> frame.h:374</div></div>
 <div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html_aa045208074c9e6b017fc83770c6e9d9f"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html#aa045208074c9e6b017fc83770c6e9d9f">tvm::script::ir_builder::tirx::WhileFrame::TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE</a></div><div class="ttdeci">TVM_FFI_DEFINE_OBJECT_REF_METHODS_NOTNULLABLE(WhileFrame, TIRFrame, WhileFrameNode)</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1BufferVar_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1BufferVar.html">tvm::tirx::BufferVar</a></div><div class="ttdoc">Checked zero-state view over an ordinary VarNode with BufferType.</div><div class="ttdef"><b>Definition</b> expr.h:50</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1IterVar_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1IterVar.html">tvm::tirx::IterVar</a></div><div class="ttdoc">Iteration Variable, represents an iteration over an integer interval.</div><div class="ttdef"><b>Definition</b> var.h:163</div></div>
diff --git a/docs/reference/api/doxygen/tirx_2script_2ir__builder_2ir_8h_source.html b/docs/reference/api/doxygen/tirx_2script_2ir__builder_2ir_8h_source.html
index 252b62ac379..ed298e9fb7b 100644
--- a/docs/reference/api/doxygen/tirx_2script_2ir__builder_2ir_8h_source.html
+++ b/docs/reference/api/doxygen/tirx_2script_2ir__builder_2ir_8h_source.html
@@ -347,16 +347,16 @@ $(document).ready(function() { init_codefold(0); });
 <div class="ttc" id="aclasstvm_1_1Type_html"><div class="ttname"><a href="classtvm_1_1Type.html">tvm::Type</a></div><div class="ttdoc">Managed reference to TypeNode.</div><div class="ttdef"><b>Definition</b> base_expr.h:78</div></div>
 <div class="ttc" id="aclasstvm_1_1Var_html"><div class="ttname"><a href="classtvm_1_1Var.html">tvm::Var</a></div><div class="ttdoc">Managed reference to VarNode.</div><div class="ttdef"><b>Definition</b> expr.h:375</div></div>
 <div class="ttc" id="aclasstvm_1_1runtime_1_1Tensor_html"><div class="ttname"><a href="classtvm_1_1runtime_1_1Tensor.html">tvm::runtime::Tensor</a></div><div class="ttdoc">Managed Tensor. The array is backed by reference counted blocks.</div><div class="ttdef"><b>Definition</b> tensor.h:49</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">tvm::script::ir_builder::tirx::AssertFrame</a></div><div class="ttdoc">Managed reference to AssertFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:244</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">tvm::script::ir_builder::tirx::AttrFrame</a></div><div class="ttdoc">Managed reference to AttrFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:336</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">tvm::script::ir_builder::tirx::DeclBufferFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:532</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">tvm::script::ir_builder::tirx::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:500</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">tvm::script::ir_builder::tirx::ForFrame</a></div><div class="ttdoc">Managed reference to ForFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:197</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">tvm::script::ir_builder::tirx::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:420</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">tvm::script::ir_builder::tirx::LaunchThreadFrame</a></div><div class="ttdoc">Managed reference to LaunchThreadFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:289</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">tvm::script::ir_builder::tirx::PrimFuncFrame</a></div><div class="ttdoc">Managed reference to PrimFuncFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:141</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">tvm::script::ir_builder::tirx::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:460</div></div>
-<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">tvm::script::ir_builder::tirx::WhileFrame</a></div><div class="ttdoc">Managed reference to WhileFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:375</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AssertFrame.html">tvm::script::ir_builder::tirx::AssertFrame</a></div><div class="ttdoc">Managed reference to AssertFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:241</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1AttrFrame.html">tvm::script::ir_builder::tirx::AttrFrame</a></div><div class="ttdoc">Managed reference to AttrFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:333</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html">tvm::script::ir_builder::tirx::DeclBufferFrame</a></div><div class="ttdef"><b>Definition</b> frame.h:529</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ElseFrame.html">tvm::script::ir_builder::tirx::ElseFrame</a></div><div class="ttdoc">Managed reference to ElseFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:497</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ForFrame.html">tvm::script::ir_builder::tirx::ForFrame</a></div><div class="ttdoc">Managed reference to ForFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:194</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1IfFrame.html">tvm::script::ir_builder::tirx::IfFrame</a></div><div class="ttdoc">Managed reference to IfFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:417</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1LaunchThreadFrame.html">tvm::script::ir_builder::tirx::LaunchThreadFrame</a></div><div class="ttdoc">Managed reference to LaunchThreadFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:286</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html">tvm::script::ir_builder::tirx::PrimFuncFrame</a></div><div class="ttdoc">Managed reference to PrimFuncFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:138</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1ThenFrame.html">tvm::script::ir_builder::tirx::ThenFrame</a></div><div class="ttdoc">Managed reference to ThenFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:457</div></div>
+<div class="ttc" id="aclasstvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame_html"><div class="ttname"><a href="classtvm_1_1script_1_1ir__builder_1_1tirx_1_1WhileFrame.html">tvm::script::ir_builder::tirx::WhileFrame</a></div><div class="ttdoc">Managed reference to WhileFrameNode.</div><div class="ttdef"><b>Definition</b> frame.h:372</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1BufferVar_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1BufferVar.html">tvm::tirx::BufferVar</a></div><div class="ttdoc">Checked zero-state view over an ordinary VarNode with BufferType.</div><div class="ttdef"><b>Definition</b> expr.h:50</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1ExecScope_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1ExecScope.html">tvm::tirx::ExecScope</a></div><div class="ttdef"><b>Definition</b> exec_scope.h:228</div></div>
 <div class="ttc" id="aclasstvm_1_1tirx_1_1Layout_html"><div class="ttname"><a href="classtvm_1_1tirx_1_1Layout.html">tvm::tirx::Layout</a></div><div class="ttdef"><b>Definition</b> layout.h:137</div></div>
diff --git a/docs/reference/api/python/script/parser.html b/docs/reference/api/python/script/parser.html
index 2d8bccaa75e..bea0c372fd6 100644
--- a/docs/reference/api/python/script/parser.html
+++ b/docs/reference/api/python/script/parser.html
@@ -851,7 +851,7 @@ default) leaves the annotation without a supported scalar bound dtype.</p></li>
 Scalar runtime parameters retain their ordinary annotation construction.</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">register_scalar_annotation</span><span class="p">(</span><span class="s2">&quot;tirx.int32&quot;</span><span class="p">,</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;int32&quot;</span><span class="p">)</span>
 <span class="c1"># Source: def f[n: T.int32](...):</span>
-<span class="c1"># Builder: n = X.resolve_type_var_(&quot;n&quot;, dtype=&quot;int32&quot;)</span>
+<span class="c1"># Builder: n = I.dynamic(&quot;n&quot;, &quot;int32&quot;)</span>
 </pre></div>
 </div>
 </dd></dl>
diff --git a/docs/reference/api/python/script/script.html b/docs/reference/api/python/script/script.html
index 219c3d05612..55e73c71db0 100644
--- a/docs/reference/api/python/script/script.html
+++ b/docs/reference/api/python/script/script.html
@@ -805,7 +805,6 @@ document.write(`
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.repeat"><code class="docutils literal notranslate"><span class="pre">repeat()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.reshape"><code class="docutils literal notranslate"><span class="pre">reshape()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.resolve_global_info_"><code class="docutils literal notranslate"><span class="pre">resolve_global_info_()</span></code></a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.resolve_type_var_"><code class="docutils literal notranslate"><span class="pre">resolve_type_var_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.return_"><code class="docutils literal notranslate"><span class="pre">return_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.reverse_sequence"><code class="docutils literal notranslate"><span class="pre">reverse_sequence()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.rewriter"><code class="docutils literal notranslate"><span class="pre">rewriter()</span></code></a></li>
@@ -1037,7 +1036,6 @@ document.write(`
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.register_script_namespace"><code class="docutils literal notranslate"><span class="pre">register_script_namespace()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.reinterpret"><code class="docutils literal notranslate"><span class="pre">reinterpret()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.resolve_global_info_"><code class="docutils literal notranslate"><span class="pre">resolve_global_info_()</span></code></a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.resolve_type_var_"><code class="docutils literal notranslate"><span class="pre">resolve_type_var_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.return_"><code class="docutils literal notranslate"><span class="pre">return_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.round"><code class="docutils literal notranslate"><span class="pre">round()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.rsqrt"><code class="docutils literal notranslate"><span class="pre">rsqrt()</span></code></a></li>
@@ -1527,8 +1525,8 @@ and start will be set to 0.</p></li>
 <li><p><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/builtins/stdtypes.html#str" title="(in Python v3.14)"><em>str</em></a>) – Source parameter name.</p></li>
 <li><p><strong>ty</strong> (<a class="reference internal" href="../ir.html#tvm.ir.Type" title="tvm.ir.Type"><em>Type</em></a><em>, </em><a class="reference internal" href="../ir.html#tvm.ir.Var" title="tvm.ir.Var"><em>Var</em></a><em>, or </em><em>callable</em>) – Parameter annotation; corresponds to <code class="docutils literal notranslate"><span class="pre">annotation</span></code> in the shared
 <code class="xref py py-func docutils literal notranslate"><span class="pre">tvm.script.ir_builder.parser_protocol.arg_()</span></code> contract. Primitive
-annotations resolve through the active signature symbol context; an
-existing variable retains its identity.</p></li>
+annotations create a fresh parameter; an existing variable retains
+its identity.</p></li>
 <li><p><strong>span</strong> (<em>SpanEntry</em><em>, </em><a class="reference internal" href="../ir.html#tvm.ir.Span" title="tvm.ir.Span"><em>Span</em></a><em> or </em><em>None</em><em>, </em><em>optional</em>) – Source location attached to the constructed IR; None leaves it unspecified.</p></li>
 </ul>
 </dd>
@@ -4699,12 +4697,6 @@ calling this hook. No source span is attached to an existing metadata object.</p
 </div>
 </dd></dl>
 
-<dl class="py function">
-<dt class="sig sig-object py" id="tvm.script.relax.resolve_type_var_">
-<span class="sig-prename descclassname"><span class="pre">tvm.script.relax.</span></span><span class="sig-name descname"><span class="pre">resolve_type_var_</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/builtins/stdtypes.html#str" title="(in Python v3.14)"><span class [...]
-<dd><p>Implements <code class="xref py py-func docutils literal notranslate"><span class="pre">tvm.script.ir_builder.parser_protocol.resolve_type_var_()</span></code>.</p>
-</dd></dl>
-
 <dl class="py function">
 <dt class="sig sig-object py" id="tvm.script.relax.return_">
 <span class="sig-prename descclassname"><span class="pre">tvm.script.relax.</span></span><span class="sig-name descname"><span class="pre">return_</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.14)"><span class="pre [...]
@@ -5718,8 +5710,8 @@ If k &gt; 0, the diagonal is above the main diagonal.</p></li>
 </dd>
 </dl>
 <p class="rubric">Notes</p>
-<p>This constructor creates a new symbol on each call. Use the language variant
-resolver for symbols shared by name within a function signature.</p>
+<p>This constructor creates a new symbol on each call. Reuse the returned
+variable to share its identity across annotations and function parameters.</p>
 </dd></dl>
 
 <dl class="py function">
@@ -8837,12 +8829,6 @@ The rounding rule is to the nearest value, rounding half up
 <p>TIRx does not define global-info selectors.</p>
 </dd></dl>
 
-<dl class="py function">
-<dt class="sig sig-object py" id="tvm.script.tirx.resolve_type_var_">
-<span class="sig-prename descclassname"><span class="pre">tvm.script.tirx.</span></span><span class="sig-name descname"><span class="pre">resolve_type_var_</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/builtins/stdtypes.html#str" title="(in Python v3.14)"><span class= [...]
-<dd><p>Implements <code class="xref py py-func docutils literal notranslate"><span class="pre">tvm.script.ir_builder.parser_protocol.resolve_type_var_()</span></code>.</p>
-</dd></dl>
-
 <dl class="py function">
 <dt class="sig sig-object py" id="tvm.script.tirx.return_">
 <span class="sig-prename descclassname"><span class="pre">tvm.script.tirx.</span></span><span class="sig-name descname"><span class="pre">return_</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.14)"><span class="pre" [...]
@@ -10636,7 +10622,6 @@ of <code class="docutils literal notranslate"><span class="pre">R.macro</span></
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.repeat"><code class="docutils literal notranslate"><span class="pre">repeat()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.reshape"><code class="docutils literal notranslate"><span class="pre">reshape()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.resolve_global_info_"><code class="docutils literal notranslate"><span class="pre">resolve_global_info_()</span></code></a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.resolve_type_var_"><code class="docutils literal notranslate"><span class="pre">resolve_type_var_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.return_"><code class="docutils literal notranslate"><span class="pre">return_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.reverse_sequence"><code class="docutils literal notranslate"><span class="pre">reverse_sequence()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.relax.rewriter"><code class="docutils literal notranslate"><span class="pre">rewriter()</span></code></a></li>
@@ -10868,7 +10853,6 @@ of <code class="docutils literal notranslate"><span class="pre">R.macro</span></
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.register_script_namespace"><code class="docutils literal notranslate"><span class="pre">register_script_namespace()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.reinterpret"><code class="docutils literal notranslate"><span class="pre">reinterpret()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.resolve_global_info_"><code class="docutils literal notranslate"><span class="pre">resolve_global_info_()</span></code></a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.resolve_type_var_"><code class="docutils literal notranslate"><span class="pre">resolve_type_var_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.return_"><code class="docutils literal notranslate"><span class="pre">return_()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.round"><code class="docutils literal notranslate"><span class="pre">round()</span></code></a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#tvm.script.tirx.rsqrt"><code class="docutils literal notranslate"><span class="pre">rsqrt()</span></code></a></li>
diff --git a/docs/reference/api/typedoc/classes/ArtifactCache.html b/docs/reference/api/typedoc/classes/ArtifactCache.html
index dd8a5e22a4d..0a582a65114 100644
--- a/docs/reference/api/typedoc/classes/ArtifactCache.html
+++ b/docs/reference/api/typedoc/classes/ArtifactCache.html
@@ -18,7 +18,7 @@
 <ul class="tsd-hierarchy">
 <li><a href="../interfaces/ArtifactCacheTemplate.html" class="tsd-signature-type tsd-kind-interface">ArtifactCacheTemplate</a></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L366">artifact_cache.ts:366</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L366">artifact_cache.ts:366</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -51,7 +51,7 @@
 <li><span><span class="tsd-kind-parameter">scope</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">ArtifactCache</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L370">artifact_cache.ts:370</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L370">artifact_cache.ts:370</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -91,7 +91,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#addtocache">addToCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L407">artifact_cache.ts:407</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L407">artifact_cache.ts:407</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="deleteincache"><span>delete<wbr/>In<wbr/>Cache</span><a href="#deleteincache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -109,7 +109,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#deleteincache">deleteInCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L437">artifact_cache.ts:437</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L437">artifact_cache.ts:437</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="fetchwithcache"><span>fetch<wbr/>With<wbr/>Cache</span><a href="#fetchwithcache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -134,7 +134,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#fetchwithcache">fetchWithCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L397">artifact_cache.ts:397</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L397">artifact_cache.ts:397</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="hasallkeys"><span>has<wbr/>All<wbr/>Keys</span><a href="#hasallkeys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -153,7 +153,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#hasallkeys">hasAllKeys</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L423">artifact_cache.ts:423</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L423">artifact_cache.ts:423</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="responsetostoretype"><span>response<wbr/>Tostoretype</span><a href="#responsetostoretype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -169,7 +169,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">storetype</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L377">artifact_cache.ts:377</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L377">artifact_cache.ts:377</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/ArtifactCrossOriginStorageCache.html b/docs/reference/api/typedoc/classes/ArtifactCrossOriginStorageCache.html
index 50d7b42ae6a..80c63596ee8 100644
--- a/docs/reference/api/typedoc/classes/ArtifactCrossOriginStorageCache.html
+++ b/docs/reference/api/typedoc/classes/ArtifactCrossOriginStorageCache.html
@@ -18,7 +18,7 @@
 <ul class="tsd-hierarchy">
 <li><a href="../interfaces/ArtifactCacheTemplate.html" class="tsd-signature-type tsd-kind-interface">ArtifactCacheTemplate</a></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L730">artifact_cache.ts:730</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L730">artifact_cache.ts:730</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -51,7 +51,7 @@
 <li><span><span class="tsd-kind-parameter">storage</span>: <a href="_internal_.CrossOriginStorage.html" class="tsd-signature-type tsd-kind-class">CrossOriginStorage</a><span class="tsd-signature-symbol"> = ...</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">ArtifactCrossOriginStorageCache</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L733">artifact_cache.ts:733</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L733">artifact_cache.ts:733</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -88,7 +88,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#addtocache">addToCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L757">artifact_cache.ts:757</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L757">artifact_cache.ts:757</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="deleteincache"><span>delete<wbr/>In<wbr/>Cache</span><a href="#deleteincache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -107,7 +107,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#deleteincache">deleteInCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L789">artifact_cache.ts:789</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L789">artifact_cache.ts:789</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="fetchwithcache"><span>fetch<wbr/>With<wbr/>Cache</span><a href="#fetchwithcache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -149,7 +149,7 @@ return the actual data object rather than the request. There are two options:</p
 <aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#fetchwithcache">fetchWithCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L740">artifact_cache.ts:740</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L740">artifact_cache.ts:740</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="hasallkeys"><span>has<wbr/>All<wbr/>Keys</span><a href="#hasallkeys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -168,7 +168,7 @@ return the actual data object rather than the request. There are two options:</p
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#hasallkeys">hasAllKeys</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L779">artifact_cache.ts:779</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L779">artifact_cache.ts:779</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/ArtifactIndexedDBCache.html b/docs/reference/api/typedoc/classes/ArtifactIndexedDBCache.html
index aebd0ab58fb..3c02abebb3a 100644
--- a/docs/reference/api/typedoc/classes/ArtifactIndexedDBCache.html
+++ b/docs/reference/api/typedoc/classes/ArtifactIndexedDBCache.html
@@ -18,7 +18,7 @@
 <ul class="tsd-hierarchy">
 <li><a href="../interfaces/ArtifactCacheTemplate.html" class="tsd-signature-type tsd-kind-interface">ArtifactCacheTemplate</a></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L448">artifact_cache.ts:448</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L448">artifact_cache.ts:448</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -52,7 +52,7 @@
 <li><span><span class="tsd-kind-parameter">dbName</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">ArtifactIndexedDBCache</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L453">artifact_cache.ts:453</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L453">artifact_cache.ts:453</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -92,7 +92,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#addtocache">addToCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L563">artifact_cache.ts:563</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L563">artifact_cache.ts:563</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="addtoindexeddb"><span>add<wbr/>To<wbr/>Indexed<wbr/>DB</span><a href="#addtoindexeddb" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -107,7 +107,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <li><span><code class="tsd-tag">Optional</code><span class="tsd-kind-parameter">storetype</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L538">artifact_cache.ts:538</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L538">artifact_cache.ts:538</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="asyncgethelper"><span>async<wbr/>Get<wbr/>Helper</span><a href="#asyncgethelper" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -120,7 +120,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <li><span><span class="tsd-kind-parameter">url</span>: <span class="tsd-signature-type">string</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L505">artifact_cache.ts:505</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L505">artifact_cache.ts:505</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="deleteincache"><span>delete<wbr/>In<wbr/>Cache</span><a href="#deleteincache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -139,7 +139,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#deleteincache">deleteInCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L614">artifact_cache.ts:614</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L614">artifact_cache.ts:614</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="fetchwithcache"><span>fetch<wbr/>With<wbr/>Cache</span><a href="#fetchwithcache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -181,7 +181,7 @@ return the actual data object rather than the request. There are two options:</p
 <aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#fetchwithcache">fetchWithCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L522">artifact_cache.ts:522</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L522">artifact_cache.ts:522</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="hasallkeys"><span>has<wbr/>All<wbr/>Keys</span><a href="#hasallkeys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -200,7 +200,7 @@ return the actual data object rather than the request. There are two options:</p
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#hasallkeys">hasAllKeys</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L582">artifact_cache.ts:582</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L582">artifact_cache.ts:582</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/ArtifactOPFSCache.html b/docs/reference/api/typedoc/classes/ArtifactOPFSCache.html
index 542e0b1513a..c9f53ec5976 100644
--- a/docs/reference/api/typedoc/classes/ArtifactOPFSCache.html
+++ b/docs/reference/api/typedoc/classes/ArtifactOPFSCache.html
@@ -18,7 +18,7 @@
 <ul class="tsd-hierarchy">
 <li><a href="../interfaces/ArtifactCacheTemplate.html" class="tsd-signature-type tsd-kind-interface">ArtifactCacheTemplate</a></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L634">artifact_cache.ts:634</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L634">artifact_cache.ts:634</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -52,7 +52,7 @@
 <li><span><span class="tsd-kind-parameter">accessMode</span>: <a href="../types/OPFSAccessMode.html" class="tsd-signature-type tsd-kind-type-alias">OPFSAccessMode</a><span class="tsd-signature-symbol"> = &quot;async&quot;</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">ArtifactOPFSCache</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L637">artifact_cache.ts:637</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L637">artifact_cache.ts:637</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -89,7 +89,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#addtocache">addToCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L677">artifact_cache.ts:677</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L677">artifact_cache.ts:677</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="deleteincache"><span>delete<wbr/>In<wbr/>Cache</span><a href="#deleteincache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -108,7 +108,7 @@ data rather than a request, we specify <code>storagetype</code>. There are two o
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#deleteincache">deleteInCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L705">artifact_cache.ts:705</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L705">artifact_cache.ts:705</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="fetchwithcache"><span>fetch<wbr/>With<wbr/>Cache</span><a href="#fetchwithcache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -150,7 +150,7 @@ return the actual data object rather than the request. There are two options:</p
 <aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#fetchwithcache">fetchWithCache</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L645">artifact_cache.ts:645</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L645">artifact_cache.ts:645</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="hasallkeys"><span>has<wbr/>All<wbr/>Keys</span><a href="#hasallkeys" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -169,7 +169,7 @@ return the actual data object rather than the request. There are two options:</p
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/ArtifactCacheTemplate.html">ArtifactCacheTemplate</a>.<a href="../interfaces/ArtifactCacheTemplate.html#hasallkeys">hasAllKeys</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L698">artifact_cache.ts:698</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L698">artifact_cache.ts:698</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="isavailable"><code class="tsd-tag">Static</code><span>is<wbr/>Available</span><a href="#isavailable" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -178,7 +178,7 @@ return the actual data object rather than the request. There are two options:</p
 <div class="tsd-description">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/artifact_cache.ts#L641">artifact_cache.ts:641</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/artifact_cache.ts#L641">artifact_cache.ts:641</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/CacheState.html b/docs/reference/api/typedoc/classes/CacheState.html
index dbc7558427f..e5e7bd4c190 100644
--- a/docs/reference/api/typedoc/classes/CacheState.html
+++ b/docs/reference/api/typedoc/classes/CacheState.html
@@ -39,7 +39,7 @@ that reference the old buffer stale.</li>
 </ul>
 </div></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/cache_state.ts#L138">cache_state.ts:138</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/cache_state.ts#L138">cache_state.ts:138</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -73,7 +73,7 @@ that reference the old buffer stale.</li>
 <li><span><span class="tsd-kind-parameter">shapeCacheSize</span>: <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> = 256</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">CacheState</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/cache_state.ts#L149">cache_state.ts:149</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/cache_state.ts#L149">cache_state.ts:149</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="properties-1">Properties<a href="#properties-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -86,7 +86,7 @@ Value: TVM ShapeTuple object (Disposable)</p>
 <p>Invalidation rule: None required — shape tuples are immutable.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/cache_state.ts#L147">cache_state.ts:147</a></li></ul></aside></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/cache_state.ts#L147">cache_state.ts:147</a></li></ul></aside></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -100,7 +100,7 @@ Value: TVM ShapeTuple object (Disposable)</p>
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/cache_state.ts#L169">cache_state.ts:169</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/cache_state.ts#L169">cache_state.ts:169</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="computeshapekey"><code class="tsd-tag">Static</code><span>compute<wbr/>Shape<wbr/>Key</span><a href="#computeshapekey" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -118,7 +118,7 @@ Value: TVM ShapeTuple object (Disposable)</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><p>String key suitable for shapeCache lookup.</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/cache_state.ts#L162">cache_state.ts:162</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/cache_state.ts#L162">cache_state.ts:162</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/DLDataType.html b/docs/reference/api/typedoc/classes/DLDataType.html
index a3e24281c17..fa458624082 100644
--- a/docs/reference/api/typedoc/classes/DLDataType.html
+++ b/docs/reference/api/typedoc/classes/DLDataType.html
@@ -14,7 +14,7 @@
 <div class="tsd-comment tsd-typography"><p>Runtime data type of Tensor.</p>
 </div></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L415">runtime.ts:415</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L415">runtime.ts:415</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -52,7 +52,7 @@
 <li><span><span class="tsd-kind-parameter">lanes</span>: <span class="tsd-signature-type">number</span></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">DLDataType</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L423">runtime.ts:423</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L423">runtime.ts:423</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="properties-1">Properties<a href="#properties-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -62,21 +62,21 @@
 <div class="tsd-comment tsd-typography"><p>Number of bits in the data type.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L419">runtime.ts:419</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L419">runtime.ts:419</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="code"><span>code</span><a href="#code" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">code</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 <div class="tsd-comment tsd-typography"><p>The type code</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L417">runtime.ts:417</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L417">runtime.ts:417</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="lanes"><span>lanes</span><a href="#lanes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">lanes</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 <div class="tsd-comment tsd-typography"><p>Number of vector lanes.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L421">runtime.ts:421</a></li></ul></aside></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L421">runtime.ts:421</a></li></ul></aside></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -88,7 +88,7 @@
 <div class="tsd-description">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L438">runtime.ts:438</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L438">runtime.ts:438</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="tostring"><span>to<wbr/>String</span><a href="#tostring" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -97,7 +97,7 @@
 <div class="tsd-description">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L429">runtime.ts:429</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L429">runtime.ts:429</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/DLDevice.html b/docs/reference/api/typedoc/classes/DLDevice.html
index 634c2cc2511..f2928e27299 100644
--- a/docs/reference/api/typedoc/classes/DLDevice.html
+++ b/docs/reference/api/typedoc/classes/DLDevice.html
@@ -14,7 +14,7 @@
 <div class="tsd-comment tsd-typography"><p>Represent a runtime context where a Tensor can reside.</p>
 </div></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L355">runtime.ts:355</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L355">runtime.ts:355</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -51,7 +51,7 @@
 <li><span><span class="tsd-kind-parameter">lib</span>: <a href="_internal_.FFILibrary.html" class="tsd-signature-type tsd-kind-class">FFILibrary</a></span></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="" class="tsd-signature-type tsd-kind-class">DLDevice</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L363">runtime.ts:363</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L363">runtime.ts:363</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="properties-1">Properties<a href="#properties-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -61,14 +61,14 @@
 <div class="tsd-comment tsd-typography"><p>The device index.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L359">runtime.ts:359</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L359">runtime.ts:359</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="devicetype"><span>device<wbr/>Type</span><a href="#devicetype" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">deviceType</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
 <div class="tsd-comment tsd-typography"><p>The device type code of the device.</p>
 </div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L357">runtime.ts:357</a></li></ul></aside></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L357">runtime.ts:357</a></li></ul></aside></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -82,7 +82,7 @@
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L382">runtime.ts:382</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L382">runtime.ts:382</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="tostring"><span>to<wbr/>String</span><a href="#tostring" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -91,7 +91,7 @@
 <div class="tsd-description">
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L389">runtime.ts:389</a></li></ul></aside></div></li></ul></section></section></details></div>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L389">runtime.ts:389</a></li></ul></aside></div></li></ul></section></section></details></div>
 <div class="col-sidebar">
 <div class="page-menu">
 <div class="tsd-navigation settings">
diff --git a/docs/reference/api/typedoc/classes/Instance.html b/docs/reference/api/typedoc/classes/Instance.html
index 836cf8229aa..f78ee730672 100644
--- a/docs/reference/api/typedoc/classes/Instance.html
+++ b/docs/reference/api/typedoc/classes/Instance.html
@@ -31,7 +31,7 @@ are not tracked through JS native garbage collection mechanism.</p>
 <ul class="tsd-hierarchy">
 <li><a href="../interfaces/Disposable.html" class="tsd-signature-type tsd-kind-interface">Disposable</a></li></ul></section><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L912">runtime.ts:912</a></li></ul></aside>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L912">runtime.ts:912</a></li></ul></aside>
 <section class="tsd-panel-group tsd-index-group">
 <section class="tsd-panel tsd-index-panel">
 <details class="tsd-index-content tsd-accordion" open><summary class="tsd-accordion-summary tsd-index-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
@@ -137,7 +137,7 @@ a WASI object, or an object containing wasmLibraryProvider field.</p>
 <h4 class="tsd-anchor-link" id="see">See<a href="#see" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4><p>Please use the async version <a href="../functions/instantiate.html" class="tsd-kind-function">instantiate</a> when targeting browsers.</p>
 </div></div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L945">runtime.ts:945</a></li></ul></aside></div></li></ul></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L945">runtime.ts:945</a></li></ul></aside></div></li></ul></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Properties"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="properties-1">Properties<a href="#properties-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -145,17 +145,17 @@ a WASI object, or an object containing wasmLibraryProvider field.</p>
 <h3 class="tsd-anchor-link" id="cachemetadata"><span>cache<wbr/>Metadata</span><a href="#cachemetadata" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">cacheMetadata</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = {}</span></div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L915">runtime.ts:915</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L915">runtime.ts:915</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="exports"><span>exports</span><a href="#exports" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">exports</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span> <span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L914">runtime.ts:914</a></li></ul></aside></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L914">runtime.ts:914</a></li></ul></aside></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="memory"><span>memory</span><a href="#memory" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <div class="tsd-signature"><span class="tsd-kind-property">memory</span><span class="tsd-signature-symbol">:</span> <a href="_internal_.Memory.html" class="tsd-signature-type tsd-kind-class">Memory</a></div><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L913">runtime.ts:913</a></li></ul></aside></section></section></details>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L913">runtime.ts:913</a></li></ul></aside></section></section></details>
 <details class="tsd-panel-group tsd-member-group tsd-accordion" open><summary class="tsd-accordion-summary" data-key="section-Methods"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>
 <h2 class="tsd-anchor-link" id="methods-1">Methods<a href="#methods-1" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2></summary>
 <section>
@@ -188,7 +188,7 @@ token_freqs[i] is the frequency of token_ids[i], for all i. And all token_freqs
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1752">runtime.ts:1752</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1752">runtime.ts:1752</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="applyrepetitionpenalty"><span>apply<wbr/>Repetition<wbr/>Penalty</span><a href="#applyrepetitionpenalty" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -211,7 +211,7 @@ token_freqs[i] is the frequency of token_ids[i], for all i. And all token_freqs
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1739">runtime.ts:1739</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1739">runtime.ts:1739</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="applysoftmaxwithtemperature"><span>apply<wbr/>Softmax<wbr/>With<wbr/>Temperature</span><a href="#applysoftmaxwithtemperature" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -231,7 +231,7 @@ token_freqs[i] is the frequency of token_ids[i], for all i. And all token_freqs
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1769">runtime.ts:1769</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1769">runtime.ts:1769</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="asyncifyenabled"><span>asyncify<wbr/>Enabled</span><a href="#asyncifyenabled" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -243,7 +243,7 @@ token_freqs[i] is the frequency of token_ids[i], for all i. And all token_freqs
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><p>The asynctify mode toggle</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1017">runtime.ts:1017</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1017">runtime.ts:1017</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="asyncloadwebgpupipelines"><span>async<wbr/>Load<wbr/>Web<wbr/>GPU<wbr/>Pipelines</span><a href="#asyncloadwebgpupipelines" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -260,7 +260,7 @@ token_freqs[i] is the frequency of token_ids[i], for all i. And all token_freqs
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L2000">runtime.ts:2000</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L2000">runtime.ts:2000</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="attachtocurrentscope"><span>attach<wbr/>To<wbr/>Current<wbr/>Scope</span><a href="#attachtocurrentscope" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -287,7 +287,7 @@ the current scope. You only need to do so when you call
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a class="tsd-signature-type tsd-kind-type-parameter" href="#attachtocurrentscopet">T</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1087">runtime.ts:1087</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1087">runtime.ts:1087</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="beginscope"><span>begin<wbr/>Scope</span><a href="#beginscope" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -298,7 +298,7 @@ the current scope. You only need to do so when you call
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1046">runtime.ts:1046</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1046">runtime.ts:1046</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="benchmark"><span>benchmark</span><a href="#benchmark" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -330,7 +330,7 @@ the current scope. You only need to do so when you call
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L992">runtime.ts:992</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L992">runtime.ts:992</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="bindcanvas"><span>bind<wbr/>Canvas</span><a href="#bindcanvas" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -347,7 +347,7 @@ the current scope. You only need to do so when you call
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1777">runtime.ts:1777</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1777">runtime.ts:1777</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="clearcanvas"><span>clear<wbr/>Canvas</span><a href="#clearcanvas" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -358,7 +358,7 @@ the current scope. You only need to do so when you call
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1808">runtime.ts:1808</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1808">runtime.ts:1808</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="concatembeddings"><span>concat<wbr/>Embeddings</span><a href="#concatembeddings" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -377,7 +377,7 @@ the current scope. You only need to do so when you call
 <h4 class="tsd-returns-title">Returns <a href="Tensor.html" class="tsd-signature-type tsd-kind-class">Tensor</a></h4><p>An Tensor of shape (\sum_{i} {m}, hidden_size)</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1845">runtime.ts:1845</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1845">runtime.ts:1845</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="cpu"><span>cpu</span><a href="#cpu" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -394,7 +394,7 @@ the current scope. You only need to do so when you call
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a href="DLDevice.html" class="tsd-signature-type tsd-kind-class">DLDevice</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1633">runtime.ts:1633</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1633">runtime.ts:1633</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="createvirtualmachine"><span>create<wbr/>Virtual<wbr/>Machine</span><a href="#createvirtualmachine" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -412,7 +412,7 @@ the current scope. You only need to do so when you call
 <h4 class="tsd-returns-title">Returns <a href="VirtualMachine.html" class="tsd-signature-type tsd-kind-class">VirtualMachine</a></h4><p>The created virtual machime.</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1249">runtime.ts:1249</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1249">runtime.ts:1249</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="detachfromcurrentscope"><span>detach<wbr/>From<wbr/>Current<wbr/>Scope</span><a href="#detachfromcurrentscope" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -437,7 +437,7 @@ so it won't be released via auto-release during endscope.</p>
 </div></li></ul></div>
 <h4 class="tsd-returns-title">Returns <a class="tsd-signature-type tsd-kind-type-parameter" href="#detachfromcurrentscopet">T</a></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1114">runtime.ts:1114</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1114">runtime.ts:1114</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="device"><span>device</span><a href="#device" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -458,7 +458,7 @@ so it won't be released via auto-release during endscope.</p>
 <h4 class="tsd-returns-title">Returns <a href="DLDevice.html" class="tsd-signature-type tsd-kind-class">DLDevice</a></h4><p>The created device.</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1625">runtime.ts:1625</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1625">runtime.ts:1625</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="dispose"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -472,7 +472,7 @@ only the first call will take effect.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <p>Implementation of <a href="../interfaces/Disposable.html">Disposable</a>.<a href="../interfaces/Disposable.html#dispose">dispose</a></p>
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1021">runtime.ts:1021</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1021">runtime.ts:1021</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="empty"><span>empty</span><a href="#empty" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -496,7 +496,7 @@ only the first call will take effect.</p>
 <h4 class="tsd-returns-title">Returns <a href="Tensor.html" class="tsd-signature-type tsd-kind-class">Tensor</a></h4><p>The created ndarray.</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1653">runtime.ts:1653</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1653">runtime.ts:1653</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="endscope"><span>end<wbr/>Scope</span><a href="#endscope" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -510,7 +510,7 @@ a value to parent scope.</p>
 </div>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1057">runtime.ts:1057</a></li></ul></aside></div></li></ul></section>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1057">runtime.ts:1057</a></li></ul></aside></div></li></ul></section>
 <section class="tsd-panel tsd-member">
 <h3 class="tsd-anchor-link" id="fetchtensorcache"><span>fetch<wbr/>Tensor<wbr/>Cache</span><a href="#fetchtensorcache" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
 <ul class="tsd-signatures">
@@ -534,7 +534,7 @@ a value to parent scope.</p>
 <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4><p>The meta data</p>
 <aside class="tsd-sources">
 <ul>
-<li>Defined in <a href="https://github.com/apache/tvm/blob/4c4974551c4cf9d2fe6d97c8a132b5068f1f410c/web/src/runtime.ts#L1337">runtime.ts:1337</a></li></ul></aside></div></li>
+<li>Defined in <a href="https://github.com/apache/tvm/blob/615d506e0eac781284f472bbf3c185235dc1c76e/web/src/runtime.ts#L1337">runtime.ts:1337</a></li></ul></aside></div></li>
 <li class="">
 <div class="tsd-signature tsd-anchor-link" id="fetchtensorcache-2"><span class="tsd-kind-call-signature">fetchTensorCache</span><span class="tsd-signature-symbol">(</span><br/>    <span class="tsd-kind-parameter">tensorCacheUrl</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">,</span><br/>    <span class="tsd-kind-parameter">device</span><span class="tsd-signature-symbol">:</span> <a href="DLDevice.html" cl [...]
 <div class="tsd-description">
@@ -561,7 +561,7 @@ a value to parent scope.</p>
... 3514 lines suppressed ...