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 2022/06/09 18:56:04 UTC

[tvm-site] branch asf-site updated: deploying docs (apache/tvm@7f1b819cdbc70fabaabe9374932e98a3c4bc4660)

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 af1be8c25 deploying docs (apache/tvm@7f1b819cdbc70fabaabe9374932e98a3c4bc4660)
af1be8c25 is described below

commit af1be8c256fedbe2d501ebe25a80fbd9bf25064b
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Thu Jun 9 18:55:58 2022 +0000

    deploying docs (apache/tvm@7f1b819cdbc70fabaabe9374932e98a3c4bc4660)
---
 .../how_to/compile_models/from_mxnet.rst.txt       |    2 +-
 .../how_to/compile_models/from_oneflow.rst.txt     |    2 +-
 .../how_to/compile_models/from_paddle.rst.txt      |    2 +-
 .../how_to/compile_models/from_pytorch.rst.txt     |    2 +-
 .../how_to/compile_models/from_tensorflow.rst.txt  |    5 +
 .../compile_models/sg_execution_times.rst.txt      |   22 +-
 .../deploy_models/deploy_model_on_android.rst.txt  |    2 +-
 .../deploy_object_detection_pytorch.rst.txt        |    4 +-
 .../deploy_models/deploy_prequantized.rst.txt      |    6 +-
 .../deploy_prequantized_tflite.rst.txt             |    4 +-
 .../how_to/deploy_models/deploy_quantized.rst.txt  |    2 +-
 .../deploy_models/deploy_ssd_gluoncv.rst.txt       |    4 +-
 .../deploy_models/sg_execution_times.rst.txt       |   16 +-
 .../extend_tvm/bring_your_own_datatypes.rst.txt    |    2 +-
 .../how_to/extend_tvm/sg_execution_times.rst.txt   |   10 +-
 .../how_to/extend_tvm/use_pass_instrument.rst.txt  |   16 +-
 .../optimize_operators/opt_conv_cuda.rst.txt       |    2 +-
 .../optimize_operators/opt_conv_tensorcore.rst.txt |    2 +-
 .../how_to/optimize_operators/opt_gemm.rst.txt     |   16 +-
 .../optimize_operators/sg_execution_times.rst.txt  |    8 +-
 .../sg_execution_times.rst.txt                     |   16 +-
 .../tune_conv2d_layer_cuda.rst.txt                 |    4 +-
 .../tune_network_cuda.rst.txt                      |    2 +-
 .../tune_network_x86.rst.txt                       |    4 +-
 .../tune_sparse_x86.rst.txt                        |   82 +-
 .../tune_with_autotvm/sg_execution_times.rst.txt   |   12 +-
 .../tune_with_autotvm/tune_conv2d_cuda.rst.txt     |  226 +--
 .../work_with_microtvm/micro_autotune.rst.txt      |   16 +-
 .../how_to/work_with_microtvm/micro_train.rst.txt  |   12 +-
 .../work_with_microtvm/sg_execution_times.rst.txt  |   12 +-
 .../work_with_relay/sg_execution_times.rst.txt     |    8 +-
 .../work_with_schedules/sg_execution_times.rst.txt |   18 +-
 .../how_to/work_with_schedules/tensorize.rst.txt   |    2 +-
 .../tutorials/autotvm/sg_execution_times.rst.txt   |    6 +-
 .../frontend/deploy_classification.rst.txt         |    2 +-
 .../tutorials/frontend/deploy_detection.rst.txt    |    2 +-
 .../tutorials/frontend/sg_execution_times.rst.txt  |    6 +-
 .../tutorials/optimize/sg_execution_times.rst.txt  |    6 +-
 .../topic/vta/tutorials/sg_execution_times.rst.txt |    6 +-
 .../tutorial/auto_scheduler_matmul_x86.rst.txt     |    9 +-
 docs/_sources/tutorial/autotvm_relay_x86.rst.txt   |   54 +-
 .../tutorial/cross_compilation_and_rpc.rst.txt     |    2 +-
 docs/_sources/tutorial/intro_topi.rst.txt          |    2 +-
 docs/_sources/tutorial/sg_execution_times.rst.txt  |   26 +-
 .../tutorial/tensor_expr_get_started.rst.txt       |   47 +-
 docs/commit_hash                                   |    2 +-
 docs/genindex.html                                 |    8 +-
 docs/how_to/compile_models/from_mxnet.html         |    2 +-
 docs/how_to/compile_models/from_oneflow.html       |  182 +-
 docs/how_to/compile_models/from_paddle.html        |    2 +-
 docs/how_to/compile_models/from_pytorch.html       |    6 +-
 docs/how_to/compile_models/from_tensorflow.html    |    1 +
 docs/how_to/compile_models/sg_execution_times.html |   22 +-
 .../deploy_models/deploy_model_on_android.html     |    2 +-
 .../deploy_object_detection_pytorch.html           |   20 +-
 docs/how_to/deploy_models/deploy_prequantized.html |    7 +-
 .../deploy_models/deploy_prequantized_tflite.html  |    4 +-
 docs/how_to/deploy_models/deploy_quantized.html    |    2 +-
 docs/how_to/deploy_models/deploy_ssd_gluoncv.html  |   38 +-
 docs/how_to/deploy_models/sg_execution_times.html  |   16 +-
 .../extend_tvm/bring_your_own_datatypes.html       |    2 +-
 docs/how_to/extend_tvm/sg_execution_times.html     |   10 +-
 docs/how_to/extend_tvm/use_pass_instrument.html    |   16 +-
 docs/how_to/optimize_operators/opt_conv_cuda.html  |    2 +-
 .../optimize_operators/opt_conv_tensorcore.html    |    2 +-
 docs/how_to/optimize_operators/opt_gemm.html       |   16 +-
 .../optimize_operators/sg_execution_times.html     |    8 +-
 .../sg_execution_times.html                        |   14 +-
 .../tune_conv2d_layer_cuda.html                    |    4 +-
 .../tune_with_autoscheduler/tune_network_cuda.html |    2 +-
 .../tune_with_autoscheduler/tune_network_x86.html  |    4 +-
 .../tune_with_autoscheduler/tune_sparse_x86.html   |   82 +-
 .../tune_with_autotvm/sg_execution_times.html      |   12 +-
 .../how_to/tune_with_autotvm/tune_conv2d_cuda.html |  226 +--
 docs/how_to/work_with_microtvm/micro_autotune.html |   16 +-
 docs/how_to/work_with_microtvm/micro_train.html    |   12 +-
 .../work_with_microtvm/sg_execution_times.html     |   12 +-
 .../how_to/work_with_relay/sg_execution_times.html |    8 +-
 .../work_with_schedules/sg_execution_times.html    |   18 +-
 docs/how_to/work_with_schedules/tensorize.html     |    2 +-
 docs/objects.inv                                   |  Bin 22582 -> 22599 bytes
 docs/reference/api/doxygen/array_8h.html           |    2 +-
 docs/reference/api/doxygen/array_8h__dep__incl.svg | 1122 +++++------
 .../api/doxygen/attr__registry__map_8h.html        |    2 +-
 .../doxygen/attr__registry__map_8h__dep__incl.svg  |  915 +++++----
 docs/reference/api/doxygen/diagnostic_8h.html      |    2 +-
 .../api/doxygen/diagnostic_8h__dep__incl.svg       |  678 +++----
 docs/reference/api/doxygen/dir_000011_000024.html  |    2 +-
 .../dir_02be2c9d68e402f80df60bd528724ee5_dep.svg   |    4 +-
 .../dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg   |    4 +-
 .../dir_5da96592f3a7c442b838b075c58254c2.html      |    2 +-
 .../dir_5da96592f3a7c442b838b075c58254c2_dep.svg   |  168 +-
 .../dir_63946bee875c6d52bce55e72a67a86ad_dep.svg   |    4 +-
 .../dir_72c2f11201cd7636dc7624de0754daa5.html      |    2 +-
 .../dir_72c2f11201cd7636dc7624de0754daa5_dep.svg   |  230 ++-
 .../dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg   |    4 +-
 .../dir_a98464176f1216e334ac3bbacd433085_dep.svg   |    4 +-
 .../dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg   |    4 +-
 docs/reference/api/doxygen/error_8h.html           |    2 +-
 docs/reference/api/doxygen/error_8h__dep__incl.svg |  600 +++---
 docs/reference/api/doxygen/functor_8h.html         |    2 +-
 .../api/doxygen/functor_8h__dep__incl.svg          |  950 ++++-----
 docs/reference/api/doxygen/instrument_8h.html      |    2 +-
 .../api/doxygen/instrument_8h__dep__incl.svg       |  714 +++----
 docs/reference/api/doxygen/ir_2adt_8h.html         |    2 +-
 .../api/doxygen/ir_2adt_8h__dep__incl.svg          |  802 ++++----
 docs/reference/api/doxygen/ir_2function_8h.html    |    2 +-
 .../api/doxygen/ir_2function_8h__dep__incl.svg     |  834 ++++----
 docs/reference/api/doxygen/ir_2module_8h.html      |    2 +-
 .../api/doxygen/ir_2module_8h__dep__incl.svg       |  818 ++++----
 docs/reference/api/doxygen/ir_2transform_8h.html   |    2 +-
 .../api/doxygen/ir_2transform_8h__dep__incl.svg    |  772 +++----
 .../api/doxygen/ir_2type_8h__dep__incl.svg         |   20 +-
 docs/reference/api/doxygen/map_8h__dep__incl.svg   |   24 +-
 docs/reference/api/doxygen/namespacemembers.html   |    3 +
 docs/reference/api/doxygen/namespacemembers_b.html |   11 +-
 docs/reference/api/doxygen/namespacemembers_f.html |    7 +-
 .../api/doxygen/namespacemembers_func.html         |    3 +
 .../api/doxygen/namespacemembers_func_b.html       |   17 +-
 .../api/doxygen/namespacemembers_func_f.html       |    9 +-
 .../api/doxygen/namespacemembers_func_p.html       |    6 +-
 .../api/doxygen/namespacemembers_func_s.html       |    6 +-
 docs/reference/api/doxygen/namespacemembers_p.html |    6 +-
 docs/reference/api/doxygen/namespacemembers_s.html |    6 +-
 .../doxygen/namespacetvm_1_1tir_1_1transform.html  |   71 +
 .../api/doxygen/optional_8h__dep__incl.svg         |   20 +-
 .../api/doxygen/runtime_2container_2adt_8h.html    |    2 +-
 .../runtime_2container_2adt_8h__dep__incl.svg      |  814 ++++----
 docs/reference/api/doxygen/search/all_11.js        |    2 +-
 docs/reference/api/doxygen/search/all_14.js        |    4 +-
 docs/reference/api/doxygen/search/all_2.js         |    1 +
 docs/reference/api/doxygen/search/all_3.js         |    1 +
 docs/reference/api/doxygen/search/all_7.js         |    1 +
 docs/reference/api/doxygen/search/functions_1.js   |    1 +
 docs/reference/api/doxygen/search/functions_10.js  |    2 +-
 docs/reference/api/doxygen/search/functions_13.js  |    2 +-
 docs/reference/api/doxygen/search/functions_2.js   |    1 +
 docs/reference/api/doxygen/search/functions_6.js   |    1 +
 docs/reference/api/doxygen/source__map_8h.html     |    2 +-
 .../api/doxygen/source__map_8h__dep__incl.svg      |  808 ++++----
 docs/reference/api/doxygen/target_8h.html          |    2 +-
 .../reference/api/doxygen/target_8h__dep__incl.svg |  961 +++++----
 docs/reference/api/doxygen/target__kind_8h.html    |    2 +-
 .../api/doxygen/target__kind_8h__dep__incl.svg     |  891 +++++----
 docs/reference/api/doxygen/tir_2transform_8h.html  |   12 +-
 .../api/doxygen/tir_2transform_8h__incl.svg        | 2106 ++++++++++----------
 .../api/doxygen/tir_2transform_8h_source.html      |    6 +-
 docs/reference/api/doxygen/with_8h.html            |    2 +-
 docs/reference/api/doxygen/with_8h__dep__incl.svg  |  706 +++----
 docs/reference/api/python/auto_scheduler.html      |    4 +-
 docs/reference/api/python/tir.html                 |   66 +-
 .../api/typedoc/classes/bytestreamreader.html      |   12 +-
 .../api/typedoc/classes/cachedcallstack.html       |   34 +-
 docs/reference/api/typedoc/classes/dldatatype.html |   12 +-
 docs/reference/api/typedoc/classes/dldevice.html   |   10 +-
 .../reference/api/typedoc/classes/environment.html |   12 +-
 docs/reference/api/typedoc/classes/ffilibrary.html |   20 +-
 .../api/typedoc/classes/graphexecutor.html         |   16 +-
 docs/reference/api/typedoc/classes/instance.html   |   40 +-
 docs/reference/api/typedoc/classes/memory.html     |   34 +-
 docs/reference/api/typedoc/classes/module.html     |   10 +-
 docs/reference/api/typedoc/classes/ndarray.html    |   22 +-
 .../api/typedoc/classes/packedfunccell.html        |    6 +-
 docs/reference/api/typedoc/classes/rpcserver.html  |   14 +-
 docs/reference/api/typedoc/classes/scalar.html     |    6 +-
 .../api/typedoc/classes/webgpucontext.html         |   12 +-
 docs/reference/api/typedoc/enums/argtypecode.html  |   30 +-
 .../api/typedoc/enums/aynccallbackcode.html        |    4 +-
 .../api/typedoc/enums/dldatatypecode.html          |    8 +-
 .../api/typedoc/enums/rpcserverstate.html          |   12 +-
 docs/reference/api/typedoc/enums/sizeof.html       |   18 +-
 docs/reference/api/typedoc/index.html              |  112 +-
 .../api/typedoc/interfaces/disposable.html         |    2 +-
 .../api/typedoc/interfaces/functioninfo.html       |    6 +-
 .../api/typedoc/interfaces/libraryprovider.html    |    4 +-
 docs/searchindex.js                                |    2 +-
 .../vta/tutorials/autotvm/sg_execution_times.html  |    6 +-
 .../tutorials/frontend/deploy_classification.html  |    2 +-
 .../vta/tutorials/frontend/deploy_detection.html   |    2 +-
 .../vta/tutorials/frontend/sg_execution_times.html |    6 +-
 .../vta/tutorials/optimize/sg_execution_times.html |    6 +-
 docs/topic/vta/tutorials/sg_execution_times.html   |    6 +-
 docs/tutorial/auto_scheduler_matmul_x86.html       |    5 +-
 docs/tutorial/autotvm_relay_x86.html               |  258 +--
 docs/tutorial/cross_compilation_and_rpc.html       |    2 +-
 docs/tutorial/intro_topi.html                      |    2 +-
 docs/tutorial/sg_execution_times.html              |   26 +-
 docs/tutorial/tensor_expr_get_started.html         |   43 +-
 188 files changed, 9011 insertions(+), 8566 deletions(-)

diff --git a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
index 0c46ae011..f0cc39e52 100644
--- a/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_mxnet.rst.txt
@@ -98,7 +98,7 @@ In this section, we download a pretrained imagenet model and classify an image.
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip41230561-2f3d-4554-84e5-c31ec275c329 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+    Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipc67b1a88-fac5-4199-9b7e-1c68d9d2979c from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
     x (1, 3, 224, 224)
 
 
diff --git a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
index 04d9fce56..b4f7bf5dc 100644
--- a/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_oneflow.rst.txt
@@ -100,7 +100,7 @@ Load a pretrained OneFlow model and save model
  .. code-block:: none
 
     Downloading: "https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip" to /workspace/.oneflow/flowvision_cache/resnet18.zip
-
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<07:54, 91.6kB/s]
      0%|          | 48.0k/41.5M [00:00<05:02, 144kB/s] 
      0%|          | 104k/41.5M [00:00<03:15, 222kB/s] 
      1%|          | 216k/41.5M [00:00<01:53, 382kB/s]
      1%|1         | 432k/41.5M [00:00<01:03, 679kB/s]
      2%|2         | 880k/41.5M [00:01<00:32, 1.30MB/s]
      4%|4         | 1.73M/41.5M [00:01<00:16, 2.49MB/s]
      7%|6         | 2.74M/41.5M [00:01<00:11, 3.55MB/s]
      9%|9         | 3.80M/41.5M [00:01<00:09, 4.34MB/s]
     12%|#1        | 4.91M/41.5M [00:01<00:07, 5.00MB/s]
     15%|#4        | 6.07M/41.5M [00:01<00:06, 5.56MB/s]
     18%|#7        | 7.30M/41.5M [00:02<00:05, 6.06MB/s]
     21%|##        | 8.57M/41.5M [00:02<00:05, 6.50MB/s]
     24%|##3       | 9.92M/41.5M [00:02<00:04, 6.94MB/s]
     27%|##7       | 11.3M/41.5M [00:02<00:04, 7.30MB/s]
     31%|###       | 12.8M/41.5M [00:02<00:03, 7.58MB/s]
     34%|###4      | 14.3M/41.5M [00:03<00
 :03, 7.79MB/s]
     38%|###7      | 15.7M/41.5M [00:03<00:03, 7.94MB/s]
     41%|####1     | 17.2M/41.5M [00:03<00:03, 8.04MB/s]
     45%|####4     | 18.6M/41.5M [00:03<00:02, 8.08MB/s]
     48%|####8     | 20.1M/41.5M [00:03<00:02, 8.13MB/s]
     52%|#####2    | 21.6M/41.5M [00:04<00:02, 8.14MB/s]
     56%|#####5    | 23.0M/41.5M [00:04<00:02, 8.14MB/s]
     59%|#####9    | 24.5M/41.5M [00:04<00:02, 8.16MB/s]
     63%|######2   | 25.9M/41.5M [00:04<00:01, 8.20MB/s]
     66%|######6   | 27.4M/41.5M [00:04<00:01, 8.25MB/s]
     70%|######9   | 28.9M/41.5M [00:04<00:01, 8.31MB/s]
     73%|#######3  | 30.3M/41.5M [00:05<00:01, 8.39MB/s]
     77%|#######6  | 31.8M/41.5M [00:05<00:01, 8.43MB/s]
     80%|########  | 33.2M/41.5M [00:05<00:01, 8.45MB/s]
     84%|########3 | 34.7M/41.5M [00:05<00:00, 8.51MB/s]
     87%|########7 | 36.2M/41.5M [00:05<00:00, 8.55MB/s]
     91%|######### | 37.6M/41.5M [00:06<00:00, 8.54MB/s]
     94%|#########4| 39.1M/41.5M [00:06<00:00, 8.45MB/s]
     98%|####
 #####7| 40.6M/41.5M [00:06<00:00, 8.50MB/s]
    100%|##########| 41.5M/41.5M [00:06<00:00, 6.81MB/s]
+
      0%|          | 0.00/41.5M [00:00<?, ?B/s]
      0%|          | 16.0k/41.5M [00:00<08:21, 86.8kB/s]
      0%|          | 48.0k/41.5M [00:00<05:16, 137kB/s] 
      0%|          | 96.0k/41.5M [00:00<03:44, 193kB/s]
      0%|          | 208k/41.5M [00:00<02:01, 355kB/s] 
      1%|          | 424k/41.5M [00:00<01:06, 648kB/s]
      2%|1         | 712k/41.5M [00:01<00:44, 956kB/s]
      2%|2         | 0.98M/41.5M [00:01<00:36, 1.17MB/s]
      3%|3         | 1.30M/41.5M [00:01<00:31, 1.34MB/s]
      4%|3         | 1.62M/41.5M [00:01<00:28, 1.48MB/s]
      5%|4         | 1.95M/41.5M [00:01<00:25, 1.59MB/s]
      6%|5         | 2.31M/41.5M [00:02<00:23, 1.71MB/s]
      6%|6         | 2.69M/41.5M [00:02<00:22, 1.82MB/s]
      7%|7         | 3.08M/41.5M [00:02<00:20, 1.92MB/s]
      8%|8         | 3.48M/41.5M [00:02<00:19, 2.02MB/s]
      9%|9         | 3.92M/41.5M [00:02<00:18, 2.14MB/s]
     11%|#         | 4.38M/41.5M [00:03<00:17, 2.25MB/s]
     12%|#1        | 4.84M/41.5M [00:03<00
 :16, 2.35MB/s]
     13%|#2        | 5.34M/41.5M [00:03<00:15, 2.47MB/s]
     14%|#4        | 5.87M/41.5M [00:03<00:12, 2.93MB/s]
     15%|#5        | 6.23M/41.5M [00:03<00:13, 2.83MB/s]
     16%|#5        | 6.52M/41.5M [00:03<00:13, 2.78MB/s]
     17%|#6        | 6.99M/41.5M [00:03<00:11, 3.15MB/s]
     18%|#7        | 7.30M/41.5M [00:04<00:17, 2.04MB/s]
     20%|#9        | 8.16M/41.5M [00:04<00:10, 3.19MB/s]
     21%|##        | 8.59M/41.5M [00:04<00:10, 3.33MB/s]
     22%|##1       | 8.98M/41.5M [00:04<00:10, 3.17MB/s]
     22%|##2       | 9.33M/41.5M [00:04<00:10, 3.08MB/s]
     23%|##3       | 9.66M/41.5M [00:04<00:12, 2.70MB/s]
     24%|##4       | 9.98M/41.5M [00:05<00:13, 2.39MB/s]
     25%|##5       | 10.5M/41.5M [00:05<00:13, 2.49MB/s]
     26%|##6       | 11.0M/41.5M [00:05<00:11, 2.91MB/s]
     27%|##7       | 11.3M/41.5M [00:05<00:10, 2.94MB/s]
     28%|##7       | 11.6M/41.5M [00:05<00:11, 2.68MB/s]
     29%|##8       | 11.9M/41.5M [00:05<00:15, 1.99MB/s]
     30%|##9 
       | 12.4M/41.5M [00:06<00:11, 2.63MB/s]
     31%|###       | 12.8M/41.5M [00:06<00:11, 2.52MB/s]
     32%|###1      | 13.1M/41.5M [00:06<00:10, 2.76MB/s]
     32%|###2      | 13.4M/41.5M [00:06<00:12, 2.37MB/s]
     33%|###2      | 13.7M/41.5M [00:06<00:12, 2.34MB/s]
     34%|###3      | 13.9M/41.5M [00:06<00:13, 2.09MB/s]
     34%|###4      | 14.3M/41.5M [00:06<00:11, 2.48MB/s]
     35%|###5      | 14.5M/41.5M [00:07<00:11, 2.44MB/s]
     36%|###5      | 14.8M/41.5M [00:07<00:13, 2.05MB/s]
     36%|###6      | 15.1M/41.5M [00:07<00:13, 2.07MB/s]
     37%|###7      | 15.5M/41.5M [00:07<00:10, 2.49MB/s]
     38%|###8      | 15.8M/41.5M [00:07<00:11, 2.45MB/s]
     39%|###8      | 16.0M/41.5M [00:07<00:12, 2.06MB/s]
     39%|###9      | 16.4M/41.5M [00:07<00:12, 2.12MB/s]
     40%|####      | 16.8M/41.5M [00:08<00:10, 2.55MB/s]
     41%|####1     | 17.0M/41.5M [00:08<00:10, 2.51MB/s]
     42%|####1     | 17.3M/41.5M [00:08<00:12, 2.11MB/s]
     43%|####2     | 17.6M/41.5M [00:08<0
 0:10, 2.34MB/s]
     43%|####3     | 17.9M/41.5M [00:08<00:09, 2.47MB/s]
     44%|####3     | 18.2M/41.5M [00:08<00:10, 2.25MB/s]
     45%|####4     | 18.5M/41.5M [00:08<00:10, 2.37MB/s]
     45%|####5     | 18.8M/41.5M [00:08<00:09, 2.51MB/s]
     46%|####5     | 19.1M/41.5M [00:09<00:10, 2.24MB/s]
     47%|####6     | 19.4M/41.5M [00:09<00:09, 2.41MB/s]
     47%|####7     | 19.7M/41.5M [00:09<00:09, 2.37MB/s]
     48%|####8     | 19.9M/41.5M [00:09<00:09, 2.29MB/s]
     49%|####8     | 20.2M/41.5M [00:09<00:14, 1.51MB/s]
     51%|#####     | 21.1M/41.5M [00:09<00:08, 2.62MB/s]
     52%|#####1    | 21.4M/41.5M [00:10<00:09, 2.22MB/s]
     52%|#####2    | 21.7M/41.5M [00:10<00:08, 2.37MB/s]
     53%|#####2    | 22.0M/41.5M [00:10<00:09, 2.12MB/s]
     54%|#####3    | 22.2M/41.5M [00:10<00:09, 2.12MB/s]
     54%|#####4    | 22.4M/41.5M [00:10<00:10, 1.85MB/s]
     55%|#####4    | 22.7M/41.5M [00:10<00:10, 1.91MB/s]
     55%|#####5    | 22.9M/41.5M [00:11<00:10, 1.88MB/s]
     56%|###
 ##5    | 23.1M/41.5M [00:11<00:10, 1.84MB/s]
     56%|#####6    | 23.4M/41.5M [00:11<00:09, 1.95MB/s]
     57%|#####6    | 23.6M/41.5M [00:11<00:09, 2.07MB/s]
     57%|#####7    | 23.8M/41.5M [00:11<00:10, 1.85MB/s]
     58%|#####8    | 24.1M/41.5M [00:11<00:09, 1.94MB/s]
     59%|#####8    | 24.3M/41.5M [00:11<00:09, 1.94MB/s]
     59%|#####9    | 24.5M/41.5M [00:11<00:09, 1.88MB/s]
     60%|#####9    | 24.8M/41.5M [00:12<00:08, 2.02MB/s]
     60%|######    | 25.1M/41.5M [00:12<00:08, 2.15MB/s]
     61%|######    | 25.3M/41.5M [00:12<00:08, 1.90MB/s]
     62%|######1   | 25.5M/41.5M [00:12<00:08, 2.04MB/s]
     62%|######2   | 25.8M/41.5M [00:12<00:08, 2.00MB/s]
     63%|######2   | 26.0M/41.5M [00:12<00:08, 1.92MB/s]
     63%|######3   | 26.3M/41.5M [00:12<00:07, 2.10MB/s]
     64%|######3   | 26.5M/41.5M [00:12<00:07, 2.19MB/s]
     64%|######4   | 26.8M/41.5M [00:13<00:07, 1.94MB/s]
     65%|######5   | 27.0M/41.5M [00:13<00:07, 2.08MB/s]
     66%|######5   | 27.2M/41.5M [00:13<
 00:11, 1.31MB/s]
     66%|######6   | 27.4M/41.5M [00:13<00:10, 1.35MB/s]
     67%|######7   | 28.0M/41.5M [00:13<00:06, 2.23MB/s]
     68%|######8   | 28.2M/41.5M [00:13<00:06, 2.12MB/s]
     69%|######8   | 28.5M/41.5M [00:14<00:07, 1.84MB/s]
     69%|######9   | 28.7M/41.5M [00:14<00:07, 1.82MB/s]
     70%|######9   | 28.9M/41.5M [00:14<00:08, 1.58MB/s]
     70%|#######   | 29.1M/41.5M [00:14<00:07, 1.72MB/s]
     71%|#######   | 29.3M/41.5M [00:14<00:07, 1.77MB/s]
     71%|#######1  | 29.5M/41.5M [00:14<00:07, 1.60MB/s]
     72%|#######1  | 29.8M/41.5M [00:14<00:07, 1.73MB/s]
     72%|#######2  | 30.0M/41.5M [00:15<00:07, 1.69MB/s]
     73%|#######2  | 30.1M/41.5M [00:15<00:07, 1.64MB/s]
     73%|#######3  | 30.4M/41.5M [00:15<00:06, 1.82MB/s]
     74%|#######3  | 30.6M/41.5M [00:15<00:06, 1.77MB/s]
     74%|#######4  | 30.8M/41.5M [00:15<00:06, 1.70MB/s]
     75%|#######4  | 31.1M/41.5M [00:15<00:05, 1.93MB/s]
     75%|#######5  | 31.3M/41.5M [00:15<00:05, 1.82MB/s]
     76%|##
 #####5  | 31.5M/41.5M [00:15<00:05, 1.76MB/s]
     77%|#######6  | 31.8M/41.5M [00:16<00:05, 1.95MB/s]
     77%|#######7  | 32.0M/41.5M [00:16<00:05, 1.89MB/s]
     78%|#######7  | 32.2M/41.5M [00:16<00:05, 1.82MB/s]
     78%|#######8  | 32.5M/41.5M [00:16<00:04, 2.02MB/s]
     79%|#######8  | 32.7M/41.5M [00:16<00:04, 1.93MB/s]
     79%|#######9  | 32.9M/41.5M [00:16<00:04, 1.86MB/s]
     80%|#######9  | 33.2M/41.5M [00:16<00:04, 2.05MB/s]
     81%|########  | 33.4M/41.5M [00:16<00:04, 1.99MB/s]
     81%|########1 | 33.6M/41.5M [00:17<00:04, 1.92MB/s]
     82%|########1 | 33.9M/41.5M [00:17<00:03, 2.09MB/s]
     82%|########2 | 34.1M/41.5M [00:17<00:03, 2.01MB/s]
     83%|########2 | 34.3M/41.5M [00:17<00:03, 1.94MB/s]
     84%|########3 | 34.6M/41.5M [00:17<00:03, 2.10MB/s]
     84%|########4 | 34.9M/41.5M [00:17<00:03, 2.04MB/s]
     85%|########4 | 35.1M/41.5M [00:17<00:03, 1.96MB/s]
     85%|########5 | 35.4M/41.5M [00:17<00:02, 2.16MB/s]
     86%|########5 | 35.6M/41.5M [00:18
 <00:03, 2.04MB/s]
     86%|########6 | 35.8M/41.5M [00:18<00:02, 1.98MB/s]
     87%|########7 | 36.1M/41.5M [00:18<00:02, 2.15MB/s]
     88%|########7 | 36.4M/41.5M [00:18<00:02, 2.06MB/s]
     88%|########8 | 36.6M/41.5M [00:18<00:02, 1.99MB/s]
     89%|########8 | 36.9M/41.5M [00:18<00:02, 2.14MB/s]
     89%|########9 | 37.1M/41.5M [00:18<00:02, 2.07MB/s]
     90%|########9 | 37.3M/41.5M [00:18<00:02, 1.99MB/s]
     91%|######### | 37.6M/41.5M [00:19<00:01, 2.14MB/s]
     91%|#########1| 37.9M/41.5M [00:19<00:01, 2.07MB/s]
     92%|#########1| 38.1M/41.5M [00:19<00:01, 2.00MB/s]
     93%|#########2| 38.4M/41.5M [00:19<00:01, 2.15MB/s]
     93%|#########3| 38.6M/41.5M [00:19<00:01, 2.07MB/s]
     94%|#########3| 38.8M/41.5M [00:19<00:01, 2.00MB/s]
     94%|#########4| 39.1M/41.5M [00:19<00:01, 2.15MB/s]
     95%|#########4| 39.4M/41.5M [00:20<00:01, 2.07MB/s]
     95%|#########5| 39.6M/41.5M [00:20<00:00, 2.00MB/s]
     96%|#########6| 39.9M/41.5M [00:20<00:00, 2.15MB/s]
     97%|#
 ########6| 40.1M/41.5M [00:20<00:00, 2.14MB/s]
     97%|#########7| 40.3M/41.5M [00:20<00:00, 2.00MB/s]
     98%|#########7| 40.6M/41.5M [00:20<00:00, 2.13MB/s]
     99%|#########8| 40.9M/41.5M [00:20<00:00, 2.16MB/s]
     99%|#########9| 41.1M/41.5M [00:20<00:00, 1.98MB/s]
    100%|#########9| 41.4M/41.5M [00:21<00:00, 2.15MB/s]
    100%|##########| 41.5M/41.5M [00:21<00:00, 2.06MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_paddle.rst.txt b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
index a759ddb08..be18084f2 100644
--- a/docs/_sources/how_to/compile_models/from_paddle.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_paddle.rst.txt
@@ -210,7 +210,7 @@ Look up prediction top 1 index in 1000 class synset.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  17.950 seconds)
+   **Total running time of the script:** ( 1 minutes  7.910 seconds)
 
 
 .. _sphx_glr_download_how_to_compile_models_from_paddle.py:
diff --git a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
index beec4b2b4..a6f8f0945 100644
--- a/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_pytorch.rst.txt
@@ -79,7 +79,7 @@ Load a pretrained PyTorch model
  .. 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]
     43%|####3     | 19.3M/44.7M [00:00<00:00, 202MB/s]
     90%|######### | 40.2M/44.7M [00:00<00:00, 212MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 216MB/s]
+
      0%|          | 0.00/44.7M [00:00<?, ?B/s]
     40%|###9      | 17.7M/44.7M [00:00<00:00, 185MB/s]
     99%|#########8| 44.1M/44.7M [00:00<00:00, 239MB/s]
    100%|##########| 44.7M/44.7M [00:00<00:00, 231MB/s]
 
 
 
diff --git a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
index fa7a92713..e62c3a838 100644
--- a/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
+++ b/docs/_sources/how_to/compile_models/from_tensorflow.rst.txt
@@ -379,6 +379,11 @@ Run the corresponding model on tensorflow
 
 
 
+.. rst-class:: sphx-glr-timing
+
+   **Total running time of the script:** ( 1 minutes  4.055 seconds)
+
+
 .. _sphx_glr_download_how_to_compile_models_from_tensorflow.py:
 
 
diff --git a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
index 7d92680c0..6e7161269 100644
--- a/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/compile_models/sg_execution_times.rst.txt
@@ -5,15 +5,15 @@
 
 Computation times
 =================
-**05:27.176** total execution time for **how_to_compile_models** files:
+**05:33.643** total execution time for **how_to_compile_models** files:
 
-- **01:17.950**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
-- **00:59.009**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
-- **00:54.705**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
-- **00:32.581**: :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)
-- **00:23.937**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
-- **00:22.876**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
-- **00:20.763**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
-- **00:19.022**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
-- **00:13.817**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
-- **00:02.518**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
+- **01:07.910**: :ref:`sphx_glr_how_to_compile_models_from_paddle.py` (``from_paddle.py``)
+- **01:04.055**: :ref:`sphx_glr_how_to_compile_models_from_tensorflow.py` (``from_tensorflow.py``)
+- **00:55.131**: :ref:`sphx_glr_how_to_compile_models_from_darknet.py` (``from_darknet.py``)
+- **00:46.170**: :ref:`sphx_glr_how_to_compile_models_from_oneflow.py` (``from_oneflow.py``)
+- **00:23.605**: :ref:`sphx_glr_how_to_compile_models_from_tflite.py` (``from_tflite.py``)
+- **00:22.749**: :ref:`sphx_glr_how_to_compile_models_from_mxnet.py` (``from_mxnet.py``)
+- **00:21.018**: :ref:`sphx_glr_how_to_compile_models_from_coreml.py` (``from_coreml.py``)
+- **00:18.108**: :ref:`sphx_glr_how_to_compile_models_from_pytorch.py` (``from_pytorch.py``)
+- **00:12.473**: :ref:`sphx_glr_how_to_compile_models_from_keras.py` (``from_keras.py``)
+- **00:02.425**: :ref:`sphx_glr_how_to_compile_models_from_onnx.py` (``from_onnx.py``)
diff --git a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
index b0a1f0c60..eb1c8d16f 100644
--- a/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_model_on_android.rst.txt
@@ -402,7 +402,7 @@ Execute on TVM
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      15.5358      15.4800      15.7651      15.4252       0.1206   
+      15.7491      15.7586      15.8283      15.6672       0.0512   
                
 
 
diff --git a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
index 854e59eb6..cda7f3bde 100644
--- a/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_object_detection_pytorch.rst.txt
@@ -108,7 +108,7 @@ Load pre-trained maskrcnn from torchvision and do tracing
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth" to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
-
      0%|          | 0.00/170M [00:00<?, ?B/s]
      8%|8         | 13.7M/170M [00:00<00:01, 144MB/s]
     16%|#6        | 27.4M/170M [00:00<00:01, 138MB/s]
     28%|##8       | 48.0M/170M [00:00<00:00, 173MB/s]
     39%|###8      | 66.0M/170M [00:00<00:00, 178MB/s]
     49%|####8     | 83.0M/170M [00:00<00:00, 154MB/s]
     59%|#####8    | 100M/170M [00:00<00:00, 162MB/s] 
     71%|#######   | 120M/170M [00:00<00:00, 176MB/s]
     81%|########  | 137M/170M [00:00<00:00, 176MB/s]
     92%|#########1| 155M/170M [00:00<00:00, 179MB/s]
    100%|##########| 170M/170M [00:01<00:00, 168MB/s]
+
      0%|          | 0.00/170M [00:00<?, ?B/s]
     10%|9         | 16.5M/170M [00:00<00:00, 173MB/s]
     25%|##4       | 42.2M/170M [00:00<00:00, 229MB/s]
     40%|###9      | 67.5M/170M [00:00<00:00, 245MB/s]
     55%|#####4    | 92.9M/170M [00:00<00:00, 253MB/s]
     69%|######8   | 117M/170M [00:00<00:00, 250MB/s] 
     83%|########2 | 141M/170M [00:00<00:00, 247MB/s]
     97%|#########6| 164M/170M [00:00<00:00, 242MB/s]
    100%|##########| 170M/170M [00:00<00:00, 241MB/s]
     /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
       for i in range(dim)
     /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the 'trunc' function NOT 'floor'). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode='trunc'), or for actual floor division, use torch.div(a, b, rounding_mode='floor').
@@ -262,7 +262,7 @@ Get boxes with score larger than 0.9
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  59.076 seconds)
+   **Total running time of the script:** ( 2 minutes  51.585 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_object_detection_pytorch.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
index 76625a5ef..38a8836bd 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized.rst.txt
@@ -187,7 +187,7 @@ training. Other models require a full post training calibration.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/mobilenet_v2-b0353104.pth" to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
-
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 165MB/s]
+
      0%|          | 0.00/13.6M [00:00<?, ?B/s]
     79%|#######9  | 10.8M/13.6M [00:00<00:00, 113MB/s]
    100%|##########| 13.6M/13.6M [00:00<00:00, 125MB/s]
 
 
 
@@ -353,7 +353,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      90.2926      90.2189      92.2774      90.1215       0.2485   
+      89.0704      88.9921      90.1946      88.7354       0.2867   
                
 
 
@@ -393,7 +393,7 @@ TODO
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  6.421 seconds)
+   **Total running time of the script:** ( 1 minutes  3.969 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_prequantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
index a4c9c228d..7afc41003 100644
--- a/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_prequantized_tflite.rst.txt
@@ -360,7 +360,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      119.4467     119.3797     124.9211     118.7194      0.6349   
+      114.7941     114.5424     117.2638     113.8472      0.7271   
                
 
 
@@ -394,7 +394,7 @@ Here we give an example of how to measure performance of TVM compiled models.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  57.350 seconds)
+   **Total running time of the script:** ( 1 minutes  50.764 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_prequantized_tflite.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
index 01c988dbe..280746758 100644
--- a/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_quantized.rst.txt
@@ -223,7 +223,7 @@ We create a Relay VM to build and execute the model.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  10.803 seconds)
+   **Total running time of the script:** ( 1 minutes  10.117 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_quantized.py:
diff --git a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
index 815a6c929..82c37a718 100644
--- a/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
+++ b/docs/_sources/how_to/deploy_models/deploy_ssd_gluoncv.rst.txt
@@ -137,7 +137,7 @@ Convert and compile model for CPU.
             data: None
       input_sym_arg_type = in_param.infer_type()[0]
     Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
-
      0%|          | 0/132723 [00:00<?, ?KB/s]
      3%|3         | 4049/132723 [00:00<00:03, 40482.80KB/s]
      9%|8         | 11574/132723 [00:00<00:01, 60925.20KB/s]
     15%|#4        | 19393/132723 [00:00<00:01, 68803.30KB/s]
     21%|##        | 27248/132723 [00:00<00:01, 72647.67KB/s]
     26%|##6       | 35120/132723 [00:00<00:01, 74834.13KB/s]
     32%|###2      | 42906/132723 [00:00<00:01, 75854.37KB/s]
     38%|###8      | 50743/132723 [00:00<00:01, 76672.46KB/s]
     44%|####4     | 58605/132723 [00:00<00:00, 77287.66KB/s]
     50%|#####     | 66490/132723 [00:00<00:00, 77769.65KB/s]
     56%|#####6    | 74375/132723 [00:01<00:00, 78100.80KB/s]
     62%|######1   | 82239/132723 [00:01<00:00, 78263.94KB/s]
     68%|######7   | 90097/132723 [00:01<00:00, 78357.20KB/s]
     74%|#######3  | 97937/132723 [00:01<00:00, 78365.77KB/s]
     80%|#######9  | 105845/132723 [00:01<00:00, 78578.45KB/s]
     86%|########5 | 113745/132723 [00:01<00:00, 78701.40KB/s]
     92%|#########
 1| 121637/132723 [00:01<00:00, 78764.78KB/s]
     98%|#########7| 129544/132723 [00:01<00:00, 78855.11KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 76188.55KB/s]
+
      0%|          | 0/132723 [00:00<?, ?KB/s]
      5%|4         | 6519/132723 [00:00<00:01, 65186.64KB/s]
     11%|#         | 14461/132723 [00:00<00:01, 73552.98KB/s]
     16%|#6        | 21817/132723 [00:00<00:01, 66839.28KB/s]
     22%|##2       | 29496/132723 [00:00<00:01, 70540.88KB/s]
     28%|##7       | 37005/132723 [00:00<00:01, 72117.32KB/s]
     34%|###3      | 44533/132723 [00:00<00:01, 73164.14KB/s]
     39%|###9      | 52159/132723 [00:00<00:01, 74156.65KB/s]
     45%|####5     | 59742/132723 [00:00<00:00, 74681.20KB/s]
     51%|#####     | 67485/132723 [00:00<00:00, 75531.08KB/s]
     57%|#####6    | 75153/132723 [00:01<00:00, 75875.19KB/s]
     62%|######2   | 82750/132723 [00:01<00:00, 75751.40KB/s]
     68%|######8   | 90332/132723 [00:01<00:00, 75401.06KB/s]
     74%|#######3  | 97909/132723 [00:01<00:00, 75503.03KB/s]
     79%|#######9  | 105463/132723 [00:01<00:00, 75493.88KB/s]
     85%|########5 | 113189/132723 [00:01<00:00, 76001.62KB/s]
     91%|#########
 1| 120791/132723 [00:01<00:00, 75620.40KB/s]
     97%|#########6| 128355/132723 [00:01<00:00, 75374.90KB/s]
    100%|##########| 132723/132723 [00:01<00:00, 74224.28KB/s]
 
 
 
@@ -211,7 +211,7 @@ Display result
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  19.517 seconds)
+   **Total running time of the script:** ( 2 minutes  13.509 seconds)
 
 
 .. _sphx_glr_download_how_to_deploy_models_deploy_ssd_gluoncv.py:
diff --git a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
index 2b157a285..3906dadcd 100644
--- a/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/deploy_models/sg_execution_times.rst.txt
@@ -5,13 +5,13 @@
 
 Computation times
 =================
-**10:23.237** total execution time for **how_to_deploy_models** files:
+**09:58.890** total execution time for **how_to_deploy_models** files:
 
-- **02:59.076**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
-- **02:19.517**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
-- **01:57.350**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
-- **01:10.803**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
-- **01:06.421**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
-- **00:27.854**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
-- **00:22.013**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
+- **02:51.585**: :ref:`sphx_glr_how_to_deploy_models_deploy_object_detection_pytorch.py` (``deploy_object_detection_pytorch.py``)
+- **02:13.509**: :ref:`sphx_glr_how_to_deploy_models_deploy_ssd_gluoncv.py` (``deploy_ssd_gluoncv.py``)
+- **01:50.764**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized_tflite.py` (``deploy_prequantized_tflite.py``)
+- **01:10.117**: :ref:`sphx_glr_how_to_deploy_models_deploy_quantized.py` (``deploy_quantized.py``)
+- **01:03.969**: :ref:`sphx_glr_how_to_deploy_models_deploy_prequantized.py` (``deploy_prequantized.py``)
+- **00:27.357**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_android.py` (``deploy_model_on_android.py``)
+- **00:21.388**: :ref:`sphx_glr_how_to_deploy_models_deploy_model_on_rasp.py` (``deploy_model_on_rasp.py``)
 - **00:00.203**: :ref:`sphx_glr_how_to_deploy_models_deploy_sparse.py` (``deploy_sparse.py``)
diff --git a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
index 3b2ca4cfc..2d7a068ac 100644
--- a/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/bring_your_own_datatypes.rst.txt
@@ -425,7 +425,7 @@ First let us define two helper functions to get the mobilenet model and a cat im
 
  .. code-block:: none
 
-    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipcb1ee649-b2bd-4102-b1d8-257fde4f7313 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+    Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipb431637c-f867-47ec-a534-87c06131ffc9 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 
 
 
diff --git a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
index 33f5ad739..2119ebc6f 100644
--- a/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/sg_execution_times.rst.txt
@@ -5,9 +5,9 @@
 
 Computation times
 =================
-**00:40.247** total execution time for **how_to_extend_tvm** files:
+**00:40.706** total execution time for **how_to_extend_tvm** files:
 
-- **00:36.489**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
-- **00:02.420**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
-- **00:01.124**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
-- **00:00.214**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
+- **00:37.017**: :ref:`sphx_glr_how_to_extend_tvm_bring_your_own_datatypes.py` (``bring_your_own_datatypes.py``)
+- **00:02.371**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_instrument.py` (``use_pass_instrument.py``)
+- **00:01.114**: :ref:`sphx_glr_how_to_extend_tvm_use_pass_infra.py` (``use_pass_infra.py``)
+- **00:00.205**: :ref:`sphx_glr_how_to_extend_tvm_low_level_custom_pass.py` (``low_level_custom_pass.py``)
diff --git a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
index cfc91c532..38a2ee1b7 100644
--- a/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
+++ b/docs/_sources/how_to/extend_tvm/use_pass_instrument.rst.txt
@@ -199,10 +199,10 @@ profile the execution time of each passes.
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6757us [6757us] (45.81%; 45.81%)
-    FoldScaleAxis: 7994us [6us] (54.19%; 54.19%)
-            FoldConstant: 7988us [1581us] (54.15%; 99.92%)
-                    InferType: 6407us [6407us] (43.43%; 80.20%)
+    InferType: 6664us [6664us] (45.84%; 45.84%)
+    FoldScaleAxis: 7873us [6us] (54.16%; 54.16%)
+            FoldConstant: 7867us [1581us] (54.12%; 99.92%)
+                    InferType: 6286us [6286us] (43.24%; 79.90%)
 
 
 
@@ -239,10 +239,10 @@ Refer to following sections and :py:func:`tvm.instrument.pass_instrument` for th
  .. code-block:: none
 
     Printing results of timing profile...
-    InferType: 6334us [6334us] (44.81%; 44.81%)
-    FoldScaleAxis: 7801us [4us] (55.19%; 55.19%)
-            FoldConstant: 7797us [1589us] (55.16%; 99.94%)
-                    InferType: 6208us [6208us] (43.92%; 79.62%)
+    InferType: 6292us [6292us] (44.46%; 44.46%)
+    FoldScaleAxis: 7860us [5us] (55.54%; 55.54%)
+            FoldConstant: 7856us [1627us] (55.51%; 99.94%)
+                    InferType: 6228us [6228us] (44.01%; 79.29%)
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
index 409c187a0..322e8edd8 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_cuda.rst.txt
@@ -295,7 +295,7 @@ latency of convolution.
 
  .. code-block:: none
 
-    Convolution: 40.805601 ms
+    Convolution: 54.121328 ms
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
index 770f0207b..638d563b9 100644
--- a/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_conv_tensorcore.rst.txt
@@ -628,7 +628,7 @@ be able to run on our build server
 
  .. code-block:: none
 
-    conv2d with tensor core: 7.204732 ms
+    conv2d with tensor core: 9.088901 ms
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
index 2161fc97c..f80a64394 100644
--- a/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/opt_gemm.rst.txt
@@ -118,8 +118,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 
  .. code-block:: none
 
-    Numpy running time: 0.018772
-    Baseline: 3.431847
+    Numpy running time: 0.017683
+    Baseline: 3.273885
 
 
 
@@ -210,7 +210,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 
  .. code-block:: none
 
-    Opt1: 0.308432
+    Opt1: 0.295613
 
 
 
@@ -309,7 +309,7 @@ In this tutorial, we chose to vectorize the inner loop row data since it is cach
 
  .. code-block:: none
 
-    Opt2: 0.338178
+    Opt2: 0.327668
 
 
 
@@ -401,7 +401,7 @@ the access pattern for A matrix is more cache friendly.
 
  .. code-block:: none
 
-    Opt3: 0.116168
+    Opt3: 0.116949
 
 
 
@@ -520,7 +520,7 @@ flattening.
 
  .. code-block:: none
 
-    Opt4: 0.110539
+    Opt4: 0.108792
 
 
 
@@ -638,7 +638,7 @@ write to C when all the block results are ready.
 
  .. code-block:: none
 
-    Opt5: 0.112073
+    Opt5: 0.109051
 
 
 
@@ -759,7 +759,7 @@ Futhermore, we can also utilize multi-core processors to do the thread-level par
 
  .. code-block:: none
 
-    Opt6: 0.145837
+    Opt6: 0.142835
 
 
 
diff --git a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
index d6b985b5b..bdda4807a 100644
--- a/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/optimize_operators/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
 
 Computation times
 =================
-**00:35.301** total execution time for **how_to_optimize_operators** files:
+**00:34.053** total execution time for **how_to_optimize_operators** files:
 
-- **00:32.633**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
-- **00:01.441**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
-- **00:01.227**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
+- **00:31.498**: :ref:`sphx_glr_how_to_optimize_operators_opt_gemm.py` (``opt_gemm.py``)
+- **00:01.382**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_tensorcore.py` (``opt_conv_tensorcore.py``)
+- **00:01.172**: :ref:`sphx_glr_how_to_optimize_operators_opt_conv_cuda.py` (``opt_conv_cuda.py``)
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
index 318894836..3cefc540f 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/sg_execution_times.rst.txt
@@ -5,11 +5,11 @@
 
 Computation times
 =================
-**05:15.401** total execution time for **how_to_tune_with_autoscheduler** files:
-
-- **02:37.335**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
-- **01:20.452**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
-- **00:43.191**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
-- **00:16.970**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
-- **00:08.774**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
-- **00:08.680**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
+**05:12.642** total execution time for **how_to_tune_with_autoscheduler** files:
+
+- **02:28.377**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py` (``tune_conv2d_layer_cuda.py``)
+- **01:18.662**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_x86.py` (``tune_network_x86.py``)
+- **00:42.224**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_cuda.py` (``tune_network_cuda.py``)
+- **00:26.533**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_sparse_x86.py` (``tune_sparse_x86.py``)
+- **00:08.507**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_mali.py` (``tune_network_mali.py``)
+- **00:08.338**: :ref:`sphx_glr_how_to_tune_with_autoscheduler_tune_network_arm.py` (``tune_network_arm.py``)
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
index f52f8a67d..9a984b45e 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.rst.txt
@@ -751,7 +751,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 0.359 ms
+    Execution time of this operator: 0.363 ms
 
 
 
@@ -1351,7 +1351,7 @@ In the example below we resume the status and do more 5 trials.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 2 minutes  37.335 seconds)
+   **Total running time of the script:** ( 2 minutes  28.377 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_conv2d_layer_cuda.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
index 4d12cb98c..ce0c08c8c 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_cuda.rst.txt
@@ -616,7 +616,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       9.8617       9.8703       9.9529       9.7621       0.0781   
+       9.9960      10.0052      10.0460       9.9369       0.0450   
                
 
 
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
index 5b8db81cd..f07697d7c 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_network_x86.rst.txt
@@ -635,7 +635,7 @@ so we can read the log file and load the best schedules.
     Evaluate inference time cost...
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-      756.9374     756.1998     758.5349     756.0775      1.1307   
+      760.1185     760.5951     761.3281     758.4323      1.2293   
                
 
 
@@ -660,7 +660,7 @@ Other Tips
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 1 minutes  20.452 seconds)
+   **Total running time of the script:** ( 1 minutes  18.662 seconds)
 
 
 .. _sphx_glr_download_how_to_tune_with_autoscheduler_tune_network_x86.py:
diff --git a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
index 82a80a7c5..4540db994 100644
--- a/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
+++ b/docs/_sources/how_to/tune_with_autoscheduler/tune_sparse_x86.rst.txt
@@ -362,30 +362,78 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
                  placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
                  compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
       buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-      preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
-      for (i0.outer.i1.outer.fused: int32, 0, 32) "parallel" {
-        allocate(compute_4: Pointer(global float32), float32, [2048]), storage_scope = global {
-          for (i.outer.inner: int32, 0, 16) {
+      preflattened_buffer_map = {placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_8: placeholder_16: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
+      for (i0.outer.i1.outer.fused: int32, 0, 128) "parallel" {
+        allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
+          for (i.outer.inner: int32, 0, 2) {
             for (nb_j.inner: int32, 0, 2) {
-              for (i.inner.init: int32, 0, 4) {
-                for (j.init: int32, 0, 16) {
-                  compute_5: Buffer(compute_4, float32, [2048], [])[((((i.outer.inner*128) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
+              for (i.inner.init: int32, 0, 8) {
+                let cse_var_1: int32 = (((i.outer.inner*256) + (i.inner.init*32)) + (nb_j.inner*16))
+                 {
+                  compute_5: Buffer(compute_4, float32, [512], [])[cse_var_1] = 0f32
+                  compute_5[(cse_var_1 + 1)] = 0f32
+                  compute_5[(cse_var_1 + 2)] = 0f32
+                  compute_5[(cse_var_1 + 3)] = 0f32
+                  compute_5[(cse_var_1 + 4)] = 0f32
+                  compute_5[(cse_var_1 + 5)] = 0f32
+                  compute_5[(cse_var_1 + 6)] = 0f32
+                  compute_5[(cse_var_1 + 7)] = 0f32
+                  compute_5[(cse_var_1 + 8)] = 0f32
+                  compute_5[(cse_var_1 + 9)] = 0f32
+                  compute_5[(cse_var_1 + 10)] = 0f32
+                  compute_5[(cse_var_1 + 11)] = 0f32
+                  compute_5[(cse_var_1 + 12)] = 0f32
+                  compute_5[(cse_var_1 + 13)] = 0f32
+                  compute_5[(cse_var_1 + 14)] = 0f32
+                  compute_5[(cse_var_1 + 15)] = 0f32
                 }
               }
-              for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-                for (i.inner: int32, 0, 4) {
-                  for (j: int32, 0, 16) {
-                    let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-                    let cse_var_2: int32 = ((((i.outer.inner*128) + (i.inner*32)) + (nb_j.inner*16)) + j)
-                    compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[((((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.outer.inner*1024)) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+              for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+                for (i.inner: int32, 0, 8) {
+                  let cse_var_21: int32 = (elem_idx*16)
+                  let cse_var_20: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+                  let cse_var_19: int32 = (((i.outer.inner*256) + (i.inner*32)) + (nb_j.inner*16))
+                  let cse_var_18: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.outer.inner*2048)) + (i.inner*256))
+                  let cse_var_17: int32 = (cse_var_19 + 9)
+                  let cse_var_16: int32 = (cse_var_19 + 8)
+                  let cse_var_15: int32 = (cse_var_19 + 7)
+                  let cse_var_14: int32 = (cse_var_19 + 6)
+                  let cse_var_13: int32 = (cse_var_19 + 5)
+                  let cse_var_12: int32 = (cse_var_19 + 4)
+                  let cse_var_11: int32 = (cse_var_19 + 3)
+                  let cse_var_10: int32 = (cse_var_19 + 2)
+                  let cse_var_9: int32 = (cse_var_19 + 15)
+                  let cse_var_8: int32 = (cse_var_19 + 14)
+                  let cse_var_7: int32 = (cse_var_19 + 13)
+                  let cse_var_6: int32 = (cse_var_19 + 12)
+                  let cse_var_5: int32 = (cse_var_19 + 11)
+                  let cse_var_4: int32 = (cse_var_19 + 10)
+                  let cse_var_3: int32 = (cse_var_19 + 1)
+                   {
+                    compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[((placeholder_3[cse_var_20]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                    compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
                   }
                 }
               }
             }
           }
-          for (i0.inner: int32, 0, 64) {
-            let cse_var_4: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
-            compute[ramp(cse_var_4, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
+          for (i0.inner: int32, 0, 16) {
+            let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+            compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
           }
         }
       }
@@ -439,7 +487,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 1.453 ms
+    Execution time of this operator: 1.848 ms
 
 
 
diff --git a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
index 56a9e3da3..01f9d53f4 100644
--- a/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/sg_execution_times.rst.txt
@@ -5,10 +5,10 @@
 
 Computation times
 =================
-**00:43.640** total execution time for **how_to_tune_with_autotvm** files:
+**00:43.474** total execution time for **how_to_tune_with_autotvm** files:
 
-- **00:42.739**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
-- **00:00.235**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
-- **00:00.224**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
-- **00:00.223**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
-- **00:00.219**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
+- **00:42.687**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_conv2d_cuda.py` (``tune_conv2d_cuda.py``)
+- **00:00.208**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_x86.py` (``tune_relay_x86.py``)
+- **00:00.194**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_cuda.py` (``tune_relay_cuda.py``)
+- **00:00.193**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_arm.py` (``tune_relay_arm.py``)
+- **00:00.192**: :ref:`sphx_glr_how_to_tune_with_autotvm_tune_relay_mobile_gpu.py` (``tune_relay_mobile_gpu.py``)
diff --git a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
index cbef5b34a..696fc2459 100644
--- a/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
+++ b/docs/_sources/how_to/tune_with_autotvm/tune_conv2d_cuda.rst.txt
@@ -280,11 +280,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -336,11 +336,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -403,11 +403,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -459,11 +459,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -526,11 +526,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -582,11 +582,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -649,11 +649,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -705,11 +705,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -772,11 +772,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -828,11 +828,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -859,8 +859,8 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 4, 32]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 1, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2885496
-    No: 6   GFLOPS: 64.33/64.33     result: MeasureResult(costs=(0.0035984016333333335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7626922130584717, timestamp=1654796431.9868412)      [('tile_f', [-1, 1, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3754080
-    No: 7   GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 6   GFLOPS: 42.36/42.36     result: MeasureResult(costs=(0.005465052894736842,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6145665645599365, timestamp=1654798752.244715)        [('tile_f', [-1, 1, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,3754080
+    No: 7   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -896,11 +896,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -952,11 +952,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -983,7 +983,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 16, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 256, 1]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6225319
-    No: 8   GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 8   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1019,11 +1019,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1075,11 +1075,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1106,7 +1106,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 32]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 8, 64]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,943546
-    No: 9   GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 9   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1142,11 +1142,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1198,11 +1198,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1229,7 +1229,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 4, 16, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 16, 32]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2868708
-    No: 10  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 10  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 142, in build
         res = future.result()
       File "/usr/lib/python3.7/concurrent/futures/_base.py", line 435, in result
@@ -1247,7 +1247,7 @@ for this template
     TimeoutError
 
             [('tile_f', [-1, 32, 2, 4]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 4, 2]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4691833
-    No: 11  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 11  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1283,11 +1283,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1339,11 +1339,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1370,7 +1370,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 2, 64]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,1042124
-    No: 12  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 12  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1406,11 +1406,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1462,11 +1462,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1493,7 +1493,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 32, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 32, 16]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,10013405
-    No: 13  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 13  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1529,11 +1529,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1585,11 +1585,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1616,7 +1616,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 8, 8, 2]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 1, 7, 1]), ('tile_rc', [-1, 4, 32]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6732082
-    No: 14  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 14  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1652,11 +1652,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1708,11 +1708,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1739,7 +1739,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 4, 32]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 1, 1, 1]), ('tile_rc', [-1, 4, 128]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 1)],None,7536735
-    No: 15  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 15  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1775,11 +1775,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1831,11 +1831,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1862,7 +1862,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 4]), ('tile_y', [-1, 1, 1, 7]), ('tile_x', [-1, 1, 1, 7]), ('tile_rc', [-1, 128, 4]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 1, 1]), ('auto_unroll_max_step', 0), ('unroll_explicit', 0)],None,482121
-    No: 16  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 16  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -1898,11 +1898,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1954,11 +1954,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -1985,7 +1985,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 2, 1, 16]), ('tile_y', [-1, 1, 7, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 32, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 512), ('unroll_explicit', 0)],None,2824525
-    No: 17  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 17  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -2021,11 +2021,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -2077,11 +2077,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -2108,7 +2108,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 64, 1, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 8, 8]), ('tile_ry', [-1, 1, 3]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 0)],None,4559286
-    No: 18  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 18  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 571, in __call__
         func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 523, in _build_func_common
@@ -2144,11 +2144,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -2200,11 +2200,11 @@ for this template
       14: run<tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_>
             at ../include/tvm/runtime/packed_func.h:1646
       13: operator()
-            at ../src/driver/driver_api.cc:416
+            at ../src/driver/driver_api.cc:390
       12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array<tvm::runtime::ObjectRef, void> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unordered_map<tvm::te::Tensor, tvm::tir::Buffer, std::hash<tvm::te::Tensor>, std::equal_to<tvm::te::Tensor>, std::allocator<std::pair<tvm::te::Tensor const, tvm::tir::Buffer> > > const&, bool)
-            at ../src/driver/driver_api.cc:403
+            at ../src/driver/driver_api.cc:377
       11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array<tvm::transform::Pass, void>)
-            at ../src/driver/driver_api.cc:303
+            at ../src/driver/driver_api.cc:277
       10: tvm::transform::Pass::operator()(tvm::IRModule) const
             at ../src/ir/transform.cc:258
       9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&) const
@@ -2231,7 +2231,7 @@ for this template
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 854, in verify_pass
         raise InstantiationError("Skipped because of invalid gpu kernel")
     tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [('tile_f', [-1, 1, 32, 16]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 512]), ('tile_ry', [-1, 3, 1]), ('tile_rx', [-1, 3, 1]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9677544
-    No: 19  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+    No: 19  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 721, in __call__
         yield remote, remote.load_module(os.path.split(build_result.filename)[1])
       File "/workspace/python/tvm/autotvm/measure/measure_methods.py", line 685, in run_through_rpc
@@ -2319,7 +2319,7 @@ for this template
       15: _PyEval_EvalFrameDefault
       14: 0x0000000000537c30
       13: _PyObject_FastCallKeywords
-      12: 0x00007f87a50e1fa2
+      12: 0x00007fa311efbfa2
       11: _ctypes_callproc
       10: ffi_call
       9: ffi_call_unix64
@@ -2384,7 +2384,7 @@ for this template
       21: _PyFunction_FastCallKeywords
       20: _PyEval_EvalFrameDefault
       19: _PyFunction_FastCall      [('tile_f', [-1, 8, 2, 16]), ('tile_y', [-1, 7, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 1, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 0), ('unroll_explicit', 1)],None,6390073
-    No: 20  GFLOPS: 143.95/143.95   result: MeasureResult(costs=(0.00160816164,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4146065711975098, timestamp=1654796457.769143)       [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
+    No: 20  GFLOPS: 143.04/143.04   result: MeasureResult(costs=(0.0016183888799999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4114298820495605, timestamp=1654798778.4673622)      [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
 
 
 
@@ -2437,7 +2437,7 @@ and measure running time.
 
     Best config:
     [('tile_f', [-1, 1, 4, 1]), ('tile_y', [-1, 1, 1, 1]), ('tile_x', [-1, 7, 1, 1]), ('tile_rc', [-1, 4, 1]), ('tile_ry', [-1, 1, 1]), ('tile_rx', [-1, 1, 3]), ('auto_unroll_max_step', 1500), ('unroll_explicit', 1)],None,9881539
-    Time cost of this operator: 0.001983
+    Time cost of this operator: 0.001969
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
index a43411bc9..8e95d5589 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_autotune.rst.txt
@@ -294,10 +294,10 @@ Timing the untuned program
     ########## Build without Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.9     98.711   (1, 2, 10, 10, 3)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.159     1.003    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.286    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             314.96    -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  312.0     98.7     (1, 2, 10, 10, 3)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.203     1.013    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.905     0.286    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             316.109   -        -                  -       -        
 
 
 
@@ -359,10 +359,10 @@ Timing the tuned program
     ########## Build with Autotuning ##########
     Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs  
     ---------                                     ---                                           --------  -------  -----              ------  -------  
-    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  80.9      96.775   (1, 6, 10, 10, 1)  2       1        
-    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.784     2.134    (1, 6, 10, 10)     1       1        
-    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.912     1.091    (1, 1, 10, 10, 3)  1       1        
-    Total_time                                    -                                             83.596    -        -                  -       -        
+    tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  123.5     97.883   (1, 6, 10, 10, 1)  2       1        
+    tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.745     1.383    (1, 6, 10, 10)     1       1        
+    tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.926     0.734    (1, 1, 10, 10, 3)  1       1        
+    Total_time                                    -                                             126.171   -        -                  -       -        
 
 
 
diff --git a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
index 7af92373e..216158a02 100644
--- a/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/micro_train.rst.txt
@@ -297,8 +297,8 @@ objects to other stuff? We can display some examples from our datasets using ``m
 
  .. code-block:: none
 
-    /tmp/tmpgnae84hd/images/target contains 8144 images
-    /tmp/tmpgnae84hd/images/random contains 5000 images
+    /tmp/tmpiox3rhox/images/target contains 8144 images
+    /tmp/tmpiox3rhox/images/random contains 5000 images
 
 
 
@@ -459,11 +459,11 @@ the time on our validation set).
  .. code-block:: none
 
     Epoch 1/3
-    328/328 - 54s - loss: 0.2159 - accuracy: 0.9269 - val_loss: 0.1423 - val_accuracy: 0.9539
+    328/328 - 54s - loss: 0.2098 - accuracy: 0.9285 - val_loss: 0.1377 - val_accuracy: 0.9585
     Epoch 2/3
-    328/328 - 52s - loss: 0.0998 - accuracy: 0.9615 - val_loss: 0.1135 - val_accuracy: 0.9581
+    328/328 - 52s - loss: 0.0960 - accuracy: 0.9648 - val_loss: 0.1309 - val_accuracy: 0.9619
     Epoch 3/3
-    328/328 - 52s - loss: 0.0690 - accuracy: 0.9734 - val_loss: 0.0985 - val_accuracy: 0.9664
+    328/328 - 52s - loss: 0.0648 - accuracy: 0.9752 - val_loss: 0.1234 - val_accuracy: 0.9607
 
 
 
@@ -825,7 +825,7 @@ Arduino tutorial for how to do that `on GitHub <https://github.com/guberti/tvm-a
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 6 minutes  5.688 seconds)
+   **Total running time of the script:** ( 4 minutes  45.999 seconds)
 
 
 .. _sphx_glr_download_how_to_work_with_microtvm_micro_train.py:
diff --git a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
index b3fe48605..fef0aa742 100644
--- a/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_microtvm/sg_execution_times.rst.txt
@@ -5,11 +5,11 @@
 
 Computation times
 =================
-**06:51.783** total execution time for **how_to_work_with_microtvm** files:
+**05:31.973** total execution time for **how_to_work_with_microtvm** files:
 
-- **06:05.688**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)
-- **00:41.849**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
-- **00:03.627**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
-- **00:00.213**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
+- **04:45.999**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_train.py` (``micro_train.py``)
+- **00:41.747**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_autotune.py` (``micro_autotune.py``)
+- **00:03.608**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tflite.py` (``micro_tflite.py``)
+- **00:00.208**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_tvmc.py` (``micro_tvmc.py``)
+- **00:00.206**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
 - **00:00.204**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_reference_vm.py` (``micro_reference_vm.py``)
-- **00:00.203**: :ref:`sphx_glr_how_to_work_with_microtvm_micro_ethosu.py` (``micro_ethosu.py``)
diff --git a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
index 1da1e6bdb..c2a5ddd4f 100644
--- a/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_relay/sg_execution_times.rst.txt
@@ -5,8 +5,8 @@
 
 Computation times
 =================
-**00:11.520** total execution time for **how_to_work_with_relay** files:
+**00:11.541** total execution time for **how_to_work_with_relay** files:
 
-- **00:09.814**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
-- **00:01.484**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
-- **00:00.223**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
+- **00:09.943**: :ref:`sphx_glr_how_to_work_with_relay_using_external_lib.py` (``using_external_lib.py``)
+- **00:01.403**: :ref:`sphx_glr_how_to_work_with_relay_build_gcn.py` (``build_gcn.py``)
+- **00:00.195**: :ref:`sphx_glr_how_to_work_with_relay_using_relay_viz.py` (``using_relay_viz.py``)
diff --git a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
index bf5143d8d..e67594554 100644
--- a/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/sg_execution_times.rst.txt
@@ -5,13 +5,13 @@
 
 Computation times
 =================
-**00:05.539** total execution time for **how_to_work_with_schedules** files:
+**00:05.267** total execution time for **how_to_work_with_schedules** files:
 
-- **00:01.1000**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
-- **00:01.093**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
-- **00:00.714**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
-- **00:00.700**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
-- **00:00.312**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
-- **00:00.247**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
-- **00:00.245**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
-- **00:00.229**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
+- **00:01.930**: :ref:`sphx_glr_how_to_work_with_schedules_intrin_math.py` (``intrin_math.py``)
+- **00:01.086**: :ref:`sphx_glr_how_to_work_with_schedules_tensorize.py` (``tensorize.py``)
+- **00:00.668**: :ref:`sphx_glr_how_to_work_with_schedules_reduction.py` (``reduction.py``)
+- **00:00.664**: :ref:`sphx_glr_how_to_work_with_schedules_scan.py` (``scan.py``)
+- **00:00.282**: :ref:`sphx_glr_how_to_work_with_schedules_extern_op.py` (``extern_op.py``)
+- **00:00.220**: :ref:`sphx_glr_how_to_work_with_schedules_schedule_primitives.py` (``schedule_primitives.py``)
+- **00:00.217**: :ref:`sphx_glr_how_to_work_with_schedules_tedd.py` (``tedd.py``)
+- **00:00.200**: :ref:`sphx_glr_how_to_work_with_schedules_tuple_inputs.py` (``tuple_inputs.py``)
diff --git a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
index 83ad46a94..21c01e036 100644
--- a/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
+++ b/docs/_sources/how_to/work_with_schedules/tensorize.rst.txt
@@ -318,7 +318,7 @@ The importing needs to happen before the tensorized GEMV being executed.
                  C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
       buffer_map = {A_1: A, B_1: B, C_1: C}
       preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpjr9_d6v_/input0.cc'\nsource_filename = \"/tmp/tmpjr9_d6v_/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
+      attr [IterVar(i: int32, (nullptr), "DataPar", "")] "pragma_import_llvm" = "; ModuleID = '/tmp/tmpx0z9aiin/input0.cc'\nsource_filename = \"/tmp/tmpx0z9aiin/input0.cc\"\ntarget datalayout = \"e-m:e-i64:64-f80:128-n8:16:32:64-S128\"\ntarget triple = \"x86_64-pc-linux-gnu\"\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = alloca float*, align 8\n  %8 = alloca float*, align 8\n  %9 = alloca floa [...]
       for (i, 0, 1024) {
         for (j.outer: int32, 0, 32) {
           @tir.call_extern("gemv_update", @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
index a323849a8..8a14b1b62 100644
--- a/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/autotvm/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:20.105** total execution time for **topic_vta_tutorials_autotvm** files:
+**00:20.985** total execution time for **topic_vta_tutorials_autotvm** files:
 
-- **00:19.910**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
-- **00:00.195**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
+- **00:20.770**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_relay_vta.py` (``tune_relay_vta.py``)
+- **00:00.214**: :ref:`sphx_glr_topic_vta_tutorials_autotvm_tune_alu_vta.py` (``tune_alu_vta.py``)
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
index 0b832e64a..907957974 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_classification.rst.txt
@@ -267,7 +267,7 @@ The compilation steps are:
       DeprecationWarning,
     /workspace/vta/tutorials/frontend/deploy_classification.py:213: DeprecationWarning: legacy graph executor behavior of producing json / lib / params will be removed in the next release. Please see documents of tvm.contrib.graph_executor.GraphModule for the  new recommended usage.
       relay_prog, target=tvm.target.Target(target, host=env.target_host), params=params
-    resnet18_v1 inference graph built in 21.49s!
+    resnet18_v1 inference graph built in 22.56s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
index 1bdd7e52f..532287470 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/deploy_detection.rst.txt
@@ -303,7 +303,7 @@ The compilation steps are:
       "target_host parameter is going to be deprecated. "
     /workspace/python/tvm/relay/build_module.py:389: DeprecationWarning: Please use input parameter mod (tvm.IRModule) instead of deprecated parameter mod (tvm.relay.function.Function)
       DeprecationWarning,
-    yolov3-tiny inference graph built in 14.98s!
+    yolov3-tiny inference graph built in 15.42s!
 
 
 
diff --git a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
index 7be84e064..36ff5a117 100644
--- a/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/frontend/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**01:27.131** total execution time for **topic_vta_tutorials_frontend** files:
+**01:30.578** total execution time for **topic_vta_tutorials_frontend** files:
 
-- **00:45.964**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
-- **00:41.167**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
+- **00:47.784**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_detection.py` (``deploy_detection.py``)
+- **00:42.794**: :ref:`sphx_glr_topic_vta_tutorials_frontend_deploy_classification.py` (``deploy_classification.py``)
diff --git a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
index 2ada66597..3964db488 100644
--- a/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/optimize/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:03.464** total execution time for **topic_vta_tutorials_optimize** files:
+**00:03.587** total execution time for **topic_vta_tutorials_optimize** files:
 
-- **00:02.915**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
-- **00:00.549**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
+- **00:03.024**: :ref:`sphx_glr_topic_vta_tutorials_optimize_convolution_opt.py` (``convolution_opt.py``)
+- **00:00.564**: :ref:`sphx_glr_topic_vta_tutorials_optimize_matrix_multiply_opt.py` (``matrix_multiply_opt.py``)
diff --git a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
index b1ff1deda..660117178 100644
--- a/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
+++ b/docs/_sources/topic/vta/tutorials/sg_execution_times.rst.txt
@@ -5,7 +5,7 @@
 
 Computation times
 =================
-**00:01.019** total execution time for **topic_vta_tutorials** files:
+**00:01.076** total execution time for **topic_vta_tutorials** files:
 
-- **00:00.524**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
-- **00:00.496**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
+- **00:00.554**: :ref:`sphx_glr_topic_vta_tutorials_matrix_multiply.py` (``matrix_multiply.py``)
+- **00:00.522**: :ref:`sphx_glr_topic_vta_tutorials_vta_get_started.py` (``vta_get_started.py``)
diff --git a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
index 49ed0a251..4f3dd8453 100644
--- a/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
+++ b/docs/_sources/tutorial/auto_scheduler_matmul_x86.rst.txt
@@ -184,7 +184,7 @@ trials, we can load the best schedule from the log file and apply it.
 
  .. code-block:: none
 
-    *E
+
 
 
 
@@ -306,7 +306,7 @@ We build the binary and check its correctness and performance.
 
  .. code-block:: none
 
-    Execution time of this operator: 92.839 ms
+    Execution time of this operator: 92.311 ms
 
 
 
@@ -415,11 +415,6 @@ Expression (TE) language that demonstrates how TVM can optimize computational
 operations.
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 1 minutes  1.504 seconds)
-
-
 .. _sphx_glr_download_tutorial_auto_scheduler_matmul_x86.py:
 
 
diff --git a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
index 1b5fe363f..513f7a853 100644
--- a/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
+++ b/docs/_sources/tutorial/autotvm_relay_x86.rst.txt
@@ -280,7 +280,7 @@ standard deviation.
 
  .. code-block:: none
 
-    {'mean': 485.75949648999995, 'median': 485.6612508499893, 'std': 0.8417063338325319}
+    {'mean': 494.75244417998056, 'median': 495.30354299997725, 'std': 1.9015903980510014}
 
 
 
@@ -494,31 +494,31 @@ the tuning data to.
 
  .. code-block:: none
 
-
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.82/  17.82 GFLOPS | Progress: (4/20) | 5.85 s
    [Task  1/25]  Current/Best:    6.25/  17.82 GFLOPS | Progress: (8/20) | 8.72 s
    [Task  1/25]  Current/Best:   11.69/  23.04 GFLOPS | Progress: (12/20) | 11.13 s
    [Task  1/25]  Current/Best:   17.08/  23.16 GFLOPS | Progress: (16/20) | 12.78 s
    [Task  1/25]  Current/Best:   11.75/  24.03 GFLOPS | Progress: (20/20) | 14.47 s Done.
-
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.44/  13.25 GFLOPS | Progress: (4/20) | 3.58 s
    [Task  2/25]  Current/Best:   14.24/  18.77 GFLOPS | Progress: (8/20) | 4.88 s
    [Task  2/25]  Current/Best:   20.92/  20.92 GFLOPS | Progress: (12/20) | 6.16 s
    [Task  2/25]  Current/Best:   12.95/  20.92 GFLOPS | Progress: (16/20) | 7.42 s
    [Task  2/25]  Current/Best:   18.85/  20.92 GFLOPS | Progress: (20/20) | 9.02 s Done.
-
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.64/  10.63 GFLOPS | Progress: (4/20) | 5.69 s
    [Task  3/25]  Current/Best:   15.86/  17.09 GFLOPS | Progress: (8/20) | 7.58 s
    [Task  3/25]  Current/Best:   15.13/  17.09 GFLOPS | Progress: (12/20) | 9.26 s
    [Task  3/25]  Current/Best:    7.25/  24.08 GFLOPS | Progress: (16/20) | 11.15 s
    [Task  3/25]  Current/Best:   12.83/  24.08 GFLOPS | Progress: (20/20) | 15.66 s Done.
-
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.05/  20.80 GFLOPS | Progress: (4/20) | 2.26 s
    [Task  4/25]  Current/Best:    6.34/  20.80 GFLOPS | Progress: (8/20) | 6.87 s
    [Task  4/25]  Current/Best:   21.40/  21.40 GFLOPS | Progress: (12/20) | 11.77 s
    [Task  4/25]  Current/Best:   17.73/  21.82 GFLOPS | Progress: (16/20) | 14.12 s
    [Task  4/25]  Current/Best:   13.70/  21.82 GFLOPS | Progress: (20/20) | 16.16 s Done.
-
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.62/  10.43 GFLOPS | Progress: (4/20) | 2.46 s
    [Task  5/25]  Current/Best:   11.81/  12.80 GFLOPS | Progress: (8/20) | 4.50 s
    [Task  5/25]  Current/Best:   11.88/  18.26 GFLOPS | Progress: (12/20) | 7.63 s
    [Task  5/25]  Current/Best:   11.87/  23.19 GFLOPS | Progress: (16/20) | 9.02 s
    [Task  5/25]  Current/Best:   12.14/  23.19 GFLOPS | Progress: (20/20) | 10.90 s Done.
-
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.38/  21.02 GFLOPS | Progress: (4/20) | 3.94 s
    [Task  6/25]  Current/Best:   19.26/  21.02 GFLOPS | Progress: (8/20) | 5.66 s
    [Task  6/25]  Current/Best:   13.40/  21.02 GFLOPS | Progress: (12/20) | 7.58 s
    [Task  6/25]  Current/Best:   20.25/  21.02 GFLOPS | Progress: (16/20) | 9.77 s
    [Task  6/25]  Current/Best:    3.75/  21.02 GFLOPS | Progress: (20/20) | 12.26 s Done.
-
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.38/  13.10 GFLOPS | Progress: (4/20) | 3.47 s
    [Task  7/25]  Current/Best:   20.45/  21.33 GFLOPS | Progress: (8/20) | 4.94 s
    [Task  7/25]  Current/Best:   15.44/  21.33 GFLOPS | Progress: (12/20) | 6.85 s
    [Task  7/25]  Current/Best:   12.41/  21.33 GFLOPS | Progress: (16/20) | 8.86 s
    [Task  7/25]  Current/Best:    6.37/  22.17 GFLOPS | Progress: (20/20) | 11.27 s Done.
-
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    9.79/  13.89 GFLOPS | Progress: (4/20) | 2.79 s
    [Task  8/25]  Current/Best:    9.37/  13.89 GFLOPS | Progress: (8/20) | 7.76 s
    [Task  8/25]  Current/Best:   12.55/  13.89 GFLOPS | Progress: (12/20) | 14.15 s
    [Task  8/25]  Current/Best:   19.04/  19.04 GFLOPS | Progress: (16/20) | 16.23 s
    [Task  8/25]  Current/Best:   20.17/  20.17 GFLOPS | Progress: (20/20) | 23.23 s Done.
-
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.55/  15.92 GFLOPS | Progress: (4/20) | 11.83 s
    [Task  9/25]  Current/Best:   23.73/  23.73 GFLOPS | Progress: (8/20) | 13.62 s
    [Task  9/25]  Current/Best:    8.39/  23.73 GFLOPS | Progress: (12/20) | 16.10 s
    [Task  9/25]  Current/Best:   18.16/  23.73 GFLOPS | Progress: (16/20) | 18.79 s
    [Task  9/25]  Current/Best:    9.29/  23.73 GFLOPS | Progress: (20/20) | 27.12 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.45/  18.45 GFLOPS | Progress: (4/20) | 2.46 s
    [Task 10/25]  Current/Best:   15.72/  18.45 GFLOPS | Progress: (8/20) | 4.06 s
    [Task 10/25]  Current/Best:   11.47/  19.18 GFLOPS | Progress: (12/20) | 5.59 s
    [Task 10/25]  Current/Best:   19.44/  20.54 GFLOPS | Progress: (16/20) | 6.66 s
    [Task 10/25]  Current/Best:    8.99/  20.54 GFLOPS | Progress: (20/20
 ) | 8.17 s Done.
-
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.43/  18.42 GFLOPS | Progress: (4/20) | 3.22 s
    [Task 11/25]  Current/Best:   17.14/  18.42 GFLOPS | Progress: (8/20) | 5.99 s
    [Task 11/25]  Current/Best:   18.41/  18.42 GFLOPS | Progress: (12/20) | 8.03 s
    [Task 11/25]  Current/Best:   13.67/  21.49 GFLOPS | Progress: (16/20) | 10.93 s
    [Task 11/25]  Current/Best:   19.69/  21.86 GFLOPS | Progress: (20/20) | 13.00 s Done.
-
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.93/  18.31 GFLOPS | Progress: (4/20) | 5.47 s
    [Task 12/25]  Current/Best:    5.21/  18.31 GFLOPS | Progress: (8/20) | 9.34 s
    [Task 12/25]  Current/Best:   19.17/  19.17 GFLOPS | Progress: (12/20) | 11.31 s
    [Task 12/25]  Current/Best:   14.74/  19.17 GFLOPS | Progress: (16/20) | 14.21 s
    [Task 12/25]  Current/Best:   15.33/  19.17 GFLOPS | Progress: (20/20) | 16.09 s Done.
-
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.89/  17.59 GFLOPS | Progress: (4/20) | 3.62 s
    [Task 13/25]  Current/Best:   16.32/  21.35 GFLOPS | Progress: (8/20) | 6.16 s
    [Task 13/25]  Current/Best:   19.93/  21.73 GFLOPS | Progress: (12/20) | 9.19 s
    [Task 13/25]  Current/Best:   12.42/  21.73 GFLOPS | Progress: (16/20) | 12.52 s
    [Task 13/25]  Current/Best:   19.03/  21.73 GFLOPS | Progress: (20/20) | 14.86 s Done.
-
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.81/  13.81 GFLOPS | Progress: (4/20) | 3.30 s
    [Task 14/25]  Current/Best:    6.10/  13.81 GFLOPS | Progress: (8/20) | 5.47 s
    [Task 14/25]  Current/Best:   20.87/  20.87 GFLOPS | Progress: (12/20) | 8.11 s
    [Task 14/25]  Current/Best:   16.84/  20.87 GFLOPS | Progress: (16/20) | 9.78 s Done.
-
    [Task 14/25]  Current/Best:   16.91/  20.87 GFLOPS | Progress: (20/20) | 11.53 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.43/  17.80 GFLOPS | Progress: (4/20) | 2.56 s
    [Task 15/25]  Current/Best:   13.31/  18.36 GFLOPS | Progress: (8/20) | 3.90 s
    [Task 15/25]  Current/Best:   10.47/  22.52 GFLOPS | Progress: (12/20) | 6.10 s
    [Task 15/25]  Current/Best:   20.73/  22.52 GFLOPS | Progress: (16/20) | 9.74 s
    [Task 15/25]  Current/Best:    9.82/  22.52 GFLOPS | Progress: (20/20) | 10.74 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   21.12/  21.12 GFLOPS | Progress: (4/20) | 2.86 s
    [Task 16/25]  Current/Best:    3.08/  21.12 GFLOPS | Progress: (8/20) | 4.44 s
    [Task 16/25]  Current/Best:   19.72/  21.12 GFLOPS | Progress: (12/20) | 5.62 s
    [Task 16/25]  Current/Best:   17.10/  21.12 GFLOPS | Progress: (16/20) |
  6.98 s
    [Task 16/25]  Current/Best:   10.09/  22.80 GFLOPS | Progress: (20/20) | 9.10 s Done.
-
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.20/  19.02 GFLOPS | Progress: (4/20) | 4.67 s
    [Task 17/25]  Current/Best:   14.39/  23.60 GFLOPS | Progress: (8/20) | 7.52 s
    [Task 17/25]  Current/Best:   17.11/  23.60 GFLOPS | Progress: (12/20) | 9.56 s
    [Task 17/25]  Current/Best:   16.80/  23.60 GFLOPS | Progress: (16/20) | 11.71 s
    [Task 17/25]  Current/Best:   10.16/  23.60 GFLOPS | Progress: (20/20) | 13.84 s Done.
-
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.51/  18.40 GFLOPS | Progress: (4/20) | 3.66 s
    [Task 18/25]  Current/Best:   10.66/  20.43 GFLOPS | Progress: (8/20) | 7.30 s
    [Task 18/25]  Current/Best:   18.72/  20.43 GFLOPS | Progress: (12/20) | 9.22 s
    [Task 18/25]  Current/Best:   10.19/  20.43 GFLOPS | Progress: (16/20) | 13.05 s
    [Task 18/25]  Current/Best:   21.16/  21.16 GFLOPS | Progress: (20/20) | 14.52 s Done.
-
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    7.18/  20.86 GFLOPS | Progress: (4/20) | 5.93 s
    [Task 19/25]  Current/Best:    2.64/  20.86 GFLOPS | Progress: (8/20) | 9.27 s
    [Task 19/25]  Current/Best:   20.77/  22.19 GFLOPS | Progress: (12/20) | 12.23 s
    [Task 19/25]  Current/Best:   14.09/  22.19 GFLOPS | Progress: (16/20) | 15.24 s
    [Task 19/25]  Current/Best:    2.73/  23.99 GFLOPS | Progress: (20/20) | 18.03 s Done.
-
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    8.77/  15.26 GFLOPS | Progress: (4/20) | 3.22 s Done.
+
    [Task  1/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  1/25]  Current/Best:   17.13/  17.13 GFLOPS | Progress: (4/20) | 5.59 s
    [Task  1/25]  Current/Best:    6.14/  17.13 GFLOPS | Progress: (8/20) | 9.05 s
    [Task  1/25]  Current/Best:   11.52/  22.84 GFLOPS | Progress: (12/20) | 11.47 s
    [Task  1/25]  Current/Best:   16.71/  22.84 GFLOPS | Progress: (16/20) | 13.14 s
    [Task  1/25]  Current/Best:   11.61/  23.90 GFLOPS | Progress: (20/20) | 14.88 s Done.
+
    [Task  2/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  2/25]  Current/Best:   12.35/  13.03 GFLOPS | Progress: (4/20) | 3.71 s
    [Task  2/25]  Current/Best:   14.26/  18.12 GFLOPS | Progress: (8/20) | 4.99 s
    [Task  2/25]  Current/Best:   20.77/  20.77 GFLOPS | Progress: (12/20) | 6.33 s
    [Task  2/25]  Current/Best:   12.38/  20.77 GFLOPS | Progress: (16/20) | 7.58 s
    [Task  2/25]  Current/Best:   20.09/  20.77 GFLOPS | Progress: (20/20) | 9.18 s Done.
+
    [Task  3/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  3/25]  Current/Best:    1.63/  10.55 GFLOPS | Progress: (4/20) | 5.79 s
    [Task  3/25]  Current/Best:   15.55/  16.87 GFLOPS | Progress: (8/20) | 7.71 s
    [Task  3/25]  Current/Best:   14.89/  16.87 GFLOPS | Progress: (12/20) | 9.44 s
    [Task  3/25]  Current/Best:    7.19/  23.76 GFLOPS | Progress: (16/20) | 11.37 s
    [Task  3/25]  Current/Best:   12.61/  23.76 GFLOPS | Progress: (20/20) | 15.91 s Done.
+
    [Task  4/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  4/25]  Current/Best:    9.50/  20.42 GFLOPS | Progress: (4/20) | 2.33 s
    [Task  4/25]  Current/Best:    6.89/  20.42 GFLOPS | Progress: (8/20) | 6.66 s
    [Task  4/25]  Current/Best:   22.21/  22.21 GFLOPS | Progress: (12/20) | 11.07 s
    [Task  4/25]  Current/Best:   17.46/  22.21 GFLOPS | Progress: (16/20) | 13.28 s
    [Task  4/25]  Current/Best:   13.31/  22.21 GFLOPS | Progress: (20/20) | 15.25 s Done.
+
    [Task  5/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  5/25]  Current/Best:    9.67/  10.35 GFLOPS | Progress: (4/20) | 2.53 s
    [Task  5/25]  Current/Best:   11.48/  12.71 GFLOPS | Progress: (8/20) | 4.59 s
    [Task  5/25]  Current/Best:   11.80/  18.03 GFLOPS | Progress: (12/20) | 7.63 s
    [Task  5/25]  Current/Best:   11.89/  22.68 GFLOPS | Progress: (16/20) | 9.04 s
    [Task  5/25]  Current/Best:   12.06/  22.68 GFLOPS | Progress: (20/20) | 10.88 s Done.
+
    [Task  6/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  6/25]  Current/Best:   12.19/  20.69 GFLOPS | Progress: (4/20) | 3.87 s
    [Task  6/25]  Current/Best:   19.02/  20.69 GFLOPS | Progress: (8/20) | 5.64 s
    [Task  6/25]  Current/Best:   13.21/  20.69 GFLOPS | Progress: (12/20) | 7.56 s
    [Task  6/25]  Current/Best:   20.00/  20.69 GFLOPS | Progress: (16/20) | 9.80 s
    [Task  6/25]  Current/Best:    3.74/  20.69 GFLOPS | Progress: (20/20) | 12.29 s Done.
+
    [Task  7/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  7/25]  Current/Best:   11.23/  12.86 GFLOPS | Progress: (4/20) | 3.57 s
    [Task  7/25]  Current/Best:   20.28/  21.03 GFLOPS | Progress: (8/20) | 5.08 s
    [Task  7/25]  Current/Best:   15.47/  21.03 GFLOPS | Progress: (12/20) | 6.97 s
    [Task  7/25]  Current/Best:   12.22/  21.03 GFLOPS | Progress: (16/20) | 9.01 s
    [Task  7/25]  Current/Best:    6.25/  21.72 GFLOPS | Progress: (20/20) | 11.47 s Done.
+
    [Task  8/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  8/25]  Current/Best:    9.96/  13.93 GFLOPS | Progress: (4/20) | 2.84 s
    [Task  8/25]  Current/Best:    9.48/  13.93 GFLOPS | Progress: (8/20) | 7.60 s
    [Task  8/25]  Current/Best:   12.75/  13.93 GFLOPS | Progress: (12/20) | 13.77 s
    [Task  8/25]  Current/Best:   19.02/  19.02 GFLOPS | Progress: (16/20) | 15.85 s
    [Task  8/25]  Current/Best:   20.36/  20.36 GFLOPS | Progress: (20/20) | 22.30 s Done.
+
    [Task  9/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task  9/25]  Current/Best:   14.39/  15.77 GFLOPS | Progress: (4/20) | 11.87 s
    [Task  9/25]  Current/Best:   23.44/  23.44 GFLOPS | Progress: (8/20) | 13.69 s
    [Task  9/25]  Current/Best:    8.36/  23.44 GFLOPS | Progress: (12/20) | 16.00 s
    [Task  9/25]  Current/Best:   18.21/  23.44 GFLOPS | Progress: (16/20) | 18.61 s
    [Task  9/25]  Current/Best:    9.21/  23.44 GFLOPS | Progress: (20/20) | 26.22 s
    [Task 10/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 10/25]  Current/Best:   18.42/  18.42 GFLOPS | Progress: (4/20) | 2.51 s
    [Task 10/25]  Current/Best:   15.71/  18.42 GFLOPS | Progress: (8/20) | 4.06 s
    [Task 10/25]  Current/Best:   12.42/  19.13 GFLOPS | Progress: (12/20) | 5.56 s
    [Task 10/25]  Current/Best:   19.26/  20.55 GFLOPS | Progress: (16/20) | 6.65 s
    [Task 10/25]  Current/Best:    8.97/  20.55 GFLOPS | Progress: (20/20
 ) | 8.16 s Done.
+
    [Task 11/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 11/25]  Current/Best:   12.49/  18.41 GFLOPS | Progress: (4/20) | 3.16 s
    [Task 11/25]  Current/Best:   17.23/  18.41 GFLOPS | Progress: (8/20) | 5.84 s
    [Task 11/25]  Current/Best:   18.36/  18.41 GFLOPS | Progress: (12/20) | 7.81 s
    [Task 11/25]  Current/Best:   13.71/  21.41 GFLOPS | Progress: (16/20) | 10.52 s
    [Task 11/25]  Current/Best:   19.65/  21.82 GFLOPS | Progress: (20/20) | 12.50 s Done.
+
    [Task 12/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 12/25]  Current/Best:    7.92/  18.31 GFLOPS | Progress: (4/20) | 5.18 s
    [Task 12/25]  Current/Best:    5.24/  18.31 GFLOPS | Progress: (8/20) | 8.77 s
    [Task 12/25]  Current/Best:   19.17/  19.19 GFLOPS | Progress: (12/20) | 10.72 s
    [Task 12/25]  Current/Best:   15.53/  19.19 GFLOPS | Progress: (16/20) | 13.46 s
    [Task 12/25]  Current/Best:   15.34/  19.19 GFLOPS | Progress: (20/20) | 15.34 s Done.
+
    [Task 13/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 13/25]  Current/Best:    8.81/  17.50 GFLOPS | Progress: (4/20) | 3.48 s
    [Task 13/25]  Current/Best:   16.17/  21.19 GFLOPS | Progress: (8/20) | 5.89 s
    [Task 13/25]  Current/Best:   19.91/  22.10 GFLOPS | Progress: (12/20) | 8.67 s
    [Task 13/25]  Current/Best:   12.47/  22.10 GFLOPS | Progress: (16/20) | 12.03 s
    [Task 13/25]  Current/Best:   19.03/  22.10 GFLOPS | Progress: (20/20) | 14.24 s Done.
+
    [Task 14/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 14/25]  Current/Best:   13.81/  13.81 GFLOPS | Progress: (4/20) | 3.16 s
    [Task 14/25]  Current/Best:    6.12/  13.81 GFLOPS | Progress: (8/20) | 5.28 s
    [Task 14/25]  Current/Best:   21.26/  21.26 GFLOPS | Progress: (12/20) | 7.76 s
    [Task 14/25]  Current/Best:   17.03/  21.26 GFLOPS | Progress: (16/20) | 9.36 s Done.
+
    [Task 14/25]  Current/Best:   17.42/  21.26 GFLOPS | Progress: (20/20) | 11.04 s
    [Task 15/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 15/25]  Current/Best:   16.42/  17.98 GFLOPS | Progress: (4/20) | 2.57 s
    [Task 15/25]  Current/Best:   14.57/  18.40 GFLOPS | Progress: (8/20) | 3.85 s
    [Task 15/25]  Current/Best:   10.52/  22.50 GFLOPS | Progress: (12/20) | 5.86 s
    [Task 15/25]  Current/Best:   20.70/  22.50 GFLOPS | Progress: (16/20) | 8.66 s
    [Task 15/25]  Current/Best:    9.82/  22.50 GFLOPS | Progress: (20/20) | 9.62 s
    [Task 16/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 16/25]  Current/Best:   20.69/  20.69 GFLOPS | Progress: (4/20) | 2.78 s
    [Task 16/25]  Current/Best:    3.06/  20.69 GFLOPS | Progress: (8/20) | 4.37 s
    [Task 16/25]  Current/Best:   19.62/  20.69 GFLOPS | Progress: (12/20) | 5.56 s
    [Task 16/25]  Current/Best:   18.05/  20.69 GFLOPS | Progress: (16/20) | 
 6.86 s
    [Task 16/25]  Current/Best:   10.22/  22.68 GFLOPS | Progress: (20/20) | 8.85 s Done.
+
    [Task 17/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 17/25]  Current/Best:   13.43/  18.83 GFLOPS | Progress: (4/20) | 4.57 s
    [Task 17/25]  Current/Best:   14.54/  23.31 GFLOPS | Progress: (8/20) | 7.43 s
    [Task 17/25]  Current/Best:   16.87/  23.31 GFLOPS | Progress: (12/20) | 9.47 s
    [Task 17/25]  Current/Best:   16.67/  23.31 GFLOPS | Progress: (16/20) | 11.59 s
    [Task 17/25]  Current/Best:   10.14/  23.31 GFLOPS | Progress: (20/20) | 13.70 s Done.
+
    [Task 18/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 18/25]  Current/Best:   11.47/  18.01 GFLOPS | Progress: (4/20) | 3.57 s
    [Task 18/25]  Current/Best:   10.69/  20.24 GFLOPS | Progress: (8/20) | 6.98 s
    [Task 18/25]  Current/Best:   19.24/  20.24 GFLOPS | Progress: (12/20) | 8.88 s
    [Task 18/25]  Current/Best:    9.97/  20.24 GFLOPS | Progress: (16/20) | 12.44 s
    [Task 18/25]  Current/Best:   20.72/  20.72 GFLOPS | Progress: (20/20) | 13.96 s Done.
+
    [Task 19/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 19/25]  Current/Best:    7.25/  20.38 GFLOPS | Progress: (4/20) | 5.93 s
    [Task 19/25]  Current/Best:    2.64/  20.38 GFLOPS | Progress: (8/20) | 9.15 s
    [Task 19/25]  Current/Best:   19.37/  21.28 GFLOPS | Progress: (12/20) | 11.90 s
    [Task 19/25]  Current/Best:   15.37/  21.32 GFLOPS | Progress: (16/20) | 14.67 s
    [Task 19/25]  Current/Best:    2.73/  23.34 GFLOPS | Progress: (20/20) | 17.41 s Done.
+
    [Task 20/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 20/25]  Current/Best:    8.64/  15.26 GFLOPS | Progress: (4/20) | 3.30 s Done.
      Done.
-
    [Task 20/25]  Current/Best:    9.71/  15.26 GFLOPS | Progress: (8/20) | 6.56 s
    [Task 20/25]  Current/Best:    2.35/  16.79 GFLOPS | Progress: (12/20) | 10.37 s
    [Task 20/25]  Current/Best:   12.23/  16.79 GFLOPS | Progress: (16/20) | 14.16 s
    [Task 20/25]  Current/Best:   11.69/  22.45 GFLOPS | Progress: (20/20) | 16.23 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.51/  17.99 GFLOPS | Progress: (4/20) | 3.15 s
    [Task 21/25]  Current/Best:   14.81/  17.99 GFLOPS | Progress: (8/20) | 4.74 s
    [Task 21/25]  Current/Best:    1.63/  17.99 GFLOPS | Progress: (12/20) | 6.82 s
    [Task 21/25]  Current/Best:   18.37/  18.37 GFLOPS | Progress: (16/20) | 10.25 s
    [Task 21/25]  Current/Best:    4.53/  18.37 GFLOPS | Progress: (20/20) | 17.39 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.74/  17.30 GFLOPS | Progress: (4/20
 ) | 2.56 s
    [Task 22/25]  Current/Best:    8.74/  22.39 GFLOPS | Progress: (8/20) | 4.58 s
    [Task 22/25]  Current/Best:   20.09/  22.39 GFLOPS | Progress: (12/20) | 6.90 s
    [Task 22/25]  Current/Best:   15.52/  22.39 GFLOPS | Progress: (16/20) | 9.02 s
    [Task 22/25]  Current/Best:   14.31/  22.39 GFLOPS | Progress: (20/20) | 10.65 s Done.
-
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.89/  21.22 GFLOPS | Progress: (4/20) | 3.12 s
    [Task 23/25]  Current/Best:   14.29/  21.22 GFLOPS | Progress: (8/20) | 6.50 s
    [Task 23/25]  Current/Best:   21.36/  22.10 GFLOPS | Progress: (12/20) | 8.28 s
    [Task 23/25]  Current/Best:    6.43/  22.10 GFLOPS | Progress: (16/20) | 15.11 s
    [Task 23/25]  Current/Best:    8.06/  22.10 GFLOPS | Progress: (20/20) | 19.23 s Done.
-
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.43/   8.43 GFLOPS | Progress: (4/20) | 11.68 s
    [Task 24/25]  Current/Best:    3.71/   8.43 GFLOPS | Progress: (8/20) | 22.83 s
    [Task 24/25]  Current/Best:    4.60/   8.43 GFLOPS | Progress: (12/20) | 33.53 s Done.
+
    [Task 20/25]  Current/Best:   10.72/  15.26 GFLOPS | Progress: (8/20) | 6.68 s
    [Task 20/25]  Current/Best:    2.35/  16.97 GFLOPS | Progress: (12/20) | 10.58 s
    [Task 20/25]  Current/Best:   12.60/  16.97 GFLOPS | Progress: (16/20) | 14.30 s
    [Task 20/25]  Current/Best:   13.73/  21.87 GFLOPS | Progress: (20/20) | 16.38 s
    [Task 21/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 21/25]  Current/Best:    6.44/  17.81 GFLOPS | Progress: (4/20) | 3.18 s
    [Task 21/25]  Current/Best:   14.57/  17.81 GFLOPS | Progress: (8/20) | 4.72 s
    [Task 21/25]  Current/Best:    1.63/  17.81 GFLOPS | Progress: (12/20) | 6.86 s
    [Task 21/25]  Current/Best:   18.32/  18.32 GFLOPS | Progress: (16/20) | 10.23 s
    [Task 21/25]  Current/Best:    4.53/  18.32 GFLOPS | Progress: (20/20) | 17.10 s
    [Task 22/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 22/25]  Current/Best:    2.74/  17.26 GFLOPS | Progress: (4/20
 ) | 2.54 s
    [Task 22/25]  Current/Best:    8.80/  22.50 GFLOPS | Progress: (8/20) | 4.41 s
    [Task 22/25]  Current/Best:   20.24/  22.50 GFLOPS | Progress: (12/20) | 6.65 s
    [Task 22/25]  Current/Best:   15.68/  22.50 GFLOPS | Progress: (16/20) | 8.67 s
    [Task 22/25]  Current/Best:   14.21/  22.50 GFLOPS | Progress: (20/20) | 10.34 s Done.
+
    [Task 23/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 23/25]  Current/Best:   17.90/  21.13 GFLOPS | Progress: (4/20) | 3.10 s
    [Task 23/25]  Current/Best:   14.18/  21.13 GFLOPS | Progress: (8/20) | 6.41 s
    [Task 23/25]  Current/Best:   21.32/  22.25 GFLOPS | Progress: (12/20) | 8.16 s
    [Task 23/25]  Current/Best:    6.38/  22.25 GFLOPS | Progress: (16/20) | 14.94 s
    [Task 23/25]  Current/Best:    8.03/  22.25 GFLOPS | Progress: (20/20) | 19.04 s Done.
+
    [Task 24/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 24/25]  Current/Best:    8.71/   8.71 GFLOPS | Progress: (4/20) | 11.69 s
    [Task 24/25]  Current/Best:    3.70/   8.71 GFLOPS | Progress: (8/20) | 22.87 s
    [Task 24/25]  Current/Best:    4.30/   8.71 GFLOPS | Progress: (12/20) | 33.59 s Done.
      Done.
-
    [Task 24/25]  Current/Best:    6.26/   9.02 GFLOPS | Progress: (16/20) | 39.16 s
    [Task 24/25]  Current/Best:    3.44/   9.02 GFLOPS | Progress: (20/20) | 45.09 s Done.
-
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.55/   2.75 GFLOPS | Progress: (4/20) | 11.49 s
    [Task 25/25]  Current/Best:    5.98/   8.15 GFLOPS | Progress: (8/20) | 22.71 s
    [Task 25/25]  Current/Best:    6.05/   8.15 GFLOPS | Progress: (12/20) | 33.94 s
    [Task 25/25]  Current/Best:    5.83/   9.07 GFLOPS | Progress: (16/20) | 35.74 s
    [Task 25/25]  Current/Best:    2.85/   9.07 GFLOPS | Progress: (20/20) | 46.39 s
+
    [Task 24/25]  Current/Best:    6.28/   9.20 GFLOPS | Progress: (16/20) | 38.97 s
    [Task 24/25]  Current/Best:    3.49/   9.20 GFLOPS | Progress: (20/20) | 44.67 s Done.
+
    [Task 25/25]  Current/Best:    0.00/   0.00 GFLOPS | Progress: (0/20) | 0.00 s
    [Task 25/25]  Current/Best:    1.57/   2.81 GFLOPS | Progress: (4/20) | 11.49 s
    [Task 25/25]  Current/Best:    6.43/   8.54 GFLOPS | Progress: (8/20) | 22.65 s
    [Task 25/25]  Current/Best:    6.26/   8.54 GFLOPS | Progress: (12/20) | 33.87 s
    [Task 25/25]  Current/Best:    6.01/   9.29 GFLOPS | Progress: (16/20) | 35.54 s
    [Task 25/25]  Current/Best:    2.90/   9.29 GFLOPS | Progress: (20/20) | 46.25 s
 
 
 The output from this tuning process will look something like this:
@@ -660,8 +660,8 @@ improvement in comparing the optimized model to the unoptimized model.
 
  .. code-block:: none
 
-    optimized: {'mean': 411.67367995999484, 'median': 411.5802757499978, 'std': 0.9116759329875662}
-    unoptimized: {'mean': 485.75949648999995, 'median': 485.6612508499893, 'std': 0.8417063338325319}
+    optimized: {'mean': 402.5148905599872, 'median': 402.52100489997247, 'std': 1.08040414416428}
+    unoptimized: {'mean': 494.75244417998056, 'median': 495.30354299997725, 'std': 1.9015903980510014}
 
 
 
@@ -681,7 +681,7 @@ profiling/benchmarking.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 10 minutes  9.056 seconds)
+   **Total running time of the script:** ( 10 minutes  4.385 seconds)
 
 
 .. _sphx_glr_download_tutorial_autotvm_relay_x86.py:
diff --git a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
index da24388ba..71fa5fe9b 100644
--- a/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
+++ b/docs/_sources/tutorial/cross_compilation_and_rpc.rst.txt
@@ -235,7 +235,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    1.374e-07 secs/op
+    1.23e-07 secs/op
 
 
 
diff --git a/docs/_sources/tutorial/intro_topi.rst.txt b/docs/_sources/tutorial/intro_topi.rst.txt
index 16af27519..4ce32a799 100644
--- a/docs/_sources/tutorial/intro_topi.rst.txt
+++ b/docs/_sources/tutorial/intro_topi.rst.txt
@@ -232,7 +232,7 @@ As you can see, scheduled stages of computation have been accumulated and we can
 
  .. code-block:: none
 
-    [stage(a, placeholder(a, 0x1f9aa380)), stage(b, placeholder(b, 0x4dda830)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min [...]
+    [stage(a, placeholder(a, 0x4bcd600)), stage(b, placeholder(b, 0xd2c2ec0)), stage(T_add, compute(T_add, body=[(a[ax0, ax1, ax2] + b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min=0, ext=10))], reduce_axis=[], tag=broadcast, attrs={})), stage(T_multiply, compute(T_multiply, body=[(a[ax0, ax1, ax2]*b[ax1, ax2])], axis=[iter_var(ax0, range(min=0, ext=100)), iter_var(ax1, range(min=0, ext=10)), iter_var(ax2, range(min= [...]
 
 
 
diff --git a/docs/_sources/tutorial/sg_execution_times.rst.txt b/docs/_sources/tutorial/sg_execution_times.rst.txt
index a330a26de..8e5c928c9 100644
--- a/docs/_sources/tutorial/sg_execution_times.rst.txt
+++ b/docs/_sources/tutorial/sg_execution_times.rst.txt
@@ -5,17 +5,17 @@
 
 Computation times
 =================
-**13:03.249** total execution time for **tutorial** files:
+**12:46.968** total execution time for **tutorial** files:
 
-- **10:09.056**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
-- **01:01.504**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
-- **01:00.431**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
-- **00:27.350**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
-- **00:23.366**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
-- **00:00.706**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
-- **00:00.535**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
-- **00:00.181**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-- **00:00.033**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
-- **00:00.029**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
-- **00:00.028**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
-- **00:00.028**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
+- **10:04.385**: :ref:`sphx_glr_tutorial_autotvm_relay_x86.py` (``autotvm_relay_x86.py``)
+- **00:58.798**: :ref:`sphx_glr_tutorial_tensor_expr_get_started.py` (``tensor_expr_get_started.py``)
+- **00:51.329**: :ref:`sphx_glr_tutorial_auto_scheduler_matmul_x86.py` (``auto_scheduler_matmul_x86.py``)
+- **00:27.729**: :ref:`sphx_glr_tutorial_relay_quick_start.py` (``relay_quick_start.py``)
+- **00:23.137**: :ref:`sphx_glr_tutorial_autotvm_matmul_x86.py` (``autotvm_matmul_x86.py``)
+- **00:00.700**: :ref:`sphx_glr_tutorial_intro_topi.py` (``intro_topi.py``)
+- **00:00.550**: :ref:`sphx_glr_tutorial_tensor_ir_blitz_course.py` (``tensor_ir_blitz_course.py``)
+- **00:00.195**: :ref:`sphx_glr_tutorial_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
+- **00:00.042**: :ref:`sphx_glr_tutorial_tvmc_python.py` (``tvmc_python.py``)
+- **00:00.038**: :ref:`sphx_glr_tutorial_tvmc_command_line_driver.py` (``tvmc_command_line_driver.py``)
+- **00:00.034**: :ref:`sphx_glr_tutorial_introduction.py` (``introduction.py``)
+- **00:00.032**: :ref:`sphx_glr_tutorial_install.py` (``install.py``)
diff --git a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
index a26396ed3..46871a64d 100644
--- a/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
+++ b/docs/_sources/tutorial/tensor_expr_get_started.rst.txt
@@ -252,7 +252,7 @@ helper function to run a profile of the TVM generated code.
 
  .. code-block:: none
 
-    Numpy running time: 0.000008
+    Numpy running time: 0.000007
     naive: 0.000007
 
 
@@ -397,7 +397,7 @@ factor to be the number of threads on your CPU.
 
  .. code-block:: none
 
-    vector: 0.000025
+    vector: 0.000024
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [(stride: int32*n: int32)], [], type="auto"),
@@ -447,10 +447,10 @@ We can now compare the different schedules
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                   numpy    8.108289998745022e-06                    1.0
-                   naive    6.706299999999999e-06     0.8270917790357746
-                parallel    6.918900000000001e-06     0.8533118575027396
-                  vector             2.47205e-05      3.0487932725428135
+                   numpy    6.805230000281881e-06                    1.0
+                   naive              7.3168e-06       1.075173065377207
+                parallel    6.8013000000000004e-06    0.9994225029452762
+                  vector    2.3818200000000002e-05    3.4999845705455104
 
 
 
@@ -839,7 +839,7 @@ matrix multiplication.
 
  .. code-block:: none
 
-    Numpy running time: 0.017933
+    Numpy running time: 0.017140
 
 
 
@@ -897,7 +897,7 @@ optimizations.
 
     /workspace/python/tvm/driver/build_module.py:264: UserWarning: target_host parameter is going to be deprecated. Please pass in tvm.target.Target(target, host=target_host) instead.
       "target_host parameter is going to be deprecated. "
-    none: 3.382056
+    none: 3.271234
 
 
 
@@ -996,7 +996,7 @@ schedule.
 
  .. code-block:: none
 
-    blocking: 0.302331
+    blocking: 0.305495
 
 
 
@@ -1088,7 +1088,7 @@ already cache friendly from our previous optimizations.
 
  .. code-block:: none
 
-    vectorization: 0.337009
+    vectorization: 0.337279
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1160,7 +1160,7 @@ more cache friendly.
 
  .. code-block:: none
 
-    loop permutation: 0.115564
+    loop permutation: 0.113889
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1257,7 +1257,7 @@ optimized schedule.
 
  .. code-block:: none
 
-    array packing: 0.108723
+    array packing: 0.107257
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1348,7 +1348,7 @@ to `C` when all the block results are ready.
 
  .. code-block:: none
 
-    block caching: 0.110239
+    block caching: 0.108343
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1432,7 +1432,7 @@ of thread-level parallelization.
 
  .. code-block:: none
 
-    parallelization: 0.144303
+    parallelization: 0.142612
     @main = primfn(A_1: handle, B_1: handle, C_1: handle) -> ()
       attr = {"from_legacy_te_schedule": True, "global_symbol": "main", "tir.noalias": True}
       buffers = {A: Buffer(A_2: Pointer(float32), float32, [1048576], []),
@@ -1511,13 +1511,13 @@ working, we can compare the results.
  .. code-block:: none
 
                 Operator                  Timing             Performance
-                    none      3.3820563042000003                     1.0
-                blocking            0.3023309609     0.08939264568852709
-           vectorization            0.3370086726     0.09964608577967386
-        loop permutation     0.11556430339999998     0.03416983426813051
-           array packing            0.1087227184     0.03214692737817017
-           block caching     0.11023920599999999     0.03259531955842948
-         parallelization            0.1443033752    0.042667348565663184
+                    none            3.2712343176                     1.0
+                blocking            0.3054945955     0.09338817273234394
+           vectorization            0.3372792273     0.10310457599608792
+        loop permutation            0.1138886473    0.034815190916545675
+           array packing     0.10725735950000001    0.032788039341275714
+           block caching            0.1083432476     0.03311998991239734
+         parallelization            0.1426123565     0.04359588542242677
 
 
 
@@ -1552,11 +1552,6 @@ operations with tunable parameters that allows you to automatically optimize
 the computation for specific platforms.
 
 
-.. rst-class:: sphx-glr-timing
-
-   **Total running time of the script:** ( 1 minutes  0.431 seconds)
-
-
 .. _sphx_glr_download_tutorial_tensor_expr_get_started.py:
 
 
diff --git a/docs/commit_hash b/docs/commit_hash
index 5ae9e4d50..6d4e608e4 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-ebc9b6d41cbb6720654dd1fd54488a88b4a8898d
+7f1b819cdbc70fabaabe9374932e98a3c4bc4660
diff --git a/docs/genindex.html b/docs/genindex.html
index 41197d8cd..3086da3f1 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -413,6 +413,8 @@
       <li><a href="reference/api/python/relay/analysis.html#tvm.relay.analysis.AnnotatedRegionSet">AnnotatedRegionSet (class in tvm.relay.analysis)</a>
 </li>
       <li><a href="reference/api/python/autotvm.html#tvm.autotvm.task.space.AnnotateEntity">AnnotateEntity (class in tvm.autotvm.task.space)</a>
+</li>
+      <li><a href="reference/api/python/tir.html#tvm.tir.transform.AnnotateEntryFunc">AnnotateEntryFunc() (in module tvm.tir.transform)</a>
 </li>
       <li><a href="reference/api/python/autotvm.html#tvm.autotvm.task.space.AnnotateSpace">AnnotateSpace (class in tvm.autotvm.task.space)</a>
 </li>
@@ -620,16 +622,18 @@
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.binarize_pack">binarize_pack() (in module tvm.topi.nn)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.binary_dense">binary_dense() (in module tvm.topi.nn)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/te.html#tvm.te.Stage.bind">bind() (tvm.te.Stage method)</a>
 
       <ul>
         <li><a href="reference/api/python/tir.html#tvm.tir.Schedule.bind">(tvm.tir.Schedule method)</a>
 </li>
       </ul></li>
+      <li><a href="reference/api/python/tir.html#tvm.tir.transform.BindTarget">BindTarget() (in module tvm.tir.transform)</a>
+</li>
       <li><a href="reference/api/python/relay/nn.html#tvm.relay.nn.bitpack">bitpack() (in module tvm.relay.nn)</a>
 
       <ul>
diff --git a/docs/how_to/compile_models/from_mxnet.html b/docs/how_to/compile_models/from_mxnet.html
index b78a4d181..38e33188f 100644
--- a/docs/how_to/compile_models/from_mxnet.html
+++ b/docs/how_to/compile_models/from_mxnet.html
@@ -401,7 +401,7 @@
 </div>
 <img alt="../../_images/sphx_glr_from_mxnet_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_from_mxnet_001.png" />
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zip41230561-2f3d-4554-84e5-c31ec275c329 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/resnet18_v1-a0666292.zipc67b1a88-fac5-4199-9b7e-1c68d9d2979c from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/resnet18_v1-a0666292.zip...
 x (1, 3, 224, 224)
 </pre></div>
 </div>
diff --git a/docs/how_to/compile_models/from_oneflow.html b/docs/how_to/compile_models/from_oneflow.html
index 4a1e3915a..7d1e8919c 100644
--- a/docs/how_to/compile_models/from_oneflow.html
+++ b/docs/how_to/compile_models/from_oneflow.html
@@ -406,42 +406,152 @@ python3 -m pip install -f https://release.oneflow.info <span class="nv">oneflow<
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://oneflow-public.oss-cn-beijing.aliyuncs.com/model_zoo/flowvision/classification/ResNet/resnet18.zip&quot; to /workspace/.oneflow/flowvision_cache/resnet18.zip
 
   0%|          | 0.00/41.5M [00:00&lt;?, ?B/s]
-  0%|          | 16.0k/41.5M [00:00&lt;07:54, 91.6kB/s]
-  0%|          | 48.0k/41.5M [00:00&lt;05:02, 144kB/s]
-  0%|          | 104k/41.5M [00:00&lt;03:15, 222kB/s]
-  1%|          | 216k/41.5M [00:00&lt;01:53, 382kB/s]
-  1%|1         | 432k/41.5M [00:00&lt;01:03, 679kB/s]
-  2%|2         | 880k/41.5M [00:01&lt;00:32, 1.30MB/s]
-  4%|4         | 1.73M/41.5M [00:01&lt;00:16, 2.49MB/s]
-  7%|6         | 2.74M/41.5M [00:01&lt;00:11, 3.55MB/s]
-  9%|9         | 3.80M/41.5M [00:01&lt;00:09, 4.34MB/s]
- 12%|#1        | 4.91M/41.5M [00:01&lt;00:07, 5.00MB/s]
- 15%|#4        | 6.07M/41.5M [00:01&lt;00:06, 5.56MB/s]
- 18%|#7        | 7.30M/41.5M [00:02&lt;00:05, 6.06MB/s]
- 21%|##        | 8.57M/41.5M [00:02&lt;00:05, 6.50MB/s]
- 24%|##3       | 9.92M/41.5M [00:02&lt;00:04, 6.94MB/s]
- 27%|##7       | 11.3M/41.5M [00:02&lt;00:04, 7.30MB/s]
- 31%|###       | 12.8M/41.5M [00:02&lt;00:03, 7.58MB/s]
- 34%|###4      | 14.3M/41.5M [00:03&lt;00:03, 7.79MB/s]
- 38%|###7      | 15.7M/41.5M [00:03&lt;00:03, 7.94MB/s]
- 41%|####1     | 17.2M/41.5M [00:03&lt;00:03, 8.04MB/s]
- 45%|####4     | 18.6M/41.5M [00:03&lt;00:02, 8.08MB/s]
- 48%|####8     | 20.1M/41.5M [00:03&lt;00:02, 8.13MB/s]
- 52%|#####2    | 21.6M/41.5M [00:04&lt;00:02, 8.14MB/s]
- 56%|#####5    | 23.0M/41.5M [00:04&lt;00:02, 8.14MB/s]
- 59%|#####9    | 24.5M/41.5M [00:04&lt;00:02, 8.16MB/s]
- 63%|######2   | 25.9M/41.5M [00:04&lt;00:01, 8.20MB/s]
- 66%|######6   | 27.4M/41.5M [00:04&lt;00:01, 8.25MB/s]
- 70%|######9   | 28.9M/41.5M [00:04&lt;00:01, 8.31MB/s]
- 73%|#######3  | 30.3M/41.5M [00:05&lt;00:01, 8.39MB/s]
- 77%|#######6  | 31.8M/41.5M [00:05&lt;00:01, 8.43MB/s]
- 80%|########  | 33.2M/41.5M [00:05&lt;00:01, 8.45MB/s]
- 84%|########3 | 34.7M/41.5M [00:05&lt;00:00, 8.51MB/s]
- 87%|########7 | 36.2M/41.5M [00:05&lt;00:00, 8.55MB/s]
- 91%|######### | 37.6M/41.5M [00:06&lt;00:00, 8.54MB/s]
- 94%|#########4| 39.1M/41.5M [00:06&lt;00:00, 8.45MB/s]
- 98%|#########7| 40.6M/41.5M [00:06&lt;00:00, 8.50MB/s]
-100%|##########| 41.5M/41.5M [00:06&lt;00:00, 6.81MB/s]
+  0%|          | 16.0k/41.5M [00:00&lt;08:21, 86.8kB/s]
+  0%|          | 48.0k/41.5M [00:00&lt;05:16, 137kB/s]
+  0%|          | 96.0k/41.5M [00:00&lt;03:44, 193kB/s]
+  0%|          | 208k/41.5M [00:00&lt;02:01, 355kB/s]
+  1%|          | 424k/41.5M [00:00&lt;01:06, 648kB/s]
+  2%|1         | 712k/41.5M [00:01&lt;00:44, 956kB/s]
+  2%|2         | 0.98M/41.5M [00:01&lt;00:36, 1.17MB/s]
+  3%|3         | 1.30M/41.5M [00:01&lt;00:31, 1.34MB/s]
+  4%|3         | 1.62M/41.5M [00:01&lt;00:28, 1.48MB/s]
+  5%|4         | 1.95M/41.5M [00:01&lt;00:25, 1.59MB/s]
+  6%|5         | 2.31M/41.5M [00:02&lt;00:23, 1.71MB/s]
+  6%|6         | 2.69M/41.5M [00:02&lt;00:22, 1.82MB/s]
+  7%|7         | 3.08M/41.5M [00:02&lt;00:20, 1.92MB/s]
+  8%|8         | 3.48M/41.5M [00:02&lt;00:19, 2.02MB/s]
+  9%|9         | 3.92M/41.5M [00:02&lt;00:18, 2.14MB/s]
+ 11%|#         | 4.38M/41.5M [00:03&lt;00:17, 2.25MB/s]
+ 12%|#1        | 4.84M/41.5M [00:03&lt;00:16, 2.35MB/s]
+ 13%|#2        | 5.34M/41.5M [00:03&lt;00:15, 2.47MB/s]
+ 14%|#4        | 5.87M/41.5M [00:03&lt;00:12, 2.93MB/s]
+ 15%|#5        | 6.23M/41.5M [00:03&lt;00:13, 2.83MB/s]
+ 16%|#5        | 6.52M/41.5M [00:03&lt;00:13, 2.78MB/s]
+ 17%|#6        | 6.99M/41.5M [00:03&lt;00:11, 3.15MB/s]
+ 18%|#7        | 7.30M/41.5M [00:04&lt;00:17, 2.04MB/s]
+ 20%|#9        | 8.16M/41.5M [00:04&lt;00:10, 3.19MB/s]
+ 21%|##        | 8.59M/41.5M [00:04&lt;00:10, 3.33MB/s]
+ 22%|##1       | 8.98M/41.5M [00:04&lt;00:10, 3.17MB/s]
+ 22%|##2       | 9.33M/41.5M [00:04&lt;00:10, 3.08MB/s]
+ 23%|##3       | 9.66M/41.5M [00:04&lt;00:12, 2.70MB/s]
+ 24%|##4       | 9.98M/41.5M [00:05&lt;00:13, 2.39MB/s]
+ 25%|##5       | 10.5M/41.5M [00:05&lt;00:13, 2.49MB/s]
+ 26%|##6       | 11.0M/41.5M [00:05&lt;00:11, 2.91MB/s]
+ 27%|##7       | 11.3M/41.5M [00:05&lt;00:10, 2.94MB/s]
+ 28%|##7       | 11.6M/41.5M [00:05&lt;00:11, 2.68MB/s]
+ 29%|##8       | 11.9M/41.5M [00:05&lt;00:15, 1.99MB/s]
+ 30%|##9       | 12.4M/41.5M [00:06&lt;00:11, 2.63MB/s]
+ 31%|###       | 12.8M/41.5M [00:06&lt;00:11, 2.52MB/s]
+ 32%|###1      | 13.1M/41.5M [00:06&lt;00:10, 2.76MB/s]
+ 32%|###2      | 13.4M/41.5M [00:06&lt;00:12, 2.37MB/s]
+ 33%|###2      | 13.7M/41.5M [00:06&lt;00:12, 2.34MB/s]
+ 34%|###3      | 13.9M/41.5M [00:06&lt;00:13, 2.09MB/s]
+ 34%|###4      | 14.3M/41.5M [00:06&lt;00:11, 2.48MB/s]
+ 35%|###5      | 14.5M/41.5M [00:07&lt;00:11, 2.44MB/s]
+ 36%|###5      | 14.8M/41.5M [00:07&lt;00:13, 2.05MB/s]
+ 36%|###6      | 15.1M/41.5M [00:07&lt;00:13, 2.07MB/s]
+ 37%|###7      | 15.5M/41.5M [00:07&lt;00:10, 2.49MB/s]
+ 38%|###8      | 15.8M/41.5M [00:07&lt;00:11, 2.45MB/s]
+ 39%|###8      | 16.0M/41.5M [00:07&lt;00:12, 2.06MB/s]
+ 39%|###9      | 16.4M/41.5M [00:07&lt;00:12, 2.12MB/s]
+ 40%|####      | 16.8M/41.5M [00:08&lt;00:10, 2.55MB/s]
+ 41%|####1     | 17.0M/41.5M [00:08&lt;00:10, 2.51MB/s]
+ 42%|####1     | 17.3M/41.5M [00:08&lt;00:12, 2.11MB/s]
+ 43%|####2     | 17.6M/41.5M [00:08&lt;00:10, 2.34MB/s]
+ 43%|####3     | 17.9M/41.5M [00:08&lt;00:09, 2.47MB/s]
+ 44%|####3     | 18.2M/41.5M [00:08&lt;00:10, 2.25MB/s]
+ 45%|####4     | 18.5M/41.5M [00:08&lt;00:10, 2.37MB/s]
+ 45%|####5     | 18.8M/41.5M [00:08&lt;00:09, 2.51MB/s]
+ 46%|####5     | 19.1M/41.5M [00:09&lt;00:10, 2.24MB/s]
+ 47%|####6     | 19.4M/41.5M [00:09&lt;00:09, 2.41MB/s]
+ 47%|####7     | 19.7M/41.5M [00:09&lt;00:09, 2.37MB/s]
+ 48%|####8     | 19.9M/41.5M [00:09&lt;00:09, 2.29MB/s]
+ 49%|####8     | 20.2M/41.5M [00:09&lt;00:14, 1.51MB/s]
+ 51%|#####     | 21.1M/41.5M [00:09&lt;00:08, 2.62MB/s]
+ 52%|#####1    | 21.4M/41.5M [00:10&lt;00:09, 2.22MB/s]
+ 52%|#####2    | 21.7M/41.5M [00:10&lt;00:08, 2.37MB/s]
+ 53%|#####2    | 22.0M/41.5M [00:10&lt;00:09, 2.12MB/s]
+ 54%|#####3    | 22.2M/41.5M [00:10&lt;00:09, 2.12MB/s]
+ 54%|#####4    | 22.4M/41.5M [00:10&lt;00:10, 1.85MB/s]
+ 55%|#####4    | 22.7M/41.5M [00:10&lt;00:10, 1.91MB/s]
+ 55%|#####5    | 22.9M/41.5M [00:11&lt;00:10, 1.88MB/s]
+ 56%|#####5    | 23.1M/41.5M [00:11&lt;00:10, 1.84MB/s]
+ 56%|#####6    | 23.4M/41.5M [00:11&lt;00:09, 1.95MB/s]
+ 57%|#####6    | 23.6M/41.5M [00:11&lt;00:09, 2.07MB/s]
+ 57%|#####7    | 23.8M/41.5M [00:11&lt;00:10, 1.85MB/s]
+ 58%|#####8    | 24.1M/41.5M [00:11&lt;00:09, 1.94MB/s]
+ 59%|#####8    | 24.3M/41.5M [00:11&lt;00:09, 1.94MB/s]
+ 59%|#####9    | 24.5M/41.5M [00:11&lt;00:09, 1.88MB/s]
+ 60%|#####9    | 24.8M/41.5M [00:12&lt;00:08, 2.02MB/s]
+ 60%|######    | 25.1M/41.5M [00:12&lt;00:08, 2.15MB/s]
+ 61%|######    | 25.3M/41.5M [00:12&lt;00:08, 1.90MB/s]
+ 62%|######1   | 25.5M/41.5M [00:12&lt;00:08, 2.04MB/s]
+ 62%|######2   | 25.8M/41.5M [00:12&lt;00:08, 2.00MB/s]
+ 63%|######2   | 26.0M/41.5M [00:12&lt;00:08, 1.92MB/s]
+ 63%|######3   | 26.3M/41.5M [00:12&lt;00:07, 2.10MB/s]
+ 64%|######3   | 26.5M/41.5M [00:12&lt;00:07, 2.19MB/s]
+ 64%|######4   | 26.8M/41.5M [00:13&lt;00:07, 1.94MB/s]
+ 65%|######5   | 27.0M/41.5M [00:13&lt;00:07, 2.08MB/s]
+ 66%|######5   | 27.2M/41.5M [00:13&lt;00:11, 1.31MB/s]
+ 66%|######6   | 27.4M/41.5M [00:13&lt;00:10, 1.35MB/s]
+ 67%|######7   | 28.0M/41.5M [00:13&lt;00:06, 2.23MB/s]
+ 68%|######8   | 28.2M/41.5M [00:13&lt;00:06, 2.12MB/s]
+ 69%|######8   | 28.5M/41.5M [00:14&lt;00:07, 1.84MB/s]
+ 69%|######9   | 28.7M/41.5M [00:14&lt;00:07, 1.82MB/s]
+ 70%|######9   | 28.9M/41.5M [00:14&lt;00:08, 1.58MB/s]
+ 70%|#######   | 29.1M/41.5M [00:14&lt;00:07, 1.72MB/s]
+ 71%|#######   | 29.3M/41.5M [00:14&lt;00:07, 1.77MB/s]
+ 71%|#######1  | 29.5M/41.5M [00:14&lt;00:07, 1.60MB/s]
+ 72%|#######1  | 29.8M/41.5M [00:14&lt;00:07, 1.73MB/s]
+ 72%|#######2  | 30.0M/41.5M [00:15&lt;00:07, 1.69MB/s]
+ 73%|#######2  | 30.1M/41.5M [00:15&lt;00:07, 1.64MB/s]
+ 73%|#######3  | 30.4M/41.5M [00:15&lt;00:06, 1.82MB/s]
+ 74%|#######3  | 30.6M/41.5M [00:15&lt;00:06, 1.77MB/s]
+ 74%|#######4  | 30.8M/41.5M [00:15&lt;00:06, 1.70MB/s]
+ 75%|#######4  | 31.1M/41.5M [00:15&lt;00:05, 1.93MB/s]
+ 75%|#######5  | 31.3M/41.5M [00:15&lt;00:05, 1.82MB/s]
+ 76%|#######5  | 31.5M/41.5M [00:15&lt;00:05, 1.76MB/s]
+ 77%|#######6  | 31.8M/41.5M [00:16&lt;00:05, 1.95MB/s]
+ 77%|#######7  | 32.0M/41.5M [00:16&lt;00:05, 1.89MB/s]
+ 78%|#######7  | 32.2M/41.5M [00:16&lt;00:05, 1.82MB/s]
+ 78%|#######8  | 32.5M/41.5M [00:16&lt;00:04, 2.02MB/s]
+ 79%|#######8  | 32.7M/41.5M [00:16&lt;00:04, 1.93MB/s]
+ 79%|#######9  | 32.9M/41.5M [00:16&lt;00:04, 1.86MB/s]
+ 80%|#######9  | 33.2M/41.5M [00:16&lt;00:04, 2.05MB/s]
+ 81%|########  | 33.4M/41.5M [00:16&lt;00:04, 1.99MB/s]
+ 81%|########1 | 33.6M/41.5M [00:17&lt;00:04, 1.92MB/s]
+ 82%|########1 | 33.9M/41.5M [00:17&lt;00:03, 2.09MB/s]
+ 82%|########2 | 34.1M/41.5M [00:17&lt;00:03, 2.01MB/s]
+ 83%|########2 | 34.3M/41.5M [00:17&lt;00:03, 1.94MB/s]
+ 84%|########3 | 34.6M/41.5M [00:17&lt;00:03, 2.10MB/s]
+ 84%|########4 | 34.9M/41.5M [00:17&lt;00:03, 2.04MB/s]
+ 85%|########4 | 35.1M/41.5M [00:17&lt;00:03, 1.96MB/s]
+ 85%|########5 | 35.4M/41.5M [00:17&lt;00:02, 2.16MB/s]
+ 86%|########5 | 35.6M/41.5M [00:18&lt;00:03, 2.04MB/s]
+ 86%|########6 | 35.8M/41.5M [00:18&lt;00:02, 1.98MB/s]
+ 87%|########7 | 36.1M/41.5M [00:18&lt;00:02, 2.15MB/s]
+ 88%|########7 | 36.4M/41.5M [00:18&lt;00:02, 2.06MB/s]
+ 88%|########8 | 36.6M/41.5M [00:18&lt;00:02, 1.99MB/s]
+ 89%|########8 | 36.9M/41.5M [00:18&lt;00:02, 2.14MB/s]
+ 89%|########9 | 37.1M/41.5M [00:18&lt;00:02, 2.07MB/s]
+ 90%|########9 | 37.3M/41.5M [00:18&lt;00:02, 1.99MB/s]
+ 91%|######### | 37.6M/41.5M [00:19&lt;00:01, 2.14MB/s]
+ 91%|#########1| 37.9M/41.5M [00:19&lt;00:01, 2.07MB/s]
+ 92%|#########1| 38.1M/41.5M [00:19&lt;00:01, 2.00MB/s]
+ 93%|#########2| 38.4M/41.5M [00:19&lt;00:01, 2.15MB/s]
+ 93%|#########3| 38.6M/41.5M [00:19&lt;00:01, 2.07MB/s]
+ 94%|#########3| 38.8M/41.5M [00:19&lt;00:01, 2.00MB/s]
+ 94%|#########4| 39.1M/41.5M [00:19&lt;00:01, 2.15MB/s]
+ 95%|#########4| 39.4M/41.5M [00:20&lt;00:01, 2.07MB/s]
+ 95%|#########5| 39.6M/41.5M [00:20&lt;00:00, 2.00MB/s]
+ 96%|#########6| 39.9M/41.5M [00:20&lt;00:00, 2.15MB/s]
+ 97%|#########6| 40.1M/41.5M [00:20&lt;00:00, 2.14MB/s]
+ 97%|#########7| 40.3M/41.5M [00:20&lt;00:00, 2.00MB/s]
+ 98%|#########7| 40.6M/41.5M [00:20&lt;00:00, 2.13MB/s]
+ 99%|#########8| 40.9M/41.5M [00:20&lt;00:00, 2.16MB/s]
+ 99%|#########9| 41.1M/41.5M [00:20&lt;00:00, 1.98MB/s]
+100%|#########9| 41.4M/41.5M [00:21&lt;00:00, 2.15MB/s]
+100%|##########| 41.5M/41.5M [00:21&lt;00:00, 2.06MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_paddle.html b/docs/how_to/compile_models/from_paddle.html
index c1c1b2a1c..8bbb61e1a 100644
--- a/docs/how_to/compile_models/from_paddle.html
+++ b/docs/how_to/compile_models/from_paddle.html
@@ -469,7 +469,7 @@ A quick solution is</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>TVM prediction top-1 id: 282, class name:  282: &#39;tiger cat&#39;,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  17.950 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  7.910 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-paddle-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/16269b77359771348d507395692524cf/from_paddle.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_paddle.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/from_pytorch.html b/docs/how_to/compile_models/from_pytorch.html
index c18e04f93..51399e3c2 100644
--- a/docs/how_to/compile_models/from_pytorch.html
+++ b/docs/how_to/compile_models/from_pytorch.html
@@ -387,9 +387,9 @@ be unstable.</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]
- 43%|####3     | 19.3M/44.7M [00:00&lt;00:00, 202MB/s]
- 90%|######### | 40.2M/44.7M [00:00&lt;00:00, 212MB/s]
-100%|##########| 44.7M/44.7M [00:00&lt;00:00, 216MB/s]
+ 40%|###9      | 17.7M/44.7M [00:00&lt;00:00, 185MB/s]
+ 99%|#########8| 44.1M/44.7M [00:00&lt;00:00, 239MB/s]
+100%|##########| 44.7M/44.7M [00:00&lt;00:00, 231MB/s]
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/compile_models/from_tensorflow.html b/docs/how_to/compile_models/from_tensorflow.html
index 295127083..1a6b9474e 100644
--- a/docs/how_to/compile_models/from_tensorflow.html
+++ b/docs/how_to/compile_models/from_tensorflow.html
@@ -612,6 +612,7 @@ banana (score = 0.00022)
 desk (score = 0.00019)
 </pre></div>
 </div>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  4.055 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-compile-models-from-tensorflow-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7f1d3d1b878694c201c614c807cdebc8/from_tensorflow.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">from_tensorflow.py</span></code></a></p>
diff --git a/docs/how_to/compile_models/sg_execution_times.html b/docs/how_to/compile_models/sg_execution_times.html
index e4e717109..f4a1b6807 100644
--- a/docs/how_to/compile_models/sg_execution_times.html
+++ b/docs/how_to/compile_models/sg_execution_times.html
@@ -300,18 +300,18 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-compile-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>05:27.176</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
+<p><strong>05:33.643</strong> total execution time for <strong>how_to_compile_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>01:17.950</strong>: <a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></li>
-<li><p><strong>00:59.009</strong>: <a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></li>
-<li><p><strong>00:54.705</strong>: <a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></li>
-<li><p><strong>00:32.581</strong>: <a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></li>
-<li><p><strong>00:23.937</strong>: <a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></li>
-<li><p><strong>00:22.876</strong>: <a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></li>
-<li><p><strong>00:20.763</strong>: <a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></li>
-<li><p><strong>00:19.022</strong>: <a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></li>
-<li><p><strong>00:13.817</strong>: <a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></li>
-<li><p><strong>00:02.518</strong>: <a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></li>
+<li><p><strong>01:07.910</strong>: <a class="reference internal" href="from_paddle.html#sphx-glr-how-to-compile-models-from-paddle-py"><span class="std std-ref">Compile PaddlePaddle Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_paddle.py</span></code>)</p></li>
+<li><p><strong>01:04.055</strong>: <a class="reference internal" href="from_tensorflow.html#sphx-glr-how-to-compile-models-from-tensorflow-py"><span class="std std-ref">Compile Tensorflow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tensorflow.py</span></code>)</p></li>
+<li><p><strong>00:55.131</strong>: <a class="reference internal" href="from_darknet.html#sphx-glr-how-to-compile-models-from-darknet-py"><span class="std std-ref">Compile YOLO-V2 and YOLO-V3 in DarkNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_darknet.py</span></code>)</p></li>
+<li><p><strong>00:46.170</strong>: <a class="reference internal" href="from_oneflow.html#sphx-glr-how-to-compile-models-from-oneflow-py"><span class="std std-ref">Compile OneFlow Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_oneflow.py</span></code>)</p></li>
+<li><p><strong>00:23.605</strong>: <a class="reference internal" href="from_tflite.html#sphx-glr-how-to-compile-models-from-tflite-py"><span class="std std-ref">Compile TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_tflite.py</span></code>)</p></li>
+<li><p><strong>00:22.749</strong>: <a class="reference internal" href="from_mxnet.html#sphx-glr-how-to-compile-models-from-mxnet-py"><span class="std std-ref">Compile MXNet Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_mxnet.py</span></code>)</p></li>
+<li><p><strong>00:21.018</strong>: <a class="reference internal" href="from_coreml.html#sphx-glr-how-to-compile-models-from-coreml-py"><span class="std std-ref">Compile CoreML Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_coreml.py</span></code>)</p></li>
+<li><p><strong>00:18.108</strong>: <a class="reference internal" href="from_pytorch.html#sphx-glr-how-to-compile-models-from-pytorch-py"><span class="std std-ref">Compile PyTorch Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_pytorch.py</span></code>)</p></li>
+<li><p><strong>00:12.473</strong>: <a class="reference internal" href="from_keras.html#sphx-glr-how-to-compile-models-from-keras-py"><span class="std std-ref">Compile Keras Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_keras.py</span></code>)</p></li>
+<li><p><strong>00:02.425</strong>: <a class="reference internal" href="from_onnx.html#sphx-glr-how-to-compile-models-from-onnx-py"><span class="std std-ref">Compile ONNX Models</span></a> (<code class="docutils literal notranslate"><span class="pre">from_onnx.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/deploy_models/deploy_model_on_android.html b/docs/how_to/deploy_models/deploy_model_on_android.html
index 9d7b1d308..1bbb3cc5a 100644
--- a/docs/how_to/deploy_models/deploy_model_on_android.html
+++ b/docs/how_to/deploy_models/deploy_model_on_android.html
@@ -627,7 +627,7 @@ to the remote android device.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  15.5358      15.4800      15.7651      15.4252       0.1206
+  15.7491      15.7586      15.8283      15.6672       0.0512
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
index 6f62edf89..6f4a29fbc 100644
--- a/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
+++ b/docs/how_to/deploy_models/deploy_object_detection_pytorch.html
@@ -409,16 +409,14 @@ be unstable.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth&quot; to /workspace/.cache/torch/hub/checkpoints/maskrcnn_resnet50_fpn_coco-bf2d0c1e.pth
 
   0%|          | 0.00/170M [00:00&lt;?, ?B/s]
-  8%|8         | 13.7M/170M [00:00&lt;00:01, 144MB/s]
- 16%|#6        | 27.4M/170M [00:00&lt;00:01, 138MB/s]
- 28%|##8       | 48.0M/170M [00:00&lt;00:00, 173MB/s]
- 39%|###8      | 66.0M/170M [00:00&lt;00:00, 178MB/s]
- 49%|####8     | 83.0M/170M [00:00&lt;00:00, 154MB/s]
- 59%|#####8    | 100M/170M [00:00&lt;00:00, 162MB/s]
- 71%|#######   | 120M/170M [00:00&lt;00:00, 176MB/s]
- 81%|########  | 137M/170M [00:00&lt;00:00, 176MB/s]
- 92%|#########1| 155M/170M [00:00&lt;00:00, 179MB/s]
-100%|##########| 170M/170M [00:01&lt;00:00, 168MB/s]
+ 10%|9         | 16.5M/170M [00:00&lt;00:00, 173MB/s]
+ 25%|##4       | 42.2M/170M [00:00&lt;00:00, 229MB/s]
+ 40%|###9      | 67.5M/170M [00:00&lt;00:00, 245MB/s]
+ 55%|#####4    | 92.9M/170M [00:00&lt;00:00, 253MB/s]
+ 69%|######8   | 117M/170M [00:00&lt;00:00, 250MB/s]
+ 83%|########2 | 141M/170M [00:00&lt;00:00, 247MB/s]
+ 97%|#########6| 164M/170M [00:00&lt;00:00, 242MB/s]
+100%|##########| 170M/170M [00:00&lt;00:00, 241MB/s]
 /usr/local/lib/python3.7/dist-packages/torch/nn/functional.py:3878: UserWarning: To copy construct from a tensor, it is recommended to use sourceTensor.clone().detach() or sourceTensor.clone().detach().requires_grad_(True), rather than torch.tensor(sourceTensor).
   for i in range(dim)
 /usr/local/lib/python3.7/dist-packages/torchvision/models/detection/anchor_utils.py:127: UserWarning: __floordiv__ is deprecated, and its behavior will change in a future version of pytorch. It currently rounds toward 0 (like the &#39;trunc&#39; function NOT &#39;floor&#39;). This results in incorrect rounding for negative values. To keep the current behavior, use torch.div(a, b, rounding_mode=&#39;trunc&#39;), or for actual floor division, use torch.div(a, b, rounding_mode=&#39;floor&#39;).
@@ -516,7 +514,7 @@ torchvision rcnn models.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Get 9 valid boxes
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  59.076 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  51.585 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-object-detection-pytorch-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7795da4b258c8feff986668b95ef57ad/deploy_object_detection_pytorch.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_object_detection_pytorch.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized.html b/docs/how_to/deploy_models/deploy_prequantized.html
index efdbf8375..4b33e3231 100644
--- a/docs/how_to/deploy_models/deploy_prequantized.html
+++ b/docs/how_to/deploy_models/deploy_prequantized.html
@@ -450,7 +450,8 @@ training. Other models require a full post training calibration.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/mobilenet_v2-b0353104.pth&quot; to /workspace/.cache/torch/hub/checkpoints/mobilenet_v2-b0353104.pth
 
   0%|          | 0.00/13.6M [00:00&lt;?, ?B/s]
-100%|##########| 13.6M/13.6M [00:00&lt;00:00, 165MB/s]
+ 79%|#######9  | 10.8M/13.6M [00:00&lt;00:00, 113MB/s]
+100%|##########| 13.6M/13.6M [00:00&lt;00:00, 125MB/s]
 </pre></div>
 </div>
 </div>
@@ -544,7 +545,7 @@ output values are identical out of 1000 outputs from mobilenet v2.</p>
 <p class="sphx-glr-script-out">Out:</p>
 <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)
-  90.2926      90.2189      92.2774      90.1215       0.2485
+  89.0704      88.9921      90.1946      88.7354       0.2867
 </pre></div>
 </div>
 <div class="admonition note">
@@ -583,7 +584,7 @@ This includes support for the VNNI 8 bit dot product instruction (CascadeLake or
 <div class="section" id="deploy-a-quantized-tflite-model">
 <h2>Deploy a quantized TFLite Model<a class="headerlink" href="#deploy-a-quantized-tflite-model" title="Permalink to this headline">¶</a></h2>
 <p>TODO</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  6.421 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  3.969 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/fb8217c13f4351224c6cf3aacf1a87fc/deploy_prequantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_prequantized_tflite.html b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
index a60a67a25..32b0d0751 100644
--- a/docs/how_to/deploy_models/deploy_prequantized_tflite.html
+++ b/docs/how_to/deploy_models/deploy_prequantized_tflite.html
@@ -545,7 +545,7 @@ TFLite Top-5 labels: [387 102 386 341 349]
 <p class="sphx-glr-script-out">Out:</p>
 <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)
-  119.4467     119.3797     124.9211     118.7194      0.6349
+  114.7941     114.5424     117.2638     113.8472      0.7271
 </pre></div>
 </div>
 <div class="admonition note">
@@ -573,7 +573,7 @@ network for ARM CPU</span></a>.</p></li>
 </ul>
 </div></blockquote>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  57.350 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  50.764 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-prequantized-tflite-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/56691c7a27d45da61d112276334640d3/deploy_prequantized_tflite.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_prequantized_tflite.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_quantized.html b/docs/how_to/deploy_models/deploy_quantized.html
index 02fdf6ba1..674bd3267 100644
--- a/docs/how_to/deploy_models/deploy_quantized.html
+++ b/docs/how_to/deploy_models/deploy_quantized.html
@@ -482,7 +482,7 @@ for calibration. But the accuracy might be impacted.</p>
   DeprecationWarning,
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.803 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  10.117 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-quantized-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/7810ecf51bfc05f7d5e8a400ac3e815d/deploy_quantized.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_quantized.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
index 95a91f1c7..4db18e93b 100644
--- a/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
+++ b/docs/how_to/deploy_models/deploy_ssd_gluoncv.html
@@ -415,24 +415,24 @@ to your device.</p>
 Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/ssd_512_resnet50_v1_voc-9c8b225a.zip...
 
   0%|          | 0/132723 [00:00&lt;?, ?KB/s]
-  3%|3         | 4049/132723 [00:00&lt;00:03, 40482.80KB/s]
-  9%|8         | 11574/132723 [00:00&lt;00:01, 60925.20KB/s]
- 15%|#4        | 19393/132723 [00:00&lt;00:01, 68803.30KB/s]
- 21%|##        | 27248/132723 [00:00&lt;00:01, 72647.67KB/s]
- 26%|##6       | 35120/132723 [00:00&lt;00:01, 74834.13KB/s]
- 32%|###2      | 42906/132723 [00:00&lt;00:01, 75854.37KB/s]
- 38%|###8      | 50743/132723 [00:00&lt;00:01, 76672.46KB/s]
- 44%|####4     | 58605/132723 [00:00&lt;00:00, 77287.66KB/s]
- 50%|#####     | 66490/132723 [00:00&lt;00:00, 77769.65KB/s]
- 56%|#####6    | 74375/132723 [00:01&lt;00:00, 78100.80KB/s]
- 62%|######1   | 82239/132723 [00:01&lt;00:00, 78263.94KB/s]
- 68%|######7   | 90097/132723 [00:01&lt;00:00, 78357.20KB/s]
- 74%|#######3  | 97937/132723 [00:01&lt;00:00, 78365.77KB/s]
- 80%|#######9  | 105845/132723 [00:01&lt;00:00, 78578.45KB/s]
- 86%|########5 | 113745/132723 [00:01&lt;00:00, 78701.40KB/s]
- 92%|#########1| 121637/132723 [00:01&lt;00:00, 78764.78KB/s]
- 98%|#########7| 129544/132723 [00:01&lt;00:00, 78855.11KB/s]
-100%|##########| 132723/132723 [00:01&lt;00:00, 76188.55KB/s]
+  5%|4         | 6519/132723 [00:00&lt;00:01, 65186.64KB/s]
+ 11%|#         | 14461/132723 [00:00&lt;00:01, 73552.98KB/s]
+ 16%|#6        | 21817/132723 [00:00&lt;00:01, 66839.28KB/s]
+ 22%|##2       | 29496/132723 [00:00&lt;00:01, 70540.88KB/s]
+ 28%|##7       | 37005/132723 [00:00&lt;00:01, 72117.32KB/s]
+ 34%|###3      | 44533/132723 [00:00&lt;00:01, 73164.14KB/s]
+ 39%|###9      | 52159/132723 [00:00&lt;00:01, 74156.65KB/s]
+ 45%|####5     | 59742/132723 [00:00&lt;00:00, 74681.20KB/s]
+ 51%|#####     | 67485/132723 [00:00&lt;00:00, 75531.08KB/s]
+ 57%|#####6    | 75153/132723 [00:01&lt;00:00, 75875.19KB/s]
+ 62%|######2   | 82750/132723 [00:01&lt;00:00, 75751.40KB/s]
+ 68%|######8   | 90332/132723 [00:01&lt;00:00, 75401.06KB/s]
+ 74%|#######3  | 97909/132723 [00:01&lt;00:00, 75503.03KB/s]
+ 79%|#######9  | 105463/132723 [00:01&lt;00:00, 75493.88KB/s]
+ 85%|########5 | 113189/132723 [00:01&lt;00:00, 76001.62KB/s]
+ 91%|#########1| 120791/132723 [00:01&lt;00:00, 75620.40KB/s]
+ 97%|#########6| 128355/132723 [00:01&lt;00:00, 75374.90KB/s]
+100%|##########| 132723/132723 [00:01&lt;00:00, 74224.28KB/s]
 </pre></div>
 </div>
 <p>Create TVM runtime and do inference
@@ -477,7 +477,7 @@ Downloading /workspace/.mxnet/models/ssd_512_resnet50_v1_voc-9c8b225a.zip from h
 </pre></div>
 </div>
 <img alt="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_deploy_ssd_gluoncv_001.png" />
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  19.517 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  13.509 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-deploy-models-deploy-ssd-gluoncv-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/cccb17d28e5e8b2e94ea8cd5ec59f6ed/deploy_ssd_gluoncv.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">deploy_ssd_gluoncv.py</span></code></a></p>
diff --git a/docs/how_to/deploy_models/sg_execution_times.html b/docs/how_to/deploy_models/sg_execution_times.html
index 482944802..c1724ed78 100644
--- a/docs/how_to/deploy_models/sg_execution_times.html
+++ b/docs/how_to/deploy_models/sg_execution_times.html
@@ -300,15 +300,15 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-deploy-models-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>10:23.237</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
+<p><strong>09:58.890</strong> total execution time for <strong>how_to_deploy_models</strong> files:</p>
 <ul class="simple">
-<li><p><strong>02:59.076</strong>: <a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></li>
-<li><p><strong>02:19.517</strong>: <a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></li>
-<li><p><strong>01:57.350</strong>: <a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></li>
-<li><p><strong>01:10.803</strong>: <a class="reference internal" href="deploy_quantized.html#sphx-glr-how-to-deploy-models-deploy-quantized-py"><span class="std std-ref">Deploy a Quantized Model on Cuda</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_quantized.py</span></code>)</p></li>
-<li><p><strong>01:06.421</strong>: <a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></li>
-<li><p><strong>00:27.854</strong>: <a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></li>
-<li><p><strong>00:22.013</strong>: <a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></li>
+<li><p><strong>02:51.585</strong>: <a class="reference internal" href="deploy_object_detection_pytorch.html#sphx-glr-how-to-deploy-models-deploy-object-detection-pytorch-py"><span class="std std-ref">Compile PyTorch Object Detection Models</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_object_detection_pytorch.py</span></code>)</p></li>
+<li><p><strong>02:13.509</strong>: <a class="reference internal" href="deploy_ssd_gluoncv.html#sphx-glr-how-to-deploy-models-deploy-ssd-gluoncv-py"><span class="std std-ref">Deploy Single Shot Multibox Detector(SSD) model</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_ssd_gluoncv.py</span></code>)</p></li>
+<li><p><strong>01:50.764</strong>: <a class="reference internal" href="deploy_prequantized_tflite.html#sphx-glr-how-to-deploy-models-deploy-prequantized-tflite-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM - Part 3 (TFLite)</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized_tflite.py</span></code>)</p></li>
+<li><p><strong>01:10.117</strong>: <a class="reference internal" href="deploy_quantized.html#sphx-glr-how-to-deploy-models-deploy-quantized-py"><span class="std std-ref">Deploy a Quantized Model on Cuda</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_quantized.py</span></code>)</p></li>
+<li><p><strong>01:03.969</strong>: <a class="reference internal" href="deploy_prequantized.html#sphx-glr-how-to-deploy-models-deploy-prequantized-py"><span class="std std-ref">Deploy a Framework-prequantized Model with TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_prequantized.py</span></code>)</p></li>
+<li><p><strong>00:27.357</strong>: <a class="reference internal" href="deploy_model_on_android.html#sphx-glr-how-to-deploy-models-deploy-model-on-android-py"><span class="std std-ref">Deploy the Pretrained Model on Android</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_android.py</span></code>)</p></li>
+<li><p><strong>00:21.388</strong>: <a class="reference internal" href="deploy_model_on_rasp.html#sphx-glr-how-to-deploy-models-deploy-model-on-rasp-py"><span class="std std-ref">Deploy the Pretrained Model on Raspberry Pi</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_model_on_rasp.py</span></code>)</p></li>
 <li><p><strong>00:00.203</strong>: <a class="reference internal" href="deploy_sparse.html#sphx-glr-how-to-deploy-models-deploy-sparse-py"><span class="std std-ref">Deploy a Hugging Face Pruned Model on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">deploy_sparse.py</span></code>)</p></li>
 </ul>
 </div>
diff --git a/docs/how_to/extend_tvm/bring_your_own_datatypes.html b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
index 153d8f39a..3ab7d83b1 100644
--- a/docs/how_to/extend_tvm/bring_your_own_datatypes.html
+++ b/docs/how_to/extend_tvm/bring_your_own_datatypes.html
@@ -590,7 +590,7 @@ In this alpha state of the Bring Your Own Datatypes framework, we have not imple
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipcb1ee649-b2bd-4102-b1d8-257fde4f7313 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading /workspace/.mxnet/models/mobilenet0.25-9f83e440.zipb431637c-f867-47ec-a534-87c06131ffc9 from https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/models/mobilenet0.25-9f83e440.zip...
 </pre></div>
 </div>
 <p>It’s easy to execute MobileNet with native TVM:</p>
diff --git a/docs/how_to/extend_tvm/sg_execution_times.html b/docs/how_to/extend_tvm/sg_execution_times.html
index e856e8d9e..e125b5b82 100644
--- a/docs/how_to/extend_tvm/sg_execution_times.html
+++ b/docs/how_to/extend_tvm/sg_execution_times.html
@@ -300,12 +300,12 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-extend-tvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:40.247</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
+<p><strong>00:40.706</strong> total execution time for <strong>how_to_extend_tvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:36.489</strong>: <a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></li>
-<li><p><strong>00:02.420</strong>: <a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></li>
-<li><p><strong>00:01.124</strong>: <a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></li>
-<li><p><strong>00:00.214</strong>: <a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></li>
+<li><p><strong>00:37.017</strong>: <a class="reference internal" href="bring_your_own_datatypes.html#sphx-glr-how-to-extend-tvm-bring-your-own-datatypes-py"><span class="std std-ref">Bring Your Own Datatypes to TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">bring_your_own_datatypes.py</span></code>)</p></li>
+<li><p><strong>00:02.371</strong>: <a class="reference internal" href="use_pass_instrument.html#sphx-glr-how-to-extend-tvm-use-pass-instrument-py"><span class="std std-ref">How to Use TVM Pass Instrument</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_instrument.py</span></code>)</p></li>
+<li><p><strong>00:01.114</strong>: <a class="reference internal" href="use_pass_infra.html#sphx-glr-how-to-extend-tvm-use-pass-infra-py"><span class="std std-ref">How to Use TVM Pass Infra</span></a> (<code class="docutils literal notranslate"><span class="pre">use_pass_infra.py</span></code>)</p></li>
+<li><p><strong>00:00.205</strong>: <a class="reference internal" href="low_level_custom_pass.html#sphx-glr-how-to-extend-tvm-low-level-custom-pass-py"><span class="std std-ref">Writing a Customized Pass</span></a> (<code class="docutils literal notranslate"><span class="pre">low_level_custom_pass.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/extend_tvm/use_pass_instrument.html b/docs/how_to/extend_tvm/use_pass_instrument.html
index eb2945074..810142ab6 100644
--- a/docs/how_to/extend_tvm/use_pass_instrument.html
+++ b/docs/how_to/extend_tvm/use_pass_instrument.html
@@ -486,10 +486,10 @@ profile the execution time of each passes.</p>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6757us [6757us] (45.81%; 45.81%)
-FoldScaleAxis: 7994us [6us] (54.19%; 54.19%)
-        FoldConstant: 7988us [1581us] (54.15%; 99.92%)
-                InferType: 6407us [6407us] (43.43%; 80.20%)
+InferType: 6664us [6664us] (45.84%; 45.84%)
+FoldScaleAxis: 7873us [6us] (54.16%; 54.16%)
+        FoldConstant: 7867us [1581us] (54.12%; 99.92%)
+                InferType: 6286us [6286us] (43.24%; 79.90%)
 </pre></div>
 </div>
 </div>
@@ -512,10 +512,10 @@ Refer to following sections and <a class="reference internal" href="../../refere
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Printing results of timing profile...
-InferType: 6334us [6334us] (44.81%; 44.81%)
-FoldScaleAxis: 7801us [4us] (55.19%; 55.19%)
-        FoldConstant: 7797us [1589us] (55.16%; 99.94%)
-                InferType: 6208us [6208us] (43.92%; 79.62%)
+InferType: 6292us [6292us] (44.46%; 44.46%)
+FoldScaleAxis: 7860us [5us] (55.54%; 55.54%)
+        FoldConstant: 7856us [1627us] (55.51%; 99.94%)
+                InferType: 6228us [6228us] (44.01%; 79.29%)
 </pre></div>
 </div>
 <p>Register empty list to clear existing instruments.</p>
diff --git a/docs/how_to/optimize_operators/opt_conv_cuda.html b/docs/how_to/optimize_operators/opt_conv_cuda.html
index 019d5e44c..c2caf1ee1 100644
--- a/docs/how_to/optimize_operators/opt_conv_cuda.html
+++ b/docs/how_to/optimize_operators/opt_conv_cuda.html
@@ -534,7 +534,7 @@ latency of convolution.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 40.805601 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Convolution: 54.121328 ms
 </pre></div>
 </div>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-optimize-operators-opt-conv-cuda-py">
diff --git a/docs/how_to/optimize_operators/opt_conv_tensorcore.html b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
index ccb9b0c8c..2935a04ae 100644
--- a/docs/how_to/optimize_operators/opt_conv_tensorcore.html
+++ b/docs/how_to/optimize_operators/opt_conv_tensorcore.html
@@ -878,7 +878,7 @@ be able to run on our build server</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 7.204732 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>conv2d with tensor core: 9.088901 ms
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/optimize_operators/opt_gemm.html b/docs/how_to/optimize_operators/opt_gemm.html
index 1a3b4b1f2..27c7c5965 100644
--- a/docs/how_to/optimize_operators/opt_gemm.html
+++ b/docs/how_to/optimize_operators/opt_gemm.html
@@ -431,8 +431,8 @@ Then we write a baseline implementation, the simplest way to write a matrix mult
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.018772
-Baseline: 3.431847
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Numpy running time: 0.017683
+Baseline: 3.273885
 </pre></div>
 </div>
 <p>In TVM, we can always inspect lower level IR to debug or optimize our schedule.
@@ -494,7 +494,7 @@ fill 32 * 32 * sizeof(float) which is 4KB in the cache whose total size is 32KB
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.308432
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt1: 0.295613
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -563,7 +563,7 @@ vastly.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.338178
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt2: 0.327668
 </pre></div>
 </div>
 <p>Here is the generated IR after vectorization.</p>
@@ -626,7 +626,7 @@ the access pattern for A matrix is more cache friendly.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.116168
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt3: 0.116949
 </pre></div>
 </div>
 <p>Here is the generated IR after loop permutation.</p>
@@ -711,7 +711,7 @@ flattening.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.110539
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt4: 0.108792
 </pre></div>
 </div>
 <p>Here is the generated IR after array packing.</p>
@@ -799,7 +799,7 @@ write to C when all the block results are ready.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.112073
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt5: 0.109051
 </pre></div>
 </div>
 <p>Here is the generated IR after blocking.</p>
@@ -891,7 +891,7 @@ write to C when all the block results are ready.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.145837
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Opt6: 0.142835
 </pre></div>
 </div>
 <p>Here is the generated IR after parallelization.</p>
diff --git a/docs/how_to/optimize_operators/sg_execution_times.html b/docs/how_to/optimize_operators/sg_execution_times.html
index cb2d657a4..e1383330e 100644
--- a/docs/how_to/optimize_operators/sg_execution_times.html
+++ b/docs/how_to/optimize_operators/sg_execution_times.html
@@ -300,11 +300,11 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-optimize-operators-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:35.301</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
+<p><strong>00:34.053</strong> total execution time for <strong>how_to_optimize_operators</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:32.633</strong>: <a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></li>
-<li><p><strong>00:01.441</strong>: <a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></li>
-<li><p><strong>00:01.227</strong>: <a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></li>
+<li><p><strong>00:31.498</strong>: <a class="reference internal" href="opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py"><span class="std std-ref">How to optimize GEMM on CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_gemm.py</span></code>)</p></li>
+<li><p><strong>00:01.382</strong>: <a class="reference internal" href="opt_conv_tensorcore.html#sphx-glr-how-to-optimize-operators-opt-conv-tensorcore-py"><span class="std std-ref">How to optimize convolution using TensorCores</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_tensorcore.py</span></code>)</p></li>
+<li><p><strong>00:01.172</strong>: <a class="reference internal" href="opt_conv_cuda.html#sphx-glr-how-to-optimize-operators-opt-conv-cuda-py"><span class="std std-ref">How to optimize convolution on GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">opt_conv_cuda.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
index 7e2dffb79..b5de05a23 100644
--- a/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
+++ b/docs/how_to/tune_with_autoscheduler/sg_execution_times.html
@@ -300,14 +300,14 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autoscheduler-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>05:15.401</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
+<p><strong>05:12.642</strong> total execution time for <strong>how_to_tune_with_autoscheduler</strong> files:</p>
 <ul class="simple">
-<li><p><strong>02:37.335</strong>: <a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></li>
-<li><p><strong>01:20.452</strong>: <a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></li>
-<li><p><strong>00:43.191</strong>: <a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></li>
-<li><p><strong>00:16.970</strong>: <a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></li>
-<li><p><strong>00:08.774</strong>: <a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></li>
-<li><p><strong>00:08.680</strong>: <a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></li>
+<li><p><strong>02:28.377</strong>: <a class="reference internal" href="tune_conv2d_layer_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py"><span class="std std-ref">Auto-scheduling a Convolution Layer for GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_layer_cuda.py</span></code>)</p></li>
+<li><p><strong>01:18.662</strong>: <a class="reference internal" href="tune_network_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-x86-py"><span class="std std-ref">Auto-scheduling a Neural Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_x86.py</span></code>)</p></li>
+<li><p><strong>00:42.224</strong>: <a class="reference internal" href="tune_network_cuda.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-cuda-py"><span class="std std-ref">Auto-scheduling a Neural Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_cuda.py</span></code>)</p></li>
+<li><p><strong>00:26.533</strong>: <a class="reference internal" href="tune_sparse_x86.html#sphx-glr-how-to-tune-with-autoscheduler-tune-sparse-x86-py"><span class="std std-ref">Auto-scheduling Sparse Matrix Multiplication on CPU with Custom Sketch Rule</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_sparse_x86.py</span></code>)</p></li>
+<li><p><strong>00:08.507</strong>: <a class="reference internal" href="tune_network_mali.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-mali-py"><span class="std std-ref">Auto-scheduling a Neural Network for mali GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_mali.py</span></code>)</p></li>
+<li><p><strong>00:08.338</strong>: <a class="reference internal" href="tune_network_arm.html#sphx-glr-how-to-tune-with-autoscheduler-tune-network-arm-py"><span class="std std-ref">Auto-scheduling a Neural Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_network_arm.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
index 3ad5a8ec1..abd8cbb3d 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_conv2d_layer_cuda.html
@@ -984,7 +984,7 @@ cooperative fetching, unrolling and operator fusion.</p>
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.359 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 0.363 ms
 </pre></div>
 </div>
 </div>
@@ -1549,7 +1549,7 @@ In the example below we resume the status and do more 5 trials.</p>
 Get devices for measurement successfully!
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  37.335 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 2 minutes  28.377 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-conv2d-layer-cuda-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e3e540f3b477c0c52d8eb73e674e8ffd/tune_conv2d_layer_cuda.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_conv2d_layer_cuda.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
index e40ff55e3..029749115 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_cuda.html
@@ -878,7 +878,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   9.8617       9.8703       9.9529       9.7621       0.0781
+   9.9960      10.0052      10.0460       9.9369       0.0450
 </pre></div>
 </div>
 </div>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
index 4dc4a7f8f..c91034e61 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_network_x86.html
@@ -897,7 +897,7 @@ so we can read the log file and load the best schedules.</p>
 Evaluate inference time cost...
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-  756.9374     756.1998     758.5349     756.0775      1.1307
+  760.1185     760.5951     761.3281     758.4323      1.2293
 </pre></div>
 </div>
 </div>
@@ -919,7 +919,7 @@ to learn how to use the RPC Tracker and RPC Server.
 To use the RPC Tracker in auto-scheduler, replace the runner in <code class="code docutils literal notranslate"><span class="pre">TuningOptions</span></code>
 with <a class="reference internal" href="../../reference/api/python/auto_scheduler.html#tvm.auto_scheduler.RPCRunner" title="tvm.auto_scheduler.RPCRunner"><code class="xref any py py-class docutils literal notranslate"><span class="pre">auto_scheduler.RPCRunner</span></code></a>.</p></li>
 </ol>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  20.452 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 1 minutes  18.662 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autoscheduler-tune-network-x86-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/e416b94ca1090b0897c0f6e0df95b911/tune_network_x86.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">tune_network_x86.py</span></code></a></p>
diff --git a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
index c133691a1..8aebb75ef 100644
--- a/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
+++ b/docs/how_to/tune_with_autoscheduler/tune_sparse_x86.html
@@ -600,30 +600,78 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
              placeholder_4: Buffer(placeholder_14: Pointer(float32), float32, [65536], []),
              compute: Buffer(compute_2: Pointer(float32), float32, [65536], [])}
   buffer_map = {placeholder_5: placeholder, placeholder_6: placeholder_1, placeholder_7: placeholder_2, placeholder_8: placeholder_3, placeholder_9: placeholder_4, compute_1: compute}
-  preflattened_buffer_map = {placeholder_8: placeholder_15: Buffer(placeholder_13, int32, [33], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_5: placeholder_16: Buffer(placeholder_10, float32, [128, 256], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
-  for (i0.outer.i1.outer.fused: int32, 0, 32) &quot;parallel&quot; {
-    allocate(compute_4: Pointer(global float32), float32, [2048]), storage_scope = global {
-      for (i.outer.inner: int32, 0, 16) {
+  preflattened_buffer_map = {placeholder_5: placeholder_15: Buffer(placeholder_10, float32, [128, 256], []), placeholder_8: placeholder_16: Buffer(placeholder_13, int32, [33], []), placeholder_9: placeholder_17: Buffer(placeholder_14, float32, [128, 512], []), compute_1: compute_3: Buffer(compute_2, float32, [128, 512], []), placeholder_6: placeholder_18: Buffer(placeholder_11, float32, [4916, 16, 1], []), placeholder_7: placeholder_19: Buffer(placeholder_12, int32, [4916], [])} {
+  for (i0.outer.i1.outer.fused: int32, 0, 128) &quot;parallel&quot; {
+    allocate(compute_4: Pointer(global float32), float32, [512]), storage_scope = global {
+      for (i.outer.inner: int32, 0, 2) {
         for (nb_j.inner: int32, 0, 2) {
-          for (i.inner.init: int32, 0, 4) {
-            for (j.init: int32, 0, 16) {
-              compute_5: Buffer(compute_4, float32, [2048], [])[((((i.outer.inner*128) + (i.inner.init*32)) + (nb_j.inner*16)) + j.init)] = 0f32
+          for (i.inner.init: int32, 0, 8) {
+            let cse_var_1: int32 = (((i.outer.inner*256) + (i.inner.init*32)) + (nb_j.inner*16))
+             {
+              compute_5: Buffer(compute_4, float32, [512], [])[cse_var_1] = 0f32
+              compute_5[(cse_var_1 + 1)] = 0f32
+              compute_5[(cse_var_1 + 2)] = 0f32
+              compute_5[(cse_var_1 + 3)] = 0f32
+              compute_5[(cse_var_1 + 4)] = 0f32
+              compute_5[(cse_var_1 + 5)] = 0f32
+              compute_5[(cse_var_1 + 6)] = 0f32
+              compute_5[(cse_var_1 + 7)] = 0f32
+              compute_5[(cse_var_1 + 8)] = 0f32
+              compute_5[(cse_var_1 + 9)] = 0f32
+              compute_5[(cse_var_1 + 10)] = 0f32
+              compute_5[(cse_var_1 + 11)] = 0f32
+              compute_5[(cse_var_1 + 12)] = 0f32
+              compute_5[(cse_var_1 + 13)] = 0f32
+              compute_5[(cse_var_1 + 14)] = 0f32
+              compute_5[(cse_var_1 + 15)] = 0f32
             }
           }
-          for (elem_idx: int32, 0, let cse_var_1: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_1 + 1)] - placeholder_3[cse_var_1])) {
-            for (i.inner: int32, 0, 4) {
-              for (j: int32, 0, 16) {
-                let cse_var_3: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
-                let cse_var_2: int32 = ((((i.outer.inner*128) + (i.inner*32)) + (nb_j.inner*16)) + j)
-                compute_5[cse_var_2] = (compute_5[cse_var_2] + (placeholder_1[(((placeholder_3[cse_var_3]*16) + (elem_idx*16)) + j)]*max(placeholder[((((floordiv(i0.outer.i1.outer.fused, 16)*16384) + (i.outer.inner*1024)) + (i.inner*256)) + placeholder_2[(placeholder_3[cse_var_3] + elem_idx)])], 0f32)))
+          for (elem_idx: int32, 0, let cse_var_2: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner) in (placeholder_3[(cse_var_2 + 1)] - placeholder_3[cse_var_2])) {
+            for (i.inner: int32, 0, 8) {
+              let cse_var_21: int32 = (elem_idx*16)
+              let cse_var_20: int32 = ((floormod(i0.outer.i1.outer.fused, 16)*2) + nb_j.inner)
+              let cse_var_19: int32 = (((i.outer.inner*256) + (i.inner*32)) + (nb_j.inner*16))
+              let cse_var_18: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*4096) + (i.outer.inner*2048)) + (i.inner*256))
+              let cse_var_17: int32 = (cse_var_19 + 9)
+              let cse_var_16: int32 = (cse_var_19 + 8)
+              let cse_var_15: int32 = (cse_var_19 + 7)
+              let cse_var_14: int32 = (cse_var_19 + 6)
+              let cse_var_13: int32 = (cse_var_19 + 5)
+              let cse_var_12: int32 = (cse_var_19 + 4)
+              let cse_var_11: int32 = (cse_var_19 + 3)
+              let cse_var_10: int32 = (cse_var_19 + 2)
+              let cse_var_9: int32 = (cse_var_19 + 15)
+              let cse_var_8: int32 = (cse_var_19 + 14)
+              let cse_var_7: int32 = (cse_var_19 + 13)
+              let cse_var_6: int32 = (cse_var_19 + 12)
+              let cse_var_5: int32 = (cse_var_19 + 11)
+              let cse_var_4: int32 = (cse_var_19 + 10)
+              let cse_var_3: int32 = (cse_var_19 + 1)
+               {
+                compute_5[cse_var_19] = (compute_5[cse_var_19] + (placeholder_1[((placeholder_3[cse_var_20]*16) + cse_var_21)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_3] = (compute_5[cse_var_3] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 1)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_10] = (compute_5[cse_var_10] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 2)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_11] = (compute_5[cse_var_11] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 3)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_12] = (compute_5[cse_var_12] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 4)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_13] = (compute_5[cse_var_13] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 5)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_14] = (compute_5[cse_var_14] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 6)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_15] = (compute_5[cse_var_15] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 7)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_16] = (compute_5[cse_var_16] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 8)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_17] = (compute_5[cse_var_17] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 9)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_4] = (compute_5[cse_var_4] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 10)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_5] = (compute_5[cse_var_5] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 11)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_6] = (compute_5[cse_var_6] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 12)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_7] = (compute_5[cse_var_7] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 13)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_8] = (compute_5[cse_var_8] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 14)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
+                compute_5[cse_var_9] = (compute_5[cse_var_9] + (placeholder_1[(((placeholder_3[cse_var_20]*16) + cse_var_21) + 15)]*max(placeholder[(cse_var_18 + placeholder_2[(placeholder_3[cse_var_20] + elem_idx)])], 0f32)))
               }
             }
           }
         }
       }
-      for (i0.inner: int32, 0, 64) {
-        let cse_var_4: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*32768) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
-        compute[ramp(cse_var_4, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_4, 1, 32)]), broadcast(0f32, 32))
+      for (i0.inner: int32, 0, 16) {
+        let cse_var_22: int32 = (((floordiv(i0.outer.i1.outer.fused, 16)*8192) + (i0.inner*512)) + (floormod(i0.outer.i1.outer.fused, 16)*32))
+        compute[ramp(cse_var_22, 1, 32)] = max((compute_5[ramp((i0.inner*32), 1, 32)] + placeholder_4[ramp(cse_var_22, 1, 32)]), broadcast(0f32, 32))
       }
     }
   }
@@ -662,7 +710,7 @@ layout transformation, parallelization, vectorization, unrolling, and operator f
 </pre></div>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.453 ms
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time of this operator: 1.848 ms
 </pre></div>
 </div>
 <div class="admonition note">
diff --git a/docs/how_to/tune_with_autotvm/sg_execution_times.html b/docs/how_to/tune_with_autotvm/sg_execution_times.html
index 31f4409fa..8e5235613 100644
--- a/docs/how_to/tune_with_autotvm/sg_execution_times.html
+++ b/docs/how_to/tune_with_autotvm/sg_execution_times.html
@@ -300,13 +300,13 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-tune-with-autotvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:43.640</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
+<p><strong>00:43.474</strong> total execution time for <strong>how_to_tune_with_autotvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:42.739</strong>: <a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></li>
-<li><p><strong>00:00.235</strong>: <a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></li>
-<li><p><strong>00:00.224</strong>: <a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></li>
-<li><p><strong>00:00.223</strong>: <a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></li>
-<li><p><strong>00:00.219</strong>: <a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></li>
+<li><p><strong>00:42.687</strong>: <a class="reference internal" href="tune_conv2d_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-conv2d-cuda-py"><span class="std std-ref">Tuning High Performance Convolution on NVIDIA GPUs</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_conv2d_cuda.py</span></code>)</p></li>
+<li><p><strong>00:00.208</strong>: <a class="reference internal" href="tune_relay_x86.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-x86-py"><span class="std std-ref">Auto-tuning a Convolutional Network for x86 CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_x86.py</span></code>)</p></li>
+<li><p><strong>00:00.194</strong>: <a class="reference internal" href="tune_relay_cuda.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-cuda-py"><span class="std std-ref">Auto-tuning a Convolutional Network for NVIDIA GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_cuda.py</span></code>)</p></li>
+<li><p><strong>00:00.193</strong>: <a class="reference internal" href="tune_relay_arm.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-arm-py"><span class="std std-ref">Auto-tuning a Convolutional Network for ARM CPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_arm.py</span></code>)</p></li>
+<li><p><strong>00:00.192</strong>: <a class="reference internal" href="tune_relay_mobile_gpu.html#sphx-glr-how-to-tune-with-autotvm-tune-relay-mobile-gpu-py"><span class="std std-ref">Auto-tuning a Convolutional Network for Mobile GPU</span></a> (<code class="docutils literal notranslate"><span class="pre">tune_relay_mobile_gpu.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
index 9bba9d12e..08e669079 100644
--- a/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
+++ b/docs/how_to/tune_with_autotvm/tune_conv2d_cuda.html
@@ -563,11 +563,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -619,11 +619,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -686,11 +686,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -742,11 +742,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -809,11 +809,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -865,11 +865,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -932,11 +932,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -988,11 +988,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1055,11 +1055,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1111,11 +1111,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1142,8 +1142,8 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 4, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 1, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2885496
-No: 6   GFLOPS: 64.33/64.33     result: MeasureResult(costs=(0.0035984016333333335,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.7626922130584717, timestamp=1654796431.9868412)      [(&#39;tile_f&#39;, [-1, 1, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3754080
-No: 7   GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 6   GFLOPS: 42.36/42.36     result: MeasureResult(costs=(0.005465052894736842,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.6145665645599365, timestamp=1654798752.244715)        [(&#39;tile_f&#39;, [-1, 1, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,3754080
+No: 7   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1179,11 +1179,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1235,11 +1235,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1266,7 +1266,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 16, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 256, 1]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6225319
-No: 8   GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 8   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1302,11 +1302,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1358,11 +1358,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1389,7 +1389,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 32]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 64]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,943546
-No: 9   GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 9   GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1425,11 +1425,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1481,11 +1481,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1512,7 +1512,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 4, 16, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 16, 32]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2868708
-No: 10  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 10  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 142, in build
     res = future.result()
   File &quot;/usr/lib/python3.7/concurrent/futures/_base.py&quot;, line 435, in result
@@ -1530,7 +1530,7 @@ No: 10  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
 TimeoutError
 
         [(&#39;tile_f&#39;, [-1, 32, 2, 4]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 4, 2]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4691833
-No: 11  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 11  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1566,11 +1566,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1622,11 +1622,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1653,7 +1653,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 2, 64]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,1042124
-No: 12  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 12  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1689,11 +1689,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1745,11 +1745,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1776,7 +1776,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 32, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 32, 16]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,10013405
-No: 13  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 13  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1812,11 +1812,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1868,11 +1868,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1899,7 +1899,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 8, 8, 2]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 7, 1]), (&#39;tile_rc&#39;, [-1, 4, 32]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6732082
-No: 14  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 14  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -1935,11 +1935,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -1991,11 +1991,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2022,7 +2022,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 4, 32]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 1, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 128]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 1)],None,7536735
-No: 15  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 15  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2058,11 +2058,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2114,11 +2114,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2145,7 +2145,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 4]), (&#39;tile_y&#39;, [-1, 1, 1, 7]), (&#39;tile_x&#39;, [-1, 1, 1, 7]), (&#39;tile_rc&#39;, [-1, 128, 4]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 1, 1]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 0)],None,482121
-No: 16  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 16  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2181,11 +2181,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2237,11 +2237,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2268,7 +2268,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 2, 1, 16]), (&#39;tile_y&#39;, [-1, 1, 7, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 32, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 512), (&#39;unroll_explicit&#39;, 0)],None,2824525
-No: 17  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 17  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2304,11 +2304,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2360,11 +2360,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2391,7 +2391,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 64, 1, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 8, 8]), (&#39;tile_ry&#39;, [-1, 1, 3]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 0)],None,4559286
-No: 18  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 18  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 571, in __call__
     func, arg_info = _build_func_common(measure_input, self.runtime, **kwargs)
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 523, in _build_func_common
@@ -2427,11 +2427,11 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2483,11 +2483,11 @@ Traceback (most recent call last):
   14: run&lt;tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_, tvm::runtime::TVMMovableArgValueWithContext_&gt;
         at ../include/tvm/runtime/packed_func.h:1646
   13: operator()
-        at ../src/driver/driver_api.cc:416
+        at ../src/driver/driver_api.cc:390
   12: tvm::LowerSchedule(tvm::te::Schedule, tvm::runtime::Array&lt;tvm::runtime::ObjectRef, void&gt; const&amp;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt; &gt; const&amp;, std::unordered_map&lt;tvm::te::Tensor, tvm::tir::Buffer, std::hash&lt;tvm::te::Tensor&gt;, std::equal_to&lt;tvm::te::Tensor&gt;, std::allocator&lt;std::pair&lt;tvm::te::Tensor const, tvm::tir::Buffer&gt; &gt; &gt; const&amp;, bool)
-        at ../src/driver/driver_api.cc:403
+        at ../src/driver/driver_api.cc:377
   11: tvm::LowerWithPassList(tvm::IRModule, tvm::runtime::Array&lt;tvm::transform::Pass, void&gt;)
-        at ../src/driver/driver_api.cc:303
+        at ../src/driver/driver_api.cc:277
   10: tvm::transform::Pass::operator()(tvm::IRModule) const
         at ../src/ir/transform.cc:258
   9: tvm::transform::Pass::operator()(tvm::IRModule, tvm::transform::PassContext const&amp;) const
@@ -2514,7 +2514,7 @@ Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 854, in verify_pass
     raise InstantiationError(&quot;Skipped because of invalid gpu kernel&quot;)
 tvm.autotvm.task.space.InstantiationError: Skipped because of invalid gpu kernel        [(&#39;tile_f&#39;, [-1, 1, 32, 16]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 512]), (&#39;tile_ry&#39;, [-1, 3, 1]), (&#39;tile_rx&#39;, [-1, 3, 1]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9677544
-No: 19  GFLOPS: 0.00/64.33      result: Traceback (most recent call last):
+No: 19  GFLOPS: 0.00/42.36      result: Traceback (most recent call last):
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 721, in __call__
     yield remote, remote.load_module(os.path.split(build_result.filename)[1])
   File &quot;/workspace/python/tvm/autotvm/measure/measure_methods.py&quot;, line 685, in run_through_rpc
@@ -2602,7 +2602,7 @@ tvm._ffi.base.TVMError: Traceback (most recent call last):
   15: _PyEval_EvalFrameDefault
   14: 0x0000000000537c30
   13: _PyObject_FastCallKeywords
-  12: 0x00007f87a50e1fa2
+  12: 0x00007fa311efbfa2
   11: _ctypes_callproc
   10: ffi_call
   9: ffi_call_unix64
@@ -2667,7 +2667,7 @@ Traceback (most recent call last):
   21: _PyFunction_FastCallKeywords
   20: _PyEval_EvalFrameDefault
   19: _PyFunction_FastCall      [(&#39;tile_f&#39;, [-1, 8, 2, 16]), (&#39;tile_y&#39;, [-1, 7, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 1, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 0), (&#39;unroll_explicit&#39;, 1)],None,6390073
-No: 20  GFLOPS: 143.95/143.95   result: MeasureResult(costs=(0.00160816164,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4146065711975098, timestamp=1654796457.769143)       [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
+No: 20  GFLOPS: 143.04/143.04   result: MeasureResult(costs=(0.0016183888799999999,), error_no=MeasureErrorNo.NO_ERROR, all_cost=1.4114298820495605, timestamp=1654798778.4673622)      [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
 </pre></div>
 </div>
 <p>Finally we can inspect the best config from log file, check correctness,
@@ -2706,7 +2706,7 @@ and measure running time.</p>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Best config:
 [(&#39;tile_f&#39;, [-1, 1, 4, 1]), (&#39;tile_y&#39;, [-1, 1, 1, 1]), (&#39;tile_x&#39;, [-1, 7, 1, 1]), (&#39;tile_rc&#39;, [-1, 4, 1]), (&#39;tile_ry&#39;, [-1, 1, 1]), (&#39;tile_rx&#39;, [-1, 1, 3]), (&#39;auto_unroll_max_step&#39;, 1500), (&#39;unroll_explicit&#39;, 1)],None,9881539
-Time cost of this operator: 0.001983
+Time cost of this operator: 0.001969
 </pre></div>
 </div>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-tune-with-autotvm-tune-conv2d-cuda-py">
diff --git a/docs/how_to/work_with_microtvm/micro_autotune.html b/docs/how_to/work_with_microtvm/micro_autotune.html
index 0ee858c4e..3a08afe65 100644
--- a/docs/how_to/work_with_microtvm/micro_autotune.html
+++ b/docs/how_to/work_with_microtvm/micro_autotune.html
@@ -556,10 +556,10 @@ the tuned operator.</p>
 ########## Build without Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  310.9     98.711   (1, 2, 10, 10, 3)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.159     1.003    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.901     0.286    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             314.96    -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  312.0     98.7     (1, 2, 10, 10, 3)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       3.203     1.013    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.905     0.286    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             316.109   -        -                  -       -
 </pre></div>
 </div>
 </div>
@@ -611,10 +611,10 @@ Total_time                                    -
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>########## Build with Autotuning ##########
 Node Name                                     Ops                                           Time(us)  Time(%)  Shape              Inputs  Outputs
 ---------                                     ---                                           --------  -------  -----              ------  -------
-tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  80.9      96.775   (1, 6, 10, 10, 1)  2       1
-tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.784     2.134    (1, 6, 10, 10)     1       1
-tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.912     1.091    (1, 1, 10, 10, 3)  1       1
-Total_time                                    -                                             83.596    -        -                  -       -
+tvmgen_default_fused_nn_contrib_conv2d_NCHWc  tvmgen_default_fused_nn_contrib_conv2d_NCHWc  123.5     97.883   (1, 6, 10, 10, 1)  2       1
+tvmgen_default_fused_layout_transform_1       tvmgen_default_fused_layout_transform_1       1.745     1.383    (1, 6, 10, 10)     1       1
+tvmgen_default_fused_layout_transform         tvmgen_default_fused_layout_transform         0.926     0.734    (1, 1, 10, 10, 3)  1       1
+Total_time                                    -                                             126.171   -        -                  -       -
 </pre></div>
 </div>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-autotune-py">
diff --git a/docs/how_to/work_with_microtvm/micro_train.html b/docs/how_to/work_with_microtvm/micro_train.html
index 194498f11..dcc20410f 100644
--- a/docs/how_to/work_with_microtvm/micro_train.html
+++ b/docs/how_to/work_with_microtvm/micro_train.html
@@ -552,8 +552,8 @@ objects to other stuff? We can display some examples from our datasets using <co
 </div>
 <img alt="../../_images/sphx_glr_micro_train_001.png" class="sphx-glr-single-img" src="../../_images/sphx_glr_micro_train_001.png" />
 <p class="sphx-glr-script-out">Out:</p>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpgnae84hd/images/target contains 8144 images
-/tmp/tmpgnae84hd/images/random contains 5000 images
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/tmp/tmpiox3rhox/images/target contains 8144 images
+/tmp/tmpiox3rhox/images/random contains 5000 images
 </pre></div>
 </div>
 </div>
@@ -666,11 +666,11 @@ the time on our validation set).</p>
 </div>
 <p class="sphx-glr-script-out">Out:</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Epoch 1/3
-328/328 - 54s - loss: 0.2159 - accuracy: 0.9269 - val_loss: 0.1423 - val_accuracy: 0.9539
+328/328 - 54s - loss: 0.2098 - accuracy: 0.9285 - val_loss: 0.1377 - val_accuracy: 0.9585
 Epoch 2/3
-328/328 - 52s - loss: 0.0998 - accuracy: 0.9615 - val_loss: 0.1135 - val_accuracy: 0.9581
+328/328 - 52s - loss: 0.0960 - accuracy: 0.9648 - val_loss: 0.1309 - val_accuracy: 0.9619
 Epoch 3/3
-328/328 - 52s - loss: 0.0690 - accuracy: 0.9734 - val_loss: 0.0985 - val_accuracy: 0.9664
+328/328 - 52s - loss: 0.0648 - accuracy: 0.9752 - val_loss: 0.1234 - val_accuracy: 0.9607
 </pre></div>
 </div>
 </div>
@@ -959,7 +959,7 @@ as intended.</p>
 <p>From here, we could modify the model to read live images from the camera - we have another
 Arduino tutorial for how to do that <a class="reference external" href="https://github.com/guberti/tvm-arduino-demos/tree/master/examples/person_detection">on GitHub</a>. Alternatively, we could also
 <a class="reference external" href="https://tvm.apache.org/docs/how_to/work_with_microtvm/micro_autotune.html">use TVM’s autotuning capabilities</a> to dramatically improve the model’s performance.</p>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 6 minutes  5.688 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 4 minutes  45.999 seconds)</p>
 <div class="sphx-glr-footer class sphx-glr-footer-example docutils container" id="sphx-glr-download-how-to-work-with-microtvm-micro-train-py">
 <div class="sphx-glr-download docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/b52cec46baf4f78d6bcd94cbe269c8a6/micro_train.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">micro_train.py</span></code></a></p>
diff --git a/docs/how_to/work_with_microtvm/sg_execution_times.html b/docs/how_to/work_with_microtvm/sg_execution_times.html
index cad1627a8..dcb59fb02 100644
--- a/docs/how_to/work_with_microtvm/sg_execution_times.html
+++ b/docs/how_to/work_with_microtvm/sg_execution_times.html
@@ -300,14 +300,14 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-microtvm-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>06:51.783</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
+<p><strong>05:31.973</strong> total execution time for <strong>how_to_work_with_microtvm</strong> files:</p>
 <ul class="simple">
-<li><p><strong>06:05.688</strong>: <a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></li>
-<li><p><strong>00:41.849</strong>: <a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></li>
-<li><p><strong>00:03.627</strong>: <a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></li>
-<li><p><strong>00:00.213</strong>: <a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">Executing a Tiny Model with TVMC Micro</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.py</span></code>)</p></li>
+<li><p><strong>04:45.999</strong>: <a class="reference internal" href="micro_train.html#sphx-glr-how-to-work-with-microtvm-micro-train-py"><span class="std std-ref">Training Vision Models for microTVM on Arduino</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_train.py</span></code>)</p></li>
+<li><p><strong>00:41.747</strong>: <a class="reference internal" href="micro_autotune.html#sphx-glr-how-to-work-with-microtvm-micro-autotune-py"><span class="std std-ref">Autotuning with microTVM</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_autotune.py</span></code>)</p></li>
+<li><p><strong>00:03.608</strong>: <a class="reference internal" href="micro_tflite.html#sphx-glr-how-to-work-with-microtvm-micro-tflite-py"><span class="std std-ref">microTVM with TFLite Models</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tflite.py</span></code>)</p></li>
+<li><p><strong>00:00.208</strong>: <a class="reference internal" href="micro_tvmc.html#sphx-glr-how-to-work-with-microtvm-micro-tvmc-py"><span class="std std-ref">Executing a Tiny Model with TVMC Micro</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_tvmc.py</span></code>)</p></li>
+<li><p><strong>00:00.206</strong>: <a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
 <li><p><strong>00:00.204</strong>: <a class="reference internal" href="micro_reference_vm.html#sphx-glr-how-to-work-with-microtvm-micro-reference-vm-py"><span class="std std-ref">microTVM Reference Virtual Machines</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_reference_vm.py</span></code>)</p></li>
-<li><p><strong>00:00.203</strong>: <a class="reference internal" href="micro_ethosu.html#sphx-glr-how-to-work-with-microtvm-micro-ethosu-py"><span class="std std-ref">Running TVM on bare metal Arm(R) Cortex(R)-M55 CPU and Ethos(TM)-U55 NPU with CMSIS-NN</span></a> (<code class="docutils literal notranslate"><span class="pre">micro_ethosu.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_relay/sg_execution_times.html b/docs/how_to/work_with_relay/sg_execution_times.html
index 15dfdbfb0..c9846b8ca 100644
--- a/docs/how_to/work_with_relay/sg_execution_times.html
+++ b/docs/how_to/work_with_relay/sg_execution_times.html
@@ -300,11 +300,11 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-relay-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:11.520</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
+<p><strong>00:11.541</strong> total execution time for <strong>how_to_work_with_relay</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:09.814</strong>: <a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></li>
-<li><p><strong>00:01.484</strong>: <a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></li>
-<li><p><strong>00:00.223</strong>: <a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></li>
+<li><p><strong>00:09.943</strong>: <a class="reference internal" href="using_external_lib.html#sphx-glr-how-to-work-with-relay-using-external-lib-py"><span class="std std-ref">Using External Libraries in Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_external_lib.py</span></code>)</p></li>
+<li><p><strong>00:01.403</strong>: <a class="reference internal" href="build_gcn.html#sphx-glr-how-to-work-with-relay-build-gcn-py"><span class="std std-ref">Building a Graph Convolutional Network</span></a> (<code class="docutils literal notranslate"><span class="pre">build_gcn.py</span></code>)</p></li>
+<li><p><strong>00:00.195</strong>: <a class="reference internal" href="using_relay_viz.html#sphx-glr-how-to-work-with-relay-using-relay-viz-py"><span class="std std-ref">Use Relay Visualizer to Visualize Relay</span></a> (<code class="docutils literal notranslate"><span class="pre">using_relay_viz.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_schedules/sg_execution_times.html b/docs/how_to/work_with_schedules/sg_execution_times.html
index 1ce6e1484..9e8ab6ac5 100644
--- a/docs/how_to/work_with_schedules/sg_execution_times.html
+++ b/docs/how_to/work_with_schedules/sg_execution_times.html
@@ -300,16 +300,16 @@
             
   <div class="section" id="computation-times">
 <span id="sphx-glr-how-to-work-with-schedules-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this headline">¶</a></h1>
-<p><strong>00:05.539</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
+<p><strong>00:05.267</strong> total execution time for <strong>how_to_work_with_schedules</strong> files:</p>
 <ul class="simple">
-<li><p><strong>00:01.1000</strong>: <a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></li>
-<li><p><strong>00:01.093</strong>: <a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></li>
-<li><p><strong>00:00.714</strong>: <a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></li>
-<li><p><strong>00:00.700</strong>: <a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></li>
-<li><p><strong>00:00.312</strong>: <a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></li>
-<li><p><strong>00:00.247</strong>: <a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></li>
-<li><p><strong>00:00.245</strong>: <a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></li>
-<li><p><strong>00:00.229</strong>: <a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></li>
+<li><p><strong>00:01.930</strong>: <a class="reference internal" href="intrin_math.html#sphx-glr-how-to-work-with-schedules-intrin-math-py"><span class="std std-ref">Intrinsics and Math Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">intrin_math.py</span></code>)</p></li>
+<li><p><strong>00:01.086</strong>: <a class="reference internal" href="tensorize.html#sphx-glr-how-to-work-with-schedules-tensorize-py"><span class="std std-ref">Use Tensorize to Leverage Hardware Intrinsics</span></a> (<code class="docutils literal notranslate"><span class="pre">tensorize.py</span></code>)</p></li>
+<li><p><strong>00:00.668</strong>: <a class="reference internal" href="reduction.html#sphx-glr-how-to-work-with-schedules-reduction-py"><span class="std std-ref">Reduction</span></a> (<code class="docutils literal notranslate"><span class="pre">reduction.py</span></code>)</p></li>
+<li><p><strong>00:00.664</strong>: <a class="reference internal" href="scan.html#sphx-glr-how-to-work-with-schedules-scan-py"><span class="std std-ref">Scan and Recurrent Kernel</span></a> (<code class="docutils literal notranslate"><span class="pre">scan.py</span></code>)</p></li>
+<li><p><strong>00:00.282</strong>: <a class="reference internal" href="extern_op.html#sphx-glr-how-to-work-with-schedules-extern-op-py"><span class="std std-ref">External Tensor Functions</span></a> (<code class="docutils literal notranslate"><span class="pre">extern_op.py</span></code>)</p></li>
+<li><p><strong>00:00.220</strong>: <a class="reference internal" href="schedule_primitives.html#sphx-glr-how-to-work-with-schedules-schedule-primitives-py"><span class="std std-ref">Schedule Primitives in TVM</span></a> (<code class="docutils literal notranslate"><span class="pre">schedule_primitives.py</span></code>)</p></li>
+<li><p><strong>00:00.217</strong>: <a class="reference internal" href="tedd.html#sphx-glr-how-to-work-with-schedules-tedd-py"><span class="std std-ref">Use Tensor Expression Debug Display (TEDD) for Visualization</span></a> (<code class="docutils literal notranslate"><span class="pre">tedd.py</span></code>)</p></li>
+<li><p><strong>00:00.200</strong>: <a class="reference internal" href="tuple_inputs.html#sphx-glr-how-to-work-with-schedules-tuple-inputs-py"><span class="std std-ref">Compute and Reduce with Tuple Inputs</span></a> (<code class="docutils literal notranslate"><span class="pre">tuple_inputs.py</span></code>)</p></li>
 </ul>
 </div>
 
diff --git a/docs/how_to/work_with_schedules/tensorize.html b/docs/how_to/work_with_schedules/tensorize.html
index 8ab831ffa..9c5ce32c4 100644
--- a/docs/how_to/work_with_schedules/tensorize.html
+++ b/docs/how_to/work_with_schedules/tensorize.html
@@ -552,7 +552,7 @@ The importing needs to happen before the tensorized GEMV being executed.</p>
              C: Buffer(C_2: Pointer(float32), float32, [524288], [])}
   buffer_map = {A_1: A, B_1: B, C_1: C}
   preflattened_buffer_map = {A_1: A_3: Buffer(A_2, float32, [1024, 64], []), B_1: B_3: Buffer(B_2, float32, [512, 64], []), C_1: C_3: Buffer(C_2, float32, [1024, 512], [])} {
-  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpjr9_d6v_/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpjr9_d6v_/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
+  attr [IterVar(i: int32, (nullptr), &quot;DataPar&quot;, &quot;&quot;)] &quot;pragma_import_llvm&quot; = &quot;; ModuleID = &#39;/tmp/tmpx0z9aiin/input0.cc&#39;\nsource_filename = \&quot;/tmp/tmpx0z9aiin/input0.cc\&quot;\ntarget datalayout = \&quot;e-m:e-i64:64-f80:128-n8:16:32:64-S128\&quot;\ntarget triple = \&quot;x86_64-pc-linux-gnu\&quot;\n\n; Function Attrs: noinline nounwind optnone uwtable\ndefine dso_local i32 @gemv_update(float*, float*, float*, i32, i32, i32) #0 {\n  %7 = allo [...]
   for (i, 0, 1024) {
     for (j.outer: int32, 0, 32) {
       @tir.call_extern(&quot;gemv_update&quot;, @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), C_2, ((i*512) + (j.outer*16)), 16, 2, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), A_2, (i*64), 64, 1, dtype=handle), @tir.tvm_access_ptr(@tir.type_annotation(, dtype=float32), B_2, (j.outer*1024), 1024, 1, dtype=handle), 16, 64, 64, dtype=int32)
diff --git a/docs/objects.inv b/docs/objects.inv
index e1cc4223e..7c6525258 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/reference/api/doxygen/array_8h.html b/docs/reference/api/doxygen/array_8h.html
index 1cfc54f5f..f2cd775a3 100644
--- a/docs/reference/api/doxygen/array_8h.html
+++ b/docs/reference/api/doxygen/array_8h.html
@@ -87,7 +87,7 @@ Include dependency graph for array.h:</div>
 </div><div class="textblock"><div class="dynheader">
 This graph shows which files directly or indirectly include this file:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="array_8h__dep__incl.svg" width="4435" height="1170"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="array_8h__dep__incl.svg" width="4559" height="1170"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/array_8h__dep__incl.svg b/docs/reference/api/doxygen/array_8h__dep__incl.svg
index 0b33c1101..10c9ffa0a 100644
--- a/docs/reference/api/doxygen/array_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/array_8h__dep__incl.svg
@@ -4,174 +4,174 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: include/tvm/runtime/container/array.h Pages: 1 -->
-<svg width="3326pt" height="877pt"
- viewBox="0.00 0.00 3326.08 877.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3419pt" height="877pt"
+ viewBox="0.00 0.00 3419.08 877.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 873)">
 <title>include/tvm/runtime/container/array.h</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-873 3322.0767,-873 3322.0767,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-873 3415.0816,-873 3415.0816,4 -4,4"/>
 <!-- Node19 -->
 <g id="node1" class="node">
 <title>Node19</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="1961,-838.5 1961,-868.5 2077,-868.5 2077,-838.5 1961,-838.5"/>
-<text text-anchor="start" x="1969" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2019" y="-845.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/container/array.h</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="1995,-838.5 1995,-868.5 2111,-868.5 2111,-838.5 1995,-838.5"/>
+<text text-anchor="start" x="2003" y="-856.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2053" y="-845.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/container/array.h</text>
 </g>
 <!-- Node20 -->
 <g id="node2" class="node">
 <title>Node20</title>
 <g id="a_node2"><a xlink:href="ir_2adt_8h.html" target="_top" xlink:title="Algebraic data type definitions. ">
-<polygon fill="#ffffff" stroke="#000000" points="365,-654 365,-673 477,-673 477,-654 365,-654"/>
-<text text-anchor="middle" x="421" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/adt.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="303,-654 303,-673 415,-673 415,-654 303,-654"/>
+<text text-anchor="middle" x="359" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/adt.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node20 -->
 <g id="edge1" class="edge">
 <title>Node19&#45;&gt;Node20</title>
-<path fill="none" stroke="#191970" d="M1950.8022,-852.3441C1654.0447,-847.1783 488.6967,-825.4313 459,-802 418.481,-770.0297 418.6435,-699.2068 420.1902,-673.2661"/>
-<polygon fill="#191970" stroke="#191970" points="1950.9298,-855.8467 1960.9891,-852.5208 1951.0513,-848.8478 1950.9298,-855.8467"/>
+<path fill="none" stroke="#191970" d="M1984.6337,-852.8749C1758.9203,-850.465 1038.871,-839.9236 810,-802 641.5201,-774.0831 448.3146,-699.7685 382.4176,-673.1519"/>
+<polygon fill="#191970" stroke="#191970" points="1984.6509,-856.3752 1994.6871,-852.9803 1984.7244,-849.3756 1984.6509,-856.3752"/>
 </g>
 <!-- Node21 -->
 <g id="node3" class="node">
 <title>Node21</title>
 <g id="a_node3"><a xlink:href="ir_2module_8h.html" target="_top" xlink:title="IRModule that holds the functions and type definitions. ">
-<polygon fill="#ffffff" stroke="#000000" points="926.5,-592.5 926.5,-611.5 1059.5,-611.5 1059.5,-592.5 926.5,-592.5"/>
-<text text-anchor="middle" x="993" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/module.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="766.5,-592.5 766.5,-611.5 899.5,-611.5 899.5,-592.5 766.5,-592.5"/>
+<text text-anchor="middle" x="833" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/module.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node21 -->
-<g id="edge78" class="edge">
+<g id="edge79" class="edge">
 <title>Node19&#45;&gt;Node21</title>
-<path fill="none" stroke="#191970" d="M1950.6978,-850.789C1780.8066,-843.7927 1342.4826,-824.1215 1198,-802 971.7886,-767.3652 839.1751,-859.1131 698,-679 689.5005,-668.1563 689.0395,-658.466 698,-648 712.6852,-630.8474 844.0536,-615.7331 926.4573,-607.8292"/>
-<polygon fill="#191970" stroke="#191970" points="1950.6338,-854.2893 1960.7688,-851.2019 1950.9206,-847.2951 1950.6338,-854.2893"/>
+<path fill="none" stroke="#191970" d="M1984.827,-852.0762C1724.3165,-846.4828 799.8352,-825.182 670,-802 496.912,-771.0952 397.2056,-821.3488 294,-679 285.9128,-667.8455 284.6811,-658.1481 294,-648 325.3644,-613.8449 629.1409,-605.0114 766.3384,-602.7578"/>
+<polygon fill="#191970" stroke="#191970" points="1984.8365,-855.5771 1994.9091,-852.292 1984.9863,-848.5787 1984.8365,-855.5771"/>
 </g>
 <!-- Node25 -->
 <g id="node6" class="node">
 <title>Node25</title>
 <g id="a_node6"><a xlink:href="ir_2transform_8h.html" target="_top" xlink:title="include/tvm/ir/transform.h">
-<polygon fill="#ffffff" stroke="#000000" points="757,-475 757,-494 901,-494 901,-475 757,-475"/>
-<text text-anchor="middle" x="829" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="809,-475 809,-494 953,-494 953,-475 809,-475"/>
+<text text-anchor="middle" x="881" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node25 -->
-<g id="edge79" class="edge">
+<g id="edge80" class="edge">
 <title>Node19&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M1950.4174,-853.0758C1654.4489,-851.0157 498.5287,-840.5245 432,-802 365.9493,-763.7523 311.9577,-710.3367 356,-648 406.3865,-576.6839 669.2409,-516.5634 779.8604,-494.0223"/>
-<polygon fill="#191970" stroke="#191970" points="1950.5561,-856.5767 1960.5799,-853.1456 1950.6042,-849.5769 1950.5561,-856.5767"/>
+<path fill="none" stroke="#191970" d="M1984.5767,-851.7585C1804.554,-846.7953 1327.0709,-831.0301 1262,-802 1107.5825,-733.1097 1128.8034,-632.562 990,-536 963.8849,-517.8324 930.3548,-503.0831 907.4215,-494.0976"/>
+<polygon fill="#191970" stroke="#191970" points="1984.6276,-855.2611 1994.7194,-852.0354 1984.8187,-848.2637 1984.6276,-855.2611"/>
 </g>
 <!-- Node44 -->
 <g id="node11" class="node">
 <title>Node44</title>
 <g id="a_node11"><a xlink:href="apply__history__best_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/apply_history_best.h">
-<polygon fill="#ffffff" stroke="#000000" points="1087,-201.5 1087,-231.5 1239,-231.5 1239,-201.5 1087,-201.5"/>
-<text text-anchor="start" x="1095" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1163" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1561,-201.5 1561,-231.5 1713,-231.5 1713,-201.5 1561,-201.5"/>
+<text text-anchor="start" x="1569" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1637" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node44 -->
-<g id="edge117" class="edge">
+<g id="edge118" class="edge">
 <title>Node19&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1951.0045,-849.2346C1884.1676,-843.5408 1779.972,-830.6146 1694,-802 1633.4482,-781.8462 1617.2705,-774.3138 1567,-735 1462.3991,-653.1974 1469.21,-849.4989 1183,-299 1171.6467,-277.1629 1166.5949,-248.7083 1164.4545,-231.5628"/>
-<polygon fill="#191970" stroke="#191970" points="1950.7418,-852.7247 1960.9948,-850.0554 1951.3151,-845.7482 1950.7418,-852.7247"/>
+<path fill="none" stroke="#191970" d="M2039.8389,-829.4247C1981.1047,-722.088 1744.8169,-291.415 1722,-268 1707.3091,-252.924 1687.3159,-240.5211 1670.4107,-231.6673"/>
+<polygon fill="#191970" stroke="#191970" points="2036.7911,-831.1462 2044.6609,-838.2396 2042.9323,-827.7868 2036.7911,-831.1462"/>
 </g>
 <!-- Node45 -->
 <g id="node12" class="node">
 <title>Node45</title>
 <g id="a_node12"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
-<polygon fill="#ffffff" stroke="#000000" points="1572,-268.5 1572,-298.5 1724,-298.5 1724,-268.5 1572,-268.5"/>
-<text text-anchor="start" x="1580" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1648" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1897,-268.5 1897,-298.5 2049,-298.5 2049,-268.5 1897,-268.5"/>
+<text text-anchor="start" x="1905" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1973" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node45 -->
-<g id="edge118" class="edge">
+<g id="edge119" class="edge">
 <title>Node19&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M2011.1906,-828.5835C1991.7982,-765.8547 1943,-602.4031 1943,-546 1943,-546 1943,-546 1943,-484.5 1943,-426.8827 1894.184,-428.4567 1843,-402 1788.5994,-373.8807 1760.7029,-400.3415 1710,-366 1684.485,-348.7184 1665.268,-317.4172 1655.4039,-298.7363"/>
-<polygon fill="#191970" stroke="#191970" points="2007.9368,-829.9073 2014.2459,-838.4188 2014.6217,-827.8306 2007.9368,-829.9073"/>
+<path fill="none" stroke="#191970" d="M2053,-828.3849C2053,-802.4823 2053,-760.9175 2053,-725 2053,-725 2053,-725 2053,-663.5 2053,-518.8876 1996.8351,-349.8309 1978.6254,-298.8199"/>
+<polygon fill="#191970" stroke="#191970" points="2049.5001,-828.4649 2053,-838.4649 2056.5001,-828.465 2049.5001,-828.4649"/>
 </g>
 <!-- Node46 -->
 <g id="node13" class="node">
 <title>Node46</title>
 <g id="a_node13"><a xlink:href="measure__callback_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/measure_callback.h">
-<polygon fill="#ffffff" stroke="#000000" points="2402,-67.5 2402,-97.5 2554,-97.5 2554,-67.5 2402,-67.5"/>
-<text text-anchor="start" x="2410" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2478" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/measure_callback.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2527,-67.5 2527,-97.5 2679,-97.5 2679,-67.5 2527,-67.5"/>
+<text text-anchor="start" x="2535" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2603" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/measure_callback.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node46 -->
-<g id="edge123" class="edge">
+<g id="edge124" class="edge">
 <title>Node19&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M2087.5532,-852.023C2251.974,-847.99 2665.0192,-834.8184 2799,-802 2881.5338,-781.7835 2974,-809.9738 2974,-725 2974,-725 2974,-725 2974,-417.5 2974,-238.8371 2854.0263,-202.46 2689,-134 2645.9859,-116.1559 2595.3675,-103.5429 2554.4924,-95.2667"/>
-<polygon fill="#191970" stroke="#191970" points="2087.0008,-848.5352 2077.0882,-852.2755 2087.1698,-855.5331 2087.0008,-848.5352"/>
+<path fill="none" stroke="#191970" d="M2121.434,-851.299C2313.8822,-844.8524 2850.7804,-825.0104 2927,-802 3160.2482,-731.5834 3105,-527.1457 3105,-283.5 3105,-283.5 3105,-283.5 3105,-216.5 3105,-157.1517 3054.7213,-156.9738 3000,-134 2943.7675,-110.3918 2778.0552,-94.9489 2679.3979,-87.5713"/>
+<polygon fill="#191970" stroke="#191970" points="2121.0442,-847.81 2111.1664,-851.6412 2121.2774,-854.8061 2121.0442,-847.81"/>
 </g>
 <!-- Node47 -->
 <g id="node14" class="node">
 <title>Node47</title>
 <g id="a_node14"><a xlink:href="task__scheduler_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/task_scheduler.h">
-<polygon fill="#ffffff" stroke="#000000" points="2520,-.5 2520,-30.5 2672,-30.5 2672,-.5 2520,-.5"/>
-<text text-anchor="start" x="2528" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2596" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/task_scheduler.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2475,-.5 2475,-30.5 2627,-30.5 2627,-.5 2475,-.5"/>
+<text text-anchor="start" x="2483" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2551" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/task_scheduler.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node47 -->
-<g id="edge133" class="edge">
+<g id="edge134" class="edge">
 <title>Node19&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M2087.6711,-852.9988C2346.371,-850.8202 3249.8632,-840.4758 3297,-802 3324.3067,-779.7107 3316,-760.2487 3316,-725 3316,-725 3316,-725 3316,-149.5 3316,-84.5361 2857.1105,-37.8943 2672.0311,-21.7246"/>
-<polygon fill="#191970" stroke="#191970" points="2087.2596,-849.502 2077.2889,-853.0847 2087.3176,-856.5017 2087.2596,-849.502"/>
+<path fill="none" stroke="#191970" d="M2121.7266,-853.1264C2388.1435,-851.3874 3340.4638,-842.3611 3390,-802 3417.3265,-779.735 3409,-760.2487 3409,-725 3409,-725 3409,-725 3409,-149.5 3409,-70.7258 2837.1266,-31.2615 2627.1418,-19.426"/>
+<polygon fill="#191970" stroke="#191970" points="2121.3973,-849.6283 2111.4199,-853.1922 2121.4421,-856.6282 2121.3973,-849.6283"/>
 </g>
 <!-- Node48 -->
 <g id="node15" class="node">
 <title>Node48</title>
 <g id="a_node15"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
-<polygon fill="#ffffff" stroke="#000000" points="1870,-134.5 1870,-164.5 2022,-164.5 2022,-134.5 1870,-134.5"/>
-<text text-anchor="start" x="1878" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1946" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1968,-134.5 1968,-164.5 2120,-164.5 2120,-134.5 1968,-134.5"/>
+<text text-anchor="start" x="1976" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2044" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node48 -->
-<g id="edge134" class="edge">
+<g id="edge135" class="edge">
 <title>Node19&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M2019,-828.3849C2019,-802.4823 2019,-760.9175 2019,-725 2019,-725 2019,-725 2019,-663.5 2019,-534.2964 2004.2018,-466.065 1892,-402 1832.8372,-368.2192 1785.1387,-419.5324 1743,-366 1709.7759,-323.7927 1865.3275,-206.7253 1924.1956,-164.7355"/>
-<polygon fill="#191970" stroke="#191970" points="2015.5001,-828.4649 2019,-838.4649 2022.5001,-828.465 2015.5001,-828.4649"/>
+<path fill="none" stroke="#191970" d="M2064.7,-829.282C2075.8664,-803.9072 2091,-762.5842 2091,-725 2091,-725 2091,-725 2091,-663.5 2091,-529.6379 2054.4766,-499.4515 2044,-366 2042.9217,-352.2645 2041.4596,-348.5415 2044,-335 2047.1654,-318.1271 2054.8346,-315.8729 2058,-299 2060.5404,-285.4585 2058.8097,-281.754 2058,-268 2055.8087,-230.7756 2049.7775,-187.3134 2046.3897,-164.7885"/>
+<polygon fill="#191970" stroke="#191970" points="2061.4626,-827.9462 2060.5076,-838.4979 2067.8343,-830.8448 2061.4626,-827.9462"/>
 </g>
 <!-- Node49 -->
 <g id="node16" class="node">
 <title>Node49</title>
 <g id="a_node16"><a xlink:href="database_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/database.h">
-<polygon fill="#ffffff" stroke="#000000" points="1358,-268.5 1358,-298.5 1510,-298.5 1510,-268.5 1358,-268.5"/>
-<text text-anchor="start" x="1366" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1434" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1561,-268.5 1561,-298.5 1713,-298.5 1713,-268.5 1561,-268.5"/>
+<text text-anchor="start" x="1569" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1637" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node49 -->
-<g id="edge120" class="edge">
+<g id="edge121" class="edge">
 <title>Node19&#45;&gt;Node49</title>
-<path fill="none" stroke="#191970" d="M2004.8628,-829.6517C1999.9507,-821.0456 1994.5393,-811.1881 1990,-802 1957.0166,-735.2379 1960.7101,-712.7878 1924,-648 1854.2577,-524.9153 1835.9281,-485.8702 1722,-402 1651.2459,-349.9131 1554.2732,-316.2052 1492.8761,-298.5309"/>
-<polygon fill="#191970" stroke="#191970" points="2001.8929,-831.5074 2009.9321,-838.4082 2007.9509,-828.0002 2001.8929,-831.5074"/>
+<path fill="none" stroke="#191970" d="M2003.1736,-833.8735C1988.4226,-825.9316 1973.4425,-815.4087 1963,-802 1919.3368,-745.934 1951.9446,-711.4777 1920,-648 1843.6501,-496.2837 1699.6759,-345.8767 1652.4402,-298.6561"/>
+<polygon fill="#191970" stroke="#191970" points="2001.7833,-837.0926 2012.2859,-838.4877 2004.9456,-830.8476 2001.7833,-837.0926"/>
 </g>
 <!-- Node50 -->
 <g id="node17" class="node">
 <title>Node50</title>
 <g id="a_node17"><a xlink:href="search__strategy_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/search_strategy.h">
-<polygon fill="#ffffff" stroke="#000000" points="2334,-201.5 2334,-231.5 2486,-231.5 2486,-201.5 2334,-201.5"/>
-<text text-anchor="start" x="2342" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2410" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_strategy.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2527,-201.5 2527,-231.5 2679,-231.5 2679,-201.5 2527,-201.5"/>
+<text text-anchor="start" x="2535" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2603" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_strategy.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node50 -->
-<g id="edge131" class="edge">
+<g id="edge132" class="edge">
 <title>Node19&#45;&gt;Node50</title>
-<path fill="none" stroke="#191970" d="M2086.8952,-842.7126C2188.4206,-824.6363 2368,-784.2836 2368,-725 2368,-725 2368,-725 2368,-417.5 2368,-346.7357 2393.2517,-264.864 2404.5952,-231.6557"/>
-<polygon fill="#191970" stroke="#191970" points="2086.267,-839.2693 2077.022,-844.4442 2087.4763,-846.1641 2086.267,-839.2693"/>
+<path fill="none" stroke="#191970" d="M2121.4669,-846.3655C2281.966,-828.7192 2669,-780.4207 2669,-725 2669,-725 2669,-725 2669,-417.5 2669,-344.7768 2629.5184,-264.308 2611.6283,-231.5785"/>
+<polygon fill="#191970" stroke="#191970" points="2120.7902,-842.9185 2111.2292,-847.4832 2121.55,-849.8771 2120.7902,-842.9185"/>
 </g>
 <!-- Node51 -->
 <g id="node18" class="node">
@@ -184,236 +184,236 @@
 </g>
 </g>
 <!-- Node19&#45;&gt;Node51 -->
-<g id="edge121" class="edge">
+<g id="edge122" class="edge">
 <title>Node19&#45;&gt;Node51</title>
-<path fill="none" stroke="#191970" d="M1950.3151,-852.3128C1659.741,-847.158 539.252,-825.8979 383,-802 257.1129,-782.7463 107,-852.351 107,-725 107,-725 107,-725 107,-417.5 107,-363.6292 261.8858,-320.1939 357.4794,-298.5163"/>
-<polygon fill="#191970" stroke="#191970" points="1950.6438,-855.8191 1960.7041,-852.4965 1950.7676,-848.8202 1950.6438,-855.8191"/>
+<path fill="none" stroke="#191970" d="M1984.9047,-853.2311C1714.7289,-851.8764 717.8311,-844.0727 405,-802 260.0236,-782.5021 85,-871.2816 85,-725 85,-725 85,-725 85,-417.5 85,-360.0884 252.7472,-317.6612 354.6405,-297.1858"/>
+<polygon fill="#191970" stroke="#191970" points="1984.9464,-856.7312 1994.9634,-853.2802 1984.9807,-849.7313 1984.9464,-856.7312"/>
 </g>
 <!-- Node141 -->
 <g id="node32" class="node">
 <title>Node141</title>
 <g id="a_node32"><a xlink:href="space__generator_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/space_generator.h">
-<polygon fill="#ffffff" stroke="#000000" points="1922,-335.5 1922,-365.5 2074,-365.5 2074,-335.5 1922,-335.5"/>
-<text text-anchor="start" x="1930" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1998" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/space_generator.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2053,-335.5 2053,-365.5 2205,-365.5 2205,-335.5 2053,-335.5"/>
+<text text-anchor="start" x="2061" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2129" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/space_generator.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node141 -->
-<g id="edge132" class="edge">
+<g id="edge133" class="edge">
 <title>Node19&#45;&gt;Node141</title>
-<path fill="none" stroke="#191970" d="M2046.1038,-831.4734C2055.0643,-823.0444 2064.4151,-812.8328 2071,-802 2089.6196,-771.3692 2095,-760.846 2095,-725 2095,-725 2095,-725 2095,-484.5 2095,-433.0923 2047.576,-388.0615 2019.0476,-365.6235"/>
-<polygon fill="#191970" stroke="#191970" points="2043.5047,-829.1037 2038.4093,-838.3928 2048.1853,-834.3087 2043.5047,-829.1037"/>
+<path fill="none" stroke="#191970" d="M2080.1038,-831.4734C2089.0643,-823.0444 2098.4151,-812.8328 2105,-802 2123.6196,-771.3692 2129,-760.846 2129,-725 2129,-725 2129,-725 2129,-484.5 2129,-441.4618 2129,-390.6482 2129,-365.7729"/>
+<polygon fill="#191970" stroke="#191970" points="2077.5047,-829.1037 2072.4093,-838.3928 2082.1853,-834.3087 2077.5047,-829.1037"/>
 </g>
 <!-- Node150 -->
 <g id="node34" class="node">
 <title>Node150</title>
 <g id="a_node34"><a xlink:href="ir_2function_8h.html" target="_top" xlink:title="Function nodes. ">
-<polygon fill="#ffffff" stroke="#000000" points="1019,-654 1019,-673 1155,-673 1155,-654 1019,-654"/>
-<text text-anchor="middle" x="1087" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/function.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="853,-654 853,-673 989,-673 989,-654 853,-654"/>
+<text text-anchor="middle" x="921" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node150 -->
-<g id="edge70" class="edge">
+<g id="edge71" class="edge">
 <title>Node19&#45;&gt;Node150</title>
-<path fill="none" stroke="#191970" d="M1950.6764,-850.6399C1840.089,-845.3205 1615.2624,-831.6406 1427,-802 1295.47,-781.2915 1244.7008,-810.4634 1135,-735 1112.0887,-719.2392 1097.1315,-688.6365 1090.6648,-673.079"/>
-<polygon fill="#191970" stroke="#191970" points="1950.5406,-854.1373 1960.6949,-851.1139 1950.8715,-847.1452 1950.5406,-854.1373"/>
+<path fill="none" stroke="#191970" d="M1984.8366,-853.1114C1771.4268,-851.4697 1125.2969,-843.1205 1041,-802 981.5238,-772.9872 939.4777,-699.6886 925.8013,-673.2215"/>
+<polygon fill="#191970" stroke="#191970" points="1984.9434,-856.6122 1994.9692,-853.1867 1984.9956,-849.6123 1984.9434,-856.6122"/>
 </g>
 <!-- Node155 -->
 <g id="node36" class="node">
 <title>Node155</title>
 <g id="a_node36"><a xlink:href="ir_2type_8h.html" target="_top" xlink:title="IR/AST nodes for the unified type system in TVM. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="468,-777 468,-796 586,-796 586,-777 468,-777"/>
-<text text-anchor="middle" x="527" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="819,-777 819,-796 937,-796 937,-777 819,-777"/>
+<text text-anchor="middle" x="878" y="-784" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node155 -->
-<g id="edge80" class="edge">
+<g id="edge81" class="edge">
 <title>Node19&#45;&gt;Node155</title>
-<path fill="none" stroke="#191970" d="M1950.5574,-852.6814C1751.7233,-849.9192 1157.0232,-838.9382 665,-802 639.0354,-800.0507 610.4174,-796.9875 586.0059,-794.0971"/>
-<polygon fill="#191970" stroke="#191970" points="1950.8004,-856.185 1960.8473,-852.8219 1950.896,-849.1856 1950.8004,-856.185"/>
+<path fill="none" stroke="#191970" d="M1984.767,-851.6578C1777.2761,-845.8409 1155.8053,-826.7747 955,-802 943.3611,-800.564 930.8523,-798.3436 919.3716,-796.0279"/>
+<polygon fill="#191970" stroke="#191970" points="1984.8237,-855.1606 1994.9175,-851.941 1985.019,-848.1633 1984.8237,-855.1606"/>
 </g>
 <!-- Node153 -->
 <g id="node40" class="node">
 <title>Node153</title>
 <g id="a_node40"><a xlink:href="runner_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/runner.h">
-<polygon fill="#ffffff" stroke="#000000" points="2396,-335.5 2396,-365.5 2548,-365.5 2548,-335.5 2396,-335.5"/>
-<text text-anchor="start" x="2404" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2472" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/runner.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2489,-335.5 2489,-365.5 2641,-365.5 2641,-335.5 2489,-335.5"/>
+<text text-anchor="start" x="2497" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2565" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/runner.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node153 -->
-<g id="edge129" class="edge">
+<g id="edge130" class="edge">
 <title>Node19&#45;&gt;Node153</title>
-<path fill="none" stroke="#191970" d="M2087.279,-850.0664C2178.3,-844.4385 2333.557,-830.8571 2382,-802 2418.5802,-780.2095 2439,-767.5786 2439,-725 2439,-725 2439,-725 2439,-484.5 2439,-440.4155 2456.0479,-390.4779 2465.6373,-365.8751"/>
-<polygon fill="#191970" stroke="#191970" points="2086.8229,-846.5875 2077.0513,-850.6821 2087.2435,-853.5748 2086.8229,-846.5875"/>
+<path fill="none" stroke="#191970" d="M2121.2678,-847.1896C2241.8648,-834.1395 2480,-799.0012 2480,-725 2480,-725 2480,-725 2480,-484.5 2480,-434.9109 2522.0227,-388.8089 2546.9737,-365.8064"/>
+<polygon fill="#191970" stroke="#191970" points="2120.6068,-843.74 2111.0315,-848.2748 2121.3448,-850.701 2120.6068,-843.74"/>
 </g>
 <!-- Node144 -->
 <g id="node41" class="node">
 <title>Node144</title>
 <g id="a_node41"><a xlink:href="meta__schedule_2cost__model_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/cost_model.h">
-<polygon fill="#ffffff" stroke="#000000" points="2675,-268.5 2675,-298.5 2827,-298.5 2827,-268.5 2675,-268.5"/>
-<text text-anchor="start" x="2683" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2751" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/cost_model.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2735,-268.5 2735,-298.5 2887,-298.5 2887,-268.5 2735,-268.5"/>
+<text text-anchor="start" x="2743" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2811" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/cost_model.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node144 -->
-<g id="edge119" class="edge">
+<g id="edge120" class="edge">
 <title>Node19&#45;&gt;Node144</title>
-<path fill="none" stroke="#191970" d="M2087.1526,-851.1174C2299.6474,-842.7923 2936,-810.7065 2936,-725 2936,-725 2936,-725 2936,-417.5 2936,-353.3528 2862.1449,-316.7715 2807.7633,-298.5306"/>
-<polygon fill="#191970" stroke="#191970" points="2086.9155,-847.6238 2077.0581,-851.5074 2087.1858,-854.6186 2086.9155,-847.6238"/>
+<path fill="none" stroke="#191970" d="M2121.402,-851.269C2282.4621,-845.6279 2681.8708,-829.2711 2813,-802 2912.7824,-781.2481 3029,-826.9174 3029,-725 3029,-725 3029,-725 3029,-417.5 3029,-375.5188 3015.7346,-361.2844 2983,-335 2955.778,-313.142 2919.4534,-300.5523 2887.2014,-293.305"/>
+<polygon fill="#191970" stroke="#191970" points="2121.0158,-847.7802 2111.1433,-851.6251 2121.2587,-854.776 2121.0158,-847.7802"/>
 </g>
 <!-- Node149 -->
 <g id="node42" class="node">
 <title>Node149</title>
 <g id="a_node42"><a xlink:href="schedule__rule_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/schedule_rule.h">
-<polygon fill="#ffffff" stroke="#000000" points="1752,-335.5 1752,-365.5 1904,-365.5 1904,-335.5 1752,-335.5"/>
-<text text-anchor="start" x="1760" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1828" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/schedule_rule.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1807,-335.5 1807,-365.5 1959,-365.5 1959,-335.5 1807,-335.5"/>
+<text text-anchor="start" x="1815" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1883" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/schedule_rule.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node149 -->
-<g id="edge130" class="edge">
+<g id="edge131" class="edge">
 <title>Node19&#45;&gt;Node149</title>
-<path fill="none" stroke="#191970" d="M2030.7,-829.282C2041.8664,-803.9072 2057,-762.5842 2057,-725 2057,-725 2057,-725 2057,-663.5 2057,-544.0558 2076.6125,-489.2141 1995,-402 1981.6806,-387.7664 1939.6558,-374.8462 1901.0991,-365.5071"/>
-<polygon fill="#191970" stroke="#191970" points="2027.4626,-827.9462 2026.5076,-838.4979 2033.8343,-830.8448 2027.4626,-827.9462"/>
+<path fill="none" stroke="#191970" d="M2045.9597,-828.5686C2034.8936,-789.7635 2012.4705,-712.6542 1991,-648 1954.7205,-538.7517 1905.4914,-409.0728 1888.8044,-365.5673"/>
+<polygon fill="#191970" stroke="#191970" points="2042.6691,-829.7934 2048.7696,-838.4557 2049.4025,-827.8798 2042.6691,-829.7934"/>
 </g>
 <!-- Node178 -->
 <g id="node43" class="node">
 <title>Node178</title>
 <g id="a_node43"><a xlink:href="buffer_8h.html" target="_top" xlink:title="Symbolic n&#45;dimensional array, to represent a memory buffer. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1537,-654 1537,-673 1665,-673 1665,-654 1537,-654"/>
-<text text-anchor="middle" x="1601" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/buffer.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1187,-654 1187,-673 1315,-673 1315,-654 1187,-654"/>
+<text text-anchor="middle" x="1251" y="-661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/buffer.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node178 -->
-<g id="edge153" class="edge">
+<g id="edge154" class="edge">
 <title>Node19&#45;&gt;Node178</title>
-<path fill="none" stroke="#191970" d="M1974.9785,-834.3289C1953.014,-824.7112 1926.0634,-812.8313 1902,-802 1796.0415,-754.3065 1669.8903,-695.6465 1621.3848,-673.0214"/>
-<polygon fill="#191970" stroke="#191970" points="1973.812,-837.6388 1984.3765,-838.4393 1976.6171,-831.2254 1973.812,-837.6388"/>
+<path fill="none" stroke="#191970" d="M1984.6747,-851.9714C1815.3054,-846.8287 1382.036,-824.9816 1275,-735 1256.3577,-719.3281 1252.1356,-688.6851 1251.2204,-673.0989"/>
+<polygon fill="#191970" stroke="#191970" points="1984.6207,-855.4712 1994.7191,-852.2661 1984.8261,-848.4742 1984.6207,-855.4712"/>
 </g>
 <!-- Node179 -->
 <g id="node44" class="node">
 <title>Node179</title>
 <g id="a_node44"><a xlink:href="tir_2expr_8h.html" target="_top" xlink:title="TIR expressions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1477.5,-592.5 1477.5,-611.5 1598.5,-611.5 1598.5,-592.5 1477.5,-592.5"/>
-<text text-anchor="middle" x="1538" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/expr.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1374.5,-592.5 1374.5,-611.5 1495.5,-611.5 1495.5,-592.5 1374.5,-592.5"/>
+<text text-anchor="middle" x="1435" y="-599.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node179 -->
-<g id="edge154" class="edge">
+<g id="edge155" class="edge">
 <title>Node19&#45;&gt;Node179</title>
-<path fill="none" stroke="#191970" d="M1950.6472,-839.5704C1827.4675,-812.898 1576.4899,-750.8395 1528,-679 1514.1233,-658.4412 1525.3604,-627.6573 1532.7789,-611.9677"/>
-<polygon fill="#191970" stroke="#191970" points="1950.2134,-843.057 1960.7255,-841.7354 1951.6837,-836.2131 1950.2134,-843.057"/>
+<path fill="none" stroke="#191970" d="M1984.7779,-850.6941C1818.9536,-843.5674 1403.9914,-823.7824 1345,-802 1258.5255,-770.0696 1219.5821,-761.2698 1178,-679 1171.785,-666.7036 1169.1574,-658.5658 1178,-648 1202.5454,-618.6711 1306.4023,-608.0204 1374.3441,-604.1673"/>
+<polygon fill="#191970" stroke="#191970" points="1984.72,-854.1948 1994.8604,-851.125 1985.019,-847.2011 1984.72,-854.1948"/>
 </g>
 <!-- Node184 -->
 <g id="node45" class="node">
 <title>Node184</title>
 <g id="a_node45"><a xlink:href="index__map_8h.html" target="_top" xlink:title="Defines a remapping of buffer indices. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1797,-648.5 1797,-678.5 1915,-678.5 1915,-648.5 1797,-648.5"/>
-<text text-anchor="start" x="1805" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/index</text>
-<text text-anchor="middle" x="1856" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_map.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1793,-648.5 1793,-678.5 1911,-678.5 1911,-648.5 1793,-648.5"/>
+<text text-anchor="start" x="1801" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/index</text>
+<text text-anchor="middle" x="1852" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_map.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node184 -->
-<g id="edge155" class="edge">
+<g id="edge156" class="edge">
 <title>Node19&#45;&gt;Node184</title>
-<path fill="none" stroke="#191970" d="M1973.5474,-833.9371C1958.0787,-825.7058 1941.546,-814.9887 1929,-802 1892.9324,-764.6597 1870.0485,-705.9413 1860.753,-678.5306"/>
-<polygon fill="#191970" stroke="#191970" points="1971.9948,-837.0741 1982.494,-838.4947 1975.1723,-830.8368 1971.9948,-837.0741"/>
+<path fill="none" stroke="#191970" d="M1985.1032,-836.1983C1964.0577,-828.358 1941.9638,-817.3076 1925,-802 1886.2555,-767.0381 1864.5653,-706.6128 1856.1417,-678.5853"/>
+<polygon fill="#191970" stroke="#191970" points="1984.082,-839.5494 1994.6768,-839.5785 1986.4126,-832.9488 1984.082,-839.5494"/>
 </g>
 <!-- Node146 -->
 <g id="node46" class="node">
 <title>Node146</title>
 <g id="a_node46"><a xlink:href="feature__extractor_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/feature_extractor.h">
-<polygon fill="#ffffff" stroke="#000000" points="2642,-335.5 2642,-365.5 2794,-365.5 2794,-335.5 2642,-335.5"/>
-<text text-anchor="start" x="2650" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2718" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/feature_extractor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2773,-335.5 2773,-365.5 2925,-365.5 2925,-335.5 2773,-335.5"/>
+<text text-anchor="start" x="2781" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2849" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/feature_extractor.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node146 -->
-<g id="edge122" class="edge">
+<g id="edge123" class="edge">
 <title>Node19&#45;&gt;Node146</title>
-<path fill="none" stroke="#191970" d="M2087.7737,-850.3094C2168.0081,-845.2847 2304.0763,-832.7003 2417,-802 2501.3592,-779.0655 2598,-812.4212 2598,-725 2598,-725 2598,-725 2598,-484.5 2598,-429.6935 2654.3969,-387.0553 2689.8653,-365.6591"/>
-<polygon fill="#191970" stroke="#191970" points="2087.0821,-846.8447 2077.3114,-850.9414 2087.5043,-853.832 2087.0821,-846.8447"/>
+<path fill="none" stroke="#191970" d="M2121.3149,-850.4843C2273.8472,-843.3831 2632.7265,-824.5006 2683,-802 2728.3369,-781.7089 2764,-774.6705 2764,-725 2764,-725 2764,-725 2764,-484.5 2764,-434.9109 2806.0227,-388.8089 2830.9737,-365.8064"/>
+<polygon fill="#191970" stroke="#191970" points="2120.9613,-846.9968 2111.1337,-850.955 2121.2847,-853.9893 2120.9613,-846.9968"/>
 </g>
 <!-- Node145 -->
 <g id="node47" class="node">
 <title>Node145</title>
 <g id="a_node47"><a xlink:href="measure__candidate_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/measure_candidate.h">
-<polygon fill="#ffffff" stroke="#000000" points="2746,-402.5 2746,-432.5 2898,-432.5 2898,-402.5 2746,-402.5"/>
-<text text-anchor="start" x="2754" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2822" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/measure_candidate.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2849,-402.5 2849,-432.5 3001,-432.5 3001,-402.5 2849,-402.5"/>
+<text text-anchor="start" x="2857" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2925" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/measure_candidate.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node145 -->
-<g id="edge124" class="edge">
+<g id="edge125" class="edge">
 <title>Node19&#45;&gt;Node145</title>
-<path fill="none" stroke="#191970" d="M2087.4887,-850.334C2221.6254,-843.6763 2514.3782,-826.7691 2612,-802 2695.1533,-780.9019 2789,-810.7881 2789,-725 2789,-725 2789,-725 2789,-546 2789,-503.8497 2805.8631,-456.2975 2815.4803,-432.6052"/>
-<polygon fill="#191970" stroke="#191970" points="2087.1502,-846.8463 2077.3343,-850.8334 2087.4942,-853.8379 2087.1502,-846.8463"/>
+<path fill="none" stroke="#191970" d="M2121.2608,-851.8852C2290.7672,-847.4197 2721.3333,-833.1219 2778,-802 2815.3205,-781.5032 2835,-767.5786 2835,-725 2835,-725 2835,-725 2835,-546 2835,-497.5188 2878.5114,-454.3322 2905.0261,-432.5161"/>
+<polygon fill="#191970" stroke="#191970" points="2121.1104,-848.3878 2111.2047,-852.1466 2121.2924,-855.3854 2121.1104,-848.3878"/>
 </g>
 <!-- Node188 -->
 <g id="node48" class="node">
 <title>Node188</title>
 <g id="a_node48"><a xlink:href="structural__equal_8h.html" target="_top" xlink:title="Structural equality comparison. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="3002.5,-771.5 3002.5,-801.5 3153.5,-801.5 3153.5,-771.5 3002.5,-771.5"/>
-<text text-anchor="start" x="3010.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/structural</text>
-<text text-anchor="middle" x="3078" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_equal.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="3095.5,-771.5 3095.5,-801.5 3246.5,-801.5 3246.5,-771.5 3095.5,-771.5"/>
+<text text-anchor="start" x="3103.5" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/structural</text>
+<text text-anchor="middle" x="3171" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_equal.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node188 -->
-<g id="edge135" class="edge">
+<g id="edge136" class="edge">
 <title>Node19&#45;&gt;Node188</title>
-<path fill="none" stroke="#191970" d="M2087.1644,-852.6258C2245.7064,-849.9932 2651.3548,-839.8025 2988,-802 2992.7268,-801.4692 2997.5817,-800.85 3002.4698,-800.1703"/>
-<polygon fill="#191970" stroke="#191970" points="2087.0244,-849.1275 2077.0822,-852.7885 2087.1374,-856.1266 2087.0244,-849.1275"/>
+<path fill="none" stroke="#191970" d="M2121.1782,-852.9191C2286.3553,-850.8955 2720.8869,-841.8832 3081,-802 3085.7276,-801.4764 3090.5831,-800.8627 3095.4717,-800.1871"/>
+<polygon fill="#191970" stroke="#191970" points="2121.1186,-849.4195 2111.1606,-853.0373 2121.2012,-856.419 2121.1186,-849.4195"/>
 </g>
 <!-- Node197 -->
 <g id="node49" class="node">
 <title>Node197</title>
 <g id="a_node49"><a xlink:href="papi_8h.html" target="_top" xlink:title="include/tvm/runtime\l/contrib/papi.h">
-<polygon fill="#ffffff" stroke="#000000" points="3172,-771.5 3172,-801.5 3288,-801.5 3288,-771.5 3172,-771.5"/>
-<text text-anchor="start" x="3180" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="3230" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/contrib/papi.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="3265,-771.5 3265,-801.5 3381,-801.5 3381,-771.5 3265,-771.5"/>
+<text text-anchor="start" x="3273" y="-789.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="3323" y="-778.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/contrib/papi.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node197 -->
-<g id="edge136" class="edge">
+<g id="edge137" class="edge">
 <title>Node19&#45;&gt;Node197</title>
-<path fill="none" stroke="#191970" d="M2087.196,-852.0626C2300.4946,-847.3095 2953.2135,-830.7435 3163,-802 3165.8389,-801.611 3168.7343,-801.1588 3171.6508,-800.6585"/>
-<polygon fill="#191970" stroke="#191970" points="2086.9938,-848.5662 2077.0737,-852.2867 2087.1488,-855.5644 2086.9938,-848.5662"/>
+<path fill="none" stroke="#191970" d="M2121.305,-852.2345C2341.971,-847.8855 3034.2533,-832.1334 3256,-802 3258.8393,-801.6142 3261.7351,-801.1644 3264.6519,-800.6662"/>
+<polygon fill="#191970" stroke="#191970" points="2121.0869,-848.738 2111.1573,-852.433 2121.2239,-855.7367 2121.0869,-848.738"/>
 </g>
 <!-- Node198 -->
 <g id="node50" class="node">
 <title>Node198</title>
 <g id="a_node50"><a xlink:href="packed__func_8h.html" target="_top" xlink:title="Type&#45;erased function used across TVM API. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="2123,-402.5 2123,-432.5 2239,-432.5 2239,-402.5 2123,-402.5"/>
-<text text-anchor="start" x="2131" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
-<text text-anchor="middle" x="2181" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/packed_func.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="2213,-402.5 2213,-432.5 2329,-432.5 2329,-402.5 2213,-402.5"/>
+<text text-anchor="start" x="2221" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/runtime</text>
+<text text-anchor="middle" x="2271" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/packed_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node19&#45;&gt;Node198 -->
-<g id="edge137" class="edge">
+<g id="edge138" class="edge">
 <title>Node19&#45;&gt;Node198</title>
-<path fill="none" stroke="#191970" d="M2074.7021,-834.549C2120.5381,-815.0095 2178,-779.6213 2178,-725 2178,-725 2178,-725 2178,-546 2178,-504.9402 2179.5498,-456.5206 2180.4216,-432.5324"/>
-<polygon fill="#191970" stroke="#191970" points="2073.3371,-831.3259 2065.4168,-838.3629 2075.9967,-837.801 2073.3371,-831.3259"/>
+<path fill="none" stroke="#191970" d="M2121.1482,-839.7437C2179.7849,-823.4644 2255,-789.9282 2255,-725 2255,-725 2255,-725 2255,-546 2255,-504.8592 2263.176,-456.8732 2267.8389,-432.8515"/>
+<polygon fill="#191970" stroke="#191970" points="2119.9217,-836.448 2111.1558,-842.3985 2121.7192,-843.2133 2119.9217,-836.448"/>
 </g>
 <!-- Node20&#45;&gt;Node21 -->
 <g id="edge2" class="edge">
 <title>Node20&#45;&gt;Node21</title>
-<path fill="none" stroke="#191970" d="M470.1498,-651.7963C477.1228,-650.3758 484.2242,-649.0563 491,-648 646.0037,-623.8365 830.059,-610.9587 926.488,-605.409"/>
-<polygon fill="#191970" stroke="#191970" points="469.1351,-648.4336 460.0781,-653.931 470.5865,-655.2814 469.1351,-648.4336"/>
+<path fill="none" stroke="#191970" d="M425.3377,-654.8929C515.4867,-643.1963 675.7799,-622.3988 766.1788,-610.6698"/>
+<polygon fill="#191970" stroke="#191970" points="424.7019,-651.446 415.2354,-656.2036 425.6026,-658.3878 424.7019,-651.446"/>
 </g>
 <!-- Node80 -->
 <g id="node23" class="node">
@@ -425,109 +425,109 @@
 </g>
 </g>
 <!-- Node20&#45;&gt;Node80 -->
-<g id="edge69" class="edge">
+<g id="edge70" class="edge">
 <title>Node20&#45;&gt;Node80</title>
-<path fill="none" stroke="#191970" d="M354.6259,-659.082C252.6268,-648.2926 69,-611.2652 69,-484.5 69,-484.5 69,-484.5 69,-283.5 69,-236.9515 66.5586,-181.3479 65.4905,-159.2488"/>
-<polygon fill="#191970" stroke="#191970" points="354.5366,-662.5904 364.8353,-660.1033 355.2334,-655.6252 354.5366,-662.5904"/>
+<path fill="none" stroke="#191970" d="M292.8362,-655.2601C201.2518,-639.7374 47,-596.908 47,-484.5 47,-484.5 47,-484.5 47,-283.5 47,-236.5543 57.9863,-181.1742 62.7928,-159.1918"/>
+<polygon fill="#191970" stroke="#191970" points="292.4277,-658.7396 302.8603,-656.8929 293.5531,-651.8306 292.4277,-658.7396"/>
 </g>
 <!-- Node22 -->
 <g id="node4" class="node">
 <title>Node22</title>
 <g id="a_node4"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
-<polygon fill="#ffffff" stroke="#000000" points="677,-268.5 677,-298.5 783,-298.5 783,-268.5 677,-268.5"/>
-<text text-anchor="start" x="685" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
-<text text-anchor="middle" x="730" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="876,-268.5 876,-298.5 982,-298.5 982,-268.5 876,-268.5"/>
+<text text-anchor="start" x="884" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
+<text text-anchor="middle" x="929" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node22 -->
 <g id="edge3" class="edge">
 <title>Node21&#45;&gt;Node22</title>
-<path fill="none" stroke="#191970" d="M916.1698,-596.2207C826.3307,-588.6671 687.8015,-574.2274 672,-556 605.1482,-478.8852 687.8989,-343.7701 719.0566,-298.6515"/>
-<polygon fill="#191970" stroke="#191970" points="916.075,-599.7247 926.3301,-597.0631 916.6535,-592.7487 916.075,-599.7247"/>
+<path fill="none" stroke="#191970" d="M756.4529,-596.1995C700.0532,-590.1479 630.1367,-578.3005 612,-556 606.3915,-549.1039 609.7977,-544.6117 612,-536 637.2311,-437.3392 641.3602,-397.1916 722,-335 745.8265,-316.6243 822.8105,-300.8264 875.8665,-291.7377"/>
+<polygon fill="#191970" stroke="#191970" points="756.1459,-599.6863 766.4515,-597.2278 756.8621,-592.723 756.1459,-599.6863"/>
 </g>
 <!-- Node23 -->
 <g id="node5" class="node">
 <title>Node23</title>
 <g id="a_node5"><a xlink:href="diagnostic_8h.html" target="_top" xlink:title="A new diagnostic interface for TVM error reporting. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="681,-536.5 681,-555.5 827,-555.5 827,-536.5 681,-536.5"/>
-<text text-anchor="middle" x="754" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/diagnostic.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="621,-536.5 621,-555.5 767,-555.5 767,-536.5 621,-536.5"/>
+<text text-anchor="middle" x="694" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/diagnostic.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node23 -->
 <g id="edge4" class="edge">
 <title>Node21&#45;&gt;Node23</title>
-<path fill="none" stroke="#191970" d="M942.2657,-590.1125C898.2624,-579.8021 835.402,-565.0733 794.6457,-555.5237"/>
-<polygon fill="#191970" stroke="#191970" points="941.6512,-593.5632 952.186,-592.4369 943.2482,-586.7478 941.6512,-593.5632"/>
+<path fill="none" stroke="#191970" d="M799.5379,-588.5189C774.2231,-578.3201 740.0897,-564.5685 717.5831,-555.5011"/>
+<polygon fill="#191970" stroke="#191970" points="798.5216,-591.8827 809.105,-592.3733 801.1374,-585.3899 798.5216,-591.8827"/>
 </g>
 <!-- Node21&#45;&gt;Node25 -->
-<g id="edge51" class="edge">
+<g id="edge52" class="edge">
 <title>Node21&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M992.0076,-582.1659C990.2708,-567.6743 985.7194,-548.4567 974,-536 953.2236,-513.9164 922.3677,-501.2916 894.454,-494.0791"/>
-<polygon fill="#191970" stroke="#191970" points="988.5207,-582.4704 992.8591,-592.1363 995.4953,-581.8746 988.5207,-582.4704"/>
+<path fill="none" stroke="#191970" d="M837.8058,-582.43C841.3499,-569.1009 846.6482,-551.188 853,-536 859.3611,-520.7898 868.8841,-504.2068 875.0199,-494.0793"/>
+<polygon fill="#191970" stroke="#191970" points="834.346,-581.8323 835.2567,-592.3879 841.1273,-583.5682 834.346,-581.8323"/>
 </g>
 <!-- Node26 -->
 <g id="node7" class="node">
 <title>Node26</title>
 <g id="a_node7"><a xlink:href="parser_8h.html" target="_top" xlink:title="A parser for TVM IR. ">
-<polygon fill="#ffffff" stroke="#000000" points="787,-335.5 787,-365.5 895,-365.5 895,-335.5 787,-335.5"/>
-<text text-anchor="start" x="795" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/parser</text>
-<text text-anchor="middle" x="841" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/parser.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="745,-335.5 745,-365.5 853,-365.5 853,-335.5 745,-335.5"/>
+<text text-anchor="start" x="753" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/parser</text>
+<text text-anchor="middle" x="799" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/parser.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node26 -->
-<g id="edge60" class="edge">
+<g id="edge61" class="edge">
 <title>Node21&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M997.4592,-582.5321C1005.158,-543.5996 1016.3356,-455.3158 974,-402 963.6066,-388.911 927.1888,-375.3051 895.0846,-365.3674"/>
-<polygon fill="#191970" stroke="#191970" points="994.0307,-581.8282 995.3816,-592.3366 1000.8787,-583.2794 994.0307,-581.8282"/>
+<path fill="none" stroke="#191970" d="M824.9575,-583.1244C816.8338,-562.9702 804.8168,-529.8865 800,-500 792.1944,-451.5692 795.3692,-393.1631 797.5657,-365.9086"/>
+<polygon fill="#191970" stroke="#191970" points="821.7369,-584.4955 828.792,-592.3997 828.2059,-581.8211 821.7369,-584.4955"/>
 </g>
 <!-- Node30 -->
 <g id="node10" class="node">
 <title>Node30</title>
 <g id="a_node10"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="989.5,-335.5 989.5,-365.5 1096.5,-365.5 1096.5,-335.5 989.5,-335.5"/>
-<text text-anchor="start" x="997.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1043" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1149.5,-335.5 1149.5,-365.5 1256.5,-365.5 1256.5,-335.5 1149.5,-335.5"/>
+<text text-anchor="start" x="1157.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1203" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node30 -->
-<g id="edge66" class="edge">
+<g id="edge67" class="edge">
 <title>Node21&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M1018.4494,-586.4967C1028.7137,-578.7437 1039.4303,-568.3631 1045,-556 1060.2778,-522.0874 1049.3428,-407.1001 1044.7589,-365.5966"/>
-<polygon fill="#191970" stroke="#191970" points="1016.2382,-583.7723 1010.0567,-592.377 1020.2549,-589.5052 1016.2382,-583.7723"/>
+<path fill="none" stroke="#191970" d="M899.8596,-590.5604C946.0115,-581.7806 1002.599,-568.9957 1023,-556 1096.8798,-508.9376 1085.9715,-465.7939 1146,-402 1158.2469,-388.9849 1173.2901,-375.4846 1184.8467,-365.5731"/>
+<polygon fill="#191970" stroke="#191970" points="899.0727,-587.1469 889.8874,-592.4269 900.3606,-594.0274 899.0727,-587.1469"/>
 </g>
 <!-- Node21&#45;&gt;Node44 -->
-<g id="edge53" class="edge">
+<g id="edge54" class="edge">
 <title>Node21&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1023.1964,-587.602C1036.4868,-579.8993 1051.2594,-569.2492 1061,-556 1071.1388,-542.2091 1140.7049,-295.9305 1158.738,-231.711"/>
-<polygon fill="#191970" stroke="#191970" points="1021.4073,-584.5911 1014.3121,-592.4594 1024.7654,-590.7331 1021.4073,-584.5911"/>
+<path fill="none" stroke="#191970" d="M909.7634,-595.298C952.5252,-589.2447 1005.7095,-577.7587 1049,-556 1141.57,-509.4724 1139.11,-461.3945 1224,-402 1251.3775,-382.8449 1261.5059,-383.4509 1290,-366 1334.994,-338.4439 1345.5432,-330.3245 1388,-299 1405.8175,-285.8543 1407.1209,-277.7515 1427,-268 1468.9592,-247.4174 1519.7747,-234.6741 1560.9084,-227.0132"/>
+<polygon fill="#191970" stroke="#191970" points="909.1351,-591.8509 899.6904,-596.6516 910.0675,-598.7885 909.1351,-591.8509"/>
 </g>
 <!-- Node21&#45;&gt;Node45 -->
-<g id="edge54" class="edge">
+<g id="edge55" class="edge">
 <title>Node21&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M1070.0902,-597.7689C1141.9617,-592.3563 1242.5167,-580.5621 1273,-556 1330.3249,-509.81 1281.522,-453.6305 1334,-402 1398.8981,-338.1499 1501.549,-308.0971 1571.6913,-294.3712"/>
-<polygon fill="#191970" stroke="#191970" points="1069.4267,-594.3077 1059.706,-598.5219 1069.933,-601.2894 1069.4267,-594.3077"/>
+<path fill="none" stroke="#191970" d="M909.93,-599.34C1076.2466,-593.2242 1458.7929,-577.0557 1514,-556 1588.7183,-527.5028 1726.8391,-371.4834 1798,-335 1829.705,-318.7452 1867.3401,-306.8312 1899.5705,-298.582"/>
+<polygon fill="#191970" stroke="#191970" points="909.6384,-595.8483 899.7728,-599.7109 909.8939,-602.8436 909.6384,-595.8483"/>
 </g>
 <!-- Node21&#45;&gt;Node48 -->
-<g id="edge59" class="edge">
+<g id="edge60" class="edge">
 <title>Node21&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M1070.0078,-593.0131C1101.8056,-586.5071 1137.7504,-575.2997 1166,-556 1291.2214,-470.4505 1224.5879,-354.7222 1349,-268 1432.5438,-209.7652 1728.7236,-172.0458 1869.9782,-156.962"/>
-<polygon fill="#191970" stroke="#191970" points="1069.0051,-589.6416 1059.8445,-594.9645 1070.3251,-596.516 1069.0051,-589.6416"/>
+<path fill="none" stroke="#191970" d="M909.6608,-590.5679C936.8885,-583.7821 966.5656,-573.0221 990,-556 1115.4731,-464.8601 1074.8277,-375.0857 1187,-268 1227.8576,-228.9952 1241.2399,-218.3369 1295,-201 1418.5081,-161.1703 1803.041,-152.1436 1967.8067,-150.0986"/>
+<polygon fill="#191970" stroke="#191970" points="908.6922,-587.2 899.7564,-592.8923 910.2916,-594.0148 908.6922,-587.2"/>
 </g>
 <!-- Node21&#45;&gt;Node49 -->
-<g id="edge55" class="edge">
+<g id="edge56" class="edge">
 <title>Node21&#45;&gt;Node49</title>
-<path fill="none" stroke="#191970" d="M1061.8665,-589.9879C1088.281,-583.0694 1117.6564,-572.37 1141,-556 1180.7371,-528.1339 1174.8317,-505.3422 1207,-469 1263.663,-404.9848 1276.8201,-386.5766 1345,-335 1363.3658,-321.1067 1385.8213,-308.1383 1403.5814,-298.6904"/>
-<polygon fill="#191970" stroke="#191970" points="1060.7699,-586.6537 1051.9066,-592.4583 1062.4551,-593.4479 1060.7699,-586.6537"/>
+<path fill="none" stroke="#191970" d="M909.6686,-596.2715C991.9548,-589.2362 1116.6868,-575.753 1160,-556 1213.5995,-531.556 1213.3834,-505.0182 1260,-469 1301.7512,-436.7411 1311.714,-427.3261 1358,-402 1438.3296,-358.0465 1538.3522,-319.0983 1594.1873,-298.6567"/>
+<polygon fill="#191970" stroke="#191970" points="909.2743,-592.7923 899.6028,-597.1182 909.861,-599.7676 909.2743,-592.7923"/>
 </g>
 <!-- Node21&#45;&gt;Node51 -->
-<g id="edge56" class="edge">
+<g id="edge57" class="edge">
 <title>Node21&#45;&gt;Node51</title>
-<path fill="none" stroke="#191970" d="M916.1021,-599.5882C782.8113,-594.7411 519.8813,-581.9864 487,-556 460.7013,-535.2158 463,-518.0202 463,-484.5 463,-484.5 463,-484.5 463,-417.5 463,-373.4908 446.4688,-323.5202 437.1699,-298.893"/>
-<polygon fill="#191970" stroke="#191970" points="916.1305,-603.0913 926.2492,-599.951 916.3807,-596.0958 916.1305,-603.0913"/>
+<path fill="none" stroke="#191970" d="M756.0791,-596.737C654.8433,-589.1521 487.0727,-574.0566 465,-556 439.0551,-534.7757 441,-518.0202 441,-484.5 441,-484.5 441,-484.5 441,-417.5 441,-374.3421 435.7777,-323.5818 432.8809,-298.7453"/>
+<polygon fill="#191970" stroke="#191970" points="756.0341,-600.2431 766.2654,-597.4917 756.5514,-593.2623 756.0341,-600.2431"/>
 </g>
 <!-- Node52 -->
 <g id="node19" class="node">
@@ -539,41 +539,41 @@
 </g>
 </g>
 <!-- Node21&#45;&gt;Node52 -->
-<g id="edge64" class="edge">
+<g id="edge65" class="edge">
 <title>Node21&#45;&gt;Node52</title>
-<path fill="none" stroke="#191970" d="M916.3459,-596.1137C822.8738,-588.2381 674.9208,-573.2479 656,-556 536.8048,-447.3439 652.136,-209.7904 678.7906,-159.1255"/>
-<polygon fill="#191970" stroke="#191970" points="916.0815,-599.6037 926.3376,-596.946 916.6627,-592.6279 916.0815,-599.6037"/>
+<path fill="none" stroke="#191970" d="M756.4271,-592.8973C699.9201,-585.029 628.7316,-572.3492 604,-556 571.8633,-534.7555 555,-523.024 555,-484.5 555,-484.5 555,-484.5 555,-417.5 555,-360.0535 652.4473,-200.0165 677.9511,-159.1156"/>
+<polygon fill="#191970" stroke="#191970" points="756.052,-596.3785 766.4334,-594.2623 756.9982,-589.4427 756.052,-596.3785"/>
 </g>
 <!-- Node55 -->
 <g id="node20" class="node">
 <title>Node55</title>
 <g id="a_node20"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="1191.5,-268.5 1191.5,-298.5 1298.5,-298.5 1298.5,-268.5 1191.5,-268.5"/>
-<text text-anchor="start" x="1199.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1245" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1435.5,-268.5 1435.5,-298.5 1542.5,-298.5 1542.5,-268.5 1435.5,-268.5"/>
+<text text-anchor="start" x="1443.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1489" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node55 -->
-<g id="edge65" class="edge">
+<g id="edge66" class="edge">
 <title>Node21&#45;&gt;Node55</title>
-<path fill="none" stroke="#191970" d="M1057.6268,-589.611C1079.8123,-582.737 1103.4501,-572.1661 1121,-556 1141.7873,-536.8518 1216.7601,-353.5403 1238.8404,-298.8366"/>
-<polygon fill="#191970" stroke="#191970" points="1056.5307,-586.2845 1047.8974,-592.426 1058.4762,-593.0087 1056.5307,-586.2845"/>
+<path fill="none" stroke="#191970" d="M909.8281,-598.06C987.5767,-592.74 1101.2646,-580.8913 1137,-556 1173.2371,-530.7592 1154.0935,-500.5438 1185,-469 1248.9675,-403.7135 1285.1809,-413.9412 1363,-366 1399.7315,-343.3712 1441.4568,-315.6401 1466.4795,-298.7844"/>
+<polygon fill="#191970" stroke="#191970" points="909.3307,-594.5851 899.5836,-598.7377 909.7928,-601.5699 909.3307,-594.5851"/>
 </g>
 <!-- Node78 -->
 <g id="node22" class="node">
 <title>Node78</title>
 <g id="a_node22"><a xlink:href="relay_2expr_8h.html" target="_top" xlink:title="Relay expression language. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="241.5,-207 241.5,-226 376.5,-226 376.5,-207 241.5,-207"/>
-<text text-anchor="middle" x="309" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="262.5,-207 262.5,-226 397.5,-226 397.5,-207 262.5,-207"/>
+<text text-anchor="middle" x="330" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node78 -->
-<g id="edge62" class="edge">
+<g id="edge63" class="edge">
 <title>Node21&#45;&gt;Node78</title>
-<path fill="none" stroke="#191970" d="M915.8246,-598.9571C790.7957,-593.3601 554.8569,-579.7742 525,-556 498.7775,-535.1198 501,-518.0202 501,-484.5 501,-484.5 501,-484.5 501,-417.5 501,-350.7219 557.1259,-320.6115 516,-268 498.8376,-246.0446 430.312,-232.1047 376.7468,-224.344"/>
-<polygon fill="#191970" stroke="#191970" points="915.9546,-602.4661 926.0992,-599.4102 916.2631,-595.4729 915.9546,-602.4661"/>
+<path fill="none" stroke="#191970" d="M756.3732,-595.5654C665.0108,-587.2416 522.1729,-571.9121 503,-556 477.2059,-534.5928 479,-518.0202 479,-484.5 479,-484.5 479,-484.5 479,-417.5 479,-379.3133 491.1758,-371.3099 503,-335 508.2674,-318.8248 513.0672,-315.7565 516,-299 518.3753,-285.4285 524.3419,-278.9654 516,-268 501.1906,-248.533 442.7755,-234.5198 395.3093,-226.0715"/>
+<polygon fill="#191970" stroke="#191970" points="756.1478,-599.0592 766.4217,-596.4717 756.7766,-592.0875 756.1478,-599.0592"/>
 </g>
 <!-- Node81 -->
 <g id="node24" class="node">
@@ -585,10 +585,10 @@
 </g>
 </g>
 <!-- Node21&#45;&gt;Node81 -->
-<g id="edge61" class="edge">
+<g id="edge62" class="edge">
 <title>Node21&#45;&gt;Node81</title>
-<path fill="none" stroke="#191970" d="M916.2037,-600.104C825.1906,-596.5011 680.2824,-586.0799 636,-556 612.4677,-540.0151 614.0032,-526.9857 605,-500 553.0218,-344.2037 659.3198,-260.0237 554,-134 539.6518,-116.8312 484.4904,-101.4629 443.5849,-92.0763"/>
-<polygon fill="#191970" stroke="#191970" points="916.079,-603.6017 926.2039,-600.4812 916.3429,-596.6067 916.079,-603.6017"/>
+<path fill="none" stroke="#191970" d="M756.1591,-594.657C690.6075,-587.2788 602.302,-574.3612 572,-556 537.7117,-535.2233 517,-524.5919 517,-484.5 517,-484.5 517,-484.5 517,-417.5 517,-290.4314 628.5447,-236.9053 554,-134 541.0841,-116.1702 487.2107,-101.2063 446.1406,-92.0819"/>
+<polygon fill="#191970" stroke="#191970" points="756.1487,-598.177 766.472,-595.7936 756.9156,-591.2191 756.1487,-598.177"/>
 </g>
 <!-- Node89 -->
 <g id="node25" class="node">
@@ -600,344 +600,350 @@
 </g>
 </g>
 <!-- Node21&#45;&gt;Node89 -->
-<g id="edge63" class="edge">
+<g id="edge64" class="edge">
 <title>Node21&#45;&gt;Node89</title>
-<path fill="none" stroke="#191970" d="M916.4282,-598.8283C779.6948,-592.6505 504.2074,-577.6832 466,-556 311.515,-468.3279 295.7483,-397.7955 232,-232 222.3824,-206.9866 221.9893,-174.7696 222.4935,-159.0212"/>
-<polygon fill="#191970" stroke="#191970" points="916.2804,-602.3251 926.4268,-599.2755 916.5933,-595.3321 916.2804,-602.3251"/>
+<path fill="none" stroke="#191970" d="M756.1214,-596.6188C649.9556,-588.6303 468.5847,-572.7646 443,-556 289.6317,-455.5039 234.7767,-210.5522 224.7613,-159.0856"/>
+<polygon fill="#191970" stroke="#191970" points="755.9203,-600.1134 766.153,-597.367 756.4411,-593.1328 755.9203,-600.1134"/>
 </g>
-<!-- Node93 -->
-<g id="node27" class="node">
-<title>Node93</title>
-<g id="a_node27"><a xlink:href="tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilitie and passes for TIR. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1343,-408 1343,-427 1483,-427 1483,-408 1343,-408"/>
-<text text-anchor="middle" x="1413" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/analysis.h</text>
+<!-- Node94 -->
+<g id="node28" class="node">
+<title>Node94</title>
+<g id="a_node28"><a xlink:href="tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilitie and passes for TIR. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1367,-408 1367,-427 1507,-427 1507,-408 1367,-408"/>
+<text text-anchor="middle" x="1437" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/analysis.h</text>
 </a>
 </g>
 </g>
-<!-- Node21&#45;&gt;Node93 -->
-<g id="edge67" class="edge">
-<title>Node21&#45;&gt;Node93</title>
-<path fill="none" stroke="#191970" d="M1069.7425,-597.681C1150.5602,-591.9538 1271.4793,-579.6811 1311,-556 1338.0245,-539.8067 1389.7931,-456.2189 1407.158,-427.333"/>
-<polygon fill="#191970" stroke="#191970" points="1069.3379,-594.2005 1059.6024,-598.3803 1069.8196,-601.1839 1069.3379,-594.2005"/>
+<!-- Node21&#45;&gt;Node94 -->
+<g id="edge68" class="edge">
+<title>Node21&#45;&gt;Node94</title>
+<path fill="none" stroke="#191970" d="M910.0655,-598.8882C1005.4675,-593.973 1161.6432,-582.138 1213,-556 1260.0837,-532.0368 1249.9072,-498.1022 1294,-469 1324.9421,-448.5775 1364.9938,-435.0595 1394.8357,-427.0186"/>
+<polygon fill="#191970" stroke="#191970" points="909.6992,-595.4021 899.887,-599.3983 910.0496,-602.3933 909.6992,-595.4021"/>
 </g>
 <!-- Node110 -->
 <g id="node29" class="node">
 <title>Node110</title>
 <g id="a_node29"><a xlink:href="type__relation_8h.html" target="_top" xlink:title="Type relation and function for type inference(checking). ">
-<polygon fill="#ffffff" stroke="#ff0000" points="211.5,-469.5 211.5,-499.5 320.5,-499.5 320.5,-469.5 211.5,-469.5"/>
-<text text-anchor="start" x="219.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
-<text text-anchor="middle" x="266" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_relation.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="189.5,-469.5 189.5,-499.5 298.5,-499.5 298.5,-469.5 189.5,-469.5"/>
+<text text-anchor="start" x="197.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
+<text text-anchor="middle" x="244" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_relation.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node110 -->
-<g id="edge52" class="edge">
+<g id="edge53" class="edge">
 <title>Node21&#45;&gt;Node110</title>
-<path fill="none" stroke="#191970" d="M916.4421,-601.1691C773.461,-598.8214 471.4181,-589.8833 373,-556 337.5097,-543.7814 302.5193,-516.8073 282.6572,-499.7063"/>
-<polygon fill="#191970" stroke="#191970" points="916.4028,-604.6689 926.4568,-601.327 916.5133,-597.6697 916.4028,-604.6689"/>
+<path fill="none" stroke="#191970" d="M756.0223,-597.3175C647.6643,-590.1638 455.9065,-575.2882 389,-556 343.8262,-542.9771 295.6914,-516.3864 267.8095,-499.5578"/>
+<polygon fill="#191970" stroke="#191970" points="756.0341,-600.8257 766.2412,-597.9856 756.4908,-593.8406 756.0341,-600.8257"/>
 </g>
 <!-- Node140 -->
 <g id="node31" class="node">
 <title>Node140</title>
 <g id="a_node31"><a xlink:href="error_8h.html" target="_top" xlink:title="Utilities for error tracking and reporting. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="845.5,-536.5 845.5,-555.5 964.5,-555.5 964.5,-536.5 845.5,-536.5"/>
-<text text-anchor="middle" x="905" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/error.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="861.5,-536.5 861.5,-555.5 980.5,-555.5 980.5,-536.5 861.5,-536.5"/>
+<text text-anchor="middle" x="921" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/error.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node140 -->
-<g id="edge49" class="edge">
+<g id="edge50" class="edge">
 <title>Node21&#45;&gt;Node140</title>
-<path fill="none" stroke="#191970" d="M969.0655,-586.769C953.4717,-576.8456 933.599,-564.1994 920.1528,-555.6427"/>
-<polygon fill="#191970" stroke="#191970" points="967.3559,-589.8296 977.6716,-592.2455 971.114,-583.9239 967.3559,-589.8296"/>
+<path fill="none" stroke="#191970" d="M856.9345,-586.769C872.5283,-576.8456 892.401,-564.1994 905.8472,-555.6427"/>
+<polygon fill="#191970" stroke="#191970" points="854.886,-583.9239 848.3284,-592.2455 858.6441,-589.8296 854.886,-583.9239"/>
 </g>
 <!-- Node21&#45;&gt;Node141 -->
-<g id="edge57" class="edge">
+<g id="edge58" class="edge">
 <title>Node21&#45;&gt;Node141</title>
-<path fill="none" stroke="#191970" d="M1070.1168,-600.8616C1218.2447,-597.965 1537.1844,-588.0952 1642,-556 1782.9081,-512.8531 1928.13,-405.6018 1979.0218,-365.7389"/>
-<polygon fill="#191970" stroke="#191970" points="1069.6838,-597.3691 1059.7521,-601.0583 1069.8167,-604.3678 1069.6838,-597.3691"/>
+<path fill="none" stroke="#191970" d="M909.7554,-599.8253C1069.6207,-594.8518 1433.51,-581.097 1555,-556 1769.054,-511.7815 2011.2627,-405.1874 2096.9264,-365.6187"/>
+<polygon fill="#191970" stroke="#191970" points="909.4127,-596.3341 899.5251,-600.1402 909.6281,-603.3308 909.4127,-596.3341"/>
 </g>
 <!-- Node142 -->
 <g id="node33" class="node">
 <title>Node142</title>
 <g id="a_node33"><a xlink:href="state_8h.html" target="_top" xlink:title="This file defines ScheduleState, the core data structure of TensorIR scheduling. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1401,-469.5 1401,-499.5 1535,-499.5 1535,-469.5 1401,-469.5"/>
-<text text-anchor="start" x="1409" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/schedule</text>
-<text text-anchor="middle" x="1468" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/state.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1303,-469.5 1303,-499.5 1437,-499.5 1437,-469.5 1303,-469.5"/>
+<text text-anchor="start" x="1311" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/schedule</text>
+<text text-anchor="middle" x="1370" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/state.h</text>
 </a>
 </g>
 </g>
 <!-- Node21&#45;&gt;Node142 -->
-<g id="edge68" class="edge">
+<g id="edge69" class="edge">
 <title>Node21&#45;&gt;Node142</title>
-<path fill="none" stroke="#191970" d="M1069.6743,-595.7994C1158.4794,-587.9697 1298.9838,-573.3987 1349,-556 1387.0161,-542.7756 1426.0738,-516.3779 1448.6363,-499.6217"/>
-<polygon fill="#191970" stroke="#191970" points="1069.3032,-592.3184 1059.6453,-596.6744 1069.9117,-599.2919 1069.3032,-592.3184"/>
+<path fill="none" stroke="#191970" d="M909.8646,-599.9138C1021.6322,-595.9269 1222.8886,-584.8804 1289,-556 1317.8773,-543.3851 1343.737,-516.5348 1358.1032,-499.5658"/>
+<polygon fill="#191970" stroke="#191970" points="909.5383,-596.4229 899.6654,-600.2669 909.7806,-603.4187 909.5383,-596.4229"/>
 </g>
 <!-- Node23&#45;&gt;Node25 -->
 <g id="edge5" class="edge">
 <title>Node23&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M773.6717,-529.8692C787.4663,-518.5576 805.4558,-503.8062 817.116,-494.2449"/>
-<polygon fill="#191970" stroke="#191970" points="771.2322,-527.3433 765.7188,-536.3906 775.6707,-532.7562 771.2322,-527.3433"/>
+<path fill="none" stroke="#191970" d="M732.766,-533.2507C768.2472,-521.5818 819.9583,-504.5752 851.9864,-494.0419"/>
+<polygon fill="#191970" stroke="#191970" points="731.6247,-529.9416 723.2188,-536.3906 733.8117,-536.5912 731.6247,-529.9416"/>
 </g>
 <!-- Node23&#45;&gt;Node110 -->
-<g id="edge46" class="edge">
+<g id="edge47" class="edge">
 <title>Node23&#45;&gt;Node110</title>
-<path fill="none" stroke="#191970" d="M670.8736,-535.524C570.8653,-522.9205 405.8154,-502.1202 320.6311,-491.3849"/>
-<polygon fill="#191970" stroke="#191970" points="670.5823,-539.0149 680.9415,-536.7928 671.4576,-532.0699 670.5823,-539.0149"/>
+<path fill="none" stroke="#191970" d="M614.2089,-535.0952C523.4138,-522.6866 377.5448,-502.7511 298.7469,-491.9821"/>
+<polygon fill="#191970" stroke="#191970" points="613.7994,-538.5717 624.1812,-536.4581 614.7473,-531.6362 613.7994,-538.5717"/>
 </g>
 <!-- Node25&#45;&gt;Node22 -->
 <g id="edge6" class="edge">
 <title>Node25&#45;&gt;Node22</title>
-<path fill="none" stroke="#191970" d="M806.5349,-468.638C795.0026,-459.4342 781.6063,-446.9229 773,-433 745.7356,-388.8927 735.1803,-326.8526 731.6067,-298.5893"/>
-<polygon fill="#191970" stroke="#191970" points="804.4362,-471.4391 814.5076,-474.7281 808.6854,-465.8764 804.4362,-471.4391"/>
+<path fill="none" stroke="#191970" d="M848.7859,-470.7114C794.385,-445.494 694.1312,-389.5061 736,-335 752.9534,-312.9296 824.5114,-298.2903 875.541,-290.4394"/>
+<polygon fill="#191970" stroke="#191970" points="847.4956,-473.9693 858.0483,-474.9139 850.3879,-467.5947 847.4956,-473.9693"/>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge7" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M830.7739,-464.6918C833.1919,-437.6902 837.4703,-389.915 839.6468,-365.611"/>
-<polygon fill="#191970" stroke="#191970" points="827.269,-464.5907 829.863,-474.8631 834.2411,-465.2151 827.269,-464.5907"/>
+<path fill="none" stroke="#191970" d="M869.7514,-466.1182C853.4039,-439.404 823.3852,-390.349 808.247,-365.611"/>
+<polygon fill="#191970" stroke="#191970" points="866.8977,-468.1603 875.1028,-474.8631 872.8685,-464.5065 866.8977,-468.1603"/>
 </g>
 <!-- Node27 -->
 <g id="node8" class="node">
 <title>Node27</title>
 <g id="a_node8"><a xlink:href="relay_2transform_8h.html" target="_top" xlink:title="Relay specific transformation passes. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="714,-73 714,-92 876,-92 876,-73 714,-73"/>
-<text text-anchor="middle" x="795" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="729,-73 729,-92 891,-92 891,-73 729,-73"/>
+<text text-anchor="middle" x="810" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node27 -->
 <g id="edge8" class="edge">
 <title>Node25&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M802.182,-469.7154C786.9271,-460.4642 768.1112,-447.5576 754,-433 704.7461,-382.188 687.9161,-366.9055 668,-299 646.4726,-225.6008 738.1444,-231.4667 776,-165 789.6024,-141.117 793.4707,-108.1048 794.5677,-92.0443"/>
-<polygon fill="#191970" stroke="#191970" points="800.7518,-472.9347 811.1463,-474.9854 804.2994,-466.9002 800.7518,-472.9347"/>
+<path fill="none" stroke="#191970" d="M878.9728,-464.7008C875.9246,-436.0119 869.6902,-381.2531 862,-335 846.1442,-239.6346 820.0255,-125.44 812.2505,-92.0825"/>
+<polygon fill="#191970" stroke="#191970" points="875.4937,-465.0846 880.0142,-474.6667 882.4558,-464.357 875.4937,-465.0846"/>
 </g>
 <!-- Node29 -->
 <g id="node9" class="node">
 <title>Node29</title>
 <g id="a_node9"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="857.5,-402.5 857.5,-432.5 964.5,-432.5 964.5,-402.5 857.5,-402.5"/>
-<text text-anchor="start" x="865.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="911" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="909.5,-402.5 909.5,-432.5 1016.5,-432.5 1016.5,-402.5 909.5,-402.5"/>
+<text text-anchor="start" x="917.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="963" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node29 -->
 <g id="edge9" class="edge">
 <title>Node25&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M848.8254,-468.3012C862.1541,-457.4107 879.5977,-443.1579 892.6152,-432.5218"/>
-<polygon fill="#191970" stroke="#191970" points="846.2779,-465.8629 840.7486,-474.9005 850.7069,-471.2836 846.2779,-465.8629"/>
+<path fill="none" stroke="#191970" d="M900.8254,-468.3012C914.1541,-457.4107 931.5977,-443.1579 944.6152,-432.5218"/>
+<polygon fill="#191970" stroke="#191970" points="898.2779,-465.8629 892.7486,-474.9005 902.7069,-471.2836 898.2779,-465.8629"/>
 </g>
 <!-- Node74 -->
 <g id="node21" class="node">
 <title>Node74</title>
 <g id="a_node21"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
-<polygon fill="#ffffff" stroke="#ff0000" points="801.5,-268.5 801.5,-298.5 908.5,-298.5 908.5,-268.5 801.5,-268.5"/>
-<text text-anchor="start" x="809.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="855" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="676.5,-268.5 676.5,-298.5 783.5,-298.5 783.5,-268.5 676.5,-268.5"/>
+<text text-anchor="start" x="684.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="730" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node74 -->
-<g id="edge43" class="edge">
-<title>Node25&#45;&gt;Node74</title>
-<path fill="none" stroke="#191970" d="M814.1754,-467.0697C791.6897,-438.3864 753.9935,-379.9374 778,-335 786.6389,-318.8289 802.8532,-306.8476 818.1828,-298.5313"/>
-<polygon fill="#191970" stroke="#191970" points="811.5631,-469.4053 820.5802,-474.9679 817.0001,-464.9962 811.5631,-469.4053"/>
-</g>
-<!-- Node25&#45;&gt;Node93 -->
 <g id="edge44" class="edge">
-<title>Node25&#45;&gt;Node93</title>
-<path fill="none" stroke="#191970" d="M911.3825,-475.0486C1026.7347,-461.8147 1234.3806,-437.9923 1342.7896,-425.555"/>
-<polygon fill="#191970" stroke="#191970" points="910.7315,-471.6002 901.1956,-476.2173 911.5294,-478.5546 910.7315,-471.6002"/>
+<title>Node25&#45;&gt;Node74</title>
+<path fill="none" stroke="#191970" d="M808.4584,-472.1875C783.742,-464.6464 757.8701,-452.511 740,-433 705.7394,-395.5935 717.8705,-328.4313 725.597,-298.5481"/>
+<polygon fill="#191970" stroke="#191970" points="807.6433,-475.5943 818.2188,-474.9543 809.5524,-468.8596 807.6433,-475.5943"/>
 </g>
-<!-- Node109 -->
-<g id="node28" class="node">
-<title>Node109</title>
-<g id="a_node28"><a xlink:href="tir_2transform_8h.html" target="_top" xlink:title="TIR specific transformation passes. ">
-<polygon fill="#ffffff" stroke="#000000" points="1539,-408 1539,-427 1687,-427 1687,-408 1539,-408"/>
-<text text-anchor="middle" x="1613" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/transform.h</text>
+<!-- Node93 -->
+<g id="node27" class="node">
+<title>Node93</title>
+<g id="a_node27"><a xlink:href="tir_2transform_8h.html" target="_top" xlink:title="TIR specific transformation passes. ">
+<polygon fill="#ffffff" stroke="#000000" points="1231,-274 1231,-293 1379,-293 1379,-274 1231,-274"/>
+<text text-anchor="middle" x="1305" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/transform.h</text>
 </a>
 </g>
 </g>
-<!-- Node25&#45;&gt;Node109 -->
+<!-- Node25&#45;&gt;Node93 -->
+<g id="edge46" class="edge">
+<title>Node25&#45;&gt;Node93</title>
+<path fill="none" stroke="#191970" d="M920.9728,-471.9143C972.8164,-455.6234 1066.0792,-426.4279 1146,-402 1199.2498,-385.7241 1223.7852,-402.3091 1266,-366 1288.821,-346.3716 1299.2499,-310.4346 1303.1105,-293.2093"/>
+<polygon fill="#191970" stroke="#191970" points="919.6626,-468.6572 911.1726,-474.9951 921.7619,-475.335 919.6626,-468.6572"/>
+</g>
+<!-- Node25&#45;&gt;Node94 -->
 <g id="edge45" class="edge">
-<title>Node25&#45;&gt;Node109</title>
-<path fill="none" stroke="#191970" d="M911.5105,-479.4185C1037.0267,-471.3884 1283.3908,-454.4499 1492,-433 1508.6433,-431.2887 1526.5375,-429.1575 1543.3255,-427.0285"/>
-<polygon fill="#191970" stroke="#191970" points="910.972,-475.9456 901.2148,-480.0745 911.4172,-482.9314 910.972,-475.9456"/>
+<title>Node25&#45;&gt;Node94</title>
+<path fill="none" stroke="#191970" d="M963.108,-474.6057C1072.4029,-461.4353 1263.8296,-438.3677 1366.7638,-425.9637"/>
+<polygon fill="#191970" stroke="#191970" points="962.6267,-471.1383 953.1173,-475.8096 963.4642,-478.088 962.6267,-471.1383"/>
 </g>
 <!-- Node29&#45;&gt;Node30 -->
 <g id="edge10" class="edge">
 <title>Node29&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M949.589,-397.9132C969.8187,-387.645 994.2267,-375.2561 1013.0188,-365.7177"/>
-<polygon fill="#191970" stroke="#191970" points="947.9563,-394.8168 940.6234,-402.4639 951.1246,-401.0587 947.9563,-394.8168"/>
+<path fill="none" stroke="#191970" d="M1026.5533,-399.758C1064.7637,-389.091 1112.8627,-375.6633 1149.1872,-365.5227"/>
+<polygon fill="#191970" stroke="#191970" points="1025.2526,-396.4873 1016.562,-402.5473 1027.1348,-403.2295 1025.2526,-396.4873"/>
 </g>
 <!-- Node30&#45;&gt;Node22 -->
 <g id="edge11" class="edge">
 <title>Node30&#45;&gt;Node22</title>
-<path fill="none" stroke="#191970" d="M979.3753,-335.938C977.9034,-335.6203 976.4434,-335.3072 975,-335 894.3502,-317.8357 873.4999,-316.8544 793,-299 789.811,-298.2927 786.5361,-297.5468 783.2356,-296.78"/>
-<polygon fill="#191970" stroke="#191970" points="978.693,-339.3714 989.2099,-338.0885 980.1884,-332.533 978.693,-339.3714"/>
+<path fill="none" stroke="#191970" d="M1139.2874,-334.9207C1091.6108,-323.2625 1027.1531,-307.5009 982.2171,-296.5129"/>
+<polygon fill="#191970" stroke="#191970" points="1138.6482,-338.3674 1149.1933,-337.3429 1140.3109,-331.5677 1138.6482,-338.3674"/>
 </g>
 <!-- Node30&#45;&gt;Node27 -->
 <g id="edge29" class="edge">
 <title>Node30&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M1021.9394,-327.7409C970.3305,-271.9701 839.1961,-130.2603 803.8767,-92.0926"/>
-<polygon fill="#191970" stroke="#191970" points="1019.5951,-330.3608 1028.9559,-335.3233 1024.7328,-325.6065 1019.5951,-330.3608"/>
+<path fill="none" stroke="#191970" d="M1172.0995,-329.4279C1092.1166,-274.8849 880.61,-130.6513 824.0667,-92.0926"/>
+<polygon fill="#191970" stroke="#191970" points="1170.5108,-332.5809 1180.7446,-335.3233 1174.4547,-326.7976 1170.5108,-332.5809"/>
 </g>
 <!-- Node30&#45;&gt;Node44 -->
 <g id="edge12" class="edge">
 <title>Node30&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1061.2974,-327.0387C1074.652,-310.2334 1093.4187,-287.2629 1111,-268 1122.4778,-255.4244 1136.1871,-241.9036 1146.647,-231.8726"/>
-<polygon fill="#191970" stroke="#191970" points="1058.2932,-325.1955 1054.8421,-335.2125 1063.7866,-329.5339 1058.2932,-325.1955"/>
+<path fill="none" stroke="#191970" d="M1201.6972,-325.323C1202.2026,-306.7167 1206.217,-282.2372 1222,-268 1246.6296,-245.7826 1447.5813,-229.041 1560.5626,-221.2794"/>
+<polygon fill="#191970" stroke="#191970" points="1198.1978,-325.4934 1201.7426,-335.4777 1205.1977,-325.4621 1198.1978,-325.4934"/>
 </g>
 <!-- Node30&#45;&gt;Node45 -->
 <g id="edge13" class="edge">
 <title>Node30&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M1106.7513,-343.8442C1198.0987,-334.2524 1371.4904,-315.8412 1519,-299 1536.1447,-297.0426 1554.5622,-294.8709 1571.9609,-292.7878"/>
-<polygon fill="#191970" stroke="#191970" points="1106.1417,-340.3889 1096.5616,-344.9133 1106.8722,-347.3507 1106.1417,-340.3889"/>
+<path fill="none" stroke="#191970" d="M1266.7381,-344.954C1407.6628,-332.6917 1745.2052,-303.3211 1896.8989,-290.1218"/>
+<polygon fill="#191970" stroke="#191970" points="1266.1925,-341.4881 1256.5336,-345.8419 1266.7994,-348.4618 1266.1925,-341.4881"/>
 </g>
 <!-- Node30&#45;&gt;Node48 -->
 <g id="edge27" class="edge">
 <title>Node30&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M1040.6288,-325.1792C1039.0015,-291.1331 1041.943,-231.3731 1078,-201 1108.0546,-175.6831 1663.6057,-157.4758 1869.8066,-151.5644"/>
-<polygon fill="#191970" stroke="#191970" points="1037.1426,-325.5068 1041.2815,-335.2597 1044.128,-325.0544 1037.1426,-325.5068"/>
+<path fill="none" stroke="#191970" d="M1194.537,-325.6748C1190.0942,-307.6608 1187.9465,-283.7808 1201,-268 1249.6897,-209.1372 1769.5771,-168.0605 1967.8098,-154.4342"/>
+<polygon fill="#191970" stroke="#191970" points="1191.2266,-326.8308 1197.3204,-335.4978 1197.9615,-324.9224 1191.2266,-326.8308"/>
 </g>
 <!-- Node30&#45;&gt;Node49 -->
 <g id="edge20" class="edge">
 <title>Node30&#45;&gt;Node49</title>
-<path fill="none" stroke="#191970" d="M1106.7998,-339.5675C1175.5256,-327.791 1284.8383,-309.0597 1357.9726,-296.5277"/>
-<polygon fill="#191970" stroke="#191970" points="1105.8122,-336.1857 1096.547,-341.3244 1106.9945,-343.0851 1105.8122,-336.1857"/>
+<path fill="none" stroke="#191970" d="M1266.5908,-341.7755C1336.6202,-332.0141 1452.5002,-315.4085 1552,-299 1554.8121,-298.5363 1557.6749,-298.056 1560.5656,-297.5642"/>
+<polygon fill="#191970" stroke="#191970" points="1266.0212,-338.3209 1256.5987,-343.1652 1266.9856,-345.2542 1266.0212,-338.3209"/>
 </g>
 <!-- Node30&#45;&gt;Node51 -->
 <g id="edge26" class="edge">
 <title>Node30&#45;&gt;Node51</title>
-<path fill="none" stroke="#191970" d="M978.9813,-343.326C955.4106,-340.6939 928.4932,-337.699 904,-335 764.0086,-319.5737 600.6783,-301.8515 507.1942,-291.7344"/>
-<polygon fill="#191970" stroke="#191970" points="978.88,-346.8364 989.2068,-344.4685 979.6574,-339.8797 978.88,-346.8364"/>
+<path fill="none" stroke="#191970" d="M1139.0896,-344.9534C997.7027,-332.6827 658.9429,-303.2826 507.0017,-290.096"/>
+<polygon fill="#191970" stroke="#191970" points="1139.0622,-348.4641 1149.3274,-345.8419 1139.6675,-341.4903 1139.0622,-348.4641"/>
 </g>
 <!-- Node30&#45;&gt;Node52 -->
 <g id="edge28" class="edge">
 <title>Node30&#45;&gt;Node52</title>
-<path fill="none" stroke="#191970" d="M1013.4963,-329.6406C988.5438,-312.3387 951.5912,-287.5047 918,-268 841.4059,-223.5258 746.1239,-178.2282 704.7643,-159.0308"/>
-<polygon fill="#191970" stroke="#191970" points="1011.5912,-332.5791 1021.7966,-335.4253 1015.5936,-326.8361 1011.5912,-332.5791"/>
+<path fill="none" stroke="#191970" d="M1139.3041,-336.3884C1106.8157,-327.8872 1067.2478,-315.4815 1034,-299 1012.8915,-288.5362 1011.715,-279.2228 991,-268 896.0599,-216.564 773.9716,-176.487 716.5691,-159.0323"/>
+<polygon fill="#191970" stroke="#191970" points="1138.5895,-339.8181 1149.1446,-338.9015 1140.3217,-333.0358 1138.5895,-339.8181"/>
 </g>
 <!-- Node30&#45;&gt;Node55 -->
 <g id="edge30" class="edge">
 <title>Node30&#45;&gt;Node55</title>
-<path fill="none" stroke="#191970" d="M1097.9443,-332.2759C1129.78,-321.7165 1169.3842,-308.5805 1199.4695,-298.6017"/>
-<polygon fill="#191970" stroke="#191970" points="1096.7224,-328.9936 1088.3327,-335.4639 1098.9262,-335.6377 1096.7224,-328.9936"/>
+<path fill="none" stroke="#191970" d="M1266.6662,-335.5852C1317.3859,-323.7033 1387.5852,-307.258 1435.4468,-296.0457"/>
+<polygon fill="#191970" stroke="#191970" points="1265.7325,-332.2091 1256.7944,-337.8978 1267.3292,-339.0246 1265.7325,-332.2091"/>
 </g>
 <!-- Node30&#45;&gt;Node74 -->
 <g id="edge31" class="edge">
 <title>Node30&#45;&gt;Node74</title>
-<path fill="none" stroke="#191970" d="M991.0959,-332.0023C961.5996,-321.4903 925.1337,-308.4945 897.3749,-298.6017"/>
-<polygon fill="#191970" stroke="#191970" points="990.2145,-335.4037 1000.8091,-335.4639 992.5644,-328.8099 990.2145,-335.4037"/>
+<path fill="none" stroke="#191970" d="M1139.2648,-341.472C1045.3775,-328.1729 871.5574,-303.5515 783.7483,-291.1134"/>
+<polygon fill="#191970" stroke="#191970" points="1138.8093,-344.9423 1149.2014,-342.8795 1139.7911,-338.0115 1138.8093,-344.9423"/>
+</g>
+<!-- Node30&#45;&gt;Node93 -->
+<g id="edge43" class="edge">
+<title>Node30&#45;&gt;Node93</title>
+<path fill="none" stroke="#191970" d="M1234.3942,-329.8783C1253.0491,-317.6246 1275.8322,-302.6593 1290.3791,-293.1039"/>
+<polygon fill="#191970" stroke="#191970" points="1232.3274,-327.0484 1225.8908,-335.4639 1236.1705,-332.8991 1232.3274,-327.0484"/>
 </g>
 <!-- Node45&#45;&gt;Node46 -->
 <g id="edge14" class="edge">
 <title>Node45&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M1656.1678,-259.0011C1663.3342,-240.8371 1675.3879,-216.6181 1693,-201 1753.1437,-147.6656 1782.7567,-152.4339 1861,-134 1961.768,-110.2594 2260.2177,-93.088 2401.8096,-86.041"/>
-<polygon fill="#191970" stroke="#191970" points="1652.8865,-257.7833 1652.685,-268.3762 1659.4484,-260.221 1652.8865,-257.7833"/>
+<path fill="none" stroke="#191970" d="M2029.7164,-265.4048C2152.7351,-226.1559 2442.1508,-133.8185 2555.9058,-97.5253"/>
+<polygon fill="#191970" stroke="#191970" points="2028.5578,-262.1005 2020.0947,-268.4745 2030.6855,-268.7693 2028.5578,-262.1005"/>
 </g>
 <!-- Node45&#45;&gt;Node47 -->
 <g id="edge16" class="edge">
 <title>Node45&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M1649.0574,-258.1303C1650.7348,-241.004 1654.886,-218.4319 1665,-201 1687.598,-162.0515 1700.1172,-152.8746 1741,-134 1879.2674,-70.1654 2336.9298,-32.9968 2519.6662,-20.3896"/>
-<polygon fill="#191970" stroke="#191970" points="1645.5382,-258.2542 1648.2746,-268.4896 1652.5183,-258.7818 1645.5382,-258.2542"/>
+<path fill="none" stroke="#191970" d="M1961.3467,-259.2461C1947.7399,-226.9899 1930.4856,-169.8812 1959,-134 2022.2559,-54.4016 2329.6132,-27.3924 2474.7791,-18.9786"/>
+<polygon fill="#191970" stroke="#191970" points="1958.1526,-260.6773 1965.3977,-268.4077 1964.5547,-257.8465 1958.1526,-260.6773"/>
 </g>
 <!-- Node45&#45;&gt;Node48 -->
 <g id="edge17" class="edge">
 <title>Node45&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M1666.9339,-260.6971C1683.7243,-241.9415 1709.8882,-216.0788 1738,-201 1778.6512,-179.1953 1828.7223,-166.431 1869.5503,-159.065"/>
-<polygon fill="#191970" stroke="#191970" points="1664.2797,-258.4154 1660.3336,-268.248 1669.5501,-263.0224 1664.2797,-258.4154"/>
+<path fill="none" stroke="#191970" d="M1985.7538,-259.4294C2000.306,-231.9647 2023.6674,-187.8742 2035.9137,-164.7614"/>
+<polygon fill="#191970" stroke="#191970" points="1982.5958,-257.914 1981.0066,-268.389 1988.7812,-261.1914 1982.5958,-257.914"/>
 </g>
 <!-- Node46&#45;&gt;Node47 -->
 <g id="edge15" class="edge">
 <title>Node46&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M2513.4773,-62.3561C2531.365,-52.1995 2552.7023,-40.0843 2569.1986,-30.7177"/>
-<polygon fill="#191970" stroke="#191970" points="2511.4494,-59.4827 2504.4815,-67.4639 2514.9057,-65.5699 2511.4494,-59.4827"/>
+<path fill="none" stroke="#191970" d="M2585.0335,-59.3509C2577.6583,-49.8482 2569.3266,-39.1132 2562.7529,-30.6432"/>
+<polygon fill="#191970" stroke="#191970" points="2582.3042,-61.5427 2591.2004,-67.2967 2587.8341,-57.2508 2582.3042,-61.5427"/>
 </g>
 <!-- Node48&#45;&gt;Node46 -->
 <g id="edge18" class="edge">
 <title>Node48&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M2032.233,-138.6398C2134.7169,-125.733 2304.1137,-104.3992 2401.9188,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="2031.7069,-135.1783 2022.2226,-139.9005 2032.5816,-142.1235 2031.7069,-135.1783"/>
+<path fill="none" stroke="#191970" d="M2130.131,-134.5535C2131.4292,-134.365 2132.7195,-134.1804 2134,-134 2272.0933,-114.5453 2433.9396,-98.1896 2526.8701,-89.4154"/>
+<polygon fill="#191970" stroke="#191970" points="2129.4273,-131.1198 2120.0572,-136.0647 2130.4658,-138.0423 2129.4273,-131.1198"/>
 </g>
 <!-- Node48&#45;&gt;Node47 -->
 <g id="edge19" class="edge">
 <title>Node48&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M2029.1391,-132.3605C2157.3084,-105.938 2401.0641,-55.6868 2522.8852,-30.5729"/>
-<polygon fill="#191970" stroke="#191970" points="2028.0726,-129.0067 2018.9852,-134.4538 2029.486,-135.8626 2028.0726,-129.0067"/>
+<path fill="none" stroke="#191970" d="M2110.9181,-131.8136C2211.4469,-105.2438 2399.6877,-55.4918 2494.0351,-30.5558"/>
+<polygon fill="#191970" stroke="#191970" points="2109.9475,-128.4498 2101.1738,-134.389 2111.7362,-135.2175 2109.9475,-128.4498"/>
 </g>
 <!-- Node49&#45;&gt;Node44 -->
 <g id="edge21" class="edge">
 <title>Node49&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1363.3073,-266.0225C1320.1037,-255.3411 1265.4018,-241.8171 1224.0829,-231.6017"/>
-<polygon fill="#191970" stroke="#191970" points="1362.6345,-269.4615 1373.1823,-268.4639 1364.3146,-262.6661 1362.6345,-269.4615"/>
+<path fill="none" stroke="#191970" d="M1637,-258.0249C1637,-249.128 1637,-239.4287 1637,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1633.5001,-258.2966 1637,-268.2967 1640.5001,-258.2967 1633.5001,-258.2966"/>
 </g>
 <!-- Node49&#45;&gt;Node47 -->
 <g id="edge25" class="edge">
 <title>Node49&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M1465.1482,-262.8217C1512.0013,-232.2476 1603.9845,-174.2652 1687,-134 1761.1877,-98.0166 1779.5278,-84.9679 1860,-67 1983.9962,-39.314 2357.7711,-23.6115 2519.7601,-17.9451"/>
-<polygon fill="#191970" stroke="#191970" points="1463.1122,-259.9713 1456.6661,-268.3795 1466.9487,-265.8263 1463.1122,-259.9713"/>
+<path fill="none" stroke="#191970" d="M1585.8489,-263.7472C1572.4568,-255.9655 1559.6417,-245.5649 1552,-232 1545.2376,-219.996 1543.7445,-212.0306 1552,-201 1678.5709,-31.8833 1800.5728,-106.9326 2008,-67 2172.586,-35.3149 2369.1576,-22.8251 2474.8055,-18.134"/>
+<polygon fill="#191970" stroke="#191970" points="1584.2179,-266.8441 1594.6841,-268.4897 1587.5285,-260.6764 1584.2179,-266.8441"/>
 </g>
 <!-- Node49&#45;&gt;Node50 -->
 <g id="edge22" class="edge">
 <title>Node49&#45;&gt;Node50</title>
-<path fill="none" stroke="#191970" d="M1520.5553,-272.3895C1534.7244,-270.7752 1549.2611,-269.242 1563,-268 1846.9068,-242.3348 2185.5373,-226.045 2333.962,-219.6208"/>
-<polygon fill="#191970" stroke="#191970" points="1519.8499,-268.9478 1510.3196,-273.5763 1520.6562,-275.9012 1519.8499,-268.9478"/>
+<path fill="none" stroke="#191970" d="M1723.2582,-277.5173C1910.1254,-264.5565 2349.7462,-234.0652 2526.9685,-221.7734"/>
+<polygon fill="#191970" stroke="#191970" points="1722.9375,-274.031 1713.2037,-278.2147 1723.4219,-281.0143 1722.9375,-274.031"/>
 </g>
 <!-- Node50&#45;&gt;Node46 -->
 <g id="edge23" class="edge">
 <title>Node50&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M2422.2149,-192.4294C2436.1522,-164.9647 2458.5265,-120.8742 2470.2554,-97.7614"/>
-<polygon fill="#191970" stroke="#191970" points="2419.0725,-190.8876 2417.6683,-201.389 2425.3148,-194.0553 2419.0725,-190.8876"/>
+<path fill="none" stroke="#191970" d="M2603,-191.3415C2603,-163.8131 2603,-120.5714 2603,-97.7614"/>
+<polygon fill="#191970" stroke="#191970" points="2599.5001,-191.3889 2603,-201.389 2606.5001,-191.389 2599.5001,-191.3889"/>
 </g>
 <!-- Node50&#45;&gt;Node48 -->
 <g id="edge24" class="edge">
 <title>Node50&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M2323.8616,-201.6029C2322.5658,-201.3991 2321.2779,-201.198 2320,-201 2217.0147,-185.0459 2097.6831,-169.0433 2022.0378,-159.2068"/>
-<polygon fill="#191970" stroke="#191970" points="2323.4937,-205.0884 2333.921,-203.212 2324.5994,-198.1763 2323.4937,-205.0884"/>
+<path fill="none" stroke="#191970" d="M2516.7673,-206.0389C2502.8047,-204.3505 2488.5022,-202.6242 2475,-201 2350.8,-186.0598 2206.4488,-168.8409 2120.3025,-158.5804"/>
+<polygon fill="#191970" stroke="#191970" points="2516.5098,-209.5331 2526.8579,-207.2596 2517.3506,-202.5838 2516.5098,-209.5331"/>
 </g>
 <!-- Node74&#45;&gt;Node27 -->
 <g id="edge42" class="edge">
 <title>Node74&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M847.5762,-258.6303C834.2623,-214.0287 806.8784,-122.2926 797.9123,-92.2562"/>
-<polygon fill="#191970" stroke="#191970" points="844.2761,-259.8113 850.4902,-268.3923 850.9836,-257.809 844.2761,-259.8113"/>
+<path fill="none" stroke="#191970" d="M739.7863,-258.9119C757.4961,-214.416 794.1369,-122.3559 806.1169,-92.2562"/>
+<polygon fill="#191970" stroke="#191970" points="736.4591,-257.8069 736.013,-268.3923 742.9629,-260.3955 736.4591,-257.8069"/>
 </g>
 <!-- Node74&#45;&gt;Node78 -->
 <g id="edge32" class="edge">
 <title>Node74&#45;&gt;Node78</title>
-<path fill="none" stroke="#191970" d="M791.3768,-268.0509C637.5181,-241.5687 468.3542,-227.3137 376.5991,-220.8149"/>
-<polygon fill="#191970" stroke="#191970" points="791.0357,-271.5442 801.4881,-269.813 792.2375,-264.6481 791.0357,-271.5442"/>
+<path fill="none" stroke="#191970" d="M666.4096,-272.8486C589.3342,-259.9385 460.6276,-238.3801 386.7625,-226.0077"/>
+<polygon fill="#191970" stroke="#191970" points="666.0284,-276.3334 676.4693,-274.5336 667.1849,-269.4296 666.0284,-276.3334"/>
 </g>
 <!-- Node78&#45;&gt;Node27 -->
 <g id="edge41" class="edge">
 <title>Node78&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M322.3883,-198.5948C339.1263,-176.7379 367.3543,-141.7225 382,-134 437.9263,-104.5109 610.3859,-91.273 713.9216,-85.8481"/>
-<polygon fill="#191970" stroke="#191970" points="319.4404,-196.6899 316.1898,-206.7738 325.0193,-200.9179 319.4404,-196.6899"/>
+<path fill="none" stroke="#191970" d="M336.5089,-197.2302C344.1547,-177.8059 358.8213,-148.6637 382,-134 437.974,-98.5888 621.1487,-87.5254 728.8714,-84.0695"/>
+<polygon fill="#191970" stroke="#191970" points="333.1316,-196.2743 332.9742,-206.868 339.7035,-198.6847 333.1316,-196.2743"/>
 </g>
 <!-- Node78&#45;&gt;Node52 -->
 <g id="edge40" class="edge">
 <title>Node78&#45;&gt;Node52</title>
-<path fill="none" stroke="#191970" d="M372.255,-205.1984C444.7838,-192.24 562.4162,-171.223 630.5506,-159.0496"/>
-<polygon fill="#191970" stroke="#191970" points="371.5586,-201.7674 362.3301,-206.9717 372.7898,-208.6582 371.5586,-201.7674"/>
+<path fill="none" stroke="#191970" d="M390.555,-205.039C459.0875,-192.0682 569.488,-171.1732 633.5438,-159.0496"/>
+<polygon fill="#191970" stroke="#191970" points="389.5183,-201.673 380.3436,-206.9717 390.8201,-208.5509 389.5183,-201.673"/>
 </g>
 <!-- Node78&#45;&gt;Node80 -->
 <g id="edge33" class="edge">
 <title>Node78&#45;&gt;Node80</title>
-<path fill="none" stroke="#191970" d="M264.6278,-204.3158C217.3098,-191.3228 143.3428,-171.0122 99.9755,-159.1039"/>
-<polygon fill="#191970" stroke="#191970" points="263.73,-207.6988 274.2999,-206.9717 265.5836,-200.9487 263.73,-207.6988"/>
+<path fill="none" stroke="#191970" d="M282.4524,-204.4785C231.0912,-191.4929 150.2825,-171.062 102.9857,-159.1039"/>
+<polygon fill="#191970" stroke="#191970" points="281.7605,-207.9137 292.3134,-206.9717 283.4764,-201.1272 281.7605,-207.9137"/>
 </g>
 <!-- Node78&#45;&gt;Node81 -->
 <g id="edge35" class="edge">
 <title>Node78&#45;&gt;Node81</title>
-<path fill="none" stroke="#191970" d="M316.3856,-197.2859C323.4769,-179.9781 335.1389,-154.224 349,-134 359.9174,-118.0709 375.6428,-102.1869 386.0827,-92.36"/>
-<polygon fill="#191970" stroke="#191970" points="313.0268,-196.2605 312.5822,-206.8461 319.531,-198.8482 313.0268,-196.2605"/>
+<path fill="none" stroke="#191970" d="M331.6463,-196.682C333.7504,-179.3082 338.4796,-153.8049 349,-134 357.9447,-117.1614 373.8122,-101.721 384.8439,-92.2275"/>
+<polygon fill="#191970" stroke="#191970" points="328.1489,-196.4782 330.6082,-206.7836 335.1122,-197.1938 328.1489,-196.4782"/>
 </g>
 <!-- Node78&#45;&gt;Node89 -->
 <g id="edge36" class="edge">
 <title>Node78&#45;&gt;Node89</title>
-<path fill="none" stroke="#191970" d="M288.6628,-200.6559C272.0835,-187.7395 249.2109,-169.9201 235.2988,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="286.6387,-203.5158 296.6783,-206.9005 290.9407,-197.9937 286.6387,-203.5158"/>
+<path fill="none" stroke="#191970" d="M306.1035,-201.5368C285.3803,-188.5605 256.0082,-170.1687 238.3021,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="304.3365,-204.5598 314.6695,-206.9005 308.0515,-198.6269 304.3365,-204.5598"/>
 </g>
 <!-- Node90 -->
 <g id="node26" class="node">
@@ -951,20 +957,20 @@
 <!-- Node78&#45;&gt;Node90 -->
 <g id="edge37" class="edge">
 <title>Node78&#45;&gt;Node90</title>
-<path fill="none" stroke="#191970" d="M341.2465,-202.9118C372.1502,-189.8895 418.0065,-170.5664 445.2614,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="339.637,-199.792 331.7808,-206.9005 342.3552,-206.2427 339.637,-199.792"/>
+<path fill="none" stroke="#191970" d="M359.0391,-202.4013C385.8406,-189.389 424.9166,-170.4173 448.2646,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="357.2392,-199.3844 349.772,-206.9005 360.2965,-205.6815 357.2392,-199.3844"/>
 </g>
 <!-- Node80&#45;&gt;Node81 -->
 <g id="edge34" class="edge">
 <title>Node80&#45;&gt;Node81</title>
-<path fill="none" stroke="#191970" d="M120.2471,-137.8682C126.5696,-136.5548 132.9237,-135.2428 139,-134 211.9407,-119.0813 296.592,-102.282 348.4702,-92.0451"/>
-<polygon fill="#191970" stroke="#191970" points="119.4582,-134.4574 110.3823,-139.9235 120.886,-141.3102 119.4582,-134.4574"/>
+<path fill="none" stroke="#191970" d="M120.9981,-137.8885C127.4052,-136.5714 133.8439,-135.2529 140,-134 212.9061,-119.1617 297.5168,-102.2701 349.1428,-92.0005"/>
+<polygon fill="#191970" stroke="#191970" points="120.0892,-134.5021 111.0008,-139.9475 121.5013,-141.3582 120.0892,-134.5021"/>
 </g>
 <!-- Node90&#45;&gt;Node27 -->
 <g id="edge39" class="edge">
 <title>Node90&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M524.3268,-137.959C587.6604,-124.9824 689.3434,-104.1483 748.3921,-92.0496"/>
-<polygon fill="#191970" stroke="#191970" points="523.5978,-134.5356 514.5039,-139.9717 525.0029,-141.3931 523.5978,-134.5356"/>
+<path fill="none" stroke="#191970" d="M526.5023,-138.039C592.7116,-125.0682 699.3697,-104.1732 761.2542,-92.0496"/>
+<polygon fill="#191970" stroke="#191970" points="525.7776,-134.6144 516.6371,-139.9717 527.1234,-141.4838 525.7776,-134.6144"/>
 </g>
 <!-- Node90&#45;&gt;Node81 -->
 <g id="edge38" class="edge">
@@ -976,444 +982,444 @@
 <g id="node30" class="node">
 <title>Node111</title>
 <g id="a_node30"><a xlink:href="ir_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics) and registry for them. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="166,-408 166,-427 274,-427 274,-408 166,-408"/>
-<text text-anchor="middle" x="220" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="144,-408 144,-427 252,-427 252,-408 144,-408"/>
+<text text-anchor="middle" x="198" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node110&#45;&gt;Node111 -->
-<g id="edge47" class="edge">
+<g id="edge48" class="edge">
 <title>Node110&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M249.7577,-460.8428C241.7692,-449.2073 232.5871,-435.8334 226.5601,-427.055"/>
-<polygon fill="#191970" stroke="#191970" points="247.0164,-463.0337 255.5619,-469.2967 252.7872,-459.0716 247.0164,-463.0337"/>
+<path fill="none" stroke="#191970" d="M227.7577,-460.8428C219.7692,-449.2073 210.5871,-435.8334 204.5601,-427.055"/>
+<polygon fill="#191970" stroke="#191970" points="225.0164,-463.0337 233.5619,-469.2967 230.7872,-459.0716 225.0164,-463.0337"/>
 </g>
 <!-- Node111&#45;&gt;Node78 -->
-<g id="edge48" class="edge">
+<g id="edge49" class="edge">
 <title>Node111&#45;&gt;Node78</title>
-<path fill="none" stroke="#191970" d="M225.5973,-397.9738C234.2965,-368.8421 252.4323,-312.6467 275,-268 282.733,-252.7014 294.081,-236.4089 301.5046,-226.3408"/>
-<polygon fill="#191970" stroke="#191970" points="222.1908,-397.1524 222.7357,-407.7332 228.908,-399.122 222.1908,-397.1524"/>
+<path fill="none" stroke="#191970" d="M205.4398,-398.1577C217.4049,-368.4403 242.8714,-310.5332 275,-268 287.4576,-251.5081 305.4885,-235.756 317.4678,-226.1126"/>
+<polygon fill="#191970" stroke="#191970" points="202.0696,-397.1633 201.6552,-407.7501 208.5811,-399.7325 202.0696,-397.1633"/>
 </g>
 <!-- Node140&#45;&gt;Node25 -->
-<g id="edge50" class="edge">
+<g id="edge51" class="edge">
 <title>Node140&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M885.066,-529.8692C871.0875,-518.5576 852.8581,-503.8062 841.0424,-494.2449"/>
-<polygon fill="#191970" stroke="#191970" points="883.1496,-532.8209 893.125,-536.3906 887.553,-527.3793 883.1496,-532.8209"/>
+<path fill="none" stroke="#191970" d="M909.2386,-527.9169C902.076,-516.9043 893.2049,-503.265 887.3381,-494.2449"/>
+<polygon fill="#191970" stroke="#191970" points="906.3637,-529.916 914.75,-536.3906 912.2317,-526.0994 906.3637,-529.916"/>
 </g>
 <!-- Node141&#45;&gt;Node48 -->
-<g id="edge58" class="edge">
+<g id="edge59" class="edge">
 <title>Node141&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M1991.5626,-325.6171C1980.6315,-283.364 1958.7637,-198.8364 1949.8829,-164.5088"/>
-<polygon fill="#191970" stroke="#191970" points="1988.1984,-326.5877 1994.0915,-335.3923 1994.9753,-324.8344 1988.1984,-326.5877"/>
+<path fill="none" stroke="#191970" d="M2126.3896,-325.2543C2122.3664,-294.3841 2112.7082,-241.2779 2091,-201 2083.5342,-187.1478 2071.5308,-174.0837 2061.5235,-164.5795"/>
+<polygon fill="#191970" stroke="#191970" points="2122.9154,-325.6799 2127.5881,-335.1887 2129.865,-324.8414 2122.9154,-325.6799"/>
 </g>
 <!-- Node150&#45;&gt;Node21 -->
-<g id="edge71" class="edge">
+<g id="edge72" class="edge">
 <title>Node150&#45;&gt;Node21</title>
-<path fill="none" stroke="#191970" d="M1063.7461,-648.286C1046.1694,-636.7864 1022.5832,-621.355 1007.5844,-611.5419"/>
-<polygon fill="#191970" stroke="#191970" points="1062.0281,-651.3445 1072.3125,-653.8906 1065.8606,-645.4868 1062.0281,-651.3445"/>
+<path fill="none" stroke="#191970" d="M898.7761,-647.9685C882.3712,-636.5037 860.5661,-621.265 846.6534,-611.5419"/>
+<polygon fill="#191970" stroke="#191970" points="897.0483,-651.0311 907.25,-653.8906 901.0582,-645.2934 897.0483,-651.0311"/>
 </g>
 <!-- Node150&#45;&gt;Node90 -->
-<g id="edge72" class="edge">
+<g id="edge73" class="edge">
 <title>Node150&#45;&gt;Node90</title>
-<path fill="none" stroke="#191970" d="M1008.7239,-654.0494C851.5085,-634.4813 508.6889,-588.6333 466,-556 415.9253,-517.7206 359.6578,-360.5325 346,-299 343.0145,-285.5496 340.4741,-280.6211 346,-268 355.461,-246.3913 367.9653,-248.3175 385,-232 411.9963,-206.1402 443.0634,-174.8343 458.4031,-159.2702"/>
-<polygon fill="#191970" stroke="#191970" points="1008.451,-657.5423 1018.8058,-655.2999 1009.3127,-650.5955 1008.451,-657.5423"/>
+<path fill="none" stroke="#191970" d="M842.5364,-654.9958C689.2822,-637.3203 365,-594.2219 365,-546 365,-546 365,-546 365,-417.5 365,-350.5211 312.7881,-326.1648 346,-268 361.6097,-240.6623 383.6182,-253.0785 407,-232 431.8732,-209.5771 453.1116,-175.595 462.6395,-159.1241"/>
+<polygon fill="#191970" stroke="#191970" points="842.4902,-658.5133 852.8235,-656.1737 843.2866,-651.5588 842.4902,-658.5133"/>
 </g>
 <!-- Node151 -->
 <g id="node35" class="node">
 <title>Node151</title>
 <g id="a_node35"><a xlink:href="tir_2function_8h.html" target="_top" xlink:title="TIR Function. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1493,-536.5 1493,-555.5 1633,-555.5 1633,-536.5 1493,-536.5"/>
-<text text-anchor="middle" x="1563" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/function.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1365,-536.5 1365,-555.5 1505,-555.5 1505,-536.5 1365,-536.5"/>
+<text text-anchor="middle" x="1435" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node150&#45;&gt;Node151 -->
-<g id="edge73" class="edge">
+<g id="edge74" class="edge">
 <title>Node150&#45;&gt;Node151</title>
-<path fill="none" stroke="#191970" d="M1135.4429,-651.5419C1230.1787,-628.1565 1438.2318,-576.7989 1524.423,-555.5227"/>
-<polygon fill="#191970" stroke="#191970" points="1134.4196,-648.1894 1125.5499,-653.984 1136.0973,-654.9854 1134.4196,-648.1894"/>
+<path fill="none" stroke="#191970" d="M972.3817,-651.7542C1074.2434,-628.4687 1299.9887,-576.8635 1393.3433,-555.5227"/>
+<polygon fill="#191970" stroke="#191970" points="971.5959,-648.3434 962.6274,-653.984 973.1559,-655.1674 971.5959,-648.3434"/>
 </g>
 <!-- Node151&#45;&gt;Node22 -->
-<g id="edge74" class="edge">
+<g id="edge75" class="edge">
 <title>Node151&#45;&gt;Node22</title>
-<path fill="none" stroke="#191970" d="M1567.9271,-526.6116C1571.0111,-510.4878 1573.0444,-487.3021 1565,-469 1562.785,-463.9605 1497.0623,-404.1623 1492,-402 1264.6824,-304.9065 1163.7511,-464.4092 937,-366 918.5404,-357.9886 921.4536,-345.0155 904,-335 893.2751,-328.8457 830.2612,-310.8701 783.1277,-297.8876"/>
-<polygon fill="#191970" stroke="#191970" points="1564.4825,-525.9786 1565.7351,-536.4991 1571.3166,-527.4937 1564.4825,-525.9786"/>
+<path fill="none" stroke="#191970" d="M1444.8787,-526.9319C1452.1159,-510.0132 1458.6761,-485.4911 1446,-469 1418.8824,-433.721 1099.7592,-383.8512 1059,-366 1017.1302,-347.6624 973.1922,-317.0127 948.6305,-298.6809"/>
+<polygon fill="#191970" stroke="#191970" points="1441.5409,-525.8051 1440.451,-536.3438 1447.875,-528.785 1441.5409,-525.8051"/>
 </g>
 <!-- Node151&#45;&gt;Node93 -->
-<g id="edge75" class="edge">
+<g id="edge78" class="edge">
 <title>Node151&#45;&gt;Node93</title>
-<path fill="none" stroke="#191970" d="M1562.9647,-525.9769C1561.8957,-508.9203 1557.7799,-484.7408 1544,-469 1524.7645,-447.0274 1494.9424,-434.3465 1468.6086,-427.0704"/>
-<polygon fill="#191970" stroke="#191970" points="1559.4819,-526.573 1563.2995,-536.4562 1566.4783,-526.3495 1559.4819,-526.573"/>
+<path fill="none" stroke="#191970" d="M1460.7573,-530.9026C1472.3296,-522.987 1485.3071,-512.3605 1494,-500 1519.6794,-463.4862 1541.165,-438.8702 1516,-402 1491.2475,-365.7341 1462.7497,-386.6484 1424,-366 1382.2907,-343.7745 1337.6645,-309.6999 1316.8996,-293.1659"/>
+<polygon fill="#191970" stroke="#191970" points="1458.756,-528.0289 1452.2761,-536.4111 1462.5689,-533.8994 1458.756,-528.0289"/>
 </g>
-<!-- Node151&#45;&gt;Node109 -->
-<g id="edge77" class="edge">
-<title>Node151&#45;&gt;Node109</title>
-<path fill="none" stroke="#191970" d="M1588.4494,-530.4967C1598.7137,-522.7437 1609.4303,-512.3631 1615,-500 1625.9458,-475.7033 1619.9302,-443.1616 1615.822,-427.1819"/>
-<polygon fill="#191970" stroke="#191970" points="1586.2382,-527.7723 1580.0567,-536.377 1590.2549,-533.5052 1586.2382,-527.7723"/>
+<!-- Node151&#45;&gt;Node94 -->
+<g id="edge76" class="edge">
+<title>Node151&#45;&gt;Node94</title>
+<path fill="none" stroke="#191970" d="M1456.4238,-529.8901C1465.1812,-521.9676 1474.3367,-511.6218 1479,-500 1484.1308,-487.2132 1483.6216,-481.9795 1479,-469 1472.9627,-452.0446 1458.6872,-436.6297 1448.4556,-427.174"/>
+<polygon fill="#191970" stroke="#191970" points="1454.0273,-527.3325 1448.6336,-536.4516 1458.5368,-532.6864 1454.0273,-527.3325"/>
 </g>
 <!-- Node151&#45;&gt;Node142 -->
-<g id="edge76" class="edge">
+<g id="edge77" class="edge">
 <title>Node151&#45;&gt;Node142</title>
-<path fill="none" stroke="#191970" d="M1539.6045,-530.8545C1524.8753,-521.3193 1505.9389,-509.0605 1491.2396,-499.5446"/>
-<polygon fill="#191970" stroke="#191970" points="1537.8597,-533.8943 1548.1563,-536.3906 1541.6638,-528.0181 1537.8597,-533.8943"/>
+<path fill="none" stroke="#191970" d="M1417.5478,-529.4875C1407.6988,-520.1689 1395.4838,-508.6116 1385.9008,-499.5446"/>
+<polygon fill="#191970" stroke="#191970" points="1415.1743,-532.0602 1424.8438,-536.3906 1419.9853,-526.9754 1415.1743,-532.0602"/>
 </g>
 <!-- Node155&#45;&gt;Node20 -->
-<g id="edge81" class="edge">
+<g id="edge82" class="edge">
 <title>Node155&#45;&gt;Node20</title>
-<path fill="none" stroke="#191970" d="M512.0748,-769.1812C489.4248,-742.8985 447.1238,-693.8135 429.279,-673.1068"/>
-<polygon fill="#191970" stroke="#191970" points="509.5028,-771.5581 518.6824,-776.8484 514.8055,-766.9883 509.5028,-771.5581"/>
+<path fill="none" stroke="#191970" d="M827.8955,-774.6255C725.2654,-750.3028 492.9369,-695.2423 399.2675,-673.0432"/>
+<polygon fill="#191970" stroke="#191970" points="827.1692,-778.0503 837.7068,-776.9507 828.7835,-771.2389 827.1692,-778.0503"/>
 </g>
 <!-- Node155&#45;&gt;Node21 -->
-<g id="edge113" class="edge">
+<g id="edge114" class="edge">
 <title>Node155&#45;&gt;Node21</title>
-<path fill="none" stroke="#191970" d="M519.2762,-767.3186C508.7456,-737.66 494.3604,-680.6889 524,-648 550.4817,-618.7939 802.9632,-607.4905 926.1081,-603.6879"/>
-<polygon fill="#191970" stroke="#191970" points="516.0908,-768.7911 522.8928,-776.9141 522.641,-766.3223 516.0908,-768.7911"/>
+<path fill="none" stroke="#191970" d="M870.9014,-767.3844C863.2427,-746.0906 851.1824,-710.5102 844,-679 838.5381,-655.0377 835.2826,-626.2285 833.8569,-611.5754"/>
+<polygon fill="#191970" stroke="#191970" points="867.6452,-768.6713 874.3616,-776.8653 874.2209,-766.2714 867.6452,-768.6713"/>
 </g>
 <!-- Node155&#45;&gt;Node110 -->
-<g id="edge116" class="edge">
+<g id="edge117" class="edge">
 <title>Node155&#45;&gt;Node110</title>
-<path fill="none" stroke="#191970" d="M493.7499,-772.6612C456.0505,-755.5243 394.802,-723.1088 356,-679 306.481,-622.7084 279.157,-534.5314 269.7673,-499.5385"/>
-<polygon fill="#191970" stroke="#191970" points="492.6999,-776.0246 503.2596,-776.8868 495.5424,-769.6276 492.6999,-776.0246"/>
+<path fill="none" stroke="#191970" d="M808.7546,-780.4298C642.9819,-764.9696 237,-721.2154 237,-663.5 237,-663.5 237,-663.5 237,-602 237,-565.2161 240.4607,-522.0694 242.5155,-499.6929"/>
+<polygon fill="#191970" stroke="#191970" points="808.5652,-783.9271 818.8452,-781.3635 809.2103,-776.9569 808.5652,-783.9271"/>
 </g>
 <!-- Node155&#45;&gt;Node111 -->
-<g id="edge114" class="edge">
+<g id="edge115" class="edge">
 <title>Node155&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M482.8038,-773.959C455.7513,-765.2255 421.0618,-752.0809 393,-735 298.2278,-677.3133 279.5256,-648.9849 219,-556 197.0526,-522.2824 184.6808,-508.1372 194,-469 197.7121,-453.4106 206.9403,-437.1907 213.3395,-427.2181"/>
-<polygon fill="#191970" stroke="#191970" points="481.8091,-777.3151 492.3985,-776.9761 483.909,-770.6375 481.8091,-777.3151"/>
+<path fill="none" stroke="#191970" d="M808.423,-783.1744C683.4421,-776.6487 425.9535,-760.5373 340,-735 288.548,-719.7133 267.9274,-719.7561 233,-679 178.3079,-615.1809 185.7404,-582.9174 172,-500 169.7476,-486.4076 168.8085,-482.403 172,-469 175.7121,-453.4106 184.9403,-437.1907 191.3395,-427.2181"/>
+<polygon fill="#191970" stroke="#191970" points="808.4755,-786.6817 818.6427,-783.702 808.8365,-779.691 808.4755,-786.6817"/>
 </g>
 <!-- Node156 -->
 <g id="node37" class="node">
 <title>Node156</title>
 <g id="a_node37"><a xlink:href="affine__type_8h.html" target="_top" xlink:title="Quantized Tensor Types. ">
-<polygon fill="#ffffff" stroke="#000000" points="707.5,-648.5 707.5,-678.5 822.5,-678.5 822.5,-648.5 707.5,-648.5"/>
-<text text-anchor="start" x="715.5" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/affine</text>
-<text text-anchor="middle" x="765" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_type.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1523.5,-648.5 1523.5,-678.5 1638.5,-678.5 1638.5,-648.5 1523.5,-648.5"/>
+<text text-anchor="start" x="1531.5" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/affine</text>
+<text text-anchor="middle" x="1581" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_type.h</text>
 </a>
 </g>
 </g>
 <!-- Node155&#45;&gt;Node156 -->
-<g id="edge82" class="edge">
+<g id="edge83" class="edge">
 <title>Node155&#45;&gt;Node156</title>
-<path fill="none" stroke="#191970" d="M554.6424,-772.2142C599.968,-748.7896 689.6643,-702.434 735.9133,-678.5322"/>
-<polygon fill="#191970" stroke="#191970" points="552.9523,-769.1478 545.6755,-776.8484 556.1662,-775.3665 552.9523,-769.1478"/>
+<path fill="none" stroke="#191970" d="M947.5508,-782.36C1071.1705,-774.5706 1324.2182,-756.5632 1410,-735 1462.2722,-721.8602 1519.3472,-695.3056 1552.5621,-678.5159"/>
+<polygon fill="#191970" stroke="#191970" points="947.2005,-778.875 937.4385,-782.9925 947.6375,-785.8613 947.2005,-778.875"/>
 </g>
 <!-- Node157 -->
 <g id="node38" class="node">
 <title>Node157</title>
 <g id="a_node38"><a xlink:href="ir_2expr_8h.html" target="_top" xlink:title="Base expr nodes in TVM. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1143.5,-715.5 1143.5,-734.5 1260.5,-734.5 1260.5,-715.5 1143.5,-715.5"/>
-<text text-anchor="middle" x="1202" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/expr.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1283.5,-715.5 1283.5,-734.5 1400.5,-734.5 1400.5,-715.5 1283.5,-715.5"/>
+<text text-anchor="middle" x="1342" y="-722.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node155&#45;&gt;Node157 -->
-<g id="edge83" class="edge">
+<g id="edge84" class="edge">
 <title>Node155&#45;&gt;Node157</title>
-<path fill="none" stroke="#191970" d="M596.0966,-780.2045C729.2427,-768.0734 1019.1609,-741.6587 1143.4806,-730.3318"/>
-<polygon fill="#191970" stroke="#191970" points="595.6564,-776.73 586.0153,-781.1231 596.2916,-783.7012 595.6564,-776.73"/>
+<path fill="none" stroke="#191970" d="M947.2179,-777.3256C1038.5765,-765.2167 1197.8195,-744.1101 1283.4806,-732.7563"/>
+<polygon fill="#191970" stroke="#191970" points="946.6906,-773.8648 937.2372,-778.6485 947.6104,-780.8041 946.6906,-773.8648"/>
 </g>
 <!-- Node174 -->
 <g id="node39" class="node">
 <title>Node174</title>
 <g id="a_node39"><a xlink:href="tensor__type_8h.html" target="_top" xlink:title="Polymorphic tensor types. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="533,-648.5 533,-678.5 651,-678.5 651,-648.5 533,-648.5"/>
-<text text-anchor="start" x="541" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/tensor</text>
-<text text-anchor="middle" x="592" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_type.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1657,-648.5 1657,-678.5 1775,-678.5 1775,-648.5 1657,-648.5"/>
+<text text-anchor="start" x="1665" y="-666.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/tensor</text>
+<text text-anchor="middle" x="1716" y="-655.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_type.h</text>
 </a>
 </g>
 </g>
 <!-- Node155&#45;&gt;Node174 -->
-<g id="edge115" class="edge">
+<g id="edge116" class="edge">
 <title>Node155&#45;&gt;Node174</title>
-<path fill="none" stroke="#191970" d="M536.8305,-767.8976C549.7021,-743.5406 572.0255,-701.2979 583.9482,-678.7365"/>
-<polygon fill="#191970" stroke="#191970" points="533.6783,-766.3717 532.1004,-776.8484 539.8672,-769.6423 533.6783,-766.3717"/>
+<path fill="none" stroke="#191970" d="M947.3944,-784.2272C1055.9909,-779.7874 1272.3721,-767.3814 1453,-735 1530.5465,-721.0981 1618.4731,-695.0345 1670.4747,-678.5095"/>
+<polygon fill="#191970" stroke="#191970" points="947.079,-780.7369 937.2263,-784.6324 947.3578,-787.7314 947.079,-780.7369"/>
 </g>
 <!-- Node157&#45;&gt;Node20 -->
-<g id="edge84" class="edge">
+<g id="edge85" class="edge">
 <title>Node157&#45;&gt;Node20</title>
-<path fill="none" stroke="#191970" d="M1133.364,-722.1975C1010.7659,-716.7787 746.1659,-703.2121 524,-679 508.7197,-677.3347 492.2312,-675.0665 477.0215,-672.7793"/>
-<polygon fill="#191970" stroke="#191970" points="1133.2193,-725.6944 1143.3628,-722.6352 1133.5255,-718.7011 1133.2193,-725.6944"/>
+<path fill="none" stroke="#191970" d="M1273.2284,-723.0299C1089.8436,-717.5375 592.0472,-701.0011 429,-679 418.3916,-677.5685 407.0109,-675.3496 396.5741,-673.0338"/>
+<polygon fill="#191970" stroke="#191970" points="1273.1881,-726.5302 1283.2879,-723.3296 1273.3965,-719.5333 1273.1881,-726.5302"/>
 </g>
 <!-- Node157&#45;&gt;Node21 -->
-<g id="edge87" class="edge">
+<g id="edge88" class="edge">
 <title>Node157&#45;&gt;Node21</title>
-<path fill="none" stroke="#191970" d="M1197.3303,-705.582C1192.1103,-688.0222 1181.9356,-662.7298 1164,-648 1146.1223,-633.3177 1090.1646,-620.0003 1047.0795,-611.5173"/>
-<polygon fill="#191970" stroke="#191970" points="1193.9821,-706.6089 1199.9653,-715.3526 1200.7406,-704.7862 1193.9821,-706.6089"/>
+<path fill="none" stroke="#191970" d="M1276.0531,-713.6179C1228.7722,-705.0865 1163.6854,-692.5834 1107,-679 1058.021,-667.2632 1046.4801,-661.6517 998,-648 952.9157,-635.3045 900.8515,-620.8188 867.461,-611.5511"/>
+<polygon fill="#191970" stroke="#191970" points="1275.7021,-717.1107 1286.1628,-715.4306 1276.9375,-710.2206 1275.7021,-717.1107"/>
 </g>
 <!-- Node157&#45;&gt;Node30 -->
-<g id="edge103" class="edge">
+<g id="edge104" class="edge">
 <title>Node157&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M1200.2413,-705.1493C1198.4665,-689.374 1195.0898,-666.898 1189,-648 1152.2071,-533.8239 1078.4996,-408.2881 1052.414,-365.6334"/>
-<polygon fill="#191970" stroke="#191970" points="1196.7797,-705.707 1201.2663,-715.3049 1203.7443,-705.0039 1196.7797,-705.707"/>
+<path fill="none" stroke="#191970" d="M1273.2169,-714.2364C1233.8206,-706.5119 1189.8988,-694.6955 1178,-679 1103.7097,-581.0051 1171.8373,-415.9076 1195.565,-365.5384"/>
+<polygon fill="#191970" stroke="#191970" points="1272.6363,-717.6886 1283.1132,-716.112 1273.9398,-710.811 1272.6363,-717.6886"/>
 </g>
 <!-- Node157&#45;&gt;Node48 -->
-<g id="edge101" class="edge">
+<g id="edge102" class="edge">
 <title>Node157&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M1270.6922,-721.7057C1393.4218,-715.3235 1640.693,-700.029 1674,-679 1700.9726,-661.9703 1736.7879,-585.8634 1748,-556 1756.8866,-532.3306 1755.7691,-525.184 1758,-500 1759.2157,-486.276 1760.9805,-482.4515 1758,-469 1744.3151,-407.2368 1692.2584,-395.7224 1710,-335 1715.3248,-316.7753 1724.0476,-315.7436 1733,-299 1755.4268,-257.0553 1740.4216,-232.5674 1776,-201 1791.2246,-187.4918 1835.9466,-174.2216 1875.699,-164.5355"/>
-<polygon fill="#191970" stroke="#191970" points="1270.4512,-718.2134 1260.6443,-722.2227 1270.811,-725.2041 1270.4512,-718.2134"/>
+<path fill="none" stroke="#191970" d="M1364.4701,-709.3444C1376.2845,-700.7968 1390.8051,-689.7813 1403,-679 1417.3643,-666.3007 1416.0633,-656.9863 1433,-648 1514.7155,-604.6432 1553.8313,-650.378 1638,-612 1673.9362,-595.6143 1683.4192,-587.6836 1707,-556 1770.4203,-470.7872 1743.0769,-425.922 1798,-335 1838.1332,-268.5619 1846.8619,-246.1472 1910,-201 1932.8074,-184.6915 1961.4471,-172.771 1986.3887,-164.5314"/>
+<polygon fill="#191970" stroke="#191970" points="1362.1538,-706.6975 1356.0465,-715.355 1366.2197,-712.3956 1362.1538,-706.6975"/>
 </g>
 <!-- Node157&#45;&gt;Node49 -->
-<g id="edge90" class="edge">
+<g id="edge91" class="edge">
 <title>Node157&#45;&gt;Node49</title>
-<path fill="none" stroke="#191970" d="M1226.256,-710.2337C1272.0678,-682.9645 1375.157,-624.5274 1469,-592 1543.2048,-566.2795 1580.9887,-605.4522 1642,-556 1688.3807,-518.4065 1683.7386,-491.4303 1696,-433 1698.8296,-419.5159 1703.9224,-413.2722 1696,-402 1668.8383,-363.3535 1639.3539,-384.755 1596,-366 1547.3344,-344.9472 1492.7748,-315.9964 1461.0156,-298.5804"/>
-<polygon fill="#191970" stroke="#191970" points="1224.4027,-707.264 1217.6249,-715.4073 1228.0015,-713.268 1224.4027,-707.264"/>
+<path fill="none" stroke="#191970" d="M1352.5937,-706.7652C1363.6056,-689.3269 1382.3824,-663.4632 1405,-648 1514.1797,-573.3559 1610.2694,-663.0042 1688,-556 1738.5623,-486.3958 1672.8242,-449.2165 1651,-366 1644.9191,-342.8134 1640.861,-315.2436 1638.7443,-298.573"/>
+<polygon fill="#191970" stroke="#191970" points="1349.5072,-705.1045 1347.2997,-715.4668 1355.4875,-708.7428 1349.5072,-705.1045"/>
 </g>
 <!-- Node157&#45;&gt;Node78 -->
-<g id="edge102" class="edge">
+<g id="edge103" class="edge">
 <title>Node157&#45;&gt;Node78</title>
-<path fill="none" stroke="#191970" d="M1152.864,-713.0865C1073.7894,-694.0192 921.641,-657.7937 867,-648 672.0617,-613.06 578.4357,-688.2288 431,-556 326.0912,-461.9118 311.3503,-270.9573 309.3186,-226.0902"/>
-<polygon fill="#191970" stroke="#191970" points="1152.0536,-716.4913 1162.5957,-715.4354 1153.6961,-709.6867 1152.0536,-716.4913"/>
+<path fill="none" stroke="#191970" d="M1273.055,-720.3012C1091.6458,-707.2932 604.6575,-668.0324 454,-612 408.778,-595.1811 388.3526,-595.7459 361,-556 286.0082,-447.0297 318.3306,-269.5612 327.7461,-226.2571"/>
+<polygon fill="#191970" stroke="#191970" points="1273.0462,-723.8094 1283.2697,-721.029 1273.5438,-716.8271 1273.0462,-723.8094"/>
 </g>
 <!-- Node157&#45;&gt;Node111 -->
-<g id="edge88" class="edge">
+<g id="edge89" class="edge">
 <title>Node157&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M1133.1199,-719.1422C1051.4419,-711.5303 920.6266,-697.0528 875,-679 852.7562,-670.1989 853.5273,-656.0477 831,-648 622.8587,-573.6432 539.7475,-695.248 335,-612 263.4126,-582.8934 234.5976,-570.0667 202,-500 190.4981,-475.2773 205.212,-442.9286 214.1186,-427.0864"/>
-<polygon fill="#191970" stroke="#191970" points="1133.0411,-722.6496 1143.3198,-720.0809 1133.6826,-715.6791 1133.0411,-722.6496"/>
+<path fill="none" stroke="#191970" d="M1273.3225,-723.6177C1080.3059,-719.4205 542.1499,-705.4632 467,-679 444.7778,-671.1747 445.0144,-658.6516 424,-648 377.7401,-624.5523 358.2982,-637.2558 313,-612 245.8001,-574.533 213.3246,-569.8193 181,-500 169.5723,-475.3167 183.7246,-442.9501 192.3186,-427.0952"/>
+<polygon fill="#191970" stroke="#191970" points="1273.274,-727.1173 1283.3471,-723.8336 1273.4248,-720.119 1273.274,-727.1173"/>
 </g>
 <!-- Node157&#45;&gt;Node150 -->
-<g id="edge86" class="edge">
+<g id="edge87" class="edge">
 <title>Node157&#45;&gt;Node150</title>
-<path fill="none" stroke="#191970" d="M1175.0189,-710.571C1153.3769,-698.9972 1123.6131,-683.0801 1104.8426,-673.0419"/>
-<polygon fill="#191970" stroke="#191970" points="1173.5625,-713.7611 1184.0313,-715.3906 1176.8636,-707.5884 1173.5625,-713.7611"/>
+<path fill="none" stroke="#191970" d="M1273.1297,-716.7196C1204.5262,-708.2209 1096.2657,-694.132 1003,-679 991.9881,-677.2134 980.182,-675.0992 969.0558,-673.0162"/>
+<polygon fill="#191970" stroke="#191970" points="1273.0206,-720.2326 1283.374,-717.9836 1273.8779,-713.2853 1273.0206,-720.2326"/>
 </g>
 <!-- Node157&#45;&gt;Node156 -->
-<g id="edge85" class="edge">
+<g id="edge86" class="edge">
 <title>Node157&#45;&gt;Node156</title>
-<path fill="none" stroke="#191970" d="M1133.2286,-718.1306C1059.6584,-710.3628 939.6791,-696.4886 837,-679 832.3362,-678.2056 827.5165,-677.3171 822.6834,-676.3783"/>
-<polygon fill="#191970" stroke="#191970" points="1132.9845,-721.6241 1143.295,-719.1858 1133.7144,-714.6622 1132.9845,-721.6241"/>
+<path fill="none" stroke="#191970" d="M1388.9971,-712.9066C1427.5056,-702.9975 1482.1631,-688.9329 1523.3198,-678.3424"/>
+<polygon fill="#191970" stroke="#191970" points="1387.8938,-709.5764 1379.0815,-715.4581 1389.6383,-716.3556 1387.8938,-709.5764"/>
 </g>
 <!-- Node157&#45;&gt;Node174 -->
-<g id="edge89" class="edge">
+<g id="edge90" class="edge">
 <title>Node157&#45;&gt;Node174</title>
-<path fill="none" stroke="#191970" d="M1133.3219,-719.9176C1036.2064,-712.4611 853.2663,-697.4239 698,-679 682.7631,-677.192 666.3383,-674.9396 651.0735,-672.7169"/>
-<polygon fill="#191970" stroke="#191970" points="1133.0673,-723.4083 1143.3049,-720.6806 1133.6008,-716.4286 1133.0673,-723.4083"/>
+<path fill="none" stroke="#191970" d="M1410.678,-716.1737C1472.8584,-707.8272 1566.867,-694.3227 1648,-679 1650.8555,-678.4607 1653.7733,-677.8863 1656.7166,-677.2881"/>
+<polygon fill="#191970" stroke="#191970" points="1410.0459,-712.7269 1400.5968,-717.5191 1410.972,-719.6654 1410.0459,-712.7269"/>
 </g>
 <!-- Node157&#45;&gt;Node153 -->
-<g id="edge91" class="edge">
+<g id="edge92" class="edge">
 <title>Node157&#45;&gt;Node153</title>
-<path fill="none" stroke="#191970" d="M1270.8508,-723.247C1395.8436,-719.3833 1655.0151,-708.0494 1740,-679 1764.0305,-670.7859 1765.6148,-659.9933 1788,-648 2023.4253,-521.8667 2323.4839,-405.8699 2431.217,-365.5488"/>
-<polygon fill="#191970" stroke="#191970" points="1270.5241,-719.7551 1260.6342,-723.5553 1270.7353,-726.7519 1270.5241,-719.7551"/>
+<path fill="none" stroke="#191970" d="M1386.4933,-712.4217C1411.9471,-704.4262 1444.0702,-692.9568 1471,-679 1492.2388,-667.9927 1492.5742,-656.3264 1515,-648 1669.4748,-590.6455 1723.6339,-649.8775 1884,-612 2145.3,-550.2826 2440.8456,-411.4503 2534.7203,-365.5499"/>
+<polygon fill="#191970" stroke="#191970" points="1385.2678,-709.1367 1376.7371,-715.4198 1387.3241,-715.8279 1385.2678,-709.1367"/>
 </g>
 <!-- Node157&#45;&gt;Node149 -->
-<g id="edge99" class="edge">
+<g id="edge100" class="edge">
 <title>Node157&#45;&gt;Node149</title>
-<path fill="none" stroke="#191970" d="M1270.643,-724.0873C1390.0361,-721.6219 1630.5113,-712.5214 1707,-679 1725.6612,-670.8217 1834.7335,-574.6222 1843,-556 1872.2451,-490.1188 1846.1589,-400.6333 1833.7264,-365.518"/>
-<polygon fill="#191970" stroke="#191970" points="1270.4484,-720.5903 1260.5192,-724.2864 1270.5861,-727.589 1270.4484,-720.5903"/>
+<path fill="none" stroke="#191970" d="M1371.9517,-710.8473C1389.9049,-702.1215 1413.0468,-690.444 1433,-679 1455.0295,-666.3652 1457.142,-656.7025 1481,-648 1654.1678,-584.8351 1883,-730.3282 1883,-546 1883,-546 1883,-546 1883,-484.5 1883,-441.4618 1883,-390.6482 1883,-365.7729"/>
+<polygon fill="#191970" stroke="#191970" points="1370.0538,-707.8766 1362.5648,-715.371 1373.0927,-714.1826 1370.0538,-707.8766"/>
 </g>
 <!-- Node157&#45;&gt;Node178 -->
-<g id="edge104" class="edge">
+<g id="edge105" class="edge">
 <title>Node157&#45;&gt;Node178</title>
-<path fill="none" stroke="#191970" d="M1270.7735,-714.3996C1346.3401,-702.7521 1466.6108,-684.2141 1539.2579,-673.0166"/>
-<polygon fill="#191970" stroke="#191970" points="1270.2239,-710.9429 1260.8738,-715.9255 1271.2903,-717.8612 1270.2239,-710.9429"/>
+<path fill="none" stroke="#191970" d="M1319.4883,-709.786C1302.4725,-698.2864 1279.6391,-682.855 1265.1189,-673.0419"/>
+<polygon fill="#191970" stroke="#191970" points="1317.5361,-712.691 1327.7813,-715.3906 1321.4557,-706.8913 1317.5361,-712.691"/>
 </g>
 <!-- Node157&#45;&gt;Node179 -->
-<g id="edge111" class="edge">
+<g id="edge112" class="edge">
 <title>Node157&#45;&gt;Node179</title>
-<path fill="none" stroke="#191970" d="M1259.0554,-713.1775C1294.174,-705.1657 1339.8126,-693.4213 1379,-679 1432.5374,-659.2978 1492.2133,-627.5776 1520.8456,-611.7037"/>
-<polygon fill="#191970" stroke="#191970" points="1257.9696,-709.8341 1248.9793,-715.44 1259.5032,-716.664 1257.9696,-709.8341"/>
+<path fill="none" stroke="#191970" d="M1344.8214,-704.827C1347.9636,-688.2306 1354.3677,-664.791 1367,-648 1379.1676,-631.8266 1398.7589,-619.4424 1413.7945,-611.6199"/>
+<polygon fill="#191970" stroke="#191970" points="1341.3081,-704.6209 1343.1308,-715.0577 1348.2144,-705.7622 1341.3081,-704.6209"/>
 </g>
 <!-- Node157&#45;&gt;Node184 -->
-<g id="edge112" class="edge">
+<g id="edge113" class="edge">
 <title>Node157&#45;&gt;Node184</title>
-<path fill="none" stroke="#191970" d="M1271.0506,-722.4436C1380.2215,-717.7486 1599.1745,-705.677 1783,-679 1787.4876,-678.3487 1792.1127,-677.5858 1796.7537,-676.754"/>
-<polygon fill="#191970" stroke="#191970" points="1270.6766,-718.9562 1260.8333,-722.8752 1270.9721,-725.95 1270.6766,-718.9562"/>
+<path fill="none" stroke="#191970" d="M1410.6051,-720.4333C1497.7972,-714.0403 1652.7575,-700.7061 1784,-679 1786.8671,-678.5258 1789.7942,-678.0043 1792.745,-677.4485"/>
+<polygon fill="#191970" stroke="#191970" points="1410.2936,-716.9466 1400.5727,-721.1601 1410.7995,-723.9283 1410.2936,-716.9466"/>
 </g>
 <!-- Node153&#45;&gt;Node46 -->
-<g id="edge95" class="edge">
+<g id="edge96" class="edge">
 <title>Node153&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M2478.3442,-325.3211C2484.0053,-301.4718 2491.8692,-264.5622 2495,-232 2499.7252,-182.8558 2488.2073,-124.7897 2481.8548,-97.762"/>
-<polygon fill="#191970" stroke="#191970" points="2474.8803,-324.754 2475.9231,-335.2974 2481.6829,-326.4049 2474.8803,-324.754"/>
+<path fill="none" stroke="#191970" d="M2598.5656,-329.7238C2628.3796,-309.0992 2669.9429,-274.4702 2688,-232 2709.9624,-180.3445 2653.8265,-123.9316 2622.4546,-97.607"/>
+<polygon fill="#191970" stroke="#191970" points="2596.4529,-326.9269 2590.1139,-335.4162 2600.3633,-332.7328 2596.4529,-326.9269"/>
 </g>
 <!-- Node153&#45;&gt;Node47 -->
-<g id="edge97" class="edge">
+<g id="edge98" class="edge">
 <title>Node153&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M2533.1374,-331.7259C2583.6136,-311.9842 2647,-275.4562 2647,-216.5 2647,-216.5 2647,-216.5 2647,-149.5 2647,-103.9479 2620.9389,-55.0469 2606.076,-30.862"/>
-<polygon fill="#191970" stroke="#191970" points="2531.6827,-328.5337 2523.5593,-335.3352 2534.1511,-335.0841 2531.6827,-328.5337"/>
+<path fill="none" stroke="#191970" d="M2552.1926,-326.1859C2540.6438,-302.7908 2524.5057,-266.0483 2518,-232 2504.237,-159.9697 2497.3866,-137.3766 2518,-67 2521.9401,-53.548 2530.5907,-40.2761 2538.0465,-30.5751"/>
+<polygon fill="#191970" stroke="#191970" points="2549.1876,-327.9998 2556.8196,-335.3484 2555.436,-324.8443 2549.1876,-327.9998"/>
 </g>
 <!-- Node153&#45;&gt;Node48 -->
-<g id="edge98" class="edge">
+<g id="edge99" class="edge">
 <title>Node153&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M2446.6005,-328.7094C2406.4488,-295.5128 2324.5708,-232.7847 2244,-201 2171.8389,-172.5329 2083.7092,-159.7706 2022.0804,-154.0675"/>
-<polygon fill="#191970" stroke="#191970" points="2444.6008,-331.5994 2454.5197,-335.3232 2449.0879,-326.2266 2444.6008,-331.5994"/>
+<path fill="none" stroke="#191970" d="M2546.8255,-327.0236C2519.0256,-292.9868 2462.4449,-230.7607 2399,-201 2350.9342,-178.4533 2209.4238,-163.0953 2120.2608,-155.3516"/>
+<polygon fill="#191970" stroke="#191970" points="2544.2683,-329.4289 2553.2599,-335.0327 2549.7254,-325.0448 2544.2683,-329.4289"/>
 </g>
 <!-- Node153&#45;&gt;Node50 -->
-<g id="edge96" class="edge">
+<g id="edge97" class="edge">
 <title>Node153&#45;&gt;Node50</title>
-<path fill="none" stroke="#191970" d="M2460.6959,-326.0686C2447.9773,-298.58 2427.7085,-254.7732 2417.0612,-231.7614"/>
-<polygon fill="#191970" stroke="#191970" points="2457.6326,-327.7831 2465.0083,-335.389 2463.9856,-324.8436 2457.6326,-327.7831"/>
+<path fill="none" stroke="#191970" d="M2572.0311,-325.706C2579.8324,-298.1962 2592.175,-254.6723 2598.6721,-231.7614"/>
+<polygon fill="#191970" stroke="#191970" points="2568.6463,-324.8134 2569.2852,-335.389 2575.3808,-326.7232 2568.6463,-324.8134"/>
 </g>
 <!-- Node153&#45;&gt;Node144 -->
-<g id="edge92" class="edge">
+<g id="edge93" class="edge">
 <title>Node153&#45;&gt;Node144</title>
-<path fill="none" stroke="#191970" d="M2544.4988,-333.0899C2589.0214,-322.3981 2645.4857,-308.8386 2688.1139,-298.6017"/>
-<polygon fill="#191970" stroke="#191970" points="2543.5193,-329.7255 2534.613,-335.4639 2545.1539,-336.532 2543.5193,-329.7255"/>
+<path fill="none" stroke="#191970" d="M2629.9155,-332.8198C2669.016,-322.1704 2718.2817,-308.7525 2755.552,-298.6017"/>
+<polygon fill="#191970" stroke="#191970" points="2628.936,-329.459 2620.2072,-335.4639 2630.7755,-336.213 2628.936,-329.459"/>
 </g>
 <!-- Node144&#45;&gt;Node47 -->
-<g id="edge94" class="edge">
+<g id="edge95" class="edge">
 <title>Node144&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M2745.0217,-258.4385C2733.9416,-215.8152 2707.0539,-127.9132 2661,-67 2650.0595,-52.5296 2634.1424,-39.8277 2620.7979,-30.6589"/>
-<polygon fill="#191970" stroke="#191970" points="2741.6587,-259.4164 2747.5002,-268.2554 2748.4458,-257.7028 2741.6587,-259.4164"/>
+<path fill="none" stroke="#191970" d="M2803.2024,-258.5606C2788.0556,-214.0061 2750.5381,-120.4123 2688,-67 2668.1952,-50.0852 2642.2869,-38.4594 2618.3376,-30.5988"/>
+<polygon fill="#191970" stroke="#191970" points="2799.9547,-259.8876 2806.4153,-268.2847 2806.6012,-257.6915 2799.9547,-259.8876"/>
 </g>
 <!-- Node144&#45;&gt;Node50 -->
-<g id="edge93" class="edge">
+<g id="edge94" class="edge">
 <title>Node144&#45;&gt;Node50</title>
-<path fill="none" stroke="#191970" d="M2664.8139,-266.5661C2609.7941,-255.7557 2539.12,-241.8696 2486.1643,-231.4648"/>
-<polygon fill="#191970" stroke="#191970" points="2664.4102,-270.0536 2674.8974,-268.5473 2665.7598,-263.1849 2664.4102,-270.0536"/>
+<path fill="none" stroke="#191970" d="M2754.4237,-265.2759C2721.6423,-254.7165 2680.8618,-241.5805 2649.8829,-231.6017"/>
+<polygon fill="#191970" stroke="#191970" points="2753.7292,-268.7292 2764.3207,-268.4639 2755.8755,-262.0664 2753.7292,-268.7292"/>
 </g>
 <!-- Node149&#45;&gt;Node48 -->
-<g id="edge100" class="edge">
+<g id="edge101" class="edge">
 <title>Node149&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M1841.9826,-326.6822C1866.57,-284.8003 1916.8655,-199.1274 1937.1889,-164.5088"/>
-<polygon fill="#191970" stroke="#191970" points="1838.9136,-324.9966 1836.8692,-335.3923 1844.9502,-328.5405 1838.9136,-324.9966"/>
+<path fill="none" stroke="#191970" d="M1879.2528,-325.1356C1877.9441,-308.0117 1878.6785,-285.4402 1888,-268 1914.6933,-218.0576 1972.6537,-182.9529 2009.9181,-164.5113"/>
+<polygon fill="#191970" stroke="#191970" points="1875.8149,-325.9124 1880.3381,-335.4932 1882.7768,-325.1828 1875.8149,-325.9124"/>
 </g>
 <!-- Node178&#45;&gt;Node151 -->
-<g id="edge110" class="edge">
+<g id="edge111" class="edge">
 <title>Node178&#45;&gt;Node151</title>
-<path fill="none" stroke="#191970" d="M1607.6714,-644.2274C1611.6831,-629.4159 1614.8216,-608.7283 1608,-592 1601.8409,-576.8965 1588.0705,-564.0586 1577.3737,-555.8147"/>
-<polygon fill="#191970" stroke="#191970" points="1604.3114,-643.2465 1604.726,-653.8333 1611.0039,-645.2987 1604.3114,-643.2465"/>
+<path fill="none" stroke="#191970" d="M1274.5477,-648.4627C1312.9581,-623.9344 1388.0153,-576.0038 1419.9925,-555.5836"/>
+<polygon fill="#191970" stroke="#191970" points="1272.6019,-645.5525 1266.0575,-653.8845 1276.3694,-651.4522 1272.6019,-645.5525"/>
 </g>
 <!-- Node178&#45;&gt;Node179 -->
-<g id="edge105" class="edge">
+<g id="edge106" class="edge">
 <title>Node178&#45;&gt;Node179</title>
-<path fill="none" stroke="#191970" d="M1583.8162,-646.7253C1572.32,-635.5028 1557.5923,-621.1258 1547.9825,-611.7449"/>
-<polygon fill="#191970" stroke="#191970" points="1581.5556,-649.4097 1591.1563,-653.8906 1586.4454,-644.4007 1581.5556,-649.4097"/>
+<path fill="none" stroke="#191970" d="M1289.5926,-650.6009C1324.4906,-638.9366 1375.0723,-622.0302 1406.4519,-611.5419"/>
+<polygon fill="#191970" stroke="#191970" points="1288.1247,-647.4011 1279.75,-653.8906 1290.3438,-654.04 1288.1247,-647.4011"/>
 </g>
 <!-- Node179&#45;&gt;Node55 -->
-<g id="edge106" class="edge">
+<g id="edge107" class="edge">
 <title>Node179&#45;&gt;Node55</title>
-<path fill="none" stroke="#191970" d="M1608.6021,-594.1303C1656.5865,-587.159 1713.9751,-575.073 1729,-556 1743.8021,-537.2097 1775.0747,-482.3082 1696,-402 1681.8177,-387.5965 1415.1868,-323.5244 1298.6996,-296.0631"/>
-<polygon fill="#191970" stroke="#191970" points="1607.9424,-590.6884 1598.5241,-595.5409 1608.9128,-597.6209 1607.9424,-590.6884"/>
+<path fill="none" stroke="#191970" d="M1505.5955,-597.7773C1566.7635,-592.4695 1648.5702,-580.8369 1669,-556 1693.5634,-526.1378 1683.5279,-504.8337 1669,-469 1651.8868,-426.7896 1548.7302,-334.88 1506.7504,-298.6328"/>
+<polygon fill="#191970" stroke="#191970" points="1505.2629,-594.2927 1495.5859,-598.6061 1505.8406,-601.2688 1505.2629,-594.2927"/>
 </g>
 <!-- Node179&#45;&gt;Node93 -->
-<g id="edge107" class="edge">
+<g id="edge110" class="edge">
 <title>Node179&#45;&gt;Node93</title>
-<path fill="none" stroke="#191970" d="M1511.1739,-587.3084C1472.674,-565.5955 1404.9448,-524.8346 1392,-500 1379.2935,-475.6227 1396.1369,-443.1175 1406.2982,-427.1638"/>
-<polygon fill="#191970" stroke="#191970" points="1509.8441,-590.5747 1520.2811,-592.397 1513.2585,-584.4639 1509.8441,-590.5747"/>
+<path fill="none" stroke="#191970" d="M1486.49,-588.7114C1503.156,-581.7619 1519.9224,-571.3735 1530,-556 1567.5429,-498.7278 1569.8724,-460.9364 1535,-402 1496.8004,-337.4405 1410.5623,-306.683 1355.2168,-293.0999"/>
+<polygon fill="#191970" stroke="#191970" points="1484.8441,-585.5927 1476.7403,-592.4176 1487.3313,-592.1359 1484.8441,-585.5927"/>
 </g>
-<!-- Node179&#45;&gt;Node109 -->
-<g id="edge109" class="edge">
-<title>Node179&#45;&gt;Node109</title>
-<path fill="none" stroke="#191970" d="M1597.3325,-589.0265C1614.6825,-582.1793 1631.7287,-571.7743 1642,-556 1669.3463,-514.0027 1634.6942,-450.9897 1619.4884,-427.1235"/>
-<polygon fill="#191970" stroke="#191970" points="1595.9372,-585.8085 1587.7035,-592.476 1598.298,-592.3984 1595.9372,-585.8085"/>
+<!-- Node179&#45;&gt;Node94 -->
+<g id="edge108" class="edge">
+<title>Node179&#45;&gt;Node94</title>
+<path fill="none" stroke="#191970" d="M1476.022,-588.1141C1490.6806,-580.9429 1505.6295,-570.5601 1514,-556 1526.9345,-533.5011 1510.0107,-494.3643 1494,-469 1482.9657,-451.5193 1464.3975,-436.3272 1451.4635,-427.0605"/>
+<polygon fill="#191970" stroke="#191970" points="1474.2009,-585.0945 1466.5032,-592.3744 1477.0605,-591.4838 1474.2009,-585.0945"/>
 </g>
 <!-- Node179&#45;&gt;Node151 -->
-<g id="edge108" class="edge">
+<g id="edge109" class="edge">
 <title>Node179&#45;&gt;Node151</title>
-<path fill="none" stroke="#191970" d="M1546.4626,-583.0437C1550.5745,-573.8331 1555.3394,-563.1598 1558.6952,-555.6427"/>
-<polygon fill="#191970" stroke="#191970" points="1543.2352,-581.6874 1542.3547,-592.2455 1549.6272,-584.541 1543.2352,-581.6874"/>
+<path fill="none" stroke="#191970" d="M1435,-582.1575C1435,-573.155 1435,-562.9199 1435,-555.6427"/>
+<polygon fill="#191970" stroke="#191970" points="1431.5001,-582.2455 1435,-592.2455 1438.5001,-582.2456 1431.5001,-582.2455"/>
 </g>
 <!-- Node145&#45;&gt;Node46 -->
-<g id="edge127" class="edge">
+<g id="edge128" class="edge">
 <title>Node145&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M2839.3246,-393.7761C2844.4491,-385.418 2849.3852,-375.6836 2852,-366 2863.5048,-323.3937 2863.1826,-302.7672 2836,-268 2760.6548,-171.6316 2621.3575,-120.3919 2540.5261,-97.5741"/>
-<polygon fill="#191970" stroke="#191970" points="2836.3349,-391.953 2833.7909,-402.2379 2842.1934,-395.7842 2836.3349,-391.953"/>
+<path fill="none" stroke="#191970" d="M2970.3659,-397.7562C3011.9179,-376.2485 3067,-337.5449 3067,-283.5 3067,-283.5 3067,-283.5 3067,-216.5 3067,-136.74 2810.7361,-101.5223 2679.1006,-88.6933"/>
+<polygon fill="#191970" stroke="#191970" points="2968.5783,-394.7369 2961.2,-402.3403 2971.7094,-400.9976 2968.5783,-394.7369"/>
 </g>
 <!-- Node145&#45;&gt;Node50 -->
-<g id="edge128" class="edge">
+<g id="edge129" class="edge">
 <title>Node145&#45;&gt;Node50</title>
-<path fill="none" stroke="#191970" d="M2822.702,-392.01C2821.8036,-373.8197 2817.5588,-350.0114 2803,-335 2759.1699,-289.8073 2726.4278,-316.6619 2666,-299 2591.1504,-277.1229 2505.0147,-248.6805 2454.1702,-231.5483"/>
-<polygon fill="#191970" stroke="#191970" points="2819.2065,-392.2889 2822.8942,-402.2213 2826.2052,-392.1571 2819.2065,-392.2889"/>
+<path fill="none" stroke="#191970" d="M2936.2947,-393.1641C2942.8257,-375.0861 2947.3873,-350.9034 2934,-335 2873.5812,-263.2258 2813.0881,-333.8947 2726,-299 2684.7082,-282.4551 2643.0532,-250.5955 2620.383,-231.6758"/>
+<polygon fill="#191970" stroke="#191970" points="2933.0295,-391.9033 2932.5653,-402.488 2939.5288,-394.503 2933.0295,-391.9033"/>
 </g>
 <!-- Node145&#45;&gt;Node144 -->
-<g id="edge125" class="edge">
+<g id="edge126" class="edge">
 <title>Node145&#45;&gt;Node144</title>
-<path fill="none" stroke="#191970" d="M2834.1047,-393.1102C2840.8276,-375.8764 2846.0139,-352.7757 2836,-335 2826.6844,-318.4638 2809.6807,-306.6299 2793.3159,-298.5103"/>
-<polygon fill="#191970" stroke="#191970" points="2830.8045,-391.9251 2830.0721,-402.4946 2837.2359,-394.6888 2830.8045,-391.9251"/>
+<path fill="none" stroke="#191970" d="M2949.6007,-395.0073C2965.4039,-377.7857 2980.6368,-353.8626 2967,-335 2956.4728,-320.4386 2918.5175,-307.7353 2882.6839,-298.5885"/>
+<polygon fill="#191970" stroke="#191970" points="2946.8667,-392.7983 2942.4013,-402.4061 2951.8836,-397.68 2946.8667,-392.7983"/>
 </g>
 <!-- Node145&#45;&gt;Node146 -->
-<g id="edge126" class="edge">
+<g id="edge127" class="edge">
 <title>Node145&#45;&gt;Node146</title>
-<path fill="none" stroke="#191970" d="M2789.861,-396.7951C2774.2777,-386.7558 2755.8939,-374.9124 2741.6216,-365.7177"/>
-<polygon fill="#191970" stroke="#191970" points="2788.3583,-399.9904 2798.6604,-402.4639 2792.1494,-394.1058 2788.3583,-399.9904"/>
+<path fill="none" stroke="#191970" d="M2900.0408,-395.4965C2888.9503,-385.7193 2876.1733,-374.4554 2866.1773,-365.6432"/>
+<polygon fill="#191970" stroke="#191970" points="2897.9386,-398.3091 2907.7544,-402.2967 2902.5677,-393.0582 2897.9386,-398.3091"/>
 </g>
 <!-- Node198&#45;&gt;Node22 -->
-<g id="edge138" class="edge">
+<g id="edge139" class="edge">
 <title>Node198&#45;&gt;Node22</title>
-<path fill="none" stroke="#191970" d="M2112.9341,-415.0962C1862.8622,-406.1994 1007.952,-375.1815 981,-366 958.3562,-358.2861 958.7559,-344.9463 937,-335 935.2055,-334.1796 843.9809,-311.6078 783.2459,-296.622"/>
-<polygon fill="#191970" stroke="#191970" points="2112.8626,-418.5958 2122.9807,-415.4533 2113.1113,-411.6002 2112.8626,-418.5958"/>
+<path fill="none" stroke="#191970" d="M2202.6807,-415.6787C1974.0811,-409.4057 1244.4849,-387.8766 1141,-366 1136.5201,-365.053 1027.2201,-322.161 967.3595,-298.6088"/>
+<polygon fill="#191970" stroke="#191970" points="2202.7699,-419.1823 2212.8618,-415.9571 2202.9612,-412.185 2202.7699,-419.1823"/>
 </g>
 <!-- Node198&#45;&gt;Node26 -->
-<g id="edge151" class="edge">
+<g id="edge152" class="edge">
 <title>Node198&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M2112.7239,-415.0648C1870.8344,-406.3804 1062.9525,-376.8678 947,-366 930.0566,-364.412 911.6836,-361.979 895.0674,-359.5079"/>
-<polygon fill="#191970" stroke="#191970" points="2112.6739,-418.5652 2122.793,-415.4261 2112.9249,-411.5697 2112.6739,-418.5652"/>
+<path fill="none" stroke="#191970" d="M2202.7725,-414.6261C2023.3117,-407.0355 1523.2359,-385.6813 1107,-366 1018.0893,-361.796 914.7628,-356.5153 853.2412,-353.3294"/>
+<polygon fill="#191970" stroke="#191970" points="2202.7195,-418.1269 2212.8585,-415.0525 2203.0152,-411.1332 2202.7195,-418.1269"/>
 </g>
 <!-- Node198&#45;&gt;Node44 -->
-<g id="edge139" class="edge">
+<g id="edge140" class="edge">
 <title>Node198&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M2177.8175,-392.4977C2173.9639,-373.4172 2165.5009,-348.2282 2147,-335 2041.231,-259.3747 1685.6816,-342.0754 1563,-299 1540.4292,-291.075 1541.2266,-276.8446 1519,-268 1469.5348,-248.3164 1328.0454,-232.0078 1239.0526,-223.3097"/>
-<polygon fill="#191970" stroke="#191970" points="2174.3689,-393.0957 2179.5187,-402.3547 2181.2669,-391.9051 2174.3689,-393.0957"/>
+<path fill="none" stroke="#191970" d="M2278.6503,-392.5074C2282.5532,-374.247 2283.9387,-350.1289 2270,-335 2212.2255,-272.2925 1971.4664,-316.4208 1888,-299 1810.0945,-282.7399 1722.4972,-250.6256 1674.1289,-231.6157"/>
+<polygon fill="#191970" stroke="#191970" points="2275.2539,-391.6624 2276.2316,-402.212 2282.0461,-393.3553 2275.2539,-391.6624"/>
 </g>
 <!-- Node198&#45;&gt;Node45 -->
-<g id="edge140" class="edge">
+<g id="edge141" class="edge">
 <title>Node198&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M2193.3709,-393.1412C2200.7021,-374.8897 2206.095,-350.4923 2192,-335 2161.1366,-301.0768 1866.5013,-289.0176 1724.1957,-285.1477"/>
-<polygon fill="#191970" stroke="#191970" points="2190.165,-391.7369 2189.3323,-402.2989 2196.5699,-394.5615 2190.165,-391.7369"/>
+<path fill="none" stroke="#191970" d="M2299.9288,-395.7635C2319.5921,-378.3852 2339.3147,-353.891 2323,-335 2305.3367,-314.5475 2146.5308,-297.8754 2049.002,-289.4526"/>
+<polygon fill="#191970" stroke="#191970" points="2297.5844,-393.1619 2292.1858,-402.2782 2302.091,-398.5183 2297.5844,-393.1619"/>
 </g>
 <!-- Node198&#45;&gt;Node46 -->
-<g id="edge144" class="edge">
+<g id="edge145" class="edge">
 <title>Node198&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M2202.3874,-394.7932C2210.1802,-386.0739 2218.8305,-375.848 2226,-366 2276.3343,-296.8608 2268.2175,-264.9494 2325,-201 2363.9269,-157.1599 2420.8745,-118.0271 2453.1887,-97.5538"/>
-<polygon fill="#191970" stroke="#191970" points="2199.6782,-392.5702 2195.539,-402.323 2204.8567,-397.2801 2199.6782,-392.5702"/>
+<path fill="none" stroke="#191970" d="M2309.9342,-397.3037C2325.026,-388.6274 2342.0045,-377.7742 2356,-366 2461.1506,-277.5383 2560.3796,-142.8744 2592.3307,-97.8"/>
+<polygon fill="#191970" stroke="#191970" points="2307.8342,-394.4686 2300.8248,-402.4134 2311.2588,-400.5738 2307.8342,-394.4686"/>
 </g>
 <!-- Node198&#45;&gt;Node47 -->
-<g id="edge149" class="edge">
+<g id="edge150" class="edge">
 <title>Node198&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M2249.3758,-413.2265C2349.7034,-406.2324 2531.4561,-390.6059 2592,-366 2613.1636,-357.3988 2612.062,-344.1365 2633,-335 2716.9826,-298.3533 2758.899,-348.5125 2836,-299 2873.5004,-274.9181 2893,-261.0671 2893,-216.5 2893,-216.5 2893,-216.5 2893,-149.5 2893,-98.6598 2746.5753,-53.1507 2659.3497,-30.5511"/>
-<polygon fill="#191970" stroke="#191970" points="2249.0717,-409.739 2239.3353,-413.9166 2249.5518,-416.7226 2249.0717,-409.739"/>
+<path fill="none" stroke="#191970" d="M2339.4333,-412.0588C2442.902,-403.3625 2634.0819,-385.3319 2700,-366 2730.3283,-357.1056 2734.4055,-346.0942 2764,-335 2820.9399,-313.6547 2853.8675,-342.8478 2896,-299 2922.07,-271.8686 2915,-254.1265 2915,-216.5 2915,-216.5 2915,-216.5 2915,-149.5 2915,-88.7252 2734.0428,-47.0362 2627.3063,-27.7324"/>
+<polygon fill="#191970" stroke="#191970" points="2339.0709,-408.5768 2329.3966,-412.8962 2339.653,-415.5525 2339.0709,-408.5768"/>
 </g>
 <!-- Node198&#45;&gt;Node48 -->
-<g id="edge150" class="edge">
+<g id="edge151" class="edge">
 <title>Node198&#45;&gt;Node48</title>
-<path fill="none" stroke="#191970" d="M2199.4884,-393.6743C2210.1986,-376.787 2219.8033,-353.8697 2210,-335 2163.1279,-244.7792 2050.0171,-189.2455 1988.1526,-164.5639"/>
-<polygon fill="#191970" stroke="#191970" points="2196.2964,-392.1416 2193.5408,-402.3719 2202.0746,-396.093 2196.2964,-392.1416"/>
+<path fill="none" stroke="#191970" d="M2311.3448,-396.8289C2322.7182,-388.8471 2333.6995,-378.5645 2340,-366 2346.1759,-353.6839 2346.6717,-347.0547 2340,-335 2287.8732,-240.8156 2165.7304,-188.0599 2095.724,-164.5618"/>
+<polygon fill="#191970" stroke="#191970" points="2309.1203,-394.1004 2302.6421,-402.4839 2312.9344,-399.97 2309.1203,-394.1004"/>
 </g>
 <!-- Node198&#45;&gt;Node49 -->
-<g id="edge142" class="edge">
+<g id="edge143" class="edge">
 <title>Node198&#45;&gt;Node49</title>
-<path fill="none" stroke="#191970" d="M2169.3437,-393.4586C2158.4759,-373.9685 2140.2931,-347.7222 2116,-335 2000.4221,-274.4725 1659.6689,-313.4154 1530,-299 1523.54,-298.2818 1516.8518,-297.4291 1510.1502,-296.4986"/>
-<polygon fill="#191970" stroke="#191970" points="2166.3067,-395.2022 2174.086,-402.3949 2172.49,-391.9209 2166.3067,-395.2022"/>
+<path fill="none" stroke="#191970" d="M2270.8546,-392.2253C2269.2798,-373.3936 2263.8217,-348.6654 2247,-335 2206.5202,-302.1156 1830.9295,-303.8302 1779,-299 1757.6409,-297.0133 1734.5037,-294.5995 1713.2286,-292.2741"/>
+<polygon fill="#191970" stroke="#191970" points="2267.3608,-392.4367 2271.3838,-402.238 2274.3511,-392.0672 2267.3608,-392.4367"/>
 </g>
 <!-- Node198&#45;&gt;Node50 -->
-<g id="edge147" class="edge">
+<g id="edge148" class="edge">
 <title>Node198&#45;&gt;Node50</title>
-<path fill="none" stroke="#191970" d="M2247.1813,-398.9143C2267.527,-391.0263 2289.0127,-380.2722 2306,-366 2345.4613,-332.8458 2337.8811,-309.824 2368,-268 2377.0345,-255.4545 2388.1184,-241.9322 2396.631,-231.8931"/>
-<polygon fill="#191970" stroke="#191970" points="2245.7882,-395.6978 2237.6229,-402.449 2248.2162,-402.2632 2245.7882,-395.6978"/>
+<path fill="none" stroke="#191970" d="M2338.5593,-399.7078C2376.5759,-389.08 2419.7833,-375.7889 2437,-366 2470.8842,-346.7346 2553.8937,-265.5596 2587.9978,-231.5689"/>
+<polygon fill="#191970" stroke="#191970" points="2337.2178,-396.4474 2328.5142,-402.4887 2339.0855,-403.1937 2337.2178,-396.4474"/>
 </g>
 <!-- Node198&#45;&gt;Node55 -->
-<g id="edge152" class="edge">
+<g id="edge153" class="edge">
 <title>Node198&#45;&gt;Node55</title>
-<path fill="none" stroke="#191970" d="M2152.9502,-396.1101C2141.3356,-387.0397 2127.8396,-376.2197 2116,-366 2100.7669,-352.8511 2101.5222,-342.8656 2083,-335 2007.8425,-303.0836 1430.258,-307.0281 1349,-299 1332.5593,-297.3757 1314.7454,-294.9627 1298.584,-292.5217"/>
-<polygon fill="#191970" stroke="#191970" points="2150.9774,-399.0093 2161.0244,-402.3721 2155.2673,-393.4779 2150.9774,-399.0093"/>
+<path fill="none" stroke="#191970" d="M2261.4425,-393.2259C2252.3788,-373.784 2236.7426,-347.7291 2214,-335 2149.7194,-299.0219 1624.8613,-309.8468 1552,-299 1548.992,-298.5522 1545.9176,-298.0264 1542.8245,-297.4441"/>
+<polygon fill="#191970" stroke="#191970" points="2258.2527,-394.667 2265.4763,-402.4176 2264.6627,-391.854 2258.2527,-394.667"/>
 </g>
 <!-- Node198&#45;&gt;Node141 -->
-<g id="edge148" class="edge">
+<g id="edge149" class="edge">
 <title>Node198&#45;&gt;Node141</title>
-<path fill="none" stroke="#191970" d="M2130.4763,-399.0023C2101.7645,-388.4903 2066.2685,-375.4945 2039.2479,-365.6017"/>
-<polygon fill="#191970" stroke="#191970" points="2129.3375,-402.3125 2139.9312,-402.4639 2131.7441,-395.7392 2129.3375,-402.3125"/>
+<path fill="none" stroke="#191970" d="M2230.0747,-398.1902C2208.1989,-387.8685 2181.6504,-375.3421 2161.2525,-365.7177"/>
+<polygon fill="#191970" stroke="#191970" points="2228.595,-401.362 2239.1324,-402.4639 2231.5821,-395.0313 2228.595,-401.362"/>
 </g>
 <!-- Node198&#45;&gt;Node153 -->
-<g id="edge145" class="edge">
+<g id="edge146" class="edge">
 <title>Node198&#45;&gt;Node153</title>
-<path fill="none" stroke="#191970" d="M2249.0968,-401.8214C2296.6907,-390.8633 2359.8719,-376.3164 2406.8128,-365.5087"/>
-<polygon fill="#191970" stroke="#191970" points="2248.1485,-398.448 2239.1888,-404.1026 2249.7192,-405.2696 2248.1485,-398.448"/>
+<path fill="none" stroke="#191970" d="M2339.1034,-401.9798C2387.2488,-391.0079 2451.4395,-376.3794 2499.0879,-365.5208"/>
+<polygon fill="#191970" stroke="#191970" points="2338.0573,-398.6284 2329.0849,-404.263 2339.6127,-405.4534 2338.0573,-398.6284"/>
 </g>
 <!-- Node198&#45;&gt;Node144 -->
-<g id="edge141" class="edge">
+<g id="edge142" class="edge">
 <title>Node198&#45;&gt;Node144</title>
-<path fill="none" stroke="#191970" d="M2249.1662,-412.1438C2341.9055,-404.1787 2502.5289,-387.7804 2557,-366 2578.8758,-357.2529 2579.0664,-345.8096 2600,-335 2629.7788,-319.623 2665.1413,-307.2767 2694.1565,-298.5315"/>
-<polygon fill="#191970" stroke="#191970" points="2248.7001,-408.6707 2239.0319,-413.0039 2249.2921,-415.6457 2248.7001,-408.6707"/>
+<path fill="none" stroke="#191970" d="M2339.2028,-415.1478C2416.2583,-410.917 2544.6546,-399.0837 2650,-366 2701.9884,-349.673 2757.4593,-317.5825 2787.8128,-298.5949"/>
+<polygon fill="#191970" stroke="#191970" points="2338.9451,-411.6564 2329.1411,-415.6729 2339.31,-418.6469 2338.9451,-411.6564"/>
 </g>
 <!-- Node198&#45;&gt;Node149 -->
-<g id="edge146" class="edge">
+<g id="edge147" class="edge">
 <title>Node198&#45;&gt;Node149</title>
-<path fill="none" stroke="#191970" d="M2112.6205,-404.5215C2052.8772,-393.1821 1966.2486,-376.7398 1904.2765,-364.9774"/>
-<polygon fill="#191970" stroke="#191970" points="2112.2319,-408.0101 2122.7092,-406.4363 2113.5373,-401.1329 2112.2319,-408.0101"/>
+<path fill="none" stroke="#191970" d="M2202.7119,-405.708C2134.5479,-393.9374 2030.0176,-375.8871 1959.1961,-363.6576"/>
+<polygon fill="#191970" stroke="#191970" points="2202.4627,-409.2167 2212.9125,-407.4694 2203.6539,-402.3188 2202.4627,-409.2167"/>
 </g>
 <!-- Node198&#45;&gt;Node146 -->
-<g id="edge143" class="edge">
+<g id="edge144" class="edge">
 <title>Node198&#45;&gt;Node146</title>
-<path fill="none" stroke="#191970" d="M2249.4554,-410.8128C2337.296,-401.9569 2494.3031,-385.1993 2628,-366 2632.5513,-365.3464 2637.2263,-364.642 2641.9387,-363.9067"/>
-<polygon fill="#191970" stroke="#191970" points="2248.9529,-407.3456 2239.3526,-411.8273 2249.6523,-414.3106 2248.9529,-407.3456"/>
+<path fill="none" stroke="#191970" d="M2339.3722,-411.7062C2433.9144,-403.3712 2609.8016,-386.6977 2759,-366 2763.5543,-365.3682 2768.2318,-364.6806 2772.946,-363.958"/>
+<polygon fill="#191970" stroke="#191970" points="2339.0227,-408.2234 2329.3668,-412.5839 2339.6344,-415.1966 2339.0227,-408.2234"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/attr__registry__map_8h.html b/docs/reference/api/doxygen/attr__registry__map_8h.html
index b8588fa58..96d1bd14e 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h.html
+++ b/docs/reference/api/doxygen/attr__registry__map_8h.html
@@ -84,7 +84,7 @@ Include dependency graph for attr_registry_map.h:</div>
 </div><div class="textblock"><div class="dynheader">
 This graph shows which files directly or indirectly include this file:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="attr__registry__map_8h__dep__incl.svg" width="3454" height="678"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="attr__registry__map_8h__dep__incl.svg" width="3596" height="678"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg b/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
index e6f99157c..be77c238e 100644
--- a/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/attr__registry__map_8h__dep__incl.svg
@@ -4,994 +4,993 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: include/tvm/node/attr_registry_map.h Pages: 1 -->
-<svg width="2590pt" height="508pt"
- viewBox="0.00 0.00 2589.85 508.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="2697pt" height="508pt"
+ viewBox="0.00 0.00 2697.00 508.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 504)">
 <title>include/tvm/node/attr_registry_map.h</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-504 2585.8474,-504 2585.8474,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-504 2693,-504 2693,4 -4,4"/>
 <!-- Node23 -->
 <g id="node1" class="node">
 <title>Node23</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="1515.3474,-469.5 1515.3474,-499.5 1637.3474,-499.5 1637.3474,-469.5 1515.3474,-469.5"/>
-<text text-anchor="start" x="1523.3474" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/attr</text>
-<text text-anchor="middle" x="1576.3474" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_registry_map.h</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="1687.5,-469.5 1687.5,-499.5 1809.5,-499.5 1809.5,-469.5 1687.5,-469.5"/>
+<text text-anchor="start" x="1695.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/node/attr</text>
+<text text-anchor="middle" x="1748.5" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_registry_map.h</text>
 </g>
 <!-- Node24 -->
 <g id="node2" class="node">
 <title>Node24</title>
 <g id="a_node2"><a xlink:href="ir_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics) and registry for them. ">
-<polygon fill="#ffffff" stroke="#000000" points="846.3474,-341 846.3474,-360 954.3474,-360 954.3474,-341 846.3474,-341"/>
-<text text-anchor="middle" x="900.3474" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="880.5,-341 880.5,-360 988.5,-360 988.5,-341 880.5,-341"/>
+<text text-anchor="middle" x="934.5" y="-348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node24 -->
 <g id="edge1" class="edge">
 <title>Node23&#45;&gt;Node24</title>
-<path fill="none" stroke="#191970" d="M1505.0996,-470.3769C1366.8824,-442.9788 1065.6514,-383.2674 948.4016,-360.0255"/>
-<polygon fill="#191970" stroke="#191970" points="1504.6749,-473.8608 1515.1646,-472.3721 1506.036,-466.9944 1504.6749,-473.8608"/>
+<path fill="none" stroke="#191970" d="M1677.0861,-472.7439C1516.7283,-446.3459 1130.9786,-382.8441 988.538,-359.3957"/>
+<polygon fill="#191970" stroke="#191970" points="1676.882,-476.2573 1687.3177,-474.4282 1678.019,-469.3503 1676.882,-476.2573"/>
 </g>
 <!-- Node110 -->
-<g id="node34" class="node">
+<g id="node33" class="node">
 <title>Node110</title>
-<g id="a_node34"><a xlink:href="executor_8h.html" target="_top" xlink:title="Object representation of Executor configuration and registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="1604.3474,-408 1604.3474,-427 1760.3474,-427 1760.3474,-408 1604.3474,-408"/>
-<text text-anchor="middle" x="1682.3474" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
+<g id="a_node33"><a xlink:href="executor_8h.html" target="_top" xlink:title="Object representation of Executor configuration and registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="1776.5,-408 1776.5,-427 1932.5,-427 1932.5,-408 1776.5,-408"/>
+<text text-anchor="middle" x="1854.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node110 -->
-<g id="edge55" class="edge">
+<g id="edge54" class="edge">
 <title>Node23&#45;&gt;Node110</title>
-<path fill="none" stroke="#191970" d="M1608.7098,-464.0445C1628.1448,-451.7601 1651.9673,-436.7025 1667.1531,-427.1039"/>
-<polygon fill="#191970" stroke="#191970" points="1606.7188,-461.1624 1600.1358,-469.4639 1610.4589,-467.0795 1606.7188,-461.1624"/>
+<path fill="none" stroke="#191970" d="M1780.8625,-464.0445C1800.2974,-451.7601 1824.1199,-436.7025 1839.3057,-427.1039"/>
+<polygon fill="#191970" stroke="#191970" points="1778.8714,-461.1624 1772.2885,-469.4639 1782.6115,-467.0795 1778.8714,-461.1624"/>
 </g>
 <!-- Node111 -->
-<g id="node35" class="node">
+<g id="node34" class="node">
 <title>Node111</title>
-<g id="a_node35"><a xlink:href="runtime_8h.html" target="_top" xlink:title="Object representation of Runtime configuration and registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="1778.3474,-408 1778.3474,-427 1930.3474,-427 1930.3474,-408 1778.3474,-408"/>
-<text text-anchor="middle" x="1854.3474" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
+<g id="a_node34"><a xlink:href="runtime_8h.html" target="_top" xlink:title="Object representation of Runtime configuration and registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="1950.5,-408 1950.5,-427 2102.5,-427 2102.5,-408 1950.5,-408"/>
+<text text-anchor="middle" x="2026.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node111 -->
-<g id="edge56" class="edge">
+<g id="edge55" class="edge">
 <title>Node23&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M1647.0803,-467.4528C1700.3265,-454.6201 1771.3523,-437.5024 1814.9156,-427.0033"/>
-<polygon fill="#191970" stroke="#191970" points="1646.2572,-464.0509 1637.3556,-469.7966 1647.8974,-470.8561 1646.2572,-464.0509"/>
+<path fill="none" stroke="#191970" d="M1819.233,-467.4528C1872.4792,-454.6201 1943.5049,-437.5024 1987.0682,-427.0033"/>
+<polygon fill="#191970" stroke="#191970" points="1818.4099,-464.0509 1809.5083,-469.7966 1820.05,-470.8561 1818.4099,-464.0509"/>
 </g>
 <!-- Node112 -->
-<g id="node36" class="node">
+<g id="node35" class="node">
 <title>Node112</title>
-<g id="a_node36"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2474.8474,-268.5 2474.8474,-298.5 2581.8474,-298.5 2581.8474,-268.5 2474.8474,-268.5"/>
-<text text-anchor="start" x="2482.8474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="2528.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tag.h</text>
+<g id="a_node35"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="2582,-268.5 2582,-298.5 2689,-298.5 2689,-268.5 2582,-268.5"/>
+<text text-anchor="start" x="2590" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="2635.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tag.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node112 -->
-<g id="edge57" class="edge">
+<g id="edge56" class="edge">
 <title>Node23&#45;&gt;Node112</title>
-<path fill="none" stroke="#191970" d="M1575.0218,-459.2978C1575.5152,-440.678 1579.5244,-416.1928 1595.3474,-402 1740.2723,-272.006 2273.7932,-333.7663 2465.3474,-299 2468.4505,-298.4368 2471.6285,-297.8114 2474.8278,-297.1441"/>
-<polygon fill="#191970" stroke="#191970" points="1571.5226,-459.4793 1575.0749,-469.4609 1578.5225,-459.4427 1571.5226,-459.4793"/>
+<path fill="none" stroke="#191970" d="M1747.2157,-459.3435C1747.731,-440.7481 1751.7497,-416.2733 1767.5,-402 1900.3201,-281.6353 2391.0263,-330.3985 2567.5,-299 2572.1492,-298.1728 2576.9601,-297.2379 2581.7755,-296.2473"/>
+<polygon fill="#191970" stroke="#191970" points="1743.7162,-459.5049 1747.2549,-469.4913 1750.7161,-459.4778 1743.7162,-459.5049"/>
 </g>
 <!-- Node113 -->
-<g id="node37" class="node">
+<g id="node36" class="node">
 <title>Node113</title>
-<g id="a_node37"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="1440.8474,-402.5 1440.8474,-432.5 1547.8474,-432.5 1547.8474,-402.5 1440.8474,-402.5"/>
-<text text-anchor="start" x="1448.8474" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1494.3474" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
+<g id="a_node36"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
+<polygon fill="#ffffff" stroke="#000000" points="1613,-402.5 1613,-432.5 1720,-432.5 1720,-402.5 1613,-402.5"/>
+<text text-anchor="start" x="1621" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1666.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
 </a>
 </g>
 </g>
 <!-- Node23&#45;&gt;Node113 -->
-<g id="edge58" class="edge">
+<g id="edge57" class="edge">
 <title>Node23&#45;&gt;Node113</title>
-<path fill="none" stroke="#191970" d="M1549.7657,-462.7808C1537.7196,-452.9383 1523.7706,-441.541 1512.8808,-432.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1547.782,-465.6797 1557.7403,-469.2967 1552.211,-460.2591 1547.782,-465.6797"/>
+<path fill="none" stroke="#191970" d="M1721.9183,-462.7808C1709.8722,-452.9383 1695.9233,-441.541 1685.0334,-432.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1719.9346,-465.6797 1729.8929,-469.2967 1724.3637,-460.2591 1719.9346,-465.6797"/>
 </g>
 <!-- Node25 -->
 <g id="node3" class="node">
 <title>Node25</title>
 <g id="a_node3"><a xlink:href="relay_2expr_8h.html" target="_top" xlink:title="Relay expression language. ">
-<polygon fill="#ffffff" stroke="#000000" points="1374.8474,-207 1374.8474,-226 1509.8474,-226 1509.8474,-207 1374.8474,-207"/>
-<text text-anchor="middle" x="1442.3474" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1858,-207 1858,-226 1993,-226 1993,-207 1858,-207"/>
+<text text-anchor="middle" x="1925.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node25 -->
 <g id="edge2" class="edge">
 <title>Node24&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M944.8083,-338.1631C1022.3104,-316.6804 1176.3139,-274.1001 1201.3474,-268 1237.7199,-259.1368 1336.9837,-238.3253 1396.1578,-226.0428"/>
-<polygon fill="#191970" stroke="#191970" points="943.5518,-334.8793 934.8504,-340.9238 945.4221,-341.6248 943.5518,-334.8793"/>
+<path fill="none" stroke="#191970" d="M948.3393,-332.819C965.1085,-312.9217 995.3885,-281.6052 1029.5,-268 1198.7133,-200.5102 1667.6625,-254.0412 1848.5,-232 1860.141,-230.5811 1872.6505,-228.3664 1884.1311,-226.0505"/>
+<polygon fill="#191970" stroke="#191970" points="945.4294,-330.8489 941.8137,-340.8077 950.8506,-335.2773 945.4294,-330.8489"/>
 </g>
 <!-- Node42 -->
-<g id="node20" class="node">
+<g id="node19" class="node">
 <title>Node42</title>
-<g id="a_node20"><a xlink:href="relay_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics). ">
-<polygon fill="#ffffff" stroke="#000000" points="860.3474,-140 860.3474,-159 986.3474,-159 986.3474,-140 860.3474,-140"/>
-<text text-anchor="middle" x="923.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op.h</text>
+<g id="a_node19"><a xlink:href="relay_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics). ">
+<polygon fill="#ffffff" stroke="#000000" points="1099.5,-140 1099.5,-159 1225.5,-159 1225.5,-140 1099.5,-140"/>
+<text text-anchor="middle" x="1162.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node42 -->
-<g id="edge36" class="edge">
+<g id="edge35" class="edge">
 <title>Node24&#45;&gt;Node42</title>
-<path fill="none" stroke="#191970" d="M902.6202,-330.6373C907.4738,-288.2215 918.6978,-190.1332 922.2492,-159.0974"/>
-<polygon fill="#191970" stroke="#191970" points="899.1163,-330.4723 901.4567,-340.8054 906.071,-331.2681 899.1163,-330.4723"/>
+<path fill="none" stroke="#191970" d="M941.3142,-331.4279C948.4521,-313.4699 961.062,-286.62 978.5,-268 999.239,-245.8553 1010.9179,-248.311 1036.5,-232 1077.2867,-205.9946 1124.9251,-174.491 1148.2122,-159.0167"/>
+<polygon fill="#191970" stroke="#191970" points="938.0166,-330.253 937.7487,-340.8444 944.5631,-332.7318 938.0166,-330.253"/>
 </g>
 <!-- Node45 -->
-<g id="node23" class="node">
+<g id="node22" class="node">
 <title>Node45</title>
-<g id="a_node23"><a xlink:href="builtin_8h.html" target="_top" xlink:title="TIR builtin intrinsics. ">
-<polygon fill="#ffffff" stroke="#000000" points="32.8474,-207 32.8474,-226 163.8474,-226 163.8474,-207 32.8474,-207"/>
-<text text-anchor="middle" x="98.3474" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/builtin.h</text>
+<g id="a_node22"><a xlink:href="builtin_8h.html" target="_top" xlink:title="TIR builtin intrinsics. ">
+<polygon fill="#ffffff" stroke="#000000" points="458,-207 458,-226 589,-226 589,-207 458,-207"/>
+<text text-anchor="middle" x="523.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/builtin.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node45 -->
-<g id="edge37" class="edge">
+<g id="edge36" class="edge">
 <title>Node24&#45;&gt;Node45</title>
-<path fill="none" stroke="#191970" d="M835.6955,-348.7874C693.7244,-344.4748 358.7455,-331.1312 250.3474,-299 194.788,-282.5312 136.6088,-244.0033 111.3385,-226.0378"/>
-<polygon fill="#191970" stroke="#191970" points="835.8848,-352.2945 845.9848,-349.0943 836.0936,-345.2976 835.8848,-352.2945"/>
+<path fill="none" stroke="#191970" d="M870.2776,-344.9096C788.9853,-337.0498 654.1519,-321.1724 609.5,-299 573.9206,-281.3327 543.3353,-243.7601 530.2664,-226.078"/>
+<polygon fill="#191970" stroke="#191970" points="870.1163,-348.4099 880.4031,-345.8739 870.78,-341.4415 870.1163,-348.4099"/>
 </g>
 <!-- Node58 -->
-<g id="node27" class="node">
+<g id="node26" class="node">
 <title>Node58</title>
-<g id="a_node27"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr. ">
-<polygon fill="#ffffff" stroke="#000000" points="488.3474,-274 488.3474,-293 600.3474,-293 600.3474,-274 488.3474,-274"/>
-<text text-anchor="middle" x="544.3474" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
+<g id="a_node26"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr. ">
+<polygon fill="#ffffff" stroke="#000000" points="220.5,-274 220.5,-293 332.5,-293 332.5,-274 220.5,-274"/>
+<text text-anchor="middle" x="276.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node24&#45;&gt;Node58 -->
-<g id="edge41" class="edge">
+<g id="edge40" class="edge">
 <title>Node24&#45;&gt;Node58</title>
-<path fill="none" stroke="#191970" d="M839.8743,-339.1188C770.9867,-326.154 659.6386,-305.1981 595.0887,-293.0496"/>
-<polygon fill="#191970" stroke="#191970" points="839.2445,-342.5617 849.7193,-340.9717 840.5392,-335.6824 839.2445,-342.5617"/>
+<path fill="none" stroke="#191970" d="M870.2849,-343.9614C741.7373,-330.8722 454.701,-301.6451 332.8941,-289.2423"/>
+<polygon fill="#191970" stroke="#191970" points="870.0704,-347.4575 880.3735,-344.9886 870.7795,-340.4936 870.0704,-347.4575"/>
 </g>
 <!-- Node26 -->
 <g id="node4" class="node">
 <title>Node26</title>
 <g id="a_node4"><a xlink:href="type__functor_8h.html" target="_top" xlink:title="A way to defined arbitrary function signature with dispatch on types. ">
-<polygon fill="#ffffff" stroke="#000000" points="1557.8474,-67.5 1557.8474,-97.5 1666.8474,-97.5 1666.8474,-67.5 1557.8474,-67.5"/>
-<text text-anchor="start" x="1565.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
-<text text-anchor="middle" x="1612.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1878,-67.5 1878,-97.5 1987,-97.5 1987,-67.5 1878,-67.5"/>
+<text text-anchor="start" x="1886" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
+<text text-anchor="middle" x="1932.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node26 -->
 <g id="edge3" class="edge">
 <title>Node25&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M1499.0876,-204.8778C1570.1494,-190.2579 1682.8681,-166.8272 1684.3474,-165 1703.905,-140.8424 1669.1119,-113.8904 1641.415,-97.5674"/>
-<polygon fill="#191970" stroke="#191970" points="1498.0138,-201.5253 1488.9235,-206.9673 1499.4234,-208.3819 1498.0138,-201.5253"/>
+<path fill="none" stroke="#191970" d="M1932.0794,-197.1138C1934.9813,-187.5663 1938.0569,-175.8098 1939.5,-165 1942.6194,-141.6333 1938.8693,-114.3472 1935.771,-97.7531"/>
+<polygon fill="#191970" stroke="#191970" points="1928.6984,-196.1951 1928.9731,-206.7863 1935.3632,-198.3354 1928.6984,-196.1951"/>
 </g>
 <!-- Node27 -->
 <g id="node5" class="node">
 <title>Node27</title>
 <g id="a_node5"><a xlink:href="relay_2adt_8h.html" target="_top" xlink:title="Algebraic data types for Relay. ">
-<polygon fill="#ffffff" stroke="#000000" points="1188.3474,-140 1188.3474,-159 1318.3474,-159 1318.3474,-140 1188.3474,-140"/>
-<text text-anchor="middle" x="1253.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1427.5,-140 1427.5,-159 1557.5,-159 1557.5,-140 1427.5,-140"/>
+<text text-anchor="middle" x="1492.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node27 -->
 <g id="edge4" class="edge">
 <title>Node25&#45;&gt;Node27</title>
-<path fill="none" stroke="#191970" d="M1405.4387,-203.416C1368.7016,-190.3928 1313.1943,-170.7156 1280.3762,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1404.6735,-206.8581 1415.2683,-206.9005 1407.0124,-200.2604 1404.6735,-206.8581"/>
+<path fill="none" stroke="#191970" d="M1870.7481,-204.9806C1863.2867,-203.5566 1855.7155,-202.1869 1848.5,-201 1724.26,-180.5635 1691.687,-185.7565 1567.5,-165 1557.271,-163.2903 1546.3127,-161.1836 1536.0192,-159.0804"/>
+<polygon fill="#191970" stroke="#191970" points="1870.3256,-208.4641 1880.8108,-206.9439 1871.6661,-201.5936 1870.3256,-208.4641"/>
 </g>
 <!-- Node28 -->
 <g id="node6" class="node">
 <title>Node28</title>
 <g id="a_node6"><a xlink:href="relay_2analysis_8h.html" target="_top" xlink:title="The set of Relay analysis passes written in C++. ">
-<polygon fill="#ffffff" stroke="#000000" points="1335.8474,-73 1335.8474,-92 1490.8474,-92 1490.8474,-73 1335.8474,-73"/>
-<text text-anchor="middle" x="1413.3474" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1705,-73 1705,-92 1860,-92 1860,-73 1705,-73"/>
+<text text-anchor="middle" x="1782.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node28 -->
 <g id="edge9" class="edge">
 <title>Node25&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M1497.1457,-204.7747C1562.5919,-190.6453 1663.6637,-168.3707 1666.3474,-165 1674.9291,-154.2213 1675.0641,-144.6698 1666.3474,-134 1654.6671,-119.7025 1553.2374,-102.4781 1482.4132,-92.0155"/>
-<polygon fill="#191970" stroke="#191970" points="1496.0064,-201.4398 1486.9684,-206.9683 1497.4814,-208.2827 1496.0064,-201.4398"/>
+<path fill="none" stroke="#191970" d="M1925.8503,-196.766C1925.1444,-178.493 1921.3507,-151.5687 1906.5,-134 1887.9905,-112.1028 1858.642,-99.3587 1833.1431,-92.027"/>
+<polygon fill="#191970" stroke="#191970" points="1922.3515,-196.9038 1925.9619,-206.8645 1929.351,-196.8264 1922.3515,-196.9038"/>
 </g>
 <!-- Node29 -->
 <g id="node7" class="node">
 <title>Node29</title>
 <g id="a_node7"><a xlink:href="relay_2expr__functor_8h.html" target="_top" xlink:title="A more powerful visitor which enables defining arbitrary function signatures with type based dispatch...">
-<polygon fill="#ffffff" stroke="#000000" points="1100.8474,-67.5 1100.8474,-97.5 1227.8474,-97.5 1227.8474,-67.5 1100.8474,-67.5"/>
-<text text-anchor="start" x="1108.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr</text>
-<text text-anchor="middle" x="1164.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1382,-67.5 1382,-97.5 1509,-97.5 1509,-67.5 1382,-67.5"/>
+<text text-anchor="start" x="1390" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr</text>
+<text text-anchor="middle" x="1445.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node29 -->
-<g id="edge19" class="edge">
+<g id="edge18" class="edge">
 <title>Node25&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M1388.4511,-205.0065C1380.7175,-203.5453 1372.8435,-202.1585 1365.3474,-201 1292.0077,-189.666 1082.9129,-220.2306 1033.3474,-165 1006.2405,-134.7949 1056.6882,-111.5194 1102.6312,-97.5075"/>
-<polygon fill="#191970" stroke="#191970" points="1388.0094,-208.4861 1398.4934,-206.9575 1389.3444,-201.6146 1388.0094,-208.4861"/>
+<path fill="none" stroke="#191970" d="M1872.4758,-204.9955C1864.4675,-203.4993 1856.284,-202.1056 1848.5,-201 1801.0315,-194.2581 1450.9572,-200.2881 1418.5,-165 1401.1562,-146.1435 1418.7536,-115.95 1432.5341,-97.7918"/>
+<polygon fill="#191970" stroke="#191970" points="1871.9998,-208.4682 1882.4826,-206.9313 1873.3294,-201.5956 1871.9998,-208.4682"/>
 </g>
 <!-- Node30 -->
 <g id="node8" class="node">
 <title>Node30</title>
 <g id="a_node8"><a xlink:href="pattern__functor_8h.html" target="_top" xlink:title="A more powerful visitor on ADT patterns that enables defining arbitrary function signatures with type...">
-<polygon fill="#ffffff" stroke="#000000" points="853.3474,-67.5 853.3474,-97.5 993.3474,-97.5 993.3474,-67.5 853.3474,-67.5"/>
-<text text-anchor="start" x="861.3474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/pattern</text>
-<text text-anchor="middle" x="923.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1092.5,-67.5 1092.5,-97.5 1232.5,-97.5 1232.5,-67.5 1092.5,-67.5"/>
+<text text-anchor="start" x="1100.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/pattern</text>
+<text text-anchor="middle" x="1162.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node30 -->
-<g id="edge34" class="edge">
+<g id="edge33" class="edge">
 <title>Node25&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M1390.1953,-205.0597C1381.9126,-203.5153 1373.4174,-202.0902 1365.3474,-201 1308.6118,-193.3352 890.3901,-206.8729 851.3474,-165 829.8915,-141.9888 866.2692,-114.2501 894.6708,-97.5138"/>
-<polygon fill="#191970" stroke="#191970" points="1389.667,-208.5223 1400.1502,-206.9881 1390.9984,-201.6501 1389.667,-208.5223"/>
+<path fill="none" stroke="#191970" d="M1874.2393,-205.0604C1865.6798,-203.4732 1856.8652,-202.0346 1848.5,-201 1806.6602,-195.8254 1119.5949,-195.5095 1090.5,-165 1068.787,-142.2312 1105.24,-114.4216 1133.727,-97.6047"/>
+<polygon fill="#191970" stroke="#191970" points="1873.6446,-208.5102 1884.1278,-206.9767 1874.9763,-201.6381 1873.6446,-208.5102"/>
 </g>
 <!-- Node31 -->
 <g id="node9" class="node">
 <title>Node31</title>
 <g id="a_node9"><a xlink:href="algorithm_8h.html" target="_top" xlink:title="include/tvm/relay/attrs\l/algorithm.h">
-<polygon fill="#ffffff" stroke="#000000" points="1042.3474,-134.5 1042.3474,-164.5 1170.3474,-164.5 1170.3474,-134.5 1042.3474,-134.5"/>
-<text text-anchor="start" x="1050.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1106.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algorithm.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1243.5,-134.5 1243.5,-164.5 1371.5,-164.5 1371.5,-134.5 1243.5,-134.5"/>
+<text text-anchor="start" x="1251.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1307.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algorithm.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node31 -->
 <g id="edge10" class="edge">
 <title>Node25&#45;&gt;Node31</title>
-<path fill="none" stroke="#191970" d="M1384.8576,-204.8785C1378.2793,-203.5632 1371.6685,-202.2479 1365.3474,-201 1282.741,-184.6918 1261.8664,-181.7449 1179.3474,-165 1176.427,-164.4074 1173.4421,-163.7961 1170.4279,-163.1744"/>
-<polygon fill="#191970" stroke="#191970" points="1384.6289,-208.4022 1395.1217,-206.9356 1386.0045,-201.5387 1384.6289,-208.4022"/>
+<path fill="none" stroke="#191970" d="M1873.0446,-205.0589C1864.8565,-203.5285 1856.4698,-202.1078 1848.5,-201 1644.0668,-172.5826 1589.9683,-193.1638 1385.5,-165 1380.9865,-164.3783 1376.3405,-163.6593 1371.6712,-162.8785"/>
+<polygon fill="#191970" stroke="#191970" points="1872.4091,-208.5008 1882.8922,-206.9664 1873.7403,-201.6285 1872.4091,-208.5008"/>
 </g>
 <!-- Node32 -->
 <g id="node10" class="node">
 <title>Node32</title>
 <g id="a_node10"><a xlink:href="relay_2attrs_2memory_8h.html" target="_top" xlink:title="Attributes for memory operators. ">
-<polygon fill="#ffffff" stroke="#000000" points="1935.3474,-134.5 1935.3474,-164.5 2063.3474,-164.5 2063.3474,-134.5 1935.3474,-134.5"/>
-<text text-anchor="start" x="1943.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1999.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/memory.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2359.5,-134.5 2359.5,-164.5 2487.5,-164.5 2487.5,-134.5 2359.5,-134.5"/>
+<text text-anchor="start" x="2367.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="2423.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/memory.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node32 -->
 <g id="edge11" class="edge">
 <title>Node25&#45;&gt;Node32</title>
-<path fill="none" stroke="#191970" d="M1495.3774,-205.036C1503.3848,-203.5342 1511.5666,-202.1281 1519.3474,-201 1696.8729,-175.2619 1743.79,-190.5178 1921.3474,-165 1925.8572,-164.3519 1930.5004,-163.6133 1935.1677,-162.8183"/>
-<polygon fill="#191970" stroke="#191970" points="1494.5223,-201.6365 1485.3712,-206.9757 1495.8545,-208.5086 1494.5223,-201.6365"/>
+<path fill="none" stroke="#191970" d="M2003.2537,-209.1672C2088.697,-200.6235 2229.8505,-185.078 2350.5,-165 2353.4395,-164.5108 2356.44,-163.9844 2359.4669,-163.4315"/>
+<polygon fill="#191970" stroke="#191970" points="2002.7201,-205.7028 1993.1151,-210.1742 2003.4121,-212.6686 2002.7201,-205.7028"/>
 </g>
 <!-- Node33 -->
 <g id="node11" class="node">
 <title>Node33</title>
 <g id="a_node11"><a xlink:href="relay_2attrs_2transform_8h.html" target="_top" xlink:title="Transform operators. ">
-<polygon fill="#ffffff" stroke="#000000" points="1751.3474,-134.5 1751.3474,-164.5 1879.3474,-164.5 1879.3474,-134.5 1751.3474,-134.5"/>
-<text text-anchor="start" x="1759.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1815.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1991.5,-134.5 1991.5,-164.5 2119.5,-164.5 2119.5,-134.5 1991.5,-134.5"/>
+<text text-anchor="start" x="1999.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="2055.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node33 -->
 <g id="edge12" class="edge">
 <title>Node25&#45;&gt;Node33</title>
-<path fill="none" stroke="#191970" d="M1498.4918,-204.961C1505.5069,-203.5891 1512.5884,-202.238 1519.3474,-201 1615.9416,-183.3078 1640.7313,-182.5724 1737.3474,-165 1741.83,-164.1847 1746.453,-163.3221 1751.1058,-162.4378"/>
-<polygon fill="#191970" stroke="#191970" points="1497.4376,-201.6016 1488.3064,-206.9749 1498.7954,-208.4686 1497.4376,-201.6016"/>
+<path fill="none" stroke="#191970" d="M1953.0844,-202.2834C1974.6105,-191.1892 2004.4384,-175.8164 2026.3533,-164.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1951.4113,-199.2082 1944.1258,-206.9005 1954.6182,-205.4304 1951.4113,-199.2082"/>
 </g>
 <!-- Node34 -->
 <g id="node12" class="node">
 <title>Node34</title>
 <g id="a_node12"><a xlink:href="relay_2transform_8h.html" target="_top" xlink:title="Relay specific transformation passes. ">
-<polygon fill="#ffffff" stroke="#000000" points="1734.3474,-73 1734.3474,-92 1896.3474,-92 1896.3474,-73 1734.3474,-73"/>
-<text text-anchor="middle" x="1815.3474" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="2005.5,-73 2005.5,-92 2167.5,-92 2167.5,-73 2005.5,-73"/>
+<text text-anchor="middle" x="2086.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node34 -->
-<g id="edge35" class="edge">
+<g id="edge34" class="edge">
 <title>Node25&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1495.6786,-205.0364C1503.5913,-203.5474 1511.666,-202.1448 1519.3474,-201 1560.092,-194.9275 1860.6687,-195.5105 1888.3474,-165 1911.9916,-138.9368 1863.9353,-107.7198 1835.0334,-92.2219"/>
-<polygon fill="#191970" stroke="#191970" points="1494.9346,-201.6154 1485.7841,-206.9558 1496.2677,-208.4873 1494.9346,-201.6154"/>
+<path fill="none" stroke="#191970" d="M2002.9728,-206.7614C2053.4928,-198.6374 2112.8542,-185.1107 2128.5,-165 2146.955,-141.2784 2116.0378,-108.1919 2098.0309,-92.0794"/>
+<polygon fill="#191970" stroke="#191970" points="2002.3444,-203.317 1993.0023,-208.3145 2003.4218,-210.2336 2002.3444,-203.317"/>
 </g>
 <!-- Node36 -->
-<g id="node14" class="node">
+<g id="node13" class="node">
 <title>Node36</title>
-<g id="a_node14"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties. ">
-<polygon fill="#ffffff" stroke="#000000" points="2341.8474,-134.5 2341.8474,-164.5 2488.8474,-164.5 2488.8474,-134.5 2341.8474,-134.5"/>
-<text text-anchor="start" x="2349.8474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="2415.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern.h</text>
+<g id="a_node13"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties. ">
+<polygon fill="#ffffff" stroke="#000000" points="896,-134.5 896,-164.5 1043,-164.5 1043,-134.5 896,-134.5"/>
+<text text-anchor="start" x="904" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="969.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node36 -->
-<g id="edge15" class="edge">
+<g id="edge14" class="edge">
 <title>Node25&#45;&gt;Node36</title>
-<path fill="none" stroke="#191970" d="M1493.6072,-205.0534C1502.1668,-203.467 1510.9817,-202.0305 1519.3474,-201 1861.1361,-158.899 1950.2608,-194.7254 2293.3474,-165 2308.9816,-163.6454 2325.6951,-161.791 2341.5793,-159.8354"/>
-<polygon fill="#191970" stroke="#191970" points="1492.8704,-201.6309 1483.7186,-206.9691 1494.2018,-208.5032 1492.8704,-201.6309"/>
+<path fill="none" stroke="#191970" d="M1874.241,-205.0462C1865.6814,-203.4606 1856.8662,-202.0263 1848.5,-201 1499.1989,-158.1505 1407.2958,-203.6032 1057.5,-165 1052.8742,-164.4895 1048.1241,-163.8858 1043.3423,-163.2177"/>
+<polygon fill="#191970" stroke="#191970" points="1873.6466,-208.496 1884.1297,-206.9615 1874.9777,-201.6237 1873.6466,-208.496"/>
 </g>
 <!-- Node39 -->
-<g id="node17" class="node">
+<g id="node16" class="node">
 <title>Node39</title>
-<g id="a_node17"><a xlink:href="relay_2feature_8h.html" target="_top" xlink:title="Detect features used in Expr/Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="1508.8474,-140 1508.8474,-159 1657.8474,-159 1657.8474,-140 1508.8474,-140"/>
-<text text-anchor="middle" x="1583.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
+<g id="a_node16"><a xlink:href="relay_2feature_8h.html" target="_top" xlink:title="Detect features used in Expr/Module. ">
+<polygon fill="#ffffff" stroke="#000000" points="1576,-140 1576,-159 1725,-159 1725,-140 1576,-140"/>
+<text text-anchor="middle" x="1650.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node39 -->
-<g id="edge20" class="edge">
+<g id="edge19" class="edge">
 <title>Node25&#45;&gt;Node39</title>
-<path fill="none" stroke="#191970" d="M1471.6581,-202.5722C1499.0514,-189.5555 1539.2228,-170.467 1563.183,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1470.0792,-199.4473 1462.5492,-206.9005 1473.0836,-205.7699 1470.0792,-199.4473"/>
+<path fill="none" stroke="#191970" d="M1876.4909,-204.5596C1823.2084,-191.578 1739.1029,-171.0869 1689.9191,-159.1039"/>
+<polygon fill="#191970" stroke="#191970" points="1875.8469,-208.005 1886.3913,-206.9717 1877.504,-201.204 1875.8469,-208.005"/>
 </g>
 <!-- Node40 -->
-<g id="node18" class="node">
+<g id="node17" class="node">
 <title>Node40</title>
-<g id="a_node18"><a xlink:href="relay_2function_8h.html" target="_top" xlink:title="Relay Function. ">
-<polygon fill="#ffffff" stroke="#000000" points="1336.3474,-140 1336.3474,-159 1490.3474,-159 1490.3474,-140 1336.3474,-140"/>
-<text text-anchor="middle" x="1413.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
+<g id="a_node17"><a xlink:href="relay_2function_8h.html" target="_top" xlink:title="Relay Function. ">
+<polygon fill="#ffffff" stroke="#000000" points="1743.5,-140 1743.5,-159 1897.5,-159 1897.5,-140 1743.5,-140"/>
+<text text-anchor="middle" x="1820.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node40 -->
-<g id="edge21" class="edge">
+<g id="edge20" class="edge">
 <title>Node25&#45;&gt;Node40</title>
-<path fill="none" stroke="#191970" d="M1434.0641,-197.3628C1428.6457,-184.8444 1421.7986,-169.0252 1417.4947,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1431.0081,-199.1136 1438.1924,-206.9005 1437.4321,-196.333 1431.0081,-199.1136"/>
+<path fill="none" stroke="#191970" d="M1901.7761,-201.3619C1881.456,-188.3957 1852.8133,-170.119 1835.516,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1900.1433,-204.4719 1910.4561,-206.9005 1903.9088,-198.5708 1900.1433,-204.4719"/>
 </g>
 <!-- Node41 -->
-<g id="node19" class="node">
+<g id="node18" class="node">
 <title>Node41</title>
-<g id="a_node19"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
-<polygon fill="#ffffff" stroke="#000000" points="2119.8474,-140 2119.8474,-159 2284.8474,-159 2284.8474,-140 2119.8474,-140"/>
-<text text-anchor="middle" x="2202.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
+<g id="a_node18"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
+<polygon fill="#ffffff" stroke="#000000" points="2176,-140 2176,-159 2341,-159 2341,-140 2176,-140"/>
+<text text-anchor="middle" x="2258.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node41 -->
-<g id="edge25" class="edge">
+<g id="edge24" class="edge">
 <title>Node25&#45;&gt;Node41</title>
-<path fill="none" stroke="#191970" d="M1494.4948,-205.0247C1502.7781,-203.4849 1511.2746,-202.0704 1519.3474,-201 1763.5084,-168.6255 1827.0873,-187.588 2072.3474,-165 2090.5673,-163.322 2110.1832,-161.1666 2128.5154,-159"/>
-<polygon fill="#191970" stroke="#191970" points="1493.6928,-201.6148 1484.5395,-206.9503 1495.0222,-208.4874 1493.6928,-201.6148"/>
+<path fill="none" stroke="#191970" d="M1982.8604,-204.959C2047.356,-191.9824 2150.9048,-171.1483 2211.0369,-159.0496"/>
+<polygon fill="#191970" stroke="#191970" points="1981.9703,-201.5679 1972.8571,-206.9717 1983.3511,-208.4304 1981.9703,-201.5679"/>
 </g>
 <!-- Node25&#45;&gt;Node42 -->
-<g id="edge26" class="edge">
+<g id="edge25" class="edge">
 <title>Node25&#45;&gt;Node42</title>
-<path fill="none" stroke="#191970" d="M1389.0151,-205.0438C1381.1025,-203.5537 1373.0282,-202.1489 1365.3474,-201 1204.1315,-176.8855 1161.5632,-189.1145 1000.3474,-165 989.4236,-163.366 977.7038,-161.2143 966.7853,-159.0361"/>
-<polygon fill="#191970" stroke="#191970" points="1388.4257,-208.4947 1398.9094,-206.9639 1389.7593,-201.6229 1388.4257,-208.4947"/>
+<path fill="none" stroke="#191970" d="M1873.6544,-205.0336C1865.2769,-203.4784 1856.6723,-202.0568 1848.5,-201 1577.3999,-165.9418 1505.3592,-201.8734 1234.5,-165 1223.7309,-163.534 1212.1756,-161.3327 1201.5433,-159.046"/>
+<polygon fill="#191970" stroke="#191970" points="1873.2331,-208.517 1883.7161,-206.9814 1874.5636,-201.6446 1873.2331,-208.517"/>
 </g>
 <!-- Node43 -->
-<g id="node21" class="node">
+<g id="node20" class="node">
 <title>Node43</title>
-<g id="a_node21"><a xlink:href="relay_2op__attr__types_8h.html" target="_top" xlink:title="The Expr and related elements in DataFlow construction. ">
-<polygon fill="#ffffff" stroke="#000000" points="648.8474,-134.5 648.8474,-164.5 765.8474,-164.5 765.8474,-134.5 648.8474,-134.5"/>
-<text text-anchor="start" x="656.8474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
-<text text-anchor="middle" x="707.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attr_types.h</text>
+<g id="a_node20"><a xlink:href="relay_2op__attr__types_8h.html" target="_top" xlink:title="The Expr and related elements in DataFlow construction. ">
+<polygon fill="#ffffff" stroke="#000000" points="722,-134.5 722,-164.5 839,-164.5 839,-134.5 722,-134.5"/>
+<text text-anchor="start" x="730" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
+<text text-anchor="middle" x="780.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attr_types.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node43 -->
-<g id="edge30" class="edge">
+<g id="edge29" class="edge">
 <title>Node25&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M1390.2033,-204.9994C1381.9195,-203.4629 1373.422,-202.0561 1365.3474,-201 1107.0554,-167.2178 1038.4571,-200.1478 780.3474,-165 775.7258,-164.3707 770.9605,-163.6118 766.1832,-162.7723"/>
-<polygon fill="#191970" stroke="#191970" points="1389.6764,-208.4623 1400.1588,-206.923 1391.0045,-201.5894 1389.6764,-208.4623"/>
+<path fill="none" stroke="#191970" d="M1874.5476,-205.034C1865.8936,-203.4345 1856.9682,-201.9988 1848.5,-201 1409.0347,-149.1664 1292.685,-219.1571 853.5,-165 848.8708,-164.4292 844.1,-163.7124 839.319,-162.9019"/>
+<polygon fill="#191970" stroke="#191970" points="1874.055,-208.5036 1884.5384,-206.9705 1875.3872,-201.6315 1874.055,-208.5036"/>
 </g>
 <!-- Node44 -->
-<g id="node22" class="node">
+<g id="node21" class="node">
 <title>Node44</title>
-<g id="a_node22"><a xlink:href="op__strategy_8h.html" target="_top" xlink:title="The Relay operator Strategy and related data structure. ">
-<polygon fill="#ffffff" stroke="#000000" points="620.8474,-67.5 620.8474,-97.5 737.8474,-97.5 737.8474,-67.5 620.8474,-67.5"/>
-<text text-anchor="start" x="628.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
-<text text-anchor="middle" x="679.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_strategy.h</text>
+<g id="a_node21"><a xlink:href="op__strategy_8h.html" target="_top" xlink:title="The Relay operator Strategy and related data structure. ">
+<polygon fill="#ffffff" stroke="#000000" points="684,-67.5 684,-97.5 801,-97.5 801,-67.5 684,-67.5"/>
+<text text-anchor="start" x="692" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
+<text text-anchor="middle" x="742.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_strategy.h</text>
 </a>
 </g>
 </g>
 <!-- Node25&#45;&gt;Node44 -->
-<g id="edge33" class="edge">
+<g id="edge32" class="edge">
 <title>Node25&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1390.1966,-205.0502C1381.9137,-203.5071 1373.4182,-202.0849 1365.3474,-201 1133.9903,-169.9009 1066.3397,-227.2227 841.3474,-165 827.3921,-161.1406 750.2078,-120.4257 707.6094,-97.6741"/>
-<polygon fill="#191970" stroke="#191970" points="1389.6685,-208.5129 1400.1516,-206.9779 1390.9993,-201.6405 1389.6685,-208.5129"/>
+<path fill="none" stroke="#191970" d="M1874.5466,-205.043C1865.8927,-203.4424 1856.9676,-202.004 1848.5,-201 1742.2804,-188.405 986.8125,-202.1299 886.5,-165 865.7348,-157.3139 866.2151,-145.8328 847.5,-134 825.3619,-120.0029 798.8731,-107.0353 778.0396,-97.6138"/>
+<polygon fill="#191970" stroke="#191970" points="1874.0538,-208.5125 1884.5373,-206.9801 1875.3863,-201.6405 1874.0538,-208.5125"/>
 </g>
 <!-- Node27&#45;&gt;Node26 -->
 <g id="edge5" class="edge">
 <title>Node27&#45;&gt;Node26</title>
-<path fill="none" stroke="#191970" d="M1308.0452,-137.8653C1314.5453,-136.5353 1321.0909,-135.2203 1327.3474,-134 1407.2953,-118.4068 1500.1879,-101.9255 1557.6267,-91.9244"/>
-<polygon fill="#191970" stroke="#191970" points="1307.0025,-134.5067 1297.9166,-139.9561 1308.4177,-141.3622 1307.0025,-134.5067"/>
+<path fill="none" stroke="#191970" d="M1545.5325,-137.9555C1552.8931,-136.5242 1560.3723,-135.1592 1567.5,-134 1700.9196,-112.3016 1736.51,-122.1923 1869.5,-98 1872.2705,-97.496 1875.1006,-96.9427 1877.9524,-96.3544"/>
+<polygon fill="#191970" stroke="#191970" points="1544.7344,-134.5457 1535.6128,-139.9353 1546.1045,-141.4103 1544.7344,-134.5457"/>
 </g>
 <!-- Node27&#45;&gt;Node28 -->
 <g id="edge6" class="edge">
 <title>Node27&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M1285.7967,-135.9118C1316.8947,-122.8895 1363.0395,-103.5664 1390.4658,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1284.1435,-132.8096 1276.2715,-139.9005 1286.8473,-139.2663 1284.1435,-132.8096"/>
+<path fill="none" stroke="#191970" d="M1543.8323,-137.6405C1600.0022,-124.6633 1688.9564,-104.1118 1740.9308,-92.1039"/>
+<polygon fill="#191970" stroke="#191970" points="1542.6974,-134.3104 1533.742,-139.9717 1544.2732,-141.1307 1542.6974,-134.3104"/>
 </g>
 <!-- Node27&#45;&gt;Node29 -->
 <g id="edge7" class="edge">
 <title>Node27&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M1232.2417,-133.6115C1217.7241,-122.6825 1198.5649,-108.2592 1184.3016,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1230.5016,-136.6824 1240.5958,-139.9005 1234.7116,-131.0899 1230.5016,-136.6824"/>
+<path fill="none" stroke="#191970" d="M1479.8048,-131.4026C1472.3627,-120.7936 1463.0725,-107.5502 1456.0377,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1477.1579,-133.7239 1485.766,-139.9005 1482.8885,-129.7039 1477.1579,-133.7239"/>
 </g>
 <!-- Node27&#45;&gt;Node30 -->
 <g id="edge8" class="edge">
 <title>Node27&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M1198.0984,-137.8773C1191.7763,-136.5623 1185.4227,-135.2473 1179.3474,-134 1116.5093,-121.0986 1044.9248,-106.7252 993.4608,-96.4487"/>
-<polygon fill="#191970" stroke="#191970" points="1197.4589,-141.3192 1207.9628,-139.9343 1198.8879,-134.4666 1197.4589,-141.3192"/>
+<path fill="none" stroke="#191970" d="M1435.4212,-137.9113C1379.1423,-126.485 1293.0232,-109.0002 1232.6119,-96.7348"/>
+<polygon fill="#191970" stroke="#191970" points="1435.073,-141.4119 1445.5695,-139.9717 1436.4659,-134.5519 1435.073,-141.4119"/>
 </g>
 <!-- Node33&#45;&gt;Node34 -->
 <g id="edge13" class="edge">
 <title>Node33&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1815.3474,-124.1199C1815.3474,-112.9072 1815.3474,-100.4031 1815.3474,-92.055"/>
-<polygon fill="#191970" stroke="#191970" points="1811.8475,-124.2966 1815.3474,-134.2967 1818.8475,-124.2967 1811.8475,-124.2966"/>
-</g>
-<!-- Node35 -->
-<g id="node13" class="node">
-<title>Node35</title>
-<g id="a_node13"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
-<polygon fill="#ffffff" stroke="#000000" points="1753.8474,-.5 1753.8474,-30.5 1876.8474,-30.5 1876.8474,-.5 1753.8474,-.5"/>
-<text text-anchor="start" x="1761.8474" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
-<text text-anchor="middle" x="1815.3474" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
-</a>
-</g>
-</g>
-<!-- Node34&#45;&gt;Node35 -->
-<g id="edge14" class="edge">
-<title>Node34&#45;&gt;Node35</title>
-<path fill="none" stroke="#191970" d="M1815.3474,-62.7758C1815.3474,-52.4641 1815.3474,-40.0437 1815.3474,-30.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1811.8475,-62.9005 1815.3474,-72.9005 1818.8475,-62.9006 1811.8475,-62.9005"/>
+<path fill="none" stroke="#191970" d="M2066.7635,-125.1564C2072.0713,-113.6846 2078.097,-100.6613 2082.079,-92.055"/>
+<polygon fill="#191970" stroke="#191970" points="2063.5571,-123.7513 2062.5344,-134.2967 2069.9101,-126.6908 2063.5571,-123.7513"/>
 </g>
 <!-- Node37 -->
-<g id="node15" class="node">
+<g id="node14" class="node">
 <title>Node37</title>
-<g id="a_node15"><a xlink:href="dataflow__matcher_8h.html" target="_top" xlink:title="A pattern matcher for matching dataflow properties. ">
-<polygon fill="#ffffff" stroke="#000000" points="2341.8474,-.5 2341.8474,-30.5 2488.8474,-30.5 2488.8474,-.5 2341.8474,-.5"/>
-<text text-anchor="start" x="2349.8474" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="2415.3474" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_matcher.h</text>
+<g id="a_node14"><a xlink:href="dataflow__matcher_8h.html" target="_top" xlink:title="A pattern matcher for matching dataflow properties. ">
+<polygon fill="#ffffff" stroke="#000000" points="882,-.5 882,-30.5 1029,-30.5 1029,-.5 882,-.5"/>
+<text text-anchor="start" x="890" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="955.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_matcher.h</text>
 </a>
 </g>
 </g>
 <!-- Node36&#45;&gt;Node37 -->
-<g id="edge16" class="edge">
+<g id="edge15" class="edge">
 <title>Node36&#45;&gt;Node37</title>
-<path fill="none" stroke="#191970" d="M2433.8141,-125.9251C2439.2793,-117.5778 2444.5472,-107.8123 2447.3474,-98 2451.1283,-84.7512 2451.1283,-80.2488 2447.3474,-67 2443.5343,-53.6386 2435.1457,-40.3639 2427.9138,-30.6388"/>
-<polygon fill="#191970" stroke="#191970" points="2430.7771,-124.1606 2427.9138,-134.3612 2436.5133,-128.1726 2430.7771,-124.1606"/>
+<path fill="none" stroke="#191970" d="M981.175,-124.9826C987.4979,-108.4656 992.997,-86.2623 987.5,-67 983.6869,-53.6386 975.2983,-40.3639 968.0664,-30.6388"/>
+<polygon fill="#191970" stroke="#191970" points="977.8434,-123.8783 977.2226,-134.4549 984.3036,-126.5739 977.8434,-123.8783"/>
 </g>
 <!-- Node38 -->
-<g id="node16" class="node">
+<g id="node15" class="node">
 <title>Node38</title>
-<g id="a_node16"><a xlink:href="dataflow__pattern__functor_8h.html" target="_top" xlink:title="A set of passes for operating on pattern graphs. ">
-<polygon fill="#ffffff" stroke="#000000" points="2290.8474,-67.5 2290.8474,-97.5 2437.8474,-97.5 2437.8474,-67.5 2290.8474,-67.5"/>
-<text text-anchor="start" x="2298.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="2364.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern_functor.h</text>
+<g id="a_node15"><a xlink:href="dataflow__pattern__functor_8h.html" target="_top" xlink:title="A set of passes for operating on pattern graphs. ">
+<polygon fill="#ffffff" stroke="#000000" points="831,-67.5 831,-97.5 978,-97.5 978,-67.5 831,-67.5"/>
+<text text-anchor="start" x="839" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="904.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node36&#45;&gt;Node38 -->
-<g id="edge17" class="edge">
+<g id="edge16" class="edge">
 <title>Node36&#45;&gt;Node38</title>
-<path fill="none" stroke="#191970" d="M2397.5069,-126.0626C2390.3281,-116.6315 2382.2565,-106.0276 2375.8743,-97.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2394.9328,-128.4595 2403.7747,-134.2967 2400.5028,-124.2197 2394.9328,-128.4595"/>
+<path fill="none" stroke="#191970" d="M947.5992,-126.9253C938.2445,-117.2828 927.5743,-106.2843 919.1911,-97.6432"/>
+<polygon fill="#191970" stroke="#191970" points="945.2752,-129.5564 954.7505,-134.2967 950.2994,-124.6821 945.2752,-129.5564"/>
 </g>
 <!-- Node38&#45;&gt;Node37 -->
-<g id="edge18" class="edge">
+<g id="edge17" class="edge">
 <title>Node38&#45;&gt;Node37</title>
-<path fill="none" stroke="#191970" d="M2382.1878,-59.0626C2389.3666,-49.6315 2397.4383,-39.0276 2403.8205,-30.6432"/>
-<polygon fill="#191970" stroke="#191970" points="2379.192,-57.2197 2375.9201,-67.2967 2384.7619,-61.4595 2379.192,-57.2197"/>
+<path fill="none" stroke="#191970" d="M922.3404,-59.0626C929.5193,-49.6315 937.5909,-39.0276 943.9731,-30.6432"/>
+<polygon fill="#191970" stroke="#191970" points="919.3446,-57.2197 916.0727,-67.2967 924.9146,-61.4595 919.3446,-57.2197"/>
 </g>
 <!-- Node40&#45;&gt;Node28 -->
-<g id="edge22" class="edge">
+<g id="edge21" class="edge">
 <title>Node40&#45;&gt;Node28</title>
-<path fill="none" stroke="#191970" d="M1413.3474,-129.6079C1413.3474,-117.214 1413.3474,-101.8263 1413.3474,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1409.8475,-129.9005 1413.3474,-139.9005 1416.8475,-129.9006 1409.8475,-129.9005"/>
+<path fill="none" stroke="#191970" d="M1810.0698,-131.1099C1802.9063,-118.4795 1793.6868,-102.2241 1787.9344,-92.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1807.0776,-132.9289 1815.0555,-139.9005 1813.1665,-129.4754 1807.0776,-132.9289"/>
 </g>
 <!-- Node40&#45;&gt;Node29 -->
-<g id="edge23" class="edge">
+<g id="edge22" class="edge">
 <title>Node40&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M1368.0952,-137.3237C1326.5664,-126.1493 1264.9049,-109.5576 1220.2993,-97.5553"/>
-<polygon fill="#191970" stroke="#191970" points="1367.3702,-140.7531 1377.9362,-139.9717 1369.1891,-133.9935 1367.3702,-140.7531"/>
+<path fill="none" stroke="#191970" d="M1757.856,-138.1947C1749.993,-136.78 1742.0599,-135.3549 1734.5,-134 1656.9954,-120.1099 1567.7785,-104.2277 1509.216,-93.8171"/>
+<polygon fill="#191970" stroke="#191970" points="1757.2831,-141.6477 1767.745,-139.9749 1758.5233,-134.7585 1757.2831,-141.6477"/>
 </g>
 <!-- Node40&#45;&gt;Node34 -->
-<g id="edge24" class="edge">
+<g id="edge23" class="edge">
 <title>Node40&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1475.6447,-138.1448C1483.618,-136.7289 1491.6725,-135.3169 1499.3474,-134 1588.2348,-118.7477 1691.3841,-102.1419 1755.0121,-92.025"/>
-<polygon fill="#191970" stroke="#191970" points="1474.8526,-134.7308 1465.6232,-139.9336 1476.0826,-141.6219 1474.8526,-134.7308"/>
+<path fill="none" stroke="#191970" d="M1868.227,-137.4785C1919.782,-124.4929 2000.8957,-104.062 2048.371,-92.1039"/>
+<polygon fill="#191970" stroke="#191970" points="1867.171,-134.1351 1858.3288,-139.9717 1868.8809,-140.9231 1867.171,-134.1351"/>
 </g>
 <!-- Node42&#45;&gt;Node29 -->
-<g id="edge27" class="edge">
+<g id="edge26" class="edge">
 <title>Node42&#45;&gt;Node29</title>
-<path fill="none" stroke="#191970" d="M967.4009,-137.2528C1007.5925,-126.0792 1067.1119,-109.5323 1110.1931,-97.5553"/>
-<polygon fill="#191970" stroke="#191970" points="966.318,-133.921 957.6208,-139.9717 968.193,-140.6652 966.318,-133.921"/>
+<path fill="none" stroke="#191970" d="M1212.7387,-137.606C1259.9439,-126.4302 1330.783,-109.6591 1381.908,-97.5553"/>
+<polygon fill="#191970" stroke="#191970" points="1211.6711,-134.262 1202.7465,-139.9717 1213.2838,-141.0737 1211.6711,-134.262"/>
 </g>
 <!-- Node42&#45;&gt;Node30 -->
-<g id="edge28" class="edge">
+<g id="edge27" class="edge">
 <title>Node42&#45;&gt;Node30</title>
-<path fill="none" stroke="#191970" d="M923.3474,-129.7758C923.3474,-119.4641 923.3474,-107.0437 923.3474,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="919.8475,-129.9005 923.3474,-139.9005 926.8475,-129.9006 919.8475,-129.9005"/>
+<path fill="none" stroke="#191970" d="M1162.5,-129.7758C1162.5,-119.4641 1162.5,-107.0437 1162.5,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1159.0001,-129.9005 1162.5,-139.9005 1166.0001,-129.9006 1159.0001,-129.9005"/>
 </g>
 <!-- Node42&#45;&gt;Node34 -->
-<g id="edge29" class="edge">
+<g id="edge28" class="edge">
 <title>Node42&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M994.5493,-138.5775C1007.4394,-136.8538 1020.7772,-135.2359 1033.3474,-134 1317.7577,-106.0377 1390.5529,-121.7327 1675.3474,-98 1695.0867,-96.3551 1716.3506,-94.1993 1736.1981,-92.0207"/>
-<polygon fill="#191970" stroke="#191970" points="993.7634,-135.1524 984.3309,-139.9773 994.7135,-142.0876 993.7634,-135.1524"/>
+<path fill="none" stroke="#191970" d="M1211.1897,-137.8836C1218.9501,-136.3606 1226.9183,-134.9883 1234.5,-134 1570.7,-90.1742 1659.4632,-134.842 1996.5,-98 2009.897,-96.5356 2024.3195,-94.3348 2037.6097,-92.0481"/>
+<polygon fill="#191970" stroke="#191970" points="1210.2443,-134.5048 1201.1575,-139.9529 1211.6584,-141.3605 1210.2443,-134.5048"/>
 </g>
 <!-- Node43&#45;&gt;Node34 -->
-<g id="edge32" class="edge">
+<g id="edge31" class="edge">
 <title>Node43&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M776.1171,-141.1977C799.9145,-138.564 826.7759,-135.8573 851.3474,-134 1216.8762,-106.3707 1309.8609,-126.1847 1675.3474,-98 1695.5842,-96.4394 1717.4151,-94.2615 1737.6793,-92.0305"/>
-<polygon fill="#191970" stroke="#191970" points="775.6688,-137.726 766.1214,-142.3193 776.4494,-144.6823 775.6688,-137.726"/>
+<path fill="none" stroke="#191970" d="M849.4495,-138.2688C861.7597,-136.5919 874.4876,-135.0696 886.5,-134 1378.1475,-90.222 1505.4469,-148.0064 1996.5,-98 2010.2229,-96.6025 2025.013,-94.3647 2038.5599,-92.0192"/>
+<polygon fill="#191970" stroke="#191970" points="848.6465,-134.8472 839.2321,-139.7072 849.6224,-141.7789 848.6465,-134.8472"/>
 </g>
 <!-- Node43&#45;&gt;Node44 -->
-<g id="edge31" class="edge">
+<g id="edge30" class="edge">
 <title>Node43&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M697.0677,-124.9021C693.2511,-115.7696 689.0368,-105.6854 685.6759,-97.6432"/>
-<polygon fill="#191970" stroke="#191970" points="693.9084,-126.4196 700.9937,-134.2967 700.3671,-123.7204 693.9084,-126.4196"/>
+<path fill="none" stroke="#191970" d="M766.8788,-125.4837C761.6132,-116.1996 755.747,-105.8565 751.0887,-97.6432"/>
+<polygon fill="#191970" stroke="#191970" points="763.8993,-127.325 771.8772,-134.2967 769.9882,-123.8716 763.8993,-127.325"/>
 </g>
 <!-- Node46 -->
-<g id="node24" class="node">
+<g id="node23" class="node">
 <title>Node46</title>
-<g id="a_node24"><a xlink:href="greedy_8h.html" target="_top" xlink:title="This header file contains helper methods used in greedy algorithms for planning memory for USMP...">
-<polygon fill="#ffffff" stroke="#000000" points="188.3474,-134.5 188.3474,-164.5 306.3474,-164.5 306.3474,-134.5 188.3474,-134.5"/>
-<text text-anchor="start" x="196.3474" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
-<text text-anchor="middle" x="247.3474" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algo/greedy.h</text>
+<g id="a_node23"><a xlink:href="greedy_8h.html" target="_top" xlink:title="This header file contains helper methods used in greedy algorithms for planning memory for USMP...">
+<polygon fill="#ffffff" stroke="#000000" points="547.5,-134.5 547.5,-164.5 665.5,-164.5 665.5,-134.5 547.5,-134.5"/>
+<text text-anchor="start" x="555.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
+<text text-anchor="middle" x="606.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algo/greedy.h</text>
 </a>
 </g>
 </g>
 <!-- Node45&#45;&gt;Node46 -->
-<g id="edge38" class="edge">
+<g id="edge37" class="edge">
 <title>Node45&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M128.9728,-202.7289C153.7141,-191.6035 188.485,-175.9683 213.9408,-164.5218"/>
-<polygon fill="#191970" stroke="#191970" points="127.3804,-199.6072 119.6954,-206.9005 130.2512,-205.9915 127.3804,-199.6072"/>
+<path fill="none" stroke="#191970" d="M543.1828,-200.6115C556.7217,-189.6825 574.5893,-175.2592 587.8909,-164.5218"/>
+<polygon fill="#191970" stroke="#191970" points="540.9746,-197.8959 535.3919,-206.9005 545.3715,-203.3427 540.9746,-197.8959"/>
 </g>
 <!-- Node47 -->
-<g id="node25" class="node">
+<g id="node24" class="node">
 <title>Node47</title>
-<g id="a_node25"><a xlink:href="detail_2extern_8h.html" target="_top" xlink:title="Helpers for using external functions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="42.8474,-67.5 42.8474,-97.5 169.8474,-97.5 169.8474,-67.5 42.8474,-67.5"/>
-<text text-anchor="start" x="50.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="106.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extern.h</text>
+<g id="a_node24"><a xlink:href="detail_2extern_8h.html" target="_top" xlink:title="Helpers for using external functions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="284,-67.5 284,-97.5 411,-97.5 411,-67.5 284,-67.5"/>
+<text text-anchor="start" x="292" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="347.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extern.h</text>
 </a>
 </g>
 </g>
 <!-- Node45&#45;&gt;Node47 -->
-<g id="edge39" class="edge">
+<g id="edge38" class="edge">
 <title>Node45&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M53.7482,-203.1177C35.3854,-195.1626 15.9602,-183.0084 5.3474,-165 -1.6479,-153.1301 -1.8498,-145.7486 5.3474,-134 15.7833,-116.9645 33.821,-105.3418 51.792,-97.5177"/>
-<polygon fill="#191970" stroke="#191970" points="52.6172,-206.435 63.2017,-206.9037 55.2198,-199.9367 52.6172,-206.435"/>
+<path fill="none" stroke="#191970" d="M467.4407,-204.6354C427.5006,-195.0584 378.5091,-180.6418 364.5,-165 347.8165,-146.3721 345.836,-115.8199 346.3601,-97.5849"/>
+<polygon fill="#191970" stroke="#191970" points="466.8383,-208.089 477.3732,-206.9637 468.4359,-201.2737 466.8383,-208.089"/>
 </g>
 <!-- Node52 -->
-<g id="node26" class="node">
+<g id="node25" class="node">
 <title>Node52</title>
-<g id="a_node26"><a xlink:href="elemwise_8h.html" target="_top" xlink:title="Elementwise op constructions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="14.8474,-140 14.8474,-159 169.8474,-159 169.8474,-140 14.8474,-140"/>
-<text text-anchor="middle" x="92.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/elemwise.h</text>
+<g id="a_node25"><a xlink:href="elemwise_8h.html" target="_top" xlink:title="Elementwise op constructions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="374,-140 374,-159 529,-159 529,-140 374,-140"/>
+<text text-anchor="middle" x="451.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/elemwise.h</text>
 </a>
 </g>
 </g>
 <!-- Node45&#45;&gt;Node52 -->
-<g id="edge40" class="edge">
+<g id="edge39" class="edge">
 <title>Node45&#45;&gt;Node52</title>
-<path fill="none" stroke="#191970" d="M96.566,-196.6079C95.4561,-184.214 94.0781,-168.8263 93.2054,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="93.1096,-197.2526 97.4877,-206.9005 100.0817,-196.6282 93.1096,-197.2526"/>
+<path fill="none" stroke="#191970" d="M505.7042,-199.94C491.893,-187.0879 473.2303,-169.7212 461.7967,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="503.4791,-202.6504 513.1842,-206.9005 508.2478,-197.5259 503.4791,-202.6504"/>
 </g>
 <!-- Node59 -->
-<g id="node28" class="node">
+<g id="node27" class="node">
 <title>Node59</title>
-<g id="a_node28"><a xlink:href="int__solver_8h.html" target="_top" xlink:title="integer constraints data structures and solvers ">
-<polygon fill="#ffffff" stroke="#000000" points="400.3474,-201.5 400.3474,-231.5 516.3474,-231.5 516.3474,-201.5 400.3474,-201.5"/>
-<text text-anchor="start" x="408.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/arith/int</text>
-<text text-anchor="middle" x="458.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_solver.h</text>
+<g id="a_node27"><a xlink:href="int__solver_8h.html" target="_top" xlink:title="integer constraints data structures and solvers ">
+<polygon fill="#ffffff" stroke="#000000" points="132.5,-201.5 132.5,-231.5 248.5,-231.5 248.5,-201.5 132.5,-201.5"/>
+<text text-anchor="start" x="140.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/arith/int</text>
+<text text-anchor="middle" x="190.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_solver.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node59 -->
-<g id="edge42" class="edge">
+<g id="edge41" class="edge">
 <title>Node58&#45;&gt;Node59</title>
-<path fill="none" stroke="#191970" d="M523.9531,-267.6115C509.9249,-256.6825 491.4115,-242.2592 477.629,-231.5218"/>
-<polygon fill="#191970" stroke="#191970" points="521.986,-270.5158 532.0257,-273.9005 526.2881,-264.9937 521.986,-270.5158"/>
+<path fill="none" stroke="#191970" d="M256.1058,-267.6115C242.0775,-256.6825 223.5641,-242.2592 209.7817,-231.5218"/>
+<polygon fill="#191970" stroke="#191970" points="254.1387,-270.5158 264.1783,-273.9005 258.4407,-264.9937 254.1387,-270.5158"/>
 </g>
 <!-- Node60 -->
-<g id="node29" class="node">
+<g id="node28" class="node">
 <title>Node60</title>
-<g id="a_node29"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="572.8474,-207 572.8474,-226 701.8474,-226 701.8474,-207 572.8474,-207"/>
-<text text-anchor="middle" x="637.3474" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/tensor.h</text>
+<g id="a_node28"><a xlink:href="tensor_8h.html" target="_top" xlink:title="Dataflow tensor object. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="305,-207 305,-226 434,-226 434,-207 305,-207"/>
+<text text-anchor="middle" x="369.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/tensor.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node60 -->
-<g id="edge43" class="edge">
+<g id="edge42" class="edge">
 <title>Node58&#45;&gt;Node60</title>
-<path fill="none" stroke="#191970" d="M565.8482,-268.0102C583.814,-255.067 608.865,-237.0195 624.0475,-226.0817"/>
-<polygon fill="#191970" stroke="#191970" points="563.7398,-265.2153 557.672,-273.9005 567.8316,-270.8949 563.7398,-265.2153"/>
+<path fill="none" stroke="#191970" d="M298.0008,-268.0102C315.9667,-255.067 341.0176,-237.0195 356.2001,-226.0817"/>
+<polygon fill="#191970" stroke="#191970" points="295.8925,-265.2153 289.8246,-273.9005 299.9842,-270.8949 295.8925,-265.2153"/>
 </g>
 <!-- Node62 -->
-<g id="node30" class="node">
+<g id="node29" class="node">
 <title>Node62</title>
-<g id="a_node30"><a xlink:href="operation_8h.html" target="_top" xlink:title="Operation node can generate one or multiple Tensors. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="362.3474,-140 362.3474,-159 508.3474,-159 508.3474,-140 362.3474,-140"/>
-<text text-anchor="middle" x="435.3474" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/operation.h</text>
+<g id="a_node29"><a xlink:href="operation_8h.html" target="_top" xlink:title="Operation node can generate one or multiple Tensors. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="133.5,-140 133.5,-159 279.5,-159 279.5,-140 133.5,-140"/>
+<text text-anchor="middle" x="206.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/te/operation.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node62 -->
-<g id="edge50" class="edge">
+<g id="edge49" class="edge">
 <title>Node58&#45;&gt;Node62</title>
-<path fill="none" stroke="#191970" d="M487.1145,-271.5372C448.6515,-262.2035 402.9446,-248.1403 391.3474,-232 373.7294,-207.4805 404.9398,-175.0397 423.3253,-159.1319"/>
-<polygon fill="#191970" stroke="#191970" points="486.6861,-275.0323 497.2228,-273.9243 488.2949,-268.2196 486.6861,-275.0323"/>
+<path fill="none" stroke="#191970" d="M275.0321,-263.8833C273.041,-246.4523 268.3772,-220.7489 257.5,-201 248.0298,-183.8057 231.1632,-168.443 219.4312,-159.0646"/>
+<polygon fill="#191970" stroke="#191970" points="271.5628,-264.3735 275.993,-273.9976 278.5314,-263.7113 271.5628,-264.3735"/>
 </g>
 <!-- Node88 -->
-<g id="node31" class="node">
+<g id="node30" class="node">
 <title>Node88</title>
-<g id="a_node31"><a xlink:href="pad__utils_8h.html" target="_top" xlink:title="Padding helpers. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="446.8474,-67.5 446.8474,-97.5 573.8474,-97.5 573.8474,-67.5 446.8474,-67.5"/>
-<text text-anchor="start" x="454.8474" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="510.3474" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/pad_utils.h</text>
+<g id="a_node30"><a xlink:href="pad__utils_8h.html" target="_top" xlink:title="Padding helpers. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="0,-67.5 0,-97.5 127,-97.5 127,-67.5 0,-67.5"/>
+<text text-anchor="start" x="8" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="63.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/pad_utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node88 -->
-<g id="edge53" class="edge">
+<g id="edge52" class="edge">
 <title>Node58&#45;&gt;Node88</title>
-<path fill="none" stroke="#191970" d="M541.0392,-263.9427C534.2692,-223.9205 518.9627,-133.4316 512.8946,-97.5588"/>
-<polygon fill="#191970" stroke="#191970" points="537.5886,-264.5292 542.7075,-273.8054 544.4905,-263.3616 537.5886,-264.5292"/>
+<path fill="none" stroke="#191970" d="M220.2387,-271.6181C179.1379,-261.8993 127.9965,-247.3047 112.5,-232 74.6049,-194.5739 66.0101,-127.4219 64.0657,-97.5448"/>
+<polygon fill="#191970" stroke="#191970" points="219.6429,-275.0727 230.1748,-273.9203 221.223,-268.2533 219.6429,-275.0727"/>
 </g>
 <!-- Node56 -->
-<g id="node32" class="node">
+<g id="node31" class="node">
 <title>Node56</title>
-<g id="a_node32"><a xlink:href="topi_2nn_8h.html" target="_top" xlink:title="NN op constructions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="291.3474,-73 291.3474,-92 411.3474,-92 411.3474,-73 291.3474,-73"/>
-<text text-anchor="middle" x="351.3474" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/nn.h</text>
+<g id="a_node31"><a xlink:href="topi_2nn_8h.html" target="_top" xlink:title="NN op constructions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="145.5,-73 145.5,-92 265.5,-92 265.5,-73 145.5,-73"/>
+<text text-anchor="middle" x="205.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/nn.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node56 -->
-<g id="edge54" class="edge">
+<g id="edge53" class="edge">
 <title>Node58&#45;&gt;Node56</title>
-<path fill="none" stroke="#191970" d="M491.0531,-271.6114C450.3526,-261.6254 398.5774,-246.6729 382.3474,-232 341.2522,-194.8476 346.5956,-118.7135 349.9429,-92.0103"/>
-<polygon fill="#191970" stroke="#191970" points="490.3269,-275.0365 500.8686,-273.9773 491.9672,-268.2314 490.3269,-275.0365"/>
+<path fill="none" stroke="#191970" d="M219.2671,-271.5372C180.8042,-262.2035 135.0973,-248.1403 123.5,-232 115.739,-221.1987 109.2632,-161.2592 124.5,-134 135.8829,-113.6355 159.0406,-100.1425 177.6901,-92.0957"/>
+<polygon fill="#191970" stroke="#191970" points="218.8387,-275.0323 229.3754,-273.9243 220.4475,-268.2196 218.8387,-275.0323"/>
 </g>
 <!-- Node109 -->
-<g id="node33" class="node">
+<g id="node32" class="node">
 <title>Node109</title>
-<g id="a_node33"><a xlink:href="data__layout_8h.html" target="_top" xlink:title="Layout expression to describe the data organization of a tensor. And BijectiveLayout to mapping two d...">
-<polygon fill="#ffffff" stroke="#ff0000" points="758.8474,-201.5 758.8474,-231.5 871.8474,-231.5 871.8474,-201.5 758.8474,-201.5"/>
-<text text-anchor="start" x="766.8474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/data</text>
-<text text-anchor="middle" x="815.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_layout.h</text>
+<g id="a_node32"><a xlink:href="data__layout_8h.html" target="_top" xlink:title="Layout expression to describe the data organization of a tensor. And BijectiveLayout to mapping two d...">
+<polygon fill="#ffffff" stroke="#ff0000" points="652,-201.5 652,-231.5 765,-231.5 765,-201.5 652,-201.5"/>
+<text text-anchor="start" x="660" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/data</text>
+<text text-anchor="middle" x="708.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_layout.h</text>
 </a>
 </g>
 </g>
 <!-- Node58&#45;&gt;Node109 -->
-<g id="edge51" class="edge">
+<g id="edge50" class="edge">
 <title>Node58&#45;&gt;Node109</title>
-<path fill="none" stroke="#191970" d="M592.7325,-271.5376C639.2864,-260.028 709.6574,-242.63 758.7795,-230.4854"/>
-<polygon fill="#191970" stroke="#191970" points="591.7549,-268.1738 582.8873,-273.9717 593.435,-274.9693 591.7549,-268.1738"/>
+<path fill="none" stroke="#191970" d="M342.5353,-273.2584C427.0792,-260.1463 572.1422,-237.6481 651.8797,-225.2814"/>
+<polygon fill="#191970" stroke="#191970" points="341.879,-269.8183 332.5336,-274.8096 342.9519,-276.7356 341.879,-269.8183"/>
 </g>
 <!-- Node60&#45;&gt;Node43 -->
-<g id="edge44" class="edge">
+<g id="edge43" class="edge">
 <title>Node60&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M654.9254,-199.6753C666.2155,-188.8691 680.7522,-174.9553 691.653,-164.5218"/>
-<polygon fill="#191970" stroke="#191970" points="652.1808,-197.4575 647.3767,-206.9005 657.021,-202.5144 652.1808,-197.4575"/>
+<path fill="none" stroke="#191970" d="M426.596,-205.0177C433.9581,-203.6195 441.4018,-202.2464 448.5,-201 499.7735,-191.9969 640.9561,-170.5107 721.7386,-158.3265"/>
+<polygon fill="#191970" stroke="#191970" points="425.8068,-201.6052 416.6475,-206.9304 427.1285,-208.4793 425.8068,-201.6052"/>
 </g>
 <!-- Node60&#45;&gt;Node44 -->
-<g id="edge45" class="edge">
+<g id="edge44" class="edge">
 <title>Node60&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M621.9898,-198.4953C609.4006,-181.4205 595.3148,-155.2849 606.3474,-134 614.6268,-118.0266 630.3915,-105.955 645.1581,-97.5289"/>
-<polygon fill="#191970" stroke="#191970" points="619.3667,-200.8219 628.2958,-206.5246 624.8719,-196.4983 619.3667,-200.8219"/>
+<path fill="none" stroke="#191970" d="M361.4965,-197.5438C355.0984,-179.0483 349.4418,-151.2489 364.5,-134 385.1623,-110.3317 582.8652,-93.456 683.808,-86.3067"/>
+<polygon fill="#191970" stroke="#191970" points="358.2602,-198.8802 365.0991,-206.9722 364.7992,-196.3816 358.2602,-198.8802"/>
 </g>
 <!-- Node60&#45;&gt;Node62 -->
-<g id="edge46" class="edge">
+<g id="edge45" class="edge">
 <title>Node60&#45;&gt;Node62</title>
-<path fill="none" stroke="#191970" d="M598.9024,-203.7484C559.6519,-190.7297 499.6106,-170.815 464.2354,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="597.8123,-207.0743 608.4057,-206.9005 600.0161,-200.4303 597.8123,-207.0743"/>
+<path fill="none" stroke="#191970" d="M336.8528,-203.0806C305.1685,-190.057 257.8721,-170.6162 229.8106,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="335.5663,-206.3359 346.1461,-206.9005 338.2276,-199.8615 335.5663,-206.3359"/>
 </g>
 <!-- Node62&#45;&gt;Node47 -->
-<g id="edge47" class="edge">
+<g id="edge46" class="edge">
 <title>Node62&#45;&gt;Node47</title>
-<path fill="none" stroke="#191970" d="M378.4505,-137.9131C320.3398,-126.079 230.3115,-107.745 169.8984,-95.442"/>
-<polygon fill="#191970" stroke="#191970" points="378.0618,-141.4057 388.5591,-139.9717 379.4587,-134.5465 378.0618,-141.4057"/>
+<path fill="none" stroke="#191970" d="M235.7924,-135.5809C259.185,-124.4653 291.9046,-108.9177 315.887,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="234.2319,-132.4473 226.7019,-139.9005 237.2362,-138.7699 234.2319,-132.4473"/>
 </g>
 <!-- Node62&#45;&gt;Node88 -->
-<g id="edge48" class="edge">
+<g id="edge47" class="edge">
 <title>Node62&#45;&gt;Node88</title>
-<path fill="none" stroke="#191970" d="M453.8296,-132.9892C465.9747,-122.1395 481.7392,-108.0566 493.532,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="451.2189,-130.6282 446.093,-139.9005 455.8824,-135.8485 451.2189,-130.6282"/>
+<path fill="none" stroke="#191970" d="M176.7921,-135.5809C153.0676,-124.4653 119.884,-108.9177 95.5614,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="175.4713,-138.8271 186.0116,-139.9005 178.4412,-132.4884 175.4713,-138.8271"/>
 </g>
 <!-- Node62&#45;&gt;Node56 -->
-<g id="edge49" class="edge">
+<g id="edge48" class="edge">
 <title>Node62&#45;&gt;Node56</title>
-<path fill="none" stroke="#191970" d="M415.4831,-133.6559C399.2894,-120.7395 376.9487,-102.9201 363.3602,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="413.312,-136.4011 423.3122,-139.9005 417.6769,-130.9287 413.312,-136.4011"/>
+<path fill="none" stroke="#191970" d="M206.2031,-129.6079C206.0181,-117.214 205.7885,-101.8263 205.643,-92.0817"/>
+<polygon fill="#191970" stroke="#191970" points="202.7078,-129.9539 206.3567,-139.9005 209.707,-129.8494 202.7078,-129.9539"/>
 </g>
 <!-- Node109&#45;&gt;Node43 -->
-<g id="edge52" class="edge">
+<g id="edge51" class="edge">
 <title>Node109&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M782.4252,-196.0761C766.1468,-185.9774 746.8372,-173.9983 731.8774,-164.7177"/>
-<polygon fill="#191970" stroke="#191970" points="780.7673,-199.1663 791.1101,-201.4639 784.4575,-193.218 780.7673,-199.1663"/>
+<path fill="none" stroke="#191970" d="M732.452,-194.2113C742.8871,-184.5009 754.8488,-173.3698 764.2267,-164.6432"/>
+<polygon fill="#191970" stroke="#191970" points="729.7743,-191.9221 724.8379,-201.2967 734.5429,-197.0466 729.7743,-191.9221"/>
 </g>
 <!-- Node114 -->
-<g id="node38" class="node">
+<g id="node37" class="node">
 <title>Node114</title>
-<g id="a_node38"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
-<polygon fill="#ffffff" stroke="#000000" points="1440.8474,-335.5 1440.8474,-365.5 1547.8474,-365.5 1547.8474,-335.5 1440.8474,-335.5"/>
-<text text-anchor="start" x="1448.8474" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1494.3474" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
+<g id="a_node37"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
+<polygon fill="#ffffff" stroke="#000000" points="1613,-335.5 1613,-365.5 1720,-365.5 1720,-335.5 1613,-335.5"/>
+<text text-anchor="start" x="1621" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1666.5" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
 </a>
 </g>
 </g>
 <!-- Node113&#45;&gt;Node114 -->
-<g id="edge59" class="edge">
+<g id="edge58" class="edge">
 <title>Node113&#45;&gt;Node114</title>
-<path fill="none" stroke="#191970" d="M1494.3474,-392.0249C1494.3474,-383.128 1494.3474,-373.4287 1494.3474,-365.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1490.8475,-392.2966 1494.3474,-402.2967 1497.8475,-392.2967 1490.8475,-392.2966"/>
+<path fill="none" stroke="#191970" d="M1666.5,-392.0249C1666.5,-383.128 1666.5,-373.4287 1666.5,-365.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1663.0001,-392.2966 1666.5,-402.2967 1670.0001,-392.2967 1663.0001,-392.2966"/>
 </g>
 <!-- Node114&#45;&gt;Node34 -->
-<g id="edge75" class="edge">
+<g id="edge74" class="edge">
 <title>Node114&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M1558.1863,-344.1842C1587.7411,-341.3038 1623.3259,-337.8975 1655.3474,-335 1844.1414,-317.9167 1900.5865,-359.1752 2080.3474,-299 2186.4048,-263.4971 2239.2741,-262.9016 2293.3474,-165 2300.0086,-152.9395 2302.5531,-144.2509 2293.3474,-134 2267.3625,-105.0651 2025.8616,-90.9648 1896.4205,-85.4353"/>
-<polygon fill="#191970" stroke="#191970" points="1557.6119,-340.7235 1547.9997,-345.1794 1558.2926,-347.6904 1557.6119,-340.7235"/>
+<path fill="none" stroke="#191970" d="M1730.0489,-343.9911C1760.4302,-341.008 1797.3252,-337.5723 1830.5,-335 1962.3465,-324.777 2305.2158,-356.09 2424.5,-299 2460.8247,-281.6148 2463.4383,-265.6899 2485.5,-232 2510.4543,-193.8929 2545.7288,-168.0747 2515.5,-134 2492.8494,-108.4677 2285.5748,-93.2094 2167.6367,-86.5216"/>
+<polygon fill="#191970" stroke="#191970" points="1729.6173,-340.5166 1720.0102,-344.9835 1730.306,-347.4826 1729.6173,-340.5166"/>
 </g>
 <!-- Node114&#45;&gt;Node41 -->
-<g id="edge72" class="edge">
+<g id="edge71" class="edge">
 <title>Node114&#45;&gt;Node41</title>
-<path fill="none" stroke="#191970" d="M1557.9289,-335.7007C1559.4138,-335.4542 1560.8882,-335.22 1562.3474,-335 1667.68,-319.1191 1942.6627,-341.4837 2040.3474,-299 2114.0481,-266.947 2175.8454,-186.8805 2195.6742,-159.1415"/>
-<polygon fill="#191970" stroke="#191970" points="1557.2479,-332.267 1548.0283,-337.4871 1558.4909,-339.1558 1557.2479,-332.267"/>
+<path fill="none" stroke="#191970" d="M1730.0804,-335.6928C1731.5656,-335.4486 1733.0403,-335.2171 1734.5,-335 1790.1415,-326.7249 2198.6393,-337.6634 2239.5,-299 2279.0291,-261.5965 2266.8664,-186.2803 2260.9157,-159.3517"/>
+<polygon fill="#191970" stroke="#191970" points="1729.4039,-332.2581 1720.1779,-337.467 1730.6384,-339.1484 1729.4039,-332.2581"/>
 </g>
 <!-- Node114&#45;&gt;Node43 -->
-<g id="edge73" class="edge">
+<g id="edge72" class="edge">
 <title>Node114&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M1430.5081,-343.2606C1356.9213,-334.2246 1241.0141,-317.6681 1201.3474,-299 1140.5876,-270.4049 1147.9109,-227.821 1086.3474,-201 959.5921,-145.7773 913.6873,-187.9754 777.3474,-165 773.6651,-164.3795 769.8846,-163.6915 766.0794,-162.9605"/>
-<polygon fill="#191970" stroke="#191970" points="1430.2495,-346.7548 1440.5983,-344.4851 1431.0929,-339.8058 1430.2495,-346.7548"/>
+<path fill="none" stroke="#191970" d="M1605.1232,-332.2029C1580.7754,-323.7381 1553.0289,-312.5322 1529.5,-299 1510.6061,-288.1335 1511.393,-276.9067 1491.5,-268 1225.3438,-148.8343 1129.3352,-222.7739 843.5,-165 842.0647,-164.7099 840.6128,-164.4093 839.1496,-164.1"/>
+<polygon fill="#191970" stroke="#191970" points="1604.0273,-335.527 1614.6217,-335.428 1606.2779,-328.8986 1604.0273,-335.527"/>
 </g>
 <!-- Node114&#45;&gt;Node44 -->
-<g id="edge74" class="edge">
+<g id="edge73" class="edge">
 <title>Node114&#45;&gt;Node44</title>
-<path fill="none" stroke="#191970" d="M1430.8473,-348.6637C1330.2967,-344.7962 1128.672,-333.1299 961.3474,-299 864.5253,-279.2508 836.5889,-278.4054 749.3474,-232 729.7988,-221.6017 728.9836,-212.9567 710.3474,-201 680.5691,-181.8948 657.8632,-195.1483 639.3474,-165 625.519,-142.4841 646.4432,-114.4796 662.8646,-97.5719"/>
-<polygon fill="#191970" stroke="#191970" points="1430.7209,-352.1613 1440.844,-349.0351 1430.9809,-345.1661 1430.7209,-352.1613"/>
+<path fill="none" stroke="#191970" d="M1602.6984,-348.5742C1409.5849,-342.5088 839.6758,-322.7852 759.5,-299 702.0521,-281.9573 672.5529,-283.8415 642.5,-232 635.59,-220.0803 637.6036,-213.8784 642.5,-201 650.1077,-180.9902 660.5786,-181.2624 674.5,-165 694.4164,-141.7345 716.9079,-114.1875 730.3814,-97.5431"/>
+<polygon fill="#191970" stroke="#191970" points="1602.8651,-352.081 1612.9695,-348.8951 1603.0837,-345.0845 1602.8651,-352.081"/>
 </g>
 <!-- Node114&#45;&gt;Node112 -->
-<g id="edge79" class="edge">
+<g id="edge78" class="edge">
 <title>Node114&#45;&gt;Node112</title>
-<path fill="none" stroke="#191970" d="M1557.919,-335.6305C1559.4068,-335.405 1560.8845,-335.1942 1562.3474,-335 1960.5065,-282.1441 2067.6555,-355.2638 2465.3474,-299 2468.3586,-298.574 2471.4354,-298.0654 2474.5305,-297.4965"/>
-<polygon fill="#191970" stroke="#191970" points="1557.2785,-332.189 1548.0031,-337.3091 1558.447,-339.0908 1557.2785,-332.189"/>
+<path fill="none" stroke="#191970" d="M1730.0725,-335.6371C1731.56,-335.4097 1733.0375,-335.1966 1734.5,-335 2101.7631,-285.6205 2200.2369,-348.3795 2567.5,-299 2572.1801,-298.3707 2577.0125,-297.5735 2581.8421,-296.674"/>
+<polygon fill="#191970" stroke="#191970" points="1729.4282,-332.1964 1720.1579,-337.326 1730.6037,-339.097 1729.4282,-332.1964"/>
 </g>
 <!-- Node99 -->
-<g id="node39" class="node">
+<g id="node38" class="node">
 <title>Node99</title>
-<g id="a_node39"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1626.3474,-268.5 1626.3474,-298.5 1778.3474,-298.5 1778.3474,-268.5 1626.3474,-268.5"/>
-<text text-anchor="start" x="1634.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="1702.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
+<g id="a_node38"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1784.5,-268.5 1784.5,-298.5 1936.5,-298.5 1936.5,-268.5 1784.5,-268.5"/>
+<text text-anchor="start" x="1792.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="1860.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node99 -->
-<g id="edge60" class="edge">
+<g id="edge59" class="edge">
 <title>Node114&#45;&gt;Node99</title>
-<path fill="none" stroke="#191970" d="M1550.9236,-332.2759C1583.705,-321.7165 1624.4856,-308.5805 1655.4645,-298.6017"/>
-<polygon fill="#191970" stroke="#191970" points="1549.4719,-329.0664 1541.0266,-335.4639 1551.6181,-335.7292 1549.4719,-329.0664"/>
+<path fill="none" stroke="#191970" d="M1719.664,-332.1392C1750.1709,-321.6033 1788.0034,-308.5375 1816.7727,-298.6017"/>
+<polygon fill="#191970" stroke="#191970" points="1718.347,-328.8912 1710.0374,-335.4639 1720.6321,-335.5077 1718.347,-328.8912"/>
 </g>
 <!-- Node107 -->
-<g id="node40" class="node">
+<g id="node39" class="node">
 <title>Node107</title>
-<g id="a_node40"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
-<polygon fill="#ffffff" stroke="#000000" points="1796.3474,-268.5 1796.3474,-298.5 1902.3474,-298.5 1902.3474,-268.5 1796.3474,-268.5"/>
-<text text-anchor="start" x="1804.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
-<text text-anchor="middle" x="1849.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
+<g id="a_node39"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
+<polygon fill="#ffffff" stroke="#000000" points="1954.5,-268.5 1954.5,-298.5 2060.5,-298.5 2060.5,-268.5 1954.5,-268.5"/>
+<text text-anchor="start" x="1962.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
+<text text-anchor="middle" x="2007.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node107 -->
-<g id="edge61" class="edge">
+<g id="edge60" class="edge">
 <title>Node114&#45;&gt;Node107</title>
-<path fill="none" stroke="#191970" d="M1557.9574,-335.8659C1559.4337,-335.5698 1560.8986,-335.2807 1562.3474,-335 1661.7703,-315.7363 1688.1309,-319.2999 1787.3474,-299 1790.2823,-298.3995 1793.2877,-297.7533 1796.3163,-297.0776"/>
-<polygon fill="#191970" stroke="#191970" points="1557.1835,-332.4518 1548.1004,-337.9058 1558.6022,-339.3065 1557.1835,-332.4518"/>
+<path fill="none" stroke="#191970" d="M1730.114,-335.8862C1731.5891,-335.5841 1733.0527,-335.2882 1734.5,-335 1827.8012,-316.4217 1852.3977,-318.5507 1945.5,-299 1948.4318,-298.3844 1951.4348,-297.7262 1954.4614,-297.0412"/>
+<polygon fill="#191970" stroke="#191970" points="1729.329,-332.4747 1720.2631,-337.9575 1730.7694,-339.3249 1729.329,-332.4747"/>
 </g>
 <!-- Node115 -->
-<g id="node41" class="node">
+<g id="node40" class="node">
 <title>Node115</title>
-<g id="a_node41"><a xlink:href="memory__pools_8h.html" target="_top" xlink:title="The object definition for relay.build argument type of memory pools. ">
-<polygon fill="#ffffff" stroke="#000000" points="325.3474,-268.5 325.3474,-298.5 453.3474,-298.5 453.3474,-268.5 325.3474,-268.5"/>
-<text text-anchor="start" x="333.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/memory</text>
-<text text-anchor="middle" x="389.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pools.h</text>
+<g id="a_node40"><a xlink:href="memory__pools_8h.html" target="_top" xlink:title="The object definition for relay.build argument type of memory pools. ">
+<polygon fill="#ffffff" stroke="#000000" points="778.5,-268.5 778.5,-298.5 906.5,-298.5 906.5,-268.5 778.5,-268.5"/>
+<text text-anchor="start" x="786.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/memory</text>
+<text text-anchor="middle" x="842.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pools.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node115 -->
-<g id="edge62" class="edge">
+<g id="edge61" class="edge">
 <title>Node114&#45;&gt;Node115</title>
-<path fill="none" stroke="#191970" d="M1430.4393,-348.2623C1237.8586,-341.3602 664.9954,-319.621 479.3474,-299 470.9956,-298.0723 462.2444,-296.8644 453.6171,-295.532"/>
-<polygon fill="#191970" stroke="#191970" points="1430.5595,-351.7688 1440.6781,-348.6281 1430.8095,-344.7732 1430.5595,-351.7688"/>
+<path fill="none" stroke="#191970" d="M1602.5684,-346.0903C1483.3325,-337.7539 1218.9423,-318.7407 996.5,-299 966.9236,-296.3752 934.1876,-293.1285 906.5302,-290.2858"/>
+<polygon fill="#191970" stroke="#191970" points="1602.4001,-349.587 1612.6195,-346.7918 1602.8875,-342.604 1602.4001,-349.587"/>
 </g>
 <!-- Node116 -->
-<g id="node42" class="node">
+<g id="node41" class="node">
 <title>Node116</title>
-<g id="a_node42"><a xlink:href="tir_2usmp_2utils_8h.html" target="_top" xlink:title="Utilities for Unified Static Memory Planner. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="188.3474,-201.5 188.3474,-231.5 306.3474,-231.5 306.3474,-201.5 188.3474,-201.5"/>
-<text text-anchor="start" x="196.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
-<text text-anchor="middle" x="247.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/utils.h</text>
+<g id="a_node41"><a xlink:href="tir_2usmp_2utils_8h.html" target="_top" xlink:title="Utilities for Unified Static Memory Planner. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="783.5,-201.5 783.5,-231.5 901.5,-231.5 901.5,-201.5 783.5,-201.5"/>
+<text text-anchor="start" x="791.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
+<text text-anchor="middle" x="842.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node116 -->
 <g id="edge84" class="edge">
 <title>Node114&#45;&gt;Node116</title>
-<path fill="none" stroke="#191970" d="M1430.78,-348.4136C1189.3479,-340.4021 341.5212,-311.4404 316.3474,-299 287.0531,-284.5233 265.5658,-251.2867 254.9012,-231.7034"/>
-<polygon fill="#191970" stroke="#191970" points="1430.6935,-351.9125 1440.8039,-348.7457 1430.9254,-344.9164 1430.6935,-351.9125"/>
+<path fill="none" stroke="#191970" d="M1602.6637,-349.2105C1402.3947,-344.8571 798.0684,-329.2556 769.5,-299 747.7696,-275.9862 784.6457,-248.2483 813.434,-231.5129"/>
+<polygon fill="#191970" stroke="#191970" points="1602.6652,-352.7112 1612.7383,-349.4274 1602.816,-345.7129 1602.6652,-352.7112"/>
 </g>
 <!-- Node120 -->
-<g id="node43" class="node">
+<g id="node42" class="node">
 <title>Node120</title>
-<g id="a_node43"><a xlink:href="apply__history__best_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/apply_history_best.h">
-<polygon fill="#ffffff" stroke="#000000" points="1204.3474,-201.5 1204.3474,-231.5 1356.3474,-231.5 1356.3474,-201.5 1204.3474,-201.5"/>
-<text text-anchor="start" x="1212.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1280.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
+<g id="a_node42"><a xlink:href="apply__history__best_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/apply_history_best.h">
+<polygon fill="#ffffff" stroke="#000000" points="1687.5,-201.5 1687.5,-231.5 1839.5,-231.5 1839.5,-201.5 1687.5,-201.5"/>
+<text text-anchor="start" x="1695.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1763.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node120 -->
-<g id="edge65" class="edge">
+<g id="edge64" class="edge">
 <title>Node114&#45;&gt;Node120</title>
-<path fill="none" stroke="#191970" d="M1458.566,-330.3221C1443.1128,-321.2273 1425.0211,-310.0603 1409.3474,-299 1391.5389,-286.4333 1389.3407,-280.3005 1371.3474,-268 1351.5657,-254.477 1327.9898,-241.2073 1309.7918,-231.5251"/>
-<polygon fill="#191970" stroke="#191970" points="1456.9188,-333.4131 1467.3216,-335.4212 1460.4416,-327.3641 1456.9188,-333.4131"/>
+<path fill="none" stroke="#191970" d="M1690.1366,-327.967C1698.6141,-319.3085 1707.9378,-309.078 1715.5,-299 1732.0096,-276.9979 1747.291,-248.8409 1755.9951,-231.7624"/>
+<polygon fill="#191970" stroke="#191970" points="1687.57,-325.5838 1682.97,-335.128 1692.5178,-330.5355 1687.57,-325.5838"/>
 </g>
 <!-- Node121 -->
-<g id="node44" class="node">
+<g id="node43" class="node">
 <title>Node121</title>
-<g id="a_node44"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="1418.3474,-268.5 1418.3474,-298.5 1570.3474,-298.5 1570.3474,-268.5 1418.3474,-268.5"/>
-<text text-anchor="start" x="1426.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1494.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
+<g id="a_node43"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="1538.5,-268.5 1538.5,-298.5 1690.5,-298.5 1690.5,-268.5 1538.5,-268.5"/>
+<text text-anchor="start" x="1546.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1614.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node121 -->
-<g id="edge66" class="edge">
+<g id="edge65" class="edge">
 <title>Node114&#45;&gt;Node121</title>
-<path fill="none" stroke="#191970" d="M1494.3474,-325.0249C1494.3474,-316.128 1494.3474,-306.4287 1494.3474,-298.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1490.8475,-325.2966 1494.3474,-335.2967 1497.8475,-325.2967 1490.8475,-325.2966"/>
+<path fill="none" stroke="#191970" d="M1648.5335,-327.3509C1641.1583,-317.8482 1632.8266,-307.1132 1626.2529,-298.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1645.8042,-329.5427 1654.7004,-335.2967 1651.3341,-325.2508 1645.8042,-329.5427"/>
 </g>
 <!-- Node124 -->
-<g id="node45" class="node">
+<g id="node44" class="node">
 <title>Node124</title>
-<g id="a_node45"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="1528.3474,-201.5 1528.3474,-231.5 1680.3474,-231.5 1680.3474,-201.5 1528.3474,-201.5"/>
-<text text-anchor="start" x="1536.3474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1604.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
+<g id="a_node44"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="1517.5,-201.5 1517.5,-231.5 1669.5,-231.5 1669.5,-201.5 1517.5,-201.5"/>
+<text text-anchor="start" x="1525.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1593.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node124 -->
-<g id="edge71" class="edge">
+<g id="edge70" class="edge">
 <title>Node114&#45;&gt;Node124</title>
-<path fill="none" stroke="#191970" d="M1540.9225,-330.4154C1554.9516,-322.4121 1569.279,-311.969 1579.3474,-299 1594.8577,-279.0213 1600.7847,-249.4667 1603.0219,-231.6862"/>
-<polygon fill="#191970" stroke="#191970" points="1538.9437,-327.5055 1531.7941,-335.3243 1542.2591,-333.6705 1538.9437,-327.5055"/>
+<path fill="none" stroke="#191970" d="M1687.1623,-327.113C1699.6636,-309.9899 1711.1394,-286.5955 1699.5,-268 1688.8076,-250.9175 1670.6506,-239.3562 1652.3562,-231.5964"/>
+<polygon fill="#191970" stroke="#191970" points="1684.0548,-325.4048 1680.6484,-335.4371 1689.5675,-329.7187 1684.0548,-325.4048"/>
 </g>
 <!-- Node125 -->
-<g id="node46" class="node">
+<g id="node45" class="node">
 <title>Node125</title>
-<g id="a_node46"><a xlink:href="database_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/database.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="1210.3474,-268.5 1210.3474,-298.5 1362.3474,-298.5 1362.3474,-268.5 1210.3474,-268.5"/>
-<text text-anchor="start" x="1218.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1286.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
+<g id="a_node45"><a xlink:href="database_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/database.h">
+<polygon fill="#ffffff" stroke="#ff0000" points="2078.5,-268.5 2078.5,-298.5 2230.5,-298.5 2230.5,-268.5 2078.5,-268.5"/>
+<text text-anchor="start" x="2086.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="2154.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node125 -->
-<g id="edge68" class="edge">
+<g id="edge67" class="edge">
 <title>Node114&#45;&gt;Node125</title>
-<path fill="none" stroke="#191970" d="M1437.7711,-332.2759C1404.9897,-321.7165 1364.2092,-308.5805 1333.2302,-298.6017"/>
-<polygon fill="#191970" stroke="#191970" points="1437.0766,-335.7292 1447.6681,-335.4639 1439.2229,-329.0664 1437.0766,-335.7292"/>
+<path fill="none" stroke="#191970" d="M1730.0916,-335.7639C1731.5734,-335.4984 1733.0445,-335.2432 1734.5,-335 1882.198,-310.3179 1921.2976,-320.4462 2069.5,-299 2072.3207,-298.5918 2075.1909,-298.1589 2078.0877,-297.707"/>
+<polygon fill="#191970" stroke="#191970" points="1729.3746,-332.3375 1720.2064,-337.6474 1730.6848,-339.2138 1729.3746,-332.3375"/>
 </g>
 <!-- Node127 -->
-<g id="node47" class="node">
+<g id="node46" class="node">
 <title>Node127</title>
-<g id="a_node47"><a xlink:href="extracted__task_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/extracted_task.h">
-<polygon fill="#ffffff" stroke="#000000" points="2304.3474,-268.5 2304.3474,-298.5 2456.3474,-298.5 2456.3474,-268.5 2304.3474,-268.5"/>
-<text text-anchor="start" x="2312.3474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="2380.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extracted_task.h</text>
+<g id="a_node46"><a xlink:href="extracted__task_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/extracted_task.h">
+<polygon fill="#ffffff" stroke="#000000" points="1038.5,-268.5 1038.5,-298.5 1190.5,-298.5 1190.5,-268.5 1038.5,-268.5"/>
+<text text-anchor="start" x="1046.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1114.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extracted_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node127 -->
-<g id="edge70" class="edge">
+<g id="edge69" class="edge">
 <title>Node114&#45;&gt;Node127</title>
-<path fill="none" stroke="#191970" d="M1557.9215,-335.6495C1559.4086,-335.4184 1560.8854,-335.2012 1562.3474,-335 1883.2735,-290.8341 1968.3537,-334.5563 2290.3474,-299 2294.9175,-298.4953 2299.6072,-297.9061 2304.3307,-297.2579"/>
-<polygon fill="#191970" stroke="#191970" points="1557.27,-332.2101 1548.0096,-337.3574 1558.4587,-339.1085 1557.27,-332.2101"/>
+<path fill="none" stroke="#191970" d="M1602.8508,-344.8538C1512.9628,-336.5647 1343.7948,-319.8065 1200.5,-299 1197.3471,-298.5422 1194.1328,-298.0552 1190.8884,-297.5469"/>
+<polygon fill="#191970" stroke="#191970" points="1602.6063,-348.346 1612.8843,-345.7742 1603.2458,-341.3753 1602.6063,-348.346"/>
 </g>
 <!-- Node128 -->
-<g id="node48" class="node">
+<g id="node47" class="node">
 <title>Node128</title>
-<g id="a_node48"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="970.8474,-268.5 970.8474,-298.5 1077.8474,-298.5 1077.8474,-268.5 970.8474,-268.5"/>
-<text text-anchor="start" x="978.8474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1024.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
+<g id="a_node47"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
+<polygon fill="#ffffff" stroke="#000000" points="1209,-268.5 1209,-298.5 1316,-298.5 1316,-268.5 1209,-268.5"/>
+<text text-anchor="start" x="1217" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1262.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node128 -->
-<g id="edge76" class="edge">
+<g id="edge75" class="edge">
 <title>Node114&#45;&gt;Node128</title>
-<path fill="none" stroke="#191970" d="M1430.4334,-344.2404C1350.8849,-336.007 1211.0265,-320.077 1092.3474,-299 1087.6979,-298.1743 1082.8868,-297.2404 1078.0714,-296.2505"/>
-<polygon fill="#191970" stroke="#191970" points="1430.4707,-347.7625 1440.776,-345.3026 1431.186,-340.7992 1430.4707,-347.7625"/>
+<path fill="none" stroke="#191970" d="M1602.551,-342.6162C1533.8008,-333.7275 1421.4459,-318.0068 1325.5,-299 1322.4063,-298.3871 1319.2357,-297.7229 1316.042,-297.0259"/>
+<polygon fill="#191970" stroke="#191970" points="1602.4215,-346.1282 1612.7859,-343.9306 1603.3132,-339.1852 1602.4215,-346.1282"/>
 </g>
 <!-- Node129 -->
-<g id="node49" class="node">
+<g id="node48" class="node">
 <title>Node129</title>
-<g id="a_node49"><a xlink:href="generic__func_8h.html" target="_top" xlink:title="Generic function that can be specialzied on a per target basis. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="970.8474,-201.5 970.8474,-231.5 1077.8474,-231.5 1077.8474,-201.5 970.8474,-201.5"/>
-<text text-anchor="start" x="978.8474" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1024.3474" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/generic_func.h</text>
+<g id="a_node48"><a xlink:href="generic__func_8h.html" target="_top" xlink:title="Generic function that can be specialzied on a per target basis. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="920,-201.5 920,-231.5 1027,-231.5 1027,-201.5 920,-201.5"/>
+<text text-anchor="start" x="928" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="973.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/generic_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node129 -->
-<g id="edge77" class="edge">
+<g id="edge76" class="edge">
 <title>Node114&#45;&gt;Node129</title>
-<path fill="none" stroke="#191970" d="M1430.507,-345.4516C1340.9637,-337.6959 1183.1093,-321.3671 1130.3474,-299 1120.5248,-294.836 1070.5793,-254.4676 1042.8934,-231.7836"/>
-<polygon fill="#191970" stroke="#191970" points="1430.2837,-348.9452 1440.5456,-346.31 1430.8801,-341.9706 1430.2837,-348.9452"/>
+<path fill="none" stroke="#191970" d="M1602.8871,-348.4625C1451.3938,-343.1715 1078.2306,-327.3926 1029.5,-299 1003.4743,-283.8363 986.9567,-251.1728 979.0453,-231.8036"/>
+<polygon fill="#191970" stroke="#191970" points="1602.8572,-351.9635 1612.972,-348.8107 1603.0987,-344.9676 1602.8572,-351.9635"/>
 </g>
 <!-- Node130 -->
-<g id="node50" class="node">
+<g id="node49" class="node">
 <title>Node130</title>
-<g id="a_node50"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
-<polygon fill="#ffffff" stroke="#ff0000" points="1924.8474,-268.5 1924.8474,-298.5 2031.8474,-298.5 2031.8474,-268.5 1924.8474,-268.5"/>
-<text text-anchor="start" x="1932.8474" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1978.3474" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
+<g id="a_node49"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
+<polygon fill="#ffffff" stroke="#ff0000" points="2308,-268.5 2308,-298.5 2415,-298.5 2415,-268.5 2308,-268.5"/>
+<text text-anchor="start" x="2316" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="2361.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
 </a>
 </g>
 </g>
 <!-- Node114&#45;&gt;Node130 -->
-<g id="edge80" class="edge">
+<g id="edge79" class="edge">
 <title>Node114&#45;&gt;Node130</title>
-<path fill="none" stroke="#191970" d="M1557.9376,-335.7555C1559.4198,-335.4925 1560.8913,-335.2401 1562.3474,-335 1716.2032,-309.6259 1757.5328,-324.6227 1911.3474,-299 1915.7048,-298.2741 1920.2023,-297.4343 1924.7082,-296.5286"/>
-<polygon fill="#191970" stroke="#191970" points="1557.2253,-332.3281 1548.0502,-337.626 1558.5265,-339.2061 1557.2253,-332.3281"/>
+<path fill="none" stroke="#191970" d="M1730.0791,-335.6841C1731.5647,-335.4426 1733.0399,-335.2139 1734.5,-335 1971.6149,-300.2631 2034.5667,-327.5985 2272.5,-299 2284.0232,-297.615 2296.3211,-295.7355 2307.9831,-293.7632"/>
+<polygon fill="#191970" stroke="#191970" points="1729.4076,-332.2485 1720.1747,-337.4451 1730.633,-339.1405 1729.4076,-332.2485"/>
+</g>
+<!-- Node134 -->
+<g id="node50" class="node">
+<title>Node134</title>
+<g id="a_node50"><a xlink:href="tir_2transform_8h.html" target="_top" xlink:title="TIR specific transformation passes. ">
+<polygon fill="#ffffff" stroke="#000000" points="1334.5,-274 1334.5,-293 1482.5,-293 1482.5,-274 1334.5,-274"/>
+<text text-anchor="middle" x="1408.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/transform.h</text>
+</a>
+</g>
+</g>
+<!-- Node114&#45;&gt;Node134 -->
+<g id="edge83" class="edge">
+<title>Node114&#45;&gt;Node134</title>
+<path fill="none" stroke="#191970" d="M1602.7429,-333.9429C1553.1557,-321.0656 1486.1111,-303.6548 1445.1591,-293.02"/>
+<polygon fill="#191970" stroke="#191970" points="1602.1701,-337.4102 1612.7288,-336.5362 1603.9296,-330.6349 1602.1701,-337.4102"/>
 </g>
 <!-- Node115&#45;&gt;Node116 -->
-<g id="edge63" class="edge">
+<g id="edge62" class="edge">
 <title>Node115&#45;&gt;Node116</title>
-<path fill="none" stroke="#191970" d="M348.4221,-264.1902C326.5463,-253.8685 299.9977,-241.3421 279.5999,-231.7177"/>
-<polygon fill="#191970" stroke="#191970" points="346.9424,-267.362 357.4798,-268.4639 349.9295,-261.0313 346.9424,-267.362"/>
+<path fill="none" stroke="#191970" d="M842.5,-258.0249C842.5,-249.128 842.5,-239.4287 842.5,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="839.0001,-258.2966 842.5,-268.2967 846.0001,-258.2967 839.0001,-258.2966"/>
 </g>
 <!-- Node116&#45;&gt;Node46 -->
-<g id="edge64" class="edge">
+<g id="edge63" class="edge">
 <title>Node116&#45;&gt;Node46</title>
-<path fill="none" stroke="#191970" d="M247.3474,-191.0249C247.3474,-182.128 247.3474,-172.4287 247.3474,-164.6432"/>
-<polygon fill="#191970" stroke="#191970" points="243.8475,-191.2966 247.3474,-201.2967 250.8475,-191.2967 243.8475,-191.2966"/>
+<path fill="none" stroke="#191970" d="M779.746,-198.6842C742.3119,-188.0568 695.2977,-174.7095 659.694,-164.6017"/>
+<polygon fill="#191970" stroke="#191970" points="778.9613,-202.0997 789.537,-201.4639 780.873,-195.3658 778.9613,-202.0997"/>
 </g>
 <!-- Node121&#45;&gt;Node124 -->
-<g id="edge67" class="edge">
+<g id="edge66" class="edge">
 <title>Node121&#45;&gt;Node124</title>
-<path fill="none" stroke="#191970" d="M1527.8792,-263.0761C1544.459,-252.9774 1564.1262,-240.9983 1579.363,-231.7177"/>
-<polygon fill="#191970" stroke="#191970" points="1525.7533,-260.2727 1519.0335,-268.4639 1529.3947,-266.2511 1525.7533,-260.2727"/>
+<path fill="none" stroke="#191970" d="M1606.6988,-258.6103C1603.8606,-249.5553 1600.7403,-239.5998 1598.2464,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1603.4041,-259.8012 1609.7348,-268.2967 1610.0836,-257.7076 1603.4041,-259.8012"/>
 </g>
 <!-- Node125&#45;&gt;Node120 -->
-<g id="edge69" class="edge">
+<g id="edge68" class="edge">
 <title>Node125&#45;&gt;Node120</title>
-<path fill="none" stroke="#191970" d="M1284.0923,-258.3179C1283.2884,-249.3414 1282.4083,-239.5143 1281.7035,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1280.6078,-258.6487 1284.9859,-268.2967 1287.5799,-258.0243 1280.6078,-258.6487"/>
+<path fill="none" stroke="#191970" d="M2068.0388,-267.7645C1970.2022,-250.9474 1943.9989,-248.2465 1849.5,-232 1846.3601,-231.4602 1843.1567,-230.9046 1839.9212,-230.3396"/>
+<polygon fill="#191970" stroke="#191970" points="2067.6066,-271.2416 2078.056,-269.4925 2068.7966,-264.3435 2067.6066,-271.2416"/>
 </g>
 <!-- Node129&#45;&gt;Node43 -->
-<g id="edge78" class="edge">
+<g id="edge77" class="edge">
 <title>Node129&#45;&gt;Node43</title>
-<path fill="none" stroke="#191970" d="M960.6809,-203.0842C911.4426,-192.7033 841.5691,-177.9605 780.3474,-165 775.6575,-164.0072 770.7984,-162.9776 765.917,-161.9425"/>
-<polygon fill="#191970" stroke="#191970" points="960.0471,-206.5274 970.5541,-205.1656 961.4911,-199.678 960.0471,-206.5274"/>
+<path fill="none" stroke="#191970" d="M920.61,-198.1392C890.2604,-187.6033 852.6229,-174.5375 824.0019,-164.6017"/>
+<polygon fill="#191970" stroke="#191970" points="919.5922,-201.4907 930.187,-201.4639 921.8879,-194.8779 919.5922,-201.4907"/>
 </g>
 <!-- Node130&#45;&gt;Node25 -->
-<g id="edge82" class="edge">
+<g id="edge81" class="edge">
 <title>Node130&#45;&gt;Node25</title>
-<path fill="none" stroke="#191970" d="M1914.6424,-268.548C1913.5368,-268.3583 1912.4377,-268.1754 1911.3474,-268 1738.6117,-240.2194 1692.4639,-257.2991 1519.3474,-232 1508.2832,-230.3831 1496.4068,-228.2117 1485.3737,-226.007"/>
-<polygon fill="#191970" stroke="#191970" points="1914.2462,-272.0342 1924.717,-270.4178 1915.5236,-265.1517 1914.2462,-272.0342"/>
+<path fill="none" stroke="#191970" d="M2297.5062,-273.6661C2214.2045,-260.8651 2069.5843,-238.6414 1987.3503,-226.0045"/>
+<polygon fill="#191970" stroke="#191970" points="2297.1849,-277.1577 2307.6005,-275.2173 2298.2482,-270.2389 2297.1849,-277.1577"/>
 </g>
 <!-- Node130&#45;&gt;Node32 -->
-<g id="edge81" class="edge">
+<g id="edge80" class="edge">
 <title>Node130&#45;&gt;Node32</title>
-<path fill="none" stroke="#191970" d="M1982.2901,-258.3415C1986.6043,-230.8131 1993.381,-187.5714 1996.9557,-164.7614"/>
-<polygon fill="#191970" stroke="#191970" points="1978.8061,-257.9676 1980.7155,-268.389 1985.7217,-259.0515 1978.8061,-257.9676"/>
+<path fill="none" stroke="#191970" d="M2372.8041,-259.0686C2385.5227,-231.58 2405.7915,-187.7732 2416.4388,-164.7614"/>
+<polygon fill="#191970" stroke="#191970" points="2369.5144,-257.8436 2368.4917,-268.389 2375.8674,-260.7831 2369.5144,-257.8436"/>
 </g>
 <!-- Node130&#45;&gt;Node34 -->
-<g id="edge83" class="edge">
+<g id="edge82" class="edge">
 <title>Node130&#45;&gt;Node34</title>
-<path fill="none" stroke="#191970" d="M2008.8195,-262.0946C2047.9577,-232.0211 2106.9451,-176.2185 2072.3474,-134 2050.3545,-107.1628 1963.3645,-94.0242 1896.6198,-87.7871"/>
-<polygon fill="#191970" stroke="#191970" points="2006.231,-259.6608 2000.3291,-268.4595 2010.4298,-265.2617 2006.231,-259.6608"/>
+<path fill="none" stroke="#191970" d="M2402.3338,-263.6403C2455.7196,-235.1253 2537.8358,-180.8528 2496.5,-134 2475.1423,-109.7918 2281.1211,-94.1655 2167.8034,-87.0211"/>
+<polygon fill="#191970" stroke="#191970" points="2400.6226,-260.5854 2393.3864,-268.3241 2403.8692,-266.7871 2400.6226,-260.5854"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/diagnostic_8h.html b/docs/reference/api/doxygen/diagnostic_8h.html
index 432bcd40d..3a6e728fd 100644
--- a/docs/reference/api/doxygen/diagnostic_8h.html
+++ b/docs/reference/api/doxygen/diagnostic_8h.html
@@ -87,7 +87,7 @@ Include dependency graph for diagnostic.h:</div>
 </div><div class="textblock"><div class="dynheader">
 This graph shows which files directly or indirectly include this file:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="diagnostic_8h__dep__incl.svg" width="4315" height="752"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="diagnostic_8h__dep__incl.svg" width="4387" height="752"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
 </div>
 </div>
 </div>
diff --git a/docs/reference/api/doxygen/diagnostic_8h__dep__incl.svg b/docs/reference/api/doxygen/diagnostic_8h__dep__incl.svg
index a06821a10..b49ab10a3 100644
--- a/docs/reference/api/doxygen/diagnostic_8h__dep__incl.svg
+++ b/docs/reference/api/doxygen/diagnostic_8h__dep__incl.svg
@@ -4,993 +4,999 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: include/tvm/ir/diagnostic.h Pages: 1 -->
-<svg width="3236pt" height="564pt"
- viewBox="0.00 0.00 3236.16 564.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<svg width="3290pt" height="564pt"
+ viewBox="0.00 0.00 3289.52 564.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 560)">
 <title>include/tvm/ir/diagnostic.h</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-560 3232.1621,-560 3232.1621,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-560 3285.5192,-560 3285.5192,4 -4,4"/>
 <!-- Node59 -->
 <g id="node1" class="node">
 <title>Node59</title>
-<polygon fill="#bfbfbf" stroke="#000000" points="1666.5,-536.5 1666.5,-555.5 1812.5,-555.5 1812.5,-536.5 1666.5,-536.5"/>
-<text text-anchor="middle" x="1739.5" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/diagnostic.h</text>
+<polygon fill="#bfbfbf" stroke="#000000" points="1545,-536.5 1545,-555.5 1691,-555.5 1691,-536.5 1545,-536.5"/>
+<text text-anchor="middle" x="1618" y="-543.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/diagnostic.h</text>
 </g>
 <!-- Node60 -->
 <g id="node2" class="node">
 <title>Node60</title>
 <g id="a_node2"><a xlink:href="iter__affine__map_8h.html" target="_top" xlink:title="Iterator quasi&#45;affine mapping patterns. ">
-<polygon fill="#ffffff" stroke="#000000" points="1530,-469.5 1530,-499.5 1649,-499.5 1649,-469.5 1530,-469.5"/>
-<text text-anchor="start" x="1538" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/arith/iter</text>
-<text text-anchor="middle" x="1589.5" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_affine_map.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1408.5,-469.5 1408.5,-499.5 1527.5,-499.5 1527.5,-469.5 1408.5,-469.5"/>
+<text text-anchor="start" x="1416.5" y="-487.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/arith/iter</text>
+<text text-anchor="middle" x="1468" y="-476.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_affine_map.h</text>
 </a>
 </g>
 </g>
 <!-- Node59&#45;&gt;Node60 -->
 <g id="edge1" class="edge">
 <title>Node59&#45;&gt;Node60</title>
-<path fill="none" stroke="#191970" d="M1706.76,-532.5766C1682.9952,-522.833 1650.8268,-509.644 1626.1941,-499.5446"/>
-<polygon fill="#191970" stroke="#191970" points="1705.4822,-535.8354 1716.0625,-536.3906 1708.1377,-529.3586 1705.4822,-535.8354"/>
+<path fill="none" stroke="#191970" d="M1585.26,-532.5766C1561.4952,-522.833 1529.3268,-509.644 1504.6941,-499.5446"/>
+<polygon fill="#191970" stroke="#191970" points="1583.9822,-535.8354 1594.5625,-536.3906 1586.6377,-529.3586 1583.9822,-535.8354"/>
 </g>
 <!-- Node61 -->
 <g id="node3" class="node">
 <title>Node61</title>
 <g id="a_node3"><a xlink:href="ir_2transform_8h.html" target="_top" xlink:title="include/tvm/ir/transform.h">
-<polygon fill="#ffffff" stroke="#000000" points="1667.5,-475 1667.5,-494 1811.5,-494 1811.5,-475 1667.5,-475"/>
-<text text-anchor="middle" x="1739.5" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1546,-475 1546,-494 1690,-494 1690,-475 1546,-475"/>
+<text text-anchor="middle" x="1618" y="-482" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node59&#45;&gt;Node61 -->
 <g id="edge2" class="edge">
 <title>Node59&#45;&gt;Node61</title>
-<path fill="none" stroke="#191970" d="M1739.5,-526.2462C1739.5,-515.5519 1739.5,-502.814 1739.5,-494.2449"/>
-<polygon fill="#191970" stroke="#191970" points="1736.0001,-526.3906 1739.5,-536.3906 1743.0001,-526.3907 1736.0001,-526.3906"/>
+<path fill="none" stroke="#191970" d="M1618,-526.2462C1618,-515.5519 1618,-502.814 1618,-494.2449"/>
+<polygon fill="#191970" stroke="#191970" points="1614.5001,-526.3906 1618,-536.3906 1621.5001,-526.3907 1614.5001,-526.3906"/>
 </g>
 <!-- Node147 -->
 <g id="node44" class="node">
 <title>Node147</title>
 <g id="a_node44"><a xlink:href="type__relation_8h.html" target="_top" xlink:title="Type relation and function for type inference(checking). ">
-<polygon fill="#ffffff" stroke="#000000" points="2523,-335.5 2523,-365.5 2632,-365.5 2632,-335.5 2523,-335.5"/>
-<text text-anchor="start" x="2531" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
-<text text-anchor="middle" x="2577.5" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_relation.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2130.5,-335.5 2130.5,-365.5 2239.5,-365.5 2239.5,-335.5 2130.5,-335.5"/>
+<text text-anchor="start" x="2138.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
+<text text-anchor="middle" x="2185" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_relation.h</text>
 </a>
 </g>
 </g>
 <!-- Node59&#45;&gt;Node147 -->
-<g id="edge70" class="edge">
+<g id="edge71" class="edge">
 <title>Node59&#45;&gt;Node147</title>
-<path fill="none" stroke="#191970" d="M1790.2477,-534.1609C1938.4729,-499.5809 2369.9206,-398.9269 2522.9154,-363.2342"/>
-<polygon fill="#191970" stroke="#191970" points="1789.4291,-530.7578 1780.4858,-536.4383 1791.0195,-537.5748 1789.4291,-530.7578"/>
+<path fill="none" stroke="#191970" d="M1655.1911,-533.1766C1755.9044,-498.451 2033.5805,-402.709 2141.3991,-365.5335"/>
+<polygon fill="#191970" stroke="#191970" points="1654.0443,-529.8697 1645.7314,-536.4383 1656.3261,-536.4874 1654.0443,-529.8697"/>
 </g>
 <!-- Node62 -->
 <g id="node4" class="node">
 <title>Node62</title>
 <g id="a_node4"><a xlink:href="driver__api_8h.html" target="_top" xlink:title="Compiler driver APIs to drive the compilation. ">
-<polygon fill="#ffffff" stroke="#000000" points="1640.5,-268.5 1640.5,-298.5 1746.5,-298.5 1746.5,-268.5 1640.5,-268.5"/>
-<text text-anchor="start" x="1648.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
-<text text-anchor="middle" x="1693.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1837,-268.5 1837,-298.5 1943,-298.5 1943,-268.5 1837,-268.5"/>
+<text text-anchor="start" x="1845" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/driver</text>
+<text text-anchor="middle" x="1890" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/driver_api.h</text>
 </a>
 </g>
 </g>
 <!-- Node61&#45;&gt;Node62 -->
 <g id="edge3" class="edge">
 <title>Node61&#45;&gt;Node62</title>
-<path fill="none" stroke="#191970" d="M1679.0201,-472.7344C1638.9539,-463.5707 1591.6193,-449.6326 1579.5,-433 1568.4397,-417.8208 1573.2304,-353.8589 1586.5,-335 1599.3127,-316.7906 1620.3583,-304.7795 1640.41,-296.9777"/>
-<polygon fill="#191970" stroke="#191970" points="1678.5025,-476.2047 1689.0239,-474.96 1680.0227,-469.3718 1678.5025,-476.2047"/>
+<path fill="none" stroke="#191970" d="M1684.4459,-473.0661C1733.1152,-463.5963 1794.016,-449.1179 1814,-433 1858.1937,-397.3562 1879.1574,-329.2713 1886.6387,-298.8484"/>
+<polygon fill="#191970" stroke="#191970" points="1683.7442,-469.6368 1674.5785,-474.9509 1685.0576,-476.5125 1683.7442,-469.6368"/>
 </g>
 <!-- Node63 -->
 <g id="node5" class="node">
 <title>Node63</title>
 <g id="a_node5"><a xlink:href="parser_8h.html" target="_top" xlink:title="A parser for TVM IR. ">
-<polygon fill="#ffffff" stroke="#000000" points="1950.5,-402.5 1950.5,-432.5 2058.5,-432.5 2058.5,-402.5 1950.5,-402.5"/>
-<text text-anchor="start" x="1958.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/parser</text>
-<text text-anchor="middle" x="2004.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/parser.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="0,-402.5 0,-432.5 108,-432.5 108,-402.5 0,-402.5"/>
+<text text-anchor="start" x="8" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/parser</text>
+<text text-anchor="middle" x="54" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/parser.h</text>
 </a>
 </g>
 </g>
 <!-- Node61&#45;&gt;Node63 -->
 <g id="edge4" class="edge">
 <title>Node61&#45;&gt;Node63</title>
-<path fill="none" stroke="#191970" d="M1786.8935,-472.5175C1832.8059,-460.9094 1902.3538,-443.3256 1950.4096,-431.1757"/>
-<polygon fill="#191970" stroke="#191970" points="1786.0236,-469.1272 1777.1866,-474.9717 1787.7395,-475.9137 1786.0236,-469.1272"/>
+<path fill="none" stroke="#191970" d="M1565.3029,-473.1252C1555.9164,-471.4687 1546.1996,-469.9905 1537,-469 911.5225,-401.6564 746.2017,-511.291 122,-433 117.4346,-432.4274 112.7262,-431.6832 108.018,-430.8311"/>
+<polygon fill="#191970" stroke="#191970" points="1564.8487,-476.6005 1575.3186,-474.978 1566.1221,-469.7173 1564.8487,-476.6005"/>
 </g>
 <!-- Node64 -->
 <g id="node6" class="node">
 <title>Node64</title>
 <g id="a_node6"><a xlink:href="relay_2transform_8h.html" target="_top" xlink:title="Relay specific transformation passes. ">
-<polygon fill="#ffffff" stroke="#000000" points="1841.5,-73 1841.5,-92 2003.5,-92 2003.5,-73 1841.5,-73"/>
-<text text-anchor="middle" x="1922.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1525,-73 1525,-92 1687,-92 1687,-73 1525,-73"/>
+<text text-anchor="middle" x="1606" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node61&#45;&gt;Node64 -->
 <g id="edge5" class="edge">
 <title>Node61&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M1797.3327,-472.7252C1838.4396,-463.2122 1888.851,-448.8373 1903.5,-433 1929.0495,-405.378 1922.5,-388.1265 1922.5,-350.5 1922.5,-350.5 1922.5,-350.5 1922.5,-216.5 1922.5,-169.9722 1922.5,-114.357 1922.5,-92.2517"/>
-<polygon fill="#191970" stroke="#191970" points="1796.3606,-469.3565 1787.3796,-474.9772 1797.9055,-476.184 1796.3606,-469.3565"/>
+<path fill="none" stroke="#191970" d="M1562.7637,-473.131C1554.1635,-471.5923 1545.3597,-470.1502 1537,-469 1382.2355,-447.7067 136,-506.7225 136,-350.5 136,-350.5 136,-350.5 136,-216.5 136,-198.9217 1216.7032,-112.9744 1524.8725,-88.8233"/>
+<polygon fill="#191970" stroke="#191970" points="1562.2582,-476.5967 1572.7274,-474.9699 1563.5288,-469.713 1562.2582,-476.5967"/>
 </g>
 <!-- Node66 -->
 <g id="node8" class="node">
 <title>Node66</title>
 <g id="a_node8"><a xlink:href="target__kind_8h.html" target="_top" xlink:title="Target kind registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="1128,-402.5 1128,-432.5 1235,-432.5 1235,-402.5 1128,-402.5"/>
-<text text-anchor="start" x="1136" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1181.5" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1269.5,-402.5 1269.5,-432.5 1376.5,-432.5 1376.5,-402.5 1269.5,-402.5"/>
+<text text-anchor="start" x="1277.5" y="-420.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1323" y="-409.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target_kind.h</text>
 </a>
 </g>
 </g>
 <!-- Node61&#45;&gt;Node66 -->
 <g id="edge7" class="edge">
 <title>Node61&#45;&gt;Node66</title>
-<path fill="none" stroke="#191970" d="M1683.3358,-473.1393C1675.027,-471.637 1666.5538,-470.2033 1658.5,-469 1505.6863,-446.1684 1323.88,-429.3842 1235.334,-421.8714"/>
-<polygon fill="#191970" stroke="#191970" points="1682.8796,-476.6143 1693.3499,-474.995 1684.155,-469.7314 1682.8796,-476.6143"/>
+<path fill="none" stroke="#191970" d="M1566.1313,-472.7197C1512.8834,-460.6261 1430.4082,-441.8944 1376.5535,-429.663"/>
+<polygon fill="#191970" stroke="#191970" points="1565.5201,-476.1699 1576.047,-474.9717 1567.0705,-469.3437 1565.5201,-476.1699"/>
 </g>
 <!-- Node111 -->
 <g id="node24" class="node">
 <title>Node111</title>
 <g id="a_node24"><a xlink:href="virtual__device_8h.html" target="_top" xlink:title="A compile time representation for where data is to be stored at runtime, and how to compile code to c...">
-<polygon fill="#ffffff" stroke="#000000" points="1515,-268.5 1515,-298.5 1622,-298.5 1622,-268.5 1515,-268.5"/>
-<text text-anchor="start" x="1523" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1568.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1545.5,-268.5 1545.5,-298.5 1652.5,-298.5 1652.5,-268.5 1545.5,-268.5"/>
+<text text-anchor="start" x="1553.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1599" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/virtual_device.h</text>
 </a>
 </g>
 </g>
 <!-- Node61&#45;&gt;Node111 -->
-<g id="edge66" class="edge">
+<g id="edge67" class="edge">
 <title>Node61&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M1689.0315,-472.5323C1641.3153,-460.7101 1575.9244,-442.9899 1568.5,-433 1538.6196,-392.7948 1553.7932,-328.2395 1563.0711,-298.9011"/>
-<polygon fill="#191970" stroke="#191970" points="1688.3719,-475.9742 1698.9181,-474.9606 1690.0416,-469.1763 1688.3719,-475.9742"/>
+<path fill="none" stroke="#191970" d="M1616.127,-464.6854C1612.3316,-424.5341 1603.8072,-334.3549 1600.4235,-298.5588"/>
+<polygon fill="#191970" stroke="#191970" points="1612.658,-465.1791 1617.0836,-474.8054 1619.6269,-464.5203 1612.658,-465.1791"/>
 </g>
 <!-- Node130 -->
 <g id="node41" class="node">
 <title>Node130</title>
-<g id="a_node41"><a xlink:href="tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilitie and passes for TIR. ">
-<polygon fill="#ffffff" stroke="#000000" points="1588.5,-408 1588.5,-427 1728.5,-427 1728.5,-408 1588.5,-408"/>
-<text text-anchor="middle" x="1658.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/analysis.h</text>
+<g id="a_node41"><a xlink:href="tir_2transform_8h.html" target="_top" xlink:title="TIR specific transformation passes. ">
+<polygon fill="#ffffff" stroke="#000000" points="1671,-274 1671,-293 1819,-293 1819,-274 1671,-274"/>
+<text text-anchor="middle" x="1745" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node61&#45;&gt;Node130 -->
-<g id="edge67" class="edge">
+<g id="edge70" class="edge">
 <title>Node61&#45;&gt;Node130</title>
-<path fill="none" stroke="#191970" d="M1719.914,-468.2992C1704.3352,-455.4131 1683.0668,-437.8207 1670.0838,-427.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1717.9583,-471.2237 1727.8947,-474.9005 1722.4199,-465.8298 1717.9583,-471.2237"/>
+<path fill="none" stroke="#191970" d="M1619.5745,-464.4183C1622.8951,-433.6765 1632.9894,-374.3795 1663,-335 1677.877,-315.4787 1702.4559,-301.4731 1720.8317,-293.0414"/>
+<polygon fill="#191970" stroke="#191970" points="1616.0592,-464.417 1618.6061,-474.7012 1623.0284,-465.0734 1616.0592,-464.417"/>
 </g>
-<!-- Node146 -->
-<g id="node43" class="node">
-<title>Node146</title>
-<g id="a_node43"><a xlink:href="tir_2transform_8h.html" target="_top" xlink:title="TIR specific transformation passes. ">
-<polygon fill="#ffffff" stroke="#000000" points="1746.5,-408 1746.5,-427 1894.5,-427 1894.5,-408 1746.5,-408"/>
-<text text-anchor="middle" x="1820.5" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/transform.h</text>
+<!-- Node131 -->
+<g id="node42" class="node">
+<title>Node131</title>
+<g id="a_node42"><a xlink:href="tir_2analysis_8h.html" target="_top" xlink:title="Analysis utilitie and passes for TIR. ">
+<polygon fill="#ffffff" stroke="#000000" points="1665,-408 1665,-427 1805,-427 1805,-408 1665,-408"/>
+<text text-anchor="middle" x="1735" y="-415" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/analysis.h</text>
 </a>
 </g>
 </g>
-<!-- Node61&#45;&gt;Node146 -->
-<g id="edge69" class="edge">
-<title>Node61&#45;&gt;Node146</title>
-<path fill="none" stroke="#191970" d="M1759.086,-468.2992C1774.6648,-455.4131 1795.9332,-437.8207 1808.9162,-427.0817"/>
-<polygon fill="#191970" stroke="#191970" points="1756.5801,-465.8298 1751.1053,-474.9005 1761.0417,-471.2237 1756.5801,-465.8298"/>
+<!-- Node61&#45;&gt;Node131 -->
+<g id="edge68" class="edge">
+<title>Node61&#45;&gt;Node131</title>
+<path fill="none" stroke="#191970" d="M1643.5224,-469.8846C1666.2127,-456.891 1698.7333,-438.2681 1718.2678,-427.0817"/>
+<polygon fill="#191970" stroke="#191970" points="1641.7018,-466.8939 1634.7632,-474.9005 1645.1804,-472.9684 1641.7018,-466.8939"/>
 </g>
 <!-- Node65 -->
 <g id="node7" class="node">
 <title>Node65</title>
 <g id="a_node7"><a xlink:href="relay_2qnn_2transform_8h.html" target="_top" xlink:title="include/tvm/relay/qnn\l/transform.h">
-<polygon fill="#ffffff" stroke="#000000" points="1861,-.5 1861,-30.5 1984,-30.5 1984,-.5 1861,-.5"/>
-<text text-anchor="start" x="1869" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
-<text text-anchor="middle" x="1922.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1544.5,-.5 1544.5,-30.5 1667.5,-30.5 1667.5,-.5 1544.5,-.5"/>
+<text text-anchor="start" x="1552.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/qnn</text>
+<text text-anchor="middle" x="1606" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node64&#45;&gt;Node65 -->
 <g id="edge6" class="edge">
 <title>Node64&#45;&gt;Node65</title>
-<path fill="none" stroke="#191970" d="M1922.5,-62.7758C1922.5,-52.4641 1922.5,-40.0437 1922.5,-30.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1919.0001,-62.9005 1922.5,-72.9005 1926.0001,-62.9006 1919.0001,-62.9005"/>
+<path fill="none" stroke="#191970" d="M1606,-62.7758C1606,-52.4641 1606,-40.0437 1606,-30.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1602.5001,-62.9005 1606,-72.9005 1609.5001,-62.9006 1602.5001,-62.9005"/>
 </g>
 <!-- Node67 -->
 <g id="node9" class="node">
 <title>Node67</title>
 <g id="a_node9"><a xlink:href="target_8h.html" target="_top" xlink:title="Compilation target object. ">
-<polygon fill="#ffffff" stroke="#000000" points="827,-335.5 827,-365.5 934,-365.5 934,-335.5 827,-335.5"/>
-<text text-anchor="start" x="835" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="880.5" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1075.5,-335.5 1075.5,-365.5 1182.5,-365.5 1182.5,-335.5 1075.5,-335.5"/>
+<text text-anchor="start" x="1083.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1129" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/target.h</text>
 </a>
 </g>
 </g>
 <!-- Node66&#45;&gt;Node67 -->
 <g id="edge8" class="edge">
 <title>Node66&#45;&gt;Node67</title>
-<path fill="none" stroke="#191970" d="M1117.7789,-403.3162C1063.2118,-391.1701 985.5257,-373.8778 934.1,-362.4309"/>
-<polygon fill="#191970" stroke="#191970" points="1117.1656,-406.7653 1127.6872,-405.5217 1118.6866,-399.9325 1117.1656,-406.7653"/>
+<path fill="none" stroke="#191970" d="M1269.836,-399.1392C1239.3291,-388.6033 1201.4966,-375.5375 1172.7273,-365.6017"/>
+<polygon fill="#191970" stroke="#191970" points="1268.8679,-402.5077 1279.4626,-402.4639 1271.153,-395.8912 1268.8679,-402.5077"/>
 </g>
 <!-- Node67&#45;&gt;Node62 -->
 <g id="edge10" class="edge">
 <title>Node67&#45;&gt;Node62</title>
-<path fill="none" stroke="#191970" d="M944.4314,-347.5706C1100.8779,-340.1677 1499.7923,-319.8124 1631.5,-299 1634.3494,-298.5497 1637.2595,-298.0311 1640.1887,-297.4625"/>
-<polygon fill="#191970" stroke="#191970" points="943.8617,-344.0935 934.0375,-348.0603 944.1912,-351.0857 943.8617,-344.0935"/>
+<path fill="none" stroke="#191970" d="M1192.8956,-349.4482C1316.3702,-346.6102 1596.0369,-336.2583 1828,-299 1830.8482,-298.5425 1833.7574,-298.0181 1836.6859,-297.445"/>
+<polygon fill="#191970" stroke="#191970" points="1192.7771,-345.9499 1182.8569,-349.6702 1192.9319,-352.9482 1192.7771,-345.9499"/>
 </g>
 <!-- Node67&#45;&gt;Node64 -->
 <g id="edge25" class="edge">
 <title>Node67&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M944.3072,-348.8624C1046.7693,-345.2217 1242.4762,-333.8032 1301.5,-299 1347.8306,-271.6813 1327.5218,-230.4924 1372.5,-201 1488.1992,-125.1355 1541.2336,-163.0641 1676.5,-134 1746.0367,-119.0589 1826.7538,-102.2657 1876.2228,-92.0362"/>
-<polygon fill="#191970" stroke="#191970" points="943.9647,-345.372 934.0897,-349.2107 944.2032,-352.3679 943.9647,-345.372"/>
+<path fill="none" stroke="#191970" d="M1192.4987,-345.0389C1283.7204,-336.5423 1442.8395,-319.0369 1460,-299 1488.7073,-265.4807 1424.0278,-240.3544 1444,-201 1472.8587,-144.1351 1543.2407,-108.0156 1581.0339,-92.04"/>
+<polygon fill="#191970" stroke="#191970" points="1192.174,-341.5539 1182.5371,-345.9561 1192.8159,-348.5244 1192.174,-341.5539"/>
 </g>
 <!-- Node68 -->
 <g id="node10" class="node">
 <title>Node68</title>
 <g id="a_node10"><a xlink:href="search__task_8h.html" target="_top" xlink:title="Meta information and hardware parameters for a search task. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="435.5,-268.5 435.5,-298.5 587.5,-298.5 587.5,-268.5 435.5,-268.5"/>
-<text text-anchor="start" x="443.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
-<text text-anchor="middle" x="511.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1053,-268.5 1053,-298.5 1205,-298.5 1205,-268.5 1053,-268.5"/>
+<text text-anchor="start" x="1061" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/auto_scheduler</text>
+<text text-anchor="middle" x="1129" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/search_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node68 -->
 <g id="edge9" class="edge">
 <title>Node67&#45;&gt;Node68</title>
-<path fill="none" stroke="#191970" d="M816.9379,-338.9589C753.3178,-327.4073 655.4056,-309.6292 587.6651,-297.3294"/>
-<polygon fill="#191970" stroke="#191970" points="816.3798,-342.4147 826.8442,-340.7576 817.6304,-335.5273 816.3798,-342.4147"/>
+<path fill="none" stroke="#191970" d="M1129,-325.0249C1129,-316.128 1129,-306.4287 1129,-298.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1125.5001,-325.2966 1129,-335.2967 1132.5001,-325.2967 1125.5001,-325.2966"/>
 </g>
 <!-- Node75 -->
 <g id="node11" class="node">
 <title>Node75</title>
 <g id="a_node11"><a xlink:href="memory__pools_8h.html" target="_top" xlink:title="The object definition for relay.build argument type of memory pools. ">
-<polygon fill="#ffffff" stroke="#000000" points="289.5,-268.5 289.5,-298.5 417.5,-298.5 417.5,-268.5 289.5,-268.5"/>
-<text text-anchor="start" x="297.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/memory</text>
-<text text-anchor="middle" x="353.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pools.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="907,-268.5 907,-298.5 1035,-298.5 1035,-268.5 907,-268.5"/>
+<text text-anchor="start" x="915" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/memory</text>
+<text text-anchor="middle" x="971" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pools.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node75 -->
 <g id="edge11" class="edge">
 <title>Node67&#45;&gt;Node75</title>
-<path fill="none" stroke="#191970" d="M816.7026,-345.215C728.6057,-337.4732 564.893,-321.4882 426.5,-299 423.5587,-298.522 420.5566,-298.0049 417.5285,-297.4594"/>
-<polygon fill="#191970" stroke="#191970" points="816.5388,-348.7139 826.805,-346.0957 817.1468,-341.7403 816.5388,-348.7139"/>
+<path fill="none" stroke="#191970" d="M1084.0798,-331.4516C1059.5252,-321.0392 1029.5364,-308.3224 1006.6129,-298.6017"/>
+<polygon fill="#191970" stroke="#191970" points="1082.9688,-334.7821 1093.5417,-335.4639 1085.7017,-328.3376 1082.9688,-334.7821"/>
 </g>
 <!-- Node76 -->
 <g id="node12" class="node">
 <title>Node76</title>
 <g id="a_node12"><a xlink:href="tir_2usmp_2utils_8h.html" target="_top" xlink:title="Utilities for Unified Static Memory Planner. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="420.5,-201.5 420.5,-231.5 538.5,-231.5 538.5,-201.5 420.5,-201.5"/>
-<text text-anchor="start" x="428.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
-<text text-anchor="middle" x="479.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/utils.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="996,-201.5 996,-231.5 1114,-231.5 1114,-201.5 996,-201.5"/>
+<text text-anchor="start" x="1004" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/usmp</text>
+<text text-anchor="middle" x="1055" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/utils.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node76 -->
-<g id="edge65" class="edge">
+<g id="edge66" class="edge">
 <title>Node67&#45;&gt;Node76</title>
-<path fill="none" stroke="#191970" d="M816.7685,-339.0695C772.7632,-330.3023 713.2591,-316.7016 662.5,-299 631.8995,-288.3285 625.9997,-281.418 596.5,-268 569.0258,-255.5033 537.7224,-241.7497 514.4123,-231.6015"/>
-<polygon fill="#191970" stroke="#191970" points="816.2714,-342.5387 826.7583,-341.03 817.6195,-335.6697 816.2714,-342.5387"/>
+<path fill="none" stroke="#191970" d="M1180.1511,-330.7472C1193.5432,-322.9655 1206.3583,-312.5649 1214,-299 1220.7624,-286.996 1222.1035,-279.1427 1214,-268 1201.8831,-251.3387 1154.2876,-237.3156 1114.3006,-228.1303"/>
+<polygon fill="#191970" stroke="#191970" points="1178.4715,-327.6764 1171.3159,-335.4897 1181.7821,-333.8441 1178.4715,-327.6764"/>
 </g>
 <!-- Node81 -->
 <g id="node13" class="node">
 <title>Node81</title>
 <g id="a_node13"><a xlink:href="apply__history__best_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/apply_history_best.h">
-<polygon fill="#ffffff" stroke="#000000" points="629.5,-201.5 629.5,-231.5 781.5,-231.5 781.5,-201.5 629.5,-201.5"/>
-<text text-anchor="start" x="637.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="705.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1205,-201.5 1205,-231.5 1357,-231.5 1357,-201.5 1205,-201.5"/>
+<text text-anchor="start" x="1213" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1281" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/apply_history_best.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node81 -->
 <g id="edge13" class="edge">
 <title>Node67&#45;&gt;Node81</title>
-<path fill="none" stroke="#191970" d="M816.8211,-343.3239C762.4223,-335.727 690.2259,-321.65 672.5,-299 656.5278,-278.5908 675.731,-249.4389 690.8206,-231.8086"/>
-<polygon fill="#191970" stroke="#191970" points="816.3754,-346.7954 826.7543,-344.6677 817.3138,-339.8586 816.3754,-346.7954"/>
+<path fill="none" stroke="#191970" d="M1180.6988,-331.2355C1198.0145,-323.0947 1216.5663,-312.3589 1231,-299 1251.8955,-279.6604 1267.0881,-249.6255 1274.9375,-231.6283"/>
+<polygon fill="#191970" stroke="#191970" points="1178.9234,-328.1962 1171.2401,-335.4913 1181.7957,-334.5798 1178.9234,-328.1962"/>
 </g>
 <!-- Node82 -->
 <g id="node14" class="node">
 <title>Node82</title>
 <g id="a_node14"><a xlink:href="builder_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/builder.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="927.5,-268.5 927.5,-298.5 1079.5,-298.5 1079.5,-268.5 927.5,-268.5"/>
-<text text-anchor="start" x="935.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1003.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="448,-268.5 448,-298.5 600,-298.5 600,-268.5 448,-268.5"/>
+<text text-anchor="start" x="456" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="524" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/builder.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node82 -->
 <g id="edge14" class="edge">
 <title>Node67&#45;&gt;Node82</title>
-<path fill="none" stroke="#191970" d="M916.9683,-330.6352C935.7177,-320.422 958.2099,-308.1702 975.563,-298.7177"/>
-<polygon fill="#191970" stroke="#191970" points="915.211,-327.6067 908.1036,-335.4639 918.5595,-333.7539 915.211,-327.6067"/>
+<path fill="none" stroke="#191970" d="M1065.4943,-345.6074C968.1014,-337.7753 776.0978,-321.0351 614,-299 609.4439,-298.3807 604.7652,-297.7027 600.05,-296.9874"/>
+<polygon fill="#191970" stroke="#191970" points="1065.2261,-349.0971 1075.4733,-346.4053 1065.7841,-342.1193 1065.2261,-349.0971"/>
 </g>
 <!-- Node85 -->
 <g id="node15" class="node">
 <title>Node85</title>
 <g id="a_node15"><a xlink:href="tune__context_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/tune_context.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="908.5,-201.5 908.5,-231.5 1060.5,-231.5 1060.5,-201.5 908.5,-201.5"/>
-<text text-anchor="start" x="916.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="984.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="506,-201.5 506,-231.5 658,-231.5 658,-201.5 506,-201.5"/>
+<text text-anchor="start" x="514" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="582" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tune_context.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node85 -->
 <g id="edge19" class="edge">
 <title>Node67&#45;&gt;Node85</title>
-<path fill="none" stroke="#191970" d="M888.3332,-325.8558C894.6495,-308.5008 904.7492,-285.3597 918.5,-268 929.9609,-253.5311 946.2936,-240.7435 959.8438,-231.5299"/>
-<polygon fill="#191970" stroke="#191970" points="885.0215,-324.7234 885.0524,-335.3182 891.6352,-327.0165 885.0215,-324.7234"/>
+<path fill="none" stroke="#191970" d="M1065.1729,-346.443C942.5224,-338.2461 682.8197,-318.8 647,-299 619.2322,-283.6508 599.1829,-251.054 589.1877,-231.7465"/>
+<polygon fill="#191970" stroke="#191970" points="1064.9741,-349.9374 1075.184,-347.1074 1065.4377,-342.9528 1064.9741,-349.9374"/>
 </g>
 <!-- Node86 -->
 <g id="node16" class="node">
 <title>Node86</title>
 <g id="a_node16"><a xlink:href="database_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/database.h">
-<polygon fill="#ffffff" stroke="#ff0000" points="681.5,-268.5 681.5,-298.5 833.5,-298.5 833.5,-268.5 681.5,-268.5"/>
-<text text-anchor="start" x="689.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="757.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1299,-268.5 1299,-298.5 1451,-298.5 1451,-268.5 1299,-268.5"/>
+<text text-anchor="start" x="1307" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="1375" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/database.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node86 -->
 <g id="edge16" class="edge">
 <title>Node67&#45;&gt;Node86</title>
-<path fill="none" stroke="#191970" d="M844.0317,-330.6352C825.2823,-320.422 802.7901,-308.1702 785.437,-298.7177"/>
-<polygon fill="#191970" stroke="#191970" points="842.4405,-333.7539 852.8964,-335.4639 845.789,-327.6067 842.4405,-333.7539"/>
+<path fill="none" stroke="#191970" d="M1192.4508,-333.2187C1231.8412,-322.4904 1281.9711,-308.8371 1319.7287,-298.5536"/>
+<polygon fill="#191970" stroke="#191970" points="1191.4105,-329.8744 1182.6818,-335.8794 1193.2501,-336.6284 1191.4105,-329.8744"/>
 </g>
 <!-- Node88 -->
 <g id="node17" class="node">
 <title>Node88</title>
 <g id="a_node17"><a xlink:href="extracted__task_8h.html" target="_top" xlink:title="include/tvm/meta_schedule\l/extracted_task.h">
-<polygon fill="#ffffff" stroke="#000000" points="1097.5,-268.5 1097.5,-298.5 1249.5,-298.5 1249.5,-268.5 1097.5,-268.5"/>
-<text text-anchor="start" x="1105.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
-<text text-anchor="middle" x="1173.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extracted_task.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="278,-268.5 278,-298.5 430,-298.5 430,-268.5 278,-268.5"/>
+<text text-anchor="start" x="286" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/meta_schedule</text>
+<text text-anchor="middle" x="354" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/extracted_task.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node88 -->
 <g id="edge18" class="edge">
 <title>Node67&#45;&gt;Node88</title>
-<path fill="none" stroke="#191970" d="M944.28,-335.9155C992.66,-324.8525 1058.9433,-309.6956 1107.7907,-298.5257"/>
-<polygon fill="#191970" stroke="#191970" points="943.2089,-332.57 934.2407,-338.2112 944.7693,-339.3939 943.2089,-332.57"/>
+<path fill="none" stroke="#191970" d="M1064.8317,-347.9817C942.6294,-342.6833 668.2373,-328.3721 439,-299 436.1731,-298.6378 433.2975,-298.244 430.3962,-297.8252"/>
+<polygon fill="#191970" stroke="#191970" points="1064.9835,-351.4913 1075.1241,-348.4222 1065.2829,-344.4977 1064.9835,-351.4913"/>
 </g>
 <!-- Node89 -->
 <g id="node18" class="node">
 <title>Node89</title>
 <g id="a_node18"><a xlink:href="interpreter_8h.html" target="_top" xlink:title="An interpreter for Relay. ">
-<polygon fill="#ffffff" stroke="#000000" points="914,-140 914,-159 1079,-159 1079,-140 914,-140"/>
-<text text-anchor="middle" x="996.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1634.5,-140 1634.5,-159 1799.5,-159 1799.5,-140 1634.5,-140"/>
+<text text-anchor="middle" x="1717" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/interpreter.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node89 -->
 <g id="edge20" class="edge">
 <title>Node67&#45;&gt;Node89</title>
-<path fill="none" stroke="#191970" d="M877.0652,-325.092C874.1389,-293.195 873.8252,-238.1637 899.5,-201 914.0223,-179.9793 939.9183,-166.8543 961.3022,-159.1186"/>
-<polygon fill="#191970" stroke="#191970" points="873.6185,-325.7755 878.1709,-335.3424 880.5782,-325.0247 873.6185,-325.7755"/>
+<path fill="none" stroke="#191970" d="M1193.0722,-345.9505C1292.2603,-338.2489 1473.6492,-321.2814 1493,-299 1502.0342,-288.5976 1498.6053,-280.586 1493,-268 1483.2694,-246.1513 1462.7306,-253.8487 1453,-232 1447.3947,-219.414 1444.2398,-211.6342 1453,-201 1475.7137,-173.4273 1565.5763,-160.4172 1634.2108,-154.4115"/>
+<polygon fill="#191970" stroke="#191970" points="1192.5645,-342.479 1182.8613,-346.7331 1193.0995,-349.4585 1192.5645,-342.479"/>
 </g>
 <!-- Node90 -->
 <g id="node19" class="node">
 <title>Node90</title>
 <g id="a_node19"><a xlink:href="relay_2op__attr__types_8h.html" target="_top" xlink:title="The Expr and related elements in DataFlow construction. ">
-<polygon fill="#ffffff" stroke="#000000" points="1233,-134.5 1233,-164.5 1350,-164.5 1350,-134.5 1233,-134.5"/>
-<text text-anchor="start" x="1241" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
-<text text-anchor="middle" x="1291.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attr_types.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1250.5,-134.5 1250.5,-164.5 1367.5,-164.5 1367.5,-134.5 1250.5,-134.5"/>
+<text text-anchor="start" x="1258.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
+<text text-anchor="middle" x="1309" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_attr_types.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node90 -->
 <g id="edge21" class="edge">
 <title>Node67&#45;&gt;Node90</title>
-<path fill="none" stroke="#191970" d="M944.2728,-346.0338C1049.8498,-338.0809 1251.8307,-320.2854 1276.5,-299 1315.2094,-265.6002 1303.4378,-195.7097 1295.7934,-164.7832"/>
-<polygon fill="#191970" stroke="#191970" points="943.7687,-342.5616 934.0565,-346.7954 944.2891,-349.5423 943.7687,-342.5616"/>
+<path fill="none" stroke="#191970" d="M1065.1038,-349.0905C868.8878,-344.4539 286.5919,-328.2735 259,-299 249.5499,-288.9739 257.1025,-281.6465 259,-268 263.2628,-237.343 253.7813,-220.2738 278,-201 316.2345,-170.5721 1037.8098,-154.6079 1250.4858,-150.5502"/>
+<polygon fill="#191970" stroke="#191970" points="1065.1808,-352.5932 1075.2601,-349.3283 1065.3448,-345.5951 1065.1808,-352.5932"/>
 </g>
 <!-- Node91 -->
 <g id="node20" class="node">
 <title>Node91</title>
 <g id="a_node20"><a xlink:href="op__strategy_8h.html" target="_top" xlink:title="The Relay operator Strategy and related data structure. ">
-<polygon fill="#ffffff" stroke="#000000" points="1233,-67.5 1233,-97.5 1350,-97.5 1350,-67.5 1233,-67.5"/>
-<text text-anchor="start" x="1241" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
-<text text-anchor="middle" x="1291.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_strategy.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1250.5,-67.5 1250.5,-97.5 1367.5,-97.5 1367.5,-67.5 1250.5,-67.5"/>
+<text text-anchor="start" x="1258.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op</text>
+<text text-anchor="middle" x="1309" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_strategy.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node91 -->
 <g id="edge24" class="edge">
 <title>Node67&#45;&gt;Node91</title>
-<path fill="none" stroke="#191970" d="M816.4775,-348.3048C643.2716,-342.0573 176.9202,-323.067 154.5,-299 145.1086,-288.9189 146.0756,-278.9022 154.5,-268 221.6081,-181.1538 1009.5272,-106.8608 1232.843,-87.4412"/>
-<polygon fill="#191970" stroke="#191970" points="816.6003,-351.8114 826.7192,-348.6717 816.8509,-344.8158 816.6003,-351.8114"/>
+<path fill="none" stroke="#191970" d="M1065.2013,-349.1287C867.8562,-344.5791 278.8848,-328.5683 251,-299 237.5183,-284.7044 236.9745,-221.4885 257,-201 326.9349,-129.4481 1039.0168,-93.884 1250.2456,-84.8537"/>
+<polygon fill="#191970" stroke="#191970" points="1065.3354,-352.6325 1075.4127,-349.3619 1065.4953,-345.6344 1065.3354,-352.6325"/>
 </g>
 <!-- Node92 -->
 <g id="node21" class="node">
 <title>Node92</title>
 <g id="a_node21"><a xlink:href="codegen_8h.html" target="_top" xlink:title="Translates IRModule to runtime::Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="0,-268.5 0,-298.5 107,-298.5 107,-268.5 0,-268.5"/>
-<text text-anchor="start" x="8" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="53.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="656.5,-268.5 656.5,-298.5 763.5,-298.5 763.5,-268.5 656.5,-268.5"/>
+<text text-anchor="start" x="664.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="710" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/codegen.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node92 -->
 <g id="edge26" class="edge">
 <title>Node67&#45;&gt;Node92</title>
-<path fill="none" stroke="#191970" d="M816.5694,-349.5299C685.5202,-346.8019 377.2215,-336.5847 121.5,-299 116.8279,-298.3133 112.0012,-297.4761 107.1754,-296.5502"/>
-<polygon fill="#191970" stroke="#191970" points="816.7536,-353.0342 826.8218,-349.7355 816.894,-346.0356 816.7536,-353.0342"/>
+<path fill="none" stroke="#191970" d="M1065.2703,-343.2911C993.6,-334.7243 873.9019,-319.0339 772,-299 769.2783,-298.4649 766.4969,-297.8865 763.6935,-297.2784"/>
+<polygon fill="#191970" stroke="#191970" points="1065.1456,-346.8007 1075.4883,-344.503 1065.9701,-339.8495 1065.1456,-346.8007"/>
 </g>
 <!-- Node93 -->
 <g id="node22" class="node">
 <title>Node93</title>
 <g id="a_node22"><a xlink:href="generic__func_8h.html" target="_top" xlink:title="Generic function that can be specialzied on a per target basis. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1180,-201.5 1180,-231.5 1287,-231.5 1287,-201.5 1180,-201.5"/>
-<text text-anchor="start" x="1188" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1233.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/generic_func.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="287.5,-201.5 287.5,-231.5 394.5,-231.5 394.5,-201.5 287.5,-201.5"/>
+<text text-anchor="start" x="295.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="341" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/generic_func.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node93 -->
 <g id="edge27" class="edge">
 <title>Node67&#45;&gt;Node93</title>
-<path fill="none" stroke="#191970" d="M944.3114,-346.3283C1046.6669,-338.9803 1238.1816,-322.2744 1258.5,-299 1275.2321,-279.8336 1258.7174,-249.7418 1245.7333,-231.6869"/>
-<polygon fill="#191970" stroke="#191970" points="943.8194,-342.8543 934.0917,-347.0521 944.314,-349.8368 943.8194,-342.8543"/>
+<path fill="none" stroke="#191970" d="M1065.164,-349.0461C870.546,-344.3058 296.2344,-327.9141 269,-299 247.428,-276.0976 283.8398,-248.327 312.2799,-231.5546"/>
+<polygon fill="#191970" stroke="#191970" points="1065.1591,-352.5469 1075.2407,-349.2894 1065.3281,-345.549 1065.1591,-352.5469"/>
 </g>
 <!-- Node110 -->
 <g id="node23" class="node">
 <title>Node110</title>
 <g id="a_node23"><a xlink:href="tag_8h.html" target="_top" xlink:title="Target tag registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="164,-268.5 164,-298.5 271,-298.5 271,-268.5 164,-268.5"/>
-<text text-anchor="start" x="172" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="217.5" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tag.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="781.5,-268.5 781.5,-298.5 888.5,-298.5 888.5,-268.5 781.5,-268.5"/>
+<text text-anchor="start" x="789.5" y="-286.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="835" y="-275.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/tag.h</text>
 </a>
 </g>
 </g>
 <!-- Node67&#45;&gt;Node110 -->
 <g id="edge29" class="edge">
 <title>Node67&#45;&gt;Node110</title>
-<path fill="none" stroke="#191970" d="M816.5026,-348.2765C706.3575,-343.7223 474.12,-330.9285 280.5,-299 277.4993,-298.5052 274.4308,-297.9423 271.3422,-297.3313"/>
-<polygon fill="#191970" stroke="#191970" points="816.642,-351.7849 826.7753,-348.6919 816.9249,-344.7907 816.642,-351.7849"/>
+<path fill="none" stroke="#191970" d="M1065.3245,-336.6965C1018.8841,-326.5337 954.463,-312.2382 898,-299 894.9294,-298.2801 891.7769,-297.5322 888.5971,-296.7711"/>
+<polygon fill="#191970" stroke="#191970" points="1064.7298,-340.1491 1075.2465,-338.8648 1066.2243,-333.3105 1064.7298,-340.1491"/>
 </g>
 <!-- Node67&#45;&gt;Node111 -->
 <g id="edge30" class="edge">
 <title>Node67&#45;&gt;Node111</title>
-<path fill="none" stroke="#191970" d="M944.3511,-344.2819C1078.9046,-331.1786 1389.4743,-300.9342 1514.7053,-288.7387"/>
-<polygon fill="#191970" stroke="#191970" points="943.8133,-340.8177 934.1996,-345.2705 944.4918,-347.7847 943.8133,-340.8177"/>
+<path fill="none" stroke="#191970" d="M1192.9139,-344.2404C1272.4625,-336.007 1412.3208,-320.077 1531,-299 1535.6495,-298.1743 1540.4606,-297.2404 1545.276,-296.2505"/>
+<polygon fill="#191970" stroke="#191970" points="1192.1614,-340.7992 1182.5713,-345.3026 1192.8766,-347.7625 1192.1614,-340.7992"/>
+</g>
+<!-- Node67&#45;&gt;Node130 -->
+<g id="edge65" class="edge">
+<title>Node67&#45;&gt;Node130</title>
+<path fill="none" stroke="#191970" d="M1192.7769,-346.1672C1292.9883,-338.9477 1493.3052,-322.854 1662,-299 1673.6116,-297.3581 1686.0714,-295.2287 1697.7153,-293.0768"/>
+<polygon fill="#191970" stroke="#191970" points="1192.2446,-342.6962 1182.5196,-346.9003 1192.7437,-349.6784 1192.2446,-342.6962"/>
 </g>
 <!-- Node75&#45;&gt;Node76 -->
 <g id="edge12" class="edge">
 <title>Node75&#45;&gt;Node76</title>
-<path fill="none" stroke="#191970" d="M390.8578,-263.6352C410.0645,-253.422 433.1053,-241.1702 450.8816,-231.7177"/>
-<polygon fill="#191970" stroke="#191970" points="388.963,-260.6786 381.7769,-268.4639 392.2495,-266.8591 388.963,-260.6786"/>
+<path fill="none" stroke="#191970" d="M998.23,-261.7808C1010.5699,-251.9383 1024.8591,-240.541 1036.0145,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="995.6962,-259.3248 990.0609,-268.2967 1000.0612,-264.7973 995.6962,-259.3248"/>
 </g>
 <!-- Node82&#45;&gt;Node85 -->
 <g id="edge15" class="edge">
 <title>Node82&#45;&gt;Node85</title>
-<path fill="none" stroke="#191970" d="M996.4417,-258.6103C993.8739,-249.5553 991.0507,-239.5998 988.7943,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="993.0931,-259.6309 999.1886,-268.2967 999.8275,-257.7211 993.0931,-259.6309"/>
+<path fill="none" stroke="#191970" d="M543.7906,-260.6385C552.0778,-251.0653 561.4847,-240.1987 568.891,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="541.0599,-258.4453 537.1611,-268.2967 546.3524,-263.0268 541.0599,-258.4453"/>
 </g>
 <!-- Node86&#45;&gt;Node81 -->
 <g id="edge17" class="edge">
 <title>Node86&#45;&gt;Node81</title>
-<path fill="none" stroke="#191970" d="M739.5335,-260.3509C732.1583,-250.8482 723.8266,-240.1132 717.2529,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="736.8042,-262.5427 745.7004,-268.2967 742.3341,-258.2508 736.8042,-262.5427"/>
+<path fill="none" stroke="#191970" d="M1345.3225,-262.3469C1331.3357,-252.3776 1314.9692,-240.7121 1302.2456,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1343.4953,-265.3426 1353.6699,-268.2967 1347.5582,-259.6423 1343.4953,-265.3426"/>
 </g>
 <!-- Node90&#45;&gt;Node64 -->
 <g id="edge23" class="edge">
 <title>Node90&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M1360.5773,-134.6156C1361.8945,-134.4024 1363.203,-134.1968 1364.5,-134 1533.0645,-108.4158 1732.3397,-93.7252 1841.2828,-87.003"/>
-<polygon fill="#191970" stroke="#191970" points="1359.615,-131.23 1350.3583,-136.384 1360.8087,-138.1275 1359.615,-131.23"/>
+<path fill="none" stroke="#191970" d="M1377.7701,-133.9862C1435.2251,-121.025 1515.3143,-102.9577 1563.7478,-92.0316"/>
+<polygon fill="#191970" stroke="#191970" points="1376.6623,-130.6481 1367.6776,-136.263 1378.2027,-137.4765 1376.6623,-130.6481"/>
 </g>
 <!-- Node90&#45;&gt;Node91 -->
 <g id="edge22" class="edge">
 <title>Node90&#45;&gt;Node91</title>
-<path fill="none" stroke="#191970" d="M1291.5,-124.0249C1291.5,-115.128 1291.5,-105.4287 1291.5,-97.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1288.0001,-124.2966 1291.5,-134.2967 1295.0001,-124.2967 1288.0001,-124.2966"/>
+<path fill="none" stroke="#191970" d="M1309,-124.0249C1309,-115.128 1309,-105.4287 1309,-97.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1305.5001,-124.2966 1309,-134.2967 1312.5001,-124.2967 1305.5001,-124.2966"/>
 </g>
 <!-- Node93&#45;&gt;Node90 -->
 <g id="edge28" class="edge">
 <title>Node93&#45;&gt;Node90</title>
-<path fill="none" stroke="#191970" d="M1253.2906,-193.6385C1261.5778,-184.0653 1270.9847,-173.1987 1278.391,-164.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1250.5599,-191.4453 1246.6611,-201.2967 1255.8524,-196.0268 1250.5599,-191.4453"/>
+<path fill="none" stroke="#191970" d="M404.8809,-209.6333C433.0967,-206.7346 466.6792,-203.4671 497,-201 778.9324,-178.0605 1116.64,-159.497 1250.3568,-152.4997"/>
+<polygon fill="#191970" stroke="#191970" points="404.3309,-206.1715 394.7444,-210.6824 405.0516,-213.1343 404.3309,-206.1715"/>
 </g>
 <!-- Node111&#45;&gt;Node64 -->
 <g id="edge62" class="edge">
 <title>Node111&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M1631.9868,-268.158C1711.7527,-253.7639 1756.8811,-290.5481 1804.5,-232 1813.1935,-221.3112 1812.1091,-212.486 1804.5,-201 1781.8423,-166.7978 1742.1577,-199.2022 1719.5,-165 1711.8909,-153.514 1711.0399,-144.8744 1719.5,-134 1735.2958,-113.6965 1795.6495,-100.1038 1846.4778,-92.0064"/>
-<polygon fill="#191970" stroke="#191970" points="1631.1842,-264.7496 1622.0851,-270.177 1632.5828,-271.6085 1631.1842,-264.7496"/>
+<path fill="none" stroke="#191970" d="M1599.876,-258.3473C1601.4329,-213.6419 1604.6164,-122.2292 1605.6602,-92.2562"/>
+<polygon fill="#191970" stroke="#191970" points="1596.3764,-258.2765 1599.5261,-268.3923 1603.3722,-258.5202 1596.3764,-258.2765"/>
 </g>
 <!-- Node112 -->
 <g id="node25" class="node">
 <title>Node112</title>
 <g id="a_node25"><a xlink:href="device__copy_8h.html" target="_top" xlink:title="Attribute for the device copy operator. ">
-<polygon fill="#ffffff" stroke="#000000" points="1381.5,-201.5 1381.5,-231.5 1509.5,-231.5 1509.5,-201.5 1381.5,-201.5"/>
-<text text-anchor="start" x="1389.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1445.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/device_copy.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1646,-201.5 1646,-231.5 1774,-231.5 1774,-201.5 1646,-201.5"/>
+<text text-anchor="start" x="1654" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1710" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/device_copy.h</text>
 </a>
 </g>
 </g>
 <!-- Node111&#45;&gt;Node112 -->
 <g id="edge31" class="edge">
 <title>Node111&#45;&gt;Node112</title>
-<path fill="none" stroke="#191970" d="M1532.0317,-263.6352C1513.2823,-253.422 1490.7901,-241.1702 1473.437,-231.7177"/>
-<polygon fill="#191970" stroke="#191970" points="1530.4405,-266.7539 1540.8964,-268.4639 1533.789,-260.6067 1530.4405,-266.7539"/>
+<path fill="none" stroke="#191970" d="M1632.8366,-263.0761C1649.5672,-252.9774 1669.4132,-240.9983 1684.7885,-231.7177"/>
+<polygon fill="#191970" stroke="#191970" points="1630.6632,-260.2998 1623.9106,-268.4639 1634.2806,-266.2927 1630.6632,-260.2998"/>
 </g>
 <!-- Node113 -->
 <g id="node26" class="node">
 <title>Node113</title>
 <g id="a_node26"><a xlink:href="relay_2attrs_2memory_8h.html" target="_top" xlink:title="Attributes for memory operators. ">
-<polygon fill="#ffffff" stroke="#000000" points="1728.5,-134.5 1728.5,-164.5 1856.5,-164.5 1856.5,-134.5 1728.5,-134.5"/>
-<text text-anchor="start" x="1736.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1792.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/memory.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1818,-134.5 1818,-164.5 1946,-164.5 1946,-134.5 1818,-134.5"/>
+<text text-anchor="start" x="1826" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1882" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/memory.h</text>
 </a>
 </g>
 </g>
 <!-- Node111&#45;&gt;Node113 -->
 <g id="edge32" class="edge">
 <title>Node111&#45;&gt;Node113</title>
-<path fill="none" stroke="#191970" d="M1632.0878,-268.2731C1691.4523,-259.3344 1809.295,-265.5614 1837.5,-232 1855.1343,-211.0167 1830.2437,-182.0442 1811.0477,-164.6051"/>
-<polygon fill="#191970" stroke="#191970" points="1631.2907,-264.8599 1622.0593,-270.0591 1632.5181,-271.7515 1631.2907,-264.8599"/>
+<path fill="none" stroke="#191970" d="M1662.5739,-268.3094C1734.698,-258.6472 1886.335,-274.0694 1923,-232 1940.7594,-211.6228 1917.2028,-182.1959 1899.1406,-164.5482"/>
+<polygon fill="#191970" stroke="#191970" points="1661.8489,-264.881 1652.5328,-269.9269 1662.9621,-271.7919 1661.8489,-264.881"/>
 </g>
 <!-- Node114 -->
 <g id="node27" class="node">
 <title>Node114</title>
 <g id="a_node27"><a xlink:href="on__device_8h.html" target="_top" xlink:title="Attribute for the &quot;on_device&quot; annotation (ie operator). ">
-<polygon fill="#ffffff" stroke="#000000" points="1527.5,-201.5 1527.5,-231.5 1655.5,-231.5 1655.5,-201.5 1527.5,-201.5"/>
-<text text-anchor="start" x="1535.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="1591.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/on_device.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1462,-201.5 1462,-231.5 1590,-231.5 1590,-201.5 1462,-201.5"/>
+<text text-anchor="start" x="1470" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="1526" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/on_device.h</text>
 </a>
 </g>
 </g>
 <!-- Node111&#45;&gt;Node114 -->
 <g id="edge33" class="edge">
 <title>Node111&#45;&gt;Node114</title>
-<path fill="none" stroke="#191970" d="M1577.0442,-258.6103C1580.1527,-249.5553 1583.5702,-239.5998 1586.3016,-231.6432"/>
-<polygon fill="#191970" stroke="#191970" points="1573.6556,-257.702 1573.7191,-268.2967 1580.2764,-259.9749 1573.6556,-257.702"/>
+<path fill="none" stroke="#191970" d="M1575.026,-261.4965C1564.3733,-251.7193 1552.1007,-240.4554 1542.4993,-231.6432"/>
+<polygon fill="#191970" stroke="#191970" points="1572.7011,-264.1134 1582.4352,-268.2967 1577.4344,-258.9562 1572.7011,-264.1134"/>
 </g>
 <!-- Node115 -->
 <g id="node28" class="node">
 <title>Node115</title>
 <g id="a_node28"><a xlink:href="relay_2expr_8h.html" target="_top" xlink:title="Relay expression language. ">
-<polygon fill="#ffffff" stroke="#000000" points="2287,-207 2287,-226 2422,-226 2422,-207 2287,-207"/>
-<text text-anchor="middle" x="2354.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2364.5,-207 2364.5,-226 2499.5,-226 2499.5,-207 2364.5,-207"/>
+<text text-anchor="middle" x="2432" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr.h</text>
 </a>
 </g>
 </g>
 <!-- Node111&#45;&gt;Node115 -->
 <g id="edge34" class="edge">
 <title>Node111&#45;&gt;Node115</title>
-<path fill="none" stroke="#191970" d="M1632.3733,-268.0646C1900.9091,-228.2353 1973.3544,-257.7787 2239.5,-232 2256.0429,-230.3977 2273.8667,-228.2183 2290.4278,-226.0003"/>
-<polygon fill="#191970" stroke="#191970" points="1631.6964,-264.6269 1622.3271,-269.5732 1632.736,-271.5493 1631.6964,-264.6269"/>
+<path fill="none" stroke="#191970" d="M1662.7905,-268.0697C1918.6013,-229.5816 1987.094,-250.1943 2241,-232 2281.9818,-229.0633 2327.8742,-225.3528 2364.4014,-222.2984"/>
+<polygon fill="#191970" stroke="#191970" points="1662.1891,-264.6208 1652.8287,-269.5839 1663.2411,-271.5413 1662.1891,-264.6208"/>
 </g>
 <!-- Node129 -->
 <g id="node40" class="node">
 <title>Node129</title>
 <g id="a_node40"><a xlink:href="compilation__config_8h.html" target="_top" xlink:title="A helper class to collect all the targets in canonical form necessary for compilation. ">
-<polygon fill="#ffffff" stroke="#000000" points="1674,-201.5 1674,-231.5 1795,-231.5 1795,-201.5 1674,-201.5"/>
-<text text-anchor="start" x="1682" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
-<text text-anchor="middle" x="1734.5" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/compilation_config.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1792.5,-201.5 1792.5,-231.5 1913.5,-231.5 1913.5,-201.5 1792.5,-201.5"/>
+<text text-anchor="start" x="1800.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/target</text>
+<text text-anchor="middle" x="1853" y="-208.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/compilation_config.h</text>
 </a>
 </g>
 </g>
 <!-- Node111&#45;&gt;Node129 -->
 <g id="edge63" class="edge">
 <title>Node111&#45;&gt;Node129</title>
-<path fill="none" stroke="#191970" d="M1615.3525,-264.5897C1641.2135,-254.1518 1672.8931,-241.3654 1697.0839,-231.6017"/>
-<polygon fill="#191970" stroke="#191970" points="1613.7168,-261.4754 1605.7536,-268.4639 1616.3368,-267.9667 1613.7168,-261.4754"/>
+<path fill="none" stroke="#191970" d="M1662.4396,-266.7659C1703.433,-255.9527 1756.3304,-241.9995 1795.9882,-231.5386"/>
+<polygon fill="#191970" stroke="#191970" points="1661.333,-263.438 1652.5565,-269.3729 1663.1185,-270.2065 1661.333,-263.438"/>
 </g>
 <!-- Node115&#45;&gt;Node64 -->
 <g id="edge61" class="edge">
 <title>Node115&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M2296.9911,-205.1435C2288.7853,-203.6648 2280.4384,-202.2366 2272.5,-201 2207.681,-190.9026 2035.6233,-198.9652 1979.5,-165 1950.9037,-147.6939 1933.1394,-109.9407 1926.0444,-92.1457"/>
-<polygon fill="#191970" stroke="#191970" points="2296.4257,-208.5982 2306.8936,-206.9628 2297.6906,-201.7134 2296.4257,-208.5982"/>
+<path fill="none" stroke="#191970" d="M2407.6346,-201.324C2372.3922,-179.6694 2308.6134,-141.6657 2283,-134 2173.6035,-101.2595 1842.0114,-88.5781 1687.2173,-84.3467"/>
+<polygon fill="#191970" stroke="#191970" points="2406.0034,-204.4302 2416.3514,-206.7043 2409.6802,-198.4735 2406.0034,-204.4302"/>
 </g>
 <!-- Node115&#45;&gt;Node89 -->
 <g id="edge53" class="edge">
 <title>Node115&#45;&gt;Node89</title>
-<path fill="none" stroke="#191970" d="M2282.1089,-205.6378C2268.0044,-203.8344 2253.3108,-202.1725 2239.5,-201 1789.2807,-162.7765 1674.7329,-188.3935 1223.5,-165 1175.6687,-162.5203 1122.2239,-158.9124 1079.2129,-155.8013"/>
-<polygon fill="#191970" stroke="#191970" points="2281.8831,-209.1381 2292.2539,-206.971 2282.7952,-202.1978 2281.8831,-209.1381"/>
+<path fill="none" stroke="#191970" d="M2354.3432,-205.8122C2340.2675,-204.0623 2325.7077,-202.3747 2312,-201 2088.9912,-178.6353 2031.5375,-191.6483 1809,-165 1795.8124,-163.4208 1781.6339,-161.263 1768.4524,-159.0593"/>
+<polygon fill="#191970" stroke="#191970" points="2354.1279,-209.3128 2364.4878,-207.0939 2355.0054,-202.368 2354.1279,-209.3128"/>
 </g>
 <!-- Node115&#45;&gt;Node90 -->
 <g id="edge58" class="edge">
 <title>Node115&#45;&gt;Node90</title>
-<path fill="none" stroke="#191970" d="M2299.8574,-205.1154C2290.7533,-203.5226 2281.3836,-202.0679 2272.5,-201 2092.2715,-179.335 1533.4526,-158.0904 1350.2931,-151.5476"/>
-<polygon fill="#191970" stroke="#191970" points="2299.5182,-208.6111 2309.9834,-206.959 2300.7721,-201.7243 2299.5182,-208.6111"/>
+<path fill="none" stroke="#191970" d="M2355.1418,-205.6783C2340.8235,-203.9165 2325.9734,-202.2593 2312,-201 2264.8411,-196.75 1575.3852,-162.6242 1367.7437,-152.3906"/>
+<polygon fill="#191970" stroke="#191970" points="2355.0949,-209.1999 2365.4536,-206.9755 2355.9687,-202.2547 2355.0949,-209.1999"/>
 </g>
 <!-- Node115&#45;&gt;Node91 -->
 <g id="edge59" class="edge">
 <title>Node115&#45;&gt;Node91</title>
-<path fill="none" stroke="#191970" d="M2297.3211,-205.1053C2289.0117,-203.6202 2280.5481,-202.2005 2272.5,-201 2127.4515,-179.3644 2086.8928,-200.092 1944.5,-165 1907.8781,-155.9747 1902.2096,-142.6616 1865.5,-134 1768.7295,-111.167 1476.2417,-92.7462 1350.2616,-85.6491"/>
-<polygon fill="#191970" stroke="#191970" points="2296.8754,-208.5818 2307.342,-206.9388 2298.1353,-201.6961 2296.8754,-208.5818"/>
+<path fill="none" stroke="#191970" d="M2354.2917,-206.2773C2340.2213,-204.4791 2325.6767,-202.6549 2312,-201 2170.3554,-183.8608 2124.5072,-220.3426 1993,-165 1972.9105,-156.5457 1975.2255,-142.1235 1955,-134 1948.2098,-131.2727 1525.4866,-98.941 1367.6157,-86.9436"/>
+<polygon fill="#191970" stroke="#191970" points="2354.0698,-209.7775 2364.4341,-207.5793 2354.9611,-202.8345 2354.0698,-209.7775"/>
 </g>
 <!-- Node115&#45;&gt;Node113 -->
 <g id="edge43" class="edge">
 <title>Node115&#45;&gt;Node113</title>
-<path fill="none" stroke="#191970" d="M2298.254,-205.119C2289.6501,-203.5954 2280.8546,-202.1609 2272.5,-201 2094.8254,-176.3119 2048.0574,-190.5178 1870.5,-165 1865.9902,-164.3519 1861.347,-163.6133 1856.6797,-162.8183"/>
-<polygon fill="#191970" stroke="#191970" points="2297.7626,-208.5871 2308.2282,-206.9375 2299.0182,-201.7006 2297.7626,-208.5871"/>
+<path fill="none" stroke="#191970" d="M2354.3058,-206.1586C2340.2339,-204.3727 2325.6851,-202.5834 2312,-201 2155.7816,-182.9257 2115.5171,-188.3515 1960,-165 1955.4944,-164.3235 1950.8543,-163.5638 1946.1892,-162.7536"/>
+<polygon fill="#191970" stroke="#191970" points="2354.0856,-209.6588 2364.4488,-207.4554 2354.9734,-202.7154 2354.0856,-209.6588"/>
 </g>
 <!-- Node116 -->
 <g id="node29" class="node">
 <title>Node116</title>
 <g id="a_node29"><a xlink:href="type__functor_8h.html" target="_top" xlink:title="A way to defined arbitrary function signature with dispatch on types. ">
-<polygon fill="#ffffff" stroke="#000000" points="2247,-67.5 2247,-97.5 2356,-97.5 2356,-67.5 2247,-67.5"/>
-<text text-anchor="start" x="2255" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
-<text text-anchor="middle" x="2301.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2882.5,-67.5 2882.5,-97.5 2991.5,-97.5 2991.5,-67.5 2882.5,-67.5"/>
+<text text-anchor="start" x="2890.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/type</text>
+<text text-anchor="middle" x="2937" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node116 -->
 <g id="edge35" class="edge">
 <title>Node115&#45;&gt;Node116</title>
-<path fill="none" stroke="#191970" d="M2299.2435,-204.7435C2247.3984,-193.1559 2176.6237,-175.6786 2168.5,-165 2142.4246,-130.7237 2199.6214,-107.266 2246.9717,-94.3697"/>
-<polygon fill="#191970" stroke="#191970" points="2298.4896,-208.1613 2309.0099,-206.9072 2300.0037,-201.327 2298.4896,-208.1613"/>
+<path fill="none" stroke="#191970" d="M2509.9813,-213.6531C2616.8481,-208.6578 2802.3612,-195.7528 2862,-165 2891.9354,-149.5638 2915.8255,-116.9982 2928.0587,-97.7197"/>
+<polygon fill="#191970" stroke="#191970" points="2509.7223,-210.1612 2499.8917,-214.1122 2510.0405,-217.154 2509.7223,-210.1612"/>
 </g>
 <!-- Node117 -->
 <g id="node30" class="node">
 <title>Node117</title>
 <g id="a_node30"><a xlink:href="relay_2adt_8h.html" target="_top" xlink:title="Algebraic data types for Relay. ">
-<polygon fill="#ffffff" stroke="#000000" points="2878.5,-140 2878.5,-159 3008.5,-159 3008.5,-140 2878.5,-140"/>
-<text text-anchor="middle" x="2943.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2929,-140 2929,-159 3059,-159 3059,-140 2929,-140"/>
+<text text-anchor="middle" x="2994" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/adt.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node117 -->
 <g id="edge36" class="edge">
 <title>Node115&#45;&gt;Node117</title>
-<path fill="none" stroke="#191970" d="M2432.4082,-211.3129C2533.5571,-203.9832 2715.3877,-188.7762 2869.5,-165 2880.0078,-163.3789 2891.2744,-161.2319 2901.7678,-159.0541"/>
-<polygon fill="#191970" stroke="#191970" points="2432.0003,-207.8331 2422.2767,-212.0402 2432.5016,-214.8151 2432.0003,-207.8331"/>
+<path fill="none" stroke="#191970" d="M2510.0063,-210.2979C2605.7181,-202.2015 2772.8022,-186.4886 2915,-165 2926.0559,-163.3293 2937.9167,-161.1891 2948.9997,-159.036"/>
+<polygon fill="#191970" stroke="#191970" points="2509.5048,-206.8276 2499.8329,-211.1525 2510.0908,-213.8031 2509.5048,-206.8276"/>
 </g>
 <!-- Node118 -->
 <g id="node31" class="node">
 <title>Node118</title>
 <g id="a_node31"><a xlink:href="relay_2analysis_8h.html" target="_top" xlink:title="The set of Relay analysis passes written in C++. ">
-<polygon fill="#ffffff" stroke="#000000" points="2696,-73 2696,-92 2851,-92 2851,-73 2696,-73"/>
-<text text-anchor="middle" x="2773.5" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="3009.5,-73 3009.5,-92 3164.5,-92 3164.5,-73 3009.5,-73"/>
+<text text-anchor="middle" x="3087" y="-80" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/analysis.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node118 -->
 <g id="edge41" class="edge">
 <title>Node115&#45;&gt;Node118</title>
-<path fill="none" stroke="#191970" d="M2432.1627,-209.9272C2516.1377,-201.8698 2643.845,-186.5763 2687.5,-165 2705.7698,-155.9702 2746.8486,-111.9831 2764.8129,-92.1874"/>
-<polygon fill="#191970" stroke="#191970" points="2431.7735,-206.4483 2422.1473,-210.8739 2432.4323,-213.4173 2431.7735,-206.4483"/>
+<path fill="none" stroke="#191970" d="M2509.8801,-215.2654C2670.409,-212.0007 3026.6057,-200.7685 3068,-165 3089.2414,-146.6454 3089.3631,-109.7552 3088.0555,-92.2052"/>
+<polygon fill="#191970" stroke="#191970" points="2509.5234,-211.7717 2499.5947,-215.4691 2509.6621,-218.7703 2509.5234,-211.7717"/>
 </g>
 <!-- Node119 -->
 <g id="node32" class="node">
 <title>Node119</title>
 <g id="a_node32"><a xlink:href="relay_2expr__functor_8h.html" target="_top" xlink:title="A more powerful visitor which enables defining arbitrary function signatures with type based dispatch...">
-<polygon fill="#ffffff" stroke="#000000" points="2543,-67.5 2543,-97.5 2670,-97.5 2670,-67.5 2543,-67.5"/>
-<text text-anchor="start" x="2551" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr</text>
-<text text-anchor="middle" x="2606.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2402.5,-67.5 2402.5,-97.5 2529.5,-97.5 2529.5,-67.5 2402.5,-67.5"/>
+<text text-anchor="start" x="2410.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/expr</text>
+<text text-anchor="middle" x="2466" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node119 -->
 <g id="edge47" class="edge">
 <title>Node115&#45;&gt;Node119</title>
-<path fill="none" stroke="#191970" d="M2288.4961,-204.7495C2234.0344,-192.2452 2170.3738,-169.3349 2201.5,-134 2223.6665,-108.8363 2434.3928,-92.7327 2542.7763,-86.0457"/>
-<polygon fill="#191970" stroke="#191970" points="2288.0141,-208.2272 2298.5333,-206.9639 2289.5222,-201.3916 2288.0141,-208.2272"/>
+<path fill="none" stroke="#191970" d="M2399.0493,-202.1708C2383.9334,-193.7184 2367.5114,-181.421 2359,-165 2352.6597,-152.7678 2351.6685,-145.6652 2359,-134 2369.7509,-116.8941 2387.951,-105.3379 2406.3215,-97.5891"/>
+<polygon fill="#191970" stroke="#191970" points="2397.7236,-205.4265 2408.2099,-206.9392 2400.9557,-199.2173 2397.7236,-205.4265"/>
 </g>
 <!-- Node120 -->
 <g id="node33" class="node">
 <title>Node120</title>
 <g id="a_node33"><a xlink:href="pattern__functor_8h.html" target="_top" xlink:title="A more powerful visitor on ADT patterns that enables defining arbitrary function signatures with type...">
-<polygon fill="#ffffff" stroke="#000000" points="2873.5,-67.5 2873.5,-97.5 3013.5,-97.5 3013.5,-67.5 2873.5,-67.5"/>
-<text text-anchor="start" x="2881.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/pattern</text>
-<text text-anchor="middle" x="2943.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2724,-67.5 2724,-97.5 2864,-97.5 2864,-67.5 2724,-67.5"/>
+<text text-anchor="start" x="2732" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/pattern</text>
+<text text-anchor="middle" x="2794" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_functor.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node120 -->
 <g id="edge60" class="edge">
 <title>Node115&#45;&gt;Node120</title>
-<path fill="none" stroke="#191970" d="M2432.2557,-213.2582C2603.1439,-205.7567 2997.8694,-186.2146 3017.5,-165 3039.0616,-141.6986 3002.0879,-114.1619 2973.0773,-97.5294"/>
-<polygon fill="#191970" stroke="#191970" points="2431.9059,-209.77 2422.0681,-213.7027 2432.2112,-216.7633 2431.9059,-209.77"/>
+<path fill="none" stroke="#191970" d="M2509.6552,-212.2843C2623.1281,-205.3198 2823.2085,-189.6776 2845,-165 2863.7249,-143.7951 2835.9095,-114.8919 2814.5738,-97.5265"/>
+<polygon fill="#191970" stroke="#191970" points="2509.3952,-208.7936 2499.6249,-212.8912 2509.8181,-215.7808 2509.3952,-208.7936"/>
 </g>
 <!-- Node121 -->
 <g id="node34" class="node">
 <title>Node121</title>
 <g id="a_node34"><a xlink:href="algorithm_8h.html" target="_top" xlink:title="include/tvm/relay/attrs\l/algorithm.h">
-<polygon fill="#ffffff" stroke="#000000" points="2210.5,-134.5 2210.5,-164.5 2338.5,-164.5 2338.5,-134.5 2210.5,-134.5"/>
-<text text-anchor="start" x="2218.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="2274.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algorithm.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2368,-134.5 2368,-164.5 2496,-164.5 2496,-134.5 2368,-134.5"/>
+<text text-anchor="start" x="2376" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="2432" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/algorithm.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node121 -->
 <g id="edge42" class="edge">
 <title>Node115&#45;&gt;Node121</title>
-<path fill="none" stroke="#191970" d="M2335.1582,-200.3012C2322.1546,-189.4107 2305.1364,-175.1579 2292.4364,-164.5218"/>
-<polygon fill="#191970" stroke="#191970" points="2333.1242,-203.1631 2343.038,-206.9005 2337.6187,-197.7965 2333.1242,-203.1631"/>
+<path fill="none" stroke="#191970" d="M2432,-196.7758C2432,-186.4641 2432,-174.0437 2432,-164.5218"/>
+<polygon fill="#191970" stroke="#191970" points="2428.5001,-196.9005 2432,-206.9005 2435.5001,-196.9006 2428.5001,-196.9005"/>
 </g>
 <!-- Node122 -->
 <g id="node35" class="node">
 <title>Node122</title>
 <g id="a_node35"><a xlink:href="relay_2attrs_2transform_8h.html" target="_top" xlink:title="Transform operators. ">
-<polygon fill="#ffffff" stroke="#000000" points="1988.5,-134.5 1988.5,-164.5 2116.5,-164.5 2116.5,-134.5 1988.5,-134.5"/>
-<text text-anchor="start" x="1996.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
-<text text-anchor="middle" x="2052.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2002,-134.5 2002,-164.5 2130,-164.5 2130,-134.5 2002,-134.5"/>
+<text text-anchor="start" x="2010" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/attrs</text>
+<text text-anchor="middle" x="2066" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/transform.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node122 -->
 <g id="edge44" class="edge">
 <title>Node115&#45;&gt;Node122</title>
-<path fill="none" stroke="#191970" d="M2301.6217,-204.7687C2250.1069,-193.3399 2171.7191,-175.9493 2116.663,-163.7348"/>
-<polygon fill="#191970" stroke="#191970" points="2301.0308,-208.2227 2311.5515,-206.9717 2302.5469,-201.3888 2301.0308,-208.2227"/>
+<path fill="none" stroke="#191970" d="M2364.3299,-205.3013C2304.8638,-195.2944 2216.0473,-179.9461 2139,-165 2136.0746,-164.4325 2133.0856,-163.8419 2130.0681,-163.2369"/>
+<polygon fill="#191970" stroke="#191970" points="2363.9062,-208.7791 2374.3478,-206.9833 2365.0654,-201.8757 2363.9062,-208.7791"/>
 </g>
 <!-- Node123 -->
 <g id="node36" class="node">
 <title>Node123</title>
 <g id="a_node36"><a xlink:href="dataflow__pattern_8h.html" target="_top" xlink:title="A pattern language for matching dataflow properties. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="3065,-134.5 3065,-164.5 3212,-164.5 3212,-134.5 3065,-134.5"/>
-<text text-anchor="start" x="3073" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
-<text text-anchor="middle" x="3138.5" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="3115.5,-134.5 3115.5,-164.5 3262.5,-164.5 3262.5,-134.5 3115.5,-134.5"/>
+<text text-anchor="start" x="3123.5" y="-152.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/dataflow</text>
+<text text-anchor="middle" x="3189" y="-141.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">_pattern.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node123 -->
 <g id="edge46" class="edge">
 <title>Node115&#45;&gt;Node123</title>
-<path fill="none" stroke="#191970" d="M2432.5773,-213.285C2561.5878,-207.3988 2827.2049,-192.8549 3050.5,-165 3055.1181,-164.4239 3059.8623,-163.77 3064.6397,-163.0644"/>
-<polygon fill="#191970" stroke="#191970" points="2432.2322,-209.7969 2422.4002,-213.7442 2432.5478,-216.7898 2432.2322,-209.7969"/>
+<path fill="none" stroke="#191970" d="M2509.8775,-212.9737C2634.9024,-206.7584 2887.9796,-191.8945 3101,-165 3105.6172,-164.4171 3110.3608,-163.7579 3115.1377,-163.0484"/>
+<polygon fill="#191970" stroke="#191970" points="2509.4564,-209.4901 2499.6406,-213.4775 2509.8006,-216.4817 2509.4564,-209.4901"/>
 </g>
 <!-- Node126 -->
 <g id="node37" class="node">
 <title>Node126</title>
 <g id="a_node37"><a xlink:href="relay_2feature_8h.html" target="_top" xlink:title="Detect features used in Expr/Module. ">
-<polygon fill="#ffffff" stroke="#000000" points="2357,-140 2357,-159 2506,-159 2506,-140 2357,-140"/>
-<text text-anchor="middle" x="2431.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2686.5,-140 2686.5,-159 2835.5,-159 2835.5,-140 2686.5,-140"/>
+<text text-anchor="middle" x="2761" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/feature.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node126 -->
 <g id="edge48" class="edge">
 <title>Node115&#45;&gt;Node126</title>
-<path fill="none" stroke="#191970" d="M2373.1188,-200.2992C2387.9282,-187.4131 2408.1464,-169.8207 2420.4882,-159.0817"/>
-<polygon fill="#191970" stroke="#191970" points="2370.7787,-197.6959 2365.5322,-206.9005 2375.3737,-202.9767 2370.7787,-197.6959"/>
+<path fill="none" stroke="#191970" d="M2488.6713,-204.959C2552.3923,-191.9824 2654.6972,-171.1483 2714.1071,-159.0496"/>
+<polygon fill="#191970" stroke="#191970" points="2487.8887,-201.5465 2478.7883,-206.9717 2489.2856,-208.4057 2487.8887,-201.5465"/>
 </g>
 <!-- Node127 -->
 <g id="node38" class="node">
 <title>Node127</title>
 <g id="a_node38"><a xlink:href="relay_2function_8h.html" target="_top" xlink:title="Relay Function. ">
-<polygon fill="#ffffff" stroke="#000000" points="2524.5,-140 2524.5,-159 2678.5,-159 2678.5,-140 2524.5,-140"/>
-<text text-anchor="middle" x="2601.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2514,-140 2514,-159 2668,-159 2668,-140 2514,-140"/>
+<text text-anchor="middle" x="2591" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/function.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node127 -->
 <g id="edge49" class="edge">
 <title>Node115&#45;&gt;Node127</title>
-<path fill="none" stroke="#191970" d="M2399.4178,-204.3158C2447.3176,-191.3228 2522.194,-171.0122 2566.0945,-159.1039"/>
-<polygon fill="#191970" stroke="#191970" points="2398.3617,-200.9757 2389.6268,-206.9717 2400.1943,-207.7316 2398.3617,-200.9757"/>
+<path fill="none" stroke="#191970" d="M2464.2465,-202.9118C2495.1502,-189.8895 2541.0065,-170.5664 2568.2614,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="2462.637,-199.792 2454.7808,-206.9005 2465.3552,-206.2427 2462.637,-199.792"/>
 </g>
 <!-- Node128 -->
 <g id="node39" class="node">
 <title>Node128</title>
 <g id="a_node39"><a xlink:href="relay_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics). ">
-<polygon fill="#ffffff" stroke="#000000" points="2734.5,-140 2734.5,-159 2860.5,-159 2860.5,-140 2734.5,-140"/>
-<text text-anchor="middle" x="2797.5" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2148,-140 2148,-159 2274,-159 2274,-140 2148,-140"/>
+<text text-anchor="middle" x="2211" y="-147" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node115&#45;&gt;Node128 -->
 <g id="edge54" class="edge">
 <title>Node115&#45;&gt;Node128</title>
-<path fill="none" stroke="#191970" d="M2432.3408,-206.8967C2506.5753,-197.4196 2621.428,-181.9267 2720.5,-165 2730.8499,-163.2317 2741.9398,-161.1249 2752.3883,-159.0431"/>
-<polygon fill="#191970" stroke="#191970" points="2431.6201,-203.4601 2422.1415,-208.1936 2432.5031,-210.4042 2431.6201,-203.4601"/>
+<path fill="none" stroke="#191970" d="M2390.7549,-203.9958C2347.8326,-190.9832 2281.5538,-170.8896 2242.6052,-159.0817"/>
+<polygon fill="#191970" stroke="#191970" points="2389.7507,-207.3486 2400.3361,-206.9005 2391.7817,-200.6497 2389.7507,-207.3486"/>
 </g>
 <!-- Node117&#45;&gt;Node116 -->
 <g id="edge37" class="edge">
 <title>Node117&#45;&gt;Node116</title>
-<path fill="none" stroke="#191970" d="M2892.2922,-137.9703C2884.6769,-136.4896 2876.9016,-135.1069 2869.5,-134 2771.3286,-119.3186 2478.5182,-96.0438 2356.1716,-86.642"/>
-<polygon fill="#191970" stroke="#191970" points="2891.6723,-141.4157 2902.1665,-139.9584 2893.0541,-134.5534 2891.6723,-141.4157"/>
+<path fill="none" stroke="#191970" d="M2979.148,-132.0423C2970.0345,-121.33 2958.4837,-107.7528 2949.7797,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="2976.6877,-134.5519 2985.8333,-139.9005 2982.0193,-130.016 2976.6877,-134.5519"/>
 </g>
 <!-- Node117&#45;&gt;Node118 -->
 <g id="edge38" class="edge">
 <title>Node117&#45;&gt;Node118</title>
-<path fill="none" stroke="#191970" d="M2909.4508,-136.0806C2876.4058,-123.057 2827.0783,-103.6162 2797.8117,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="2908.5563,-139.49 2919.1431,-139.9005 2911.123,-132.9776 2908.5563,-139.49"/>
+<path fill="none" stroke="#191970" d="M3015.5008,-134.0102C3033.4667,-121.067 3058.5176,-103.0195 3073.7001,-92.0817"/>
+<polygon fill="#191970" stroke="#191970" points="3013.3925,-131.2153 3007.3246,-139.9005 3017.4842,-136.8949 3013.3925,-131.2153"/>
 </g>
 <!-- Node117&#45;&gt;Node119 -->
 <g id="edge39" class="edge">
 <title>Node117&#45;&gt;Node119</title>
-<path fill="none" stroke="#191970" d="M2888.5209,-137.9007C2882.1107,-136.573 2875.6629,-135.2488 2869.5,-134 2801.4418,-120.2094 2723.3473,-104.9941 2670.0519,-94.7027"/>
-<polygon fill="#191970" stroke="#191970" points="2888.0135,-141.37 2898.5167,-139.9795 2889.4388,-134.5166 2888.0135,-141.37"/>
+<path fill="none" stroke="#191970" d="M2918.8444,-139.9632C2814.4464,-126.7157 2627.3739,-102.9774 2529.5507,-90.5642"/>
+<polygon fill="#191970" stroke="#191970" points="2918.6312,-143.4641 2928.9923,-141.2509 2919.5124,-136.5198 2918.6312,-143.4641"/>
 </g>
 <!-- Node117&#45;&gt;Node120 -->
 <g id="edge40" class="edge">
 <title>Node117&#45;&gt;Node120</title>
-<path fill="none" stroke="#191970" d="M2943.5,-129.7758C2943.5,-119.4641 2943.5,-107.0437 2943.5,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="2940.0001,-129.9005 2943.5,-139.9005 2947.0001,-129.9006 2940.0001,-129.9005"/>
+<path fill="none" stroke="#191970" d="M2955.5082,-136.6052C2922.1692,-125.4367 2873.917,-109.2722 2838.8411,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="2954.751,-140.0427 2965.3449,-139.9005 2956.9746,-133.4052 2954.751,-140.0427"/>
 </g>
 <!-- Node122&#45;&gt;Node64 -->
 <g id="edge45" class="edge">
 <title>Node122&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M2014.4123,-129.8702C1990.2963,-117.4412 1960.178,-101.9187 1941.1345,-92.1039"/>
-<polygon fill="#191970" stroke="#191970" points="2012.8331,-132.9938 2023.3255,-134.4639 2016.04,-126.7715 2012.8331,-132.9938"/>
+<path fill="none" stroke="#191970" d="M1991.8221,-134.6464C1990.5389,-134.4263 1989.264,-134.2106 1988,-134 1884.5299,-116.7617 1764.552,-101.3254 1687.0745,-91.9472"/>
+<polygon fill="#191970" stroke="#191970" points="1991.3277,-138.1132 2001.7848,-136.4107 1992.5484,-131.2205 1991.3277,-138.1132"/>
 </g>
 <!-- Node127&#45;&gt;Node64 -->
 <g id="edge52" class="edge">
 <title>Node127&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M2543.0857,-138.2289C2533.8769,-136.6669 2524.4454,-135.192 2515.5,-134 2333.4245,-109.7377 2118.3054,-94.3395 2003.8085,-87.193"/>
-<polygon fill="#191970" stroke="#191970" points="2542.5049,-141.6804 2552.9573,-139.9488 2543.7064,-134.7843 2542.5049,-141.6804"/>
+<path fill="none" stroke="#191970" d="M2533.9419,-138.2179C2524.311,-136.6006 2514.3927,-135.1113 2505,-134 2204.7865,-98.4793 1845.1619,-87.236 1687.1784,-83.8609"/>
+<polygon fill="#191970" stroke="#191970" points="2533.3883,-141.6741 2543.8401,-139.9391 2534.5876,-134.7776 2533.3883,-141.6741"/>
 </g>
 <!-- Node127&#45;&gt;Node118 -->
 <g id="edge50" class="edge">
 <title>Node127&#45;&gt;Node118</title>
-<path fill="none" stroke="#191970" d="M2635.5184,-136.2487C2668.9529,-123.2247 2719.1637,-103.6659 2748.9023,-92.0817"/>
-<polygon fill="#191970" stroke="#191970" points="2634.191,-133.0095 2626.1434,-139.9005 2636.7318,-139.5321 2634.191,-133.0095"/>
+<path fill="none" stroke="#191970" d="M2651.4463,-138.2064C2660.3362,-136.6979 2669.395,-135.2447 2678,-134 2820.9566,-113.3213 2858.0642,-118.8222 3001,-98 3012.86,-96.2723 3025.5899,-94.1348 3037.5235,-92.0051"/>
+<polygon fill="#191970" stroke="#191970" points="2650.7712,-134.7711 2641.5143,-139.9247 2651.9646,-141.6686 2650.7712,-134.7711"/>
 </g>
 <!-- Node127&#45;&gt;Node119 -->
 <g id="edge51" class="edge">
 <title>Node127&#45;&gt;Node119</title>
-<path fill="none" stroke="#191970" d="M2602.972,-129.7758C2603.7415,-119.4641 2604.6684,-107.0437 2605.379,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="2599.4704,-129.6678 2602.2164,-139.9005 2606.451,-130.1888 2599.4704,-129.6678"/>
+<path fill="none" stroke="#191970" d="M2564.1976,-135.1339C2543.5213,-124.0514 2515.0032,-108.7657 2494.0257,-97.5218"/>
+<polygon fill="#191970" stroke="#191970" points="2562.6233,-138.2611 2573.0905,-139.9005 2565.9303,-132.0915 2562.6233,-138.2611"/>
 </g>
 <!-- Node128&#45;&gt;Node64 -->
 <g id="edge57" class="edge">
 <title>Node128&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M2725.587,-138.6004C2712.9157,-136.899 2699.836,-135.2826 2687.5,-134 2438.9202,-108.1538 2143.4834,-92.5183 2003.6238,-86.0184"/>
-<polygon fill="#191970" stroke="#191970" points="2725.2569,-142.0878 2735.6396,-139.9785 2726.2076,-135.1527 2725.2569,-142.0878"/>
+<path fill="none" stroke="#191970" d="M2160.9304,-137.9433C2153.6001,-136.4781 2146.1228,-135.107 2139,-134 1979.8476,-109.2651 1791.9959,-94.4222 1687.1818,-87.411"/>
+<polygon fill="#191970" stroke="#191970" points="2160.2861,-141.3841 2170.788,-139.9837 2161.705,-134.5294 2160.2861,-141.3841"/>
 </g>
 <!-- Node128&#45;&gt;Node119 -->
 <g id="edge55" class="edge">
 <title>Node128&#45;&gt;Node119</title>
-<path fill="none" stroke="#191970" d="M2760.3278,-136.4605C2728.5046,-125.2974 2682.6764,-109.2216 2649.3232,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="2759.5395,-139.8931 2770.1344,-139.9005 2761.8566,-133.2877 2759.5395,-139.8931"/>
+<path fill="none" stroke="#191970" d="M2257.0731,-137.3945C2299.605,-126.2195 2362.9228,-109.583 2408.6998,-97.5553"/>
+<polygon fill="#191970" stroke="#191970" points="2256.0468,-134.0453 2247.2645,-139.9717 2257.8256,-140.8155 2256.0468,-134.0453"/>
 </g>
 <!-- Node128&#45;&gt;Node120 -->
 <g id="edge56" class="edge">
 <title>Node128&#45;&gt;Node120</title>
-<path fill="none" stroke="#191970" d="M2827.5088,-135.7289C2851.752,-124.6035 2885.8228,-108.9683 2910.766,-97.5218"/>
-<polygon fill="#191970" stroke="#191970" points="2826.0471,-132.5486 2818.4182,-139.9005 2828.9667,-138.9107 2826.0471,-132.5486"/>
+<path fill="none" stroke="#191970" d="M2284.165,-141.0917C2397.1253,-128.11 2612.5384,-103.3541 2723.7233,-90.5764"/>
+<polygon fill="#191970" stroke="#191970" points="2283.7578,-137.6153 2274.2228,-142.2343 2284.5571,-144.5696 2283.7578,-137.6153"/>
 </g>
 <!-- Node129&#45;&gt;Node64 -->
 <g id="edge64" class="edge">
 <title>Node129&#45;&gt;Node64</title>
-<path fill="none" stroke="#191970" d="M1707.1705,-194.3752C1689.1022,-177.0682 1671.3126,-152.859 1686.5,-134 1705.8657,-109.9526 1781.0338,-96.5303 1841.4026,-89.4662"/>
-<polygon fill="#191970" stroke="#191970" points="1705.0792,-197.2038 1714.8358,-201.3342 1709.7844,-192.0211 1705.0792,-197.2038"/>
+<path fill="none" stroke="#191970" d="M1782.4074,-200.7122C1716.041,-185.8359 1626.723,-165.7124 1626,-165 1606.0544,-145.3462 1604.6987,-109.4215 1605.3254,-92.2042"/>
+<polygon fill="#191970" stroke="#191970" points="1781.9082,-204.1871 1792.4315,-202.9585 1783.4388,-197.3565 1781.9082,-204.1871"/>
 </g>
-<!-- Node131 -->
-<g id="node42" class="node">
-<title>Node131</title>
-<g id="a_node42"><a xlink:href="constant__utils_8h.html" target="_top" xlink:title="Utility functions for handling constants in TVM expressions. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1595,-335.5 1595,-365.5 1722,-365.5 1722,-335.5 1595,-335.5"/>
-<text text-anchor="start" x="1603" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
-<text text-anchor="middle" x="1658.5" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/constant_utils.h</text>
+<!-- Node132 -->
+<g id="node43" class="node">
+<title>Node132</title>
+<g id="a_node43"><a xlink:href="constant__utils_8h.html" target="_top" xlink:title="Utility functions for handling constants in TVM expressions. ">
+<polygon fill="#ffffff" stroke="#ff0000" points="1671.5,-335.5 1671.5,-365.5 1798.5,-365.5 1798.5,-335.5 1671.5,-335.5"/>
+<text text-anchor="start" x="1679.5" y="-353.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/topi/detail</text>
+<text text-anchor="middle" x="1735" y="-342.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">/constant_utils.h</text>
 </a>
 </g>
 </g>
-<!-- Node130&#45;&gt;Node131 -->
-<g id="edge68" class="edge">
-<title>Node130&#45;&gt;Node131</title>
-<path fill="none" stroke="#191970" d="M1658.5,-397.7758C1658.5,-387.4641 1658.5,-375.0437 1658.5,-365.5218"/>
-<polygon fill="#191970" stroke="#191970" points="1655.0001,-397.9005 1658.5,-407.9005 1662.0001,-397.9006 1655.0001,-397.9005"/>
+<!-- Node131&#45;&gt;Node132 -->
+<g id="edge69" class="edge">
+<title>Node131&#45;&gt;Node132</title>
+<path fill="none" stroke="#191970" d="M1735,-397.7758C1735,-387.4641 1735,-375.0437 1735,-365.5218"/>
+<polygon fill="#191970" stroke="#191970" points="1731.5001,-397.9005 1735,-407.9005 1738.5001,-397.9006 1731.5001,-397.9005"/>
 </g>
 <!-- Node148 -->
 <g id="node45" class="node">
 <title>Node148</title>
 <g id="a_node45"><a xlink:href="ir_2op_8h.html" target="_top" xlink:title="Primitive operators(builtin intrinsics) and registry for them. ">
-<polygon fill="#ffffff" stroke="#000000" points="2300.5,-274 2300.5,-293 2408.5,-293 2408.5,-274 2300.5,-274"/>
-<text text-anchor="middle" x="2354.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2131,-274 2131,-293 2239,-293 2239,-274 2131,-274"/>
+<text text-anchor="middle" x="2185" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/ir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node147&#45;&gt;Node148 -->
-<g id="edge71" class="edge">
+<g id="edge72" class="edge">
 <title>Node147&#45;&gt;Node148</title>
-<path fill="none" stroke="#191970" d="M2517.8071,-332.5654C2475.456,-319.841 2420.2826,-303.2643 2386.137,-293.0053"/>
-<polygon fill="#191970" stroke="#191970" points="2516.8702,-335.9384 2527.4544,-335.4639 2518.8845,-329.2344 2516.8702,-335.9384"/>
+<path fill="none" stroke="#191970" d="M2185,-325.1199C2185,-313.9072 2185,-301.4031 2185,-293.055"/>
+<polygon fill="#191970" stroke="#191970" points="2181.5001,-325.2966 2185,-335.2967 2188.5001,-325.2967 2181.5001,-325.2966"/>
 </g>
 <!-- Node174 -->
 <g id="node48" class="node">
 <title>Node174</title>
 <g id="a_node48"><a xlink:href="executor_8h.html" target="_top" xlink:title="Object representation of Executor configuration and registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2499.5,-274 2499.5,-293 2655.5,-293 2655.5,-274 2499.5,-274"/>
-<text text-anchor="middle" x="2577.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2257,-274 2257,-293 2413,-293 2413,-274 2257,-274"/>
+<text text-anchor="middle" x="2335" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/executor.h</text>
 </a>
 </g>
 </g>
 <!-- Node147&#45;&gt;Node174 -->
-<g id="edge76" class="edge">
+<g id="edge77" class="edge">
 <title>Node147&#45;&gt;Node174</title>
-<path fill="none" stroke="#191970" d="M2577.5,-325.1199C2577.5,-313.9072 2577.5,-301.4031 2577.5,-293.055"/>
-<polygon fill="#191970" stroke="#191970" points="2574.0001,-325.2966 2577.5,-335.2967 2581.0001,-325.2967 2574.0001,-325.2966"/>
+<path fill="none" stroke="#191970" d="M2227.8478,-331.3613C2255.8527,-318.8525 2291.235,-303.0484 2313.4987,-293.1039"/>
+<polygon fill="#191970" stroke="#191970" points="2226.3661,-328.1898 2218.6629,-335.4639 2229.2209,-334.5812 2226.3661,-328.1898"/>
 </g>
 <!-- Node175 -->
 <g id="node49" class="node">
 <title>Node175</title>
 <g id="a_node49"><a xlink:href="relay_2type_8h.html" target="_top" xlink:title="Relay typed AST nodes. ">
-<polygon fill="#ffffff" stroke="#000000" points="2710.5,-274 2710.5,-293 2846.5,-293 2846.5,-274 2710.5,-274"/>
-<text text-anchor="middle" x="2778.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/type.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="2431,-274 2431,-293 2567,-293 2567,-274 2431,-274"/>
+<text text-anchor="middle" x="2499" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/type.h</text>
 </a>
 </g>
 </g>
 <!-- Node147&#45;&gt;Node175 -->
-<g id="edge77" class="edge">
+<g id="edge78" class="edge">
 <title>Node147&#45;&gt;Node175</title>
-<path fill="none" stroke="#191970" d="M2632.5132,-332.1623C2670.5217,-319.4928 2719.5311,-303.1563 2749.9841,-293.0053"/>
-<polygon fill="#191970" stroke="#191970" points="2630.9883,-328.9812 2622.6083,-335.4639 2633.202,-335.6219 2630.9883,-328.9812"/>
+<path fill="none" stroke="#191970" d="M2249.6038,-336.7151C2310.6127,-323.6973 2400.5178,-304.5137 2454.0741,-293.0861"/>
+<polygon fill="#191970" stroke="#191970" points="2248.7441,-333.3197 2239.6946,-338.8295 2250.2049,-340.1656 2248.7441,-333.3197"/>
 </g>
 <!-- Node176 -->
 <g id="node50" class="node">
 <title>Node176</title>
 <g id="a_node50"><a xlink:href="runtime_8h.html" target="_top" xlink:title="Object representation of Runtime configuration and registry. ">
-<polygon fill="#ffffff" stroke="#000000" points="2864.5,-274 2864.5,-293 3016.5,-293 3016.5,-274 2864.5,-274"/>
-<text text-anchor="middle" x="2940.5" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
+<polygon fill="#ffffff" stroke="#000000" points="1961,-274 1961,-293 2113,-293 2113,-274 1961,-274"/>
+<text text-anchor="middle" x="2037" y="-281" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/relay/runtime.h</text>
 </a>
 </g>
 </g>
 <!-- Node147&#45;&gt;Node176 -->
-<g id="edge84" class="edge">
+<g id="edge85" class="edge">
 <title>Node147&#45;&gt;Node176</title>
-<path fill="none" stroke="#191970" d="M2642.3303,-338.5341C2712.8086,-325.5257 2824.0226,-304.9986 2888.8486,-293.0334"/>
-<polygon fill="#191970" stroke="#191970" points="2641.4364,-335.1399 2632.2378,-340.3969 2642.707,-342.0236 2641.4364,-335.1399"/>
+<path fill="none" stroke="#191970" d="M2142.3627,-331.198C2114.7887,-318.7152 2080.086,-303.0051 2058.2146,-293.1039"/>
+<polygon fill="#191970" stroke="#191970" points="2141.2325,-334.5282 2151.7859,-335.4639 2144.1194,-328.1512 2141.2325,-334.5282"/>
 </g>
 <!-- Node148&#45;&gt;Node115 -->
-<g id="edge72" class="edge">
+<g id="edge73" class="edge">
 <title>Node148&#45;&gt;Node115</title>
-<path fill="none" stroke="#191970" d="M2354.5,-263.6079C2354.5,-251.214 2354.5,-235.8263 2354.5,-226.0817"/>
-<polygon fill="#191970" stroke="#191970" points="2351.0001,-263.9005 2354.5,-273.9005 2358.0001,-263.9006 2351.0001,-263.9005"/>
+<path fill="none" stroke="#191970" d="M2229.9178,-271.3158C2277.8176,-258.3228 2352.694,-238.0122 2396.5945,-226.1039"/>
+<polygon fill="#191970" stroke="#191970" points="2228.8617,-267.9757 2220.1268,-273.9717 2230.6943,-274.7316 2228.8617,-267.9757"/>
 </g>
 <!-- Node148&#45;&gt;Node128 -->
-<g id="edge73" class="edge">
+<g id="edge74" class="edge">
 <title>Node148&#45;&gt;Node128</title>
-<path fill="none" stroke="#191970" d="M2395.6164,-271.063C2483.3508,-244.5248 2687.2972,-182.8345 2765.8599,-159.0706"/>
-<polygon fill="#191970" stroke="#191970" points="2394.5627,-267.725 2386.0043,-273.9705 2396.5894,-274.4252 2394.5627,-267.725"/>
+<path fill="none" stroke="#191970" d="M2209.7873,-267.9609C2221.6064,-259.0433 2234.5494,-246.6959 2241,-232 2252.271,-206.3222 2231.8419,-174.9366 2219.459,-159.3134"/>
+<polygon fill="#191970" stroke="#191970" points="2207.6303,-265.1996 2201.4887,-273.8327 2211.6735,-270.9138 2207.6303,-265.1996"/>
 </g>
 <!-- Node149 -->
 <g id="node46" class="node">
 <title>Node149</title>
 <g id="a_node46"><a xlink:href="builtin_8h.html" target="_top" xlink:title="TIR builtin intrinsics. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="2099,-207 2099,-226 2230,-226 2230,-207 2099,-207"/>
-<text text-anchor="middle" x="2164.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/builtin.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="2100.5,-207 2100.5,-226 2231.5,-226 2231.5,-207 2100.5,-207"/>
+<text text-anchor="middle" x="2166" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/builtin.h</text>
 </a>
 </g>
 </g>
 <!-- Node148&#45;&gt;Node149 -->
-<g id="edge74" class="edge">
+<g id="edge75" class="edge">
 <title>Node148&#45;&gt;Node149</title>
-<path fill="none" stroke="#191970" d="M2317.3961,-270.416C2280.4646,-257.3928 2224.6636,-237.7156 2191.6719,-226.0817"/>
-<polygon fill="#191970" stroke="#191970" points="2316.6828,-273.8757 2327.2776,-273.9005 2319.0108,-267.2741 2316.6828,-273.8757"/>
+<path fill="none" stroke="#191970" d="M2179.4663,-263.9863C2175.9335,-251.5286 2171.5088,-235.9258 2168.7172,-226.0817"/>
+<polygon fill="#191970" stroke="#191970" points="2176.1822,-265.2348 2182.2778,-273.9005 2182.9167,-263.325 2176.1822,-265.2348"/>
 </g>
 <!-- Node153 -->
 <g id="node47" class="node">
 <title>Node153</title>
 <g id="a_node47"><a xlink:href="tir_2op_8h.html" target="_top" xlink:title="Common operators defined for Expr. ">
-<polygon fill="#ffffff" stroke="#ff0000" points="1968.5,-207 1968.5,-226 2080.5,-226 2080.5,-207 1968.5,-207"/>
-<text text-anchor="middle" x="2024.5" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="1970,-207 1970,-226 2082,-226 2082,-207 1970,-207"/>
+<text text-anchor="middle" x="2026" y="-214" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">include/tvm/tir/op.h</text>
 </a>
 </g>
 </g>
 <!-- Node148&#45;&gt;Node153 -->
-<g id="edge75" class="edge">
+<g id="edge76" class="edge">
 <title>Node148&#45;&gt;Node153</title>
-<path fill="none" stroke="#191970" d="M2292.2558,-272.0486C2238.6723,-262.0255 2159.3398,-246.7924 2090.5,-232 2081.8694,-230.1455 2072.631,-228.0472 2063.8817,-226.0072"/>
-<polygon fill="#191970" stroke="#191970" points="2291.8131,-275.5263 2302.2854,-273.9201 2293.0971,-268.6451 2291.8131,-275.5263"/>
+<path fill="none" stroke="#191970" d="M2152.7535,-269.9118C2121.8498,-256.8895 2075.9935,-237.5664 2048.7386,-226.0817"/>
+<polygon fill="#191970" stroke="#191970" points="2151.6448,-273.2427 2162.2192,-273.9005 2154.363,-266.792 2151.6448,-273.2427"/>
 </g>
 <!-- Node175&#45;&gt;Node90 -->
-<g id="edge83" class="edge">
+<g id="edge84" class="edge">
 <title>Node175&#45;&gt;Node90</title>
-<path fill="none" stroke="#191970" d="M2701.9972,-272.6469C2689.4776,-271.0007 2676.6351,-269.3902 2664.5,-268 2493.3196,-248.3891 2438.3615,-296.2776 2278.5,-232 2257.9564,-223.7398 2260.1997,-208.861 2239.5,-201 2197.8719,-185.1913 1550.856,-159.3692 1350.3053,-151.7086"/>
-<polygon fill="#191970" stroke="#191970" points="2701.5744,-276.1215 2711.9488,-273.9713 2702.4979,-269.1826 2701.5744,-276.1215"/>
+<path fill="none" stroke="#191970" d="M2448.1899,-271.5972C2410.2336,-262.2036 2357.3127,-248.0392 2312,-232 2279.5412,-220.5106 2274.4984,-208.9649 2241,-201 2219.6793,-195.9306 1568.59,-162.6397 1367.5429,-152.4552"/>
+<polygon fill="#191970" stroke="#191970" points="2447.4451,-275.0182 2457.9908,-273.9991 2449.1114,-268.2194 2447.4451,-275.0182"/>
 </g>
 <!-- Node175&#45;&gt;Node115 -->
-<g id="edge81" class="edge">
+<g id="edge82" class="edge">
 <title>Node175&#45;&gt;Node115</title>
-<path fill="none" stroke="#191970" d="M2708.2334,-272.3965C2626.3352,-259.4551 2492.3646,-238.2852 2414.9334,-226.0496"/>
-<polygon fill="#191970" stroke="#191970" points="2707.7777,-275.8679 2718.2014,-273.9717 2708.8703,-268.9537 2707.7777,-275.8679"/>
+<path fill="none" stroke="#191970" d="M2482.0785,-266.5785C2469.2639,-253.7639 2452.1218,-236.6218 2441.5817,-226.0817"/>
+<polygon fill="#191970" stroke="#191970" points="2479.8546,-269.3043 2489.4005,-273.9005 2484.8043,-264.3546 2479.8546,-269.3043"/>
 </g>
 <!-- Node175&#45;&gt;Node117 -->
-<g id="edge78" class="edge">
+<g id="edge79" class="edge">
 <title>Node175&#45;&gt;Node117</title>
-<path fill="none" stroke="#191970" d="M2798.3722,-267.3613C2833.0979,-239.1599 2903.785,-181.7534 2931.7411,-159.0496"/>
-<polygon fill="#191970" stroke="#191970" points="2795.9225,-264.8419 2790.3664,-273.8631 2800.3355,-270.2758 2795.9225,-264.8419"/>
+<path fill="none" stroke="#191970" d="M2544.0515,-271.3042C2641.5875,-244.9006 2870.5943,-182.9068 2958.646,-159.0706"/>
+<polygon fill="#191970" stroke="#191970" points="2542.9403,-267.979 2534.2024,-273.9705 2544.7695,-274.7358 2542.9403,-267.979"/>
 </g>
 <!-- Node175&#45;&gt;Node118 -->
-<g id="edge79" class="edge">
+<g id="edge80" class="edge">
 <title>Node175&#45;&gt;Node118</title>
-<path fill="none" stroke="#191970" d="M2829.482,-271.6138C2943.3456,-244.8323 3209.3352,-180.8707 3221.5,-165 3229.8816,-154.0649 3230.7407,-144.2194 3221.5,-134 3194.7608,-104.4288 2904.0072,-103.3502 2864.5,-98 2851.9539,-96.3009 2838.4851,-94.1745 2825.8579,-92.0462"/>
-<polygon fill="#191970" stroke="#191970" points="2828.5342,-268.2411 2819.5993,-273.9347 2830.1347,-275.0556 2828.5342,-268.2411"/>
+<path fill="none" stroke="#191970" d="M2577.1922,-277.2591C2764.5942,-261.5093 3227.2011,-217.6318 3272,-165 3307.7867,-122.9561 3230.0977,-101.4523 3164.6582,-91.1081"/>
+<polygon fill="#191970" stroke="#191970" points="2576.8059,-273.7791 2567.1321,-278.0998 2577.3889,-280.7548 2576.8059,-273.7791"/>
 </g>
 <!-- Node175&#45;&gt;Node123 -->
-<g id="edge80" class="edge">
+<g id="edge81" class="edge">
 <title>Node175&#45;&gt;Node123</title>
-<path fill="none" stroke="#191970" d="M2813.8138,-270.3554C2881.0575,-245.3258 3027.0977,-190.9664 3098.1077,-164.5349"/>
-<polygon fill="#191970" stroke="#191970" points="2812.2526,-267.2019 2804.1017,-273.9705 2814.6945,-273.7622 2812.2526,-267.2019"/>
+<path fill="none" stroke="#191970" d="M2557.903,-272.0609C2683.5762,-247.6548 2977.7356,-190.5282 3115.4491,-163.7838"/>
+<polygon fill="#191970" stroke="#191970" points="2557.2193,-268.6282 2548.0699,-273.9705 2558.5538,-275.4998 2557.2193,-268.6282"/>
 </g>
 <!-- Node175&#45;&gt;Node128 -->
-<g id="edge82" class="edge">
+<g id="edge83" class="edge">
 <title>Node175&#45;&gt;Node128</title>
-<path fill="none" stroke="#191970" d="M2781.3182,-263.624C2785.468,-234.3572 2793.0632,-180.7914 2796.1459,-159.0496"/>
-<polygon fill="#191970" stroke="#191970" points="2777.805,-263.4707 2779.8664,-273.8631 2784.7357,-264.4535 2777.805,-263.4707"/>
+<path fill="none" stroke="#191970" d="M2454.8738,-270.9836C2425.9347,-261.9674 2387.7239,-248.5047 2356,-232 2334.7785,-220.9593 2332.4851,-213.3534 2312,-201 2285.2004,-184.8387 2252.7294,-168.8863 2231.9701,-159.1176"/>
+<polygon fill="#191970" stroke="#191970" points="2454.1111,-274.4102 2464.6974,-273.9849 2456.1565,-267.7157 2454.1111,-274.4102"/>
 </g>
 </g>
 </svg>
diff --git a/docs/reference/api/doxygen/dir_000011_000024.html b/docs/reference/api/doxygen/dir_000011_000024.html
index 27690413d..3f98413d8 100644
--- a/docs/reference/api/doxygen/dir_000011_000024.html
+++ b/docs/reference/api/doxygen/dir_000011_000024.html
@@ -62,7 +62,7 @@ $(function() {
 </div>
 </div><!-- top -->
 <div class="contents">
-<h3>tir &rarr; target Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in include/tvm/tir</th><th class="dirtab">Includes file in include/tvm/target</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="dir_05ffda4d144d7985f926507abde48dbb.html">usmp</a>&#160;/&#160;<a class="el" href="tir_2usmp_2utils_8h.html">utils.h</a></td><td class="dirtab"><a class="el" href="target_8h.html">target.h</a></td></tr></table></div><!-- contents -->
+<h3>tir &rarr; target Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in include/tvm/tir</th><th class="dirtab">Includes file in include/tvm/target</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="tir_2transform_8h.html">transform.h</a></td><td class="dirtab"><a class="el" href="target_8h.html">target.h</a></td></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="dir_05ffda4d144d7985f926507abde48dbb.html">usmp</a>&#160;/&#160;<a c [...]
 <!-- start footer part -->
 <hr class="footer"/><address class="footer"><small>
 Generated by &#160;<a href="http://www.doxygen.org/index.html">
diff --git a/docs/reference/api/doxygen/dir_02be2c9d68e402f80df60bd528724ee5_dep.svg b/docs/reference/api/doxygen/dir_02be2c9d68e402f80df60bd528724ee5_dep.svg
index 97b3aacfb..f1aed8b4c 100644
--- a/docs/reference/api/doxygen/dir_02be2c9d68e402f80df60bd528724ee5_dep.svg
+++ b/docs/reference/api/doxygen/dir_02be2c9d68e402f80df60bd528724ee5_dep.svg
@@ -265,8 +265,8 @@
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
 <path fill="none" stroke="#000000" d="M186.9103,-108.4133C181.2898,-116.8239 173.7456,-126.9323 166.2991,-136.0923"/>
 <polygon fill="#000000" stroke="#000000" points="163.5584,-133.9138 159.8312,-143.8314 168.9296,-138.4027 163.5584,-133.9138"/>
-<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="163.6849" y="-126.8348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="163.6849" y="-126.8348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg b/docs/reference/api/doxygen/dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg
index f69e3df72..57c0e2953 100644
--- a/docs/reference/api/doxygen/dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg
+++ b/docs/reference/api/doxygen/dir_4378f18824ae7d4ad48f8d7785cd7ac8_dep.svg
@@ -265,8 +265,8 @@
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
 <path fill="none" stroke="#000000" d="M247.7619,-324.1628C238.2812,-333.0301 225.8442,-343.8295 214.113,-353.4219"/>
 <polygon fill="#000000" stroke="#000000" points="211.745,-350.8349 206.1491,-359.8314 216.1339,-356.2881 211.745,-350.8349"/>
-<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="212.7652" y="-343.8693" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="212.7652" y="-343.8693" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2.html b/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2.html
index b210968df..0212972ec 100644
--- a/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2.html
+++ b/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2.html
@@ -69,7 +69,7 @@ $(function() {
 <div class="dynheader">
 Directory dependency graph for target:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="dir_5da96592f3a7c442b838b075c58254c2_dep.svg" width="336" height="490"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="dir_5da96592f3a7c442b838b075c58254c2_dep.svg" width="311" height="443"><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">
diff --git a/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2_dep.svg b/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2_dep.svg
index 65195ea93..c231f3968 100644
--- a/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2_dep.svg
+++ b/docs/reference/api/doxygen/dir_5da96592f3a7c442b838b075c58254c2_dep.svg
@@ -4,16 +4,16 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: include/tvm/target Pages: 1 -->
-<svg width="252pt" height="367pt"
- viewBox="0.00 0.00 251.73 367.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 363)">
+<svg width="233pt" height="332pt"
+ viewBox="0.00 0.00 233.25 332.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 328)">
 <title>include/tvm/target</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-363 247.7306,-363 247.7306,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-328 229.2549,-328 229.2549,4 -4,4"/>
 <g id="clust1" class="cluster">
 <title>clusterdir_b4c7d8e826c599ba55146c099a14beb5</title>
 <g id="a_clust1"><a xlink:href="dir_b4c7d8e826c599ba55146c099a14beb5.html" target="_top" xlink:title="tvm">
-<polygon fill="#ddddee" stroke="#000000" points="38.1809,-280 38.1809,-351 108.1809,-351 108.1809,-280 38.1809,-280"/>
-<text text-anchor="middle" x="73.1809" y="-339" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm</text>
+<polygon fill="#ddddee" stroke="#000000" points="54.9778,-208 54.9778,-279 124.9778,-279 124.9778,-208 54.9778,-208"/>
+<text text-anchor="middle" x="89.9778" y="-267" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm</text>
 </a>
 </g>
 </g>
@@ -21,8 +21,8 @@
 <g id="node1" class="node">
 <title>dir_5da96592f3a7c442b838b075c58254c2</title>
 <g id="a_node1"><a xlink:href="dir_5da96592f3a7c442b838b075c58254c2.html" target="_top" xlink:title="target">
-<polygon fill="#eeeeff" stroke="#000000" points="100.1809,-324 46.1809,-324 46.1809,-288 100.1809,-288 100.1809,-324"/>
-<text text-anchor="middle" x="73.1809" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">target</text>
+<polygon fill="#eeeeff" stroke="#000000" points="116.9778,-252 62.9778,-252 62.9778,-216 116.9778,-216 116.9778,-252"/>
+<text text-anchor="middle" x="89.9778" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">target</text>
 </a>
 </g>
 </g>
@@ -30,18 +30,18 @@
 <g id="node2" class="node">
 <title>dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
 <g id="a_node2"><a xlink:href="dir_6cd4295f6ad5aa17e5b568d0e5b190e5.html" target="_top" xlink:title="node">
-<polygon fill="none" stroke="#000000" points="128.1809,-252 74.1809,-252 74.1809,-216 128.1809,-216 128.1809,-252"/>
-<text text-anchor="middle" x="101.1809" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">node</text>
+<polygon fill="none" stroke="#000000" points="188.9778,-252 134.9778,-252 134.9778,-216 188.9778,-216 188.9778,-252"/>
+<text text-anchor="middle" x="161.9778" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">node</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
 <g id="edge1" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
-<path fill="none" stroke="#000000" d="M80.2465,-287.8314C83.3069,-279.9617 86.9588,-270.5712 90.3491,-261.8533"/>
-<polygon fill="#000000" stroke="#000000" points="93.6577,-263.0019 94.0202,-252.4133 87.1337,-260.4647 93.6577,-263.0019"/>
+<path fill="none" stroke="#000000" d="M117.2591,-234C119.7156,-234 122.172,-234 124.6285,-234"/>
+<polygon fill="#000000" stroke="#000000" points="124.7274,-237.5001 134.7274,-234 124.7273,-230.5001 124.7274,-237.5001"/>
 <g id="a_edge1&#45;headlabel"><a xlink:href="dir_000024_000017.html" target="_top" xlink:title="5">
-<text text-anchor="middle" x="95.0011" y="-264.8812" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">5</text>
+<text text-anchor="middle" x="121.1327" y="-237.8393" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">5</text>
 </a>
 </g>
 </g>
@@ -49,18 +49,18 @@
 <g id="node3" class="node">
 <title>dir_404558507ed35459f0d7a6d81d8c508d</title>
 <g id="a_node3"><a xlink:href="dir_404558507ed35459f0d7a6d81d8c508d.html" target="_top" xlink:title="runtime">
-<polygon fill="#ffffff" stroke="#ff0000" points="232.6809,-180 177.6809,-180 177.6809,-144 232.6809,-144 232.6809,-180"/>
-<text text-anchor="middle" x="205.1809" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">runtime</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="74.4778,-180 19.4778,-180 19.4778,-144 74.4778,-144 74.4778,-180"/>
+<text text-anchor="middle" x="46.9778" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">runtime</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
 <g id="edge2" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M97.0957,-287.9289C109.6266,-277.9526 124.8815,-264.9797 137.1809,-252 156.019,-232.12 174.5686,-207.1012 187.5229,-188.4912"/>
-<polygon fill="#000000" stroke="#000000" points="190.4569,-190.4015 193.2356,-180.1775 184.6876,-186.4372 190.4569,-190.4015"/>
+<path fill="none" stroke="#000000" d="M79.1271,-215.8314C74.2756,-207.7079 68.4562,-197.9637 63.1099,-189.0118"/>
+<polygon fill="#000000" stroke="#000000" points="66.107,-187.2041 57.9747,-180.4133 60.0972,-190.7933 66.107,-187.2041"/>
 <g id="a_edge2&#45;headlabel"><a xlink:href="dir_000024_000008.html" target="_top" xlink:title="2">
-<text text-anchor="middle" x="190.7613" y="-192.472" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+<text text-anchor="middle" x="70.3877" y="-186.3344" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
@@ -68,18 +68,18 @@
 <g id="node4" class="node">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
 <g id="a_node4"><a xlink:href="dir_dc867ff9a37cad1764f1670dc7eba6c1.html" target="_top" xlink:title="ir">
-<polygon fill="none" stroke="#000000" points="168.1809,-108 114.1809,-108 114.1809,-72 168.1809,-72 168.1809,-108"/>
-<text text-anchor="middle" x="141.1809" y="-87.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ir</text>
+<polygon fill="none" stroke="#000000" points="137.9778,-108 83.9778,-108 83.9778,-72 137.9778,-72 137.9778,-108"/>
+<text text-anchor="middle" x="110.9778" y="-87.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ir</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
 <g id="edge3" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M54.5769,-287.8067C45.9777,-278.0891 36.6872,-265.3872 32.1809,-252 16.8677,-206.5082 6.8708,-184.7848 32.1809,-144 47.7426,-118.9238 78.7953,-105.1336 103.7893,-97.7801"/>
-<polygon fill="#000000" stroke="#000000" points="104.9793,-101.0841 113.7187,-95.0946 103.1517,-94.3269 104.9793,-101.0841"/>
+<path fill="none" stroke="#000000" d="M101.7287,-215.8241C107.5637,-205.7142 113.9917,-192.6495 116.9778,-180 121.7675,-159.7107 119.9532,-136.1853 117.1081,-118.276"/>
+<polygon fill="#000000" stroke="#000000" points="120.5101,-117.417 115.3048,-108.189 113.6194,-118.6489 120.5101,-117.417"/>
 <g id="a_edge3&#45;headlabel"><a xlink:href="dir_000024_000007.html" target="_top" xlink:title="6">
-<text text-anchor="middle" x="102.2507" y="-102.2633" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">6</text>
+<text text-anchor="middle" x="123.9376" y="-117.9559" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">6</text>
 </a>
 </g>
 </g>
@@ -87,18 +87,18 @@
 <g id="node5" class="node">
 <title>dir_72c2f11201cd7636dc7624de0754daa5</title>
 <g id="a_node5"><a xlink:href="dir_72c2f11201cd7636dc7624de0754daa5.html" target="_top" xlink:title="tir">
-<polygon fill="#ffffff" stroke="#ff0000" points="221.1809,-324 167.1809,-324 167.1809,-288 221.1809,-288 221.1809,-324"/>
-<text text-anchor="middle" x="194.1809" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tir</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="188.9778,-324 134.9778,-324 134.9778,-288 188.9778,-288 188.9778,-324"/>
+<text text-anchor="middle" x="161.9778" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tir</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_72c2f11201cd7636dc7624de0754daa5 -->
 <g id="edge4" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_72c2f11201cd7636dc7624de0754daa5</title>
-<path fill="none" stroke="#000000" d="M100.595,-306C119.3942,-306 138.1935,-306 156.9927,-306"/>
-<polygon fill="#000000" stroke="#000000" points="157.1288,-309.5001 167.1287,-306 157.1287,-302.5001 157.1288,-309.5001"/>
+<path fill="none" stroke="#000000" d="M94.8619,-252.4077C100.4713,-260.926 108.6442,-270.9227 116.9778,-279 119.9441,-281.875 123.2207,-284.7142 126.6324,-287.4097"/>
+<polygon fill="#000000" stroke="#000000" points="124.6267,-290.2793 134.7553,-293.3878 128.7759,-284.6415 124.6267,-290.2793"/>
 <g id="a_edge4&#45;headlabel"><a xlink:href="dir_000024_000011.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="153.5341" y="-309.8393" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="120.0487" y="-287.9354" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
@@ -106,138 +106,148 @@
 <g id="node6" class="node">
 <title>dir_fb1b1bc11a768ab8cf63a96a73170118</title>
 <g id="a_node6"><a xlink:href="dir_fb1b1bc11a768ab8cf63a96a73170118.html" target="_top" xlink:title="support">
-<polygon fill="none" stroke="#000000" points="232.1809,-36 178.1809,-36 178.1809,0 232.1809,0 232.1809,-36"/>
-<text text-anchor="middle" x="205.1809" y="-15.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">support</text>
+<polygon fill="none" stroke="#000000" points="73.9778,-36 19.9778,-36 19.9778,0 73.9778,0 73.9778,-36"/>
+<text text-anchor="middle" x="46.9778" y="-15.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">support</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge5" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M46.7274,-287.7925C35.4989,-278.5012 23.5512,-266.1654 17.1809,-252 -2.5135,-208.2061 -6.7366,-187.2231 14.1809,-144 44.3287,-81.7037 121.9006,-45.843 168.3868,-29.2882"/>
-<polygon fill="#000000" stroke="#000000" points="169.7679,-32.5145 178.0865,-25.9531 167.4918,-25.8949 169.7679,-32.5145"/>
+<path fill="none" stroke="#000000" d="M62.7637,-223.7297C44.2092,-215.1259 21.0666,-200.8634 9.9778,-180 -13.2891,-136.2234 11.3526,-78.2216 30.0681,-44.8179"/>
+<polygon fill="#000000" stroke="#000000" points="33.147,-46.4856 35.145,-36.0809 27.0946,-42.9687 33.147,-46.4856"/>
 <g id="a_edge5&#45;headlabel"><a xlink:href="dir_000024_000013.html" target="_top" xlink:title="2">
-<text text-anchor="middle" x="167.2918" y="-33.8683" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+<text text-anchor="middle" x="33.796" y="-48.5201" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
 <!-- dir_6cd4295f6ad5aa17e5b568d0e5b190e5&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
 <g id="edge6" class="edge">
 <title>dir_6cd4295f6ad5aa17e5b568d0e5b190e5&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M127.4245,-215.8314C140.4804,-206.7927 156.4344,-195.7476 170.4856,-186.0198"/>
-<polygon fill="#000000" stroke="#000000" points="172.716,-188.7326 178.9457,-180.1628 168.7315,-182.9773 172.716,-188.7326"/>
+<path fill="none" stroke="#000000" d="M139.9642,-215.8922C136.3615,-213.1524 132.616,-210.4321 128.9778,-208 114.6178,-198.4004 98.1184,-188.8771 83.702,-181.0073"/>
+<polygon fill="#000000" stroke="#000000" points="85.0365,-177.7507 74.5726,-176.0903 81.7171,-183.9137 85.0365,-177.7507"/>
 <g id="a_edge6&#45;headlabel"><a xlink:href="dir_000017_000008.html" target="_top" xlink:title="17">
-<text text-anchor="middle" x="171.3767" y="-190.6131" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">17</text>
+<text text-anchor="middle" x="89.5476" y="-174.4554" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">17</text>
 </a>
 </g>
 </g>
 <!-- dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
 <g id="edge7" class="edge">
 <title>dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M183.0786,-143.8314C174.8157,-135.454 165.6475,-125.3531 157.9261,-116.1749"/>
-<polygon fill="#000000" stroke="#000000" points="160.615,-113.9341 151.5723,-108.4133 155.1984,-118.3683 160.615,-113.9341"/>
+<path fill="none" stroke="#000000" d="M57.1753,-143.8314C63.8725,-135.3694 72.7721,-125.1489 81.4502,-115.8971"/>
+<polygon fill="#000000" stroke="#000000" points="84.2341,-118.0511 88.6345,-108.4133 79.1843,-113.2034 84.2341,-118.0511"/>
 <g id="a_edge7&#45;headlabel"><a xlink:href="dir_000008_000007.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="165.0889" y="-112.4171" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="83.7931" y="-120.1105" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge8" class="edge">
 <title>dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M200.5077,-143.7623C198.0479,-119.201 197.7732,-75.2474 199.6835,-46.3541"/>
-<polygon fill="#000000" stroke="#000000" points="203.1961,-46.3416 200.5226,-36.0896 196.2194,-45.7712 203.1961,-46.3416"/>
+<path fill="none" stroke="#000000" d="M42.3047,-143.7623C39.8449,-119.201 39.5701,-75.2474 41.4804,-46.3541"/>
+<polygon fill="#000000" stroke="#000000" points="44.993,-46.3416 42.3195,-36.0896 38.0163,-45.7712 44.993,-46.3416"/>
 <g id="a_edge8&#45;headlabel"><a xlink:href="dir_000008_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="205.7331" y="-47.6556" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="47.5301" y="-47.6556" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2 -->
 <g id="edge9" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
-<path fill="none" stroke="#000000" d="M125.8073,-108.1221C107.218,-131.3416 76.9592,-173.6686 65.1809,-216 59.5569,-236.213 61.9932,-259.8719 65.6027,-277.8585"/>
-<polygon fill="#000000" stroke="#000000" points="62.2112,-278.7306 67.8114,-287.7244 69.0421,-277.2013 62.2112,-278.7306"/>
+<path fill="none" stroke="#000000" d="M108.3398,-108.0896C104.7536,-132.6805 98.3042,-176.905 94.0826,-205.8531"/>
+<polygon fill="#000000" stroke="#000000" points="90.6173,-205.3619 92.6375,-215.7623 97.544,-206.3721 90.6173,-205.3619"/>
 <g id="a_edge9&#45;headlabel"><a xlink:href="dir_000007_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="58.6553" y="-273.343" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="88.3264" y="-198.8952" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
 <g id="edge10" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
-<path fill="none" stroke="#000000" d="M136.156,-108.0896C129.3252,-132.6805 117.0406,-176.905 108.9995,-205.8531"/>
-<polygon fill="#000000" stroke="#000000" points="105.5511,-205.1903 106.2469,-215.7623 112.2958,-207.0639 105.5511,-205.1903"/>
+<path fill="none" stroke="#000000" d="M118.3957,-108.4098C122.5212,-118.8105 127.6757,-132.0782 131.9778,-144 139.4903,-164.8178 147.3818,-188.578 153.1846,-206.4559"/>
+<polygon fill="#000000" stroke="#000000" points="149.8565,-207.5395 156.2593,-215.9808 156.518,-205.3891 149.8565,-207.5395"/>
 <g id="a_edge10&#45;headlabel"><a xlink:href="dir_000007_000017.html" target="_top" xlink:title="10">
-<text text-anchor="middle" x="103.7775" y="-198.467" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">10</text>
+<text text-anchor="middle" x="146.0503" y="-202.491" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">10</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
 <g id="edge11" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M163.5243,-108.4133C171.7209,-116.7389 180.7823,-126.7282 188.4268,-135.8144"/>
-<polygon fill="#000000" stroke="#000000" points="185.9432,-138.3063 194.9834,-143.8314 191.3618,-133.8747 185.9432,-138.3063"/>
+<path fill="none" stroke="#000000" d="M100.5865,-108.4133C93.8472,-116.9088 84.9287,-127.1366 76.2551,-136.3696"/>
+<polygon fill="#000000" stroke="#000000" points="73.4885,-134.1972 69.0801,-143.8314 78.5342,-139.049 73.4885,-134.1972"/>
 <g id="a_edge11&#45;headlabel"><a xlink:href="dir_000007_000008.html" target="_top" xlink:title="22">
-<text text-anchor="middle" x="181.4698" y="-134.8213" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">22</text>
+<text text-anchor="middle" x="73.9333" y="-127.1382" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">22</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge12" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M157.3308,-71.8314C164.8526,-63.3694 173.9374,-53.1489 182.1613,-43.8971"/>
-<polygon fill="#000000" stroke="#000000" points="184.7858,-46.2127 188.8136,-36.4133 179.554,-41.5621 184.7858,-46.2127"/>
+<path fill="none" stroke="#000000" d="M94.8279,-71.8314C87.3062,-63.3694 78.2213,-53.1489 69.9975,-43.8971"/>
+<polygon fill="#000000" stroke="#000000" points="72.6048,-41.5621 63.3452,-36.4133 67.3729,-46.2127 72.6048,-41.5621"/>
 <g id="a_edge12&#45;headlabel"><a xlink:href="dir_000007_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="184.5198" y="-48.2856" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="77.115" y="-39.8624" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
-<!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
+<!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2 -->
 <g id="edge13" class="edge">
+<title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
+<path fill="none" stroke="#000000" d="M145.0503,-287.8861C141.6091,-285.0496 138.1194,-282.0449 134.9778,-279 129.1183,-273.3207 123.3382,-266.6924 117.8906,-260.2963"/>
+<polygon fill="#000000" stroke="#000000" points="120.3298,-257.7617 111.1873,-252.4077 114.9956,-262.2945 120.3298,-257.7617"/>
+<g id="a_edge13&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="124.821" y="-256.1624" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+</a>
+</g>
+</g>
+<!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
+<g id="edge14" class="edge">
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
-<path fill="none" stroke="#000000" d="M170.7131,-287.8314C159.1482,-278.8779 145.0405,-267.9558 132.5626,-258.2955"/>
-<polygon fill="#000000" stroke="#000000" points="134.6911,-255.5171 124.6412,-252.1628 130.4059,-261.0521 134.6911,-255.5171"/>
-<g id="a_edge13&#45;headlabel"><a xlink:href="dir_000011_000017.html" target="_top" xlink:title="6">
-<text text-anchor="middle" x="139.2716" y="-252.9725" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">6</text>
+<path fill="none" stroke="#000000" d="M161.9778,-287.8314C161.9778,-280.131 161.9778,-270.9743 161.9778,-262.4166"/>
+<polygon fill="#000000" stroke="#000000" points="165.4779,-262.4132 161.9778,-252.4133 158.4779,-262.4133 165.4779,-262.4132"/>
+<g id="a_edge14&#45;headlabel"><a xlink:href="dir_000011_000017.html" target="_top" xlink:title="6">
+<text text-anchor="middle" x="168.3171" y="-263.5079" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">6</text>
 </a>
 </g>
 </g>
 <!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
-<g id="edge14" class="edge">
+<g id="edge15" class="edge">
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M200.1508,-287.7319C203.2217,-277.3756 206.6373,-264.105 208.1809,-252 210.8136,-231.3549 209.8969,-207.8436 208.4105,-190.03"/>
-<polygon fill="#000000" stroke="#000000" points="211.8889,-189.6356 207.465,-180.0086 204.9198,-190.2932 211.8889,-189.6356"/>
-<g id="a_edge14&#45;headlabel"><a xlink:href="dir_000011_000008.html" target="_top" xlink:title="15">
-<text text-anchor="middle" x="215.0531" y="-190.4477" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">15</text>
+<path fill="none" stroke="#000000" d="M134.8487,-303.136C105.4829,-299.4203 61.4318,-291.8437 50.9778,-279 30.9059,-254.3396 33.8726,-216.1249 39.2156,-190.1321"/>
+<polygon fill="#000000" stroke="#000000" points="42.6804,-190.6813 41.5053,-180.1518 35.8577,-189.1159 42.6804,-190.6813"/>
+<g id="a_edge15&#45;headlabel"><a xlink:href="dir_000011_000008.html" target="_top" xlink:title="15">
+<text text-anchor="middle" x="44.6441" y="-192.3198" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">15</text>
 </a>
 </g>
 </g>
 <!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
-<g id="edge15" class="edge">
+<g id="edge16" class="edge">
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M189.7533,-287.9555C180.5173,-250.3144 159.1388,-163.1867 148.0818,-118.1246"/>
-<polygon fill="#000000" stroke="#000000" points="151.4154,-117.0229 145.6332,-108.1451 144.6171,-118.6911 151.4154,-117.0229"/>
-<g id="a_edge15&#45;headlabel"><a xlink:href="dir_000011_000007.html" target="_top" xlink:title="16">
-<text text-anchor="middle" x="155.0294" y="-117.3374" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">16</text>
+<path fill="none" stroke="#000000" d="M189.2857,-290.1272C192.7903,-286.9031 195.8815,-283.1926 197.9778,-279 212.0899,-250.7759 207.8056,-237.9861 197.9778,-208 186.136,-171.8688 158.4892,-137.7242 137.5156,-115.5512"/>
+<polygon fill="#000000" stroke="#000000" points="139.8857,-112.9676 130.4122,-108.2239 134.8598,-117.84 139.8857,-112.9676"/>
+<g id="a_edge16&#45;headlabel"><a xlink:href="dir_000011_000007.html" target="_top" xlink:title="16">
+<text text-anchor="middle" x="144.4263" y="-111.0722" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">16</text>
 </a>
 </g>
 </g>
 <!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
-<g id="edge16" class="edge">
+<g id="edge17" class="edge">
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M205.5652,-287.5514C211.4701,-277.3616 218.4227,-264.3076 223.1809,-252 235.0751,-221.2343 237.1507,-212.7377 241.1809,-180 247.088,-132.0157 242.0355,-118.3188 228.1809,-72 225.5364,-63.1588 221.8846,-53.815 218.2691,-45.4307"/>
-<polygon fill="#000000" stroke="#000000" points="221.3814,-43.8166 214.104,-36.1166 214.9912,-46.6742 221.3814,-43.8166"/>
-<g id="a_edge16&#45;headlabel"><a xlink:href="dir_000011_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="225.4406" y="-43.439" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<path fill="none" stroke="#000000" d="M189.004,-299.1297C199.2902,-295.056 209.9714,-288.7186 215.9778,-279 232.5676,-252.1572 222.4387,-238.887 215.9778,-208 202.1003,-141.657 195.4412,-119.3843 146.9778,-72 128.9528,-54.3764 104.0113,-40.8935 83.5469,-31.808"/>
+<polygon fill="#000000" stroke="#000000" points="84.7775,-28.5278 74.2061,-27.8232 82.0307,-34.9664 84.7775,-28.5278"/>
+<g id="a_edge17&#45;headlabel"><a xlink:href="dir_000011_000013.html" target="_top" xlink:title="1">
+<text text-anchor="middle" x="89.1979" y="-24.8267" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_fb1b1bc11a768ab8cf63a96a73170118&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
-<g id="edge17" class="edge">
+<g id="edge18" class="edge">
 <title>dir_fb1b1bc11a768ab8cf63a96a73170118&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M209.8392,-36.0896C212.3078,-60.5727 212.5914,-104.5174 210.6898,-133.4713"/>
-<polygon fill="#000000" stroke="#000000" points="207.1751,-133.5118 209.8541,-143.7623 214.1522,-134.0785 207.1751,-133.5118"/>
-<g id="a_edge17&#45;headlabel"><a xlink:href="dir_000013_000008.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="204.636" y="-127.1992" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<path fill="none" stroke="#000000" d="M51.6361,-36.0896C54.1047,-60.5727 54.3883,-104.5174 52.4868,-133.4713"/>
+<polygon fill="#000000" stroke="#000000" points="48.972,-133.5118 51.651,-143.7623 55.9491,-134.0785 48.972,-133.5118"/>
+<g id="a_edge18&#45;headlabel"><a xlink:href="dir_000013_000008.html" target="_top" xlink:title="1">
+<text text-anchor="middle" x="46.433" y="-127.1992" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_63946bee875c6d52bce55e72a67a86ad_dep.svg b/docs/reference/api/doxygen/dir_63946bee875c6d52bce55e72a67a86ad_dep.svg
index 7e3134601..4253a6f6f 100644
--- a/docs/reference/api/doxygen/dir_63946bee875c6d52bce55e72a67a86ad_dep.svg
+++ b/docs/reference/api/doxygen/dir_63946bee875c6d52bce55e72a67a86ad_dep.svg
@@ -306,8 +306,8 @@
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
 <path fill="none" stroke="#000000" d="M212.071,-108.4133C209.8637,-116.3141 206.5414,-125.7132 202.9269,-134.417"/>
 <polygon fill="#000000" stroke="#000000" points="199.6073,-133.27 198.7656,-143.8314 206.0097,-136.1 199.6073,-133.27"/>
-<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="198.4635" y="-126.3344" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="198.4635" y="-126.3344" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5.html b/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5.html
index 4a69b3863..328c29b0e 100644
--- a/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5.html
+++ b/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5.html
@@ -69,7 +69,7 @@ $(function() {
 <div class="dynheader">
 Directory dependency graph for tir:</div>
 <div class="dyncontent">
-<div class="center"><iframe scrolling="no" frameborder="0" src="dir_72c2f11201cd7636dc7624de0754daa5_dep.svg" width="460" height="526"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
+<div class="center"><iframe scrolling="no" frameborder="0" src="dir_72c2f11201cd7636dc7624de0754daa5_dep.svg" width="512" height="596"><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">
diff --git a/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5_dep.svg b/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5_dep.svg
index 2536bd89d..0a74fb501 100644
--- a/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5_dep.svg
+++ b/docs/reference/api/doxygen/dir_72c2f11201cd7636dc7624de0754daa5_dep.svg
@@ -4,37 +4,56 @@
 <!-- Generated by graphviz version 2.40.1 (20161225.0304)
  -->
 <!-- Title: include/tvm/tir Pages: 1 -->
-<svg width="345pt" height="394pt"
- viewBox="0.00 0.00 345.39 393.65" 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 389.6521)">
+<svg width="384pt" height="447pt"
+ viewBox="0.00 0.00 384.00 447.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 443)">
 <title>include/tvm/tir</title>
-<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-389.6521 341.3914,-389.6521 341.3914,4 -4,4"/>
+<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-443 380,-443 380,4 -4,4"/>
 <g id="clust1" class="cluster">
 <title>clusterdir_b4c7d8e826c599ba55146c099a14beb5</title>
 <g id="a_clust1"><a xlink:href="dir_b4c7d8e826c599ba55146c099a14beb5.html" target="_top" xlink:title="tvm">
-<polygon fill="#ddddee" stroke="#000000" points="8,-272 8,-359 244,-359 244,-272 8,-272"/>
-<text text-anchor="middle" x="126" y="-347" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm</text>
+<polygon fill="#ddddee" stroke="#000000" points="78,-344 78,-431 314,-431 314,-344 78,-344"/>
+<text text-anchor="middle" x="196" y="-419" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tvm</text>
 </a>
 </g>
 </g>
 <g id="clust2" class="cluster">
 <title>clusterdir_72c2f11201cd7636dc7624de0754daa5</title>
 <g id="a_clust2"><a xlink:href="dir_72c2f11201cd7636dc7624de0754daa5.html" target="_top">
-<polygon fill="#eeeeff" stroke="#000000" points="16,-280 16,-332 236,-332 236,-280 16,-280"/>
+<polygon fill="#eeeeff" stroke="#000000" points="86,-352 86,-404 306,-404 306,-352 86,-352"/>
 </a>
 </g>
 </g>
 <!-- dir_72c2f11201cd7636dc7624de0754daa5 -->
 <g id="node1" class="node">
 <title>dir_72c2f11201cd7636dc7624de0754daa5</title>
-<text text-anchor="middle" x="51" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tir</text>
+<text text-anchor="middle" x="271" y="-375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">tir</text>
+</g>
+<!-- dir_5da96592f3a7c442b838b075c58254c2 -->
+<g id="node5" class="node">
+<title>dir_5da96592f3a7c442b838b075c58254c2</title>
+<g id="a_node5"><a xlink:href="dir_5da96592f3a7c442b838b075c58254c2.html" target="_top" xlink:title="target">
+<polygon fill="none" stroke="#000000" points="298,-324 244,-324 244,-288 298,-288 298,-324"/>
+<text text-anchor="middle" x="271" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">target</text>
+</a>
+</g>
+</g>
+<!-- dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2 -->
+<g id="edge19" class="edge">
+<title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
+<path fill="none" stroke="#000000" d="M265.0476,-359.8314C264.2972,-352.131 264.0763,-342.9743 264.3849,-334.4166"/>
+<polygon fill="#000000" stroke="#000000" points="267.8792,-334.6161 265.024,-324.4133 260.8935,-334.1697 267.8792,-334.6161"/>
+<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="270.4836" y="-335.8844" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+</a>
+</g>
 </g>
 <!-- dir_006b1f4ac353a18abb55f74cc4796db6 -->
 <g id="node2" class="node">
 <title>dir_006b1f4ac353a18abb55f74cc4796db6</title>
 <g id="a_node2"><a xlink:href="dir_006b1f4ac353a18abb55f74cc4796db6.html" target="_top" xlink:title="schedule">
-<polygon fill="#ffffff" stroke="#000000" points="156,-324 96,-324 96,-288 156,-288 156,-324"/>
-<text text-anchor="middle" x="126" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">schedule</text>
+<polygon fill="#ffffff" stroke="#000000" points="154,-396 94,-396 94,-360 154,-360 154,-396"/>
+<text text-anchor="middle" x="124" y="-375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">schedule</text>
 </a>
 </g>
 </g>
@@ -42,18 +61,18 @@
 <g id="node6" class="node">
 <title>dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
 <g id="a_node6"><a xlink:href="dir_6cd4295f6ad5aa17e5b568d0e5b190e5.html" target="_top" xlink:title="node">
-<polygon fill="none" stroke="#000000" points="314,-324 260,-324 260,-288 314,-288 314,-324"/>
-<text text-anchor="middle" x="287" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">node</text>
+<polygon fill="none" stroke="#000000" points="158,-252 104,-252 104,-216 158,-216 158,-252"/>
+<text text-anchor="middle" x="131" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">node</text>
 </a>
 </g>
 </g>
 <!-- dir_006b1f4ac353a18abb55f74cc4796db6&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
 <g id="edge10" class="edge">
 <title>dir_006b1f4ac353a18abb55f74cc4796db6&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
-<path fill="none" stroke="#000000" d="M132.4523,-324.0767C139.6497,-341.2029 153.1057,-365.9045 174,-377 196.3743,-388.8814 208.205,-388.0529 231,-377 249.7755,-367.896 264.1503,-349.1065 273.6328,-333.1429"/>
-<polygon fill="#000000" stroke="#000000" points="276.8266,-334.6022 278.6469,-324.1649 270.7151,-331.189 276.8266,-334.6022"/>
+<path fill="none" stroke="#000000" d="M124.8866,-359.7623C126.0805,-335.201 128.2171,-291.2474 129.6217,-262.3541"/>
+<polygon fill="#000000" stroke="#000000" points="133.1309,-262.2478 130.1206,-252.0896 126.1391,-261.9079 133.1309,-262.2478"/>
 <g id="a_edge10&#45;headlabel"><a xlink:href="dir_000026_000017.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="277.5528" y="-336.625" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="135.7924" y="-263.476" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
@@ -61,18 +80,18 @@
 <g id="node8" class="node">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
 <g id="a_node8"><a xlink:href="dir_dc867ff9a37cad1764f1670dc7eba6c1.html" target="_top" xlink:title="ir">
-<polygon fill="none" stroke="#000000" points="174,-180 120,-180 120,-144 174,-144 174,-180"/>
-<text text-anchor="middle" x="147" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ir</text>
+<polygon fill="none" stroke="#000000" points="221,-108 167,-108 167,-72 221,-72 221,-108"/>
+<text text-anchor="middle" x="194" y="-87.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">ir</text>
 </a>
 </g>
 </g>
 <!-- dir_006b1f4ac353a18abb55f74cc4796db6&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
 <g id="edge11" class="edge">
 <title>dir_006b1f4ac353a18abb55f74cc4796db6&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M128.6597,-287.7623C132.2415,-263.201 138.6514,-219.2474 142.865,-190.3541"/>
-<polygon fill="#000000" stroke="#000000" points="146.3821,-190.4901 144.3619,-180.0896 139.4554,-189.4798 146.3821,-190.4901"/>
+<path fill="none" stroke="#000000" d="M114.1233,-359.8127C92.8752,-317.964 48.2341,-213.1432 93,-144 107.4964,-121.6096 134.5341,-107.857 156.9887,-99.8378"/>
+<polygon fill="#000000" stroke="#000000" points="158.214,-103.1189 166.6008,-96.645 156.0073,-96.4758 158.214,-103.1189"/>
 <g id="a_edge11&#45;headlabel"><a xlink:href="dir_000026_000007.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="148.6731" y="-191.9567" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="155.6977" y="-104.4465" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
@@ -80,18 +99,18 @@
 <g id="node9" class="node">
 <title>dir_fb1b1bc11a768ab8cf63a96a73170118</title>
 <g id="a_node9"><a xlink:href="dir_fb1b1bc11a768ab8cf63a96a73170118.html" target="_top" xlink:title="support">
-<polygon fill="none" stroke="#000000" points="201,-36 147,-36 147,0 201,0 201,-36"/>
-<text text-anchor="middle" x="174" y="-15.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">support</text>
+<polygon fill="none" stroke="#000000" points="189,-36 135,-36 135,0 189,0 189,-36"/>
+<text text-anchor="middle" x="162" y="-15.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">support</text>
 </a>
 </g>
 </g>
 <!-- dir_006b1f4ac353a18abb55f74cc4796db6&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge12" class="edge">
 <title>dir_006b1f4ac353a18abb55f74cc4796db6&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M107.9965,-287.9715C101.7181,-282.3425 94.387,-276.449 87,-272 65.7885,-259.2248 49.0184,-272.4113 35,-252 25.9418,-238.811 30.5508,-231.369 35,-216 55.4672,-145.2998 113.0501,-78.61 147.342,-43.5712"/>
-<polygon fill="#000000" stroke="#000000" points="150.1265,-45.7348 154.6967,-36.1763 145.1633,-40.7985 150.1265,-45.7348"/>
+<path fill="none" stroke="#000000" d="M93.9831,-360.811C57.2849,-337.2997 0,-291.4054 0,-234 0,-234 0,-234 0,-162 0,-95.2873 77.6935,-51.914 125.4713,-31.5486"/>
+<polygon fill="#000000" stroke="#000000" points="126.9742,-34.7148 134.8848,-27.667 124.3057,-28.2434 126.9742,-34.7148"/>
 <g id="a_edge12&#45;headlabel"><a xlink:href="dir_000026_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="149.6048" y="-47.7856" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="124.7333" y="-36.21" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
@@ -99,8 +118,8 @@
 <g id="node3" class="node">
 <title>dir_05ffda4d144d7985f926507abde48dbb</title>
 <g id="a_node3"><a xlink:href="dir_05ffda4d144d7985f926507abde48dbb.html" target="_top" xlink:title="usmp">
-<polygon fill="#ffffff" stroke="#ff0000" points="228,-324 174,-324 174,-288 228,-288 228,-324"/>
-<text text-anchor="middle" x="201" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">usmp</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="226,-396 172,-396 172,-360 226,-360 226,-396"/>
+<text text-anchor="middle" x="199" y="-375.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">usmp</text>
 </a>
 </g>
 </g>
@@ -108,37 +127,28 @@
 <g id="node4" class="node">
 <title>dir_194ecda214f05a38134392ac6a69b970</title>
 <g id="a_node4"><a xlink:href="dir_194ecda214f05a38134392ac6a69b970.html" target="_top" xlink:title="arith">
-<polygon fill="none" stroke="#000000" points="98,-252 44,-252 44,-216 98,-216 98,-252"/>
-<text text-anchor="middle" x="71" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">arith</text>
+<polygon fill="none" stroke="#000000" points="376,-324 322,-324 322,-288 376,-288 376,-324"/>
+<text text-anchor="middle" x="349" y="-303.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">arith</text>
 </a>
 </g>
 </g>
 <!-- dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_194ecda214f05a38134392ac6a69b970 -->
-<g id="edge19" class="edge">
+<g id="edge20" class="edge">
 <title>dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_194ecda214f05a38134392ac6a69b970</title>
-<path fill="none" stroke="#000000" d="M184.5304,-287.9809C178.7449,-282.3526 171.9459,-276.457 165,-272 147.375,-260.6905 125.8307,-251.6858 107.8161,-245.2862"/>
-<polygon fill="#000000" stroke="#000000" points="108.8131,-241.9282 98.2185,-242.0008 106.546,-248.5509 108.8131,-241.9282"/>
-<g id="a_edge19&#45;headlabel"><a xlink:href="dir_000015_000002.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="113.1335" y="-237.906" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
-</a>
-</g>
-</g>
-<!-- dir_5da96592f3a7c442b838b075c58254c2 -->
-<g id="node5" class="node">
-<title>dir_5da96592f3a7c442b838b075c58254c2</title>
-<g id="a_node5"><a xlink:href="dir_5da96592f3a7c442b838b075c58254c2.html" target="_top" xlink:title="target">
-<polygon fill="none" stroke="#000000" points="229,-108 175,-108 175,-72 229,-72 229,-108"/>
-<text text-anchor="middle" x="202" y="-87.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">target</text>
+<path fill="none" stroke="#000000" d="M214.8281,-359.8655C220.6681,-354.0946 227.6633,-348.1414 235,-344 263.922,-327.6742 275.6666,-335.0105 307,-324 308.6466,-323.4214 310.3203,-322.8093 312.0044,-322.1738"/>
+<polygon fill="#000000" stroke="#000000" points="313.6423,-325.2894 321.6457,-318.3471 311.0598,-318.7831 313.6423,-325.2894"/>
+<g id="a_edge20&#45;headlabel"><a xlink:href="dir_000015_000002.html" target="_top" xlink:title="1">
+<text text-anchor="middle" x="311.3486" y="-326.7544" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2 -->
-<g id="edge20" class="edge">
+<g id="edge21" class="edge">
 <title>dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
-<path fill="none" stroke="#000000" d="M201.0835,-287.9555C201.2574,-250.3938 201.6595,-163.5541 201.8685,-118.4103"/>
-<polygon fill="#000000" stroke="#000000" points="205.3696,-118.1612 201.916,-108.1451 198.3696,-118.1287 205.3696,-118.1612"/>
-<g id="a_edge20&#45;headlabel"><a xlink:href="dir_000015_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="208.1923" y="-119.2689" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<path fill="none" stroke="#000000" d="M217.1686,-359.8314C225.7152,-351.2848 236.0557,-340.9443 245.3802,-331.6198"/>
+<polygon fill="#000000" stroke="#000000" points="247.9905,-333.9592 252.5867,-324.4133 243.0408,-329.0095 247.9905,-333.9592"/>
+<g id="a_edge21&#45;headlabel"><a xlink:href="dir_000015_000024.html" target="_top" xlink:title="1">
+<text text-anchor="middle" x="247.4564" y="-336.0087" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
@@ -146,188 +156,188 @@
 <g id="node7" class="node">
 <title>dir_404558507ed35459f0d7a6d81d8c508d</title>
 <g id="a_node7"><a xlink:href="dir_404558507ed35459f0d7a6d81d8c508d.html" target="_top" xlink:title="runtime">
-<polygon fill="#ffffff" stroke="#ff0000" points="323.5,-252 268.5,-252 268.5,-216 323.5,-216 323.5,-252"/>
-<text text-anchor="middle" x="296" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">runtime</text>
+<polygon fill="#ffffff" stroke="#ff0000" points="157.5,-180 102.5,-180 102.5,-144 157.5,-144 157.5,-180"/>
+<text text-anchor="middle" x="130" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">runtime</text>
 </a>
 </g>
 </g>
 <!-- dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
-<g id="edge21" class="edge">
+<g id="edge22" class="edge">
 <title>dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M224.9725,-287.8314C236.7861,-278.8779 251.1972,-267.9558 263.9435,-258.2955"/>
-<polygon fill="#000000" stroke="#000000" points="266.1795,-260.9925 272.0352,-252.1628 261.9514,-255.4137 266.1795,-260.9925"/>
-<g id="a_edge21&#45;headlabel"><a xlink:href="dir_000015_000008.html" target="_top" xlink:title="2">
-<text text-anchor="middle" x="265.0297" y="-262.9264" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+<path fill="none" stroke="#000000" d="M181.4861,-359.9979C154.2342,-331.4968 103.8736,-276.6906 95,-252 89.5886,-236.9429 90.4626,-231.3431 95,-216 97.8688,-206.2994 103.0868,-196.7055 108.6333,-188.3563"/>
+<polygon fill="#000000" stroke="#000000" points="111.5199,-190.3362 114.4475,-180.1538 105.8091,-186.2881 111.5199,-190.3362"/>
+<g id="a_edge22&#45;headlabel"><a xlink:href="dir_000015_000008.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="111.7576" y="-192.4107" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
 <!-- dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
-<g id="edge22" class="edge">
+<g id="edge23" class="edge">
 <title>dir_05ffda4d144d7985f926507abde48dbb&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M194.1609,-287.7623C184.8692,-262.9846 168.1768,-218.4714 157.3477,-189.5939"/>
-<polygon fill="#000000" stroke="#000000" points="160.5721,-188.224 153.7836,-180.0896 154.0178,-190.6819 160.5721,-188.224"/>
-<g id="a_edge22&#45;headlabel"><a xlink:href="dir_000015_000007.html" target="_top" xlink:title="2">
-<text text-anchor="middle" x="164.4926" y="-188.0928" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+<path fill="none" stroke="#000000" d="M198.6872,-359.9843C197.8419,-311.2939 195.5069,-176.7961 194.4871,-118.0573"/>
+<polygon fill="#000000" stroke="#000000" points="197.9858,-117.9466 194.3127,-108.0089 190.9869,-118.0682 197.9858,-117.9466"/>
+<g id="a_edge23&#45;headlabel"><a xlink:href="dir_000015_000007.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="200.887" y="-118.9914" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
 <!-- dir_194ecda214f05a38134392ac6a69b970&#45;&gt;dir_72c2f11201cd7636dc7624de0754daa5 -->
 <g id="edge2" class="edge">
 <title>dir_194ecda214f05a38134392ac6a69b970&#45;&gt;dir_72c2f11201cd7636dc7624de0754daa5</title>
-<path fill="none" stroke="#000000" d="M65.8852,-252.4133C63.7141,-260.2292 61.1358,-269.5113 58.74,-278.136"/>
-<polygon fill="#000000" stroke="#000000" points="55.351,-277.2594 56.0468,-287.8314 62.0957,-279.133 55.351,-277.2594"/>
+<path fill="none" stroke="#000000" d="M329.3236,-324.1628C319.9021,-332.8596 308.4672,-343.4149 298.2272,-352.8672"/>
+<polygon fill="#000000" stroke="#000000" points="295.6568,-350.4767 290.6827,-359.8314 300.4047,-355.6203 295.6568,-350.4767"/>
 <g id="a_edge2&#45;headlabel"><a xlink:href="dir_000002_000011.html" target="_top" xlink:title="7">
-<text text-anchor="middle" x="53.5774" y="-270.536" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">7</text>
+<text text-anchor="middle" x="296.3723" y="-343.4523" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">7</text>
 </a>
 </g>
 </g>
 <!-- dir_194ecda214f05a38134392ac6a69b970&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
 <g id="edge1" class="edge">
 <title>dir_194ecda214f05a38134392ac6a69b970&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M90.178,-215.8314C99.3588,-207.1337 110.5006,-196.5783 120.4776,-187.1265"/>
-<polygon fill="#000000" stroke="#000000" points="122.9757,-189.5811 127.8281,-180.1628 118.1615,-184.4995 122.9757,-189.5811"/>
+<path fill="none" stroke="#000000" d="M342.9884,-287.8729C331.8145,-256.1266 305.4376,-189.5202 267,-144 256.5053,-131.5715 242.6106,-120.3889 229.7619,-111.467"/>
+<polygon fill="#000000" stroke="#000000" points="231.346,-108.3158 221.0883,-105.664 227.4534,-114.1337 231.346,-108.3158"/>
 <g id="a_edge1&#45;headlabel"><a xlink:href="dir_000002_000007.html" target="_top" xlink:title="7">
-<text text-anchor="middle" x="122.3189" y="-191.6145" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">7</text>
+<text text-anchor="middle" x="235.9124" y="-105.4548" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">7</text>
 </a>
 </g>
 </g>
 <!-- dir_194ecda214f05a38134392ac6a69b970&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge3" class="edge">
 <title>dir_194ecda214f05a38134392ac6a69b970&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M78.7304,-215.9611C86.618,-197.7122 99.324,-168.7412 111,-144 127.1971,-109.6786 146.906,-70.6699 159.9181,-45.267"/>
-<polygon fill="#000000" stroke="#000000" points="163.1014,-46.7298 164.556,-36.2353 156.8744,-43.5322 163.1014,-46.7298"/>
+<path fill="none" stroke="#000000" d="M348.0623,-287.9647C346.6728,-269.4684 343.2668,-240.0792 335,-216 311.2266,-146.7539 306.2764,-124.2583 255,-72 238.8919,-55.5834 216.7517,-42.4623 198.1146,-33.2663"/>
+<polygon fill="#000000" stroke="#000000" points="199.549,-30.0729 189.0144,-28.9445 196.546,-36.3961 199.549,-30.0729"/>
 <g id="a_edge3&#45;headlabel"><a xlink:href="dir_000002_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="163.9851" y="-48.7244" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="204.014" y="-26.5502" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_72c2f11201cd7636dc7624de0754daa5 -->
 <g id="edge7" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_72c2f11201cd7636dc7624de0754daa5</title>
-<path fill="none" stroke="#000000" d="M174.7523,-100.2765C134.5071,-117.2103 61.1187,-155.2773 35,-216 26.4816,-235.8041 31.5089,-259.9326 38.1047,-278.2196"/>
-<polygon fill="#000000" stroke="#000000" points="34.9256,-279.6984 41.8543,-287.7136 41.4362,-277.127 34.9256,-279.6984"/>
+<path fill="none" stroke="#000000" d="M276.976,-324.4133C277.7071,-332.0593 277.9203,-341.1084 277.6155,-349.5726"/>
+<polygon fill="#000000" stroke="#000000" points="274.1048,-349.6264 276.9524,-359.8314 281.0902,-350.078 274.1048,-349.6264"/>
 <g id="a_edge7&#45;headlabel"><a xlink:href="dir_000024_000011.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="30.9644" y="-274.8981" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="271.5032" y="-343.3562" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
 <g id="edge4" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
-<path fill="none" stroke="#000000" d="M229.0225,-105.9124C261.0709,-126.5799 312.7019,-166.0031 333,-216 339.0187,-230.8248 338.5282,-236.9854 333,-252 329.195,-262.3344 322.4356,-272.0379 315.25,-280.2902"/>
-<polygon fill="#000000" stroke="#000000" points="312.5721,-278.0299 308.3127,-287.7308 317.692,-282.8035 312.5721,-278.0299"/>
+<path fill="none" stroke="#000000" d="M243.6742,-291.9468C221.8967,-280.7469 191.2083,-264.9642 167.3569,-252.6978"/>
+<polygon fill="#000000" stroke="#000000" points="168.7505,-249.4788 158.2568,-248.0178 165.549,-255.7038 168.7505,-249.4788"/>
 <g id="a_edge4&#45;headlabel"><a xlink:href="dir_000024_000017.html" target="_top" xlink:title="5">
-<text text-anchor="middle" x="312.9467" y="-270.9646" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">5</text>
+<text text-anchor="middle" x="173.2456" y="-246.0978" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">5</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
 <g id="edge5" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M213.8085,-108.0896C230.1425,-133.1119 259.7465,-178.4628 278.6115,-207.3623"/>
-<polygon fill="#000000" stroke="#000000" points="275.6977,-209.3017 284.0948,-215.7623 281.5594,-205.4753 275.6977,-209.3017"/>
+<path fill="none" stroke="#000000" d="M253.1423,-287.7623C228.2451,-262.3354 182.9977,-216.1253 154.8286,-187.3569"/>
+<polygon fill="#000000" stroke="#000000" points="157.2098,-184.7861 147.7128,-180.0896 152.2082,-189.6834 157.2098,-184.7861"/>
 <g id="a_edge5&#45;headlabel"><a xlink:href="dir_000024_000008.html" target="_top" xlink:title="2">
-<text text-anchor="middle" x="271.3553" y="-205.3436" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+<text text-anchor="middle" x="161.7534" y="-182.868" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
 <g id="edge6" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M193.9103,-108.4133C188.2898,-116.8239 180.7456,-126.9323 173.2991,-136.0923"/>
-<polygon fill="#000000" stroke="#000000" points="170.5584,-133.9138 166.8312,-143.8314 175.9296,-138.4027 170.5584,-133.9138"/>
+<path fill="none" stroke="#000000" d="M264.6604,-287.8577C259.0307,-256.9324 252.0364,-192.6378 229,-144 224.3412,-134.1637 217.5199,-124.5694 211.0235,-116.2626"/>
+<polygon fill="#000000" stroke="#000000" points="213.7184,-114.0286 204.7275,-108.4237 208.2607,-118.412 213.7184,-114.0286"/>
 <g id="a_edge6&#45;headlabel"><a xlink:href="dir_000024_000007.html" target="_top" xlink:title="6">
-<text text-anchor="middle" x="170.6849" y="-126.8348" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">6</text>
+<text text-anchor="middle" x="218.1829" y="-112.5532" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">6</text>
 </a>
 </g>
 </g>
 <!-- dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge8" class="edge">
 <title>dir_5da96592f3a7c442b838b075c58254c2&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M194.9344,-71.8314C191.874,-63.9617 188.2221,-54.5712 184.8318,-45.8533"/>
-<polygon fill="#000000" stroke="#000000" points="188.0473,-44.4647 181.1607,-36.4133 181.5232,-47.0019 188.0473,-44.4647"/>
+<path fill="none" stroke="#000000" d="M277.3948,-287.7647C280.6846,-277.4187 284.3442,-264.1474 286,-252 292.5824,-203.7094 284.4582,-189.503 267,-144 254.1122,-110.4094 252.8229,-99.8125 230,-72 220.6887,-60.6531 208.6236,-50.1259 197.2463,-41.4365"/>
+<polygon fill="#000000" stroke="#000000" points="199.2571,-38.5705 189.1327,-35.4485 195.1004,-44.2028 199.2571,-38.5705"/>
 <g id="a_edge8&#45;headlabel"><a xlink:href="dir_000024_000013.html" target="_top" xlink:title="2">
-<text text-anchor="middle" x="191.9963" y="-44.2859" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
+<text text-anchor="middle" x="203.8353" y="-35.9205" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
 <!-- dir_6cd4295f6ad5aa17e5b568d0e5b190e5&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
 <g id="edge9" class="edge">
 <title>dir_6cd4295f6ad5aa17e5b568d0e5b190e5&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M289.2711,-287.8314C290.2336,-280.131 291.3782,-270.9743 292.4479,-262.4166"/>
-<polygon fill="#000000" stroke="#000000" points="295.9309,-262.7702 293.6983,-252.4133 288.9849,-261.9019 295.9309,-262.7702"/>
+<path fill="none" stroke="#000000" d="M130.7477,-215.8314C130.6407,-208.131 130.5135,-198.9743 130.3947,-190.4166"/>
+<polygon fill="#000000" stroke="#000000" points="133.8944,-190.3637 130.2557,-180.4133 126.8951,-190.4609 133.8944,-190.3637"/>
 <g id="a_edge9&#45;headlabel"><a xlink:href="dir_000017_000008.html" target="_top" xlink:title="17">
-<text text-anchor="middle" x="298.3025" y="-264.1892" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">17</text>
+<text text-anchor="middle" x="136.7832" y="-191.4185" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">17</text>
 </a>
 </g>
 </g>
 <!-- dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1 -->
 <g id="edge13" class="edge">
 <title>dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_dc867ff9a37cad1764f1670dc7eba6c1</title>
-<path fill="none" stroke="#000000" d="M268.3608,-223.0647C244.3397,-212.3435 209.5833,-195.7344 183.3493,-182.5431"/>
-<polygon fill="#000000" stroke="#000000" points="184.6071,-179.2566 174.1054,-177.855 181.4409,-185.4997 184.6071,-179.2566"/>
+<path fill="none" stroke="#000000" d="M140.1975,-143.8314C146.8946,-135.3694 155.7943,-125.1489 164.4724,-115.8971"/>
+<polygon fill="#000000" stroke="#000000" points="167.2563,-118.0511 171.6566,-108.4133 162.2065,-113.2034 167.2563,-118.0511"/>
 <g id="a_edge13&#45;headlabel"><a xlink:href="dir_000008_000007.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="189.0972" y="-175.8502" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="166.8152" y="-120.1105" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge14" class="edge">
 <title>dir_404558507ed35459f0d7a6d81d8c508d&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M287.2413,-215.5468C277.2953,-183.8759 261.0291,-118.1331 229,-72 221.4216,-61.0844 211.0957,-51.0794 201.3602,-42.7263"/>
-<polygon fill="#000000" stroke="#000000" points="203.3247,-39.8082 193.3945,-36.1145 198.8538,-45.1945 203.3247,-39.8082"/>
+<path fill="none" stroke="#000000" d="M129.3797,-143.7623C132.3911,-119.0928 141.9544,-74.8598 150.3117,-45.9731"/>
+<polygon fill="#000000" stroke="#000000" points="153.7564,-46.6755 153.3218,-36.0896 147.0601,-44.6361 153.7564,-46.6755"/>
 <g id="a_edge14&#45;headlabel"><a xlink:href="dir_000008_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="207.904" y="-37.4193" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="155.4253" y="-48.4414" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2 -->
 <g id="edge15" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
-<path fill="none" stroke="#000000" d="M154.9264,-143.8314C160.5094,-135.454 168.0357,-125.3531 175.4838,-116.1749"/>
-<polygon fill="#000000" stroke="#000000" points="178.2404,-118.3344 181.9583,-108.4133 172.865,-113.8504 178.2404,-118.3344"/>
+<path fill="none" stroke="#000000" d="M220.8735,-108.4237C230.7321,-118.2 240.7883,-130.8849 247,-144 267.6968,-187.698 275.4445,-244.034 275.7587,-277.4539"/>
+<polygon fill="#000000" stroke="#000000" points="272.2526,-277.8016 275.5882,-287.8577 279.2516,-277.9164 272.2526,-277.8016"/>
 <g id="a_edge15&#45;headlabel"><a xlink:href="dir_000007_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="178.1181" y="-120.4134" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="269.4725" y="-271.661" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5 -->
 <g id="edge16" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_6cd4295f6ad5aa17e5b568d0e5b190e5</title>
-<path fill="none" stroke="#000000" d="M164.5871,-180.0896C189.229,-205.4355 234.1491,-251.639 262.1841,-280.4751"/>
-<polygon fill="#000000" stroke="#000000" points="259.7886,-283.0321 269.2689,-287.7623 264.8076,-278.1525 259.7886,-283.0321"/>
+<path fill="none" stroke="#000000" d="M189.9138,-108.1281C185.3739,-126.6982 177.1822,-156.1453 166,-180 161.636,-189.3096 155.8864,-198.9045 150.3113,-207.3765"/>
+<polygon fill="#000000" stroke="#000000" points="147.3543,-205.5009 144.6302,-215.7396 153.1446,-209.4344 147.3543,-205.5009"/>
 <g id="a_edge16&#45;headlabel"><a xlink:href="dir_000007_000017.html" target="_top" xlink:title="10">
-<text text-anchor="middle" x="255.2472" y="-279.934" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">10</text>
+<text text-anchor="middle" x="147.0255" y="-198.4321" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">10</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
 <g id="edge17" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M174.2211,-172.7487C198.1693,-183.4247 233.013,-200.0689 259.3664,-213.314"/>
-<polygon fill="#000000" stroke="#000000" points="257.7998,-216.4438 268.302,-217.8418 260.9638,-210.1997 257.7998,-216.4438"/>
+<path fill="none" stroke="#000000" d="M183.6087,-108.4133C176.8694,-116.9088 167.9509,-127.1366 159.2773,-136.3696"/>
+<polygon fill="#000000" stroke="#000000" points="156.5106,-134.1972 152.1023,-143.8314 161.5564,-139.049 156.5106,-134.1972"/>
 <g id="a_edge17&#45;headlabel"><a xlink:href="dir_000007_000008.html" target="_top" xlink:title="22">
-<text text-anchor="middle" x="253.31" y="-214.8518" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">22</text>
+<text text-anchor="middle" x="156.9555" y="-127.1382" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">22</text>
 </a>
 </g>
 </g>
 <!-- dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118 -->
 <g id="edge18" class="edge">
 <title>dir_dc867ff9a37cad1764f1670dc7eba6c1&#45;&gt;dir_fb1b1bc11a768ab8cf63a96a73170118</title>
-<path fill="none" stroke="#000000" d="M150.4196,-143.7623C155.0451,-119.0928 163.3388,-74.8598 168.755,-45.9731"/>
-<polygon fill="#000000" stroke="#000000" points="172.2053,-46.5634 170.6082,-36.0896 165.3252,-45.2733 172.2053,-46.5634"/>
+<path fill="none" stroke="#000000" d="M185.925,-71.8314C182.3898,-63.8771 178.164,-54.369 174.2544,-45.5723"/>
+<polygon fill="#000000" stroke="#000000" points="177.4435,-44.1299 170.1837,-36.4133 171.0468,-46.9729 177.4435,-44.1299"/>
 <g id="a_edge18&#45;headlabel"><a xlink:href="dir_000007_000013.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="174.3336" y="-48.1196" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<text text-anchor="middle" x="181.4979" y="-43.7616" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
 <!-- dir_fb1b1bc11a768ab8cf63a96a73170118&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d -->
-<g id="edge23" class="edge">
+<g id="edge24" class="edge">
 <title>dir_fb1b1bc11a768ab8cf63a96a73170118&#45;&gt;dir_404558507ed35459f0d7a6d81d8c508d</title>
-<path fill="none" stroke="#000000" d="M201.231,-30.4998C216.8231,-40.2827 235.2269,-55.0426 247,-72 275.9013,-113.628 291.9679,-171.2225 296.9001,-205.3434"/>
-<polygon fill="#000000" stroke="#000000" points="293.4569,-206.0295 298.1123,-215.5468 300.408,-205.2036 293.4569,-206.0295"/>
-<g id="a_edge23&#45;headlabel"><a xlink:href="dir_000013_000008.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="290.2134" y="-200.295" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<path fill="none" stroke="#000000" d="M162.6384,-36.0896C159.6532,-60.6805 150.1007,-104.905 141.7385,-133.8531"/>
+<polygon fill="#000000" stroke="#000000" points="138.2861,-133.1766 138.726,-143.7623 144.9834,-135.2127 138.2861,-133.1766"/>
+<g id="a_edge24&#45;headlabel"><a xlink:href="dir_000013_000008.html" target="_top" xlink:title="1">
+<text text-anchor="middle" x="136.6151" y="-126.4116" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg b/docs/reference/api/doxygen/dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg
index 831e40a14..627b61895 100644
--- a/docs/reference/api/doxygen/dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg
+++ b/docs/reference/api/doxygen/dir_8e4e25e66b8623d88c5b5dd2040bca97_dep.svg
@@ -590,8 +590,8 @@
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
 <path fill="none" stroke="#000000" d="M193.976,-108.4133C194.7071,-116.0593 194.9203,-125.1084 194.6155,-133.5726"/>
 <polygon fill="#000000" stroke="#000000" points="191.1048,-133.6264 193.9524,-143.8314 198.0902,-134.078 191.1048,-133.6264"/>
-<g id="a_edge31&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="188.5032" y="-127.3562" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<g id="a_edge31&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="188.5032" y="-127.3562" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_a98464176f1216e334ac3bbacd433085_dep.svg b/docs/reference/api/doxygen/dir_a98464176f1216e334ac3bbacd433085_dep.svg
index 0df0fcbf4..741abd18f 100644
--- a/docs/reference/api/doxygen/dir_a98464176f1216e334ac3bbacd433085_dep.svg
+++ b/docs/reference/api/doxygen/dir_a98464176f1216e334ac3bbacd433085_dep.svg
@@ -186,8 +186,8 @@
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
 <path fill="none" stroke="#000000" d="M121.9264,-215.8314C127.5094,-207.454 135.0357,-197.3531 142.4838,-188.1749"/>
 <polygon fill="#000000" stroke="#000000" points="145.2404,-190.3344 148.9583,-180.4133 139.865,-185.8504 145.2404,-190.3344"/>
-<g id="a_edge7&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="1">
-<text text-anchor="middle" x="145.1181" y="-192.4134" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">1</text>
+<g id="a_edge7&#45;headlabel"><a xlink:href="dir_000011_000024.html" target="_top" xlink:title="2">
+<text text-anchor="middle" x="145.1181" y="-192.4134" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">2</text>
 </a>
 </g>
 </g>
diff --git a/docs/reference/api/doxygen/dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg b/docs/reference/api/doxygen/dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg
index 6631bc727..609de9645 100644
--- a/docs/reference/api/doxygen/dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg
+++ b/docs/reference/api/doxygen/dir_b4c7d8e826c599ba55146c099a14beb5_dep.svg
@@ -671,8 +671,8 @@
 <title>dir_72c2f11201cd7636dc7624de0754daa5&#45;&gt;dir_5da96592f3a7c442b838b075c58254c2</title>
... 24074 lines suppressed ...