You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by tq...@apache.org on 2026/09/24 19:02:41 UTC

(tvm-site) branch asf-site updated: deploying docs (apache/tvm@0db97a5a2cf041f7d83db34325c4901db8ee0380)

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 3a8e0c1192c deploying docs (apache/tvm@0db97a5a2cf041f7d83db34325c4901db8ee0380)
3a8e0c1192c is described below

commit 3a8e0c1192c905a7029cba1321679db356962a3c
Author: tvm-bot <95...@users.noreply.github.com>
AuthorDate: Thu Sep 24 19:02:26 2026 +0000

    deploying docs (apache/tvm@0db97a5a2cf041f7d83db34325c4901db8ee0380)
---
 .../import_model.zip                               |   Bin 35138 -> 35138 bytes
 .../dlight_gpu_scheduling.zip                      |   Bin 26311 -> 26311 bytes
 .../11c11e53c7dace51a8be968ee169ed0d/ir_module.zip |   Bin 23756 -> 23756 bytes
 .../tir_transformation.zip                         |   Bin 15923 -> 15923 bytes
 .../meta_schedule.zip                              |   Bin 24239 -> 24239 bytes
 .../mix_python_and_tvm_with_pymodule.zip           |   Bin 38907 -> 38923 bytes
 .../relax_creation.zip                             |   Bin 22429 -> 22429 bytes
 .../relax_transformation.zip                       |   Bin 11480 -> 11480 bytes
 .../optimize_llm.zip                               |   Bin 53997 -> 53997 bytes
 .../bring_your_own_codegen.zip                     |   Bin 36295 -> 36295 bytes
 .../e2e_opt_model.zip                              |   Bin 14479 -> 14479 bytes
 .../quick_start.zip                                |   Bin 16252 -> 16252 bytes
 .../export_and_load_executable.zip                 |   Bin 31408 -> 31408 bytes
 .../tir_creation.zip                               |   Bin 24580 -> 24580 bytes
 .../mix_python_and_tvm_with_pymodule.py            |    16 +-
 .../mix_python_and_tvm_with_pymodule.ipynb         |    14 +-
 .../cross_compilation_and_rpc.zip                  |   Bin 62286 -> 62286 bytes
 .../customize_opt.zip                              |   Bin 20522 -> 20522 bytes
 docs/_sources/arch/tvmscript.rst                   |   413 +-
 .../deep_dive/relax/tutorials/relax_creation.rst   |    66 +-
 .../relax/tutorials/relax_transformation.rst       |    15 +
 .../relax/tutorials/sg_execution_times.rst         |     4 +-
 .../tensor_ir/tutorials/sg_execution_times.rst     |     8 +-
 .../deep_dive/tensor_ir/tutorials/tir_creation.rst |     2 +-
 .../tensor_ir/tutorials/tir_transformation.rst     |   144 +-
 docs/_sources/get_started/tutorials/ir_module.rst  |     8 +-
 .../_sources/get_started/tutorials/quick_start.rst |     4 +-
 .../get_started/tutorials/sg_execution_times.rst   |     6 +-
 .../how_to/tutorials/cross_compilation_and_rpc.rst |     6 +-
 docs/_sources/how_to/tutorials/e2e_opt_model.rst   |     2 +-
 .../tutorials/mix_python_and_tvm_with_pymodule.rst |    16 +-
 docs/_sources/how_to/tutorials/optimize_llm.rst    |     2 +-
 .../how_to/tutorials/sg_execution_times.rst        |    14 +-
 docs/_sources/reference/api/python/relax/relax.rst |     1 +
 .../reference/api/python/script/ir_builder.rst     |     6 +
 .../reference/api/python/script/parser.rst         |     3 +
 .../reference/api/python/script/script.rst         |    15 +
 docs/_sources/sg_execution_times.rst               |    36 +-
 docs/_sources/tirx/api/script.rst                  |     6 +-
 .../tirx/tile_primitives/copy_async/dsmem.rst      |     4 +-
 docs/arch/tvmscript.html                           |   414 +-
 docs/commit_hash                                   |     2 +-
 docs/deep_dive/relax/tutorials/relax_creation.html |   164 +-
 .../relax/tutorials/relax_transformation.html      |    15 +
 .../relax/tutorials/sg_execution_times.html        |     4 +-
 .../tensor_ir/tutorials/sg_execution_times.html    |     8 +-
 .../tensor_ir/tutorials/tir_creation.html          |   114 +-
 .../tensor_ir/tutorials/tir_transformation.html    |   176 +-
 docs/genindex.html                                 |  2394 +++-
 docs/get_started/tutorials/ir_module.html          |    38 +-
 docs/get_started/tutorials/quick_start.html        |     4 +-
 docs/get_started/tutorials/sg_execution_times.html |     6 +-
 docs/how_to/tutorials/bring_your_own_codegen.html  |    10 +-
 .../tutorials/cross_compilation_and_rpc.html       |     6 +-
 docs/how_to/tutorials/e2e_opt_model.html           |     4 +-
 .../mix_python_and_tvm_with_pymodule.html          |   110 +-
 docs/how_to/tutorials/optimize_llm.html            |     2 +-
 docs/how_to/tutorials/sg_execution_times.html      |    14 +-
 docs/objects.inv                                   |   Bin 23693 -> 28154 bytes
 ..._2tvm_2script_2ir_builder_2base_8h-example.html |   303 -
 docs/reference/api/doxygen/analyzer_8h.html        |     8 +-
 docs/reference/api/doxygen/analyzer_8h_source.html |   182 +-
 docs/reference/api/doxygen/annotated.html          |    67 +-
 docs/reference/api/doxygen/arg__info_8h.html       |     2 +-
 docs/reference/api/doxygen/arg__info_8h__incl.svg  |  1877 ++--
 .../reference/api/doxygen/arg__info_8h_source.html |    16 +-
 docs/reference/api/doxygen/array__utils_8h.html    |     2 +-
 .../api/doxygen/array__utils_8h__incl.svg          |  1753 +--
 .../api/doxygen/array__utils_8h_source.html        |     8 +-
 .../api/doxygen/attr__registry__map_8h_source.html |    44 +-
 .../api/doxygen/axis__group__graph_8h.html         |     8 +-
 .../api/doxygen/axis__group__graph_8h__incl.svg    |  2048 ++--
 .../api/doxygen/axis__group__graph_8h_source.html  |   281 +-
 docs/reference/api/doxygen/backend_8h.html         |     2 +-
 docs/reference/api/doxygen/backend_8h__incl.svg    |  2040 ++--
 docs/reference/api/doxygen/backend_8h_source.html  |     5 +-
 docs/reference/api/doxygen/base__expr_8h.html      |    14 +-
 .../api/doxygen/base__expr_8h_source.html          |   234 +-
 docs/reference/api/doxygen/bias__add_8h.html       |     4 +-
 docs/reference/api/doxygen/bias__add_8h__incl.svg  |  2625 ++---
 .../reference/api/doxygen/bias__add_8h_source.html |    12 +-
 .../reference/api/doxygen/binding__rewrite_8h.html |     2 +-
 .../api/doxygen/binding__rewrite_8h__incl.svg      |  2116 ++--
 .../api/doxygen/binding__rewrite_8h_source.html    |    23 +-
 docs/reference/api/doxygen/block__builder_8h.html  |     2 +-
 .../api/doxygen/block__builder_8h__incl.svg        |  1632 +--
 .../api/doxygen/block__builder_8h_source.html      |    11 +-
 docs/reference/api/doxygen/bnn_8h.html             |     6 +-
 docs/reference/api/doxygen/bnn_8h__incl.svg        |  1851 +--
 docs/reference/api/doxygen/bnn_8h_source.html      |    76 +-
 docs/reference/api/doxygen/bound_8h.html           |     4 +-
 docs/reference/api/doxygen/bound_8h_source.html    |    11 +-
 docs/reference/api/doxygen/broadcast_8h.html       |   288 +-
 docs/reference/api/doxygen/broadcast_8h__incl.svg  |  1897 ++--
 .../reference/api/doxygen/broadcast_8h_source.html |    46 +-
 docs/reference/api/doxygen/builder_8h.html         |     2 +-
 docs/reference/api/doxygen/builder_8h__incl.svg    |  1485 +--
 docs/reference/api/doxygen/builder_8h_source.html  |    22 +-
 docs/reference/api/doxygen/bytecode_8h.html        |     6 +-
 docs/reference/api/doxygen/bytecode_8h_source.html |    56 +-
 docs/reference/api/doxygen/ccl_8h__incl.svg        |  1494 +--
 docs/reference/api/doxygen/ccl_8h_source.html      |     7 +-
 docs/reference/api/doxygen/classes.html            |     4 +-
 .../api/doxygen/classtvm_1_1ArgumentInfoNode.html  |     8 +-
 .../api/doxygen/classtvm_1_1AttrRegistryMap.html   |    42 +-
 .../classtvm_1_1AttrRegistryMapContainerMap.html   |    48 +-
 .../api/doxygen/classtvm_1_1AttrsNode.html         |     4 +-
 .../api/doxygen/classtvm_1_1BaseFunc.html          |     6 +-
 .../api/doxygen/classtvm_1_1BaseFuncNode.html      |    59 +-
 docs/reference/api/doxygen/classtvm_1_1Call.html   |     6 +-
 .../api/doxygen/classtvm_1_1CallNode.html          |    10 +-
 .../api/doxygen/classtvm_1_1Constant.html          |     6 +-
 .../api/doxygen/classtvm_1_1ConstantNode.html      |    14 +-
 .../api/doxygen/classtvm_1_1DictAttrs.html         |    73 +-
 .../api/doxygen/classtvm_1_1DictAttrsNode.html     |     6 +-
 .../reference/api/doxygen/classtvm_1_1EnvFunc.html |    20 +-
 .../api/doxygen/classtvm_1_1EnvFuncNode.html       |     8 +-
 docs/reference/api/doxygen/classtvm_1_1Expr.html   |    18 +-
 .../api/doxygen/classtvm_1_1ExprFunctor.html       |     2 +-
 ...R_07const_01Expr_01_6_00_01Args_8_8_8_08_4.html |   408 +-
 .../api/doxygen/classtvm_1_1ExprMutator.html       |   315 +-
 .../api/doxygen/classtvm_1_1ExprNode.html          |    12 +-
 .../api/doxygen/classtvm_1_1ExprVisitor.html       |   295 +-
 .../api/doxygen/classtvm_1_1FloatImm.html          |    26 +-
 .../api/doxygen/classtvm_1_1FloatImmNode.html      |    18 +-
 .../api/doxygen/classtvm_1_1FuncType.html          |     4 +-
 .../api/doxygen/classtvm_1_1FuncTypeNode.html      |    12 +-
 .../api/doxygen/classtvm_1_1GenericConst.html      |     6 +-
 .../api/doxygen/classtvm_1_1GenericConstNode.html  |    14 +-
 .../api/doxygen/classtvm_1_1GlobalInfoNode.html    |     4 +-
 .../api/doxygen/classtvm_1_1GlobalVar.html         |     6 +-
 .../api/doxygen/classtvm_1_1GlobalVarNode.html     |    30 +-
 .../api/doxygen/classtvm_1_1IRModule.html          |    18 +-
 .../api/doxygen/classtvm_1_1IRModuleNode.html      |   139 +-
 docs/reference/api/doxygen/classtvm_1_1IntImm.html |    66 +-
 .../api/doxygen/classtvm_1_1IntImmNode.html        |    14 +-
 .../api/doxygen/classtvm_1_1ObjectFunctor.html     |    19 +-
 ...nctor_3_01R_07NodeArg_00_01Args_8_8_8_08_4.html |    52 +-
 .../api/doxygen/classtvm_1_1ObjectMutator.html     |    51 +-
 .../api/doxygen/classtvm_1_1ObjectVisitor.html     |    34 +-
 docs/reference/api/doxygen/classtvm_1_1Op.html     |    30 +-
 .../api/doxygen/classtvm_1_1OpAttrMap.html         |    34 +-
 docs/reference/api/doxygen/classtvm_1_1OpNode.html |    46 +-
 .../api/doxygen/classtvm_1_1OpRegEntry.html        |    64 +-
 .../api/doxygen/classtvm_1_1OpaqueExpr.html        |     6 +-
 .../api/doxygen/classtvm_1_1OpaqueExprNode.html    |    14 +-
 .../api/doxygen/classtvm_1_1OpaqueType.html        |     4 +-
 .../api/doxygen/classtvm_1_1OpaqueTypeNode.html    |    12 +-
 .../api/doxygen/classtvm_1_1PointerType.html       |     8 +-
 .../api/doxygen/classtvm_1_1PointerTypeNode.html   |    12 +-
 .../api/doxygen/classtvm_1_1PrimExpr.html          |    24 +-
 .../classtvm_1_1PrimExprConvertibleNode.html       |     8 +-
 .../api/doxygen/classtvm_1_1PrimType.html          |   134 +-
 .../api/doxygen/classtvm_1_1PrimTypeNode.html      |    16 +-
 .../reference/api/doxygen/classtvm_1_1PrimVar.html |    32 +-
 .../api/doxygen/classtvm_1_1PrinterConfig.html     |     2 +-
 .../api/doxygen/classtvm_1_1PrinterConfigNode.html |    64 +-
 docs/reference/api/doxygen/classtvm_1_1Range.html  |     6 +-
 .../api/doxygen/classtvm_1_1RangeNode.html         |     8 +-
 .../api/doxygen/classtvm_1_1ScopeStack.html        |    54 +-
 .../api/doxygen/classtvm_1_1SequentialSpan.html    |     4 +-
 .../doxygen/classtvm_1_1SequentialSpanNode.html    |    16 +-
 docs/reference/api/doxygen/classtvm_1_1Source.html |     6 +-
 .../api/doxygen/classtvm_1_1SourceMap.html         |     6 +-
 .../api/doxygen/classtvm_1_1SourceMapObj.html      |     8 +-
 .../api/doxygen/classtvm_1_1SourceName.html        |     6 +-
 .../api/doxygen/classtvm_1_1SourceNameNode.html    |     8 +-
 .../api/doxygen/classtvm_1_1SourceNode.html        |     8 +-
 docs/reference/api/doxygen/classtvm_1_1Span.html   |    14 +-
 .../api/doxygen/classtvm_1_1SpanNode.html          |    24 +-
 .../api/doxygen/classtvm_1_1StringImm.html         |     6 +-
 .../api/doxygen/classtvm_1_1StringImmNode.html     |    14 +-
 .../api/doxygen/classtvm_1_1StringType.html        |     4 +-
 .../api/doxygen/classtvm_1_1StringTypeNode.html    |    12 +-
 .../api/doxygen/classtvm_1_1TVMScriptPrinter.html  |     8 +-
 docs/reference/api/doxygen/classtvm_1_1Target.html |    34 +-
 .../api/doxygen/classtvm_1_1TargetKind.html        |    26 +-
 .../api/doxygen/classtvm_1_1TargetKindAttrMap.html |    26 +-
 .../api/doxygen/classtvm_1_1TargetKindNode.html    |    36 +-
 .../doxygen/classtvm_1_1TargetKindRegEntry.html    |    56 +-
 .../api/doxygen/classtvm_1_1TargetNode.html        |    60 +-
 .../api/doxygen/classtvm_1_1TargetTag.html         |    28 +-
 .../api/doxygen/classtvm_1_1TargetTagNode.html     |    28 +-
 .../api/doxygen/classtvm_1_1TargetTagRegEntry.html |    26 +-
 .../api/doxygen/classtvm_1_1TensorLoad.html        |    22 +-
 .../api/doxygen/classtvm_1_1TensorLoadNode.html    |    10 +-
 .../api/doxygen/classtvm_1_1TensorRegion.html      |     6 +-
 .../api/doxygen/classtvm_1_1TensorRegionNode.html  |    14 +-
 docs/reference/api/doxygen/classtvm_1_1Tuple.html  |     6 +-
 .../api/doxygen/classtvm_1_1TupleGetItem.html      |    10 +-
 .../api/doxygen/classtvm_1_1TupleGetItemNode.html  |    14 +-
 .../api/doxygen/classtvm_1_1TupleNode.html         |    10 +-
 .../api/doxygen/classtvm_1_1TupleType.html         |     8 +-
 .../api/doxygen/classtvm_1_1TupleTypeNode.html     |    12 +-
 docs/reference/api/doxygen/classtvm_1_1Type.html   |     8 +-
 .../api/doxygen/classtvm_1_1TypeNode.html          |    16 +-
 .../api/doxygen/classtvm_1_1TypedEnvFunc.html      |     2 +-
 ...vm_1_1TypedEnvFunc_3_01R_07Args_8_8_8_08_4.html |    48 +-
 .../api/doxygen/classtvm_1_1TypedExpr.html         |    26 +-
 .../api/doxygen/classtvm_1_1UniqueNameSupply.html  |    14 +-
 .../doxygen/classtvm_1_1UniqueNameSupplyNode.html  |    46 +-
 docs/reference/api/doxygen/classtvm_1_1Var.html    |    18 +-
 .../reference/api/doxygen/classtvm_1_1VarNode.html |    22 +-
 docs/reference/api/doxygen/classtvm_1_1With.html   |    96 +-
 .../api/doxygen/classtvm_1_1WithGroup.html         |    69 +-
 ...asstvm_1_1instrument_1_1PassInstrumentNode.html |    40 +-
 .../doxygen/classtvm_1_1ir_1_1ConfigSchema.html    |    40 +-
 .../api/doxygen/classtvm_1_1prim_1_1Add.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1AddNode.html   |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1And.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1AndNode.html   |    10 +-
 .../doxygen/classtvm_1_1prim_1_1BinaryOpNode.html  |    42 +-
 .../doxygen/classtvm_1_1prim_1_1BitwiseAnd.html    |    22 +-
 .../classtvm_1_1prim_1_1BitwiseAndNode.html        |    16 +-
 .../doxygen/classtvm_1_1prim_1_1BitwiseNot.html    |    22 +-
 .../classtvm_1_1prim_1_1BitwiseNotNode.html        |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1BitwiseOr.html |    22 +-
 .../doxygen/classtvm_1_1prim_1_1BitwiseOrNode.html |    16 +-
 .../doxygen/classtvm_1_1prim_1_1BitwiseXor.html    |    22 +-
 .../classtvm_1_1prim_1_1BitwiseXorNode.html        |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Broadcast.html |    22 +-
 .../doxygen/classtvm_1_1prim_1_1BroadcastNode.html |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1Cast.html      |    24 +-
 .../api/doxygen/classtvm_1_1prim_1_1CastNode.html  |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1CmpOpNode.html |    42 +-
 .../api/doxygen/classtvm_1_1prim_1_1Div.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1DivNode.html   |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1EQ.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1EQNode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1FloorDiv.html  |    22 +-
 .../doxygen/classtvm_1_1prim_1_1FloorDivNode.html  |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1FloorMod.html  |    22 +-
 .../doxygen/classtvm_1_1prim_1_1FloorModNode.html  |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1GE.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1GENode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1GT.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1GTNode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1LE.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1LShift.html    |    22 +-
 .../doxygen/classtvm_1_1prim_1_1LShiftNode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1LT.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1LTNode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Let.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1LetNode.html   |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1Max.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1MaxNode.html   |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Min.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1MinNode.html   |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Mod.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1ModNode.html   |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Mul.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1MulNode.html   |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1NE.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1NENode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Not.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1NotNode.html   |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1Or.html        |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1OrNode.html    |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1RShift.html    |    22 +-
 .../doxygen/classtvm_1_1prim_1_1RShiftNode.html    |    16 +-
 .../api/doxygen/classtvm_1_1prim_1_1Ramp.html      |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1RampNode.html  |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1Select.html    |    22 +-
 .../doxygen/classtvm_1_1prim_1_1SelectNode.html    |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1Shuffle.html   |    32 +-
 .../doxygen/classtvm_1_1prim_1_1ShuffleNode.html   |    10 +-
 .../api/doxygen/classtvm_1_1prim_1_1Sub.html       |    22 +-
 .../api/doxygen/classtvm_1_1prim_1_1SubNode.html   |    16 +-
 .../doxygen/classtvm_1_1relax_1_1AndPattern.html   |    26 +-
 .../classtvm_1_1relax_1_1AndPatternNode.html       |     6 +-
 .../api/doxygen/classtvm_1_1relax_1_1AnyType.html  |     4 +-
 .../doxygen/classtvm_1_1relax_1_1AnyTypeNode.html  |    12 +-
 .../doxygen/classtvm_1_1relax_1_1AttrPattern.html  |    26 +-
 .../classtvm_1_1relax_1_1AttrPatternNode.html      |     6 +-
 .../api/doxygen/classtvm_1_1relax_1_1Binding.html  |    28 +-
 .../classtvm_1_1relax_1_1BindingBlockNode.html     |     8 +-
 .../doxygen/classtvm_1_1relax_1_1BindingNode.html  |     8 +-
 .../doxygen/classtvm_1_1relax_1_1BlockBuilder.html |     8 +-
 .../classtvm_1_1relax_1_1BlockBuilderNode.html     |    98 +-
 .../doxygen/classtvm_1_1relax_1_1CallPattern.html  |    32 +-
 .../classtvm_1_1relax_1_1CallPatternNode.html      |    10 +-
 .../classtvm_1_1relax_1_1ConstantPattern.html      |    26 +-
 .../classtvm_1_1relax_1_1ConstantPatternNode.html  |     6 +-
 .../classtvm_1_1relax_1_1DFConstraintNode.html     |    14 +-
 .../doxygen/classtvm_1_1relax_1_1DFPattern.html    |    46 +-
 .../classtvm_1_1relax_1_1DFPatternFunctor.html     |     2 +-
 ...nst_01DFPattern_01_6n_00_01Args_8_8_8_08_4.html |   190 +-
 .../classtvm_1_1relax_1_1DFPatternNode.html        |     4 +-
 .../classtvm_1_1relax_1_1DFPatternVisitor.html     |   130 +-
 .../classtvm_1_1relax_1_1DataTypePattern.html      |    30 +-
 .../classtvm_1_1relax_1_1DataTypePatternNode.html  |    10 +-
 .../classtvm_1_1relax_1_1DataflowBlockNode.html    |     8 +-
 .../classtvm_1_1relax_1_1DataflowBlockRewrite.html |     2 +-
 ...sstvm_1_1relax_1_1DataflowBlockRewriteNode.html |    50 +-
 .../doxygen/classtvm_1_1relax_1_1DataflowVar.html  |    16 +-
 .../classtvm_1_1relax_1_1DataflowVarNode.html      |    22 +-
 .../classtvm_1_1relax_1_1DataflowVarPattern.html   |    26 +-
 ...lasstvm_1_1relax_1_1DataflowVarPatternNode.html |    12 +-
 .../classtvm_1_1relax_1_1DummyGlobalInfoNode.html  |     6 +-
 .../classtvm_1_1relax_1_1ExecBuilderNode.html      |    74 +-
 .../doxygen/classtvm_1_1relax_1_1ExprFunctor.html  |     2 +-
 ..._07const_01Expr_01_6n_00_01Args_8_8_8_08_4.html |   420 +-
 .../doxygen/classtvm_1_1relax_1_1ExprMutator.html  |   510 +-
 .../classtvm_1_1relax_1_1ExprMutatorBase.html      |   216 +-
 .../doxygen/classtvm_1_1relax_1_1ExprPattern.html  |    26 +-
 .../classtvm_1_1relax_1_1ExprPatternNode.html      |     6 +-
 .../doxygen/classtvm_1_1relax_1_1ExprVisitor.html  |   480 +-
 .../doxygen/classtvm_1_1relax_1_1ExternFunc.html   |     6 +-
 .../classtvm_1_1relax_1_1ExternFuncNode.html       |    26 +-
 .../classtvm_1_1relax_1_1ExternFuncPattern.html    |    26 +-
 ...classtvm_1_1relax_1_1ExternFuncPatternNode.html |    10 +-
 .../api/doxygen/classtvm_1_1relax_1_1FuncType.html |    26 +-
 .../doxygen/classtvm_1_1relax_1_1FuncTypeNode.html |    20 +-
 .../api/doxygen/classtvm_1_1relax_1_1Function.html |    20 +-
 .../doxygen/classtvm_1_1relax_1_1FunctionNode.html |    34 +-
 .../classtvm_1_1relax_1_1FunctionPattern.html      |    26 +-
 .../classtvm_1_1relax_1_1FunctionPatternNode.html  |     6 +-
 .../classtvm_1_1relax_1_1GlobalVarPattern.html     |    26 +-
 .../classtvm_1_1relax_1_1GlobalVarPatternNode.html |     8 +-
 .../api/doxygen/classtvm_1_1relax_1_1If.html       |     6 +-
 .../api/doxygen/classtvm_1_1relax_1_1IfNode.html   |    14 +-
 .../doxygen/classtvm_1_1relax_1_1MatchCast.html    |    18 +-
 .../classtvm_1_1relax_1_1MatchCastNode.html        |     8 +-
 .../classtvm_1_1relax_1_1MatchResultNode.html      |     4 +-
 .../doxygen/classtvm_1_1relax_1_1NestedMsg.html    |   185 +-
 .../doxygen/classtvm_1_1relax_1_1NotPattern.html   |    26 +-
 .../classtvm_1_1relax_1_1NotPatternNode.html       |     6 +-
 .../doxygen/classtvm_1_1relax_1_1OrPattern.html    |    26 +-
 .../classtvm_1_1relax_1_1OrPatternNode.html        |     6 +-
 .../classtvm_1_1relax_1_1PackedFuncType.html       |     4 +-
 .../classtvm_1_1relax_1_1PackedFuncTypeNode.html   |    12 +-
 .../classtvm_1_1relax_1_1PatternContext.html       |    36 +-
 .../classtvm_1_1relax_1_1PatternContextNode.html   |     6 +-
 .../doxygen/classtvm_1_1relax_1_1PatternSeq.html   |    34 +-
 .../classtvm_1_1relax_1_1PatternSeqNode.html       |     4 +-
 .../classtvm_1_1relax_1_1PrimArrPattern.html       |    28 +-
 .../classtvm_1_1relax_1_1PrimArrPatternNode.html   |     6 +-
 ...asstvm_1_1relax_1_1SameShapeConstraintNode.html |    14 +-
 .../api/doxygen/classtvm_1_1relax_1_1SeqExpr.html  |     6 +-
 .../doxygen/classtvm_1_1relax_1_1SeqExprNode.html  |    26 +-
 .../doxygen/classtvm_1_1relax_1_1ShapeExpr.html    |     6 +-
 .../classtvm_1_1relax_1_1ShapeExprNode.html        |    10 +-
 .../doxygen/classtvm_1_1relax_1_1ShapePattern.html |    26 +-
 .../classtvm_1_1relax_1_1ShapePatternNode.html     |     6 +-
 .../doxygen/classtvm_1_1relax_1_1ShapeType.html    |     8 +-
 .../classtvm_1_1relax_1_1ShapeTypeNode.html        |    20 +-
 .../doxygen/classtvm_1_1relax_1_1TensorType.html   |     8 +-
 .../classtvm_1_1relax_1_1TensorTypeNode.html       |    26 +-
 .../classtvm_1_1relax_1_1TupleGetItemPattern.html  |    30 +-
 ...asstvm_1_1relax_1_1TupleGetItemPatternNode.html |    10 +-
 .../doxygen/classtvm_1_1relax_1_1TuplePattern.html |    26 +-
 .../classtvm_1_1relax_1_1TuplePatternNode.html     |     6 +-
 ..._07const_01Type_01_6n_00_01Args_8_8_8_08_4.html |   100 +-
 .../doxygen/classtvm_1_1relax_1_1TypeMutator.html  |    44 +-
 .../doxygen/classtvm_1_1relax_1_1TypePattern.html  |    26 +-
 .../classtvm_1_1relax_1_1TypePatternNode.html      |     6 +-
 .../doxygen/classtvm_1_1relax_1_1TypeVisitor.html  |    60 +-
 ...classtvm_1_1relax_1_1UnorderedTuplePattern.html |    26 +-
 ...stvm_1_1relax_1_1UnorderedTuplePatternNode.html |     6 +-
 .../api/doxygen/classtvm_1_1relax_1_1VDevice.html  |     4 +-
 .../doxygen/classtvm_1_1relax_1_1VDeviceNode.html  |    10 +-
 .../doxygen/classtvm_1_1relax_1_1VarBinding.html   |    18 +-
 .../classtvm_1_1relax_1_1VarBindingNode.html       |    24 +-
 .../doxygen/classtvm_1_1relax_1_1VarPattern.html   |    26 +-
 .../classtvm_1_1relax_1_1VarPatternNode.html       |    14 +-
 .../classtvm_1_1relax_1_1WildcardPattern.html      |    26 +-
 .../classtvm_1_1relax_1_1WildcardPatternNode.html  |     6 +-
 ...tvm_1_1relax_1_1distributed_1_1DTensorType.html |     4 +-
 ...1_1relax_1_1distributed_1_1DTensorTypeNode.html |    12 +-
 ...stvm_1_1relax_1_1distributed_1_1DeviceMesh.html |     4 +-
 ..._1_1relax_1_1distributed_1_1DeviceMeshNode.html |    10 +-
 ...sstvm_1_1relax_1_1distributed_1_1Placement.html |     4 +-
 ...m_1_1relax_1_1distributed_1_1PlacementNode.html |    10 +-
 ...m_1_1relax_1_1distributed_1_1PlacementSpec.html |    10 +-
 ...1relax_1_1distributed_1_1PlacementSpecNode.html |    12 +-
 ...vm_1_1relax_1_1distributed_1_1ShardingNode.html |    14 +-
 ...1_1relax_1_1transform_1_1FusionPatternNode.html |     4 +-
 ...ax_1_1transform_1_1PatternCheckContextNode.html |     4 +-
 .../doxygen/classtvm_1_1runtime_1_1DRefObj.html    |    30 +-
 .../doxygen/classtvm_1_1runtime_1_1DeviceAPI.html  |   130 +-
 .../classtvm_1_1runtime_1_1DiscoChannel.html       |    24 +-
 .../classtvm_1_1runtime_1_1DiscoWorker.html        |    42 +-
 .../doxygen/classtvm_1_1runtime_1_1Session.html    |    16 +-
 .../doxygen/classtvm_1_1runtime_1_1SessionObj.html |    98 +-
 .../api/doxygen/classtvm_1_1runtime_1_1Tensor.html |   144 +-
 .../api/doxygen/classtvm_1_1runtime_1_1Timer.html  |    22 +-
 .../doxygen/classtvm_1_1runtime_1_1TimerNode.html  |    20 +-
 ...m_1_1runtime_1_1cuda__ipc_1_1CUDAIPCMemory.html |    10 +-
 ..._1runtime_1_1cuda__ipc_1_1CUDAIPCMemoryObj.html |    28 +-
 ...classtvm_1_1runtime_1_1memory_1_1Allocator.html |    64 +-
 ...stvm_1_1runtime_1_1memory_1_1MemoryManager.html |    16 +-
 ...lasstvm_1_1runtime_1_1memory_1_1StorageObj.html |    20 +-
 ...tvm_1_1runtime_1_1vm_1_1Instruction_1_1Arg.html |    28 +-
 .../classtvm_1_1runtime_1_1vm_1_1VMClosure.html    |     4 +-
 .../classtvm_1_1runtime_1_1vm_1_1VMExecutable.html |    58 +-
 ...lasstvm_1_1runtime_1_1vm_1_1VirtualMachine.html |    48 +-
 .../doxygen/classtvm_1_1s__tir_1_1Instruction.html |     8 +-
 .../classtvm_1_1s__tir_1_1InstructionKind.html     |     6 +-
 .../classtvm_1_1s__tir_1_1InstructionKindNode.html |    28 +-
 ...sstvm_1_1s__tir_1_1InstructionKindRegEntry.html |    22 +-
 .../classtvm_1_1s__tir_1_1InstructionNode.html     |    16 +-
 ...stvm_1_1s__tir_1_1LinearCongruentialEngine.html |    42 +-
 .../doxygen/classtvm_1_1s__tir_1_1LoopRVNode.html  |     4 +-
 ...lasstvm_1_1s__tir_1_1MatchBufferRegionNode.html |     8 +-
 .../doxygen/classtvm_1_1s__tir_1_1SBlockNode.html  |    36 +-
 .../classtvm_1_1s__tir_1_1SBlockRVNode.html        |     4 +-
 .../classtvm_1_1s__tir_1_1SBlockRealize.html       |     2 +-
 .../classtvm_1_1s__tir_1_1SBlockRealizeNode.html   |    14 +-
 .../doxygen/classtvm_1_1s__tir_1_1Schedule.html    |    20 +-
 .../classtvm_1_1s__tir_1_1ScheduleNode.html        |   640 +-
 .../classtvm_1_1s__tir_1_1ScheduleState.html       |     8 +-
 .../classtvm_1_1s__tir_1_1ScheduleStateNode.html   |    66 +-
 .../classtvm_1_1s__tir_1_1StmtExprMutator.html     |   188 +-
 .../classtvm_1_1s__tir_1_1StmtExprVisitor.html     |   178 +-
 .../doxygen/classtvm_1_1s__tir_1_1StmtFunctor.html |     2 +-
 ...t_01tirx_1_1Stmt_01_6_00_01Args_8_8_8_08_4.html |    36 +-
 .../classtvm_1_1s__tir_1_1TensorIntrin.html        |    16 +-
 .../classtvm_1_1s__tir_1_1TensorIntrinNode.html    |     4 +-
 .../api/doxygen/classtvm_1_1s__tir_1_1Trace.html   |     8 +-
 .../doxygen/classtvm_1_1s__tir_1_1TraceNode.html   |    54 +-
 ...tvm_1_1s__tir_1_1meta__schedule_1_1ArgInfo.html |    22 +-
 ...1_1s__tir_1_1meta__schedule_1_1ArgInfoNode.html |     8 +-
 ...tvm_1_1s__tir_1_1meta__schedule_1_1Builder.html |     4 +-
 ..._tir_1_1meta__schedule_1_1BuilderInputNode.html |     4 +-
 ...1_1s__tir_1_1meta__schedule_1_1BuilderNode.html |    18 +-
 ...tir_1_1meta__schedule_1_1BuilderResultNode.html |     4 +-
 ...m_1_1s__tir_1_1meta__schedule_1_1CostModel.html |     4 +-
 ...1s__tir_1_1meta__schedule_1_1CostModelNode.html |    38 +-
 ...vm_1_1s__tir_1_1meta__schedule_1_1Database.html |    44 +-
 ..._1s__tir_1_1meta__schedule_1_1DatabaseNode.html |    82 +-
 ...1s__tir_1_1meta__schedule_1_1ExtractedTask.html |     4 +-
 ...tir_1_1meta__schedule_1_1ExtractedTaskNode.html |    12 +-
 ..._tir_1_1meta__schedule_1_1FeatureExtractor.html |    18 +-
 ..._1_1meta__schedule_1_1FeatureExtractorNode.html |    16 +-
 ...__tir_1_1meta__schedule_1_1MeasureCallback.html |    20 +-
 ...r_1_1meta__schedule_1_1MeasureCallbackNode.html |    26 +-
 ..._1_1meta__schedule_1_1MeasureCandidateNode.html |     4 +-
 ...tvm_1_1s__tir_1_1meta__schedule_1_1Mutator.html |    54 +-
 ...1_1s__tir_1_1meta__schedule_1_1MutatorNode.html |    28 +-
 ...vm_1_1s__tir_1_1meta__schedule_1_1Postproc.html |    86 +-
 ..._1s__tir_1_1meta__schedule_1_1PostprocNode.html |    28 +-
 ...vm_1_1s__tir_1_1meta__schedule_1_1Profiler.html |    16 +-
 ..._1s__tir_1_1meta__schedule_1_1ProfilerNode.html |    16 +-
 ...1s__tir_1_1meta__schedule_1_1PyBuilderNode.html |    14 +-
 ...__tir_1_1meta__schedule_1_1PyCostModelNode.html |    50 +-
 ...s__tir_1_1meta__schedule_1_1PyDatabaseNode.html |   108 +-
 ..._1meta__schedule_1_1PyFeatureExtractorNode.html |    18 +-
 ...1_1meta__schedule_1_1PyMeasureCallbackNode.html |    28 +-
 ...1s__tir_1_1meta__schedule_1_1PyMutatorNode.html |    34 +-
 ...s__tir_1_1meta__schedule_1_1PyPostprocNode.html |    36 +-
 ..._1s__tir_1_1meta__schedule_1_1PyRunnerNode.html |    14 +-
 ...ir_1_1meta__schedule_1_1PyScheduleRuleNode.html |    36 +-
 ..._1_1meta__schedule_1_1PySearchStrategyNode.html |    68 +-
 ..._1_1meta__schedule_1_1PySpaceGeneratorNode.html |    34 +-
 ...r_1_1meta__schedule_1_1PyTaskSchedulerNode.html |    48 +-
 ...stvm_1_1s__tir_1_1meta__schedule_1_1Runner.html |     8 +-
 ..._1s__tir_1_1meta__schedule_1_1RunnerFuture.html |     8 +-
 ..._tir_1_1meta__schedule_1_1RunnerFutureNode.html |    18 +-
 ...__tir_1_1meta__schedule_1_1RunnerInputNode.html |     4 +-
 ..._1_1s__tir_1_1meta__schedule_1_1RunnerNode.html |    20 +-
 ..._tir_1_1meta__schedule_1_1RunnerResultNode.html |     4 +-
 ..._1s__tir_1_1meta__schedule_1_1ScheduleRule.html |   154 +-
 ..._tir_1_1meta__schedule_1_1ScheduleRuleNode.html |    30 +-
 ...1_1s__tir_1_1meta__schedule_1_1ScopedTimer.html |     4 +-
 ...s__tir_1_1meta__schedule_1_1SearchStrategy.html |    58 +-
 ...ir_1_1meta__schedule_1_1SearchStrategyNode.html |    48 +-
 ...s__tir_1_1meta__schedule_1_1SpaceGenerator.html |    32 +-
 ...ir_1_1meta__schedule_1_1SpaceGeneratorNode.html |    28 +-
 ..._1_1s__tir_1_1meta__schedule_1_1TaskRecord.html |     4 +-
 ...s__tir_1_1meta__schedule_1_1TaskRecordNode.html |    32 +-
 ...1s__tir_1_1meta__schedule_1_1TaskScheduler.html |    16 +-
 ...tir_1_1meta__schedule_1_1TaskSchedulerNode.html |    52 +-
 ..._1_1s__tir_1_1meta__schedule_1_1TensorInfo.html |    18 +-
 ...s__tir_1_1meta__schedule_1_1TensorInfoNode.html |    12 +-
 ...1_1s__tir_1_1meta__schedule_1_1TuneContext.html |     8 +-
 ...__tir_1_1meta__schedule_1_1TuneContextNode.html |    22 +-
 ..._1s__tir_1_1meta__schedule_1_1TuningRecord.html |     8 +-
 ..._tir_1_1meta__schedule_1_1TuningRecordNode.html |    12 +-
 ...vm_1_1s__tir_1_1meta__schedule_1_1Workload.html |    10 +-
 ..._1s__tir_1_1meta__schedule_1_1WorkloadNode.html |    10 +-
 ...stvm_1_1script_1_1ir__builder_1_1IRBuilder.html |    52 +-
 ...1_1script_1_1ir__builder_1_1IRBuilderFrame.html |    26 +-
 ...1ir__builder_1_1IRBuilderFrameNode-members.html |     4 +-
 ...cript_1_1ir__builder_1_1IRBuilderFrameNode.html |   109 +-
 ..._builder_1_1IRBuilderFrameNode__coll__graph.svg |   129 +-
 ...ilder_1_1IRBuilderFrameNode__inherit__graph.svg |  1120 +-
 ...__builder_1_1IRBuilderFrame__inherit__graph.svg |   204 +-
 ...pt_1_1ir__builder_1_1IRBuilderNode-members.html |     7 +-
 ..._1_1script_1_1ir__builder_1_1IRBuilderNode.html |   154 +-
 ..._1ir__builder_1_1IRBuilderNode__coll__graph.svg |    92 +-
 ...r__builder_1_1IRBuilderNode__inherit__graph.svg |    92 +-
 ...1script_1_1ir__builder_1_1details_1_1Namer.html |    18 +-
 ..._1_1details_1_1SourceSpanAccessor-members.html} |    20 +-
 ..._builder_1_1details_1_1SourceSpanAccessor.html} |    42 +-
 ...1details_1_1SourceSpanAccessor__coll__graph.svg |    28 +
 ...ript_1_1ir__builder_1_1ir_1_1IRModuleFrame.html |     6 +-
 ...builder_1_1ir_1_1IRModuleFrameNode-members.html |     4 +-
 ..._1_1ir__builder_1_1ir_1_1IRModuleFrameNode.html |    34 +-
 ...der_1_1ir_1_1IRModuleFrameNode__coll__graph.svg |   133 +-
 ..._1_1ir_1_1IRModuleFrameNode__inherit__graph.svg |    52 +-
 ...1ir__builder_1_1relax_1_1BindingBlockFrame.html |     8 +-
 ..._1_1relax_1_1BindingBlockFrameNode-members.html |    21 +-
 ..._builder_1_1relax_1_1BindingBlockFrameNode.html |    61 +-
 ...relax_1_1BindingBlockFrameNode__coll__graph.svg |   211 +-
 ...ax_1_1BindingBlockFrameNode__inherit__graph.svg |   146 +-
 ...cript_1_1ir__builder_1_1relax_1_1ElseFrame.html |     8 +-
 ..._builder_1_1relax_1_1ElseFrameNode-members.html |     6 +-
 ...t_1_1ir__builder_1_1relax_1_1ElseFrameNode.html |    40 +-
 ...lder_1_1relax_1_1ElseFrameNode__coll__graph.svg |   205 +-
 ...r_1_1relax_1_1ElseFrameNode__inherit__graph.svg |    52 +-
 ...t_1_1ir__builder_1_1relax_1_1FunctionFrame.html |     8 +-
 ...lder_1_1relax_1_1FunctionFrameNode-members.html |    20 +-
 ...1ir__builder_1_1relax_1_1FunctionFrameNode.html |   157 +-
 ..._1_1relax_1_1FunctionFrameNode__coll__graph.svg |   319 +-
 ...1relax_1_1FunctionFrameNode__inherit__graph.svg |   190 +-
 ...1script_1_1ir__builder_1_1relax_1_1IfFrame.html |     8 +-
 ...r__builder_1_1relax_1_1IfFrameNode-members.html |     4 +-
 ...ipt_1_1ir__builder_1_1relax_1_1IfFrameNode.html |    34 +-
 ...uilder_1_1relax_1_1IfFrameNode__coll__graph.svg |   241 +-
 ...der_1_1relax_1_1IfFrameNode__inherit__graph.svg |    52 +-
 ...ript_1_1ir__builder_1_1relax_1_1RelaxFrame.html |     8 +-
 ...builder_1_1relax_1_1RelaxFrameNode-members.html |     4 +-
 ..._1_1ir__builder_1_1relax_1_1RelaxFrameNode.html |    28 +-
 ...der_1_1relax_1_1RelaxFrameNode__coll__graph.svg |   133 +-
 ..._1_1relax_1_1RelaxFrameNode__inherit__graph.svg |   372 +-
 ...pt_1_1ir__builder_1_1relax_1_1SeqExprFrame.html |     8 +-
 ...ilder_1_1relax_1_1SeqExprFrameNode-members.html |     6 +-
 ..._1ir__builder_1_1relax_1_1SeqExprFrameNode.html |    34 +-
 ...r_1_1relax_1_1SeqExprFrameNode__coll__graph.svg |   161 +-
 ..._1relax_1_1SeqExprFrameNode__inherit__graph.svg |   262 +-
 ...cript_1_1ir__builder_1_1relax_1_1ThenFrame.html |     8 +-
 ..._builder_1_1relax_1_1ThenFrameNode-members.html |     6 +-
 ...t_1_1ir__builder_1_1relax_1_1ThenFrameNode.html |    36 +-
 ...lder_1_1relax_1_1ThenFrameNode__coll__graph.svg |   205 +-
 ...r_1_1relax_1_1ThenFrameNode__inherit__graph.svg |    52 +-
 ...uilder_1_1tirx_1_1AllocBufferFrame-members.html |    98 -
 ...1_1ir__builder_1_1tirx_1_1AllocBufferFrame.html |   199 -
 ...er_1_1tirx_1_1AllocBufferFrameNode-members.html |   100 -
 ...r__builder_1_1tirx_1_1AllocBufferFrameNode.html |   267 -
 ..._1tirx_1_1AllocBufferFrameNode__coll__graph.svg |   262 -
 ...irx_1_1AllocBufferFrameNode__inherit__graph.svg |   128 -
 ...er_1_1tirx_1_1AllocBufferFrame__coll__graph.svg |   118 -
 ...1_1tirx_1_1AllocBufferFrame__inherit__graph.svg |   118 -
 ...ript_1_1ir__builder_1_1tirx_1_1AssertFrame.html |     8 +-
 ...builder_1_1tirx_1_1AssertFrameNode-members.html |     6 +-
 ..._1_1ir__builder_1_1tirx_1_1AssertFrameNode.html |    32 +-
 ...der_1_1tirx_1_1AssertFrameNode__coll__graph.svg |   439 +-
 ..._1_1tirx_1_1AssertFrameNode__inherit__graph.svg |    52 +-
 ...script_1_1ir__builder_1_1tirx_1_1AttrFrame.html |     8 +-
 ...__builder_1_1tirx_1_1AttrFrameNode-members.html |     6 +-
 ...pt_1_1ir__builder_1_1tirx_1_1AttrFrameNode.html |    36 +-
 ...ilder_1_1tirx_1_1AttrFrameNode__coll__graph.svg |   251 +-
 ...er_1_1tirx_1_1AttrFrameNode__inherit__graph.svg |    52 +-
 ...t_1_1ir__builder_1_1tirx_1_1BlockInitFrame.html |     8 +-
 ...lder_1_1tirx_1_1BlockInitFrameNode-members.html |     4 +-
 ...1ir__builder_1_1tirx_1_1BlockInitFrameNode.html |    34 +-
 ..._1_1tirx_1_1BlockInitFrameNode__coll__graph.svg |   165 +-
 ...1tirx_1_1BlockInitFrameNode__inherit__graph.svg |    52 +-
 ..._1_1ir__builder_1_1tirx_1_1DeclBufferFrame.html |     8 +-
 ...der_1_1tirx_1_1DeclBufferFrameNode-members.html |     4 +-
 ...ir__builder_1_1tirx_1_1DeclBufferFrameNode.html |    36 +-
 ...1_1tirx_1_1DeclBufferFrameNode__coll__graph.svg |   383 +-
 ...tirx_1_1DeclBufferFrameNode__inherit__graph.svg |    52 +-
 ...script_1_1ir__builder_1_1tirx_1_1ElseFrame.html |     8 +-
 ...__builder_1_1tirx_1_1ElseFrameNode-members.html |     4 +-
 ...pt_1_1ir__builder_1_1tirx_1_1ElseFrameNode.html |    34 +-
 ...ilder_1_1tirx_1_1ElseFrameNode__coll__graph.svg |   165 +-
 ...er_1_1tirx_1_1ElseFrameNode__inherit__graph.svg |    52 +-
 ...1script_1_1ir__builder_1_1tirx_1_1ForFrame.html |     8 +-
 ...r__builder_1_1tirx_1_1ForFrameNode-members.html |    21 +-
 ...ipt_1_1ir__builder_1_1tirx_1_1ForFrameNode.html |    76 +-
 ...uilder_1_1tirx_1_1ForFrameNode__coll__graph.svg |   211 +-
 ...der_1_1tirx_1_1ForFrameNode__inherit__graph.svg |   146 +-
 ...script_1_1ir__builder_1_1tirx_1_1HintFrame.html |     8 +-
 ...__builder_1_1tirx_1_1HintFrameNode-members.html |     6 +-
 ...pt_1_1ir__builder_1_1tirx_1_1HintFrameNode.html |    32 +-
 ...ilder_1_1tirx_1_1HintFrameNode__coll__graph.svg |   165 +-
 ...er_1_1tirx_1_1HintFrameNode__inherit__graph.svg |    52 +-
 ..._1script_1_1ir__builder_1_1tirx_1_1IfFrame.html |     8 +-
 ...ir__builder_1_1tirx_1_1IfFrameNode-members.html |     4 +-
 ...ript_1_1ir__builder_1_1tirx_1_1IfFrameNode.html |    32 +-
 ...builder_1_1tirx_1_1IfFrameNode__coll__graph.svg |   353 +-
 ...lder_1_1tirx_1_1IfFrameNode__inherit__graph.svg |    52 +-
 ..._1ir__builder_1_1tirx_1_1LaunchThreadFrame.html |     8 +-
 ...r_1_1tirx_1_1LaunchThreadFrameNode-members.html |     6 +-
 ...__builder_1_1tirx_1_1LaunchThreadFrameNode.html |    32 +-
 ...1tirx_1_1LaunchThreadFrameNode__coll__graph.svg |   443 +-
 ...rx_1_1LaunchThreadFrameNode__inherit__graph.svg |    52 +-
 ...pt_1_1ir__builder_1_1tirx_1_1PrimFuncFrame.html |     8 +-
 ...ilder_1_1tirx_1_1PrimFuncFrameNode-members.html |    14 +-
 ..._1ir__builder_1_1tirx_1_1PrimFuncFrameNode.html |   121 +-
 ...r_1_1tirx_1_1PrimFuncFrameNode__coll__graph.svg |   203 +-
 ..._1tirx_1_1PrimFuncFrameNode__inherit__graph.svg |   150 +-
 ...ript_1_1ir__builder_1_1tirx_1_1SBlockFrame.html |     8 +-
 ...builder_1_1tirx_1_1SBlockFrameNode-members.html |    18 +-
 ..._1_1ir__builder_1_1tirx_1_1SBlockFrameNode.html |    40 +-
 ...der_1_1tirx_1_1SBlockFrameNode__coll__graph.svg |   165 +-
 ..._1_1tirx_1_1SBlockFrameNode__inherit__graph.svg |    52 +-
 ...1script_1_1ir__builder_1_1tirx_1_1TIRFrame.html |    10 +-
 ...r__builder_1_1tirx_1_1TIRFrameNode-members.html |     4 +-
 ...ipt_1_1ir__builder_1_1tirx_1_1TIRFrameNode.html |    28 +-
 ...uilder_1_1tirx_1_1TIRFrameNode__coll__graph.svg |   133 +-
 ...der_1_1tirx_1_1TIRFrameNode__inherit__graph.svg |   778 +-
 ...builder_1_1tirx_1_1TIRFrame__inherit__graph.svg |   258 +-
 ...script_1_1ir__builder_1_1tirx_1_1ThenFrame.html |     8 +-
 ...__builder_1_1tirx_1_1ThenFrameNode-members.html |     4 +-
 ...pt_1_1ir__builder_1_1tirx_1_1ThenFrameNode.html |    34 +-
 ...ilder_1_1tirx_1_1ThenFrameNode__coll__graph.svg |   165 +-
 ...er_1_1tirx_1_1ThenFrameNode__inherit__graph.svg |    52 +-
 ...cript_1_1ir__builder_1_1tirx_1_1WhileFrame.html |     8 +-
 ..._builder_1_1tirx_1_1WhileFrameNode-members.html |     4 +-
 ...t_1_1ir__builder_1_1tirx_1_1WhileFrameNode.html |    32 +-
 ...lder_1_1tirx_1_1WhileFrameNode__coll__graph.svg |   345 +-
 ...r_1_1tirx_1_1WhileFrameNode__inherit__graph.svg |    52 +-
 ...classtvm_1_1script_1_1printer_1_1AssertDoc.html |     4 +-
 ...stvm_1_1script_1_1printer_1_1AssertDocNode.html |    12 +-
 ...classtvm_1_1script_1_1printer_1_1AssignDoc.html |     4 +-
 ...stvm_1_1script_1_1printer_1_1AssignDocNode.html |    12 +-
 ...stvm_1_1script_1_1printer_1_1AttrAccessDoc.html |     6 +-
 ..._1_1script_1_1printer_1_1AttrAccessDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1BreakDoc.html |     4 +-
 ...sstvm_1_1script_1_1printer_1_1BreakDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1CallDoc.html  |     6 +-
 ...asstvm_1_1script_1_1printer_1_1CallDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1ClassDoc.html |     4 +-
 ...sstvm_1_1script_1_1printer_1_1ClassDocNode.html |    12 +-
 ...lasstvm_1_1script_1_1printer_1_1CommentDoc.html |     4 +-
 ...tvm_1_1script_1_1printer_1_1CommentDocNode.html |    12 +-
 ...asstvm_1_1script_1_1printer_1_1ContinueDoc.html |     4 +-
 ...vm_1_1script_1_1printer_1_1ContinueDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1DictDoc.html  |     6 +-
 ...asstvm_1_1script_1_1printer_1_1DictDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1Doc.html      |     2 +-
 .../classtvm_1_1script_1_1printer_1_1DocNode.html  |    12 +-
 ...sstvm_1_1script_1_1printer_1_1DocStringDoc.html |     6 +-
 ...m_1_1script_1_1printer_1_1DocStringDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1ExprDoc.html  |     6 +-
 ...asstvm_1_1script_1_1printer_1_1ExprDocNode.html |    24 +-
 ...asstvm_1_1script_1_1printer_1_1ExprStmtDoc.html |     4 +-
 ...vm_1_1script_1_1printer_1_1ExprStmtDocNode.html |    12 +-
 ...stvm_1_1script_1_1printer_1_1ExprStringDoc.html |    10 +-
 ..._1_1script_1_1printer_1_1ExprStringDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1ForDoc.html   |     4 +-
 ...lasstvm_1_1script_1_1printer_1_1ForDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1Frame.html    |    14 +-
 ...classtvm_1_1script_1_1printer_1_1FrameNode.html |    42 +-
 ...asstvm_1_1script_1_1printer_1_1FunctionDoc.html |     4 +-
 ...vm_1_1script_1_1printer_1_1FunctionDocNode.html |    12 +-
 ...asstvm_1_1script_1_1printer_1_1IRDocsifier.html |    12 +-
 ...1_1script_1_1printer_1_1IRDocsifierFunctor.html |    68 +-
 ...vm_1_1script_1_1printer_1_1IRDocsifierNode.html |    80 +-
 .../classtvm_1_1script_1_1printer_1_1IdDoc.html    |     6 +-
 ...classtvm_1_1script_1_1printer_1_1IdDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1IfDoc.html    |     4 +-
 ...classtvm_1_1script_1_1printer_1_1IfDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1IndexDoc.html |     6 +-
 ...sstvm_1_1script_1_1printer_1_1IndexDocNode.html |    20 +-
 ...classtvm_1_1script_1_1printer_1_1LambdaDoc.html |     6 +-
 ...stvm_1_1script_1_1printer_1_1LambdaDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1ListDoc.html  |     6 +-
 ...asstvm_1_1script_1_1printer_1_1ListDocNode.html |    20 +-
 ...lasstvm_1_1script_1_1printer_1_1LiteralDoc.html |    70 +-
 ...tvm_1_1script_1_1printer_1_1LiteralDocNode.html |    20 +-
 ...classtvm_1_1script_1_1printer_1_1OpCallDoc.html |     4 +-
 ...stvm_1_1script_1_1printer_1_1OpCallDocNode.html |    12 +-
 ...sstvm_1_1script_1_1printer_1_1OperationDoc.html |     6 +-
 ...m_1_1script_1_1printer_1_1OperationDocNode.html |    22 +-
 ...classtvm_1_1script_1_1printer_1_1ReturnDoc.html |     4 +-
 ...stvm_1_1script_1_1printer_1_1ReturnDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1ScopeDoc.html |     4 +-
 ...sstvm_1_1script_1_1printer_1_1ScopeDocNode.html |    12 +-
 .../classtvm_1_1script_1_1printer_1_1SliceDoc.html |     2 +-
 ...sstvm_1_1script_1_1printer_1_1SliceDocNode.html |    10 +-
 ...sstvm_1_1script_1_1printer_1_1StmtBlockDoc.html |     2 +-
 ...m_1_1script_1_1printer_1_1StmtBlockDocNode.html |    10 +-
 .../classtvm_1_1script_1_1printer_1_1StmtDoc.html  |     4 +-
 ...asstvm_1_1script_1_1printer_1_1StmtDocNode.html |    10 +-
 .../classtvm_1_1script_1_1printer_1_1TupleDoc.html |     6 +-
 ...sstvm_1_1script_1_1printer_1_1TupleDocNode.html |    20 +-
 .../classtvm_1_1script_1_1printer_1_1WhileDoc.html |     4 +-
 ...sstvm_1_1script_1_1printer_1_1WhileDocNode.html |    12 +-
 .../classtvm_1_1support_1_1NVTXScopedRange.html    |    20 +-
 .../api/doxygen/classtvm_1_1support_1_1Stream.html |    64 +-
 .../api/doxygen/classtvm_1_1sym_1_1Analyzer.html   |     2 +-
 .../doxygen/classtvm_1_1sym_1_1AnalyzerObj.html    |    90 +-
 .../classtvm_1_1sym_1_1CanonicalSimplifier.html    |    24 +-
 .../doxygen/classtvm_1_1sym_1_1ConstIntBound.html  |    14 +-
 .../classtvm_1_1sym_1_1ConstIntBoundAnalyzer.html  |    50 +-
 .../classtvm_1_1sym_1_1ConstIntBoundNode.html      |    24 +-
 .../classtvm_1_1sym_1_1ConstraintContext.html      |    14 +-
 .../api/doxygen/classtvm_1_1sym_1_1IntSet.html     |    86 +-
 .../doxygen/classtvm_1_1sym_1_1IntSetAnalyzer.html |    44 +-
 .../doxygen/classtvm_1_1sym_1_1IterMapExpr.html    |    22 +-
 .../classtvm_1_1sym_1_1IterMapExprNode.html        |    10 +-
 .../doxygen/classtvm_1_1sym_1_1IterMapResult.html  |     2 +-
 .../classtvm_1_1sym_1_1IterMapResultNode.html      |     4 +-
 .../doxygen/classtvm_1_1sym_1_1IterMarkNode.html   |     8 +-
 .../doxygen/classtvm_1_1sym_1_1IterSplitExpr.html  |    20 +-
 .../classtvm_1_1sym_1_1IterSplitExprNode.html      |    16 +-
 .../doxygen/classtvm_1_1sym_1_1IterSumExpr.html    |    20 +-
 .../classtvm_1_1sym_1_1IterSumExprNode.html        |    16 +-
 .../api/doxygen/classtvm_1_1sym_1_1ModularSet.html |     6 +-
 .../classtvm_1_1sym_1_1ModularSetAnalyzer.html     |    24 +-
 .../doxygen/classtvm_1_1sym_1_1ModularSetNode.html |    16 +-
 .../classtvm_1_1sym_1_1RewriteSimplifier.html      |    58 +-
 ...tvm_1_1sym_1_1TransitiveComparisonAnalyzer.html |    48 +-
 .../api/doxygen/classtvm_1_1sym_1_1Z3Prover.html   |    82 +-
 .../classtvm_1_1te_1_1BaseComputeOpNode.html       |    18 +-
 .../doxygen/classtvm_1_1te_1_1CommReducerNode.html |    10 +-
 .../api/doxygen/classtvm_1_1te_1_1ComputeOp.html   |     8 +-
 .../doxygen/classtvm_1_1te_1_1ComputeOpNode.html   |    22 +-
 .../api/doxygen/classtvm_1_1te_1_1ExternOp.html    |     8 +-
 .../doxygen/classtvm_1_1te_1_1ExternOpNode.html    |    22 +-
 .../api/doxygen/classtvm_1_1te_1_1Operation.html   |    14 +-
 .../doxygen/classtvm_1_1te_1_1OperationNode.html   |    28 +-
 .../doxygen/classtvm_1_1te_1_1PlaceholderOp.html   |     8 +-
 .../classtvm_1_1te_1_1PlaceholderOpNode.html       |    22 +-
 .../api/doxygen/classtvm_1_1te_1_1Reduce.html      |    26 +-
 .../api/doxygen/classtvm_1_1te_1_1ReduceNode.html  |    18 +-
 .../api/doxygen/classtvm_1_1te_1_1ScanOp.html      |    10 +-
 .../api/doxygen/classtvm_1_1te_1_1ScanOpNode.html  |    22 +-
 .../api/doxygen/classtvm_1_1te_1_1Tensor.html      |    44 +-
 .../api/doxygen/classtvm_1_1te_1_1TensorNode.html  |    28 +-
 .../doxygen/classtvm_1_1te_1_1Tensor_1_1Slice.html |     8 +-
 .../doxygen/classtvm_1_1tirx_1_1AllocBuffer.html   |     4 +-
 .../classtvm_1_1tirx_1_1AllocBufferNode.html       |    14 +-
 .../classtvm_1_1tirx_1_1AssertStmtNode.html        |    14 +-
 .../doxygen/classtvm_1_1tirx_1_1AttrStmtNode.html  |    14 +-
 .../api/doxygen/classtvm_1_1tirx_1_1Axis.html      |    30 +-
 .../doxygen/classtvm_1_1tirx_1_1AxisAttrMap.html   |    22 +-
 .../api/doxygen/classtvm_1_1tirx_1_1AxisNode.html  |    44 +-
 .../doxygen/classtvm_1_1tirx_1_1AxisRegEntry.html  |    54 +-
 .../api/doxygen/classtvm_1_1tirx_1_1BindNode.html  |    14 +-
 .../api/doxygen/classtvm_1_1tirx_1_1BreakNode.html |    14 +-
 ...asstvm_1_1tirx_1_1BufferAxisGraphExtractor.html |   164 +-
 .../classtvm_1_1tirx_1_1BufferAxisHash.html        |     6 +-
 .../classtvm_1_1tirx_1_1BufferRegionType.html      |     4 +-
 .../classtvm_1_1tirx_1_1BufferRegionTypeNode.html  |    12 +-
 .../classtvm_1_1tirx_1_1BufferStoreNode.html       |    18 +-
 .../doxygen/classtvm_1_1tirx_1_1BufferType.html    |    12 +-
 .../classtvm_1_1tirx_1_1BufferTypeNode.html        |    34 +-
 .../api/doxygen/classtvm_1_1tirx_1_1BufferVar.html |    92 +-
 .../doxygen/classtvm_1_1tirx_1_1ComposeLayout.html |    12 +-
 .../classtvm_1_1tirx_1_1ComposeLayoutNode.html     |   110 +-
 .../doxygen/classtvm_1_1tirx_1_1ContinueNode.html  |    14 +-
 .../classtvm_1_1tirx_1_1DeclBufferNode.html        |    14 +-
 .../classtvm_1_1tirx_1_1DependencyNode.html        |     4 +-
 .../classtvm_1_1tirx_1_1DispatchContext.html       |     6 +-
 .../classtvm_1_1tirx_1_1DispatchContextNode.html   |    28 +-
 .../api/doxygen/classtvm_1_1tirx_1_1Evaluate.html  |     4 +-
 .../doxygen/classtvm_1_1tirx_1_1EvaluateNode.html  |    14 +-
 .../api/doxygen/classtvm_1_1tirx_1_1ExecScope.html |     4 +-
 .../doxygen/classtvm_1_1tirx_1_1ExecScopeNode.html |    10 +-
 .../doxygen/classtvm_1_1tirx_1_1ExprFunctor.html   |     2 +-
 ...R_07const_01Expr_01_6_00_01Args_8_8_8_08_4.html |   404 +-
 .../api/doxygen/classtvm_1_1tirx_1_1ForNode.html   |    18 +-
 .../classtvm_1_1tirx_1_1IfThenElseNode.html        |    14 +-
 .../api/doxygen/classtvm_1_1tirx_1_1IndexMap.html  |    24 +-
 .../doxygen/classtvm_1_1tirx_1_1IndexMapNode.html  |    46 +-
 .../api/doxygen/classtvm_1_1tirx_1_1IterNode.html  |     8 +-
 .../api/doxygen/classtvm_1_1tirx_1_1IterVar.html   |     2 +-
 .../doxygen/classtvm_1_1tirx_1_1IterVarNode.html   |    12 +-
 .../classtvm_1_1tirx_1_1LambdaExprNode.html        |    12 +-
 .../doxygen/classtvm_1_1tirx_1_1LayoutNode.html    |   110 +-
 .../api/doxygen/classtvm_1_1tirx_1_1PrimFunc.html  |     6 +-
 .../doxygen/classtvm_1_1tirx_1_1PrimFuncNode.html  |    44 +-
 .../doxygen/classtvm_1_1tirx_1_1ReturnNode.html    |    14 +-
 .../classtvm_1_1tirx_1_1SBijectiveLayout.html      |    16 +-
 .../classtvm_1_1tirx_1_1SBijectiveLayoutNode.html  |     4 +-
 ...asstvm_1_1tirx_1_1SBlockDependenceInfoNode.html |    12 +-
 .../doxygen/classtvm_1_1tirx_1_1SBlockScope.html   |     4 +-
 .../classtvm_1_1tirx_1_1SBlockScopeNode.html       |    12 +-
 .../api/doxygen/classtvm_1_1tirx_1_1SLayout.html   |   108 +-
 .../doxygen/classtvm_1_1tirx_1_1SLayoutAxis.html   |    48 +-
 .../doxygen/classtvm_1_1tirx_1_1SLayoutNode.html   |     4 +-
 .../classtvm_1_1tirx_1_1SRefTreeCreator.html       |   164 +-
 .../doxygen/classtvm_1_1tirx_1_1ScopeIdDef.html    |     6 +-
 .../classtvm_1_1tirx_1_1ScopeIdDefNode.html        |     8 +-
 .../classtvm_1_1tirx_1_1ScopeIdDefStmtNode.html    |    14 +-
 .../classtvm_1_1tirx_1_1ScopeIdDefVerifier.html    |    12 +-
 .../classtvm_1_1tirx_1_1ScopeIdResolve.html        |    22 +-
 .../api/doxygen/classtvm_1_1tirx_1_1SeqStmt.html   |    14 +-
 .../doxygen/classtvm_1_1tirx_1_1SeqStmtNode.html   |    22 +-
 .../classtvm_1_1tirx_1_1SeqStmt_1_1Flattener.html  |    22 +-
 .../classtvm_1_1tirx_1_1StmtExprMutator.html       |   228 +-
 .../classtvm_1_1tirx_1_1StmtExprVisitor.html       |   236 +-
 .../doxygen/classtvm_1_1tirx_1_1StmtFunctor.html   |     2 +-
 ...R_07const_01Stmt_01_6_00_01Args_8_8_8_08_4.html |   198 +-
 .../api/doxygen/classtvm_1_1tirx_1_1StmtNode.html  |    18 +-
 .../api/doxygen/classtvm_1_1tirx_1_1StmtSRef.html  |    14 +-
 .../doxygen/classtvm_1_1tirx_1_1StmtSRefNode.html  |    28 +-
 .../doxygen/classtvm_1_1tirx_1_1TensorMapType.html |     4 +-
 .../classtvm_1_1tirx_1_1TensorMapTypeNode.html     |    12 +-
 .../classtvm_1_1tirx_1_1TileLayoutNode.html        |   110 +-
 .../classtvm_1_1tirx_1_1TilePrimitiveCall.html     |     6 +-
 .../classtvm_1_1tirx_1_1TilePrimitiveCallNode.html |    14 +-
 .../api/doxygen/classtvm_1_1tirx_1_1WhileNode.html |    14 +-
 .../api/doxygen/classtvm_1_1transform_1_1Pass.html |     9 +-
 .../classtvm_1_1transform_1_1PassContext.html      |    72 +-
 .../classtvm_1_1transform_1_1PassContextNode.html  |    40 +-
 .../doxygen/classtvm_1_1transform_1_1PassInfo.html |     6 +-
 .../classtvm_1_1transform_1_1PassInfoNode.html     |    14 +-
 .../doxygen/classtvm_1_1transform_1_1PassNode.html |    16 +-
 .../classtvm_1_1transform_1_1Sequential.html       |    16 +-
 .../classtvm_1_1transform_1_1SequentialNode.html   |    20 +-
 docs/reference/api/doxygen/codegen_8h.html         |    10 +-
 docs/reference/api/doxygen/codegen_8h__incl.svg    |  1213 +-
 docs/reference/api/doxygen/codegen_8h_source.html  |    15 +-
 docs/reference/api/doxygen/config_8h.html          |     2 +-
 docs/reference/api/doxygen/config_8h_source.html   |    23 +-
 .../api/doxygen/config__schema_8h_source.html      |    67 +-
 docs/reference/api/doxygen/constant__utils_8h.html |     2 +-
 .../api/doxygen/constant__utils_8h__incl.svg       |  1785 +--
 .../api/doxygen/constant__utils_8h_source.html     |    40 +-
 docs/reference/api/doxygen/cost__model_8h.html     |     2 +-
 .../reference/api/doxygen/cost__model_8h__incl.svg |  2639 ++---
 .../api/doxygen/cost__model_8h_source.html         |    30 +-
 docs/reference/api/doxygen/create_8h.html          |     2 +-
 docs/reference/api/doxygen/create_8h__incl.svg     |  1502 +--
 docs/reference/api/doxygen/create_8h_source.html   |     5 +-
 docs/reference/api/doxygen/cublas_8h.html          |     6 +-
 docs/reference/api/doxygen/cublas_8h__incl.svg     |  1813 +--
 docs/reference/api/doxygen/cublas_8h_source.html   |    34 +-
 .../api/doxygen/cuda__ipc__memory_8h_source.html   |     3 +-
 docs/reference/api/doxygen/data__layout_8h.html    |     2 +-
 .../api/doxygen/data__layout_8h__incl.svg          |  1617 +--
 .../api/doxygen/data__layout_8h_source.html        |   124 +-
 docs/reference/api/doxygen/database_8h.html        |     2 +-
 docs/reference/api/doxygen/database_8h__incl.svg   |  2663 ++---
 docs/reference/api/doxygen/database_8h_source.html |   115 +-
 .../api/doxygen/dataflow__matcher_8h.html          |    10 +-
 .../api/doxygen/dataflow__matcher_8h__incl.svg     |  1588 +--
 .../api/doxygen/dataflow__matcher_8h_source.html   |    15 +-
 .../api/doxygen/dataflow__pattern_8h.html          |    28 +-
 .../api/doxygen/dataflow__pattern_8h__incl.svg     |  1566 +--
 .../api/doxygen/dataflow__pattern_8h_source.html   |   202 +-
 .../api/doxygen/dataflow__pattern__functor_8h.html |     2 +-
 .../dataflow__pattern__functor_8h__incl.svg        |  1584 +--
 .../dataflow__pattern__functor_8h_source.html      |    71 +-
 docs/reference/api/doxygen/datatype_8h.html        |     2 +-
 docs/reference/api/doxygen/datatype_8h__incl.svg   |  1502 +--
 docs/reference/api/doxygen/datatype_8h_source.html |     9 +-
 docs/reference/api/doxygen/dense_8h.html           |     4 +-
 docs/reference/api/doxygen/dense_8h__incl.svg      |  1765 +--
 docs/reference/api/doxygen/dense_8h_source.html    |    32 +-
 .../api/doxygen/detail_2broadcast_8h.html          |     2 +-
 .../api/doxygen/detail_2broadcast_8h__incl.svg     |  1847 +--
 .../api/doxygen/detail_2broadcast_8h_source.html   |   153 +-
 docs/reference/api/doxygen/device__api_8h.html     |    30 +-
 .../api/doxygen/device__api_8h_source.html         |   128 +-
 docs/reference/api/doxygen/dilate_8h.html          |     4 +-
 docs/reference/api/doxygen/dilate_8h__incl.svg     |  1785 +--
 docs/reference/api/doxygen/dilate_8h_source.html   |    44 +-
 .../api/doxygen/disco__worker_8h_source.html       |     6 +-
 docs/reference/api/doxygen/distributed_8h.html     |     2 +-
 .../reference/api/doxygen/distributed_8h__incl.svg |  1758 +--
 .../api/doxygen/distributed_8h_source.html         |     3 +-
 docs/reference/api/doxygen/doc_8h.html             |     4 +-
 docs/reference/api/doxygen/doc_8h_source.html      |   121 +-
 docs/reference/api/doxygen/einsum_8h.html          |     6 +-
 docs/reference/api/doxygen/einsum_8h__incl.svg     |  1965 ++--
 docs/reference/api/doxygen/einsum_8h_source.html   |     8 +-
 docs/reference/api/doxygen/elemwise_8h.html        |   100 +-
 docs/reference/api/doxygen/elemwise_8h__incl.svg   |  2085 ++--
 docs/reference/api/doxygen/elemwise_8h_source.html |   192 +-
 .../reference/api/doxygen/env__func_8h_source.html |    45 +-
 .../api/doxygen/exec__builder_8h_source.html       |    26 +-
 docs/reference/api/doxygen/exec__context_8h.html   |    14 +-
 .../api/doxygen/exec__context_8h__incl.svg         |  1135 +-
 .../api/doxygen/exec__context_8h_source.html       |    52 +-
 docs/reference/api/doxygen/exec__scope_8h.html     |    12 +-
 .../reference/api/doxygen/exec__scope_8h__incl.svg |   631 +-
 .../api/doxygen/exec__scope_8h_source.html         |    34 +-
 .../api/doxygen/executable_8h_source.html          |    77 +-
 docs/reference/api/doxygen/extern_8h.html          |     2 +-
 docs/reference/api/doxygen/extern_8h__incl.svg     |  1789 +--
 docs/reference/api/doxygen/extern_8h_source.html   |    48 +-
 docs/reference/api/doxygen/extracted__task_8h.html |     2 +-
 .../api/doxygen/extracted__task_8h__incl.svg       |  1163 +-
 .../api/doxygen/extracted__task_8h_source.html     |     4 +-
 .../api/doxygen/feature__extractor_8h.html         |     2 +-
 .../api/doxygen/feature__extractor_8h__incl.svg    |  2377 ++--
 .../api/doxygen/feature__extractor_8h_source.html  |    22 +-
 docs/reference/api/doxygen/flatten_8h.html         |     4 +-
 docs/reference/api/doxygen/flatten_8h__incl.svg    |  1855 ++--
 docs/reference/api/doxygen/flatten_8h_source.html  |    36 +-
 docs/reference/api/doxygen/functions_a.html        |     5 +-
 docs/reference/api/doxygen/functions_b.html        |     5 +-
 docs/reference/api/doxygen/functions_d.html        |     1 +
 docs/reference/api/doxygen/functions_e.html        |     6 +-
 docs/reference/api/doxygen/functions_f.html        |     5 +-
 docs/reference/api/doxygen/functions_func.html     |     5 +-
 docs/reference/api/doxygen/functions_func_e.html   |     2 +-
 docs/reference/api/doxygen/functions_func_g.html   |     6 +-
 docs/reference/api/doxygen/functions_func_i.html   |     5 +-
 docs/reference/api/doxygen/functions_func_r.html   |     2 +-
 docs/reference/api/doxygen/functions_func_s.html   |     6 +-
 docs/reference/api/doxygen/functions_func_t.html   |     4 +-
 docs/reference/api/doxygen/functions_func_v.html   |     4 +-
 docs/reference/api/doxygen/functions_g.html        |    11 +-
 docs/reference/api/doxygen/functions_i.html        |     4 +-
 docs/reference/api/doxygen/functions_k.html        |     4 +-
 docs/reference/api/doxygen/functions_l.html        |     2 +
 docs/reference/api/doxygen/functions_r.html        |     6 +-
 docs/reference/api/doxygen/functions_s.html        |     9 +-
 docs/reference/api/doxygen/functions_t.html        |     8 +-
 docs/reference/api/doxygen/functions_type.html     |     4 +-
 docs/reference/api/doxygen/functions_u.html        |     2 +-
 docs/reference/api/doxygen/functions_v.html        |     4 +-
 docs/reference/api/doxygen/functions_vars_b.html   |     3 +-
 docs/reference/api/doxygen/functions_vars_d.html   |     1 +
 docs/reference/api/doxygen/functions_vars_f.html   |     1 +
 docs/reference/api/doxygen/functions_vars_g.html   |     1 +
 docs/reference/api/doxygen/functions_vars_i.html   |     1 +
 docs/reference/api/doxygen/functions_vars_l.html   |     2 +
 docs/reference/api/doxygen/functions_vars_s.html   |     1 +
 docs/reference/api/doxygen/functions_vars_t.html   |     1 +
 docs/reference/api/doxygen/fuse_8h.html            |     2 +-
 docs/reference/api/doxygen/fuse_8h__incl.svg       |  1753 +--
 docs/reference/api/doxygen/fuse_8h_source.html     |    10 +-
 docs/reference/api/doxygen/group__norm_8h.html     |     4 +-
 .../reference/api/doxygen/group__norm_8h__incl.svg |  1777 +--
 .../api/doxygen/group__norm_8h_source.html         |   145 +-
 docs/reference/api/doxygen/hierarchy.html          |   151 +-
 docs/reference/api/doxygen/image_8h.html           |     2 +-
 docs/reference/api/doxygen/image_8h__incl.svg      |  1502 +--
 docs/reference/api/doxygen/image_8h_source.html    |     9 +-
 docs/reference/api/doxygen/index_8h.html           |     2 +-
 docs/reference/api/doxygen/index_8h__incl.svg      |  1502 +--
 docs/reference/api/doxygen/index_8h_source.html    |     5 +-
 .../api/doxygen/index__map_8h_source.html          |    30 +-
 docs/reference/api/doxygen/inherit_graph_1.svg     |  1627 ++-
 docs/reference/api/doxygen/inherit_graph_10.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_100.svg   |    10 +-
 docs/reference/api/doxygen/inherit_graph_101.svg   |    35 +-
 docs/reference/api/doxygen/inherit_graph_102.svg   |    34 +-
 docs/reference/api/doxygen/inherit_graph_103.svg   |    10 +-
 docs/reference/api/doxygen/inherit_graph_104.svg   |    13 +-
 docs/reference/api/doxygen/inherit_graph_105.svg   |    13 +-
 docs/reference/api/doxygen/inherit_graph_106.svg   |    10 +-
 docs/reference/api/doxygen/inherit_graph_107.svg   |    10 +-
 ...inherit_graph_107.svg => inherit_graph_108.svg} |     0
 docs/reference/api/doxygen/inherit_graph_11.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_17.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_18.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_2.svg     |  2431 ++--
 docs/reference/api/doxygen/inherit_graph_29.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_3.svg     |    16 +-
 docs/reference/api/doxygen/inherit_graph_30.svg    |     8 +-
 docs/reference/api/doxygen/inherit_graph_33.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_38.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_39.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_4.svg     |    24 +-
 docs/reference/api/doxygen/inherit_graph_5.svg     |    12 +-
 docs/reference/api/doxygen/inherit_graph_6.svg     |    32 +-
 docs/reference/api/doxygen/inherit_graph_65.svg    |    15 +-
 docs/reference/api/doxygen/inherit_graph_66.svg    |    15 +-
 docs/reference/api/doxygen/inherit_graph_67.svg    |    12 +-
 docs/reference/api/doxygen/inherit_graph_68.svg    |    12 +-
 docs/reference/api/doxygen/inherit_graph_69.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_70.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_71.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_72.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_73.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_74.svg    |     4 +-
 docs/reference/api/doxygen/inherit_graph_75.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_76.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_77.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_78.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_79.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_8.svg     |     4 +-
 docs/reference/api/doxygen/inherit_graph_80.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_81.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_82.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_83.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_84.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_85.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_86.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_87.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_88.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_89.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_90.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_91.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_92.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_93.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_94.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_95.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_96.svg    |    10 +-
 docs/reference/api/doxygen/inherit_graph_97.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_98.svg    |    13 +-
 docs/reference/api/doxygen/inherit_graph_99.svg    |    13 +-
 docs/reference/api/doxygen/inherits.html           |    75 +-
 docs/reference/api/doxygen/instance__norm_8h.html  |     4 +-
 .../api/doxygen/instance__norm_8h__incl.svg        |  1765 +--
 .../api/doxygen/instance__norm_8h_source.html      |   102 +-
 docs/reference/api/doxygen/instruction_8h.html     |     8 +-
 .../api/doxygen/instruction_8h_source.html         |    14 +-
 .../api/doxygen/instrument_8h_source.html          |     9 +-
 docs/reference/api/doxygen/int__set_8h.html        |    34 +-
 docs/reference/api/doxygen/int__set_8h_source.html |    59 +-
 docs/reference/api/doxygen/io_8h_source.html       |    21 +-
 docs/reference/api/doxygen/ir_2attrs_8h.html       |    12 +-
 .../reference/api/doxygen/ir_2attrs_8h_source.html |   138 +-
 docs/reference/api/doxygen/ir_2expr_8h.html        |    14 +-
 docs/reference/api/doxygen/ir_2expr_8h_source.html |   179 +-
 .../api/doxygen/ir_2expr__functor_8h_source.html   |   318 +-
 docs/reference/api/doxygen/ir_2function_8h.html    |    10 +-
 .../api/doxygen/ir_2function_8h_source.html        |    11 +-
 .../reference/api/doxygen/ir_2global__info_8h.html |     3 +-
 .../api/doxygen/ir_2global__info_8h__incl.svg      |    39 +-
 .../api/doxygen/ir_2global__info_8h_source.html    |    48 +-
 docs/reference/api/doxygen/ir_2op_8h_source.html   |    97 +-
 .../api/doxygen/ir_2op__attr__types_8h.html        |     4 +-
 .../api/doxygen/ir_2op__attr__types_8h_source.html |    24 +-
 .../api/doxygen/ir_2prim_2builtin_8h.html          |    12 +-
 .../api/doxygen/ir_2prim_2builtin_8h_source.html   |    14 +-
 docs/reference/api/doxygen/ir_2prim_2expr_8h.html  |     8 +-
 .../api/doxygen/ir_2prim_2expr_8h_source.html      |   154 +-
 docs/reference/api/doxygen/ir_2prim_2op_8h.html    |   304 +-
 .../api/doxygen/ir_2prim_2op_8h_source.html        |   151 +-
 docs/reference/api/doxygen/ir_2transform_8h.html   |    12 +-
 .../api/doxygen/ir_2transform_8h__incl.svg         |   687 +-
 .../api/doxygen/ir_2transform_8h_source.html       |   118 +-
 docs/reference/api/doxygen/ir_2type_8h.html        |     2 +-
 docs/reference/api/doxygen/ir_2type_8h_source.html |    23 +-
 docs/reference/api/doxygen/ir__docsifier_8h.html   |     2 +-
 .../api/doxygen/ir__docsifier_8h__incl.svg         |   937 +-
 .../api/doxygen/ir__docsifier_8h_source.html       |    92 +-
 .../doxygen/ir__docsifier__functor_8h_source.html  |    99 +-
 .../api/doxygen/iter__affine__map_8h.html          |    12 +-
 .../api/doxygen/iter__affine__map_8h_source.html   |    61 +-
 docs/reference/api/doxygen/layer__norm_8h.html     |     4 +-
 .../reference/api/doxygen/layer__norm_8h__incl.svg |  2777 ++---
 .../api/doxygen/layer__norm_8h_source.html         |   132 +-
 docs/reference/api/doxygen/layout_8h.html          |    12 +-
 docs/reference/api/doxygen/layout_8h__incl.svg     |  1057 +-
 docs/reference/api/doxygen/layout_8h_source.html   |   214 +-
 docs/reference/api/doxygen/linear__algebra_8h.html |     2 +-
 .../api/doxygen/linear__algebra_8h__incl.svg       |  1502 +--
 .../api/doxygen/linear__algebra_8h_source.html     |     5 +-
 .../api/doxygen/local__response__norm_8h.html      |     4 +-
 .../api/doxygen/local__response__norm_8h__incl.svg |  1765 +--
 .../doxygen/local__response__norm_8h_source.html   |    60 +-
 docs/reference/api/doxygen/manipulate_8h.html      |     2 +-
 docs/reference/api/doxygen/manipulate_8h__incl.svg |  1526 +--
 .../api/doxygen/manipulate_8h_source.html          |    51 +-
 docs/reference/api/doxygen/mapping_8h.html         |     6 +-
 docs/reference/api/doxygen/mapping_8h__incl.svg    |  1765 +--
 docs/reference/api/doxygen/mapping_8h_source.html  |    14 +-
 .../api/doxygen/measure__callback_8h.html          |     2 +-
 .../api/doxygen/measure__callback_8h__incl.svg     |  3429 +++---
 .../api/doxygen/measure__callback_8h_source.html   |    38 +-
 .../api/doxygen/measure__candidate_8h.html         |     2 +-
 .../api/doxygen/measure__candidate_8h__incl.svg    |  2483 ++---
 .../api/doxygen/measure__candidate_8h_source.html  |     6 +-
 .../api/doxygen/memory__manager_8h_source.html     |    29 +-
 docs/reference/api/doxygen/menudata.js             |     3 +-
 docs/reference/api/doxygen/module_8h.html          |    10 +-
 docs/reference/api/doxygen/module_8h__incl.svg     |   549 +-
 docs/reference/api/doxygen/module_8h_source.html   |    59 +-
 docs/reference/api/doxygen/mutator_8h.html         |     2 +-
 docs/reference/api/doxygen/mutator_8h__incl.svg    |  2417 ++--
 docs/reference/api/doxygen/mutator_8h_source.html  |    36 +-
 docs/reference/api/doxygen/namespacemembers.html   |     3 +-
 docs/reference/api/doxygen/namespacemembers_b.html |     2 +-
 docs/reference/api/doxygen/namespacemembers_d.html |     8 +-
 docs/reference/api/doxygen/namespacemembers_e.html |     6 +-
 .../api/doxygen/namespacemembers_func.html         |     3 +-
 .../api/doxygen/namespacemembers_func_b.html       |     2 +-
 .../api/doxygen/namespacemembers_func_d.html       |     4 +-
 .../api/doxygen/namespacemembers_func_e.html       |     8 +-
 .../api/doxygen/namespacemembers_func_l.html       |     6 +-
 .../api/doxygen/namespacemembers_func_m.html       |     2 +-
 .../api/doxygen/namespacemembers_func_r.html       |     3 +-
 .../api/doxygen/namespacemembers_func_s.html       |     2 +-
 docs/reference/api/doxygen/namespacemembers_l.html |     6 +-
 docs/reference/api/doxygen/namespacemembers_m.html |     2 +-
 docs/reference/api/doxygen/namespacemembers_r.html |     3 +-
 docs/reference/api/doxygen/namespacemembers_s.html |     2 +-
 docs/reference/api/doxygen/namespaces.html         |    67 +-
 docs/reference/api/doxygen/namespacetvm.html       |  1043 +-
 .../api/doxygen/namespacetvm_1_1attr.html          |    36 +-
 .../api/doxygen/namespacetvm_1_1codegen.html       |    28 +-
 .../reference/api/doxygen/namespacetvm_1_1ffi.html |    44 +-
 .../api/doxygen/namespacetvm_1_1prim.html          |   234 +-
 .../doxygen/namespacetvm_1_1prim_1_1builtin.html   |    24 +-
 .../api/doxygen/namespacetvm_1_1relax.html         |   625 +-
 .../api/doxygen/namespacetvm_1_1relax_1_1attr.html |    28 +-
 ...1_1relax_1_1backend_1_1adreno_1_1transform.html |    20 +-
 .../namespacetvm_1_1relax_1_1distributed.html      |     2 +-
 ...cetvm_1_1relax_1_1distributed_1_1transform.html |    20 +-
 .../namespacetvm_1_1relax_1_1transform.html        |   110 +-
 .../api/doxygen/namespacetvm_1_1runtime.html       |   158 +-
 .../doxygen/namespacetvm_1_1runtime_1_1memory.html |     2 +-
 .../doxygen/namespacetvm_1_1runtime_1_1symbol.html |     8 +-
 .../api/doxygen/namespacetvm_1_1runtime_1_1vm.html |    20 +-
 .../api/doxygen/namespacetvm_1_1s__tir.html        |   130 +-
 .../doxygen/namespacetvm_1_1s__tir_1_1attr.html    |   168 +-
 .../namespacetvm_1_1s__tir_1_1meta__schedule.html  |    28 +-
 .../namespacetvm_1_1s__tir_1_1transform.html       |    54 +-
 .../namespacetvm_1_1script_1_1ir__builder.html     |    65 +-
 ...acetvm_1_1script_1_1ir__builder_1_1details.html |     3 +
 ...amespacetvm_1_1script_1_1ir__builder_1_1ir.html |    14 +-
 ...spacetvm_1_1script_1_1ir__builder_1_1relax.html |   286 +-
 ...espacetvm_1_1script_1_1ir__builder_1_1tirx.html |   220 +-
 ...m_1_1script_1_1ir__builder_1_1tirx_1_1axis.html |    10 +-
 .../doxygen/namespacetvm_1_1script_1_1printer.html |     8 +-
 .../reference/api/doxygen/namespacetvm_1_1sym.html |   198 +-
 docs/reference/api/doxygen/namespacetvm_1_1te.html |   460 +-
 .../api/doxygen/namespacetvm_1_1tirx.html          |   484 +-
 .../api/doxygen/namespacetvm_1_1tirx_1_1attr.html  |   126 +-
 .../doxygen/namespacetvm_1_1tirx_1_1builtin.html   |   338 +-
 .../doxygen/namespacetvm_1_1tirx_1_1callback.html  |    20 +-
 .../doxygen/namespacetvm_1_1tirx_1_1transform.html |    56 +-
 .../api/doxygen/namespacetvm_1_1topi.html          |  2002 ++--
 .../doxygen/namespacetvm_1_1topi_1_1contrib.html   |    20 +-
 .../api/doxygen/namespacetvm_1_1topi_1_1nn.html    |   336 +-
 .../api/doxygen/namespacetvm_1_1topi_1_1relax.html |    10 +-
 .../doxygen/namespacetvm_1_1topi_1_1vision.html    |     6 +-
 .../api/doxygen/namespacetvm_1_1transform.html     |    24 +-
 docs/reference/api/doxygen/nested__msg_8h.html     |    50 +-
 .../reference/api/doxygen/nested__msg_8h__incl.svg |  1526 +--
 .../api/doxygen/nested__msg_8h_source.html         |   303 +-
 docs/reference/api/doxygen/nvtx_8h_source.html     |    13 +-
 .../api/doxygen/object__functor_8h_source.html     |   160 +-
 docs/reference/api/doxygen/operation_8h.html       |    20 +-
 docs/reference/api/doxygen/operation_8h__incl.svg  |  1743 +--
 .../reference/api/doxygen/operation_8h_source.html |   128 +-
 docs/reference/api/doxygen/pad__utils_8h.html      |     2 +-
 docs/reference/api/doxygen/pad__utils_8h__incl.svg |  1773 +--
 .../api/doxygen/pad__utils_8h_source.html          |    14 +-
 docs/reference/api/doxygen/pattern_8h.html         |     4 +-
 docs/reference/api/doxygen/pattern_8h_source.html  |     5 +-
 docs/reference/api/doxygen/pooling_8h.html         |    34 +-
 docs/reference/api/doxygen/pooling_8h__incl.svg    |  2919 ++---
 docs/reference/api/doxygen/pooling_8h_source.html  |   668 +-
 docs/reference/api/doxygen/postproc_8h.html        |     2 +-
 docs/reference/api/doxygen/postproc_8h__incl.svg   |  2401 ++--
 docs/reference/api/doxygen/postproc_8h_source.html |    50 +-
 docs/reference/api/doxygen/printer_8h.html         |     2 +-
 docs/reference/api/doxygen/printer_8h_source.html  |     7 +-
 docs/reference/api/doxygen/profiler_8h.html        |     2 +-
 docs/reference/api/doxygen/profiler_8h__incl.svg   |  1249 +--
 docs/reference/api/doxygen/profiler_8h_source.html |     8 +-
 docs/reference/api/doxygen/qdq_8h.html             |     2 +-
 docs/reference/api/doxygen/qdq_8h__incl.svg        |  1502 +--
 docs/reference/api/doxygen/qdq_8h_source.html      |     5 +-
 .../api/doxygen/random__engine_8h_source.html      |    25 +-
 docs/reference/api/doxygen/ravel__unravel_8h.html  |     2 +-
 .../api/doxygen/ravel__unravel_8h__incl.svg        |  1729 +--
 .../api/doxygen/ravel__unravel_8h_source.html      |    24 +-
 docs/reference/api/doxygen/reduction_8h.html       |    46 +-
 docs/reference/api/doxygen/reduction_8h__incl.svg  |  2739 ++---
 .../reference/api/doxygen/reduction_8h_source.html |   390 +-
 docs/reference/api/doxygen/relax_2analysis_8h.html |    88 +-
 .../api/doxygen/relax_2analysis_8h__incl.svg       |  2070 ++--
 .../api/doxygen/relax_2analysis_8h_source.html     |   105 +-
 .../reference/api/doxygen/relax_2attrs_2nn_8h.html |     2 +-
 .../api/doxygen/relax_2attrs_2nn_8h__incl.svg      |  1500 +--
 .../api/doxygen/relax_2attrs_2nn_8h_source.html    |    53 +-
 .../reference/api/doxygen/relax_2attrs_2op_8h.html |     2 +-
 .../api/doxygen/relax_2attrs_2op_8h__incl.svg      |  1504 +--
 .../api/doxygen/relax_2attrs_2op_8h_source.html    |    19 +-
 .../relax_2backend_2adreno_2transform_8h.html      |    12 +-
 .../relax_2backend_2adreno_2transform_8h__incl.svg |  1746 +--
 ...elax_2backend_2adreno_2transform_8h_source.html |     5 +-
 .../relax_2distributed_2global__info_8h.html       |     2 +-
 .../relax_2distributed_2global__info_8h__incl.svg  |   571 +-
 ...relax_2distributed_2global__info_8h_source.html |    11 +-
 .../doxygen/relax_2distributed_2transform_8h.html  |    12 +-
 .../relax_2distributed_2transform_8h__incl.svg     |  2062 ++--
 .../relax_2distributed_2transform_8h_source.html   |     9 +-
 .../api/doxygen/relax_2distributed_2type_8h.html   |     2 +-
 .../doxygen/relax_2distributed_2type_8h__incl.svg  |  1188 +-
 .../relax_2distributed_2type_8h_source.html        |    33 +-
 docs/reference/api/doxygen/relax_2expr_8h.html     |    20 +-
 .../reference/api/doxygen/relax_2expr_8h__incl.svg |  1492 +--
 .../api/doxygen/relax_2expr_8h_source.html         |    93 +-
 .../api/doxygen/relax_2expr__functor_8h.html       |     2 +-
 .../api/doxygen/relax_2expr__functor_8h__incl.svg  |  1744 +--
 .../doxygen/relax_2expr__functor_8h_source.html    |   223 +-
 .../api/doxygen/relax_2global__info_8h.html        |     7 +-
 .../api/doxygen/relax_2global__info_8h__incl.svg   |   724 +-
 .../api/doxygen/relax_2global__info_8h_source.html |   138 +-
 .../api/doxygen/relax_2op__attr__types_8h.html     |    16 +-
 .../doxygen/relax_2op__attr__types_8h__incl.svg    |  1708 +--
 .../doxygen/relax_2op__attr__types_8h_source.html  |    13 +-
 .../doxygen/relax_2script_2builder_2frame_8h.html  |     2 +-
 .../relax_2script_2builder_2frame_8h__incl.svg     |  1742 +--
 .../relax_2script_2builder_2frame_8h_source.html   |   475 +-
 .../api/doxygen/relax_2script_2builder_2ir_8h.html |    40 +-
 .../relax_2script_2builder_2ir_8h__incl.svg        |  1764 +--
 .../relax_2script_2builder_2ir_8h_source.html      |   103 +-
 .../reference/api/doxygen/relax_2transform_8h.html |    48 +-
 .../api/doxygen/relax_2transform_8h__incl.svg      |  2032 ++--
 .../api/doxygen/relax_2transform_8h_source.html    |   119 +-
 docs/reference/api/doxygen/relax_2type_8h.html     |    26 +-
 .../reference/api/doxygen/relax_2type_8h__incl.svg |   868 +-
 .../api/doxygen/relax_2type_8h_source.html         |    68 +-
 docs/reference/api/doxygen/relax_2utils_8h.html    |    18 +-
 .../api/doxygen/relax_2utils_8h__incl.svg          |  1820 +--
 .../api/doxygen/relax_2utils_8h_source.html        |    21 +-
 docs/reference/api/doxygen/reorg_8h.html           |     4 +-
 docs/reference/api/doxygen/reorg_8h__incl.svg      |  2801 ++---
 docs/reference/api/doxygen/reorg_8h_source.html    |    36 +-
 docs/reference/api/doxygen/rms__norm_8h.html       |     4 +-
 docs/reference/api/doxygen/rms__norm_8h__incl.svg  |  2777 ++---
 .../reference/api/doxygen/rms__norm_8h_source.html |    69 +-
 docs/reference/api/doxygen/runner_8h.html          |     2 +-
 docs/reference/api/doxygen/runner_8h__incl.svg     |  1807 +--
 docs/reference/api/doxygen/runner_8h_source.html   |    36 +-
 .../api/doxygen/runtime_2disco_2builtin_8h.html    |    26 +-
 .../doxygen/runtime_2disco_2builtin_8h_source.html |    21 +-
 docs/reference/api/doxygen/runtime_2tensor_8h.html |     4 +-
 .../api/doxygen/runtime_2tensor_8h_source.html     |   197 +-
 .../reference/api/doxygen/s__tir_2analysis_8h.html |    38 +-
 .../api/doxygen/s__tir_2analysis_8h__incl.svg      |  2049 ++--
 .../api/doxygen/s__tir_2analysis_8h_source.html    |    46 +-
 .../s__tir_2backend_2adreno_2transform_8h.html     |     2 +-
 ...s__tir_2backend_2adreno_2transform_8h__incl.svg |  1969 ++--
 ..._tir_2backend_2adreno_2transform_8h_source.html |     6 +-
 docs/reference/api/doxygen/s__tir_2stmt_8h.html    |    86 +-
 .../api/doxygen/s__tir_2stmt_8h__incl.svg          |  1387 +--
 .../api/doxygen/s__tir_2stmt_8h_source.html        |    18 +-
 .../api/doxygen/s__tir_2stmt__functor_8h.html      |     2 +-
 .../api/doxygen/s__tir_2stmt__functor_8h__incl.svg |  2057 ++--
 .../doxygen/s__tir_2stmt__functor_8h_source.html   |    48 +-
 .../api/doxygen/s__tir_2transform_8h.html          |    12 +-
 .../api/doxygen/s__tir_2transform_8h__incl.svg     |  1937 ++--
 .../api/doxygen/s__tir_2transform_8h_source.html   |    86 +-
 docs/reference/api/doxygen/s__tir_2utils_8h.html   |     6 +-
 .../api/doxygen/s__tir_2utils_8h__incl.svg         |  2287 ++--
 .../api/doxygen/s__tir_2utils_8h_source.html       |    31 +-
 docs/reference/api/doxygen/sampling_8h.html        |     2 +-
 docs/reference/api/doxygen/sampling_8h__incl.svg   |  1502 +--
 docs/reference/api/doxygen/sampling_8h_source.html |     7 +-
 .../api/doxygen/sblock__dependence__info_8h.html   |     2 +-
 .../doxygen/sblock__dependence__info_8h__incl.svg  |  2277 ++--
 .../sblock__dependence__info_8h_source.html        |    18 +-
 docs/reference/api/doxygen/sblock__scope_8h.html   |     2 +-
 .../api/doxygen/sblock__scope_8h__incl.svg         |  2257 ++--
 .../api/doxygen/sblock__scope_8h_source.html       |    56 +-
 docs/reference/api/doxygen/schedule_8h.html        |     6 +-
 docs/reference/api/doxygen/schedule_8h__incl.svg   |  2375 ++--
 docs/reference/api/doxygen/schedule_8h_source.html |   201 +-
 docs/reference/api/doxygen/schedule__rule_8h.html  |     2 +-
 .../api/doxygen/schedule__rule_8h__incl.svg        |  2417 ++--
 .../api/doxygen/schedule__rule_8h_source.html      |   124 +-
 .../api/doxygen/scope__stack_8h_source.html        |    17 +-
 .../api/doxygen/script_2ir__builder_2base_8h.html  |    19 +-
 .../script_2ir__builder_2base_8h_source.html       |   369 +-
 .../doxygen/script_2ir__builder_2ir_2frame_8h.html |     2 +-
 .../script_2ir__builder_2ir_2frame_8h__incl.svg    |   717 +-
 .../script_2ir__builder_2ir_2frame_8h_source.html  |    13 +-
 .../doxygen/script_2ir__builder_2ir_2ir_8h.html    |     6 +-
 .../script_2ir__builder_2ir_2ir_8h__incl.svg       |   735 +-
 .../script_2ir__builder_2ir_2ir_8h_source.html     |     5 +-
 docs/reference/api/doxygen/search/all_11.js        |     2 +-
 docs/reference/api/doxygen/search/all_13.js        |   143 +-
 docs/reference/api/doxygen/search/all_14.js        |   410 +-
 docs/reference/api/doxygen/search/all_15.js        |    75 +-
 docs/reference/api/doxygen/search/all_16.js        |     2 +-
 docs/reference/api/doxygen/search/all_17.js        |    12 +-
 docs/reference/api/doxygen/search/all_2.js         |   295 +-
 docs/reference/api/doxygen/search/all_3.js         |   201 +-
 docs/reference/api/doxygen/search/all_5.js         |   335 +-
 docs/reference/api/doxygen/search/all_6.js         |   254 +-
 docs/reference/api/doxygen/search/all_7.js         |    68 +-
 docs/reference/api/doxygen/search/all_8.js         |    63 +-
 docs/reference/api/doxygen/search/all_a.js         |   207 +-
 docs/reference/api/doxygen/search/all_c.js         |     2 +-
 docs/reference/api/doxygen/search/all_d.js         |    98 +-
 docs/reference/api/doxygen/search/all_e.js         |     6 +-
 docs/reference/api/doxygen/search/all_f.js         |     2 +-
 docs/reference/api/doxygen/search/classes_0.js     |   106 +-
 docs/reference/api/doxygen/search/classes_10.js    |    65 +-
 docs/reference/api/doxygen/search/functions_0.js   |    82 +-
 docs/reference/api/doxygen/search/functions_1.js   |     2 +-
 docs/reference/api/doxygen/search/functions_11.js  |    75 +-
 docs/reference/api/doxygen/search/functions_12.js  |   202 +-
 docs/reference/api/doxygen/search/functions_13.js  |     6 +-
 docs/reference/api/doxygen/search/functions_15.js  |     6 +-
 docs/reference/api/doxygen/search/functions_3.js   |    32 +-
 docs/reference/api/doxygen/search/functions_4.js   |   132 +-
 docs/reference/api/doxygen/search/functions_6.js   |     4 +-
 docs/reference/api/doxygen/search/functions_8.js   |   187 +-
 docs/reference/api/doxygen/search/functions_b.js   |    80 +-
 docs/reference/api/doxygen/search/functions_c.js   |     4 +-
 docs/reference/api/doxygen/search/functions_d.js   |     2 +-
 docs/reference/api/doxygen/search/typedefs_6.js    |     8 +-
 docs/reference/api/doxygen/search/variables_12.js  |    73 +-
 docs/reference/api/doxygen/search/variables_13.js  |     5 +-
 docs/reference/api/doxygen/search/variables_2.js   |    41 +-
 docs/reference/api/doxygen/search/variables_4.js   |    85 +-
 docs/reference/api/doxygen/search/variables_6.js   |     5 +-
 docs/reference/api/doxygen/search/variables_7.js   |     7 +-
 docs/reference/api/doxygen/search/variables_9.js   |    15 +-
 docs/reference/api/doxygen/search/variables_b.js   |    16 +-
 docs/reference/api/doxygen/search_8h.html          |     2 +-
 docs/reference/api/doxygen/search_8h__incl.svg     |  1502 +--
 docs/reference/api/doxygen/search_8h_source.html   |     5 +-
 .../reference/api/doxygen/search__strategy_8h.html |     2 +-
 .../api/doxygen/search__strategy_8h__incl.svg      |  2847 ++---
 .../api/doxygen/search__strategy_8h_source.html    |    68 +-
 .../api/doxygen/serializer_8h_source.html          |   138 +-
 docs/reference/api/doxygen/session_8h.html         |     4 +-
 docs/reference/api/doxygen/session_8h_source.html  |    51 +-
 docs/reference/api/doxygen/softmax_8h.html         |     6 +-
 docs/reference/api/doxygen/softmax_8h__incl.svg    |  2781 ++---
 docs/reference/api/doxygen/softmax_8h_source.html  |   106 +-
 docs/reference/api/doxygen/sorting_8h.html         |     2 +-
 docs/reference/api/doxygen/sorting_8h__incl.svg    |  1526 +--
 docs/reference/api/doxygen/sorting_8h_source.html  |     7 +-
 .../api/doxygen/source__map_8h_source.html         |    37 +-
 .../reference/api/doxygen/space__generator_8h.html |     2 +-
 .../api/doxygen/space__generator_8h__incl.svg      |  2783 ++---
 .../api/doxygen/space__generator_8h_source.html    |    30 +-
 docs/reference/api/doxygen/state_8h.html           |     2 +-
 docs/reference/api/doxygen/state_8h__incl.svg      |  2321 ++--
 docs/reference/api/doxygen/state_8h_source.html    |    36 +-
 docs/reference/api/doxygen/statistical_8h.html     |     2 +-
 .../reference/api/doxygen/statistical_8h__incl.svg |  1502 +--
 .../api/doxygen/statistical_8h_source.html         |     5 +-
 docs/reference/api/doxygen/strided__slice_8h.html  |     2 +-
 .../api/doxygen/strided__slice_8h__incl.svg        |  1821 +--
 .../api/doxygen/strided__slice_8h_source.html      |   140 +-
 ...ructtvm_1_1ffi_1_1TypeTraits_3_01Expr_01_4.html |     8 +-
 ...tvm_1_1ffi_1_1TypeTraits_3_01FloatImm_01_4.html |     6 +-
 ...cttvm_1_1ffi_1_1TypeTraits_3_01IntImm_01_4.html |     6 +-
 ...tvm_1_1ffi_1_1TypeTraits_3_01PrimExpr_01_4.html |    32 +-
 ...tvm_1_1ffi_1_1TypeTraits_3_01PrimType_01_4.html |     6 +-
 ...ttvm_1_1ffi_1_1TypeTraits_3_01PrimVar_01_4.html |    16 +-
 ...s_3_01TypedExpr_3_01ExpectedType_01_4_01_4.html |    22 +-
 ...i_1_1TypeTraits_3_01tirx_1_1BufferVar_01_4.html |    16 +-
 ...fi_1_1TypeTraits_3_01tvm_1_1StringImm_01_4.html |     4 +-
 ..._1_1ffi_1_1TypedExprWithFallbackTraitsBase.html |    22 +-
 ...tvm_1_1ir_1_1ConfigSchema_1_1AttrValidator.html |     2 +-
 ...cttvm_1_1ir_1_1ConfigSchema_1_1OptionEntry.html |     8 +-
 .../structtvm_1_1prim_1_1ExprDeepEqual.html        |    10 +-
 .../api/doxygen/structtvm_1_1prim_1_1LENode.html   |    16 +-
 .../structtvm_1_1relax_1_1AdaptivePool1DAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1AdaptivePool2DAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1AdaptivePool3DAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1AffineGridAttrs.html     |    10 +-
 ...elax_1_1AllClassNonMaximumSuppressionAttrs.html |     6 +-
 .../structtvm_1_1relax_1_1AllGatherAttrs.html      |    14 +-
 .../structtvm_1_1relax_1_1AllReduceAttrs.html      |    10 +-
 .../structtvm_1_1relax_1_1ArgmaxArgminAttrs.html   |    14 +-
 .../structtvm_1_1relax_1_1ArgsortAttrs.html        |    18 +-
 .../doxygen/structtvm_1_1relax_1_1AstypeAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1AttentionAttrs.html      |     6 +-
 .../structtvm_1_1relax_1_1BatchNormAttrs.html      |    30 +-
 ...eOperatorSpecificNormalizationForTVMScript.html |     2 +-
 .../structtvm_1_1relax_1_1BucketizeAttrs.html      |    14 +-
 ...ructtvm_1_1relax_1_1CallInplacePackedAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1CallTIRInplaceAttrs.html |    10 +-
 ...structtvm_1_1relax_1_1CallTIRWithGradAttrs.html |    10 +-
 .../doxygen/structtvm_1_1relax_1_1ConcatAttrs.html |    10 +-
 .../doxygen/structtvm_1_1relax_1_1Conv1DAttrs.html |    26 +-
 ...structtvm_1_1relax_1_1Conv1DTransposeAttrs.html |    30 +-
 .../doxygen/structtvm_1_1relax_1_1Conv2DAttrs.html |    26 +-
 ...structtvm_1_1relax_1_1Conv2DTransposeAttrs.html |    30 +-
 .../doxygen/structtvm_1_1relax_1_1Conv3DAttrs.html |    26 +-
 ...structtvm_1_1relax_1_1Conv3DTransposeAttrs.html |    30 +-
 .../structtvm_1_1relax_1_1DistributionAttrs.html   |     6 +-
 .../structtvm_1_1relax_1_1DropoutAttrs.html        |    10 +-
 .../doxygen/structtvm_1_1relax_1_1EinsumAttrs.html |     6 +-
 .../structtvm_1_1relax_1_1ExpandDimsAttrs.html     |    10 +-
 .../doxygen/structtvm_1_1relax_1_1FlipAttrs.html   |    10 +-
 .../structtvm_1_1relax_1_1GatherElementsAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1GatherNDAttrs.html       |    10 +-
 .../structtvm_1_1relax_1_1GetValidCountsAttrs.html |    18 +-
 .../structtvm_1_1relax_1_1GridSampleAttrs.html     |    10 +-
 .../structtvm_1_1relax_1_1GroupNormAttrs.html      |    30 +-
 .../structtvm_1_1relax_1_1HintOnDeviceAttrs.html   |    14 +-
 .../structtvm_1_1relax_1_1IndexPutAttrs.html       |    10 +-
 .../doxygen/structtvm_1_1relax_1_1InitAttrs.html   |    10 +-
 .../structtvm_1_1relax_1_1InstanceNormAttrs.html   |    26 +-
 .../structtvm_1_1relax_1_1LayerNormAttrs.html      |    22 +-
 ...structtvm_1_1relax_1_1LayoutTransformAttrs.html |     6 +-
 .../structtvm_1_1relax_1_1LeakyReluAttrs.html      |    10 +-
 .../doxygen/structtvm_1_1relax_1_1MatmulAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1MeshgridAttrs.html       |     6 +-
 ...ttvm_1_1relax_1_1MultiboxTransformLocAttrs.html |    26 +-
 ...vm_1_1relax_1_1MultinomialFromUniformAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1NLLLossAttrs.html        |    10 +-
 ...tvm_1_1relax_1_1NonMaximumSuppressionAttrs.html |    50 +-
 .../doxygen/structtvm_1_1relax_1_1OneHotAttrs.html |    14 +-
 .../doxygen/structtvm_1_1relax_1_1PReluAttrs.html  |    10 +-
 .../doxygen/structtvm_1_1relax_1_1PadAttrs.html    |    14 +-
 .../doxygen/structtvm_1_1relax_1_1PairCons.html    |    20 +-
 .../structtvm_1_1relax_1_1PermuteDimsAttrs.html    |    10 +-
 .../structtvm_1_1relax_1_1PixelShuffleAttrs.html   |    10 +-
 .../doxygen/structtvm_1_1relax_1_1Pool1DAttrs.html |    30 +-
 .../doxygen/structtvm_1_1relax_1_1Pool2DAttrs.html |    30 +-
 .../doxygen/structtvm_1_1relax_1_1Pool3DAttrs.html |    30 +-
 .../structtvm_1_1relax_1_1QuantizeAttrs.html       |    14 +-
 .../structtvm_1_1relax_1_1RMSNormAttrs.html        |    14 +-
 .../structtvm_1_1relax_1_1ROIAlignAttrs.html       |    22 +-
 .../structtvm_1_1relax_1_1ROIPoolAttrs.html        |    14 +-
 .../doxygen/structtvm_1_1relax_1_1RepeatAttrs.html |    14 +-
 .../structtvm_1_1relax_1_1Resize2DAttrs.html       |    22 +-
 .../structtvm_1_1relax_1_1Resize3DAttrs.html       |    22 +-
 ...structtvm_1_1relax_1_1ReverseSequenceAttrs.html |    14 +-
 .../doxygen/structtvm_1_1relax_1_1ScanopAttrs.html |    18 +-
 ...ructtvm_1_1relax_1_1ScatterCollectiveAttrs.html |    14 +-
 ...structtvm_1_1relax_1_1ScatterElementsAttrs.html |    10 +-
 .../structtvm_1_1relax_1_1ScatterNDAttrs.html      |     6 +-
 .../structtvm_1_1relax_1_1SliceScatterAttrs.html   |    10 +-
 .../structtvm_1_1relax_1_1SoftmaxAttrs.html        |    10 +-
 .../structtvm_1_1relax_1_1SoftplusAttrs.html       |    14 +-
 .../doxygen/structtvm_1_1relax_1_1SortAttrs.html   |    14 +-
 .../doxygen/structtvm_1_1relax_1_1SplitAttrs.html  |    10 +-
 .../structtvm_1_1relax_1_1SqueezeAttrs.html        |    10 +-
 .../doxygen/structtvm_1_1relax_1_1StackAttrs.html  |    10 +-
 .../structtvm_1_1relax_1_1StatisticalAttrs.html    |    14 +-
 .../structtvm_1_1relax_1_1StridedSliceAttrs.html   |    10 +-
 .../doxygen/structtvm_1_1relax_1_1TakeAttrs.html   |    10 +-
 .../doxygen/structtvm_1_1relax_1_1TileAttrs.html   |    10 +-
 .../structtvm_1_1relax_1_1ToVDeviceAttrs.html      |     6 +-
 .../doxygen/structtvm_1_1relax_1_1TopKAttrs.html   |    22 +-
 .../doxygen/structtvm_1_1relax_1_1TriluAttrs.html  |    10 +-
 .../structtvm_1_1relax_1_1WrapParamAttrs.html      |    10 +-
 ...cttvm_1_1runtime_1_1ThreadLocalDiscoWorker.html |     4 +-
 .../structtvm_1_1runtime_1_1memory_1_1Buffer.html  |     8 +-
 .../structtvm_1_1runtime_1_1vm_1_1Instruction.html |    56 +-
 ...vm_1_1runtime_1_1vm_1_1TensorCacheMetadata.html |    14 +-
 ...1_1vm_1_1TensorCacheMetadata_1_1FileRecord.html |    10 +-
 ...CacheMetadata_1_1FileRecord_1_1ParamRecord.html |    18 +-
 .../structtvm_1_1runtime_1_1vm_1_1VMFuncInfo.html  |    10 +-
 .../doxygen/structtvm_1_1s__tir_1_1SBlockInfo.html |    28 +-
 ...1s__tir_1_1meta__schedule_1_1WorkloadEqual.html |    12 +-
 ..._1s__tir_1_1meta__schedule_1_1WorkloadHash.html |     6 +-
 .../structtvm_1_1support_1_1Serializer.html        |     8 +-
 ...1support_1_1Serializer_3_01DLDataType_01_4.html |    16 +-
 ...1_1support_1_1Serializer_3_01DLDevice_01_4.html |    16 +-
 ...erializer_3_01ffi_1_1Array_3_01T_01_4_01_4.html |    22 +-
 ...upport_1_1Serializer_3_01ffi_1_1Bytes_01_4.html |    14 +-
 ...izer_3_01ffi_1_1Map_3_01K_00_01V_01_4_01_4.html |    22 +-
 ...pport_1_1Serializer_3_01ffi_1_1String_01_4.html |    14 +-
 .../api/doxygen/structtvm_1_1te_1_1TensorDom.html  |     4 +-
 .../doxygen/structtvm_1_1tirx_1_1ActiveSet.html    |    24 +-
 .../doxygen/structtvm_1_1tirx_1_1AxisRange.html    |    16 +-
 .../structtvm_1_1tirx_1_1CallFFIKernelAttr.html    |     6 +-
 .../doxygen/structtvm_1_1tirx_1_1ExecContext.html  |    54 +-
 ...ucttvm_1_1tirx_1_1TensorMapEncodeTiledAttr.html |    34 +-
 .../structtvm_1_1topi_1_1EinsumEquation.html       |    18 +-
 docs/reference/api/doxygen/tag_8h_source.html      |    23 +-
 docs/reference/api/doxygen/tags_8h.html            |    32 +-
 docs/reference/api/doxygen/target_8h.html          |     2 +-
 docs/reference/api/doxygen/target_8h_source.html   |    36 +-
 docs/reference/api/doxygen/target__kind_8h.html    |     2 +-
 .../api/doxygen/target__kind_8h_source.html        |    71 +-
 docs/reference/api/doxygen/task__scheduler_8h.html |     2 +-
 .../api/doxygen/task__scheduler_8h__incl.svg       |  3547 +++---
 .../api/doxygen/task__scheduler_8h_source.html     |    83 +-
 docs/reference/api/doxygen/te_2tensor_8h.html      |   144 +-
 docs/reference/api/doxygen/te_2tensor_8h__incl.svg |  1639 +--
 .../api/doxygen/te_2tensor_8h_source.html          |    73 +-
 .../doxygen/tensor__cache__support_8h_source.html  |    24 +-
 docs/reference/api/doxygen/tensor__intrin_8h.html  |     2 +-
 .../api/doxygen/tensor__intrin_8h__incl.svg        |  1481 +--
 .../api/doxygen/tensor__intrin_8h_source.html      |    10 +-
 docs/reference/api/doxygen/tensor__utils_8h.html   |     2 +-
 .../api/doxygen/tensor__utils_8h__incl.svg         |  1729 +--
 .../api/doxygen/tensor__utils_8h_source.html       |   120 +-
 docs/reference/api/doxygen/thread__bind_8h.html    |     8 +-
 .../api/doxygen/thread__bind_8h__incl.svg          |  2415 ++--
 .../api/doxygen/thread__bind_8h_source.html        |    16 +-
 docs/reference/api/doxygen/tile__primitive_8h.html |    72 +-
 .../api/doxygen/tile__primitive_8h__incl.svg       |  1425 +--
 .../api/doxygen/tile__primitive_8h_source.html     |    93 +-
 docs/reference/api/doxygen/timer_8h.html           |     2 +-
 docs/reference/api/doxygen/timer_8h_source.html    |    14 +-
 docs/reference/api/doxygen/tir__pattern_8h.html    |     6 +-
 .../api/doxygen/tir__pattern_8h__incl.svg          |  1485 +--
 .../api/doxygen/tir__pattern_8h_source.html        |     7 +-
 docs/reference/api/doxygen/tirx_2analysis_8h.html  |    32 +-
 .../api/doxygen/tirx_2analysis_8h__incl.svg        |  2065 ++--
 .../api/doxygen/tirx_2analysis_8h_source.html      |    46 +-
 .../api/doxygen/tirx_2attrs_8h_source.html         |    16 +-
 docs/reference/api/doxygen/tirx_2builtin_8h.html   |   162 +-
 .../api/doxygen/tirx_2builtin_8h_source.html       |   164 +-
 docs/reference/api/doxygen/tirx_2expr_8h.html      |    14 +-
 docs/reference/api/doxygen/tirx_2expr_8h__incl.svg |  1089 +-
 .../api/doxygen/tirx_2expr_8h_source.html          |    75 +-
 .../api/doxygen/tirx_2expr__functor_8h_source.html |    10 +-
 docs/reference/api/doxygen/tirx_2function_8h.html  |    24 +-
 .../api/doxygen/tirx_2function_8h__incl.svg        |  1471 +--
 .../api/doxygen/tirx_2function_8h_source.html      |    36 +-
 docs/reference/api/doxygen/tirx_2op_8h.html        |   102 +-
 docs/reference/api/doxygen/tirx_2op_8h__incl.svg   |  1551 +--
 docs/reference/api/doxygen/tirx_2op_8h_source.html |    84 +-
 .../api/doxygen/tirx_2op__attr__types_8h.html      |    16 +-
 .../doxygen/tirx_2op__attr__types_8h_source.html   |     8 +-
 .../doxygen/tirx_2script_2builder_2frame_8h.html   |     6 +-
 .../tirx_2script_2builder_2frame_8h__incl.svg      |  1537 +--
 .../tirx_2script_2builder_2frame_8h_source.html    |  1226 +-
 .../api/doxygen/tirx_2script_2builder_2ir_8h.html  |    93 +-
 .../doxygen/tirx_2script_2builder_2ir_8h__incl.svg |  2203 ++--
 .../tirx_2script_2builder_2ir_8h_source.html       |   512 +-
 docs/reference/api/doxygen/tirx_2stmt_8h.html      |    48 +-
 docs/reference/api/doxygen/tirx_2stmt_8h__incl.svg |  1379 +--
 .../api/doxygen/tirx_2stmt_8h_source.html          |   140 +-
 .../api/doxygen/tirx_2stmt__functor_8h.html        |     8 +-
 .../api/doxygen/tirx_2stmt__functor_8h__incl.svg   |  1683 +--
 .../api/doxygen/tirx_2stmt__functor_8h_source.html |   184 +-
 docs/reference/api/doxygen/tirx_2transform_8h.html |    14 +-
 .../api/doxygen/tirx_2transform_8h__incl.svg       |  1865 ++--
 .../api/doxygen/tirx_2transform_8h_source.html     |    66 +-
 docs/reference/api/doxygen/tirx_2type_8h.html      |     4 +-
 docs/reference/api/doxygen/tirx_2type_8h__incl.svg |  1049 +-
 .../api/doxygen/tirx_2type_8h_source.html          |    36 +-
 docs/reference/api/doxygen/topi_2nn_8h.html        |    28 +-
 docs/reference/api/doxygen/topi_2nn_8h__incl.svg   |  2815 ++---
 docs/reference/api/doxygen/topi_2nn_8h_source.html |   596 +-
 docs/reference/api/doxygen/topi_2transform_8h.html |    96 +-
 .../api/doxygen/topi_2transform_8h__incl.svg       |  2695 ++---
 .../api/doxygen/topi_2transform_8h_source.html     |  1828 +--
 docs/reference/api/doxygen/topi_2utils_8h.html     |     2 +-
 .../api/doxygen/topi_2utils_8h_source.html         |    12 +-
 docs/reference/api/doxygen/trace_8h.html           |     2 +-
 docs/reference/api/doxygen/trace_8h_source.html    |    28 +-
 docs/reference/api/doxygen/tune__context_8h.html   |     2 +-
 .../api/doxygen/tune__context_8h__incl.svg         |  3467 +++---
 .../api/doxygen/tune__context_8h_source.html       |    18 +-
 docs/reference/api/doxygen/type__functor_8h.html   |     2 +-
 .../api/doxygen/type__functor_8h__incl.svg         |  1178 +-
 .../api/doxygen/type__functor_8h_source.html       |    48 +-
 .../doxygen/unique__name__supply_8h_source.html    |    25 +-
 docs/reference/api/doxygen/var_8h.html             |     8 +-
 docs/reference/api/doxygen/var_8h_source.html      |    14 +-
 .../api/doxygen/vector__expr_8h_source.html        |    18 +-
 docs/reference/api/doxygen/vision_8h.html          |     2 +-
 docs/reference/api/doxygen/vision_8h__incl.svg     |  1514 +--
 docs/reference/api/doxygen/vision_8h_source.html   |    13 +-
 docs/reference/api/doxygen/vm_8h_source.html       |    27 +-
 docs/reference/api/doxygen/winograd_8h.html        |     2 +-
 docs/reference/api/doxygen/winograd_8h__incl.svg   |  2391 ++--
 .../api/doxygen/with__context_8h_source.html       |    50 +-
 docs/reference/api/python/ir.html                  |     6 +-
 docs/reference/api/python/relax/analysis.html      |     2 +-
 docs/reference/api/python/relax/relax.html         |     5 +-
 docs/reference/api/python/relax/transform.html     |     4 +-
 docs/reference/api/python/s_tir/analysis.html      |     6 +-
 docs/reference/api/python/s_tir/dlight.html        |     2 +-
 docs/reference/api/python/s_tir/schedule.html      |     6 +-
 docs/reference/api/python/script/ir_builder.html   |  5325 ++++++++-
 docs/reference/api/python/script/parser.html       |    78 +-
 docs/reference/api/python/script/script.html       | 11116 ++++++++++++++++++-
 docs/reference/api/python/topi.html                |    78 +-
 .../api/typedoc/classes/ArtifactCache.html         |    14 +-
 .../classes/ArtifactCrossOriginStorageCache.html   |    12 +-
 .../typedoc/classes/ArtifactIndexedDBCache.html    |    16 +-
 .../api/typedoc/classes/ArtifactOPFSCache.html     |    14 +-
 docs/reference/api/typedoc/classes/CacheState.html |    10 +-
 docs/reference/api/typedoc/classes/DLDataType.html |    14 +-
 docs/reference/api/typedoc/classes/DLDevice.html   |    12 +-
 docs/reference/api/typedoc/classes/Instance.html   |   118 +-
 docs/reference/api/typedoc/classes/LRUCache.html   |    14 +-
 .../classes/LinearCongruentialGenerator.html       |    20 +-
 docs/reference/api/typedoc/classes/Module.html     |    16 +-
 docs/reference/api/typedoc/classes/RPCServer.html  |    16 +-
 docs/reference/api/typedoc/classes/Scalar.html     |     8 +-
 docs/reference/api/typedoc/classes/TVMArray.html   |    16 +-
 docs/reference/api/typedoc/classes/TVMObject.html  |    12 +-
 docs/reference/api/typedoc/classes/Tensor.html     |    36 +-
 .../api/typedoc/classes/VirtualMachine.html        |    10 +-
 .../classes/_internal_.AsyncifyHandler.html        |    14 +-
 .../classes/_internal_.CachedCallStack.html        |    38 +-
 .../classes/_internal_.CanvasRenderManager.html    |    10 +-
 .../classes/_internal_.CrossOriginStorage.html     |    12 +-
 .../typedoc/classes/_internal_.Environment.html    |    14 +-
 .../api/typedoc/classes/_internal_.FFILibrary.html |    22 +-
 .../api/typedoc/classes/_internal_.Memory.html     |    50 +-
 .../api/typedoc/classes/_internal_.OPFSStore.html  |    16 +-
 .../typedoc/classes/_internal_.PackedFuncCell.html |    12 +-
 .../typedoc/classes/_internal_.RuntimeContext.html |    74 +-
 .../typedoc/classes/_internal_.WebGPUContext.html  |    30 +-
 .../enums/_internal_.AsyncifyStateKind.html        |     8 +-
 .../typedoc/enums/_internal_.RPCServerState.html   |    14 +-
 docs/reference/api/typedoc/functions/assert.html   |     2 +-
 .../api/typedoc/functions/createArtifactCache.html |     2 +-
 .../api/typedoc/functions/createPolyfillWASI.html  |     2 +-
 .../api/typedoc/functions/deleteTensorCache.html   |     4 +-
 .../api/typedoc/functions/detectGPUDevice.html     |     2 +-
 .../api/typedoc/functions/hasTensorInCache.html    |     4 +-
 .../api/typedoc/functions/instantiate.html         |     2 +-
 docs/reference/api/typedoc/functions/wasmPath.html |     2 +-
 .../typedoc/interfaces/ArtifactCacheTemplate.html  |    10 +-
 .../api/typedoc/interfaces/Disposable.html         |     4 +-
 .../interfaces/FetchTensorCacheOptions.html        |    12 +-
 .../typedoc/interfaces/GPUDeviceDetectOutput.html  |     8 +-
 .../api/typedoc/interfaces/InitProgressReport.html |     8 +-
 .../api/typedoc/interfaces/LibraryProvider.html    |     6 +-
 .../interfaces/TensorCacheAccessOptions.html       |    10 +-
 .../_internal_.CrossOriginHashDescriptor.html      |     6 +-
 .../_internal_.CrossOriginStorageAPI.html          |     4 +-
 .../_internal_.CrossOriginStorageHandle.html       |     6 +-
 ...CrossOriginStorageRequestFileHandleOptions.html |     6 +-
 .../_internal_.CrossOriginStorageWritable.html     |     6 +-
 .../interfaces/_internal_.FunctionInfo.html        |     8 +-
 .../interfaces/_internal_.OPFSDirectoryHandle.html |     8 +-
 .../interfaces/_internal_.OPFSFileHandle.html      |     8 +-
 .../interfaces/_internal_.OPFSStorageManager.html  |     4 +-
 .../interfaces/_internal_.OPFSStoreRecord.html     |     8 +-
 .../interfaces/_internal_.OPFSStoredEntry.html     |     6 +-
 .../_internal_.OPFSSyncAccessHandle.html           |    14 +-
 .../_internal_.OPFSWritableFileStream.html         |     6 +-
 .../interfaces/_internal_.TensorCacheEntry.html    |    14 +-
 .../interfaces/_internal_.TensorShardEntry.html    |    10 +-
 .../api/typedoc/types/ArtifactCacheType.html       |     2 +-
 .../api/typedoc/types/InitProgressCallback.html    |     2 +-
 .../api/typedoc/types/OPFSAccessMode.html          |     2 +-
 docs/reference/api/typedoc/types/PackedFunc.html   |     2 +-
 docs/reference/api/typedoc/types/RNGState.html     |     2 +-
 .../typedoc/types/_internal_.AsyncPackedFunc.html  |     2 +-
 .../types/_internal_.FObjectConstructor.html       |     2 +-
 .../types/_internal_.FTVMFFIWasmSafeCallType.html  |     2 +-
 .../types/_internal_.FTVMWasmAllocSpace.html       |     2 +-
 .../types/_internal_.FTVMWasmFreeSpace.html        |     2 +-
 .../types/_internal_.OPFSEffectiveAccessMode.html  |     2 +-
 .../types/_internal_.OPFSSyncAccessHandleMode.html |     2 +-
 .../api/typedoc/types/_internal_.Pointer.html      |     2 +-
 .../api/typedoc/types/_internal_.RequestLike.html  |     2 +-
 .../typedoc/types/_internal_.TVMObjectBase.html    |     2 +-
 docs/searchindex.js                                |     2 +-
 docs/sg_execution_times.html                       |    38 +-
 docs/tirx/api/cuda.html                            |    28 +
 docs/tirx/api/execution.html                       |     2 +-
 docs/tirx/api/layout.html                          |    78 +-
 docs/tirx/api/script.html                          |   451 +-
 docs/tirx/api/tile.html                            |   269 +-
 docs/tirx/api/tile_dispatch.html                   |     8 +-
 docs/tirx/api/tirx.html                            |    26 +-
 docs/tirx/api/trainium.html                        |     6 +-
 docs/tirx/tile_primitives/copy_async/dsmem.html    |     4 +-
 1637 files changed, 167180 insertions(+), 147605 deletions(-)

diff --git a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip
index a9528359c23..c166ead3209 100644
Binary files a/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip and b/docs/_downloads/050dda7aeddba33e083ae36606d3270f/import_model.zip differ
diff --git a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip
index 5685589dcb7..f42df269890 100644
Binary files a/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip and b/docs/_downloads/0eec6b3ea6ba863d0ed14b037c4b83ea/dlight_gpu_scheduling.zip differ
diff --git a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip
index d4a617f016a..390844987ff 100644
Binary files a/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip and b/docs/_downloads/11c11e53c7dace51a8be968ee169ed0d/ir_module.zip differ
diff --git a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip
index eaa6409ff79..409a33cbc19 100644
Binary files a/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip and b/docs/_downloads/18ba0d2ee8120824175aaef66bc9c9bf/tir_transformation.zip differ
diff --git a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip
index f391ce5079e..be571ed6af5 100644
Binary files a/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip and b/docs/_downloads/249a4acaa182fd00b9c381b53025777d/meta_schedule.zip differ
diff --git a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip
index aa6f71feb22..3ee8e10949c 100644
Binary files a/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip and b/docs/_downloads/373278b9f6fc686adeaa0219598fe78b/mix_python_and_tvm_with_pymodule.zip differ
diff --git a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip
index 22321f5192c..f6f3621a1cf 100644
Binary files a/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip and b/docs/_downloads/4753776bbe68e7c9ee4d19117973fc8b/relax_creation.zip differ
diff --git a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip
index c9164d251ef..cc9a1f140ee 100644
Binary files a/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip and b/docs/_downloads/7d201684dfa095a5ea48d98e9a2ef7ad/relax_transformation.zip differ
diff --git a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip
index be7d478b688..ddd71391443 100644
Binary files a/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip and b/docs/_downloads/83e85f38cf16f1d926d06615fd54095c/optimize_llm.zip differ
diff --git a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip
index 774f00a85f3..12731b4bbeb 100644
Binary files a/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip and b/docs/_downloads/8c05f1d580979a2c26428a509c07ed72/bring_your_own_codegen.zip differ
diff --git a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip
index c7d476acbe4..bfe088e09b3 100644
Binary files a/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip and b/docs/_downloads/a7dd7652b2ad50f82d7b739ce3645799/e2e_opt_model.zip differ
diff --git a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip
index a9beae88201..95700627dd3 100644
Binary files a/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip and b/docs/_downloads/bb7db6678496193ed0c55d3b95fa6778/quick_start.zip differ
diff --git a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip
index 8456371eb90..4ac2e167875 100644
Binary files a/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip and b/docs/_downloads/bc875d02d5382abc9ea5fb9eb2c1de2c/export_and_load_executable.zip differ
diff --git a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip
index 071903bc478..3a7f2d9bd92 100644
Binary files a/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip and b/docs/_downloads/be26483bb70b8468499a01c55e8e866c/tir_creation.zip differ
diff --git a/docs/_downloads/dfe78527fd2d0066cb46ed1e46ecf4aa/mix_python_and_tvm_with_pymodule.py b/docs/_downloads/dfe78527fd2d0066cb46ed1e46ecf4aa/mix_python_and_tvm_with_pymodule.py
index 9515f6874d9..bf42154bfb6 100644
--- a/docs/_downloads/dfe78527fd2d0066cb46ed1e46ecf4aa/mix_python_and_tvm_with_pymodule.py
+++ b/docs/_downloads/dfe78527fd2d0066cb46ed1e46ecf4aa/mix_python_and_tvm_with_pymodule.py
@@ -71,7 +71,7 @@ RUN_EXAMPLE = HAS_TORCH and not IS_IN_CI
 ######################################################################
 # Step 1: Your First Hybrid Module
 # ----------------------------------
-# The core idea: decorate a class with ``@I.ir_module``, inherit from ``BasePyModule``, and use
+# The core idea: decorate a class with ``@R.py_module``, inherit from ``BasePyModule``, and use
 # three decorators for three kinds of functions:
 #
 # - ``@T.prim_func`` — low-level TIR kernel (JIT-compiled on instantiation)
@@ -83,7 +83,7 @@ RUN_EXAMPLE = HAS_TORCH and not IS_IN_CI
 
 if RUN_EXAMPLE:
 
-    @I.ir_module
+    @R.py_module
     class MyFirstModule(BasePyModule):
         @T.prim_func(s_tir=True)
         def add_tir(
@@ -129,7 +129,7 @@ if RUN_EXAMPLE:
 
 if RUN_EXAMPLE:
 
-    @I.ir_module
+    @R.py_module
     class DebugModule(BasePyModule):
         @T.prim_func(s_tir=True)
         def matmul_tir(var_A: T.handle, var_B: T.handle, var_C: T.handle):
@@ -207,7 +207,7 @@ if RUN_EXAMPLE:
         out_np = x_np + b_np
         out[:] = out_np
 
-    @I.ir_module
+    @R.py_module
     class PipelineModule(BasePyModule):
         @T.prim_func(s_tir=True)
         def matmul_tir(var_A: T.handle, var_B: T.handle, var_C: T.handle):
@@ -304,7 +304,7 @@ if RUN_EXAMPLE:
     w = torch.randn(4, 4)
     b = torch.randn(4)
 
-    py_result_early = converted_early.pyfuncs["main"](x, w, b)
+    py_result_early = converted_early.__pyfuncs__["main"](x, w, b)
     expected = F.relu(x @ w + b)
 
     print("Before optimization:")
@@ -320,7 +320,7 @@ if RUN_EXAMPLE:
     converter_late = RelaxToPyFuncConverter(optimized_mod)
     converted_late = converter_late.convert(["main"])
 
-    py_result_late = converted_late.pyfuncs["main"](x, w, b)
+    py_result_late = converted_late.__pyfuncs__["main"](x, w, b)
 
     print("\nAfter CanonicalizeBindings pass:")
     print("  Converted result:", py_result_late)
@@ -345,7 +345,7 @@ if RUN_EXAMPLE:
 
 if RUN_EXAMPLE:
 
-    @I.ir_module
+    @R.py_module
     class HybridVMModule(BasePyModule):
         @I.pyfunc
         def silu(self, x):
@@ -399,7 +399,7 @@ if RUN_EXAMPLE:
 
 if RUN_EXAMPLE:
 
-    @I.ir_module
+    @R.py_module
     class DynamicModule(BasePyModule):
         @T.prim_func(s_tir=True)
         def scale_tir(var_x: T.handle, var_out: T.handle):
diff --git a/docs/_downloads/ee6bb02238ab43f2b87505cc74484f6b/mix_python_and_tvm_with_pymodule.ipynb b/docs/_downloads/ee6bb02238ab43f2b87505cc74484f6b/mix_python_and_tvm_with_pymodule.ipynb
index 3e182631501..b58de6b3d83 100644
--- a/docs/_downloads/ee6bb02238ab43f2b87505cc74484f6b/mix_python_and_tvm_with_pymodule.ipynb
+++ b/docs/_downloads/ee6bb02238ab43f2b87505cc74484f6b/mix_python_and_tvm_with_pymodule.ipynb
@@ -40,7 +40,7 @@
       "cell_type": "markdown",
       "metadata": {},
       "source": [
-        "## Step 1: Your First Hybrid Module\nThe core idea: decorate a class with ``@I.ir_module``, inherit from ``BasePyModule``, and use\nthree decorators for three kinds of functions:\n\n- ``@T.prim_func`` \u2014 low-level TIR kernel (JIT-compiled on instantiation)\n- ``@R.function`` \u2014 high-level Relax graph (JIT-compiled on instantiation)\n- ``@I.pyfunc`` \u2014 plain Python (runs as-is, can use any Python library)\n\n``call_tir`` bridges Python and TIR: it converts PyTorch ten [...]
+        "## Step 1: Your First Hybrid Module\nThe core idea: decorate a class with ``@R.py_module``, inherit from ``BasePyModule``, and use\nthree decorators for three kinds of functions:\n\n- ``@T.prim_func`` \u2014 low-level TIR kernel (JIT-compiled on instantiation)\n- ``@R.function`` \u2014 high-level Relax graph (JIT-compiled on instantiation)\n- ``@I.pyfunc`` \u2014 plain Python (runs as-is, can use any Python library)\n\n``call_tir`` bridges Python and TIR: it converts PyTorch ten [...]
       ]
     },
     {
@@ -51,7 +51,7 @@
       },
       "outputs": [],
       "source": [
-        "if RUN_EXAMPLE:\n\n    @I.ir_module\n    class MyFirstModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def add_tir(\n            A: T.Buffer((4,), \"float32\"),\n            B: T.Buffer((4,), \"float32\"),\n            C: T.Buffer((4,), \"float32\"),\n        ):\n            for i in range(4):\n                C[i] = A[i] + B[i]\n\n        @I.pyfunc\n        def forward(self, x, y):\n            \"\"\"Takes PyTorch tensors, calls TIR, returns PyTorch tensors.\"\" [...]
+        "if RUN_EXAMPLE:\n\n    @R.py_module\n    class MyFirstModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def add_tir(\n            A: T.Buffer((4,), \"float32\"),\n            B: T.Buffer((4,), \"float32\"),\n            C: T.Buffer((4,), \"float32\"),\n        ):\n            for i in range(4):\n                C[i] = A[i] + B[i]\n\n        @I.pyfunc\n        def forward(self, x, y):\n            \"\"\"Takes PyTorch tensors, calls TIR, returns PyTorch tensors.\"\" [...]
       ]
     },
     {
@@ -69,7 +69,7 @@
       },
       "outputs": [],
       "source": [
-        "if RUN_EXAMPLE:\n\n    @I.ir_module\n    class DebugModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def matmul_tir(var_A: T.handle, var_B: T.handle, var_C: T.handle):\n            n = T.int32()\n            A = T.match_buffer(var_A, (n, 4), \"float32\")\n            B = T.match_buffer(var_B, (4, 3), \"float32\")\n            C = T.match_buffer(var_C, (n, 3), \"float32\")\n            for i, j, k in T.grid(n, 3, 4):\n                with T.sblock(\"matmul\"):\n   [...]
+        "if RUN_EXAMPLE:\n\n    @R.py_module\n    class DebugModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def matmul_tir(var_A: T.handle, var_B: T.handle, var_C: T.handle):\n            n = T.int32()\n            A = T.match_buffer(var_A, (n, 4), \"float32\")\n            B = T.match_buffer(var_B, (4, 3), \"float32\")\n            C = T.match_buffer(var_C, (n, 3), \"float32\")\n            for i, j, k in T.grid(n, 3, 4):\n                with T.sblock(\"matmul\"):\n   [...]
       ]
     },
     {
@@ -94,7 +94,7 @@
       },
       "outputs": [],
       "source": [
-        "if RUN_EXAMPLE:\n    # Register a packed function (simulating an external library binding)\n    @tvm.register_global_func(\"my_bias_add\", override=True)\n    def my_bias_add(x, bias, out):\n        \"\"\"Packed function: adds bias to each row of x.\"\"\"\n\n        x_np = x.numpy()\n        b_np = bias.numpy()\n        out_np = x_np + b_np\n        out[:] = out_np\n\n    @I.ir_module\n    class PipelineModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def matmul_ [...]
+        "if RUN_EXAMPLE:\n    # Register a packed function (simulating an external library binding)\n    @tvm.register_global_func(\"my_bias_add\", override=True)\n    def my_bias_add(x, bias, out):\n        \"\"\"Packed function: adds bias to each row of x.\"\"\"\n\n        x_np = x.numpy()\n        b_np = bias.numpy()\n        out_np = x_np + b_np\n        out[:] = out_np\n\n    @R.py_module\n    class PipelineModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def matmul_ [...]
       ]
     },
     {
@@ -112,7 +112,7 @@
       },
       "outputs": [],
       "source": [
-        "if RUN_EXAMPLE:\n    from tvm.relax.relax_to_pyfunc_converter import RelaxToPyFuncConverter\n\n    # A simple Relax module: matmul + bias + relu (a dense layer)\n    @I.ir_module\n    class DenseLayer:\n        @T.prim_func(s_tir=True)\n        def bias_add_tir(var_x: T.handle, var_b: T.handle, var_out: T.handle):\n            x = T.match_buffer(var_x, (2, 4), \"float32\")\n            b = T.match_buffer(var_b, (4,), \"float32\")\n            out = T.match_buffer(var_out, (2, 4) [...]
+        "if RUN_EXAMPLE:\n    from tvm.relax.relax_to_pyfunc_converter import RelaxToPyFuncConverter\n\n    # A simple Relax module: matmul + bias + relu (a dense layer)\n    @I.ir_module\n    class DenseLayer:\n        @T.prim_func(s_tir=True)\n        def bias_add_tir(var_x: T.handle, var_b: T.handle, var_out: T.handle):\n            x = T.match_buffer(var_x, (2, 4), \"float32\")\n            b = T.match_buffer(var_b, (4,), \"float32\")\n            out = T.match_buffer(var_out, (2, 4) [...]
       ]
     },
     {
@@ -130,7 +130,7 @@
       },
       "outputs": [],
       "source": [
-        "if RUN_EXAMPLE:\n\n    @I.ir_module\n    class HybridVMModule(BasePyModule):\n        @I.pyfunc\n        def silu(self, x):\n            \"\"\"SiLU/Swish activation \u2014 using Python as fallback.\"\"\"\n            return torch.sigmoid(x) * x\n\n        @I.pyfunc\n        def layer_norm(self, x):\n            \"\"\"LayerNorm \u2014 another Python fallback.\"\"\"\n            return F.layer_norm(x, x.shape[-1:])\n\n        @R.function\n        def main(\n            x: R.Tensor [...]
+        "if RUN_EXAMPLE:\n\n    @R.py_module\n    class HybridVMModule(BasePyModule):\n        @I.pyfunc\n        def silu(self, x):\n            \"\"\"SiLU/Swish activation \u2014 using Python as fallback.\"\"\"\n            return torch.sigmoid(x) * x\n\n        @I.pyfunc\n        def layer_norm(self, x):\n            \"\"\"LayerNorm \u2014 another Python fallback.\"\"\"\n            return F.layer_norm(x, x.shape[-1:])\n\n        @R.function\n        def main(\n            x: R.Tensor [...]
       ]
     },
     {
@@ -148,7 +148,7 @@
       },
       "outputs": [],
       "source": [
-        "if RUN_EXAMPLE:\n\n    @I.ir_module\n    class DynamicModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def scale_tir(var_x: T.handle, var_out: T.handle):\n            n = T.int64()\n            x = T.match_buffer(var_x, (n,), \"float32\")\n            out = T.match_buffer(var_out, (n,), \"float32\")\n            for i in T.serial(n):\n                out[i] = x[i] * T.float32(2.0)\n\n        @R.function\n        def add_relax(\n            x: R.Tensor((\"n\",), \ [...]
+        "if RUN_EXAMPLE:\n\n    @R.py_module\n    class DynamicModule(BasePyModule):\n        @T.prim_func(s_tir=True)\n        def scale_tir(var_x: T.handle, var_out: T.handle):\n            n = T.int64()\n            x = T.match_buffer(var_x, (n,), \"float32\")\n            out = T.match_buffer(var_out, (n,), \"float32\")\n            for i in T.serial(n):\n                out[i] = x[i] * T.float32(2.0)\n\n        @R.function\n        def add_relax(\n            x: R.Tensor((\"n\",), \ [...]
       ]
     },
     {
diff --git a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip
index 35f6776f42c..07ce3656001 100644
Binary files a/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip and b/docs/_downloads/f69380821f417ef2210f45503d81bded/cross_compilation_and_rpc.zip differ
diff --git a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip
index f7f6c4a5709..ba5075ff7fb 100644
Binary files a/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip and b/docs/_downloads/f69433a4a80715725df90d1386679956/customize_opt.zip differ
diff --git a/docs/_sources/arch/tvmscript.rst b/docs/_sources/arch/tvmscript.rst
index 0dc8fc63cb7..ce3f3f86f4d 100644
--- a/docs/_sources/arch/tvmscript.rst
+++ b/docs/_sources/arch/tvmscript.rst
@@ -22,22 +22,22 @@ TVMScript
 
 TVMScript is a Python-based domain-specific language (DSL) for writing TVM IR. It lets users
 define ``IRModule``\ s — containing both Relax functions and TIR ``PrimFunc``\ s — using
-familiar Python syntax. Although TVMScript *looks* like Python, it is **not executed by the
-Python interpreter**. Instead, Python decorators extract the AST from the source code and
-transform it into TVM IR through a dedicated parser and IR builder pipeline.
+familiar Python syntax. Decorators acquire the source and its definition context. A syntax
+transpiler translates the Python AST into a Python builder program; executing that program
+constructs TVM IR. The scripted function body is therefore translated before execution.
 
 TVMScript serves two roles in the TVM stack:
 
 - **Authoring**: users write TIR kernels and Relax programs directly in TVMScript.
-- **Roundtrip**: every ``IRModule`` can be printed back to TVMScript via ``mod.script()`` and
-  re-parsed to produce an equivalent module. This makes TVMScript the primary tool for
-  inspecting, debugging, and serializing IR.
+- **Roundtrip**: ``mod.script()`` prints IR as TVMScript, which can be re-parsed with any
+  required external symbols to reconstruct equivalent IR. This supports inspection,
+  debugging, and serialization of printable IR.
 
 
 Overview
 --------
 
-The TVMScript system has three components:
+TVMScript separates source acquisition, syntax translation, IR construction, and printing:
 
 .. code-block:: text
 
@@ -45,13 +45,17 @@ The TVMScript system has three components:
 
    Python source (TVMScript)
         │
-        ▼  ast.parse + convert
+        ▼  Frontend: source + definition context
         │
-   Doc AST (mirror of Python AST)
+   Python AST
         │
-        ▼  Parser (dispatch by token: ir / tirx / relax)
+        ▼  Syntax transpiler + construction protocol
         │
-        ▼  IR Builder (frame stack)
+   Generated Python builder program
+        │
+        ▼  Frontend: recompose and execute callable
+        │
+        ▼  IR builders (frame stack + dialect policy)
         │
    TVM IR (IRModule, PrimFunc, relax.Function)
 
@@ -68,14 +72,17 @@ The TVMScript system has three components:
         │
    TVMScript text
 
-- **Parser** (Python): reads Python source, converts it to a ``Doc AST`` (a mirror of
-  Python's ``ast`` module), then walks the tree using dialect-specific handlers that call
-  into the IR builder.
-- **IR Builder** (Python + C++): provides a frame-stack API where each ``with`` block or
-  decorator pushes a frame. When the frame exits, the constructed IR is finalized. The builder
-  is shared across dialects — TIR and Relax each register their own frame types.
-- **Printer** (C++): converts TVM IR objects to a ``Doc`` tree (an intermediate representation
-  of Python syntax), then formats the tree into valid TVMScript text.
+- **Frontend** (Python): captures definition context, acquires source, and composes the
+  generated callable with its lexical environment. It owns decorators, helper entry points,
+  and execution of the builder program.
+- **Syntax transpiler** (Python): rewrites Python AST nodes into calls on the selected
+  construction namespace. It preserves source scopes, evaluation order, and locations.
+- **IR builders** (Python + C++): own typed values, symbol identity, dialect policy, and
+  construction frames. Exiting a frame finalizes its IR and attaches it to its parent.
+- **Printer** (C++): converts IR to a ``Doc`` tree and formats it as Python syntax. The
+  printer's Doc tree is separate from the Python AST used for parsing.
+
+All source entry points use the canonical ``tvm.script.parser`` implementation.
 
 
 Decorators
@@ -88,6 +95,12 @@ TVMScript uses three import aliases by convention:
    from tvm.script import ir as I       # module-level constructs
    from tvm.script import tirx as T     # TIR constructs
    from tvm.script import relax as R    # Relax constructs
+   from tvm.script.parser.entry import make_macro_decorator
+   from tvm.target import Target
+
+These are public authoring APIs. ``Target`` configures compilation targets; it remains in
+``tvm.target``. Public dialect namespaces expose decorators and source constructors, so
+scripted programs do not need direct imports from builder implementation packages.
 
 The primary decorators are:
 
@@ -102,7 +115,7 @@ These can be composed:
 
    @I.ir_module
    class MyModule:
-       @T.prim_func
+       @T.prim_func(s_tir=True)
        def add_kernel(A: T.Buffer((128,), "float32"),
                       B: T.Buffer((128,), "float32"),
                       C: T.Buffer((128,), "float32")):
@@ -115,82 +128,228 @@ These can be composed:
        def main(x: R.Tensor((128,), "float32"),
                 y: R.Tensor((128,), "float32")) -> R.Tensor((128,), "float32"):
            with R.dataflow():
-               out = R.call_tir(cls.add_kernel, (x, y),
+               out = R.call_tir(MyModule.add_kernel, (x, y),
                                 out_ty=R.Tensor((128,), "float32"))
                R.output(out)
            return out
 
-When Python encounters ``@I.ir_module``, the decorator does **not** execute the class body.
-Instead, it calls ``tvm.script.parse()`` which extracts the source code of the class,
-builds a Doc AST, and hands it to the parser.
-
-
-Parser Architecture
--------------------
+Python creates the class before invoking ``@I.ir_module``. Function decorators inside an
+IR-module class retain method definitions for module construction. The module frontend then
+acquires the source and constructs declarations and bodies in the module's builder context.
+Standalone ``@T.prim_func`` and ``@R.function`` definitions construct their IR immediately.
 
-The parser lives in ``python/tvm/script/parser/``.
+A helper can construct expressions or statements in the caller's active builder frames:
 
-Dispatch mechanism
-~~~~~~~~~~~~~~~~~~
-
-Different IR dialects (TIR, Relax) need different handling for the same Python syntax. For
-example, ``if ... else`` inside ``@T.prim_func`` creates a TIR ``If`` branch, while the same
-syntax inside ``@R.function`` creates a Relax ``If`` node with different semantics.
-
-The parser maintains a **dispatch token** stack (``["default"]`` initially). When it encounters
-a decorated function, it inspects the decorator to determine the token — ``"tirx"`` for
-``@T.prim_func``, ``"relax"`` for ``@R.function`` — and pushes it onto the stack.
+.. code-block:: python
 
-Each AST node type is dispatched via a virtual table:
+   @make_macro_decorator(T)
+   def add_one(value):
+       return value + 1
 
-.. code-block:: text
+Unlike a function decorator, ``make_macro_decorator`` does not create an IR function for
+each helper. Its default return behavior is ordinary Python return from the generated
+helper program.
+``T.inline`` and the dialect macro decorators are supplied through the same frontend helper
+mechanism.
 
-   ParseVTable[(token, node_type)] → handler function
 
-   Lookup order:
-     1. (current_token, node_type)    e.g. ("tirx", "For")
-     2. ("default", node_type)        e.g. ("default", "For")
-     3. generic_visit                  fallback
+Parser Architecture
+-------------------
 
-Dialect-specific parsers (``parser/tirx/parser.py``, ``parser/relax/parser.py``) register
-handlers using ``@dispatch.register(token, type_name)`` decorators.
+The parser lives in ``python/tvm/script/parser/``. ``inspect_source.py`` owns source
+acquisition, the ``Source`` representation and its coordinate helpers, and definition-context
+capture. Documented functions in ``entry.py`` manage the parse sequence, callable composition
+and execution.
+The transpiler handles syntax; the builders interpret concrete values. TIRx JIT validation,
+defaults and specialization caching live in ``tvm.tirx.script.jit``; shared parser utilities
+remain independent of that policy.
+
+Syntax and construction protocol
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A registered function decorator selects a construction namespace. The same Python syntax
+then lowers to operations supplied by that namespace: for example, unmarked ``if`` creates
+TIR control-flow frames in a primitive function and Relax control-flow frames in a Relax
+function. The transpiler emits these operations without implementing dialect IR semantics.
+
+``parser/protocol_registry.py`` owns callable syntax metadata and registration. Argument policies such
+as ``expr_str`` translate symbolic strings written directly in source expressions, while ``global_info``
+preserves a module reference for builder-side lookup. Dtype and placement strings remain
+literal. Captured or computed symbolic shapes must already contain explicit IR variables;
+the parser does not interpret expression strings found inside captured values.
+Registration keeps syntax facts in simple dictionaries keyed by canonical namespace paths.
+Known namespace aliases normalize to the registered path; ordinary captured callables,
+local aliases, methods and closures execute as Python without marker inference. The
+dictionaries retain no source functions or parse captures. Dialects own their namespace
+exports, entry points and aliases and register them with the generic parser.
+The registry selects a call's argument policy before traversal and reuses positional
+parameter names computed once at registration;
+``parser/expr_str_handling.py`` decodes annotation/expression strings and maps their
+escaped, multiline and UTF-8 source ranges. The main visitor rewrites the decoded syntax.
+
+Assignments become binding operations, standalone expressions become emission operations,
+and loops and scopes become builder contexts. An ordinary assignment passes its evaluated
+RHS and a separate ``value_span`` to ``bind_``, without first stamping the returned value.
+The binding target has its own span. TIRx preserves returned Vars, including BufferVars,
+and ordinary metadata objects; other expressions follow the dialect's binding rules.
+Construction still runs in the source context, and nested expressions retain their locations.
+Concrete binding, type checking, comparison construction, and frame finalization belong to
+the builders. Ordinary host calls and
+operator overloads execute as part of the generated Python program.
+
+Loop frames create their named variables during construction. Entering a frame returns
+the variable directly for one dimension and the variable sequence for multiple dimensions,
+so ordinary Python uses ``with T.serial(0, n) as i``. Generated scalar loops use the same
+entry form. Generated tuple, list and starred targets unpack the entered frame's stable
+``vars`` sequence, preserving explicit one-dimensional unpacking and native variable identity.
+
+Parser syntax restrictions raise ``SyntaxError`` with the original filename and source
+range. Python helper and builder exceptions propagate unchanged, preserving their identity,
+type and source-mapped traceback. Temporary parser contexts are released on both successful
+and exceptional exits.
 
 Parse flow
 ~~~~~~~~~~
 
-The entry point is ``parse(program, extra_vars)``:
-
-1. **Source extraction**: the program's source code is extracted (from a class, function, or
-   string) and converted to a Doc AST via Python's ``ast`` module.
+The public entry points include ``tvm.script.parse`` and ``tvm.script.from_source``:
+
+1. **Acquire source and context**: the frontend accepts a function, class, or source string,
+   obtains its Python AST, and retains source locations. Decorators capture the definition
+   context temporarily through ``definition_scope``; source-string callers can supply
+   external bindings through ``extra_vars``. Source inspection belongs to
+   ``parser.inspect_source``.
+2. **Prescan and translate syntax**: acquisition supplies a fresh owned AST. One
+   ``PrescanCollector`` produces read-only ``PrescanContext`` facts for reserved names,
+   scoped declarations and conditional outputs. ``IRBuilderTranspiler`` rewrites that owned
+   tree with the standard Python AST visitor, using fixed namespace metadata and registered
+   argument policies without copying or reparsing the tree. One shared name allocator
+   avoids collisions with user identifiers through rewriting and recomposition.
+3. **Compose the callable**: the private frontend helper ``_recompose_builder`` compiles
+   the generated program with the source's globals, closure bindings, and necessary
+   annotation context. Explicit temporary phase inputs connect generated helpers to
+   their source functions without rediscovering them through a generated-AST walk.
+4. **Execute construction**: the callable enters native builder frames and reconstructs
+   declarations and annotations in their required context. When forward declarations are
+   needed, it declares all signatures first. Inside each retained native function frame,
+   it defines and calls a lexical body helper without an explicit frame argument. Re-entry
+   uses the existing parameters instead of adding them again. Native frames own module
+   references, results and function-local symbols.
+5. **Validate and return IR**: generated code calls the dialect's
+   ``X.check_well_formed_`` for a completed function or the shared
+   ``I.check_well_formed_`` for a completed module. Public parsing validates by default.
+   Parsing owns execution and releases its temporary builder and captures afterward.
+
+Definition and symbol scopes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Python lexical bindings and DSL symbolic declarations have different owners. The frontend
+captures the exact definition scope during decoration, including enclosing names used only
+in annotations that Python may omit from the function's closure. Ordinary body references
+retain their source globals and closure bindings. Unrelated callers' local variables do not
+become part of this environment.
+
+Annotations are reconstructed as builder operations within the module/function context.
+The generated program preserves their definition scope and original names, using a
+distinct compiler binding only when a source-local binding would shadow the annotation.
+One prescan-seeded name allocator serves rewriting and callable recomposition. Body
+globals and closures retain their original lookup, including a method closure whose name
+also appears as a class member. Callable recomposition and
+lexical environment setup belong to the frontend. The transpiler preserves source scopes
+through Python syntax; it does not classify each name by membership in a runtime environment
+or search caller stacks for values.
+
+DSL expression strings such as ``R.Tensor(("n", 4), "float32")`` use
+``X.resolve_type_var_("n")``, which delegates to the nearest native function frame's
+``type_var_map``. Repeated names refer to the same symbol across parameters, return
+annotations and the body. Quoted lookup does not introduce a Python name; an explicit
+symbol declaration does. A Python name in ``R.Tensor((n, 4), ...)`` follows its source
+lexical scope. Module global-info references use ``I.resolve_global_info_`` against the
+active native module frame's existing map.
+
+During rewriting, each needed source range becomes a fixed native span entry in an
+injected table. ``_S[i](value)`` attaches that location while preserving identity;
+``_S[i].ctx(lambda: helper(value))`` evaluates the callee and arguments once within
+the source context and restores it on success or failure. Entries live in
+``ir_builder.base`` and retain no AST or active caller context. Dynamic caller/definition
+provenance is composed when an entry is used. Ordinary names, Python literals, fixed
+namespace/callee lookup and structural indexing tuples need no entries. Arithmetic and
+buffer loads retain their own expression ranges.
+
+Generated hooks receive entries explicitly: ``X.for_(X.range_(3), names="i", span=_S[i])``
+and ``X.emit_(value, span=_S[j])`` own their result locations. A callable registered with
+``result_span`` promises that its complete IR effect is represented by its returned node
+or emission receipt, allowing result attachment without a construction context. Opaque
+helpers still require ``.ctx`` to locate internal effects. At an ordinary assignment boundary,
+``.ctx(..., attach_result=False)`` preserves construction context while leaving the returned
+value's attribution to ``bind_`` through its separate ``value_span``.
+The parser-owned ``parser.protocol_registry`` module defines registration APIs, metadata and
+persistent registration state. Dialects apply these policies beside concrete definitions,
+constructor creation or necessary exposure sites, without namespace scans or bulk
+registration inventories. Dialect ``parser_protocol`` modules implement construction hooks. The shared
+``ir_builder.ir.parser_protocol`` documents the detailed builder-hook contract and links
+to the registry for special syntax policies. Dialect hooks retain typed signatures and
+document only their specific behavior. For example, dialects import ``args_policy``
+from ``tvm.script.parser.protocol_registry`` to register literal argument policies.
+
+Ordinary assignments pass returned values to ``bind_``. TIRx Vars keep their exact identity,
+producer names and spans, including scope variables, block axes and explicit ``T.bind``
+results. This behavior belongs to the builder's value handling and requires no parser
+producer classification. Self-emitting builders return ``AlreadyEmitted[T]`` so
+source-location handling can annotate the emitted object without emitting it twice.
+Layout, meta_class and view results likewise follow dialect value handling for assignment
+and standalone statements. Unsupported host values still fail under the dialect's emission
+rules. Expression-facing thread APIs return native Vars; IterVar remains native metadata.
+
+Simple comparison chains such as ``0 < i < 10`` lower to
+``X.and_(X.lt_(0, i), X.lt_(i, 10))``. Only names and numeric literals, including signed
+literals, are supported in a chain. Complex chain operands fail with a source-located
+syntax error before they evaluate. Single comparisons retain general operands, and the
+explicit constexpr boundary retains Python comparison semantics.
+
+A bare loop target receives the native entry result: ``for iters in T.grid(m, n)`` binds
+the original variable sequence, while ``for i in T.serial(n)`` binds one Var. Explicit
+tuple, list and starred targets unpack the native frame's stable ``vars`` field.
+
+Function decorators pass their construction namespace and options explicitly to parsing.
+Generated ``X.function_(**options)`` creates the frame; the dialect hook owns option defaults.
+Declaration creates stable references before function bodies; generated code reads the
+native ``global_var`` or ``local_var`` field directly, without a separate reservation pass.
+There is no function-registration record or copied source-function metadata. The root
+retains ``pyfunc`` behavior and original Python callables for module assembly.
+
+Completed modules use generic root coordination over dialect-owned validation hooks.
+Each dialect checks its members and cross-function requirements against the whole module,
+including captured members. Shared GlobalInfo construction and lookup belong to ``tvm.ir``;
+existing Relax class exports and serialized type keys remain compatible.
+
+Each parse rewrites the fresh AST returned by source acquisition directly, without
+copying or reparsing it. Ordinary functions construct arguments directly and bind their
+known body parameters from ``frame.params``. Specialization setup and conditional
+parameter selection are generated only for an explicit specialization request; an empty
+mapping still requests that path, while ``None`` selects ordinary parsing.
+
+Explicit host control flow
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Mark compile-time Python selection with ``I.constexpr`` or the identical dialect alias:
 
-2. **AST walking**: the ``Parser`` (a subclass of ``doc.NodeVisitor``) walks the Doc AST.
-   For each node, it looks up the handler in the dispatch table.
-
-3. **Expression evaluation**: expressions like ``T.grid(128, 128)`` are evaluated by the
-   ``ExprEvaluator``, which resolves names against the variable table and the ``T.``/``R.``
-   module namespaces.
-
-4. **Value binding**: assignment statements (``A = T.match_buffer(...)`` in TIR,
-   ``lv = R.add(x, y)`` in Relax) go through dialect-specific ``bind_*_value()`` functions
-   that register the resulting TVM objects in the parser's ``VarTable``.
-
-5. **Scoping**: the ``VarTable`` maintains a stack of frames. Entering a ``with`` block,
-   ``for`` loop, or function body pushes a new frame; exiting pops it. This ensures variables
-   are scoped correctly.
-
-Variable table
-~~~~~~~~~~~~~~
+.. code-block:: python
 
-The ``VarTable`` is the parser's symbol table:
+   if I.constexpr(enabled):
+       T.evaluate(1)
+   else:
+       T.evaluate(0)
 
-.. code-block:: text
+   value = T.ramp(0, 1, lanes) if T.constexpr(lanes > 1) else 0
 
-   VarTable
-   ├── frames: [VarTableFrame, ...]    ← stack of scopes
-   └── name2value: {str: [Any, ...]}   ← name → value stack (for shadowing)
+The marker applies to the controlling value. The generated program evaluates it once and
+executes only the selected Python branch in the existing builder scope. Branch bodies and
+result expressions still translate normally. Marked ``and`` and ``or`` decisions retain
+Python short-circuiting; unmarked conditionals and logical expressions call dialect IR
+constructors. A Python boolean alone does not request compile-time branch selection.
 
-When a name is looked up, the most recent binding wins. When a frame is popped, all bindings
-introduced in that frame are removed.
+JIT supplies validated specialization bindings and optional-argument absence to builder
+execution. Syntax translation does not inspect those values to select a branch.
 
 
 IR Builder Architecture
@@ -208,7 +367,7 @@ represents and attaches it to the parent frame.
 
 .. code-block:: text
 
-   IRBuilder (thread-local singleton)
+   IRBuilder (current construction context)
    └── frame stack:
        ├── IRModuleFrame          ← @I.ir_module
        │   ├── PrimFuncFrame      ← @T.prim_func
@@ -219,19 +378,19 @@ represents and attaches it to the parent frame.
        │       └── BindingBlockFrame ← R.dataflow()
        └── ...
 
-This design means the parser never needs to build a complete IR tree in memory — it
-constructs IR top-down by entering and exiting frames, and each frame handles its own
-finalization.
+The generated program constructs IR by entering and exiting frames. Each frame owns its
+construction policy and finalization; the syntax transpiler does not maintain an IR tree.
 
 TIR builder
 ~~~~~~~~~~~
 
-The TIR builder (``ir_builder/tirx/ir.py``) provides functions that map directly to TVMScript
-syntax. Key categories:
+The TIR builder (``python/tvm/tirx/script/builder/``) implements the construction operations
+behind public ``T`` syntax. Builder modules also support direct programmatic construction;
+public decorators and internal frame-opening operations have distinct roles. Key categories:
 
 **Function and block**:
 
-- ``T.prim_func()`` → ``PrimFuncFrame``
+- ``@T.prim_func`` selects TIR construction; its builder ``function()`` opens ``PrimFuncFrame``
 - ``T.sblock(name)`` → ``SBlockFrame`` (spatial block)
 - ``T.init()`` → ``BlockInitFrame`` (reduction initialization)
 - ``T.reads(...)``, ``T.writes(...)`` → declare buffer access regions
@@ -257,11 +416,11 @@ syntax. Key categories:
 Relax builder
 ~~~~~~~~~~~~~
 
-The Relax builder (``ir_builder/relax/ir.py``) provides:
+The Relax builder (``python/tvm/relax/script/builder/``) implements:
 
 **Function and dataflow**:
 
-- ``R.function()`` → ``FunctionFrame``
+- ``@R.function`` selects Relax construction; its builder ``function()`` opens ``FunctionFrame``
 - ``R.dataflow()`` → ``BindingBlockFrame``
 - ``R.output(*vars)`` → expose variables from a dataflow block
 
@@ -270,6 +429,9 @@ The Relax builder (``ir_builder/relax/ir.py``) provides:
 - ``R.emit(value)`` → emit a binding, returns a ``Var``
 - ``R.emit_match_cast(value, ty)`` → emit with type assertion
 
+Generated standalone-statement emission uses the construction protocol's separate ``emit_``
+operation. Public ``R.emit`` retains its binding-returning imperative API.
+
 **Type annotations**:
 
 - ``R.Tensor(shape, dtype)`` — tensor type
@@ -325,17 +487,17 @@ It maintains:
 
 Each IR dialect registers its own converters:
 
-- ``src/script/printer/tirx/`` — converts PrimFunc, Buffer, SBlock, loops, expressions.
-- ``src/script/printer/relax/`` — converts relax.Function, bindings, types, operators.
+- ``src/tirx/script/printer/`` — converts PrimFunc, Buffer, SBlock, loops, expressions.
+- ``src/relax/script/printer/`` — converts relax.Function, bindings, types, operators.
 - ``src/script/printer/ir/`` — converts IRModule, shared types.
 
 The final step calls ``DocToPythonScript()`` (``src/script/printer/doc_printer/python_doc_printer.cc``)
 to format the Doc tree into properly indented Python text.
 
-Roundtrip guarantee
-~~~~~~~~~~~~~~~~~~~
+Roundtrip
+~~~~~~~~~
 
-For any ``IRModule`` constructed through the compiler:
+For printable IR with the required source context available:
 
 .. code-block:: python
 
@@ -344,9 +506,9 @@ For any ``IRModule`` constructed through the compiler:
    tvm.ir.assert_structural_equal(mod, reparsed)
 
 This roundtrip property is relied upon by testing infrastructure and serialization workflows.
-Note that the printed text may differ from hand-written TVMScript — the printer uses canonical
-forms (e.g., explicit ``R.emit`` calls, fully qualified buffer annotations) that are not required
-in hand-written code.
+Printed text uses canonical forms and may differ from hand-written TVMScript. External
+objects or Python attachments require their corresponding context; text alone does not
+serialize arbitrary Python state.
 
 
 Supported Python Syntax
@@ -364,7 +526,7 @@ and how each construct is interpreted:
      - Relax
    * - ``for i in range(n)``
      - Serial loop nest
-     - Not supported (no Relax-level ``for`` handler)
+     - No Relax IR loop construction
    * - ``with T.sblock(...)``
      - Spatial block scope
      - N/A
@@ -372,8 +534,8 @@ and how each construct is interpreted:
      - N/A
      - Dataflow block
    * - ``if ... else``
-     - TIR ``If`` branch (PrimExpr condition) or static eval (Python bool)
-     - Relax ``If`` node (plain Python ``if cond:`` syntax)
+     - TIR ``IfThenElse``; explicit ``I.constexpr`` selects a Python branch
+     - Relax ``If``; explicit ``I.constexpr`` selects a Python branch
    * - ``while``
      - ``T.While`` loop
      - Not supported
@@ -385,9 +547,9 @@ and how each construct is interpreted:
      - N/A
    * - ``x: R.Tensor(...)``
      - N/A
-     - Struct info annotation
+     - Type annotation
    * - ``return``
-     - Not used
+     - Primitive return expression
      - Function return value
    * - ``A[i, j]``
      - Buffer load
@@ -402,9 +564,9 @@ and how each construct is interpreted:
      - ``T.*`` intrinsics
      - ``R.*`` operators or ``call_tir`` / ``call_packed``
 
-**Not supported**: ``class`` definitions (except for ``@I.ir_module``), ``try/except``,
-``yield``, ``async/await``, list comprehensions, ``lambda``, ``import``, and ``global``
-statements.
+Inside scripted function bodies, unsupported statement forms include ``class``,
+``try/except``, ``import``, and ``global``. ``yield`` and ``async/await`` are also unsupported.
+Place imports and ordinary Python class definitions in the surrounding Python program.
 
 
 TIR Syntax Reference
@@ -417,6 +579,8 @@ Function definition
 
    @T.prim_func
    def func_name(a: T.handle, b: T.handle):
+       m = T.int32()
+       n = T.int32()
        A = T.match_buffer(a, (m, n), "float32")
        B = T.match_buffer(b, (m,), "float32")
        # function body
@@ -428,6 +592,8 @@ Function definition
 Block and axes
 ~~~~~~~~~~~~~~
 
+Use ``@T.prim_func(s_tir=True)`` for functions with scheduled-TIR blocks and block axes.
+
 .. code-block:: python
 
    for i, j in T.grid(128, 128):
@@ -472,7 +638,7 @@ Common intrinsics
    T.cast(x, "float16")                              # type cast
    T.if_then_else(cond, true_val, false_val)          # conditional expression
    T.min(a, b), T.max(a, b)                           # min/max
-   T.call_extern("func_name", *args)                  # external function call
+   T.call_extern("int32", "func_name", *args)                  # external function call
    T.call_packed("func_name", *args)                   # packed function call
    T.tvm_storage_sync("shared")                        # GPU memory fence
 
@@ -514,9 +680,9 @@ Calling TIR functions
 
 .. code-block:: python
 
-   out = R.call_tir(cls.my_kernel, (x, y), out_ty=R.Tensor((128,), "float32"))
+   out = R.call_tir(MyModule.my_kernel, (x, y), out_ty=R.Tensor((128,), "float32"))
 
-- ``cls.my_kernel`` — references a TIR ``PrimFunc`` in the same module.
+- ``MyModule.my_kernel`` — references a TIR ``PrimFunc`` in the same module.
 - ``out_ty`` — the type (shape and dtype) of the output tensor.
 
 Control flow
@@ -534,42 +700,3 @@ boolean type. Both branches are required.
        else:
            result = R.multiply(x, x)
        return result
-
-
-Source Code Map
----------------
-
-.. list-table::
-   :header-rows: 1
-   :widths: 50 50
-
-   * - Path
-     - Contents
-   * - ``python/tvm/script/parser/core/``
-     - Core parser: dispatch, expression evaluator, variable table, Doc AST
-   * - ``python/tvm/script/parser/tirx/``
-     - TIR-specific parser handlers and value binding
-   * - ``python/tvm/script/parser/relax/``
-     - Relax-specific parser handlers and value binding
-   * - ``python/tvm/script/parser/ir/``
-     - ``@I.ir_module`` entry point and module-level parsing
-   * - ``python/tvm/script/ir_builder/base.py``
-     - IRBuilder base class and frame stack mechanism
-   * - ``python/tvm/script/ir_builder/tirx/``
-     - TIR frame types and builder functions (``T.*``)
-   * - ``python/tvm/script/ir_builder/relax/``
-     - Relax frame types and builder functions (``R.*``)
-   * - ``python/tvm/script/ir_builder/ir/``
-     - IRModule builder (``I.*``)
-   * - ``src/script/printer/``
-     - C++ printer: Doc tree, IRDocsifier, Python code generation
-   * - ``src/script/printer/tirx/``
-     - TIR-specific IR-to-Doc converters
-   * - ``src/script/printer/relax/``
-     - Relax-specific IR-to-Doc converters
-   * - ``src/script/ir_builder/``
-     - C++ backend for frame stack and IR construction
-   * - ``include/tvm/script/printer/``
-     - C++ headers: Doc classes, IRDocsifier, dispatch functor
-   * - ``include/tvm/script/ir_builder/``
-     - C++ headers: builder base, dialect-specific frame types
diff --git a/docs/_sources/deep_dive/relax/tutorials/relax_creation.rst b/docs/_sources/deep_dive/relax/tutorials/relax_creation.rst
index 9ad02e31507..31219814c15 100644
--- a/docs/_sources/deep_dive/relax/tutorials/relax_creation.rst
+++ b/docs/_sources/deep_dive/relax/tutorials/relax_creation.rst
@@ -76,6 +76,8 @@ high-level Relax operators using TVMScript.
 
     # from typing import TypeVar
     # from tvm.script import ir as I
+    # from tvm.script import tirx as T
+    # from tvm.tirx.layout import Axis
     # from tvm.script import relax as R
 
     n = TypeVar("n")
@@ -83,6 +85,7 @@ high-level Relax operators using TVMScript.
     class Module:
         @R.function
         def forward(data: R.Tensor((n, 784), dtype="float32"), w0: R.Tensor((128, 784), dtype="float32"), b0: R.Tensor((128,), dtype="float32"), w1: R.Tensor((10, 128), dtype="float32"), b1: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             with R.dataflow():
                 lv: R.Tensor((784, 128), dtype="float32") = R.permute_dims(w0, axes=None)
                 lv1: R.Tensor((n, 128), dtype="float32") = R.matmul(data, lv, out_dtype=None)
@@ -163,16 +166,19 @@ TensorIR functions in Relax function.
     class Module:
         @T.prim_func(s_tir=True)
         def relu(X: T.Buffer((n, m), "float32"), Y: T.Buffer((n, m), "float32")):
+            m = T.int64()
+            n = T.int64()
             # with T.sblock("root"):
             for i, j in T.grid(n, m):
                 with T.sblock("relu"):
-                    vi, vj = T.axis.remap("SS", [i, j])
-                    T.reads(X[vi, vj])
-                    T.writes(Y[vi, vj])
-                    Y[vi, vj] = T.max(X[vi, vj], T.float32(0.0))
+                    v, v_1 = T.axis.remap("SS", [i, j])
+                    T.reads(X[v, v_1])
+                    T.writes(Y[v, v_1])
+                    Y[v, v_1] = T.max(X[v, v_1], T.float32(0.0))
 
         @R.function
         def forward(data: R.Tensor((n, 784), dtype="float32"), w0: R.Tensor((128, 784), dtype="float32"), b0: R.Tensor((128,), dtype="float32"), w1: R.Tensor((10, 128), dtype="float32"), b1: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             cls = Module
             with R.dataflow():
                 lv: R.Tensor((784, 128), dtype="float32") = R.permute_dims(w0, axes=None)
@@ -276,6 +282,8 @@ After we define the NNModule, we can export it to TVM IRModule via
 
     # from typing import TypeVar
     # from tvm.script import ir as I
+    # from tvm.script import tirx as T
+    # from tvm.tirx.layout import Axis
     # from tvm.script import relax as R
 
     n = TypeVar("n")
@@ -283,6 +291,7 @@ After we define the NNModule, we can export it to TVM IRModule via
     class Module:
         @R.function
         def forward(x: R.Tensor((n, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             R.func_attr({"num_input": 1})
             with R.dataflow():
                 permute_dims: R.Tensor((784, 128), dtype="float32") = R.permute_dims(fc1_weight, axes=None)
@@ -386,6 +395,7 @@ Tensor Expression(TE), TensorIR functions or other TVM packed functions.
     class Module:
         @T.prim_func(private=True, s_tir=True)
         def relu(env_linear: T.Buffer((n, T.int64(128)), "float32"), compute: T.Buffer((n, T.int64(128)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for i0, i1 in T.grid(n, T.int64(128)):
@@ -397,24 +407,28 @@ Tensor Expression(TE), TensorIR functions or other TVM packed functions.
 
         @T.prim_func(s_tir=True)
         def tir_linear(X: T.Buffer((M, K), "float32"), W: T.Buffer((N, K), "float32"), B: T.Buffer((N,), "float32"), Z: T.Buffer((M, N), "float32")):
+            K = T.int64()
+            M = T.int64()
+            N = T.int64()
             # with T.sblock("root"):
             for i, j, k in T.grid(M, N, K):
                 with T.sblock("linear"):
-                    vi, vj, vk = T.axis.remap("SSR", [i, j, k])
-                    T.reads(X[vi, vk], W[vj, vk])
-                    T.writes(Z[vi, vj])
+                    v, v_1, v_2 = T.axis.remap("SSR", [i, j, k])
+                    T.reads(X[v, v_2], W[v_1, v_2])
+                    T.writes(Z[v, v_1])
                     with T.init():
-                        Z[vi, vj] = T.float32(0.0)
-                    Z[vi, vj] = Z[vi, vj] + X[vi, vk] * W[vj, vk]
+                        Z[v, v_1] = T.float32(0.0)
+                    Z[v, v_1] = Z[v, v_1] + X[v, v_2] * W[v_1, v_2]
             for i, j in T.grid(M, N):
                 with T.sblock("add"):
-                    vi, vj = T.axis.remap("SS", [i, j])
-                    T.reads(Z[vi, vj], B[vj])
-                    T.writes(Z[vi, vj])
-                    Z[vi, vj] = Z[vi, vj] + B[vj]
+                    v, v_1 = T.axis.remap("SS", [i, j])
+                    T.reads(Z[v, v_1], B[v_1])
+                    T.writes(Z[v, v_1])
+                    Z[v, v_1] = Z[v, v_1] + B[v_1]
 
         @R.function
         def forward(x: R.Tensor((n, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             R.func_attr({"num_input": 1})
             cls = Module
             with R.dataflow():
@@ -471,6 +485,8 @@ customized pass.
 
     # from typing import TypeVar
     # from tvm.script import ir as I
+    # from tvm.script import tirx as T
+    # from tvm.tirx.layout import Axis
     # from tvm.script import relax as R
 
     v = TypeVar("v")
@@ -478,6 +494,7 @@ customized pass.
     class Module:
         @R.function
         def forward(x: R.Tensor((v, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((v, 10), dtype="float32"):
+            v = T.int64()
             with R.dataflow():
                 lv: R.Tensor((784, 128), dtype="float32") = R.permute_dims(fc1_weight, axes=None)
                 lv1: R.Tensor((v, 128), dtype="float32") = R.matmul(x, lv, out_dtype=None)
@@ -550,6 +567,7 @@ Relax functions, TensorIR functions and other TVM packed functions.
     class Module:
         @T.prim_func(private=True, s_tir=True)
         def relu(lv: T.Buffer((v, T.int64(128)), "float32"), compute: T.Buffer((v, T.int64(128)), "float32")):
+            v = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for i0, i1 in T.grid(v, T.int64(128)):
@@ -561,24 +579,28 @@ Relax functions, TensorIR functions and other TVM packed functions.
 
         @T.prim_func(s_tir=True)
         def tir_linear(X: T.Buffer((M, K), "float32"), W: T.Buffer((N, K), "float32"), B: T.Buffer((N,), "float32"), Z: T.Buffer((M, N), "float32")):
+            K = T.int64()
+            M = T.int64()
+            N = T.int64()
             # with T.sblock("root"):
             for i, j, k in T.grid(M, N, K):
                 with T.sblock("linear"):
-                    vi, vj, vk = T.axis.remap("SSR", [i, j, k])
-                    T.reads(X[vi, vk], W[vj, vk])
-                    T.writes(Z[vi, vj])
+                    v, v_1, v_2 = T.axis.remap("SSR", [i, j, k])
+                    T.reads(X[v, v_2], W[v_1, v_2])
+                    T.writes(Z[v, v_1])
                     with T.init():
-                        Z[vi, vj] = T.float32(0.0)
-                    Z[vi, vj] = Z[vi, vj] + X[vi, vk] * W[vj, vk]
+                        Z[v, v_1] = T.float32(0.0)
+                    Z[v, v_1] = Z[v, v_1] + X[v, v_2] * W[v_1, v_2]
             for i, j in T.grid(M, N):
                 with T.sblock("add"):
-                    vi, vj = T.axis.remap("SS", [i, j])
-                    T.reads(Z[vi, vj], B[vj])
-                    T.writes(Z[vi, vj])
-                    Z[vi, vj] = Z[vi, vj] + B[vj]
+                    v, v_1 = T.axis.remap("SS", [i, j])
+                    T.reads(Z[v, v_1], B[v_1])
+                    T.writes(Z[v, v_1])
+                    Z[v, v_1] = Z[v, v_1] + B[v_1]
 
         @R.function
         def forward(x: R.Tensor((v, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((v, 10), dtype="float32"):
+            v = T.int64()
             cls = Module
             with R.dataflow():
                 lv = R.call_dps_packed("env.linear", (x, fc1_weight, fc1_bias), out_ty=R.Tensor((v, 128), dtype="float32"))
diff --git a/docs/_sources/deep_dive/relax/tutorials/relax_transformation.rst b/docs/_sources/deep_dive/relax/tutorials/relax_transformation.rst
index 38d5bfdb181..33a5b4509ca 100644
--- a/docs/_sources/deep_dive/relax/tutorials/relax_transformation.rst
+++ b/docs/_sources/deep_dive/relax/tutorials/relax_transformation.rst
@@ -68,6 +68,8 @@ the :ref:`previous section <relax-creation>`.
 
     # from typing import TypeVar
     # from tvm.script import ir as I
+    # from tvm.script import tirx as T
+    # from tvm.tirx.layout import Axis
     # from tvm.script import relax as R
 
     n = TypeVar("n")
@@ -75,6 +77,7 @@ the :ref:`previous section <relax-creation>`.
     class Module:
         @R.function
         def forward(x: R.Tensor((n, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             R.func_attr({"num_input": 1})
             with R.dataflow():
                 permute_dims: R.Tensor((784, 128), dtype="float32") = R.permute_dims(fc1_weight, axes=None)
@@ -128,6 +131,7 @@ into low-level operators.
     class Module:
         @T.prim_func(private=True, s_tir=True)
         def add(matmul: T.Buffer((n, T.int64(128)), "float32"), fc1_bias: T.Buffer((T.int64(128),), "float32"), T_add: T.Buffer((n, T.int64(128)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for ax0, ax1 in T.grid(n, T.int64(128)):
@@ -139,6 +143,7 @@ into low-level operators.
 
         @T.prim_func(private=True, s_tir=True)
         def add1(matmul1: T.Buffer((n, T.int64(10)), "float32"), fc2_bias: T.Buffer((T.int64(10),), "float32"), T_add: T.Buffer((n, T.int64(10)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for ax0, ax1 in T.grid(n, T.int64(10)):
@@ -150,6 +155,7 @@ into low-level operators.
 
         @T.prim_func(private=True, s_tir=True)
         def matmul(x: T.Buffer((n, T.int64(784)), "float32"), permute_dims: T.Buffer((T.int64(784), T.int64(128)), "float32"), matmul: T.Buffer((n, T.int64(128)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for i0, i1, k in T.grid(n, T.int64(128), T.int64(784)):
@@ -163,6 +169,7 @@ into low-level operators.
 
         @T.prim_func(private=True, s_tir=True)
         def matmul1(relu: T.Buffer((n, T.int64(128)), "float32"), permute_dims1: T.Buffer((T.int64(128), T.int64(10)), "float32"), matmul: T.Buffer((n, T.int64(10)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for i0, i1, k in T.grid(n, T.int64(10), T.int64(128)):
@@ -176,6 +183,7 @@ into low-level operators.
 
         @T.prim_func(private=True, s_tir=True)
         def relu(add: T.Buffer((n, T.int64(128)), "float32"), compute: T.Buffer((n, T.int64(128)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             for i0, i1 in T.grid(n, T.int64(128)):
@@ -209,6 +217,7 @@ into low-level operators.
 
         @R.function
         def forward(x: R.Tensor((n, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             R.func_attr({"num_input": 1})
             cls = Module
             with R.dataflow():
@@ -269,6 +278,7 @@ a set of passes. We can apply them in a sequence.
     class Module:
         @T.prim_func(private=True, s_tir=True)
         def fused_matmul1_add1(relu: T.Buffer((n, T.int64(128)), "float32"), permute_dims1: T.Buffer((T.int64(128), T.int64(10)), "float32"), fc2_bias: T.Buffer((T.int64(10),), "float32"), T_add_intermediate: T.Buffer((n, T.int64(10)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             matmul_intermediate = T.sblock_alloc_buffer((n, T.int64(10)))
@@ -289,6 +299,7 @@ a set of passes. We can apply them in a sequence.
 
         @T.prim_func(private=True, s_tir=True)
         def fused_matmul_add_relu(x: T.Buffer((n, T.int64(784)), "float32"), permute_dims: T.Buffer((T.int64(784), T.int64(128)), "float32"), fc1_bias: T.Buffer((T.int64(128),), "float32"), compute_intermediate: T.Buffer((n, T.int64(128)), "float32")):
+            n = T.int64()
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
             matmul_intermediate = T.sblock_alloc_buffer((n, T.int64(128)))
@@ -338,6 +349,7 @@ a set of passes. We can apply them in a sequence.
 
         @R.function
         def forward(x: R.Tensor((n, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             R.func_attr({"num_input": 1})
             cls = Module
             with R.dataflow():
@@ -429,6 +441,8 @@ Then we can write a pass to apply the mutator to the whole module.
 
     # from typing import TypeVar
     # from tvm.script import ir as I
+    # from tvm.script import tirx as T
+    # from tvm.tirx.layout import Axis
     # from tvm.script import relax as R
 
     n = TypeVar("n")
@@ -436,6 +450,7 @@ Then we can write a pass to apply the mutator to the whole module.
     class Module:
         @R.function
         def forward(x: R.Tensor((n, 784), dtype="float32"), fc1_weight: R.Tensor((128, 784), dtype="float32"), fc1_bias: R.Tensor((128,), dtype="float32"), fc2_weight: R.Tensor((10, 128), dtype="float32"), fc2_bias: R.Tensor((10,), dtype="float32")) -> R.Tensor((n, 10), dtype="float32"):
+            n = T.int64()
             R.func_attr({"num_input": 1})
             with R.dataflow():
                 permute_dims: R.Tensor((784, 128), dtype="float32") = R.permute_dims(fc1_weight, axes=None)
diff --git a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst
index eaff80f723f..b61a49c63f3 100644
--- a/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst
+++ b/docs/_sources/deep_dive/relax/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.224** total execution time for 2 files **from deep_dive/relax/tutorials**:
+**00:00.139** total execution time for 2 files **from deep_dive/relax/tutorials**:
 
 .. container::
 
@@ -33,7 +33,7 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``relax_creation.py``)
-     - 00:00.170
+     - 00:00.085
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``relax_transformation.py``)
      - 00:00.054
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst
index 1521ebe4b4e..edfc886ec66 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:00.750** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
+**00:00.529** total execution time for 4 files **from deep_dive/tensor_ir/tutorials**:
 
 .. container::
 
@@ -33,13 +33,13 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``tir_transformation.py``)
-     - 00:00.312
+     - 00:00.259
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``tir_creation.py``)
-     - 00:00.305
+     - 00:00.138
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``dlight_gpu_scheduling.py``)
-     - 00:00.125
+     - 00:00.124
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``meta_schedule.py``)
      - 00:00.008
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst
index 71e17a3e6ca..ba07aaa1938 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_creation.rst
@@ -481,7 +481,7 @@ is that we need to specify the shape of the input tensors as symbolic variables.
     @I.ir_module
     class Module:
         @T.prim_func(s_tir=True)
-        def mm_relu(A: T.Buffer(("m", "n"), "float32"), B: T.Buffer(("k", n), "float32"), C: T.Buffer((m, n), "float32")):
+        def mm_relu(A: T.Buffer(("m", "n"), "float32"), B: T.Buffer(("k", "n"), "float32"), C: T.Buffer(("m", "n"), "float32")):
             m, n = T.int32(), T.int32()
             k = T.int32()
             T.func_attr({"tirx.noalias": True})
diff --git a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst
index 153905e4136..fee03af1d91 100644
--- a/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst
+++ b/docs/_sources/deep_dive/tensor_ir/tutorials/tir_transformation.rst
@@ -120,7 +120,7 @@ original implementation.
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       2.5420       2.5420       2.5420       2.5420       0.0000                  
+       2.4822       2.4822       2.4822       2.4822       0.0000                  
 
 
 
@@ -219,23 +219,23 @@ The outcome of the transformation can be examined, as it is retained within ``sc
         def main(A: T.Buffer((128, 128), "float32"), B: T.Buffer((128, 128), "float32"), C: T.Buffer((128, 128), "float32")):
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
-            Y = T.sblock_alloc_buffer((128, 128))
+            buffer = T.sblock_alloc_buffer((128, 128))
             for i, j_0, j_1, k in T.grid(128, 16, 8, 128):
                 with T.sblock("Y"):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                    vk = T.axis.reduce(128, k)
-                    T.reads(A[vi, vk], B[vk, vj])
-                    T.writes(Y[vi, vj])
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                    v_2 = T.axis.reduce(128, k)
+                    T.reads(A[v, v_2], B[v_2, v_1])
+                    T.writes(buffer[v, v_1])
                     with T.init():
-                        Y[vi, vj] = T.float32(0.0)
-                    Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                        buffer[v, v_1] = T.float32(0.0)
+                    buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
             for i, j in T.grid(128, 128):
                 with T.sblock("C"):
-                    vi, vj = T.axis.remap("SS", [i, j])
-                    T.reads(Y[vi, vj])
-                    T.writes(C[vi, vj])
-                    C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                    v, v_1 = T.axis.remap("SS", [i, j])
+                    T.reads(buffer[v, v_1])
+                    T.writes(C[v, v_1])
+                    C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
 
 
@@ -274,27 +274,27 @@ action involves reordering these two loops.
         def main(A: T.Buffer((128, 128), "float32"), B: T.Buffer((128, 128), "float32"), C: T.Buffer((128, 128), "float32")):
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
-            Y = T.sblock_alloc_buffer((128, 128))
+            buffer = T.sblock_alloc_buffer((128, 128))
             for i, j_0, k, j_1 in T.grid(128, 16, 128, 8):
                 with T.sblock("Y"):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                    vk = T.axis.reduce(128, k)
-                    T.reads(A[vi, vk], B[vk, vj])
-                    T.writes(Y[vi, vj])
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                    v_2 = T.axis.reduce(128, k)
+                    T.reads(A[v, v_2], B[v_2, v_1])
+                    T.writes(buffer[v, v_1])
                     with T.init():
-                        Y[vi, vj] = T.float32(0.0)
-                    Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                        buffer[v, v_1] = T.float32(0.0)
+                    buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
             for i, j in T.grid(128, 128):
                 with T.sblock("C"):
-                    vi, vj = T.axis.remap("SS", [i, j])
-                    T.reads(Y[vi, vj])
-                    T.writes(C[vi, vj])
-                    C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                    v, v_1 = T.axis.remap("SS", [i, j])
+                    T.reads(buffer[v, v_1])
+                    T.writes(C[v, v_1])
+                    C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.8672       0.8672       0.8672       0.8672       0.0000                  
+       0.8644       0.8644       0.8644       0.8644       0.0000                  
 
 
 
@@ -334,25 +334,25 @@ variant. First, we employ a primitive known as **reverse_compute_at** to relocat
         def main(A: T.Buffer((128, 128), "float32"), B: T.Buffer((128, 128), "float32"), C: T.Buffer((128, 128), "float32")):
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
-            Y = T.sblock_alloc_buffer((128, 128))
+            buffer = T.sblock_alloc_buffer((128, 128))
             for i, j_0 in T.grid(128, 16):
                 for k, j_1 in T.grid(128, 8):
                     with T.sblock("Y"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                        vk = T.axis.reduce(128, k)
-                        T.reads(A[vi, vk], B[vk, vj])
-                        T.writes(Y[vi, vj])
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                        v_2 = T.axis.reduce(128, k)
+                        T.reads(A[v, v_2], B[v_2, v_1])
+                        T.writes(buffer[v, v_1])
                         with T.init():
-                            Y[vi, vj] = T.float32(0.0)
-                        Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                            buffer[v, v_1] = T.float32(0.0)
+                        buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
                 for ax0 in range(8):
                     with T.sblock("C"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + ax0)
-                        T.reads(Y[vi, vj])
-                        T.writes(C[vi, vj])
-                        C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + ax0)
+                        T.reads(buffer[v, v_1])
+                        T.writes(C[v, v_1])
+                        C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
 
 
@@ -397,34 +397,34 @@ from the reduction update via the **decompose_reduction** primitive.
         def main(A: T.Buffer((128, 128), "float32"), B: T.Buffer((128, 128), "float32"), C: T.Buffer((128, 128), "float32")):
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
-            Y = T.sblock_alloc_buffer((128, 128))
+            buffer = T.sblock_alloc_buffer((128, 128))
             for i, j_0 in T.grid(128, 16):
                 for j_1_init in range(8):
                     with T.sblock("Y_init"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + j_1_init)
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + j_1_init)
                         T.reads()
-                        T.writes(Y[vi, vj])
-                        Y[vi, vj] = T.float32(0.0)
+                        T.writes(buffer[v, v_1])
+                        buffer[v, v_1] = T.float32(0.0)
                 for k, j_1 in T.grid(128, 8):
                     with T.sblock("Y_update"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                        vk = T.axis.reduce(128, k)
-                        T.reads(Y[vi, vj], A[vi, vk], B[vk, vj])
-                        T.writes(Y[vi, vj])
-                        Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                        v_2 = T.axis.reduce(128, k)
+                        T.reads(buffer[v, v_1], A[v, v_2], B[v_2, v_1])
+                        T.writes(buffer[v, v_1])
+                        buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
                 for ax0 in range(8):
                     with T.sblock("C"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + ax0)
-                        T.reads(Y[vi, vj])
-                        T.writes(C[vi, vj])
-                        C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + ax0)
+                        T.reads(buffer[v, v_1])
+                        T.writes(C[v, v_1])
+                        C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
     Execution time summary:
      mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)  
-       0.3620       0.3620       0.3620       0.3620       0.0000                  
+       0.3550       0.3550       0.3550       0.3550       0.0000                  
 
 
 
@@ -497,30 +497,30 @@ Alternatively, we can output the IRModule in conjunction with the historical tra
         def main(A: T.Buffer((128, 128), "float32"), B: T.Buffer((128, 128), "float32"), C: T.Buffer((128, 128), "float32")):
             T.func_attr({"tirx.noalias": True})
             # with T.sblock("root"):
-            Y = T.sblock_alloc_buffer((128, 128))
+            buffer = T.sblock_alloc_buffer((128, 128))
             for i, j_0 in T.grid(128, 16):
                 for j_1_init in range(8):
                     with T.sblock("Y_init"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + j_1_init)
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + j_1_init)
                         T.reads()
-                        T.writes(Y[vi, vj])
-                        Y[vi, vj] = T.float32(0.0)
+                        T.writes(buffer[v, v_1])
+                        buffer[v, v_1] = T.float32(0.0)
                 for k, j_1 in T.grid(128, 8):
                     with T.sblock("Y_update"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                        vk = T.axis.reduce(128, k)
-                        T.reads(Y[vi, vj], A[vi, vk], B[vk, vj])
-                        T.writes(Y[vi, vj])
-                        Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                        v_2 = T.axis.reduce(128, k)
+                        T.reads(buffer[v, v_1], A[v, v_2], B[v_2, v_1])
+                        T.writes(buffer[v, v_1])
+                        buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
                 for ax0 in range(8):
                     with T.sblock("C"):
-                        vi = T.axis.spatial(128, i)
-                        vj = T.axis.spatial(128, j_0 * 8 + ax0)
-                        T.reads(Y[vi, vj])
-                        T.writes(C[vi, vj])
-                        C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                        v = T.axis.spatial(128, i)
+                        v_1 = T.axis.spatial(128, j_0 * 8 + ax0)
+                        T.reads(buffer[v, v_1])
+                        T.writes(C[v, v_1])
+                        C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
     # from tvm import s_tir
     def apply_trace(sch: s_tir.Schedule) -> None:
diff --git a/docs/_sources/get_started/tutorials/ir_module.rst b/docs/_sources/get_started/tutorials/ir_module.rst
index 016be3f69b9..a82a75d0118 100644
--- a/docs/_sources/get_started/tutorials/ir_module.rst
+++ b/docs/_sources/get_started/tutorials/ir_module.rst
@@ -696,8 +696,8 @@ We can deploy the IRModule on CPU by specifying the target as ``llvm``.
 
  .. code-block:: none
 
-    [[-0.04867184 -0.10644848 -0.006622   -0.23508126 -0.08174915 -0.15910307
-      -0.06110986 -0.1265544  -0.16523652 -0.06456965]]
+    [[ 0.14976415  0.10440007 -0.25374544  0.04787368 -0.14457259  0.23096867
+      -0.10903104  0.13258487  0.10989155  0.10431907]]
 
 
 
@@ -763,8 +763,8 @@ Now we can compile the IRModule on GPU, the similar way as we did on CPU.
 
  .. code-block:: none
 
-    [[-0.04867173 -0.10644849 -0.00662203 -0.23508126 -0.08174916 -0.15910304
-      -0.06110986 -0.1265544  -0.16523653 -0.06456964]]
+    [[ 0.14976428  0.10440006 -0.2537455   0.0478737  -0.14457262  0.23096868
+      -0.10903098  0.1325849   0.10989155  0.10431912]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/quick_start.rst b/docs/_sources/get_started/tutorials/quick_start.rst
index e6e22996309..c12df772ad1 100644
--- a/docs/_sources/get_started/tutorials/quick_start.rst
+++ b/docs/_sources/get_started/tutorials/quick_start.rst
@@ -224,8 +224,8 @@ different devices.
 
  .. code-block:: none
 
-    [[24602.36  25385.25  26409.281 25733.656 26600.639 26400.383 25085.46
-      25633.912 24406.707 26989.4  ]]
+    [[24821.488 25459.902 25041.283 24970.086 25014.973 24843.13  24488.145
+      24387.871 23608.652 25637.055]]
 
 
 
diff --git a/docs/_sources/get_started/tutorials/sg_execution_times.rst b/docs/_sources/get_started/tutorials/sg_execution_times.rst
index e42202ef6e7..e6a69758ef0 100644
--- a/docs/_sources/get_started/tutorials/sg_execution_times.rst
+++ b/docs/_sources/get_started/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:05.457** total execution time for 2 files **from get_started/tutorials**:
+**00:05.499** total execution time for 2 files **from get_started/tutorials**:
 
 .. container::
 
@@ -33,8 +33,8 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``ir_module.py``)
-     - 00:05.298
+     - 00:05.341
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``quick_start.py``)
-     - 00:00.159
+     - 00:00.157
      - 0.0
diff --git a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst
index f6c358872d1..817deb0e38c 100644
--- a/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst
+++ b/docs/_sources/how_to/tutorials/cross_compilation_and_rpc.rst
@@ -275,7 +275,7 @@ device and returns the measured cost. Network overhead is excluded.
 
  .. code-block:: none
 
-    9.4e-08 secs/op
+    9.2e-08 secs/op
 
 
 
@@ -864,8 +864,8 @@ This workflow is applicable to various deployment scenarios:
     Converted PyTorch model to Relax:
       - Number of parameters: 4
     Using local target for demonstration
-    Exported library to: /tmp/tmpxbrtny9f/model_deployed.so
-    Saved parameters to: /tmp/tmpxbrtny9f/model_params.npz
+    Exported library to: /tmp/tmpeo1gb8yw/model_deployed.so
+    Saved parameters to: /tmp/tmpeo1gb8yw/model_params.npz
 
     RPC workflow (works for any remote device):
     ==================================================
diff --git a/docs/_sources/how_to/tutorials/e2e_opt_model.rst b/docs/_sources/how_to/tutorials/e2e_opt_model.rst
index b64bbf3d0a8..b43ffb4b3f1 100644
--- a/docs/_sources/how_to/tutorials/e2e_opt_model.rst
+++ b/docs/_sources/how_to/tutorials/e2e_opt_model.rst
@@ -54,7 +54,7 @@ PyTorch.
  .. code-block:: none
 
     Downloading: "https://download.pytorch.org/models/resnet18-f37072fd.pth" to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
-       0%|          | 0.00/44.7M [00:00<?, ?B/s]      54%|█████▎    | 24.0M/44.7M [00:00<00:00, 251MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 286MB/s]
+       0%|          | 0.00/44.7M [00:00<?, ?B/s]      76%|███████▋  | 34.1M/44.7M [00:00<00:00, 357MB/s]     100%|██████████| 44.7M/44.7M [00:00<00:00, 377MB/s]
 
 
 
diff --git a/docs/_sources/how_to/tutorials/mix_python_and_tvm_with_pymodule.rst b/docs/_sources/how_to/tutorials/mix_python_and_tvm_with_pymodule.rst
index 498035de2ca..2a509f7bab1 100644
--- a/docs/_sources/how_to/tutorials/mix_python_and_tvm_with_pymodule.rst
+++ b/docs/_sources/how_to/tutorials/mix_python_and_tvm_with_pymodule.rst
@@ -84,7 +84,7 @@ Preparation
 
 Step 1: Your First Hybrid Module
 ----------------------------------
-The core idea: decorate a class with ``@I.ir_module``, inherit from ``BasePyModule``, and use
+The core idea: decorate a class with ``@R.py_module``, inherit from ``BasePyModule``, and use
 three decorators for three kinds of functions:
 
 - ``@T.prim_func`` — low-level TIR kernel (JIT-compiled on instantiation)
@@ -101,7 +101,7 @@ three decorators for three kinds of functions:
 
     if RUN_EXAMPLE:
 
-        @I.ir_module
+        @R.py_module
         class MyFirstModule(BasePyModule):
             @T.prim_func(s_tir=True)
             def add_tir(
@@ -160,7 +160,7 @@ immediately — no recompilation needed.
 
     if RUN_EXAMPLE:
 
-        @I.ir_module
+        @R.py_module
         class DebugModule(BasePyModule):
             @T.prim_func(s_tir=True)
             def matmul_tir(var_A: T.handle, var_B: T.handle, var_C: T.handle):
@@ -251,7 +251,7 @@ three different calling conventions:
             out_np = x_np + b_np
             out[:] = out_np
 
-        @I.ir_module
+        @R.py_module
         class PipelineModule(BasePyModule):
             @T.prim_func(s_tir=True)
             def matmul_tir(var_A: T.handle, var_B: T.handle, var_C: T.handle):
@@ -361,7 +361,7 @@ transformed the IR), and compare the output against a PyTorch reference to catch
         w = torch.randn(4, 4)
         b = torch.randn(4)
 
-        py_result_early = converted_early.pyfuncs["main"](x, w, b)
+        py_result_early = converted_early.__pyfuncs__["main"](x, w, b)
         expected = F.relu(x @ w + b)
 
         print("Before optimization:")
@@ -377,7 +377,7 @@ transformed the IR), and compare the output against a PyTorch reference to catch
         converter_late = RelaxToPyFuncConverter(optimized_mod)
         converted_late = converter_late.convert(["main"])
 
-        py_result_late = converted_late.pyfuncs["main"](x, w, b)
+        py_result_late = converted_late.__pyfuncs__["main"](x, w, b)
 
         print("\nAfter CanonicalizeBindings pass:")
         print("  Converted result:", py_result_late)
@@ -415,7 +415,7 @@ in Python.
 
     if RUN_EXAMPLE:
 
-        @I.ir_module
+        @R.py_module
         class HybridVMModule(BasePyModule):
             @I.pyfunc
             def silu(self, x):
@@ -482,7 +482,7 @@ tensors at call time, so the same module handles different sizes without recompi
 
     if RUN_EXAMPLE:
 
-        @I.ir_module
+        @R.py_module
         class DynamicModule(BasePyModule):
             @T.prim_func(s_tir=True)
             def scale_tir(var_x: T.handle, var_out: T.handle):
diff --git a/docs/_sources/how_to/tutorials/optimize_llm.rst b/docs/_sources/how_to/tutorials/optimize_llm.rst
index 6c9736bb90d..48cdd00eb5c 100644
--- a/docs/_sources/how_to/tutorials/optimize_llm.rst
+++ b/docs/_sources/how_to/tutorials/optimize_llm.rst
@@ -464,6 +464,7 @@ For demonstration, we only show the part of the model architecture. and paramete
     seq_len = TypeVar("seq_len")
     @R.function
     def prefill(input_embed: R.Tensor((1, seq_len, 2048), dtype="float16"), paged_kv_cache: R.Any, packed_params: R.Tuple(R.Tensor((32000, 2048), dtype="float16"), R.Tensor((2560, 2048), dtype="float16"), R.Tensor((2048, 2048), dtype="float16"), R.Tensor((11264, 2048), dtype="float16"), R.Tensor((2048, 5632), dtype="float16"), R.Tensor((2048,), dtype="float16"), R.Tensor((2048,), dtype="float16"), R.Tensor((2560, 2048), dtype="float16"), R.Tensor((2048, 2048), dtype="float16"), R.Tensor( [...]
+        seq_len = T.int64()
         R.func_attr({"num_input": 2})
         with R.dataflow():
             model_embed_tokens_weight1: R.Tensor((32000, 2048), dtype="float16") = packed_params[0]
@@ -475,7 +476,6 @@ For demonstration, we only show the part of the model architecture. and paramete
             model_layers_0_post_attention_layernorm_weight1: R.Tensor((2048,), dtype="float16") = packed_params[6]
             model_layers_1_self_attn_qkv_proj_weight1: R.Tensor((2560, 2048), dtype="float16") = packed_params[7]
             model_layers_1_self_attn_o_proj_weight1: R.Tensor((2048, 2048), dtype="float16") = packed_params[8]
-            model_layers_1_mlp_gate_up_proj_weight1: R.Tensor((11264, 2048), dtype="float16") = packed_params[9]
             ...
 
     Parameters:
diff --git a/docs/_sources/how_to/tutorials/sg_execution_times.rst b/docs/_sources/how_to/tutorials/sg_execution_times.rst
index fe95f6b55cc..552c5c3d3da 100644
--- a/docs/_sources/how_to/tutorials/sg_execution_times.rst
+++ b/docs/_sources/how_to/tutorials/sg_execution_times.rst
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:14.100** total execution time for 8 files **from how_to/tutorials**:
+**00:12.994** total execution time for 8 files **from how_to/tutorials**:
 
 .. container::
 
@@ -33,22 +33,22 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``optimize_llm.py``)
-     - 00:09.320
+     - 00:08.282
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``import_model.py``)
-     - 00:03.308
+     - 00:03.326
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``e2e_opt_model.py``)
-     - 00:00.658
+     - 00:00.587
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``cross_compilation_and_rpc.py``)
-     - 00:00.473
+     - 00:00.476
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``customize_opt.py``)
-     - 00:00.294
+     - 00:00.292
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``bring_your_own_codegen.py``)
-     - 00:00.040
+     - 00:00.025
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_mix_python_and_tvm_with_pymodule.py` (``mix_python_and_tvm_with_pymodule.py``)
      - 00:00.004
diff --git a/docs/_sources/reference/api/python/relax/relax.rst b/docs/_sources/reference/api/python/relax/relax.rst
index 28cdc5e32b9..7ae33599870 100644
--- a/docs/_sources/reference/api/python/relax/relax.rst
+++ b/docs/_sources/reference/api/python/relax/relax.rst
@@ -17,6 +17,7 @@
 
 tvm.relax
 ---------
+
 .. automodule:: tvm.relax
     :members:
     :imported-members:
diff --git a/docs/_sources/reference/api/python/script/ir_builder.rst b/docs/_sources/reference/api/python/script/ir_builder.rst
index 201090a0e4c..150d4a43de2 100644
--- a/docs/_sources/reference/api/python/script/ir_builder.rst
+++ b/docs/_sources/reference/api/python/script/ir_builder.rst
@@ -23,17 +23,23 @@ tvm.script.ir_builder
 .. automodule:: tvm.script.ir_builder
    :members:
    :imported-members:
+   :exclude-members: Any
 
 tvm.script.ir_builder.ir
 ************************
+The :class:`~tvm.script.ir_builder.IRBuilder` class is also available as
+``tvm.script.ir_builder.ir.IRBuilder``.
+
 .. automodule:: tvm.script.ir_builder.ir
    :members:
    :imported-members:
+   :exclude-members: GenericConst, IRBuilder, Range, StringImm, StringType
 
 tvm.script.ir_builder.relax
 ***************************
 .. automodule:: tvm.script.ir_builder.relax
    :members:
+   :exclude-members: ExternFunc, ShapeExpr, TupleGetItem, Range
 
 tvm.script.ir_builder.relax.distributed
 ***************************************
diff --git a/docs/_sources/reference/api/python/script/parser.rst b/docs/_sources/reference/api/python/script/parser.rst
index 583b27b2761..716738c747c 100644
--- a/docs/_sources/reference/api/python/script/parser.rst
+++ b/docs/_sources/reference/api/python/script/parser.rst
@@ -24,6 +24,9 @@ tvm.script.parser
    :members:
    :imported-members:
 
+The language variant aliases below share the public construction namespaces documented
+in :doc:`script`. Parser entry points above use the canonical frontend.
+
 tvm.script.parser.ir
 ********************
 .. automodule:: tvm.script.parser.ir
diff --git a/docs/_sources/reference/api/python/script/script.rst b/docs/_sources/reference/api/python/script/script.rst
index 5e819bd1bba..096b4413e89 100644
--- a/docs/_sources/reference/api/python/script/script.rst
+++ b/docs/_sources/reference/api/python/script/script.rst
@@ -23,13 +23,28 @@ tvm.script
 .. automodule:: tvm.script
    :members:
    :imported-members:
+   :exclude-members: Any
 
 tvm.script.relax
 ****************
 .. automodule:: tvm.script.relax
    :members:
+   :exclude-members: ExternFunc, ShapeExpr, TupleGetItem, Range, function, macro
+
+.. autofunction:: tvm.script.relax.function
+
+.. autofunction:: tvm.script.relax.macro
 
 tvm.script.tirx
 ***************
 .. automodule:: tvm.script.tirx
    :members:
+   :exclude-members: Range, meta_var, Var, Call, CommReducer, Reduce, SMEMPool, TMEMPool, FloatImm, IntImm, Cast, Add, Sub, Mul, Div, Mod, FloorDiv, FloorMod, LShift, RShift, BitwiseAnd, BitwiseOr, BitwiseXor, BitwiseNot, Min, Max, EQ, NE, LT, LE, GT, GE, And, Or, Not, Select, Ramp, Broadcast, Shuffle, CallEffectKind, IterVar, prim_func, jit, inline, macro
+
+.. autofunction:: tvm.script.tirx.prim_func
+
+.. autofunction:: tvm.script.tirx.jit
+
+.. autofunction:: tvm.script.tirx.inline
+
+.. autofunction:: tvm.script.tirx.macro
diff --git a/docs/_sources/sg_execution_times.rst b/docs/_sources/sg_execution_times.rst
index ca37807b9c5..28db313d989 100644
--- a/docs/_sources/sg_execution_times.rst
+++ b/docs/_sources/sg_execution_times.rst
@@ -6,7 +6,7 @@
 
 Computation times
 =================
-**00:20.532** total execution time for 16 files **from all galleries**:
+**00:19.161** total execution time for 16 files **from all galleries**:
 
 .. container::
 
@@ -33,43 +33,43 @@ Computation times
      - Time
      - Mem (MB)
    * - :ref:`sphx_glr_how_to_tutorials_optimize_llm.py` (``../how_to/tutorials/optimize_llm.py``)
-     - 00:09.320
+     - 00:08.282
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_ir_module.py` (``../get_started/tutorials/ir_module.py``)
-     - 00:05.298
+     - 00:05.341
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_import_model.py` (``../how_to/tutorials/import_model.py``)
-     - 00:03.308
+     - 00:03.326
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_e2e_opt_model.py` (``../how_to/tutorials/e2e_opt_model.py``)
-     - 00:00.658
+     - 00:00.587
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_cross_compilation_and_rpc.py` (``../how_to/tutorials/cross_compilation_and_rpc.py``)
-     - 00:00.473
-     - 0.0
-   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
-     - 00:00.312
-     - 0.0
-   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
-     - 00:00.305
+     - 00:00.476
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_customize_opt.py` (``../how_to/tutorials/customize_opt.py``)
-     - 00:00.294
+     - 00:00.292
      - 0.0
-   * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
-     - 00:00.170
+   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_transformation.py` (``../deep_dive/tensor_ir/tutorials/tir_transformation.py``)
+     - 00:00.259
      - 0.0
    * - :ref:`sphx_glr_get_started_tutorials_quick_start.py` (``../get_started/tutorials/quick_start.py``)
-     - 00:00.159
+     - 00:00.157
+     - 0.0
+   * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_tir_creation.py` (``../deep_dive/tensor_ir/tutorials/tir_creation.py``)
+     - 00:00.138
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_dlight_gpu_scheduling.py` (``../deep_dive/tensor_ir/tutorials/dlight_gpu_scheduling.py``)
-     - 00:00.125
+     - 00:00.124
+     - 0.0
+   * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_creation.py` (``../deep_dive/relax/tutorials/relax_creation.py``)
+     - 00:00.085
      - 0.0
    * - :ref:`sphx_glr_deep_dive_relax_tutorials_relax_transformation.py` (``../deep_dive/relax/tutorials/relax_transformation.py``)
      - 00:00.054
      - 0.0
    * - :ref:`sphx_glr_how_to_tutorials_bring_your_own_codegen.py` (``../how_to/tutorials/bring_your_own_codegen.py``)
-     - 00:00.040
+     - 00:00.025
      - 0.0
    * - :ref:`sphx_glr_deep_dive_tensor_ir_tutorials_meta_schedule.py` (``../deep_dive/tensor_ir/tutorials/meta_schedule.py``)
      - 00:00.008
diff --git a/docs/_sources/tirx/api/script.rst b/docs/_sources/tirx/api/script.rst
index f30d5080950..8d905e11f5d 100644
--- a/docs/_sources/tirx/api/script.rst
+++ b/docs/_sources/tirx/api/script.rst
@@ -30,10 +30,10 @@ authoring layers and TIRx IR, see :ref:`tirx-programming-model`.
 
 Parser entry points
 -------------------
-.. automodule:: tvm.tirx.script.parser.entry
-   :members:
+.. automodule:: tvm.script.tirx
+   :members: prim_func, jit, inline, macro
+   :undoc-members:
    :no-index:
-   :exclude-members: TIRInline
 
 Core IR builder
 ---------------
diff --git a/docs/_sources/tirx/tile_primitives/copy_async/dsmem.rst b/docs/_sources/tirx/tile_primitives/copy_async/dsmem.rst
index 0a59fcffe91..6681573e515 100644
--- a/docs/_sources/tirx/tile_primitives/copy_async/dsmem.rst
+++ b/docs/_sources/tirx/tile_primitives/copy_async/dsmem.rst
@@ -141,12 +141,12 @@ chunk's offsets each step:
 
 .. code-block:: python
 
-    if not outer_extents:                                 # one contiguous chunk
+    if Tx.constexpr(not outer_extents):                                 # one contiguous chunk
         Tx.ptx["cp.async.bulk.shared::cluster.shared::cta.mbarrier::complete_tx::bytes"](
             Tx.cast(mapped[1], "uint32"), src_buf.ptr_to(src_st),
             Tx.cast(chunk_bytes, "uint32"), Tx.cast(mapped[0], "uint32"))
     else:
-        for loop_vars in Tx.grid(*outer_extents):          # one chunk per outer coord
+        for loop_vars in T.grid(*outer_extents):              # one chunk per outer coord
             ...  # re-decl src/dst views at the per-chunk offset
             Tx.ptx["cp.async.bulk.shared::cluster.shared::cta.mbarrier::complete_tx::bytes"](
                 Tx.cast(mapped[1], "uint32"), src_ptr,
diff --git a/docs/arch/tvmscript.html b/docs/arch/tvmscript.html
index e13b83573ff..7373add58fc 100644
--- a/docs/arch/tvmscript.html
+++ b/docs/arch/tvmscript.html
@@ -633,9 +633,10 @@ document.write(`
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#overview">Overview</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#decorators">Decorators</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#parser-architecture">Parser Architecture</a><ul class="visible nav section-nav flex-column">
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#dispatch-mechanism">Dispatch mechanism</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#syntax-and-construction-protocol">Syntax and construction protocol</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#parse-flow">Parse flow</a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#variable-table">Variable table</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#definition-and-symbol-scopes">Definition and symbol scopes</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#explicit-host-control-flow">Explicit host control flow</a></li>
 </ul>
 </li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#ir-builder-architecture">IR Builder Architecture</a><ul class="visible nav section-nav flex-column">
@@ -647,7 +648,7 @@ document.write(`
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#printer-architecture">Printer Architecture</a><ul class="visible nav section-nav flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#doc-tree">Doc tree</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#irdocsifier">IRDocsifier</a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#roundtrip-guarantee">Roundtrip guarantee</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#roundtrip">Roundtrip</a></li>
 </ul>
 </li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#supported-python-syntax">Supported Python Syntax</a></li>
@@ -666,7 +667,6 @@ document.write(`
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#control-flow">Control flow</a></li>
 </ul>
 </li>
-<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#source-code-map">Source Code Map</a></li>
 </ul>
             </nav>
         </div>
@@ -682,30 +682,34 @@ document.write(`
 <span id="tvmscript-arch"></span><h1>TVMScript<a class="headerlink" href="#tvmscript" title="Link to this heading">#</a></h1>
 <p>TVMScript is a Python-based domain-specific language (DSL) for writing TVM IR. It lets users
 define <code class="docutils literal notranslate"><span class="pre">IRModule</span></code>s — containing both Relax functions and TIR <code class="docutils literal notranslate"><span class="pre">PrimFunc</span></code>s — using
-familiar Python syntax. Although TVMScript <em>looks</em> like Python, it is <strong>not executed by the
-Python interpreter</strong>. Instead, Python decorators extract the AST from the source code and
-transform it into TVM IR through a dedicated parser and IR builder pipeline.</p>
+familiar Python syntax. Decorators acquire the source and its definition context. A syntax
+transpiler translates the Python AST into a Python builder program; executing that program
+constructs TVM IR. The scripted function body is therefore translated before execution.</p>
 <p>TVMScript serves two roles in the TVM stack:</p>
 <ul class="simple">
 <li><p><strong>Authoring</strong>: users write TIR kernels and Relax programs directly in TVMScript.</p></li>
-<li><p><strong>Roundtrip</strong>: every <code class="docutils literal notranslate"><span class="pre">IRModule</span></code> can be printed back to TVMScript via <code class="docutils literal notranslate"><span class="pre">mod.script()</span></code> and
-re-parsed to produce an equivalent module. This makes TVMScript the primary tool for
-inspecting, debugging, and serializing IR.</p></li>
+<li><p><strong>Roundtrip</strong>: <code class="docutils literal notranslate"><span class="pre">mod.script()</span></code> prints IR as TVMScript, which can be re-parsed with any
+required external symbols to reconstruct equivalent IR. This supports inspection,
+debugging, and serialization of printable IR.</p></li>
 </ul>
 <section id="overview">
 <h2>Overview<a class="headerlink" href="#overview" title="Link to this heading">#</a></h2>
-<p>The TVMScript system has three components:</p>
+<p>TVMScript separates source acquisition, syntax translation, IR construction, and printing:</p>
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>Parsing (Python source → TVM IR):
 
 Python source (TVMScript)
      │
-     ▼  ast.parse + convert
+     ▼  Frontend: source + definition context
      │
-Doc AST (mirror of Python AST)
+Python AST
      │
-     ▼  Parser (dispatch by token: ir / tirx / relax)
+     ▼  Syntax transpiler + construction protocol
      │
-     ▼  IR Builder (frame stack)
+Generated Python builder program
+     │
+     ▼  Frontend: recompose and execute callable
+     │
+     ▼  IR builders (frame stack + dialect policy)
      │
 TVM IR (IRModule, PrimFunc, relax.Function)
 
@@ -724,15 +728,17 @@ TVMScript text
 </pre></div>
 </div>
 <ul class="simple">
-<li><p><strong>Parser</strong> (Python): reads Python source, converts it to a <code class="docutils literal notranslate"><span class="pre">Doc</span> <span class="pre">AST</span></code> (a mirror of
-Python’s <code class="docutils literal notranslate"><span class="pre">ast</span></code> module), then walks the tree using dialect-specific handlers that call
-into the IR builder.</p></li>
-<li><p><strong>IR Builder</strong> (Python + C++): provides a frame-stack API where each <code class="docutils literal notranslate"><span class="pre">with</span></code> block or
-decorator pushes a frame. When the frame exits, the constructed IR is finalized. The builder
-is shared across dialects — TIR and Relax each register their own frame types.</p></li>
-<li><p><strong>Printer</strong> (C++): converts TVM IR objects to a <code class="docutils literal notranslate"><span class="pre">Doc</span></code> tree (an intermediate representation
-of Python syntax), then formats the tree into valid TVMScript text.</p></li>
+<li><p><strong>Frontend</strong> (Python): captures definition context, acquires source, and composes the
+generated callable with its lexical environment. It owns decorators, helper entry points,
+and execution of the builder program.</p></li>
+<li><p><strong>Syntax transpiler</strong> (Python): rewrites Python AST nodes into calls on the selected
+construction namespace. It preserves source scopes, evaluation order, and locations.</p></li>
+<li><p><strong>IR builders</strong> (Python + C++): own typed values, symbol identity, dialect policy, and
+construction frames. Exiting a frame finalizes its IR and attaches it to its parent.</p></li>
+<li><p><strong>Printer</strong> (C++): converts IR to a <code class="docutils literal notranslate"><span class="pre">Doc</span></code> tree and formats it as Python syntax. The
+printer’s Doc tree is separate from the Python AST used for parsing.</p></li>
 </ul>
+<p>All source entry points use the canonical <code class="docutils literal notranslate"><span class="pre">tvm.script.parser</span></code> implementation.</p>
 </section>
 <section id="decorators">
 <h2>Decorators<a class="headerlink" href="#decorators" title="Link to this heading">#</a></h2>
@@ -740,8 +746,13 @@ of Python syntax), then formats the tree into valid TVMScript text.</p></li>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span><span class="w"> </span><span class="nn">tvm.script</span><span class="w"> </span><span class="kn">import</span> <span class="n">ir</span> <span class="k">as</span> <span class="n">I</span>       <span class="c1"># module-level constructs</span>
 <span class="kn">from</span><span class="w"> </span><span class="nn">tvm.script</span><span class="w"> </span><span class="kn">import</span> <span class="n">tirx</span> <span class="k">as</span> <span class="n">T</span>     <span class="c1"># TIR constructs</span>
 <span class="kn">from</span><span class="w"> </span><span class="nn">tvm.script</span><span class="w"> </span><span class="kn">import</span> <span class="n">relax</span> <span class="k">as</span> <span class="n">R</span>    <span class="c1"># Relax constructs</span>
+<span class="kn">from</span><span class="w"> </span><span class="nn">tvm.script.parser.entry</span><span class="w"> </span><span class="kn">import</span> <span class="n">make_macro_decorator</span>
+<span class="kn">from</span><span class="w"> </span><span class="nn">tvm.target</span><span class="w"> </span><span class="kn">import</span> <span class="n">Target</span>
 </pre></div>
 </div>
+<p>These are public authoring APIs. <code class="docutils literal notranslate"><span class="pre">Target</span></code> configures compilation targets; it remains in
+<code class="docutils literal notranslate"><span class="pre">tvm.target</span></code>. Public dialect namespaces expose decorators and source constructors, so
+scripted programs do not need direct imports from builder implementation packages.</p>
 <p>The primary decorators are:</p>
 <ul class="simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">&#64;I.ir_module</span></code>: marks a Python class as an <code class="docutils literal notranslate"><span class="pre">IRModule</span></code>. Each method inside becomes a
@@ -752,7 +763,7 @@ function in the module.</p></li>
 <p>These can be composed:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
 <span class="k">class</span><span class="w"> </span><span class="nc">MyModule</span><span class="p">:</span>
-    <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span>
+    <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">add_kernel</span><span class="p">(</span><span class="n">A</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
                    <span class="n">B</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
                    <span class="n">C</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)):</span>
@@ -765,68 +776,203 @@ function in the module.</p></li>
     <span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="n">x</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
              <span class="n">y</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">))</span> <span class="o">-&gt;</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&qu [...]
         <span class="k">with</span> <span class="n">R</span><span class="o">.</span><span class="n">dataflow</span><span class="p">():</span>
-            <span class="n">out</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">add_kernel</span><span class="p">,</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">),</span>
+            <span class="n">out</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="n">MyModule</span><span class="o">.</span><span class="n">add_kernel</span><span class="p">,</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">),</span>
                              <span class="n">out_ty</span><span class="o">=</span><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">))</span>
             <span class="n">R</span><span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">out</span>
 </pre></div>
 </div>
-<p>When Python encounters <code class="docutils literal notranslate"><span class="pre">&#64;I.ir_module</span></code>, the decorator does <strong>not</strong> execute the class body.
-Instead, it calls <code class="docutils literal notranslate"><span class="pre">tvm.script.parse()</span></code> which extracts the source code of the class,
-builds a Doc AST, and hands it to the parser.</p>
+<p>Python creates the class before invoking <code class="docutils literal notranslate"><span class="pre">&#64;I.ir_module</span></code>. Function decorators inside an
+IR-module class retain method definitions for module construction. The module frontend then
+acquires the source and constructs declarations and bodies in the module’s builder context.
+Standalone <code class="docutils literal notranslate"><span class="pre">&#64;T.prim_func</span></code> and <code class="docutils literal notranslate"><span class="pre">&#64;R.function</span></code> definitions construct their IR immediately.</p>
+<p>A helper can construct expressions or statements in the caller’s active builder frames:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="nd">@make_macro_decorator</span><span class="p">(</span><span class="n">T</span><span class="p">)</span>
+<span class="k">def</span><span class="w"> </span><span class="nf">add_one</span><span class="p">(</span><span class="n">value</span><span class="p">):</span>
+    <span class="k">return</span> <span class="n">value</span> <span class="o">+</span> <span class="mi">1</span>
+</pre></div>
+</div>
+<p>Unlike a function decorator, <code class="docutils literal notranslate"><span class="pre">make_macro_decorator</span></code> does not create an IR function for
+each helper. Its default return behavior is ordinary Python return from the generated
+helper program.
+<code class="docutils literal notranslate"><span class="pre">T.inline</span></code> and the dialect macro decorators are supplied through the same frontend helper
+mechanism.</p>
 </section>
 <section id="parser-architecture">
 <h2>Parser Architecture<a class="headerlink" href="#parser-architecture" title="Link to this heading">#</a></h2>
-<p>The parser lives in <code class="docutils literal notranslate"><span class="pre">python/tvm/script/parser/</span></code>.</p>
-<section id="dispatch-mechanism">
-<h3>Dispatch mechanism<a class="headerlink" href="#dispatch-mechanism" title="Link to this heading">#</a></h3>
-<p>Different IR dialects (TIR, Relax) need different handling for the same Python syntax. For
-example, <code class="docutils literal notranslate"><span class="pre">if</span> <span class="pre">...</span> <span class="pre">else</span></code> inside <code class="docutils literal notranslate"><span class="pre">&#64;T.prim_func</span></code> creates a TIR <code class="docutils literal notranslate"><span class="pre">If</span></code> branch, while the same
-syntax inside <code class="docutils literal notranslate"><span class="pre">&#64;R.function</span></code> creates a Relax <code class="docutils literal notranslate"><span class="pre">If</span></code> node with different semantics.</p>
-<p>The parser maintains a <strong>dispatch token</strong> stack (<code class="docutils literal notranslate"><span class="pre">[&quot;default&quot;]</span></code> initially). When it encounters
-a decorated function, it inspects the decorator to determine the token — <code class="docutils literal notranslate"><span class="pre">&quot;tirx&quot;</span></code> for
-<code class="docutils literal notranslate"><span class="pre">&#64;T.prim_func</span></code>, <code class="docutils literal notranslate"><span class="pre">&quot;relax&quot;</span></code> for <code class="docutils literal notranslate"><span class="pre">&#64;R.function</span></code> — and pushes it onto the stack.</p>
-<p>Each AST node type is dispatched via a virtual table:</p>
-<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>ParseVTable[(token, node_type)] → handler function
-
-Lookup order:
-  1. (current_token, node_type)    e.g. (&quot;tirx&quot;, &quot;For&quot;)
-  2. (&quot;default&quot;, node_type)        e.g. (&quot;default&quot;, &quot;For&quot;)
-  3. generic_visit                  fallback
-</pre></div>
-</div>
-<p>Dialect-specific parsers (<code class="docutils literal notranslate"><span class="pre">parser/tirx/parser.py</span></code>, <code class="docutils literal notranslate"><span class="pre">parser/relax/parser.py</span></code>) register
-handlers using <code class="docutils literal notranslate"><span class="pre">&#64;dispatch.register(token,</span> <span class="pre">type_name)</span></code> decorators.</p>
+<p>The parser lives in <code class="docutils literal notranslate"><span class="pre">python/tvm/script/parser/</span></code>. <code class="docutils literal notranslate"><span class="pre">inspect_source.py</span></code> owns source
+acquisition, the <code class="docutils literal notranslate"><span class="pre">Source</span></code> representation and its coordinate helpers, and definition-context
+capture. Documented functions in <code class="docutils literal notranslate"><span class="pre">entry.py</span></code> manage the parse sequence, callable composition
+and execution.
+The transpiler handles syntax; the builders interpret concrete values. TIRx JIT validation,
+defaults and specialization caching live in <code class="docutils literal notranslate"><span class="pre">tvm.tirx.script.jit</span></code>; shared parser utilities
+remain independent of that policy.</p>
+<section id="syntax-and-construction-protocol">
+<h3>Syntax and construction protocol<a class="headerlink" href="#syntax-and-construction-protocol" title="Link to this heading">#</a></h3>
+<p>A registered function decorator selects a construction namespace. The same Python syntax
+then lowers to operations supplied by that namespace: for example, unmarked <code class="docutils literal notranslate"><span class="pre">if</span></code> creates
+TIR control-flow frames in a primitive function and Relax control-flow frames in a Relax
+function. The transpiler emits these operations without implementing dialect IR semantics.</p>
+<p><code class="docutils literal notranslate"><span class="pre">parser/protocol_registry.py</span></code> owns callable syntax metadata and registration. Argument policies such
+as <code class="docutils literal notranslate"><span class="pre">expr_str</span></code> translate symbolic strings written directly in source expressions, while <code class="docutils literal notranslate"><span class="pre">global_info</span></code>
+preserves a module reference for builder-side lookup. Dtype and placement strings remain
+literal. Captured or computed symbolic shapes must already contain explicit IR variables;
+the parser does not interpret expression strings found inside captured values.
+Registration keeps syntax facts in simple dictionaries keyed by canonical namespace paths.
+Known namespace aliases normalize to the registered path; ordinary captured callables,
+local aliases, methods and closures execute as Python without marker inference. The
+dictionaries retain no source functions or parse captures. Dialects own their namespace
+exports, entry points and aliases and register them with the generic parser.
+The registry selects a call’s argument policy before traversal and reuses positional
+parameter names computed once at registration;
+<code class="docutils literal notranslate"><span class="pre">parser/expr_str_handling.py</span></code> decodes annotation/expression strings and maps their
+escaped, multiline and UTF-8 source ranges. The main visitor rewrites the decoded syntax.</p>
+<p>Assignments become binding operations, standalone expressions become emission operations,
+and loops and scopes become builder contexts. An ordinary assignment passes its evaluated
+RHS and a separate <code class="docutils literal notranslate"><span class="pre">value_span</span></code> to <code class="docutils literal notranslate"><span class="pre">bind_</span></code>, without first stamping the returned value.
+The binding target has its own span. TIRx preserves returned Vars, including BufferVars,
+and ordinary metadata objects; other expressions follow the dialect’s binding rules.
+Construction still runs in the source context, and nested expressions retain their locations.
+Concrete binding, type checking, comparison construction, and frame finalization belong to
+the builders. Ordinary host calls and
+operator overloads execute as part of the generated Python program.</p>
+<p>Loop frames create their named variables during construction. Entering a frame returns
+the variable directly for one dimension and the variable sequence for multiple dimensions,
+so ordinary Python uses <code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">T.serial(0,</span> <span class="pre">n)</span> <span class="pre">as</span> <span class="pre">i</span></code>. Generated scalar loops use the same
+entry form. Generated tuple, list and starred targets unpack the entered frame’s stable
+<code class="docutils literal notranslate"><span class="pre">vars</span></code> sequence, preserving explicit one-dimensional unpacking and native variable identity.</p>
+<p>Parser syntax restrictions raise <code class="docutils literal notranslate"><span class="pre">SyntaxError</span></code> with the original filename and source
+range. Python helper and builder exceptions propagate unchanged, preserving their identity,
+type and source-mapped traceback. Temporary parser contexts are released on both successful
+and exceptional exits.</p>
 </section>
 <section id="parse-flow">
 <h3>Parse flow<a class="headerlink" href="#parse-flow" title="Link to this heading">#</a></h3>
-<p>The entry point is <code class="docutils literal notranslate"><span class="pre">parse(program,</span> <span class="pre">extra_vars)</span></code>:</p>
+<p>The public entry points include <code class="docutils literal notranslate"><span class="pre">tvm.script.parse</span></code> and <code class="docutils literal notranslate"><span class="pre">tvm.script.from_source</span></code>:</p>
 <ol class="arabic simple">
-<li><p><strong>Source extraction</strong>: the program’s source code is extracted (from a class, function, or
-string) and converted to a Doc AST via Python’s <code class="docutils literal notranslate"><span class="pre">ast</span></code> module.</p></li>
-<li><p><strong>AST walking</strong>: the <code class="docutils literal notranslate"><span class="pre">Parser</span></code> (a subclass of <code class="docutils literal notranslate"><span class="pre">doc.NodeVisitor</span></code>) walks the Doc AST.
-For each node, it looks up the handler in the dispatch table.</p></li>
-<li><p><strong>Expression evaluation</strong>: expressions like <code class="docutils literal notranslate"><span class="pre">T.grid(128,</span> <span class="pre">128)</span></code> are evaluated by the
-<code class="docutils literal notranslate"><span class="pre">ExprEvaluator</span></code>, which resolves names against the variable table and the <code class="docutils literal notranslate"><span class="pre">T.</span></code>/<code class="docutils literal notranslate"><span class="pre">R.</span></code>
-module namespaces.</p></li>
-<li><p><strong>Value binding</strong>: assignment statements (<code class="docutils literal notranslate"><span class="pre">A</span> <span class="pre">=</span> <span class="pre">T.match_buffer(...)</span></code> in TIR,
-<code class="docutils literal notranslate"><span class="pre">lv</span> <span class="pre">=</span> <span class="pre">R.add(x,</span> <span class="pre">y)</span></code> in Relax) go through dialect-specific <code class="docutils literal notranslate"><span class="pre">bind_*_value()</span></code> functions
-that register the resulting TVM objects in the parser’s <code class="docutils literal notranslate"><span class="pre">VarTable</span></code>.</p></li>
-<li><p><strong>Scoping</strong>: the <code class="docutils literal notranslate"><span class="pre">VarTable</span></code> maintains a stack of frames. Entering a <code class="docutils literal notranslate"><span class="pre">with</span></code> block,
-<code class="docutils literal notranslate"><span class="pre">for</span></code> loop, or function body pushes a new frame; exiting pops it. This ensures variables
-are scoped correctly.</p></li>
+<li><p><strong>Acquire source and context</strong>: the frontend accepts a function, class, or source string,
+obtains its Python AST, and retains source locations. Decorators capture the definition
+context temporarily through <code class="docutils literal notranslate"><span class="pre">definition_scope</span></code>; source-string callers can supply
+external bindings through <code class="docutils literal notranslate"><span class="pre">extra_vars</span></code>. Source inspection belongs to
+<code class="docutils literal notranslate"><span class="pre">parser.inspect_source</span></code>.</p></li>
+<li><p><strong>Prescan and translate syntax</strong>: acquisition supplies a fresh owned AST. One
+<code class="docutils literal notranslate"><span class="pre">PrescanCollector</span></code> produces read-only <code class="docutils literal notranslate"><span class="pre">PrescanContext</span></code> facts for reserved names,
+scoped declarations and conditional outputs. <code class="docutils literal notranslate"><span class="pre">IRBuilderTranspiler</span></code> rewrites that owned
+tree with the standard Python AST visitor, using fixed namespace metadata and registered
+argument policies without copying or reparsing the tree. One shared name allocator
+avoids collisions with user identifiers through rewriting and recomposition.</p></li>
+<li><p><strong>Compose the callable</strong>: the private frontend helper <code class="docutils literal notranslate"><span class="pre">_recompose_builder</span></code> compiles
+the generated program with the source’s globals, closure bindings, and necessary
+annotation context. Explicit temporary phase inputs connect generated helpers to
+their source functions without rediscovering them through a generated-AST walk.</p></li>
+<li><p><strong>Execute construction</strong>: the callable enters native builder frames and reconstructs
+declarations and annotations in their required context. When forward declarations are
+needed, it declares all signatures first. Inside each retained native function frame,
+it defines and calls a lexical body helper without an explicit frame argument. Re-entry
+uses the existing parameters instead of adding them again. Native frames own module
+references, results and function-local symbols.</p></li>
+<li><p><strong>Validate and return IR</strong>: generated code calls the dialect’s
+<code class="docutils literal notranslate"><span class="pre">X.check_well_formed_</span></code> for a completed function or the shared
+<code class="docutils literal notranslate"><span class="pre">I.check_well_formed_</span></code> for a completed module. Public parsing validates by default.
+Parsing owns execution and releases its temporary builder and captures afterward.</p></li>
 </ol>
 </section>
-<section id="variable-table">
-<h3>Variable table<a class="headerlink" href="#variable-table" title="Link to this heading">#</a></h3>
-<p>The <code class="docutils literal notranslate"><span class="pre">VarTable</span></code> is the parser’s symbol table:</p>
-<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>VarTable
-├── frames: [VarTableFrame, ...]    ← stack of scopes
-└── name2value: {str: [Any, ...]}   ← name → value stack (for shadowing)
+<section id="definition-and-symbol-scopes">
+<h3>Definition and symbol scopes<a class="headerlink" href="#definition-and-symbol-scopes" title="Link to this heading">#</a></h3>
+<p>Python lexical bindings and DSL symbolic declarations have different owners. The frontend
+captures the exact definition scope during decoration, including enclosing names used only
+in annotations that Python may omit from the function’s closure. Ordinary body references
+retain their source globals and closure bindings. Unrelated callers’ local variables do not
+become part of this environment.</p>
+<p>Annotations are reconstructed as builder operations within the module/function context.
+The generated program preserves their definition scope and original names, using a
+distinct compiler binding only when a source-local binding would shadow the annotation.
+One prescan-seeded name allocator serves rewriting and callable recomposition. Body
+globals and closures retain their original lookup, including a method closure whose name
+also appears as a class member. Callable recomposition and
+lexical environment setup belong to the frontend. The transpiler preserves source scopes
+through Python syntax; it does not classify each name by membership in a runtime environment
+or search caller stacks for values.</p>
+<p>DSL expression strings such as <code class="docutils literal notranslate"><span class="pre">R.Tensor((&quot;n&quot;,</span> <span class="pre">4),</span> <span class="pre">&quot;float32&quot;)</span></code> use
+<code class="docutils literal notranslate"><span class="pre">X.resolve_type_var_(&quot;n&quot;)</span></code>, which delegates to the nearest native function frame’s
+<code class="docutils literal notranslate"><span class="pre">type_var_map</span></code>. Repeated names refer to the same symbol across parameters, return
+annotations and the body. Quoted lookup does not introduce a Python name; an explicit
+symbol declaration does. A Python name in <code class="docutils literal notranslate"><span class="pre">R.Tensor((n,</span> <span class="pre">4),</span> <span class="pre">...)</span></code> follows its source
+lexical scope. Module global-info references use <code class="docutils literal notranslate"><span class="pre">I.resolve_global_info_</span></code> against the
+active native module frame’s existing map.</p>
+<p>During rewriting, each needed source range becomes a fixed native span entry in an
+injected table. <code class="docutils literal notranslate"><span class="pre">_S[i](value)</span></code> attaches that location while preserving identity;
+<code class="docutils literal notranslate"><span class="pre">_S[i].ctx(lambda:</span> <span class="pre">helper(value))</span></code> evaluates the callee and arguments once within
+the source context and restores it on success or failure. Entries live in
+<code class="docutils literal notranslate"><span class="pre">ir_builder.base</span></code> and retain no AST or active caller context. Dynamic caller/definition
+provenance is composed when an entry is used. Ordinary names, Python literals, fixed
+namespace/callee lookup and structural indexing tuples need no entries. Arithmetic and
+buffer loads retain their own expression ranges.</p>
+<p>Generated hooks receive entries explicitly: <code class="docutils literal notranslate"><span class="pre">X.for_(X.range_(3),</span> <span class="pre">names=&quot;i&quot;,</span> <span class="pre">span=_S[i])</span></code>
+and <code class="docutils literal notranslate"><span class="pre">X.emit_(value,</span> <span class="pre">span=_S[j])</span></code> own their result locations. A callable registered with
+<code class="docutils literal notranslate"><span class="pre">result_span</span></code> promises that its complete IR effect is represented by its returned node
+or emission receipt, allowing result attachment without a construction context. Opaque
+helpers still require <code class="docutils literal notranslate"><span class="pre">.ctx</span></code> to locate internal effects. At an ordinary assignment boundary,
+<code class="docutils literal notranslate"><span class="pre">.ctx(...,</span> <span class="pre">attach_result=False)</span></code> preserves construction context while leaving the returned
+value’s attribution to <code class="docutils literal notranslate"><span class="pre">bind_</span></code> through its separate <code class="docutils literal notranslate"><span class="pre">value_span</span></code>.
+The parser-owned <code class="docutils literal notranslate"><span class="pre">parser.protocol_registry</span></code> module defines registration APIs, metadata and
+persistent registration state. Dialects apply these policies beside concrete definitions,
+constructor creation or necessary exposure sites, without namespace scans or bulk
+registration inventories. Dialect <code class="docutils literal notranslate"><span class="pre">parser_protocol</span></code> modules implement construction hooks. The shared
+<code class="docutils literal notranslate"><span class="pre">ir_builder.ir.parser_protocol</span></code> documents the detailed builder-hook contract and links
+to the registry for special syntax policies. Dialect hooks retain typed signatures and
+document only their specific behavior. For example, dialects import <code class="docutils literal notranslate"><span class="pre">args_policy</span></code>
+from <code class="docutils literal notranslate"><span class="pre">tvm.script.parser.protocol_registry</span></code> to register literal argument policies.</p>
+<p>Ordinary assignments pass returned values to <code class="docutils literal notranslate"><span class="pre">bind_</span></code>. TIRx Vars keep their exact identity,
+producer names and spans, including scope variables, block axes and explicit <code class="docutils literal notranslate"><span class="pre">T.bind</span></code>
+results. This behavior belongs to the builder’s value handling and requires no parser
+producer classification. Self-emitting builders return <code class="docutils literal notranslate"><span class="pre">AlreadyEmitted[T]</span></code> so
+source-location handling can annotate the emitted object without emitting it twice.
+Layout, meta_class and view results likewise follow dialect value handling for assignment
+and standalone statements. Unsupported host values still fail under the dialect’s emission
+rules. Expression-facing thread APIs return native Vars; IterVar remains native metadata.</p>
+<p>Simple comparison chains such as <code class="docutils literal notranslate"><span class="pre">0</span> <span class="pre">&lt;</span> <span class="pre">i</span> <span class="pre">&lt;</span> <span class="pre">10</span></code> lower to
+<code class="docutils literal notranslate"><span class="pre">X.and_(X.lt_(0,</span> <span class="pre">i),</span> <span class="pre">X.lt_(i,</span> <span class="pre">10))</span></code>. Only names and numeric literals, including signed
+literals, are supported in a chain. Complex chain operands fail with a source-located
+syntax error before they evaluate. Single comparisons retain general operands, and the
+explicit constexpr boundary retains Python comparison semantics.</p>
+<p>A bare loop target receives the native entry result: <code class="docutils literal notranslate"><span class="pre">for</span> <span class="pre">iters</span> <span class="pre">in</span> <span class="pre">T.grid(m,</span> <span class="pre">n)</span></code> binds
+the original variable sequence, while <code class="docutils literal notranslate"><span class="pre">for</span> <span class="pre">i</span> <span class="pre">in</span> <span class="pre">T.serial(n)</span></code> binds one Var. Explicit
+tuple, list and starred targets unpack the native frame’s stable <code class="docutils literal notranslate"><span class="pre">vars</span></code> field.</p>
+<p>Function decorators pass their construction namespace and options explicitly to parsing.
+Generated <code class="docutils literal notranslate"><span class="pre">X.function_(**options)</span></code> creates the frame; the dialect hook owns option defaults.
+Declaration creates stable references before function bodies; generated code reads the
+native <code class="docutils literal notranslate"><span class="pre">global_var</span></code> or <code class="docutils literal notranslate"><span class="pre">local_var</span></code> field directly, without a separate reservation pass.
+There is no function-registration record or copied source-function metadata. The root
+retains <code class="docutils literal notranslate"><span class="pre">pyfunc</span></code> behavior and original Python callables for module assembly.</p>
+<p>Completed modules use generic root coordination over dialect-owned validation hooks.
+Each dialect checks its members and cross-function requirements against the whole module,
+including captured members. Shared GlobalInfo construction and lookup belong to <code class="docutils literal notranslate"><span class="pre">tvm.ir</span></code>;
+existing Relax class exports and serialized type keys remain compatible.</p>
+<p>Each parse rewrites the fresh AST returned by source acquisition directly, without
+copying or reparsing it. Ordinary functions construct arguments directly and bind their
+known body parameters from <code class="docutils literal notranslate"><span class="pre">frame.params</span></code>. Specialization setup and conditional
+parameter selection are generated only for an explicit specialization request; an empty
+mapping still requests that path, while <code class="docutils literal notranslate"><span class="pre">None</span></code> selects ordinary parsing.</p>
+</section>
+<section id="explicit-host-control-flow">
+<h3>Explicit host control flow<a class="headerlink" href="#explicit-host-control-flow" title="Link to this heading">#</a></h3>
+<p>Mark compile-time Python selection with <code class="docutils literal notranslate"><span class="pre">I.constexpr</span></code> or the identical dialect alias:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="n">I</span><span class="o">.</span><span class="n">constexpr</span><span class="p">(</span><span class="n">enabled</span><span class="p">):</span>
+    <span class="n">T</span><span class="o">.</span><span class="n">evaluate</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
+<span class="k">else</span><span class="p">:</span>
+    <span class="n">T</span><span class="o">.</span><span class="n">evaluate</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
+
+<span class="n">value</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">ramp</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="n">lanes</span><span class="p">)</span> <span class="k">if</span> <span class="n">T</span><span class="o">.</span><span class="n">constexpr</span><span class="p">(</span><span class="n">lanes</span> <span class="o">&gt;</span> [...]
 </pre></div>
 </div>
-<p>When a name is looked up, the most recent binding wins. When a frame is popped, all bindings
-introduced in that frame are removed.</p>
+<p>The marker applies to the controlling value. The generated program evaluates it once and
+executes only the selected Python branch in the existing builder scope. Branch bodies and
+result expressions still translate normally. Marked <code class="docutils literal notranslate"><span class="pre">and</span></code> and <code class="docutils literal notranslate"><span class="pre">or</span></code> decisions retain
+Python short-circuiting; unmarked conditionals and logical expressions call dialect IR
+constructors. A Python boolean alone does not request compile-time branch selection.</p>
+<p>JIT supplies validated specialization bindings and optional-argument absence to builder
+execution. Syntax translation does not inspect those values to select a branch.</p>
 </section>
 </section>
 <section id="ir-builder-architecture">
@@ -838,7 +984,7 @@ provides a frame-stack API for constructing IR incrementally.</p>
 <p>The core idea: each IR scope (module, function, block, loop) is a <strong>frame</strong>. Frames are pushed
 on <code class="docutils literal notranslate"><span class="pre">__enter__</span></code> and popped on <code class="docutils literal notranslate"><span class="pre">__exit__</span></code>. When a frame exits, it finalizes the IR it
 represents and attaches it to the parent frame.</p>
-<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>IRBuilder (thread-local singleton)
+<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>IRBuilder (current construction context)
 └── frame stack:
     ├── IRModuleFrame          ← @I.ir_module
     │   ├── PrimFuncFrame      ← @T.prim_func
@@ -850,17 +996,17 @@ represents and attaches it to the parent frame.</p>
     └── ...
 </pre></div>
 </div>
-<p>This design means the parser never needs to build a complete IR tree in memory — it
-constructs IR top-down by entering and exiting frames, and each frame handles its own
-finalization.</p>
+<p>The generated program constructs IR by entering and exiting frames. Each frame owns its
+construction policy and finalization; the syntax transpiler does not maintain an IR tree.</p>
 </section>
 <section id="tir-builder">
 <h3>TIR builder<a class="headerlink" href="#tir-builder" title="Link to this heading">#</a></h3>
-<p>The TIR builder (<code class="docutils literal notranslate"><span class="pre">ir_builder/tirx/ir.py</span></code>) provides functions that map directly to TVMScript
-syntax. Key categories:</p>
+<p>The TIR builder (<code class="docutils literal notranslate"><span class="pre">python/tvm/tirx/script/builder/</span></code>) implements the construction operations
+behind public <code class="docutils literal notranslate"><span class="pre">T</span></code> syntax. Builder modules also support direct programmatic construction;
+public decorators and internal frame-opening operations have distinct roles. Key categories:</p>
 <p><strong>Function and block</strong>:</p>
 <ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">T.prim_func()</span></code> → <code class="docutils literal notranslate"><span class="pre">PrimFuncFrame</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">&#64;T.prim_func</span></code> selects TIR construction; its builder <code class="docutils literal notranslate"><span class="pre">function()</span></code> opens <code class="docutils literal notranslate"><span class="pre">PrimFuncFrame</span></code></p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">T.sblock(name)</span></code> → <code class="docutils literal notranslate"><span class="pre">SBlockFrame</span></code> (spatial block)</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">T.init()</span></code> → <code class="docutils literal notranslate"><span class="pre">BlockInitFrame</span></code> (reduction initialization)</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">T.reads(...)</span></code>, <code class="docutils literal notranslate"><span class="pre">T.writes(...)</span></code> → declare buffer access regions</p></li>
@@ -886,10 +1032,10 @@ syntax. Key categories:</p>
 </section>
 <section id="relax-builder">
 <h3>Relax builder<a class="headerlink" href="#relax-builder" title="Link to this heading">#</a></h3>
-<p>The Relax builder (<code class="docutils literal notranslate"><span class="pre">ir_builder/relax/ir.py</span></code>) provides:</p>
+<p>The Relax builder (<code class="docutils literal notranslate"><span class="pre">python/tvm/relax/script/builder/</span></code>) implements:</p>
 <p><strong>Function and dataflow</strong>:</p>
 <ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">R.function()</span></code> → <code class="docutils literal notranslate"><span class="pre">FunctionFrame</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">&#64;R.function</span></code> selects Relax construction; its builder <code class="docutils literal notranslate"><span class="pre">function()</span></code> opens <code class="docutils literal notranslate"><span class="pre">FunctionFrame</span></code></p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">R.dataflow()</span></code> → <code class="docutils literal notranslate"><span class="pre">BindingBlockFrame</span></code></p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">R.output(*vars)</span></code> → expose variables from a dataflow block</p></li>
 </ul>
@@ -898,6 +1044,8 @@ syntax. Key categories:</p>
 <li><p><code class="docutils literal notranslate"><span class="pre">R.emit(value)</span></code> → emit a binding, returns a <code class="docutils literal notranslate"><span class="pre">Var</span></code></p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">R.emit_match_cast(value,</span> <span class="pre">ty)</span></code> → emit with type assertion</p></li>
 </ul>
+<p>Generated standalone-statement emission uses the construction protocol’s separate <code class="docutils literal notranslate"><span class="pre">emit_</span></code>
+operation. Public <code class="docutils literal notranslate"><span class="pre">R.emit</span></code> retains its binding-returning imperative API.</p>
 <p><strong>Type annotations</strong>:</p>
 <ul class="simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">R.Tensor(shape,</span> <span class="pre">dtype)</span></code> — tensor type</p></li>
@@ -948,25 +1096,25 @@ It maintains:</p>
 </ul>
 <p>Each IR dialect registers its own converters:</p>
 <ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">src/script/printer/tirx/</span></code> — converts PrimFunc, Buffer, SBlock, loops, expressions.</p></li>
-<li><p><code class="docutils literal notranslate"><span class="pre">src/script/printer/relax/</span></code> — converts relax.Function, bindings, types, operators.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">src/tirx/script/printer/</span></code> — converts PrimFunc, Buffer, SBlock, loops, expressions.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">src/relax/script/printer/</span></code> — converts relax.Function, bindings, types, operators.</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">src/script/printer/ir/</span></code> — converts IRModule, shared types.</p></li>
 </ul>
 <p>The final step calls <code class="docutils literal notranslate"><span class="pre">DocToPythonScript()</span></code> (<code class="docutils literal notranslate"><span class="pre">src/script/printer/doc_printer/python_doc_printer.cc</span></code>)
 to format the Doc tree into properly indented Python text.</p>
 </section>
-<section id="roundtrip-guarantee">
-<h3>Roundtrip guarantee<a class="headerlink" href="#roundtrip-guarantee" title="Link to this heading">#</a></h3>
-<p>For any <code class="docutils literal notranslate"><span class="pre">IRModule</span></code> constructed through the compiler:</p>
+<section id="roundtrip">
+<h3>Roundtrip<a class="headerlink" href="#roundtrip" title="Link to this heading">#</a></h3>
+<p>For printable IR with the required source context available:</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">text</span> <span class="o">=</span> <span class="n">mod</span><span class="o">.</span><span class="n">script</span><span class="p">()</span>           <span class="c1"># IR → TVMScript text</span>
 <span class="n">reparsed</span> <span class="o">=</span> <span class="n">tvm</span><span class="o">.</span><span class="n">script</span><span class="o">.</span><span class="n">from_source</span><span class="p">(</span><span class="n">text</span><span class="p">)</span>  <span class="c1"># text → IR</span>
 <span class="n">tvm</span><span class="o">.</span><span class="n">ir</span><span class="o">.</span><span class="n">assert_structural_equal</span><span class="p">(</span><span class="n">mod</span><span class="p">,</span> <span class="n">reparsed</span><span class="p">)</span>
 </pre></div>
 </div>
 <p>This roundtrip property is relied upon by testing infrastructure and serialization workflows.
-Note that the printed text may differ from hand-written TVMScript — the printer uses canonical
-forms (e.g., explicit <code class="docutils literal notranslate"><span class="pre">R.emit</span></code> calls, fully qualified buffer annotations) that are not required
-in hand-written code.</p>
+Printed text uses canonical forms and may differ from hand-written TVMScript. External
+objects or Python attachments require their corresponding context; text alone does not
+serialize arbitrary Python state.</p>
 </section>
 </section>
 <section id="supported-python-syntax">
@@ -988,7 +1136,7 @@ and how each construct is interpreted:</p>
 <tbody>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">for</span> <span class="pre">i</span> <span class="pre">in</span> <span class="pre">range(n)</span></code></p></td>
 <td><p>Serial loop nest</p></td>
-<td><p>Not supported (no Relax-level <code class="docutils literal notranslate"><span class="pre">for</span></code> handler)</p></td>
+<td><p>No Relax IR loop construction</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">with</span> <span class="pre">T.sblock(...)</span></code></p></td>
 <td><p>Spatial block scope</p></td>
@@ -999,8 +1147,8 @@ and how each construct is interpreted:</p>
 <td><p>Dataflow block</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">if</span> <span class="pre">...</span> <span class="pre">else</span></code></p></td>
-<td><p>TIR <code class="docutils literal notranslate"><span class="pre">If</span></code> branch (PrimExpr condition) or static eval (Python bool)</p></td>
-<td><p>Relax <code class="docutils literal notranslate"><span class="pre">If</span></code> node (plain Python <code class="docutils literal notranslate"><span class="pre">if</span> <span class="pre">cond:</span></code> syntax)</p></td>
+<td><p>TIR <code class="docutils literal notranslate"><span class="pre">IfThenElse</span></code>; explicit <code class="docutils literal notranslate"><span class="pre">I.constexpr</span></code> selects a Python branch</p></td>
+<td><p>Relax <code class="docutils literal notranslate"><span class="pre">If</span></code>; explicit <code class="docutils literal notranslate"><span class="pre">I.constexpr</span></code> selects a Python branch</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">while</span></code></p></td>
 <td><p><code class="docutils literal notranslate"><span class="pre">T.While</span></code> loop</p></td>
@@ -1016,10 +1164,10 @@ and how each construct is interpreted:</p>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">x:</span> <span class="pre">R.Tensor(...)</span></code></p></td>
 <td><p>N/A</p></td>
-<td><p>Struct info annotation</p></td>
+<td><p>Type annotation</p></td>
 </tr>
 <tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">return</span></code></p></td>
-<td><p>Not used</p></td>
+<td><p>Primitive return expression</p></td>
 <td><p>Function return value</p></td>
 </tr>
 <tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">A[i,</span> <span class="pre">j]</span></code></p></td>
@@ -1041,9 +1189,9 @@ and how each construct is interpreted:</p>
 </tbody>
 </table>
 </div>
-<p><strong>Not supported</strong>: <code class="docutils literal notranslate"><span class="pre">class</span></code> definitions (except for <code class="docutils literal notranslate"><span class="pre">&#64;I.ir_module</span></code>), <code class="docutils literal notranslate"><span class="pre">try/except</span></code>,
-<code class="docutils literal notranslate"><span class="pre">yield</span></code>, <code class="docutils literal notranslate"><span class="pre">async/await</span></code>, list comprehensions, <code class="docutils literal notranslate"><span class="pre">lambda</span></code>, <code class="docutils literal notranslate"><span class="pre">import</span></code>, and <code class="docutils literal notranslate"><span class="pre">global</span></code>
-statements.</p>
+<p>Inside scripted function bodies, unsupported statement forms include <code class="docutils literal notranslate"><span class="pre">class</span></code>,
+<code class="docutils literal notranslate"><span class="pre">try/except</span></code>, <code class="docutils literal notranslate"><span class="pre">import</span></code>, and <code class="docutils literal notranslate"><span class="pre">global</span></code>. <code class="docutils literal notranslate"><span class="pre">yield</span></code> and <code class="docutils literal notranslate"><span class="pre">async/await</span></code> are also unsupported.
+Place imports and ordinary Python class definitions in the surrounding Python program.</p>
 </section>
 <section id="tir-syntax-reference">
 <h2>TIR Syntax Reference<a class="headerlink" href="#tir-syntax-reference" title="Link to this heading">#</a></h2>
@@ -1051,6 +1199,8 @@ statements.</p>
 <h3>Function definition<a class="headerlink" href="#function-definition" title="Link to this heading">#</a></h3>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span>
 <span class="k">def</span><span class="w"> </span><span class="nf">func_name</span><span class="p">(</span><span class="n">a</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">):</span>
+    <span class="n">m</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">()</span>
+    <span class="n">n</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">()</span>
     <span class="n">A</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="p">(</span><span class="n">m</span><span class="p">,</span> <span class="n">n</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
     <span class="n">B</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="p">(</span><span class="n">m</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
     <span class="c1"># function body</span>
@@ -1064,6 +1214,7 @@ statements.</p>
 </section>
 <section id="block-and-axes">
 <h3>Block and axes<a class="headerlink" href="#block-and-axes" title="Link to this heading">#</a></h3>
+<p>Use <code class="docutils literal notranslate"><span class="pre">&#64;T.prim_func(s_tir=True)</span></code> for functions with scheduled-TIR blocks and block axes.</p>
 <div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">):</span>
     <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;block_name&quot;</span><span class="p">):</span>
         <span class="n">vi</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
@@ -1104,7 +1255,7 @@ their iteration domain and binding to outer loop variables.</p></li>
 <span class="n">T</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="s2">&quot;float16&quot;</span><span class="p">)</span>                              <span class="c1"># type cast</span>
 <span class="n">T</span><span class="o">.</span><span class="n">if_then_else</span><span class="p">(</span><span class="n">cond</span><span class="p">,</span> <span class="n">true_val</span><span class="p">,</span> <span class="n">false_val</span><span class="p">)</span>          <span class="c1"># conditional expression</span>
 <span class="n">T</span><span class="o">.</span><span class="n">min</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>                           <span class="c1"># min/max</span>
-<span class="n">T</span><span class="o">.</span><span class="n">call_extern</span><span class="p">(</span><span class="s2">&quot;func_name&quot;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>                  <span class="c1"># external function call</span>
+<span class="n">T</span><span class="o">.</span><span class="n">call_extern</span><span class="p">(</span><span class="s2">&quot;int32&quot;</span><span class="p">,</span> <span class="s2">&quot;func_name&quot;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>                  <span class="c1"># external function call</span>
 <span class="n">T</span><span class="o">.</span><span class="n">call_packed</span><span class="p">(</span><span class="s2">&quot;func_name&quot;</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">)</span>                   <span class="c1"># packed function call</span>
 <span class="n">T</span><span class="o">.</span><span class="n">tvm_storage_sync</span><span class="p">(</span><span class="s2">&quot;shared&quot;</span><span class="p">)</span>                        <span class="c1"># GPU memory fence</span>
 </pre></div>
@@ -1142,11 +1293,11 @@ variables to the outer scope.</p>
 </section>
 <section id="calling-tir-functions">
 <h3>Calling TIR functions<a class="headerlink" href="#calling-tir-functions" title="Link to this heading">#</a></h3>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">out</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">my_kernel</span><span class="p">,</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">),</span> <span class="n">out_ty< [...]
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">out</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="n">MyModule</span><span class="o">.</span><span class="n">my_kernel</span><span class="p">,</span> <span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">),</span> <span class="n">out [...]
 </pre></div>
 </div>
 <ul class="simple">
-<li><p><code class="docutils literal notranslate"><span class="pre">cls.my_kernel</span></code> — references a TIR <code class="docutils literal notranslate"><span class="pre">PrimFunc</span></code> in the same module.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">MyModule.my_kernel</span></code> — references a TIR <code class="docutils literal notranslate"><span class="pre">PrimFunc</span></code> in the same module.</p></li>
 <li><p><code class="docutils literal notranslate"><span class="pre">out_ty</span></code> — the type (shape and dtype) of the output tensor.</p></li>
 </ul>
 </section>
@@ -1165,65 +1316,6 @@ boolean type. Both branches are required.</p>
 </div>
 </section>
 </section>
-<section id="source-code-map">
-<h2>Source Code Map<a class="headerlink" href="#source-code-map" title="Link to this heading">#</a></h2>
-<div class="pst-scrollable-table-container"><table class="table">
-<colgroup>
-<col style="width: 50.0%" />
-<col style="width: 50.0%" />
-</colgroup>
-<thead>
-<tr class="row-odd"><th class="head"><p>Path</p></th>
-<th class="head"><p>Contents</p></th>
-</tr>
-</thead>
-<tbody>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/parser/core/</span></code></p></td>
-<td><p>Core parser: dispatch, expression evaluator, variable table, Doc AST</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/parser/tirx/</span></code></p></td>
-<td><p>TIR-specific parser handlers and value binding</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/parser/relax/</span></code></p></td>
-<td><p>Relax-specific parser handlers and value binding</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/parser/ir/</span></code></p></td>
-<td><p><code class="docutils literal notranslate"><span class="pre">&#64;I.ir_module</span></code> entry point and module-level parsing</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/ir_builder/base.py</span></code></p></td>
-<td><p>IRBuilder base class and frame stack mechanism</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/ir_builder/tirx/</span></code></p></td>
-<td><p>TIR frame types and builder functions (<code class="docutils literal notranslate"><span class="pre">T.*</span></code>)</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/ir_builder/relax/</span></code></p></td>
-<td><p>Relax frame types and builder functions (<code class="docutils literal notranslate"><span class="pre">R.*</span></code>)</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">python/tvm/script/ir_builder/ir/</span></code></p></td>
-<td><p>IRModule builder (<code class="docutils literal notranslate"><span class="pre">I.*</span></code>)</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">src/script/printer/</span></code></p></td>
-<td><p>C++ printer: Doc tree, IRDocsifier, Python code generation</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">src/script/printer/tirx/</span></code></p></td>
-<td><p>TIR-specific IR-to-Doc converters</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">src/script/printer/relax/</span></code></p></td>
-<td><p>Relax-specific IR-to-Doc converters</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">src/script/ir_builder/</span></code></p></td>
-<td><p>C++ backend for frame stack and IR construction</p></td>
-</tr>
-<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">include/tvm/script/printer/</span></code></p></td>
-<td><p>C++ headers: Doc classes, IRDocsifier, dispatch functor</p></td>
-</tr>
-<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">include/tvm/script/ir_builder/</span></code></p></td>
-<td><p>C++ headers: builder base, dialect-specific frame types</p></td>
-</tr>
-</tbody>
-</table>
-</div>
-</section>
 </section>
 
 
@@ -1274,9 +1366,10 @@ boolean type. Both branches are required.</p>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#overview">Overview</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#decorators">Decorators</a></li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#parser-architecture">Parser Architecture</a><ul class="visible nav section-nav flex-column">
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#dispatch-mechanism">Dispatch mechanism</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#syntax-and-construction-protocol">Syntax and construction protocol</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#parse-flow">Parse flow</a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#variable-table">Variable table</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#definition-and-symbol-scopes">Definition and symbol scopes</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#explicit-host-control-flow">Explicit host control flow</a></li>
 </ul>
 </li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#ir-builder-architecture">IR Builder Architecture</a><ul class="visible nav section-nav flex-column">
@@ -1288,7 +1381,7 @@ boolean type. Both branches are required.</p>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#printer-architecture">Printer Architecture</a><ul class="visible nav section-nav flex-column">
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#doc-tree">Doc tree</a></li>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#irdocsifier">IRDocsifier</a></li>
-<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#roundtrip-guarantee">Roundtrip guarantee</a></li>
+<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#roundtrip">Roundtrip</a></li>
 </ul>
 </li>
 <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#supported-python-syntax">Supported Python Syntax</a></li>
@@ -1307,7 +1400,6 @@ boolean type. Both branches are required.</p>
 <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#control-flow">Control flow</a></li>
 </ul>
 </li>
-<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#source-code-map">Source Code Map</a></li>
 </ul>
   </nav></div>
 
diff --git a/docs/commit_hash b/docs/commit_hash
index eeab50b0f2e..9c8fe5a51ab 100644
--- a/docs/commit_hash
+++ b/docs/commit_hash
@@ -1 +1 @@
-e269315c90e3a061c9e1c77b370ce883b1b223f4
+0db97a5a2cf041f7d83db34325c4901db8ee0380
diff --git a/docs/deep_dive/relax/tutorials/relax_creation.html b/docs/deep_dive/relax/tutorials/relax_creation.html
index 65beb97ff77..8c3fcf3dd71 100644
--- a/docs/deep_dive/relax/tutorials/relax_creation.html
+++ b/docs/deep_dive/relax/tutorials/relax_creation.html
@@ -671,17 +671,17 @@ high-level Relax operators using TVMScript.</p>
 <span class="k">class</span><span class="w"> </span><span class="nc">RelaxModule</span><span class="p">:</span>
     <span class="nd">@R</span><span class="o">.</span><span class="n">function</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">forward</span><span class="p">(</span>
-        <span class="n">data</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">w0</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">b0</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">w1</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">10</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">b1</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">10</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-    <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">):</span>
-        <span class="k">with</span> <span class="n">R</span><span class="o">.</span><span class="n">dataflow</span><span class="p">():</span>
-            <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">R</span><span class="o">.</span><span class="n" [...]
+        <span class="n">data</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class=" [...]
+        <span class="n">w0</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</sp [...]
+        <span class="n">b0</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;f [...]
+        <span class="n">w1</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">10</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</spa [...]
+        <span class="n">b1</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">10</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;fl [...]
+    <span class="p">)</span> <span class="o">-&gt;</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n"> [...]
+        <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.dataflow" title="tvm.script.relax.dataflow" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">dataflow</span></a><span class="p">():</span>
+            <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R< [...]
             <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.Da [...]
-            <span class="n">lv2</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a><span class="p">,</span> <span class="n">R</span><span class="o">.</span><span class="n"> [...]
-            <span class="n">R</span><span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="n">lv2</span><span class="p">)</span>
+            <span class="n">lv2</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">matmul</span></a><span class="p">(</span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr- [...]
+            <a href="../../../reference/api/python/script/script.html#tvm.script.relax.output" title="tvm.script.relax.output" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">output</span></a><span class="p">(</span><span class="n">lv2</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">lv2</span>
 
 
@@ -690,6 +690,8 @@ high-level Relax operators using TVMScript.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span># from typing import TypeVar
 # from tvm.script import ir as I
+# from tvm.script import tirx as T
+# from tvm.tirx.layout import Axis
 # from tvm.script import relax as R
 
 n = TypeVar(&quot;n&quot;)
@@ -697,6 +699,7 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @R.function
     def forward(data: R.Tensor((n, 784), dtype=&quot;float32&quot;), w0: R.Tensor((128, 784), dtype=&quot;float32&quot;), b0: R.Tensor((128,), dtype=&quot;float32&quot;), w1: R.Tensor((10, 128), dtype=&quot;float32&quot;), b1: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         with R.dataflow():
             lv: R.Tensor((784, 128), dtype=&quot;float32&quot;) = R.permute_dims(w0, axes=None)
             lv1: R.Tensor((n, 128), dtype=&quot;float32&quot;) = R.matmul(data, lv, out_dtype=None)
@@ -715,31 +718,31 @@ TensorIR functions in Relax function.</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
 <span class="k">class</span><span class="w"> </span><span class="nc">RelaxModuleWithTIR</span><span class="p">:</span>
     <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="k">def</span><span class="w"> </span><span class="nf">relu</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">y</span><span class="p">:</span> <span cl [...]
+    <span class="k">def</span><span class="w"> </span><span class="nf">relu</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.handle" title="tvm.script.tirx.handle" class="sphx-glr-backref-module-tvm-script-tirx [...]
         <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">n</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
         <span class="n">m</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
-        <span class="n">X</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">,</span> <span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var [...]
-        <span class="n">Y</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">n</span></a><span class="p">,</span> <span class="n">m</span><sp [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">n</span></a><span class="p">,</span> <span class="n">m</span><span  [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;relu&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SS&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">])</span>
-                <span class="n">Y</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">X</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">],</span> <span class="n">T</span><span class="o">.</span><span cl [...]
+        <span class="n">X</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir  [...]
+        <span class="n">Y</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">y</span><span class="p">,</span> <span class="p">(</span><a href="../../../reference/api/python/ir.h [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" tit [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;relu&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span></a><span class="p">(</span><span class="s [...]
+                <span class="n">Y</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.max" title="tvm.script.tirx.max" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">max</span></a><span class="p">(</span><span class= [...]
 
     <span class="nd">@R</span><span class="o">.</span><span class="n">function</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">forward</span><span class="p">(</span>
-        <span class="n">data</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">w0</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">b0</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">w1</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">10</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">b1</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">10</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-    <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">):</span>
+        <span class="n">data</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class=" [...]
+        <span class="n">w0</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</sp [...]
+        <span class="n">b0</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;f [...]
+        <span class="n">w1</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">10</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</spa [...]
+        <span class="n">b1</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">10</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;fl [...]
+    <span class="p">)</span> <span class="o">-&gt;</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="s2">&quot;n&quot;</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n"> [...]
         <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">n</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
         <span class="bp">cls</span> <span class="o">=</span> <span class="n">RelaxModuleWithTIR</span>
-        <span class="k">with</span> <span class="n">R</span><span class="o">.</span><span class="n">dataflow</span><span class="p">():</span>
-            <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">R</span><span class="o">.</span><span class="n" [...]
-            <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="bp">cls</span><span class="o">.</span><span class="n">relu</span><span class="p">,</span> <a href=". [...]
-            <span class="n">lv2</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a><span class="p">,</span> <span class="n">R</span><span class="o">.</span><span class="n"> [...]
-            <span class="n">R</span><span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="n">lv2</span><span class="p">)</span>
+        <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.dataflow" title="tvm.script.relax.dataflow" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">dataflow</span></a><span class="p">():</span>
+            <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R< [...]
+            <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.call_tir" title="tvm.script.relax.call_tir" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n [...]
+            <span class="n">lv2</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">matmul</span></a><span class="p">(</span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr- [...]
+            <a href="../../../reference/api/python/script/script.html#tvm.script.relax.output" title="tvm.script.relax.output" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">output</span></a><span class="p">(</span><span class="n">lv2</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">lv2</span>
 
 
@@ -758,16 +761,19 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @T.prim_func(s_tir=True)
     def relu(X: T.Buffer((n, m), &quot;float32&quot;), Y: T.Buffer((n, m), &quot;float32&quot;)):
+        m = T.int64()
+        n = T.int64()
         # with T.sblock(&quot;root&quot;):
         for i, j in T.grid(n, m):
             with T.sblock(&quot;relu&quot;):
-                vi, vj = T.axis.remap(&quot;SS&quot;, [i, j])
-                T.reads(X[vi, vj])
-                T.writes(Y[vi, vj])
-                Y[vi, vj] = T.max(X[vi, vj], T.float32(0.0))
+                v, v_1 = T.axis.remap(&quot;SS&quot;, [i, j])
+                T.reads(X[v, v_1])
+                T.writes(Y[v, v_1])
+                Y[v, v_1] = T.max(X[v, v_1], T.float32(0.0))
 
     @R.function
     def forward(data: R.Tensor((n, 784), dtype=&quot;float32&quot;), w0: R.Tensor((128, 784), dtype=&quot;float32&quot;), b0: R.Tensor((128,), dtype=&quot;float32&quot;), w1: R.Tensor((10, 128), dtype=&quot;float32&quot;), b1: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         cls = Module
         with R.dataflow():
             lv: R.Tensor((784, 128), dtype=&quot;float32&quot;) = R.permute_dims(w0, axes=None)
@@ -787,15 +793,15 @@ class Module:
 TVMScript code. This is because we print the IRModule in a standard
 format, while we support syntax sugar for the input</p>
 <p>For example, we can combine multiple operators into a single line, as</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">data</span><span class="p">, [...]
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module [...]
 </pre></div>
 </div>
 <p>However, the normalized expression requires only one operation in one
 binding. So the printed output is different from the written TVMScript code,
 as</p>
-<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">lv</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">784</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">)</span> <span class="o">=</span> <span c [...]
-<a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-ba [...]
-<a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-ba [...]
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="n">lv</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">784</span><span class="p">,</span> <sp [...]
+<a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv1</span></a><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span c [...]
+<a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span c [...]
 </pre></div>
 </div>
 </div>
@@ -831,6 +837,8 @@ Relax NNModule API.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span># from typing import TypeVar
 # from tvm.script import ir as I
+# from tvm.script import tirx as T
+# from tvm.tirx.layout import Axis
 # from tvm.script import relax as R
 
 n = TypeVar(&quot;n&quot;)
@@ -838,6 +846,7 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @R.function
     def forward(x: R.Tensor((n, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         R.func_attr({&quot;num_input&quot;: 1})
         with R.dataflow():
             permute_dims: R.Tensor((784, 128), dtype=&quot;float32&quot;) = R.permute_dims(fc1_weight, axes=None)
@@ -855,23 +864,23 @@ class Module:
 <p>We can also insert customized function calls into the NNModule, such as
 Tensor Expression(TE), TensorIR functions or other TVM packed functions.</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-<span class="k">def</span><span class="w"> </span><span class="nf">tir_linear</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">w</span><span class="p">:</span> <span  [...]
+<span class="k">def</span><span class="w"> </span><span class="nf">tir_linear</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.handle" title="tvm.script.tirx.handle" class="sphx-glr-backref-module-tvm-script-ti [...]
     <span class="n">M</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
     <span class="n">N</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
     <span class="n">K</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
-    <span class="n">X</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">,</span> <span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">K</span><span c [...]
-    <span class="n">W</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="p">(</span><span class="n">N</span><span class="p">,</span> <span class="n">K</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-    <span class="n">B</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="p">(</span><span class="n">N</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-    <span class="n">Z</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">N</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-    <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">N</span><span class="p">,</span> <span class="n">K</span><span class="p">):</span>
-        <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;linear&quot;</span><span class="p">):</span>
-            <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">, [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
+    <span class="n">X</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx [...]
+    <span class="n">W</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">w</span><span class="p">,</span> <span class="p">(</span><span class="n">N</span><span class="p">,</span [...]
+    <span class="n">B</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="p">(</span><span class="n">N</span><span class="p">,),</sp [...]
+    <span class="n">Z</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">z</span><span class="p">,</span> <span class="p">(</span><span class="n">M</span><span class="p">,</span [...]
+    <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><span class="n">M [...]
+        <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;linear&quot;</span><span class="p">):</span>
+            <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</s [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
                 <span class="n">Z</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="mi">0</span>
             <span class="n">Z</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">Z</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">+</span> <span class="n">X</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vk</span><span class [...]
-    <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">N</span><span class="p">):</span>
-        <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;add&quot;</span><span class="p">):</span>
-            <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SS&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">])</span>
+    <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><span class="n">M</span><span class="p">,</span> <span class="n">N [...]
+        <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;add&quot;</span><span class="p">):</span>
+            <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span></a><span class="p">(</span><span class="s2">& [...]
             <span class="n">Z</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">Z</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">+</span> <span class="n">B</span><span class="p">[</span><span class="n">vj</span><span class="p">]</span>
 
 
@@ -921,6 +930,7 @@ N = TypeVar(&quot;N&quot;)
 class Module:
     @T.prim_func(private=True, s_tir=True)
     def relu(env_linear: T.Buffer((n, T.int64(128)), &quot;float32&quot;), compute: T.Buffer((n, T.int64(128)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for i0, i1 in T.grid(n, T.int64(128)):
@@ -932,24 +942,28 @@ class Module:
 
     @T.prim_func(s_tir=True)
     def tir_linear(X: T.Buffer((M, K), &quot;float32&quot;), W: T.Buffer((N, K), &quot;float32&quot;), B: T.Buffer((N,), &quot;float32&quot;), Z: T.Buffer((M, N), &quot;float32&quot;)):
+        K = T.int64()
+        M = T.int64()
+        N = T.int64()
         # with T.sblock(&quot;root&quot;):
         for i, j, k in T.grid(M, N, K):
             with T.sblock(&quot;linear&quot;):
-                vi, vj, vk = T.axis.remap(&quot;SSR&quot;, [i, j, k])
-                T.reads(X[vi, vk], W[vj, vk])
-                T.writes(Z[vi, vj])
+                v, v_1, v_2 = T.axis.remap(&quot;SSR&quot;, [i, j, k])
+                T.reads(X[v, v_2], W[v_1, v_2])
+                T.writes(Z[v, v_1])
                 with T.init():
-                    Z[vi, vj] = T.float32(0.0)
-                Z[vi, vj] = Z[vi, vj] + X[vi, vk] * W[vj, vk]
+                    Z[v, v_1] = T.float32(0.0)
+                Z[v, v_1] = Z[v, v_1] + X[v, v_2] * W[v_1, v_2]
         for i, j in T.grid(M, N):
             with T.sblock(&quot;add&quot;):
-                vi, vj = T.axis.remap(&quot;SS&quot;, [i, j])
-                T.reads(Z[vi, vj], B[vj])
-                T.writes(Z[vi, vj])
-                Z[vi, vj] = Z[vi, vj] + B[vj]
+                v, v_1 = T.axis.remap(&quot;SS&quot;, [i, j])
+                T.reads(Z[v, v_1], B[v_1])
+                T.writes(Z[v, v_1])
+                Z[v, v_1] = Z[v, v_1] + B[v_1]
 
     @R.function
     def forward(x: R.Tensor((n, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         R.func_attr({&quot;num_input&quot;: 1})
         cls = Module
         with R.dataflow():
@@ -970,11 +984,11 @@ low-level and widely used in TVM’s internal logic, e.g writing a
 customized pass.</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="n">bb</span> <span class="o">=</span> <span class="n">relax</span><span class="o">.</span><span class="n">BlockBuilder</span><span class="p">()</span>
 <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">n</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int64</span><span class="p">()</span>
-<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span><span clas [...]
-<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc1_weight</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span>< [...]
-<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc1_bias</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span><sp [...]
-<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc2_weight</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span>< [...]
-<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc2_bias</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span><sp [...]
+<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span><span clas [...]
+<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc1_weight</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span>< [...]
+<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc1_bias</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span><sp [...]
+<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc2_weight</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span>< [...]
+<a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">fc2_bias</span></a> <span class="o">=</span> <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class"><span class="n">relax</span><span class="o">.</span><span class="n">Var</span></a><span class="p">(</span><sp [...]
 <span class="k">with</span> <span class="n">bb</span><span class="o">.</span><span class="n">function</span><span class="p">(</span><span class="s2">&quot;forward&quot;</span><span class="p">,</span> <span class="p">[</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">x</span></a><span class="p">,</span> <a href="../../../reference/api/python/ir [...]
     <span class="k">with</span> <span class="n">bb</span><span class="o">.</span><span class="n">dataflow</span><span class="p">():</span>
         <a href="../../../reference/api/python/relax/relax.html#tvm.relax.DataflowVar" title="tvm.relax.DataflowVar" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">lv0</span></a> <span class="o">=</span> <span class="n">bb</span><span class="o">.</span><span class="n">emit</span><span class="p">(</span><a href="../../../reference/api/python/relax/op.html#tvm.relax.op.matmul" title="tvm.relax.op.matmul" class="sphx-glr-ba [...]
@@ -989,6 +1003,8 @@ customized pass.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span># from typing import TypeVar
 # from tvm.script import ir as I
+# from tvm.script import tirx as T
+# from tvm.tirx.layout import Axis
 # from tvm.script import relax as R
 
 v = TypeVar(&quot;v&quot;)
@@ -996,6 +1012,7 @@ v = TypeVar(&quot;v&quot;)
 class Module:
     @R.function
     def forward(x: R.Tensor((v, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((v, 10), dtype=&quot;float32&quot;):
+        v = T.int64()
         with R.dataflow():
             lv: R.Tensor((784, 128), dtype=&quot;float32&quot;) = R.permute_dims(fc1_weight, axes=None)
             lv1: R.Tensor((v, 128), dtype=&quot;float32&quot;) = R.matmul(x, lv, out_dtype=None)
@@ -1050,6 +1067,7 @@ N = TypeVar(&quot;N&quot;)
 class Module:
     @T.prim_func(private=True, s_tir=True)
     def relu(lv: T.Buffer((v, T.int64(128)), &quot;float32&quot;), compute: T.Buffer((v, T.int64(128)), &quot;float32&quot;)):
+        v = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for i0, i1 in T.grid(v, T.int64(128)):
@@ -1061,24 +1079,28 @@ class Module:
 
     @T.prim_func(s_tir=True)
     def tir_linear(X: T.Buffer((M, K), &quot;float32&quot;), W: T.Buffer((N, K), &quot;float32&quot;), B: T.Buffer((N,), &quot;float32&quot;), Z: T.Buffer((M, N), &quot;float32&quot;)):
+        K = T.int64()
+        M = T.int64()
+        N = T.int64()
         # with T.sblock(&quot;root&quot;):
         for i, j, k in T.grid(M, N, K):
             with T.sblock(&quot;linear&quot;):
-                vi, vj, vk = T.axis.remap(&quot;SSR&quot;, [i, j, k])
-                T.reads(X[vi, vk], W[vj, vk])
-                T.writes(Z[vi, vj])
+                v, v_1, v_2 = T.axis.remap(&quot;SSR&quot;, [i, j, k])
+                T.reads(X[v, v_2], W[v_1, v_2])
+                T.writes(Z[v, v_1])
                 with T.init():
-                    Z[vi, vj] = T.float32(0.0)
-                Z[vi, vj] = Z[vi, vj] + X[vi, vk] * W[vj, vk]
+                    Z[v, v_1] = T.float32(0.0)
+                Z[v, v_1] = Z[v, v_1] + X[v, v_2] * W[v_1, v_2]
         for i, j in T.grid(M, N):
             with T.sblock(&quot;add&quot;):
-                vi, vj = T.axis.remap(&quot;SS&quot;, [i, j])
-                T.reads(Z[vi, vj], B[vj])
-                T.writes(Z[vi, vj])
-                Z[vi, vj] = Z[vi, vj] + B[vj]
+                v, v_1 = T.axis.remap(&quot;SS&quot;, [i, j])
+                T.reads(Z[v, v_1], B[v_1])
+                T.writes(Z[v, v_1])
+                Z[v, v_1] = Z[v, v_1] + B[v_1]
 
     @R.function
     def forward(x: R.Tensor((v, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((v, 10), dtype=&quot;float32&quot;):
+        v = T.int64()
         cls = Module
         with R.dataflow():
             lv = R.call_dps_packed(&quot;env.linear&quot;, (x, fc1_weight, fc1_bias), out_ty=R.Tensor((v, 128), dtype=&quot;float32&quot;))
diff --git a/docs/deep_dive/relax/tutorials/relax_transformation.html b/docs/deep_dive/relax/tutorials/relax_transformation.html
index 58a8c7f2cb7..6d4cf4fb9e4 100644
--- a/docs/deep_dive/relax/tutorials/relax_transformation.html
+++ b/docs/deep_dive/relax/tutorials/relax_transformation.html
@@ -682,6 +682,8 @@ the <a class="reference internal" href="relax_creation.html#relax-creation"><spa
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span># from typing import TypeVar
 # from tvm.script import ir as I
+# from tvm.script import tirx as T
+# from tvm.tirx.layout import Axis
 # from tvm.script import relax as R
 
 n = TypeVar(&quot;n&quot;)
@@ -689,6 +691,7 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @R.function
     def forward(x: R.Tensor((n, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         R.func_attr({&quot;num_input&quot;: 1})
         with R.dataflow():
             permute_dims: R.Tensor((784, 128), dtype=&quot;float32&quot;) = R.permute_dims(fc1_weight, axes=None)
@@ -724,6 +727,7 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @T.prim_func(private=True, s_tir=True)
     def add(matmul: T.Buffer((n, T.int64(128)), &quot;float32&quot;), fc1_bias: T.Buffer((T.int64(128),), &quot;float32&quot;), T_add: T.Buffer((n, T.int64(128)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for ax0, ax1 in T.grid(n, T.int64(128)):
@@ -735,6 +739,7 @@ class Module:
 
     @T.prim_func(private=True, s_tir=True)
     def add1(matmul1: T.Buffer((n, T.int64(10)), &quot;float32&quot;), fc2_bias: T.Buffer((T.int64(10),), &quot;float32&quot;), T_add: T.Buffer((n, T.int64(10)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for ax0, ax1 in T.grid(n, T.int64(10)):
@@ -746,6 +751,7 @@ class Module:
 
     @T.prim_func(private=True, s_tir=True)
     def matmul(x: T.Buffer((n, T.int64(784)), &quot;float32&quot;), permute_dims: T.Buffer((T.int64(784), T.int64(128)), &quot;float32&quot;), matmul: T.Buffer((n, T.int64(128)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for i0, i1, k in T.grid(n, T.int64(128), T.int64(784)):
@@ -759,6 +765,7 @@ class Module:
 
     @T.prim_func(private=True, s_tir=True)
     def matmul1(relu: T.Buffer((n, T.int64(128)), &quot;float32&quot;), permute_dims1: T.Buffer((T.int64(128), T.int64(10)), &quot;float32&quot;), matmul: T.Buffer((n, T.int64(10)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for i0, i1, k in T.grid(n, T.int64(10), T.int64(128)):
@@ -772,6 +779,7 @@ class Module:
 
     @T.prim_func(private=True, s_tir=True)
     def relu(add: T.Buffer((n, T.int64(128)), &quot;float32&quot;), compute: T.Buffer((n, T.int64(128)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         for i0, i1 in T.grid(n, T.int64(128)):
@@ -805,6 +813,7 @@ class Module:
 
     @R.function
     def forward(x: R.Tensor((n, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         R.func_attr({&quot;num_input&quot;: 1})
         cls = Module
         with R.dataflow():
@@ -846,6 +855,7 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @T.prim_func(private=True, s_tir=True)
     def fused_matmul1_add1(relu: T.Buffer((n, T.int64(128)), &quot;float32&quot;), permute_dims1: T.Buffer((T.int64(128), T.int64(10)), &quot;float32&quot;), fc2_bias: T.Buffer((T.int64(10),), &quot;float32&quot;), T_add_intermediate: T.Buffer((n, T.int64(10)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         matmul_intermediate = T.sblock_alloc_buffer((n, T.int64(10)))
@@ -866,6 +876,7 @@ class Module:
 
     @T.prim_func(private=True, s_tir=True)
     def fused_matmul_add_relu(x: T.Buffer((n, T.int64(784)), &quot;float32&quot;), permute_dims: T.Buffer((T.int64(784), T.int64(128)), &quot;float32&quot;), fc1_bias: T.Buffer((T.int64(128),), &quot;float32&quot;), compute_intermediate: T.Buffer((n, T.int64(128)), &quot;float32&quot;)):
+        n = T.int64()
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
         matmul_intermediate = T.sblock_alloc_buffer((n, T.int64(128)))
@@ -915,6 +926,7 @@ class Module:
 
     @R.function
     def forward(x: R.Tensor((n, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         R.func_attr({&quot;num_input&quot;: 1})
         cls = Module
         with R.dataflow():
@@ -970,6 +982,8 @@ operator to <code class="docutils literal notranslate"><span class="pre">gelu</s
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span># from typing import TypeVar
 # from tvm.script import ir as I
+# from tvm.script import tirx as T
+# from tvm.tirx.layout import Axis
 # from tvm.script import relax as R
 
 n = TypeVar(&quot;n&quot;)
@@ -977,6 +991,7 @@ n = TypeVar(&quot;n&quot;)
 class Module:
     @R.function
     def forward(x: R.Tensor((n, 784), dtype=&quot;float32&quot;), fc1_weight: R.Tensor((128, 784), dtype=&quot;float32&quot;), fc1_bias: R.Tensor((128,), dtype=&quot;float32&quot;), fc2_weight: R.Tensor((10, 128), dtype=&quot;float32&quot;), fc2_bias: R.Tensor((10,), dtype=&quot;float32&quot;)) -&gt; R.Tensor((n, 10), dtype=&quot;float32&quot;):
+        n = T.int64()
         R.func_attr({&quot;num_input&quot;: 1})
         with R.dataflow():
             permute_dims: R.Tensor((784, 128), dtype=&quot;float32&quot;) = R.permute_dims(fc1_weight, axes=None)
diff --git a/docs/deep_dive/relax/tutorials/sg_execution_times.html b/docs/deep_dive/relax/tutorials/sg_execution_times.html
index 2a56dfa36e8..796135c9c10 100644
--- a/docs/deep_dive/relax/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/relax/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
                   
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-relax-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading">#</a></h1>
-<p><strong>00:00.224</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
+<p><strong>00:00.139</strong> total execution time for 2 files <strong>from deep_dive/relax/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -656,7 +656,7 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="relax_creation.html#sphx-glr-deep-dive-relax-tutorials-relax-creation-py"><span class="std std-ref">Relax Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_creation.py</span></code>)</p></td>
-<td><p>00:00.170</p></td>
+<td><p>00:00.085</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="relax_transformation.html#sphx-glr-deep-dive-relax-tutorials-relax-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">relax_transformation.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
index 82f3dbb1b0e..2a9f9dec12f 100644
--- a/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
+++ b/docs/deep_dive/tensor_ir/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
                   
   <section id="computation-times">
 <span id="sphx-glr-deep-dive-tensor-ir-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading">#</a></h1>
-<p><strong>00:00.750</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
+<p><strong>00:00.529</strong> total execution time for 4 files <strong>from deep_dive/tensor_ir/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -656,15 +656,15 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="tir_transformation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-transformation-py"><span class="std std-ref">Transformation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_transformation.py</span></code>)</p></td>
-<td><p>00:00.312</p></td>
+<td><p>00:00.259</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="tir_creation.html#sphx-glr-deep-dive-tensor-ir-tutorials-tir-creation-py"><span class="std std-ref">TensorIR Creation</span></a> (<code class="docutils literal notranslate"><span class="pre">tir_creation.py</span></code>)</p></td>
-<td><p>00:00.305</p></td>
+<td><p>00:00.138</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="dlight_gpu_scheduling.html#sphx-glr-deep-dive-tensor-ir-tutorials-dlight-gpu-scheduling-py"><span class="std std-ref">DLight: Rule-Based GPU Scheduling</span></a> (<code class="docutils literal notranslate"><span class="pre">dlight_gpu_scheduling.py</span></code>)</p></td>
-<td><p>00:00.125</p></td>
+<td><p>00:00.124</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="meta_schedule.html#sphx-glr-deep-dive-tensor-ir-tutorials-meta-schedule-py"><span class="std std-ref">MetaSchedule: Search-Based Auto-Tuning</span></a> (<code class="docutils literal notranslate"><span class="pre">meta_schedule.py</span></code>)</p></td>
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
index 0fe9132b327..02aa67e5902 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_creation.html
@@ -696,31 +696,31 @@ format of the ir_module and in TVMScript:</p>
 <span class="k">class</span><span class="w"> </span><span class="nc">MyModule</span><span class="p">:</span>
     <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">mm_relu</span><span class="p">(</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span>< [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span>< [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span>< [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
     <span class="p">):</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">alloc_buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <a href="https://docs.python.org/3/bu [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.alloc_buffer" title="tvm.script.tirx.alloc_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
         <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">128</span><span class="p">):</span>
             <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">128</span><span class="p">):</span>
                 <span class="k">for</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">128</span><span class="p">):</span>
-                    <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
-                        <span class="n">vi</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
-                        <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="n">j</span><span class="p">)</span>
-                        <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">reduce</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a><span c [...]
-                        <span class="n">T</span><span class="o">.</span><span class="n">reads</span><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vk</span><span class="p">],</span> <a href="../../../reference/api/pyt [...]
-                        <span class="n">T</span><span class="o">.</span><span class="n">writes</span><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">])</span>
-                        <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
+                    <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
+                        <span class="n">vi</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.spatial" title="tvm.script.tirx.axis.spatial" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span></a><span class="p">(</span><span class="mi">128</span><span class="p">,</span [...]
+                        <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.spatial" title="tvm.script.tirx.axis.spatial" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span></a><span class="p">(</span><span class="mi">128</span><span class="p">,</span [...]
+                        <span class="n">vk</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.reduce" title="tvm.script.tirx.axis.reduce" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">reduce</span></a><span class="p">(</span><span class="mi">128</span><span class="p">,</span> < [...]
+                        <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.reads" title="tvm.script.tirx.reads" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">reads</span></a><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-i [...]
+                        <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.writes" title="tvm.script.tirx.writes" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">writes</span></a><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backre [...]
+                        <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
                             <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">float32</span><span class="p">(</span><span [...]
                         <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-mod [...]
         <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">128</span><span class="p">):</span>
             <span class="k">for</span> <span class="n">j</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">128</span><span class="p">):</span>
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
-                    <span class="n">vi</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="n">i</span><span class="p">)</span>
-                    <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="n">j</span><span class="p">)</span>
-                    <span class="n">T</span><span class="o">.</span><span class="n">reads</span><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">])</span>
-                    <span class="n">T</span><span class="o">.</span><span class="n">writes</span><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">])</span>
-                    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><a href="../../.. [...]
+                <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
+                    <span class="n">vi</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.spatial" title="tvm.script.tirx.axis.spatial" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span></a><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <s [...]
+                    <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.spatial" title="tvm.script.tirx.axis.spatial" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">spatial</span></a><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <s [...]
+                    <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.reads" title="tvm.script.tirx.reads" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">reads</span></a><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-insta [...]
+                    <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.writes" title="tvm.script.tirx.writes" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">writes</span></a><span class="p">(</span><a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-in [...]
+                    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.max" title="tvm.script.tirx.max" class="s [...]
 </pre></div>
 </div>
 </section>
@@ -738,21 +738,21 @@ be inferred from the block body;</p></li>
 <span class="k">class</span><span class="w"> </span><span class="nc">ConciseModule</span><span class="p">:</span>
     <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">mm_relu</span><span class="p">(</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span>< [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span>< [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span>< [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
     <span class="p">):</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">alloc_buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <a href="https://docs.python.org/3/bu [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="mi">128</span [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class=" [...]
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.alloc_buffer" title="tvm.script.tirx.alloc_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr- [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">rema [...]
+                <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
                     <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">float32</span><span class="p">(</span><span class=" [...]
                 <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm- [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">):</span>
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SS&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">])</span>
-                <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><a href="../../../ref [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><span class="mi">128</span><span class="p">,</span> <span clas [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span></a><span class="p">(</span><span class="s [...]
+                <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.max" title="tvm.script.tirx.max" class="sphx- [...]
 </pre></div>
 </div>
 <p>We can use the following code to verify that the two modules are equivalent:</p>
@@ -778,21 +778,21 @@ be used to ascertain the shape and data type of a TensorIR.</p>
 <span class="k">class</span><span class="w"> </span><span class="nc">ConciseModuleFromPython</span><span class="p">:</span>
     <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">mm_relu</span><span class="p">(</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sp [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sp [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sp [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p"> [...]
     <span class="p">):</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">alloc_buffer</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-c [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><a href="../../../referenc [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class=" [...]
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
-                    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.alloc_buffer" title="tvm.script.tirx.alloc_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr- [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">rema [...]
+                <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
+                    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.cast" title="tvm.script.tirx.cast" class= [...]
                 <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm- [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">M</span></a><span class="p">,</span> <a href="../../../reference/ap [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SS&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">])</span>
-                <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><a href="../../../ref [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" tit [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span></a><span class="p">(</span><span class="s [...]
+                <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.max" title="tvm.script.tirx.max" class="sphx- [...]
 </pre></div>
 </div>
 <p>Check the equivalence:</p>
@@ -811,27 +811,27 @@ be used to ascertain the shape and data type of a TensorIR.</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
 <span class="k">class</span><span class="w"> </span><span class="nc">DynamicShapeModule</span><span class="p">:</span>
     <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-    <span class="k">def</span><span class="w"> </span><span class="nf">mm_relu</span><span class="p">(</span><span class="n">a</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">b</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">c</span><span class="p">:</span> <span class="n">T</span><span cl [...]
+    <span class="k">def</span><span class="w"> </span><span class="nf">mm_relu</span><span class="p">(</span><span class="n">a</span><span class="p">:</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.handle" title="tvm.script.tirx.handle" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">handle</span></a><span class="p">,</span> <span class="n">b</span><span cla [...]
         <span class="c1"># Dynamic shape definition</span>
         <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">M</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">()</span>
         <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">N</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">()</span>
         <a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">K</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">()</span>
 
         <span class="c1"># Bind the input buffers with the dynamic shapes</span>
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="p">[</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm. [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">b</span><span class="p">,</span> <span class="p">[</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm. [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="p">[</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm. [...]
-        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">alloc_buffer</span><span class="p">((</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-c [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><a href="../../../referenc [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class=" [...]
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
-                    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">cast</span><span class="p">(</span><span class="n"> [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">A</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">B</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
+        <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.alloc_buffer" title="tvm.script.tirx.alloc_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</ [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.IterVar" title="tvm.tirx.IterVar" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">k</span></a> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr- [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">rema [...]
+                <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
+                    <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.cast" title="tvm.script.tirx.cast" class= [...]
                 <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">Y</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm- [...]
-        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" title="tvm.ir.Var" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">M</span></a><span class="p">,</span> <a href="../../../reference/ap [...]
-            <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
-                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SS&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">])</span>
-                <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><a href="../../../ref [...]
+        <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><a href="../../../reference/api/python/ir.html#tvm.ir.Var" tit [...]
+            <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
+                <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span></a><span class="p">(</span><span class="s [...]
+                <a href="../../../reference/api/python/te.html#tvm.te.Tensor" title="tvm.te.Tensor" class="sphx-glr-backref-module-tvm-te sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">C</span></a><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.max" title="tvm.script.tirx.max" class="sphx- [...]
 </pre></div>
 </div>
 <p>Now let’s check the runtime dynamic shape inference:</p>
@@ -960,7 +960,7 @@ is that we need to specify the shape of the input tensors as symbolic variables.
 @I.ir_module
 class Module:
     @T.prim_func(s_tir=True)
-    def mm_relu(A: T.Buffer((&quot;m&quot;, &quot;n&quot;), &quot;float32&quot;), B: T.Buffer((&quot;k&quot;, n), &quot;float32&quot;), C: T.Buffer((m, n), &quot;float32&quot;)):
+    def mm_relu(A: T.Buffer((&quot;m&quot;, &quot;n&quot;), &quot;float32&quot;), B: T.Buffer((&quot;k&quot;, &quot;n&quot;), &quot;float32&quot;), C: T.Buffer((&quot;m&quot;, &quot;n&quot;), &quot;float32&quot;)):
         m, n = T.int32(), T.int32()
         k = T.int32()
         T.func_attr({&quot;tirx.noalias&quot;: True})
diff --git a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
index 6f9bfd392f8..be5223c85f3 100644
--- a/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
+++ b/docs/deep_dive/tensor_ir/tutorials/tir_transformation.html
@@ -672,25 +672,25 @@ rather than delving into optimization techniques.</p>
 <span class="k">class</span><span class="w"> </span><span class="nc">MyModule</span><span class="p">:</span>
     <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span>
-        <span class="n">A</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">B</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">C</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+        <span class="n">A</span><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+        <span class="n">B</span><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+        <span class="n">C</span><span class="p">:</span> <a href="../../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
     <span class="p">):</span>
-        <span class="n">T</span><span class="o">.</span><span class="n">func_attr</span><span class="p">({</span><span class="s2">&quot;tirx.noalias&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">})</span>
-        <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;root&quot;</span><span class="p">):</span>
-            <span class="n">T</span><span class="o">.</span><span class="n">reads</span><span class="p">()</span>
-            <span class="n">T</span><span class="o">.</span><span class="n">writes</span><span class="p">()</span>
-            <span class="n">Y</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock_alloc_buffer</span><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class="p">))</span>
-            <span class="k">for</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">i</span></a><span class="p">,</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sp [...]
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
-                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Loop [...]
-                    <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
+        <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.func_attr" title="tvm.script.tirx.func_attr" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">func_attr</span></a><span class="p">({</span><span class="s2">&quot;tirx.noalias&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">})</span>
+        <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;root&quot;</span><span class="p">):</span>
+            <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.reads" title="tvm.script.tirx.reads" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">reads</span></a><span class="p">()</span>
+            <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.writes" title="tvm.script.tirx.writes" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">writes</span></a><span class="p">()</span>
+            <span class="n">Y</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock_alloc_buffer" title="tvm.script.tirx.sblock_alloc_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock_alloc_buffer</span></a><span class="p">((</span><span class="mi">128</span><span class="p">,</span> <span class="mi">128</span><span class [...]
+            <span class="k">for</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">i</span></a><span class="p">,</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sp [...]
+                <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;Y&quot;</span><span class="p">):</span>
+                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n"> [...]
+                    <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
                         <span class="n">Y</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">float32</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
                     <span class="n">Y</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">Y</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">+</span> <span class="n">A</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vk</span><sp [...]
-            <span class="k">for</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">i</span></a><span class="p">,</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sp [...]
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
-                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SS&quot;</span><span class="p">,</span> <span class="p">[</span><a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-g [...]
-                    <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">max</span><span class="p">(</span><span class="n">Y</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">],</span> <span class="n">T</span><span class="o">.</span><spa [...]
+            <span class="k">for</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">i</span></a><span class="p">,</span> <a href="../../../reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV" title="tvm.s_tir.schedule.LoopRV" class="sphx-glr-backref-module-tvm-s_tir-schedule sp [...]
+                <span class="k">with</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;C&quot;</span><span class="p">):</span>
+                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span></a><span class="p">(</span><span clas [...]
+                    <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <a href="../../../reference/api/python/script/script.html#tvm.script.tirx.max" title="tvm.script.tirx.max" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">max</span></a><span class="p">(</span><span cl [...]
 </pre></div>
 </div>
 <p>Before we transform the function, let’s first evaluate the performance of the
@@ -721,7 +721,7 @@ original implementation.</p>
 </div>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   2.5420       2.5420       2.5420       2.5420       0.0000
+   2.4822       2.4822       2.4822       2.4822       0.0000
 </pre></div>
 </div>
 <section id="initialization-schedule">
@@ -762,23 +762,23 @@ class Module:
     def main(A: T.Buffer((128, 128), &quot;float32&quot;), B: T.Buffer((128, 128), &quot;float32&quot;), C: T.Buffer((128, 128), &quot;float32&quot;)):
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
-        Y = T.sblock_alloc_buffer((128, 128))
+        buffer = T.sblock_alloc_buffer((128, 128))
         for i, j_0, j_1, k in T.grid(128, 16, 8, 128):
             with T.sblock(&quot;Y&quot;):
-                vi = T.axis.spatial(128, i)
-                vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                vk = T.axis.reduce(128, k)
-                T.reads(A[vi, vk], B[vk, vj])
-                T.writes(Y[vi, vj])
+                v = T.axis.spatial(128, i)
+                v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                v_2 = T.axis.reduce(128, k)
+                T.reads(A[v, v_2], B[v_2, v_1])
+                T.writes(buffer[v, v_1])
                 with T.init():
-                    Y[vi, vj] = T.float32(0.0)
-                Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                    buffer[v, v_1] = T.float32(0.0)
+                buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
         for i, j in T.grid(128, 128):
             with T.sblock(&quot;C&quot;):
-                vi, vj = T.axis.remap(&quot;SS&quot;, [i, j])
-                T.reads(Y[vi, vj])
-                T.writes(C[vi, vj])
-                C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                v, v_1 = T.axis.remap(&quot;SS&quot;, [i, j])
+                T.reads(buffer[v, v_1])
+                T.writes(C[v, v_1])
+                C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 </pre></div>
 </div>
 <p>Following the initial transformation phase, two supplementary loops, <code class="docutils literal notranslate"><span class="pre">j_0</span></code> and <code class="docutils literal notranslate"><span class="pre">j_1</span></code>,
@@ -799,27 +799,27 @@ class Module:
     def main(A: T.Buffer((128, 128), &quot;float32&quot;), B: T.Buffer((128, 128), &quot;float32&quot;), C: T.Buffer((128, 128), &quot;float32&quot;)):
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
-        Y = T.sblock_alloc_buffer((128, 128))
+        buffer = T.sblock_alloc_buffer((128, 128))
         for i, j_0, k, j_1 in T.grid(128, 16, 128, 8):
             with T.sblock(&quot;Y&quot;):
-                vi = T.axis.spatial(128, i)
-                vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                vk = T.axis.reduce(128, k)
-                T.reads(A[vi, vk], B[vk, vj])
-                T.writes(Y[vi, vj])
+                v = T.axis.spatial(128, i)
+                v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                v_2 = T.axis.reduce(128, k)
+                T.reads(A[v, v_2], B[v_2, v_1])
+                T.writes(buffer[v, v_1])
                 with T.init():
-                    Y[vi, vj] = T.float32(0.0)
-                Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                    buffer[v, v_1] = T.float32(0.0)
+                buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
         for i, j in T.grid(128, 128):
             with T.sblock(&quot;C&quot;):
-                vi, vj = T.axis.remap(&quot;SS&quot;, [i, j])
-                T.reads(Y[vi, vj])
-                T.writes(C[vi, vj])
-                C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                v, v_1 = T.axis.remap(&quot;SS&quot;, [i, j])
+                T.reads(buffer[v, v_1])
+                T.writes(C[v, v_1])
+                C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.8672       0.8672       0.8672       0.8672       0.0000
+   0.8644       0.8644       0.8644       0.8644       0.0000
 </pre></div>
 </div>
 </section>
@@ -843,25 +843,25 @@ class Module:
     def main(A: T.Buffer((128, 128), &quot;float32&quot;), B: T.Buffer((128, 128), &quot;float32&quot;), C: T.Buffer((128, 128), &quot;float32&quot;)):
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
-        Y = T.sblock_alloc_buffer((128, 128))
+        buffer = T.sblock_alloc_buffer((128, 128))
         for i, j_0 in T.grid(128, 16):
             for k, j_1 in T.grid(128, 8):
                 with T.sblock(&quot;Y&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                    vk = T.axis.reduce(128, k)
-                    T.reads(A[vi, vk], B[vk, vj])
-                    T.writes(Y[vi, vj])
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                    v_2 = T.axis.reduce(128, k)
+                    T.reads(A[v, v_2], B[v_2, v_1])
+                    T.writes(buffer[v, v_1])
                     with T.init():
-                        Y[vi, vj] = T.float32(0.0)
-                    Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                        buffer[v, v_1] = T.float32(0.0)
+                    buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
             for ax0 in range(8):
                 with T.sblock(&quot;C&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + ax0)
-                    T.reads(Y[vi, vj])
-                    T.writes(C[vi, vj])
-                    C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + ax0)
+                    T.reads(buffer[v, v_1])
+                    T.writes(C[v, v_1])
+                    C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 </pre></div>
 </div>
 </section>
@@ -888,34 +888,34 @@ class Module:
     def main(A: T.Buffer((128, 128), &quot;float32&quot;), B: T.Buffer((128, 128), &quot;float32&quot;), C: T.Buffer((128, 128), &quot;float32&quot;)):
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
-        Y = T.sblock_alloc_buffer((128, 128))
+        buffer = T.sblock_alloc_buffer((128, 128))
         for i, j_0 in T.grid(128, 16):
             for j_1_init in range(8):
                 with T.sblock(&quot;Y_init&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1_init)
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1_init)
                     T.reads()
-                    T.writes(Y[vi, vj])
-                    Y[vi, vj] = T.float32(0.0)
+                    T.writes(buffer[v, v_1])
+                    buffer[v, v_1] = T.float32(0.0)
             for k, j_1 in T.grid(128, 8):
                 with T.sblock(&quot;Y_update&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                    vk = T.axis.reduce(128, k)
-                    T.reads(Y[vi, vj], A[vi, vk], B[vk, vj])
-                    T.writes(Y[vi, vj])
-                    Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                    v_2 = T.axis.reduce(128, k)
+                    T.reads(buffer[v, v_1], A[v, v_2], B[v_2, v_1])
+                    T.writes(buffer[v, v_1])
+                    buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
             for ax0 in range(8):
                 with T.sblock(&quot;C&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + ax0)
-                    T.reads(Y[vi, vj])
-                    T.writes(C[vi, vj])
-                    C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + ax0)
+                    T.reads(buffer[v, v_1])
+                    T.writes(C[v, v_1])
+                    C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
 Execution time summary:
  mean (ms)   median (ms)    max (ms)     min (ms)     std (ms)
-   0.3620       0.3620       0.3620       0.3620       0.0000
+   0.3550       0.3550       0.3550       0.3550       0.0000
 </pre></div>
 </div>
 </section>
@@ -954,30 +954,30 @@ class Module:
     def main(A: T.Buffer((128, 128), &quot;float32&quot;), B: T.Buffer((128, 128), &quot;float32&quot;), C: T.Buffer((128, 128), &quot;float32&quot;)):
         T.func_attr({&quot;tirx.noalias&quot;: True})
         # with T.sblock(&quot;root&quot;):
-        Y = T.sblock_alloc_buffer((128, 128))
+        buffer = T.sblock_alloc_buffer((128, 128))
         for i, j_0 in T.grid(128, 16):
             for j_1_init in range(8):
                 with T.sblock(&quot;Y_init&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1_init)
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1_init)
                     T.reads()
-                    T.writes(Y[vi, vj])
-                    Y[vi, vj] = T.float32(0.0)
+                    T.writes(buffer[v, v_1])
+                    buffer[v, v_1] = T.float32(0.0)
             for k, j_1 in T.grid(128, 8):
                 with T.sblock(&quot;Y_update&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + j_1)
-                    vk = T.axis.reduce(128, k)
-                    T.reads(Y[vi, vj], A[vi, vk], B[vk, vj])
-                    T.writes(Y[vi, vj])
-                    Y[vi, vj] = Y[vi, vj] + A[vi, vk] * B[vk, vj]
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + j_1)
+                    v_2 = T.axis.reduce(128, k)
+                    T.reads(buffer[v, v_1], A[v, v_2], B[v_2, v_1])
+                    T.writes(buffer[v, v_1])
+                    buffer[v, v_1] = buffer[v, v_1] + A[v, v_2] * B[v_2, v_1]
             for ax0 in range(8):
                 with T.sblock(&quot;C&quot;):
-                    vi = T.axis.spatial(128, i)
-                    vj = T.axis.spatial(128, j_0 * 8 + ax0)
-                    T.reads(Y[vi, vj])
-                    T.writes(C[vi, vj])
-                    C[vi, vj] = T.max(Y[vi, vj], T.float32(0.0))
+                    v = T.axis.spatial(128, i)
+                    v_1 = T.axis.spatial(128, j_0 * 8 + ax0)
+                    T.reads(buffer[v, v_1])
+                    T.writes(C[v, v_1])
+                    C[v, v_1] = T.max(buffer[v, v_1], T.float32(0.0))
 
 # from tvm import s_tir
 def apply_trace(sch: s_tir.Schedule) -&gt; None:
diff --git a/docs/genindex.html b/docs/genindex.html
index 894f7eb1816..94b37685f89 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -593,6 +593,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.abs">abs() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.abs">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.abs">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.abs">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.abs">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.abs">(in module tvm.tirx)</a>
@@ -607,6 +613,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.acos">acos() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.acos">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.acos">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.acos">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.acos">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.acos">(in module tvm.tirx)</a>
@@ -615,6 +627,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.acosh">acosh() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.acosh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.acosh">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.acosh">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.acosh">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.acosh">(in module tvm.tirx)</a>
@@ -647,6 +665,10 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.add">add() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.add">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.add">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/topi.html#tvm.topi.nn.add">(in module tvm.topi.nn)</a>
 </li>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.DataflowBlockRewrite.add">(tvm.relax.DataflowBlockRewrite method)</a>
@@ -657,13 +679,19 @@ document.write(`
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.add_func">add_func() (tvm.relax.block_builder.BlockBuilder method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.BasePyModule.add_python_function">add_python_function() (tvm.relax.BasePyModule method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.add_to_parent">add_to_parent() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.add_unit_loop">add_unit_loop() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="tirx/api/ptx.html#tvm.backend.cuda.ptx.PTXNamespace.addr">addr() (tvm.backend.cuda.ptx.PTXNamespace static method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.address_of">address_of() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.address_of">address_of() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.address_of">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.AdjustMatmulOrder">AdjustMatmulOrder() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.image.affine_grid">affine_grid() (in module tvm.relax.op.image)</a>
@@ -709,8 +737,18 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AllGatherAttrs">AllGatherAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="tirx/api/cuda.html#TMEMPool.alloc">alloc() (TMEMPool method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.alloc_buffer">alloc_buffer() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.alloc_cast_frag">alloc_cast_frag() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.alloc_local">alloc_local() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.alloc_scalar">alloc_scalar() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.TMEMPool.alloc_sf">alloc_sf() (tvm.backend.cuda.lang.TMEMPool method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.alloc_shared">alloc_shared() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.memory.alloc_storage">alloc_storage() (in module tvm.relax.op.memory)</a>
 
@@ -718,8 +756,12 @@ document.write(`
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.vm.alloc_storage">(in module tvm.relax.op.vm)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/script.html#tvm.tirx.script.builder.ir.alloc_tcgen05_ldst_frag">alloc_tcgen05_ldst_frag() (in module tvm.tirx.script.builder.ir)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.alloc_tcgen05_ldst_frag">alloc_tcgen05_ldst_frag() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/script.html#tvm.tirx.script.builder.ir.alloc_tcgen05_ldst_frag">(in module tvm.tirx.script.builder.ir)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.TMEMPool.alloc_tcgen05_mma_A">alloc_tcgen05_mma_A() (tvm.backend.cuda.lang.TMEMPool method)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.SMEMPool.alloc_tcgen05_mma_AB">alloc_tcgen05_mma_AB() (tvm.backend.cuda.lang.SMEMPool method)</a>
@@ -753,6 +795,8 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AllReduceAttrs">AllReduceAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.LeakyReluAttrs.alpha">alpha (tvm.relax.op.op_attrs.LeakyReluAttrs property)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.AlreadyEmitted">AlreadyEmitted (class in tvm.script.ir_builder)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.AlterOpImpl">AlterOpImpl() (in module tvm.relax.transform)</a>
 </li>
@@ -760,6 +804,14 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.And">And (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.and_">and_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.and_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.and_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.annotate">annotate() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.annotate_buffer_access">annotate_buffer_access() (tvm.s_tir.schedule.Schedule method)</a>
@@ -770,12 +822,28 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.AnnotateTIROpPattern">AnnotateTIROpPattern() (in module tvm.relax.transform)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.annotation_value_">annotation_value_() (in module tvm.script.ir_builder.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Any">Any() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.Any">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.any">any() (in module tvm.te)</a>
 
       <ul>
         <li><a href="tirx/api/tirx.html#tvm.tirx.any">(in module tvm.tirx)</a>
 </li>
       </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.anylist_getitem">anylist_getitem() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.anylist_resetitem">anylist_resetitem() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.anylist_setitem_call_cpacked">anylist_setitem_call_cpacked() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.anylist_setitem_call_packed">anylist_setitem_call_packed() (in module tvm.script.tirx)</a>
+</li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.AnyType">AnyType (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.append">append() (tvm.s_tir.schedule.Trace method)</a>
@@ -796,32 +864,68 @@ document.write(`
         <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Postproc.apply">(tvm.s_tir.meta_schedule.Postproc method)</a>
 </li>
         <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.ScheduleRule.apply">(tvm.s_tir.meta_schedule.ScheduleRule method)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.apply">(tvm.script.tirx.Layout method)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.LambdaExpr.apply">(tvm.tirx.LambdaExpr method)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.StmtSimplifyConfig.apply_constraints_to_boolean_branches">apply_constraints_to_boolean_branches (tvm.tirx.transform.StmtSimplifyConfig property)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.apply_json_to_schedule">apply_json_to_schedule() (tvm.s_tir.schedule.Trace static method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MultiboxTransformLocAttrs.apply_softmax">apply_softmax (tvm.relax.op.op_attrs.MultiboxTransformLocAttrs property)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.apply_to_schedule">apply_to_schedule() (tvm.s_tir.schedule.Trace method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.apply_to_shape">apply_to_shape() (tvm.script.tirx.Layout method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.ApplyDefaultSchedule">ApplyDefaultSchedule (class in tvm.s_tir.dlight)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.arange">arange() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.arange">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.arange">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.arg">arg() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.arg">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.arg">(in module tvm.script.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.argmax">argmax() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.argmax">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.argmax">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgmaxArgminAttrs">ArgmaxArgminAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.argmin">argmin() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.argmin">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.argmin">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.argsort">argsort() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.argsort">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.argsort">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgsortAttrs">ArgsortAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Array">Array (class in tvm.ir)</a>
@@ -835,10 +939,18 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.VMExecutable.as_text">as_text() (tvm.relax.VMExecutable method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.LetAnnotation.as_var">as_var() (tvm.script.tirx.LetAnnotation method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.asin">asin() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.asin">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.asin">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.asin">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.asin">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.asin">(in module tvm.tirx)</a>
@@ -847,6 +959,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.asinh">asinh() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.asinh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.asinh">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.asinh">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.asinh">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.asinh">(in module tvm.tirx)</a>
@@ -854,10 +972,26 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.TensorSlice.asobject">asobject() (tvm.te.TensorSlice method)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Assert">Assert() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.assert_">assert_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.assert_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.assert_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.assert_allclose">assert_allclose() (in module tvm.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.assert_op">assert_op() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.assert_op">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.assert_op">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.assert_prim_expr_equal">assert_prim_expr_equal() (in module tvm.testing)</a>
 </li>
       <li><a href="reference/api/python/s_tir/analysis.html#tvm.s_tir.analysis.assert_pure_function">assert_pure_function() (in module tvm.s_tir.analysis)</a>
@@ -866,17 +1000,35 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.AssertStmt">AssertStmt (class in tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.assume">assume() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.assume">assume() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.assume">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.StridedSliceAttrs.assume_inbound">assume_inbound (tvm.relax.op.op_attrs.StridedSliceAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.astype">astype() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.astype">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.astype">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AstypeAttrs">AstypeAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.at_">at_() (in module tvm.script.ir_builder.ir)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.atan">atan() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.atan">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.atan">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.atan">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.atan">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.atan">(in module tvm.tirx)</a>
@@ -885,12 +1037,24 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.atan2">atan2() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.atan2">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.atan2">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.atan2">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.atan2">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.atanh">atanh() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.atanh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.atanh">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.atanh">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.atanh">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.atanh">(in module tvm.tirx)</a>
@@ -911,6 +1075,8 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.attention_var_len">attention_var_len() (in module tvm.relax.op.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AttentionAttrs">AttentionAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.attr">attr() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Attrs">Attrs (class in tvm.ir)</a>
 </li>
@@ -948,9 +1114,11 @@ document.write(`
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.RMSNormAttrs.axes">(tvm.relax.op.op_attrs.RMSNormAttrs property)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgmaxArgminAttrs.axis">axis (tvm.relax.op.op_attrs.ArgmaxArgminAttrs property)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis">axis (class in tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgmaxArgminAttrs.axis">(tvm.relax.op.op_attrs.ArgmaxArgminAttrs property)</a>
+</li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgsortAttrs.axis">(tvm.relax.op.op_attrs.ArgsortAttrs property)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.BatchNormAttrs.axis">(tvm.relax.op.op_attrs.BatchNormAttrs property)</a>
@@ -1062,10 +1230,22 @@ document.write(`
         <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistedLetBindings.Bind">(tvm.tirx.transform.HoistedLetBindings attribute)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.bind">bind() (tvm.s_tir.schedule.Schedule method)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Bind">Bind() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bind">bind() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.bind">(tvm.s_tir.schedule.Schedule method)</a>
+</li>
         <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.bind">(tvm.sym.Analyzer method)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.bind_">bind_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.bind_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bind_">(in module tvm.script.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.Function.bind_params">bind_params() (tvm.relax.Function method)</a>
@@ -1088,31 +1268,55 @@ document.write(`
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.bitserial_conv2d_nhwc">bitserial_conv2d_nhwc() (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.bitserial_dense">bitserial_dense() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.bitwise_and">bitwise_and() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.bitwise_and">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.bitwise_and">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bitwise_and">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.bitwise_and">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.bitwise_not">bitwise_not() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.bitwise_not">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.bitwise_not">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bitwise_not">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.bitwise_not">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.bitwise_or">bitwise_or() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.bitwise_or">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.bitwise_or">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bitwise_or">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.bitwise_or">(in module tvm.tirx)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.bitwise_xor">bitwise_xor() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.bitwise_xor">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.bitwise_xor">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bitwise_xor">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.bitwise_xor">(in module tvm.tirx)</a>
 </li>
       </ul></li>
@@ -1123,10 +1327,16 @@ document.write(`
       <li><a href="tirx/api/tirx.html#tvm.tirx.BitwiseOr">BitwiseOr (class in tvm.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.BitwiseXor">BitwiseXor (class in tvm.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.block_name_suffix_context">block_name_suffix_context() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder">BlockBuilder (class in tvm.relax.block_builder)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.blockize">blockize() (tvm.s_tir.schedule.Schedule method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.bool">bool() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.boolean">boolean() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistedConditionals.BooleanExpression">BooleanExpression (tvm.tirx.transform.HoistedConditionals attribute)</a>
 </li>
@@ -1134,12 +1344,32 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Break">Break (class in tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.break_loop">break_loop() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Break">Break() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.break_">break_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.break_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.break_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.break_loop">break_loop() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.break_loop">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Broadcast">Broadcast (class in tvm.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.broadcast">broadcast (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.broadcast">broadcast() (tvm.runtime.disco.Session method)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.broadcast">(tvm.script.tirx.Layout method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.ccl.broadcast_from_worker0">broadcast_from_worker0() (in module tvm.relax.op.ccl)</a>
 
       <ul>
@@ -1147,19 +1377,45 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.broadcast_to">broadcast_to() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.broadcast_to">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.broadcast_to">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.bucketize">bucketize() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.bucketize">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.bucketize">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Buffer">Buffer (class in tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.buffer">buffer (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Buffer">Buffer (in module tvm.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.buffer_data">buffer_data() (in module tvm.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.buffer_data_pointer_type">buffer_data_pointer_type() (in module tvm.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.buffer_proxy">buffer_proxy() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.buffer_store">buffer_store() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.buffer_var">buffer_var() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.BufferAccessKind">BufferAccessKind (class in tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.BufferLoad">BufferLoad() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.BufferLoad">BufferLoad() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.BufferLoad">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.BufferRegion">BufferRegion() (in module tvm.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.BufferRegionType">BufferRegionType (class in tvm.tirx)</a>
@@ -1207,50 +1463,126 @@ document.write(`
       <li><a href="reference/api/python/ir.html#tvm.ir.Call">Call (class in tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_builtin_with_ctx">call_builtin_with_ctx() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_builtin_with_ctx">(in module tvm.script.ir_builder.relax)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_cpacked">call_cpacked() (in module tvm.tirx)</a>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_builtin_with_ctx">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_cpacked">call_cpacked() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_cpacked">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_cpacked_lowered">call_cpacked_lowered() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_cpacked_lowered">call_cpacked_lowered() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_cpacked_lowered">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.call_dps_packed">call_dps_packed() (in module tvm.relax)</a>
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_dps_packed">(in module tvm.relax.op)</a>
+</li>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_dps_packed">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_dps_packed">(in module tvm.script.relax)</a>
 </li>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.BasePyModule.call_dps_packed">(tvm.relax.BasePyModule method)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_extern">call_extern() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_extern">call_extern() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_extern">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_ffi_kernel">call_ffi_kernel() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_ffi_kernel">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_global_var_">call_global_var_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_global_var_">(in module tvm.script.relax)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_ffi_kernel">call_ffi_kernel() (in module tvm.tirx)</a>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_global_var_">(in module tvm.script.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_inplace_packed">call_inplace_packed() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_inplace_packed">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_inplace_packed">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_intrin">call_intrin() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_intrin">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_intrin">call_intrin() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_kernel">call_kernel() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_llvm_intrin">call_llvm_intrin() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_llvm_intrin">call_llvm_intrin() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_llvm_intrin">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_llvm_pure_intrin">call_llvm_pure_intrin() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_llvm_pure_intrin">call_llvm_pure_intrin() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_llvm_pure_intrin">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_packed">call_packed() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_packed">call_packed() (in module tvm.script.ir_builder.relax)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_packed">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_packed">(in module tvm.script.tirx)</a>
+</li>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_packed">(in module tvm.tirx)</a>
+</li>
         <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.call_packed">(tvm.runtime.disco.Session method)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_packed_lowered">call_packed_lowered() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_packed_lowered">call_packed_lowered() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_packed_lowered">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.call_pure_extern">call_pure_extern() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.call_pure_extern">call_pure_extern() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.call_pure_extern">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.call_pure_packed">call_pure_packed() (in module tvm.relax)</a>
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_pure_packed">(in module tvm.relax.op)</a>
+</li>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_pure_packed">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_pure_packed">(in module tvm.script.relax)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_py_func">call_py_func() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_py_func">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_py_func">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.BasePyModule.call_py_func">(tvm.relax.BasePyModule method)</a>
 </li>
       </ul></li>
@@ -1262,6 +1594,10 @@ document.write(`
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_tir">(in module tvm.relax.op)</a>
+</li>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_tir">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_tir">(in module tvm.script.relax)</a>
 </li>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.BasePyModule.call_tir">(tvm.relax.BasePyModule method)</a>
 </li>
@@ -1272,6 +1608,10 @@ document.write(`
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_tir_inplace">(in module tvm.relax.op)</a>
+</li>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_tir_inplace">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_tir_inplace">(in module tvm.script.relax)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.distributed.call_tir_local_view">call_tir_local_view() (in module tvm.relax.op.distributed)</a>
@@ -1280,6 +1620,16 @@ document.write(`
 
       <ul>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.call_tir_with_grad">(in module tvm.relax.op)</a>
+</li>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.call_tir_with_grad">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.call_tir_with_grad">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Callable">Callable() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.Callable">(in module tvm.script.relax)</a>
 </li>
       </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.CallEffectKind">CallEffectKind (class in tvm.tirx)</a>
@@ -1305,16 +1655,26 @@ document.write(`
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.can_prove_equal">can_prove_equal() (tvm.sym.Analyzer method)</a>
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.canonical_simplify">canonical_simplify() (tvm.sym.Analyzer method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.canonicalize">canonicalize() (tvm.script.tirx.Layout method)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.CanonicalizeBindings">CanonicalizeBindings() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Cast">Cast (class in tvm.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cast">cast() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AttentionAttrs.causal_mask">causal_mask (tvm.relax.op.op_attrs.AttentionAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.ceil">ceil() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ceil">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ceil">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ceil">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.ceil">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.ceil">(in module tvm.tirx)</a>
@@ -1328,8 +1688,12 @@ document.write(`
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool3DAttrs.ceil_mode">(tvm.relax.op.op_attrs.Pool3DAttrs property)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.ceildiv">ceildiv() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ceildiv">ceildiv() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.ceildiv">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.BatchNormAttrs.center">center (tvm.relax.op.op_attrs.BatchNormAttrs property)</a>
 
       <ul>
@@ -1352,6 +1716,16 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.check_well_formed">check_well_formed() (in module tvm.relax.analysis)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.check_well_formed_">check_well_formed_() (in module tvm.script.ir_builder.ir)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.check_well_formed_">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.check_well_formed_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.check_well_formed_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.chmod">chmod() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.chunk">chunk() (tvm.ir.Var method)</a>
@@ -1363,7 +1737,13 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MultiboxTransformLocAttrs.clip">clip (tvm.relax.op.op_attrs.MultiboxTransformLocAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.clip">clip() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.clip">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.clip">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Mutator.clone">clone() (tvm.s_tir.meta_schedule.Mutator method)</a>
 
       <ul>
@@ -1386,19 +1766,39 @@ document.write(`
         <li><a href="reference/api/python/rpc.html#tvm.rpc.TrackerSession.close">(tvm.rpc.TrackerSession method)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.clz">clz() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cluster_id">cluster_id() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.clz">clz() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.clz">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.collapse_sum_like">collapse_sum_like() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.collapse_sum_like">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.collapse_sum_like">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.collapse_sum_to">collapse_sum_to() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.collapse_sum_to">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.collapse_sum_to">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.collect_non_negative_expressions">collect_non_negative_expressions() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.CombineParallelMatmul">CombineParallelMatmul() (in module tvm.relax.transform)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.comm_reducer">comm_reducer() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.comm_reducer">comm_reducer() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.comm_reducer">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.comm_reducer">(in module tvm.tirx)</a>
 </li>
       </ul></li>
@@ -1425,6 +1825,8 @@ document.write(`
       <li><a href="reference/api/python/support.html#tvm.support.nvcc.compile_cuda">compile_cuda() (in module tvm.support.nvcc)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.xcode.compile_metal">compile_metal() (in module tvm.support.xcode)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ComposeLayout">ComposeLayout (class in tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.computable_at_compile_time">computable_at_compile_time() (in module tvm.relax.analysis)</a>
 </li>
@@ -1439,18 +1841,30 @@ document.write(`
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.ComputePrimValue">ComputePrimValue() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.concat">concat() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.concat">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.concat">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ConcatAttrs">ConcatAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.concatenate">concatenate() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.connect">connect() (in module tvm.rpc)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.connect_tracker">connect_tracker() (in module tvm.rpc)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.const">const() (in module tvm.relax)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.const">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.const">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.const">(in module tvm.te)</a>
 </li>
       </ul></li>
@@ -1460,6 +1874,14 @@ document.write(`
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Constant">Constant (class in tvm.ir)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.constexpr">constexpr() (in module tvm.script.ir_builder.ir)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.constexpr">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.constexpr">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/sym.html#tvm.sym.ConstIntBound">ConstIntBound (class in tvm.sym)</a>
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.constraint_scope">constraint_scope() (tvm.sym.Analyzer method)</a>
@@ -1470,8 +1892,22 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Continue">Continue (class in tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.continue_loop">continue_loop() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Continue">Continue() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.continue_">continue_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.continue_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.continue_">(in module tvm.script.tirx)</a>
 </li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.continue_loop">continue_loop() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.continue_loop">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv">conv() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.conv1d">conv1d() (in module tvm.relax.op.nn)</a>
@@ -1480,8 +1916,6 @@ document.write(`
         <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv1d">(in module tvm.topi.nn)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.conv1d_ncw">conv1d_ncw() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.conv1d_ncw_python">conv1d_ncw_python() (in module tvm.topi.testing)</a>
@@ -1622,8 +2056,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.copy_to_worker_0">copy_to_worker_0() (tvm.runtime.disco.Session method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.copysign">copysign() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.copysign">copysign() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.copysign">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.coreml_runtime.CoreMLModule">CoreMLModule (class in tvm.contrib.coreml_runtime)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.correlation_nchw">correlation_nchw() (in module tvm.topi.nn)</a>
@@ -1633,6 +2071,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.cos">cos() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.cos">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.cos">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cos">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.cos">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.cos">(in module tvm.tirx)</a>
@@ -1641,6 +2085,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.cosh">cosh() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.cosh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.cosh">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cosh">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.cosh">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.cosh">(in module tvm.tirx)</a>
@@ -1658,8 +2108,14 @@ document.write(`
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool3DAttrs.count_include_pad">(tvm.relax.op.op_attrs.Pool3DAttrs property)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.cpu">cpu() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.cpu">cpu() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.cpu">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.cpu">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.coreml_runtime.create">create() (in module tvm.contrib.coreml_runtime)</a>
 
       <ul>
@@ -1723,17 +2179,41 @@ document.write(`
       <li><a href="reference/api/python/support.html#tvm.support.cc.cross_compiler">cross_compiler() (in module tvm.support.cc)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.cross_entropy_with_logits">cross_entropy_with_logits() (in module tvm.relax.op.nn)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cta_id">cta_id() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cta_id_in_cluster">cta_id_in_cluster() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.cta_id_in_pair">cta_id_in_pair() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Resize2DAttrs.cubic_alpha">cubic_alpha (tvm.relax.op.op_attrs.Resize2DAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Resize2DAttrs.cubic_exclude">cubic_exclude (tvm.relax.op.op_attrs.Resize2DAttrs property)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.cuda">cuda() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.cuda">cuda() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.cuda">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.cuda">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.cumprod">cumprod() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.cumprod">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.cumprod">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.cumsum">cumsum() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.cumsum">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.cumsum">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/transform.html#tvm.ir.transform.PassContext.current">current() (tvm.ir.transform.PassContext static method)</a>
 
       <ul>
@@ -1774,8 +2254,14 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Database">Database (class in tvm.s_tir.meta_schedule)</a>
 </li>
-      <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.dataflow">dataflow() (tvm.relax.block_builder.BlockBuilder method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.dataflow">dataflow() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.dataflow">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.dataflow">(tvm.relax.block_builder.BlockBuilder method)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.DataflowBlock">DataflowBlock (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.dataflowblock_pass">dataflowblock_pass() (in module tvm.relax.transform)</a>
@@ -1797,8 +2283,20 @@ document.write(`
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.DRef.debug_get_from_remote">debug_get_from_remote() (tvm.runtime.disco.DRef method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.decisions">decisions (tvm.s_tir.schedule.Trace attribute)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.decl_buffer">decl_buffer() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.decl_function">decl_function() (in module tvm.script.ir_builder.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.decl_mutable_cell_">decl_mutable_cell_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.decl_mutable_cell_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.decl_mutable_cell_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.decl_scalar">decl_scalar() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.declaration_conv2d_transpose_impl">declaration_conv2d_transpose_impl() (in module tvm.topi.nn)</a>
 </li>
@@ -1869,7 +2367,13 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.depthwise_conv2d_python_nhwc">depthwise_conv2d_python_nhwc() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.dequantize">dequantize() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.dequantize">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.dequantize">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.derive_call_ret_type">derive_call_ret_type() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgsortAttrs.descending">descending (tvm.relax.op.op_attrs.ArgsortAttrs property)</a>
@@ -1888,18 +2392,32 @@ document.write(`
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.detect_iter_map">detect_iter_map() (in module tvm.sym)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/sym.html#tvm.sym.detect_linear_equation">detect_linear_equation() (in module tvm.sym)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.detect_recursion">detect_recursion() (in module tvm.relax.analysis)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.device">device() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.device">device() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.device">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.device">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/testing.html#tvm.testing.device_enabled">device_enabled() (in module tvm.testing)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.device_entry">device_entry() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.device_mesh">device_mesh() (in module tvm.relax.distributed)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.device_mesh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.device_mesh">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.HintOnDeviceAttrs.device_type">device_type (tvm.relax.op.op_attrs.HintOnDeviceAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.DeviceMesh">DeviceMesh (class in tvm.relax.distributed)</a>
@@ -1939,6 +2457,8 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.dilation_h">dilation_h (tvm.topi.nn.Workload attribute)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.dilation_w">dilation_w (tvm.topi.nn.Workload attribute)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.direct_sum">direct_sum() (tvm.script.tirx.Layout method)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.utils.DirectoryCreatedPastAtExit">DirectoryCreatedPastAtExit</a>
 </li>
@@ -1955,7 +2475,13 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.divide">divide() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.divide">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.divide">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.DModule">DModule (class in tvm.runtime.disco)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.dnnl.dnnl_conv2d">dnnl_conv2d() (in module tvm.contrib.dnnl)</a>
@@ -1976,8 +2502,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.download.download_testdata">download_testdata() (in module tvm.contrib.download)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.dp4a">dp4a() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.dp4a">dp4a() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.dp4a">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.DPackedFunc">DPackedFunc (class in tvm.runtime.disco)</a>
 </li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.DRef">DRef (class in tvm.runtime.disco)</a>
@@ -1988,6 +2518,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ToVDeviceAttrs.dst_vdevice">dst_vdevice (tvm.relax.op.op_attrs.ToVDeviceAttrs property)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.DTensor">DTensor() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.DTensor">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.DTensorType">DTensorType (class in tvm.relax.distributed)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ArgsortAttrs.dtype">dtype (tvm.relax.op.op_attrs.ArgsortAttrs property)</a>
@@ -2010,8 +2546,20 @@ document.write(`
         <li><a href="reference/api/python/te.html#tvm.te.TensorSlice.dtype">(tvm.te.TensorSlice property)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.dummy_global_info">dummy_global_info() (in module tvm.script.ir_builder.ir)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.dtype">dtype() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.dtype">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.DtypeConstructor">DtypeConstructor (class in tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.dummy_global_info">dummy_global_info() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.dummy_global_info">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.DummyGlobalInfo">DummyGlobalInfo (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Database.dump_pruned">dump_pruned() (tvm.s_tir.meta_schedule.Database method)</a>
@@ -2021,7 +2569,13 @@ document.write(`
       <li><a href="reference/api/python/instrument.html#tvm.ir.instrument.DumpIR">DumpIR (class in tvm.ir.instrument)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.dynamic_strided_slice">dynamic_strided_slice() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.dynamic_strided_slice">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.dynamic_strided_slice">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/frontend.html#tvm.relax.frontend.torch.dynamo_capture_subgraphs">dynamo_capture_subgraphs() (in module tvm.relax.frontend.torch)</a>
 </li>
   </ul></td>
@@ -2031,15 +2585,53 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.einsum">einsum() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.einsum">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.einsum">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.EinsumAttrs">EinsumAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.elem_offset_of">elem_offset_of() (tvm.ir.Var method)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.EliminateCommonSubexpr">EliminateCommonSubexpr() (in module tvm.relax.transform)</a>
 </li>
-      <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit">emit() (tvm.relax.block_builder.BlockBuilder method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Else">Else() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.Else">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Else">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.else_">else_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.else_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.else_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit">emit() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.emit">(in module tvm.script.tirx)</a>
+</li>
+        <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit">(tvm.relax.block_builder.BlockBuilder method)</a>
 </li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit_">emit_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.emit_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.emit_call">emit_call() (tvm.relax.ExecBuilder method)</a>
 </li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit_func_output">emit_func_output() (tvm.relax.block_builder.BlockBuilder method)</a>
@@ -2048,14 +2640,44 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.emit_if">emit_if() (tvm.relax.ExecBuilder method)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit_match_cast">emit_match_cast() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit_match_cast">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit_normalized">emit_normalized() (tvm.relax.block_builder.BlockBuilder method)</a>
 </li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit_output">emit_output() (tvm.relax.block_builder.BlockBuilder method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.emit_ret">emit_ret() (tvm.relax.ExecBuilder method)</a>
 </li>
-      <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit_te">emit_te() (tvm.relax.block_builder.BlockBuilder method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit_te">emit_te() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit_te">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.emit_te">(tvm.relax.block_builder.BlockBuilder method)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit_var_binding">emit_var_binding() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit_var_binding">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit_with_ty">emit_with_ty() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit_with_ty">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.emit_with_type">emit_with_type() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.emit_with_type">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.empty">empty() (tvm.runtime.disco.Session method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/tensor_intrin.html#tvm.s_tir.tensor_intrin.enabled">enabled() (in module tvm.s_tir.tensor_intrin)</a>
@@ -2066,8 +2688,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.grad.end_checkpoint">end_checkpoint() (in module tvm.relax.op.grad)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.end_profile_intrinsic">end_profile_intrinsic() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.end_profile_intrinsic">end_profile_intrinsic() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.end_profile_intrinsic">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.end_scope">end_scope() (tvm.relax.block_builder.BlockBuilder method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.memory.ensure_zero_offset">ensure_zero_offset() (in module tvm.relax.op.memory)</a>
@@ -2075,6 +2701,8 @@ document.write(`
       <li><a href="reference/api/python/instrument.html#tvm.ir.instrument.PassInstrument.enter_pass_ctx">enter_pass_ctx() (tvm.ir.instrument.PassInstrument method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.enter_postproc">enter_postproc() (tvm.s_tir.schedule.Schedule method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.env_thread">env_thread() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.EnvFunc">EnvFunc (class in tvm.ir)</a>
 </li>
@@ -2092,8 +2720,22 @@ document.write(`
       </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.EQ">EQ (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.eq_">eq_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.eq_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.eq_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.equal">equal() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.equal">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.equal">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.equal_const_int">equal_const_int() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.erase_to_well_defined">erase_to_well_defined() (in module tvm.relax.analysis)</a>
@@ -2101,11 +2743,19 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.erf">erf() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.erf">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.erf">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.erf">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.erf">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.erf">(in module tvm.tirx)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.estimate_memory_usage">estimate_memory_usage() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.estimate_region_lower_bound">estimate_region_lower_bound() (in module tvm.sym)</a>
@@ -2118,15 +2768,23 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Evaluate">Evaluate (class in tvm.tirx)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.evaluate">evaluate() (in module tvm.script.tirx)</a>
+</li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.ewise_fma">ewise_fma() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ewise_fma">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ewise_fma">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ScanopAttrs.exclusive">exclusive (tvm.relax.op.op_attrs.ScanopAttrs property)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.hexagon.ContainerSession.exec">exec() (tvm.contrib.hexagon.ContainerSession method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder">ExecBuilder (class in tvm.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ExecScope">ExecScope (class in tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.cudnn.exists">exists() (in module tvm.contrib.cudnn)</a>
 
@@ -2139,17 +2797,37 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.exp">exp() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.exp">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.exp">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.exp">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.exp">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.exp">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.exp10">exp10() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.exp10">exp10() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.exp10">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.exp2">exp2() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.exp2">exp2() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.exp2">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.expand_dims">expand_dims() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.expand_dims">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.expand_dims">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ExpandDimsAttrs">ExpandDimsAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.ExpandMatmulOfSum">ExpandMatmulOfSum() (in module tvm.relax.transform)</a>
@@ -2188,8 +2866,14 @@ document.write(`
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.ExprWithOp">ExprWithOp (class in tvm.ir)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.ext_dev">ext_dev() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ext_dev">ext_dev() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ext_dev">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.ext_dev">(tvm.rpc.RPCSession method)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Extension">Extension (class in tvm.sym)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.extern">extern() (in module tvm.relax)</a>
@@ -2211,9 +2895,21 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Resize2DAttrs.extrapolation_value">extrapolation_value (tvm.relax.op.op_attrs.Resize2DAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.eye">eye() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.eye">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.eye">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.eye_like">eye_like() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.eye_like">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.eye_like">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -2221,6 +2917,8 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.f">f() (tvm.relax.ExecBuilder method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.fabs">fabs() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.fast_softmax">fast_softmax() (in module tvm.topi.nn)</a>
 </li>
@@ -2233,6 +2931,8 @@ document.write(`
       <li><a href="reference/api/python/support.html#tvm.support.utils.FileLock">FileLock (class in tvm.support.utils)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.utils.filelock">filelock() (in module tvm.support.utils)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.filter">filter() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.Filter">Filter() (in module tvm.tirx.transform)</a>
 </li>
@@ -2263,13 +2963,23 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.flatten">flatten() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.flatten">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.flatten">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/topi.html#tvm.topi.nn.flatten">(in module tvm.topi.nn)</a>
 </li>
       </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.FlattenBuffer">FlattenBuffer() (in module tvm.tirx.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.flip">flip() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.flip">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.flip">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.FlipAttrs">FlipAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.FloatImm">FloatImm (class in tvm.tirx)</a>
@@ -2277,45 +2987,87 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.floor">floor() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.floor">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.floor">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.floor">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.floor">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.floor">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.floor_divide">floor_divide() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.floor_divide">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.floor_divide">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.floor_mod">floor_mod() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.floor_mod">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.floor_mod">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.FloorDiv">FloorDiv (class in tvm.tirx)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.floordiv">floordiv() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.floordiv">floordiv() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.floordiv">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.floordiv">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.FloorMod">FloorMod (class in tvm.tirx)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.floormod">floormod() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.floormod">floormod() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.floormod">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.floormod">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/te.html#tvm.te.fmod">fmod() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.fma">fma() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.fmod">fmod() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.fmod">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.fmod">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.FoldBatchnormToConv2D">FoldBatchnormToConv2D (class in tvm.relax.transform)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.FoldConstant">FoldConstant() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.For">For (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.For">For() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.For">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.For">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.for_">for_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.for_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.for_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs.force_suppress">force_suppress (tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs property)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.ForceNarrowIndexToInt32">ForceNarrowIndexToInt32() (in module tvm.tirx.transform)</a>
@@ -2327,6 +3079,8 @@ document.write(`
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.FP8ComputeLegalize">FP8ComputeLegalize() (in module tvm.tirx.transform)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.FP8StorageLegalize">FP8StorageLegalize() (in module tvm.tirx.transform)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.frame_scope">frame_scope() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.free_symbolic_vars">free_symbolic_vars() (in module tvm.relax.analysis)</a>
 </li>
@@ -2343,6 +3097,8 @@ document.write(`
       <li><a href="tirx/api/tirx.html#tvm.tirx.IndexMap.from_func">from_func() (tvm.tirx.IndexMap static method)</a>
 </li>
       <li><a href="reference/api/python/relax/frontend.html#tvm.relax.frontend.torch.from_fx">from_fx() (in module tvm.relax.frontend.torch)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.from_iters">from_iters() (tvm.script.tirx.TileLayout static method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Range.from_min_extent">from_min_extent() (tvm.ir.Range static method)</a>
 </li>
@@ -2355,19 +3111,81 @@ document.write(`
       <li><a href="reference/api/python/relax/frontend.html#tvm.relax.frontend.tflite.from_tflite">from_tflite() (in module tvm.relax.frontend.tflite)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.full">full() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.full">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.full">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.full_like">full_like() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.full_like">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.full_like">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.nnpack.fully_connected_inference">fully_connected_inference() (in module tvm.contrib.nnpack)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.func_attr">func_attr() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.func_attr">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.func_attr">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.func_name">func_name() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.func_name">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.func_name">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.func_ret">func_ret() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.func_ret_ty">func_ret_ty() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.func_ret_ty">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.func_ret_type">func_ret_type() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.func_ret_type">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.func_ret_type">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.func_ret_value">func_ret_value() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.func_ret_value">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.func_working_on">func_working_on (tvm.s_tir.schedule.Schedule property)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.Function">Function (class in tvm.relax)</a>
 </li>
-      <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.function">function() (tvm.relax.block_builder.BlockBuilder method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.function">function() (in module tvm.script.ir_builder.relax)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.function">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.function">(tvm.relax.block_builder.BlockBuilder method)</a>
+</li>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.function">(tvm.relax.ExecBuilder method)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.function_">function_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.function_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.function_">(in module tvm.script.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.function_pass">function_pass() (in module tvm.relax.transform)</a>
@@ -2401,9 +3219,21 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.gather_elements">gather_elements() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.gather_elements">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.gather_elements">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.gather_nd">gather_nd() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.gather_nd">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.gather_nd">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.gather_nd_python">gather_nd_python() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.gather_python">gather_python() (in module tvm.topi.testing)</a>
@@ -2416,6 +3246,14 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.GE">GE (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ge_">ge_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ge_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ge_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.gelu">gelu() (in module tvm.relax.op.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.gelu_tanh">gelu_tanh() (in module tvm.relax.op.nn)</a>
@@ -2470,8 +3308,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.image.get_3d_pixel">get_3d_pixel() (in module tvm.topi.image)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.get_active_lane_mask">get_active_lane_mask() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.get_active_lane_mask">get_active_lane_mask() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.get_active_lane_mask">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Database.get_all_tuning_records">get_all_tuning_records() (tvm.s_tir.meta_schedule.Database method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.IRModule.get_attr">get_attr() (tvm.ir.IRModule method)</a>
@@ -2575,6 +3417,8 @@ document.write(`
       <li><a href="reference/api/python/s_tir/analysis.html#tvm.s_tir.analysis.get_sblock_read_write_region">get_sblock_read_write_region() (in module tvm.s_tir.analysis)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.ScheduleState.get_sblock_scope">get_sblock_scope() (tvm.s_tir.schedule.ScheduleState method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.get_scope">get_scope() (tvm.script.tirx.TileLayout method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.get_shape_of">get_shape_of() (in module tvm.relax)</a>
 </li>
@@ -2629,8 +3473,22 @@ document.write(`
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.Gradient">Gradient() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.greater">greater() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.greater">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.greater">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.greater_equal">greater_equal() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.greater_equal">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.greater_equal">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.grid">grid() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.image.grid_sample">grid_sample() (in module tvm.relax.op.image)</a>
 
@@ -2640,8 +3498,12 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.grid_sample_python">grid_sample_python() (in module tvm.topi.testing)</a>
 </li>
-      <li><a href="reference/api/python/testing.html#tvm.testing.Path.group">group() (tvm.testing.Path method)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.group">group() (tvm.script.tirx.TileLayout method)</a>
+
+      <ul>
+        <li><a href="reference/api/python/testing.html#tvm.testing.Path.group">(tvm.testing.Path method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.group_conv1d_ncw">group_conv1d_ncw() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.group_conv1d_ncw_python">group_conv1d_ncw_python() (in module tvm.topi.testing)</a>
@@ -2659,6 +3521,8 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.group_conv2d_transpose_nchw">group_conv2d_transpose_nchw() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.group_conv3d_transpose_ncdhw">group_conv3d_transpose_ncdhw() (in module tvm.topi.nn)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.group_many">group_many() (tvm.script.tirx.TileLayout method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.group_norm">group_norm() (in module tvm.relax.op.nn)</a>
 
@@ -2688,6 +3552,14 @@ document.write(`
       </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.GT">GT (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.gt_">gt_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.gt_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.gt_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -2695,9 +3567,21 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.hamming_window">hamming_window() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.hamming_window">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.hamming_window">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.handle">handle() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.handle_add_byte_offset">handle_add_byte_offset() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.handle_add_byte_offset">handle_add_byte_offset() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.handle_add_byte_offset">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.hardlink_to">hardlink_to() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Op.has_attr">has_attr() (tvm.ir.Op method)</a>
@@ -2717,17 +3601,31 @@ document.write(`
       <li><a href="reference/api/python/support.html#tvm.support.rocm.have_matrixcore">have_matrixcore() (in module tvm.support.rocm)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.nvcc.have_tensorcore">have_tensorcore() (in module tvm.support.nvcc)</a>
+</li>
+      <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.height">height (tvm.topi.nn.Workload attribute)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.height">height (tvm.topi.nn.Workload attribute)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.hexagon">hexagon() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.hexagon">(in module tvm.script.relax)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.hexagon">hexagon() (tvm.rpc.RPCSession method)</a>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.hexagon">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.hexagon.hexagon_clang_plus">hexagon_clang_plus() (in module tvm.contrib.hexagon)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.hint">hint() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.hint_on_device">hint_on_device() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.hint_on_device">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.hint_on_device">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.HintOnDeviceAttrs">HintOnDeviceAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistExpressionConfig.hoisted_conditionals">hoisted_conditionals (tvm.tirx.transform.HoistExpressionConfig property)</a>
@@ -2744,8 +3642,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.home">home() (tvm.testing.Path class method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.hypot">hypot() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.hypot">hypot() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.hypot">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -2762,10 +3664,36 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.If">If (class in tvm.relax)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.if_then_else">if_then_else() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.If">If() (in module tvm.script.ir_builder.relax)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.If">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.If">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.if_">if_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.if_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.if_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.if_then_else">if_then_else() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.if_then_else">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.if_then_else">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.if_then_else_">if_then_else_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.if_then_else_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.if_then_else_">(in module tvm.script.tirx)</a>
 </li>
       </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistedConditionals.IfElseExpr">IfElseExpr (tvm.tirx.transform.HoistedConditionals attribute)</a>
@@ -2776,8 +3704,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.NLLLossAttrs.ignore_index">ignore_index (tvm.relax.op.op_attrs.NLLLossAttrs property)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.ignore_loop_partition">ignore_loop_partition() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ignore_loop_partition">ignore_loop_partition() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.ignore_loop_partition">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.RemoveNoOpConfig.ignore_profiler_call">ignore_profiler_call (tvm.tirx.transform.RemoveNoOpConfig property)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.imm">imm() (tvm.relax.ExecBuilder method)</a>
@@ -2799,11 +3731,25 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Sequence.index">index() (tvm.topi.nn.Sequence method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.LayoutTransformAttrs.index_map">index_map (tvm.relax.op.op_attrs.LayoutTransformAttrs property)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.index_map">index_map() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.index_put">index_put() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.index_put">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.index_put">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.index_tensor">index_tensor() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.index_tensor">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.index_tensor">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.indexdiv">indexdiv() (in module tvm.te)</a>
 
       <ul>
@@ -2826,15 +3772,27 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.SplitAttrs.indices_or_sections">indices_or_sections (tvm.relax.op.op_attrs.SplitAttrs property)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.infinity">infinity() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.infinity">infinity() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.infinity">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/transform.html#tvm.ir.transform.Pass.info">info (tvm.ir.transform.Pass property)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.init">init() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.FlashAttentionLPTScheduler.init">(tvm.backend.cuda.lang.FlashAttentionLPTScheduler method)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.init_ccl">init_ccl() (tvm.runtime.disco.Session method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.InitAttrs">InitAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/s_tir/backend.html#tvm.s_tir.backend.adreno.transform.InjectTextureAlloc">InjectTextureAlloc() (in module tvm.s_tir.backend.adreno.transform)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.inline">inline() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.StmtSRef.inline_mark">inline_mark() (tvm.s_tir.schedule.StmtSRef static method)</a>
 </li>
@@ -2883,13 +3841,23 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.invoke_closure">invoke_closure() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.invoke_closure">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.invoke_closure">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.VirtualMachine.invoke_closure">(tvm.relax.VirtualMachine method)</a>
 </li>
         <li><a href="reference/api/python/runtime/vm.html#tvm.runtime.vm.VirtualMachine.invoke_closure">(tvm.runtime.vm.VirtualMachine method)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.invoke_pure_closure">invoke_pure_closure() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.invoke_pure_closure">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.invoke_pure_closure">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.VirtualMachine.invoke_stateful">invoke_stateful() (tvm.relax.VirtualMachine method)</a>
 
       <ul>
@@ -2906,8 +3874,6 @@ document.write(`
 
       <ul>
         <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.ir_module">(in module tvm.script.ir_builder.ir)</a>
-</li>
-        <li><a href="reference/api/python/script/parser.html#tvm.script.parser.ir_module">(in module tvm.script.parser)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.IRBuilder">IRBuilder (class in tvm.script.ir_builder)</a>
@@ -2935,6 +3901,10 @@ document.write(`
       <li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.SBlockInfo.is_data_pad">is_data_pad() (tvm.s_tir.dlight.SBlockInfo method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.is_dir">is_dir() (tvm.testing.Path method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_direct_sum_left">is_direct_sum_left() (tvm.script.tirx.Layout method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_direct_sum_right">is_direct_sum_right() (tvm.script.tirx.Layout method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.SBlockInfo.is_elementwise">is_elementwise() (tvm.s_tir.dlight.SBlockInfo method)</a>
 </li>
@@ -2983,16 +3953,44 @@ document.write(`
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.is_socket">is_socket() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.utils.is_source_path">is_source_path() (in module tvm.support.utils)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_swizzle">is_swizzle() (tvm.script.tirx.Layout method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.is_symlink">is_symlink() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.ScheduleRule.is_target_available">is_target_available() (tvm.s_tir.dlight.ScheduleRule method)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_tile_inner">is_tile_inner() (tvm.script.tirx.Layout method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_tile_outer">is_tile_outer() (tvm.script.tirx.Layout method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_trainium">is_trainium() (tvm.script.tirx.Layout method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.is_trivial">is_trivial() (tvm.script.tirx.Layout method)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.is_trivial">(tvm.script.tirx.TileLayout method)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.is_type_var">is_type_var() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.is_type_var">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.is_type_var">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.is_z3_enabled">is_z3_enabled (tvm.sym.Analyzer property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.isfinite">isfinite() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.isfinite">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.isfinite">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.isfinite">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.isfinite">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.isfinite">(in module tvm.tirx)</a>
@@ -3001,6 +3999,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.isinf">isinf() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.isinf">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.isinf">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.isinf">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.isinf">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.isinf">(in module tvm.tirx)</a>
@@ -3009,20 +4013,34 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.isnan">isnan() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.isnan">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.isnan">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.isnan">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.isnan">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.isnan">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.isnullptr">isnullptr() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.isnullptr">isnullptr() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.isnullptr">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/ir.html#tvm.ir.DictAttrs.items">items() (tvm.ir.DictAttrs method)</a>
 
       <ul>
         <li><a href="reference/api/python/ir.html#tvm.ir.Map.items">(tvm.ir.Map method)</a>
 </li>
       </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Iter">Iter (class in tvm.script.tirx)</a>
+</li>
       <li><a href="reference/api/python/sym.html#tvm.sym.iter_map_simplify">iter_map_simplify() (in module tvm.sym)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.iter_var">iter_var() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.iterdir">iterdir() (tvm.testing.Path method)</a>
 </li>
@@ -3044,10 +4062,12 @@ document.write(`
 <h2 id="J">J</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="reference/api/python/support.html#tvm.support.popen_pool.PopenWorker.join">join() (tvm.support.popen_pool.PopenWorker method)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.jit">jit() (in module tvm.script.tirx)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/support.html#tvm.support.popen_pool.PopenWorker.join">join() (tvm.support.popen_pool.PopenWorker method)</a>
+</li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.TaskScheduler.join_running_task">join_running_task() (tvm.s_tir.meta_schedule.TaskScheduler method)</a>
 </li>
   </ul></td>
@@ -3121,8 +4141,12 @@ document.write(`
       <li><a href="tirx/api/tirx.html#tvm.tirx.LambdaExpr">LambdaExpr (class in tvm.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.LambdaLift">LambdaLift() (in module tvm.relax.transform)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.lane_id">lane_id() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TopKAttrs.largest">largest (tvm.relax.op.op_attrs.TopKAttrs property)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.launch_thread">launch_thread() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.layer_norm">layer_norm() (in module tvm.relax.op.nn)</a>
 
@@ -3133,6 +4157,8 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.layer_norm_python">layer_norm_python() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.LayerNormAttrs">LayerNormAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout">Layout (class in tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AdaptivePool1DAttrs.layout">layout (tvm.relax.op.op_attrs.AdaptivePool1DAttrs property)</a>
 
@@ -3155,7 +4181,13 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.layout_transform">layout_transform() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.layout_transform">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.layout_transform">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.LayoutTransformAttrs">LayoutTransformAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.LazyGetInput">LazyGetInput() (in module tvm.relax.transform)</a>
@@ -3166,10 +4198,22 @@ document.write(`
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.lchmod">lchmod() (tvm.testing.Path method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.ldexp">ldexp() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ldexp">ldexp() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.ldexp">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.LE">LE (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.le_">le_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.le_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.le_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.leaky_relu">leaky_relu() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.leakyrelu">leakyrelu() (in module tvm.relax.op.nn)</a>
@@ -3177,17 +4221,41 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.LeakyReluAttrs">LeakyReluAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.left_shift">left_shift() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.left_shift">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.left_shift">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.LegalizeOps">LegalizeOps() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.less">less() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.less">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.less">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.less_equal">less_equal() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.less_equal">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.less_equal">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Let">Let (class in tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/script.html#tvm.tirx.script.builder.ir.LetAnnotation">LetAnnotation (class in tvm.tirx.script.builder.ir)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Let">Let() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.LetAnnotation">LetAnnotation (class in tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/script.html#tvm.tirx.script.builder.ir.LetAnnotation">(class in tvm.tirx.script.builder.ir)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistedLetBindings.LetExpr">LetExpr (tvm.tirx.transform.HoistedLetBindings attribute)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.LetStmt">LetStmt (in module tvm.tirx)</a>
@@ -3196,10 +4264,20 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.LiftTransformParams">LiftTransformParams() (in module tvm.relax.transform)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.likely">likely() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.likely">likely() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.likely">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.linear">linear() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.linear">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.linear">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.hexagon.link_shared_macos">link_shared_macos() (in module tvm.contrib.hexagon)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.link_to">link_to() (tvm.testing.Path method)</a>
@@ -3224,14 +4302,16 @@ document.write(`
         <li><a href="reference/api/python/support.html#tvm.support.utils.TempDirectory.listdir">(tvm.support.utils.TempDirectory method)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.llvm_lookup_intrinsic_id">llvm_lookup_intrinsic_id() (in module tvm.script.tirx)</a>
+</li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.CostModel.load">load() (tvm.s_tir.meta_schedule.CostModel method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.load_json">load_json() (in module tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.load_module">load_module() (tvm.rpc.RPCSession method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/training.html#tvm.relax.training.Trainer.load_params">load_params() (tvm.relax.training.Trainer method)</a>
 </li>
       <li><a href="reference/api/python/relax/training.html#tvm.relax.training.Trainer.load_states">load_states() (tvm.relax.training.Trainer method)</a>
@@ -3243,33 +4323,57 @@ document.write(`
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.local">local() (tvm.ir.Var method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.local_run">local_run() (in module tvm.testing)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.local_scalar">local_scalar() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.LocalSession">LocalSession (class in tvm.rpc)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.LocalVectorAnnotation">LocalVectorAnnotation (class in tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.log">log() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.log">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.log">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.log">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.log">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.log">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/te.html#tvm.te.log10">log10() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.log10">log10() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.log10">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.log10">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.log1p">log1p() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.log1p">log1p() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.log1p">(in module tvm.tirx)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.log2">log2() (in module tvm.te)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.log2">log2() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.log2">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.log2">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.log_add_exp">log_add_exp() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.log_add_exp">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.log_add_exp">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.cudnn.log_softmax">log_softmax() (in module tvm.contrib.cudnn)</a>
 
       <ul>
@@ -3287,13 +4391,43 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.logical_and">logical_and() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.logical_and">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.logical_and">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.logical_and">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.logical_not">logical_not() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.logical_not">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.logical_not">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.logical_not">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.logical_or">logical_or() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.logical_or">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.logical_or">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.logical_or">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.logical_xor">logical_xor() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.logical_xor">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.logical_xor">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.lookup_binding">lookup_binding() (tvm.relax.block_builder.BlockBuilder method)</a>
 
       <ul>
@@ -3302,10 +4436,18 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.lookup_name">lookup_name() (in module tvm.script.ir_builder.ir)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.lookup_param">lookup_param() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.lookup_param">lookup_param() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.lookup_param">(in module tvm.tirx)</a>
 </li>
-      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.lookup_vdevice">lookup_vdevice() (in module tvm.script.ir_builder.ir)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.lookup_vdevice">lookup_vdevice() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.lookup_vdevice">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.loop_partition">loop_partition() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.LoopRV">LoopRV (class in tvm.s_tir.schedule)</a>
@@ -3340,14 +4482,34 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.LT">LT (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.lt_">lt_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.lt_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.lt_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
 <h2 id="M">M</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.macro">macro() (in module tvm.script.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.macro">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.make_closure">make_closure() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.make_closure">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.make_closure">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.SmemDescriptor.make_lo_uniform">make_lo_uniform() (tvm.backend.cuda.lang.SmemDescriptor method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.make_node">make_node() (in module tvm.ir)</a>
@@ -3368,10 +4530,24 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.masked_fill">masked_fill() (in module tvm.relax.op)</a>
 </li>
-      <li><a href="tirx/api/script.html#tvm.tirx.script.builder.ir.match_buffer">match_buffer() (in module tvm.tirx.script.builder.ir)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.masked_load">masked_load() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.masked_store">masked_store() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.match_cast">match_cast() (tvm.relax.block_builder.BlockBuilder method)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.match_buffer">match_buffer() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/script.html#tvm.tirx.script.builder.ir.match_buffer">(in module tvm.tirx.script.builder.ir)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.match_cast">match_cast() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.match_cast">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/relax/block_builder.html#tvm.relax.block_builder.BlockBuilder.match_cast">(tvm.relax.block_builder.BlockBuilder method)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.MatchCast">MatchCast (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.PrimType.matches_code">matches_code() (tvm.ir.PrimType method)</a>
@@ -3392,6 +4568,10 @@ document.write(`
         <li><a href="reference/api/python/contrib.html#tvm.contrib.mkl.matmul">(in module tvm.contrib.mkl)</a>
 </li>
         <li><a href="reference/api/python/relax/op.html#tvm.relax.op.matmul">(in module tvm.relax.op)</a>
+</li>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.matmul">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.matmul">(in module tvm.script.relax)</a>
 </li>
         <li><a href="reference/api/python/topi.html#tvm.topi.nn.matmul">(in module tvm.topi.nn)</a>
 </li>
@@ -3407,6 +4587,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.max">max() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.max">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.max">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.max">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.max">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.max">(in module tvm.tirx)</a>
@@ -3424,24 +4610,44 @@ document.write(`
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.RemoveNoOpConfig.max_simplification_steps">max_simplification_steps (tvm.tirx.transform.RemoveNoOpConfig property)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.max_value">max_value() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.max_value">max_value() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.max_value">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.max_value">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.maximum">maximum() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.maximum">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.maximum">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.MBarrier">MBarrier (class in tvm.backend.cuda.lang)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.mean">mean() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.mean">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.mean">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.MeasureCallback">MeasureCallback (class in tvm.s_tir.meta_schedule)</a>
 </li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.MeasureCandidate">MeasureCandidate (class in tvm.s_tir.meta_schedule)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.median">median() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.median">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.median">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.pickle_memoize.memoize">memoize() (in module tvm.contrib.pickle_memoize)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.HintOnDeviceAttrs.memory_scope">memory_scope (tvm.relax.op.op_attrs.HintOnDeviceAttrs property)</a>
@@ -3451,13 +4657,27 @@ document.write(`
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.MergeCompositeFunctions">MergeCompositeFunctions() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.meshgrid">meshgrid() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.meshgrid">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.meshgrid">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MeshgridAttrs">MeshgridAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
-      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.meta_var">meta_var (class in tvm.script.ir_builder.ir)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.meta_class">meta_class() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.meta_var">meta_var() (in module tvm.script.ir_builder.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.metal">metal() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.metal">(in module tvm.script.relax)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.metal">metal() (tvm.rpc.RPCSession method)</a>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.metal">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.MetaScheduleApplyDatabase">MetaScheduleApplyDatabase() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.MetaScheduleTuneIRMod">MetaScheduleTuneIRMod() (in module tvm.relax.transform)</a>
@@ -3471,19 +4691,33 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.min">min() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.min">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.min">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.min">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.min">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.min">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/te.html#tvm.te.min_value">min_value() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.min_value">min_value() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.min_value">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.min_value">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.minimum">minimum() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.minimum">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.minimum">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.mirror_pad">mirror_pad() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Type.Missing">Missing() (tvm.ir.Type static method)</a>
@@ -3497,7 +4731,13 @@ document.write(`
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.mod">mod (tvm.s_tir.schedule.Schedule property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.mod">mod() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.mod">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.mod">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ROIAlignAttrs.mode">mode (tvm.relax.op.op_attrs.ROIAlignAttrs property)</a>
 
       <ul>
@@ -3720,6 +4960,8 @@ document.write(`
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.module_get_attr">module_get_attr() (in module tvm.script.ir_builder.ir)</a>
 </li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.module_global_infos">module_global_infos() (in module tvm.script.ir_builder.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.module_member_">module_member_() (in module tvm.script.ir_builder.ir)</a>
 </li>
       <li><a href="reference/api/python/transform.html#tvm.ir.transform.module_pass">module_pass() (in module tvm.ir.transform)</a>
 </li>
@@ -3740,11 +4982,23 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MultiboxTransformLocAttrs">MultiboxTransformLocAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.multinomial_from_uniform">multinomial_from_uniform() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.multinomial_from_uniform">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.multinomial_from_uniform">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MultinomialFromUniformAttrs">MultinomialFromUniformAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.multiply">multiply() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.multiply">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.multiply">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.DataflowBlockRewrite.mutate_irmodule">mutate_irmodule() (tvm.relax.DataflowBlockRewrite method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.DataflowBlockRewrite.mutated_dfb">mutated_dfb() (tvm.relax.DataflowBlockRewrite method)</a>
@@ -3760,7 +5014,11 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.InstructionKind.name">name (tvm.s_tir.schedule.InstructionKind attribute)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ExecScope.name">(tvm.script.tirx.ExecScope property)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.IRBuilder.name">name() (tvm.script.ir_builder.IRBuilder static method)</a>
 </li>
       <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.IRBuilder.name_many">name_many() (tvm.script.ir_builder.IRBuilder static method)</a>
@@ -3779,14 +5037,30 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.NE">NE (class in tvm.tirx)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.nearbyint">nearbyint() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ne_">ne_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ne_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ne_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.nearbyint">nearbyint() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.nearbyint">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.nearbyint">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.negative">negative() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.negative">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.negative">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistedConditionals.Never">Never (tvm.tirx.transform.HoistedConditionals attribute)</a>
 
       <ul>
@@ -3795,8 +5069,14 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.TaskScheduler.next_task_id">next_task_id() (tvm.s_tir.meta_schedule.TaskScheduler method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.nextafter">nextafter() (in module tvm.tirx)</a>
+      <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.FlashAttentionLPTScheduler.next_tile">next_tile() (tvm.backend.cuda.lang.FlashAttentionLPTScheduler method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.nextafter">nextafter() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.nextafter">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.nll_loss">nll_loss() (in module tvm.relax.op.nn)</a>
 
       <ul>
@@ -3828,7 +5108,13 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs">NonMaximumSuppressionAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nonzero">nonzero() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.nonzero">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.nonzero">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.random.normal">normal() (in module tvm.contrib.random)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.Normalize">Normalize() (in module tvm.relax.transform)</a>
@@ -3847,8 +5133,22 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Not">Not (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.not_">not_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.not_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.not_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.not_equal">not_equal() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.not_equal">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.not_equal">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.SearchStrategy.notify_runner_results">notify_runner_results() (tvm.s_tir.meta_schedule.SearchStrategy method)</a>
 
       <ul>
@@ -3858,7 +5158,13 @@ document.write(`
       <li><a href="reference/api/python/testing.html#tvm.testing.np_dtype_from_str">np_dtype_from_str() (in module tvm.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.null_value">null_value() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.null_value">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.null_value">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.GroupNormAttrs.num_groups">num_groups (tvm.relax.op.op_attrs.GroupNormAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AllGatherAttrs.num_workers">num_workers (tvm.relax.op.op_attrs.AllGatherAttrs property)</a>
@@ -3875,6 +5181,12 @@ document.write(`
 <h2 id="O">O</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Object">Object() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.Object">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ObjectType">ObjectType (in module tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.offset_of">offset_of() (tvm.ir.Var method)</a>
@@ -3882,15 +5194,31 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.one_hot">one_hot() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.one_hot">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.one_hot">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/topi.html#tvm.topi.testing.one_hot">(in module tvm.topi.testing)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.OneHotAttrs">OneHotAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.ones">ones() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ones">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ones">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.ones_like">ones_like() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.ones_like">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.ones_like">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/analysis.html#tvm.s_tir.analysis.OOBChecker">OOBChecker() (in module tvm.s_tir.analysis)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Op">Op (class in tvm.ir)</a>
@@ -3898,6 +5226,8 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AllReduceAttrs.op_type">op_type (tvm.relax.op.op_attrs.AllReduceAttrs property)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.DepKind.OPAQUE">OPAQUE (tvm.s_tir.schedule.DepKind attribute)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.opaque">opaque() (tvm.script.tirx.axis static method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.OpaqueExpr">OpaqueExpr (class in tvm.ir)</a>
 </li>
@@ -3911,11 +5241,19 @@ document.write(`
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.open">open() (tvm.testing.Path method)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.opencl">opencl() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.opencl">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/error.html#tvm.error.OpError">OpError</a>
 </li>
       <li><a href="reference/api/python/error.html#tvm.error.OpNotImplemented">OpNotImplemented</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.OptimizeLayoutTransform">OptimizeLayoutTransform (class in tvm.relax.transform)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Optional">Optional (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.TargetKind.options">options (tvm.target.TargetKind property)</a>
 </li>
@@ -3923,6 +5261,16 @@ document.write(`
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Or">Or (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.or_">or_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.or_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.or_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv1DAttrs.out_dtype">out_dtype (tvm.relax.op.op_attrs.Conv1DAttrs property)</a>
 
       <ul>
@@ -3944,9 +5292,7 @@ document.write(`
 </li>
         <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.out_dtype">(tvm.topi.nn.Workload attribute)</a>
 </li>
-      </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.out_filter">out_filter (tvm.topi.nn.Workload attribute)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AdaptivePool1DAttrs.out_layout">out_layout (tvm.relax.op.op_attrs.AdaptivePool1DAttrs property)</a>
@@ -3976,7 +5322,19 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.outer">outer() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.outer">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.outer">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.output">output() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.output">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AllClassNonMaximumSuppressionAttrs.output_format">output_format (tvm.relax.op.op_attrs.AllClassNonMaximumSuppressionAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Conv1DTransposeAttrs.output_padding">output_padding (tvm.relax.op.op_attrs.Conv1DTransposeAttrs property)</a>
@@ -4007,6 +5365,8 @@ document.write(`
 <h2 id="P">P</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.pack">pack() (tvm.script.tirx.Layout method)</a>
+</li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.hexagon.pack_imports">pack_imports() (in module tvm.contrib.hexagon)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.PackedFuncType">PackedFuncType (class in tvm.relax)</a>
@@ -4061,13 +5421,15 @@ document.write(`
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.padt">padt (tvm.topi.nn.Workload attribute)</a>
 </li>
-      <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.parallel">parallel() (tvm.s_tir.schedule.Schedule method)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.parallel">parallel() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.parallel">(tvm.s_tir.schedule.Schedule method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.parameter">parameter() (in module tvm.testing)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.StmtSRef.parent">parent (tvm.s_tir.schedule.StmtSRef property)</a>
-</li>
-      <li><a href="reference/api/python/script/parser.html#tvm.script.parser.parse">parse() (in module tvm.script.parser)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.nvcc.parse_compute_version">parse_compute_version() (in module tvm.support.nvcc)</a>
 
@@ -4096,9 +5458,19 @@ document.write(`
       <li><a href="reference/api/python/contrib.html#tvm.contrib.tvmjs.TensorCacheShardingManager.pending_nbytes">pending_nbytes (tvm.contrib.tvmjs.TensorCacheShardingManager property)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.permute">permute() (tvm.ir.Var method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.permute_by_groups">permute_by_groups() (tvm.script.tirx.TileLayout method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.permute_dims">permute_dims() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.permute_dims">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.permute_dims">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.permute_dims">(tvm.script.tirx.TileLayout method)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.PermuteDimsAttrs">PermuteDimsAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.Pipeline">Pipeline (class in tvm.backend.cuda.lang)</a>
@@ -4123,8 +5495,6 @@ document.write(`
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.pool1d">pool1d() (in module tvm.topi.nn)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool1DAttrs">Pool1DAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.pool2d">pool2d() (in module tvm.topi.nn)</a>
@@ -4137,6 +5507,8 @@ document.write(`
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.pool_grad">pool_grad() (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.testing.pool_grad_nchw">pool_grad_nchw() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Pool1DAttrs.pool_size">pool_size (tvm.relax.op.op_attrs.Pool1DAttrs property)</a>
@@ -4157,9 +5529,11 @@ document.write(`
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.pop">pop() (tvm.s_tir.schedule.Trace method)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.popcount">popcount() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.popcount">popcount() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.popcount">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.popcount">(in module tvm.tirx)</a>
 </li>
       </ul></li>
@@ -4179,11 +5553,19 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Postproc">Postproc (class in tvm.s_tir.meta_schedule)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.pow">pow() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.pow">pow() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.pow">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.power">power() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.power">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.power">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.power">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.power">(in module tvm.tirx)</a>
@@ -4212,11 +5594,19 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.PReluAttrs">PReluAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.PresburgerSet">PresburgerSet (class in tvm.sym)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.prim_func">prim_func() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.prim_func_pass">prim_func_pass() (in module tvm.tirx.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.prim_value">prim_value() (in module tvm.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.prim_value">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.prim_value">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.PrimFunc">PrimFunc (class in tvm.tirx)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.PrimFuncPass">PrimFuncPass (class in tvm.tirx.transform)</a>
@@ -4224,6 +5614,14 @@ document.write(`
       <li><a href="reference/api/python/ir.html#tvm.ir.PrimType">PrimType (class in tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.print">print() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.print">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.print">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.print_buffer">print_buffer() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.TaskScheduler.print_tuning_statistics">print_tuning_statistics() (tvm.s_tir.meta_schedule.TaskScheduler method)</a>
 </li>
@@ -4236,16 +5634,32 @@ document.write(`
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.ProcessSession">ProcessSession (class in tvm.runtime.disco)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.prod">prod() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.prod">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.prod">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Profiler">Profiler (class in tvm.s_tir.meta_schedule)</a>
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.ProofStrength">ProofStrength (class in tvm.sym)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.ptr_byte_offset">ptr_byte_offset() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Ptr">Ptr() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ptr">ptr() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ptr_byte_offset">ptr_byte_offset() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.ptr_byte_offset">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.ptr_to">ptr_to() (tvm.ir.Var method)</a>
 </li>
       <li><a href="tirx/api/ptx.html#tvm.backend.cuda.ptx.PTXNamespace">PTXNamespace (class in tvm.backend.cuda.ptx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.py_module">py_module() (in module tvm.script.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.PyExprMutator">PyExprMutator (class in tvm.relax)</a>
 </li>
@@ -4257,16 +5671,30 @@ document.write(`
 <h2 id="Q">Q</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.q_multiply_shift">q_multiply_shift() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.q_multiply_shift">q_multiply_shift() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.q_multiply_shift">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.q_multiply_shift_per_axis">q_multiply_shift_per_axis() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.q_multiply_shift_per_axis">q_multiply_shift_per_axis() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.q_multiply_shift_per_axis">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.quantize">quantize() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.quantize">(in module tvm.script.ir_builder.relax)</a>
 </li>
-      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.QuantizeAttrs">QuantizeAttrs (class in tvm.relax.op.op_attrs)</a>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.quantize">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.QuantizeAttrs">QuantizeAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Database.query">query() (tvm.s_tir.meta_schedule.Database method)</a>
 </li>
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.Database.query_ir_module">query_ir_module() (tvm.s_tir.meta_schedule.Database method)</a>
@@ -4282,13 +5710,23 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ExecBuilder.r">r() (tvm.relax.ExecBuilder method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.R">R() (tvm.script.tirx.axis static method)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Ramp">Ramp (class in tvm.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ramp">ramp (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.random.randint">randint() (in module tvm.contrib.random)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Range">Range (class in tvm.ir)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.range_">range_() (in module tvm.script.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.range_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.RankAwareGroupMajorTileScheduler">RankAwareGroupMajorTileScheduler (class in tvm.backend.cuda.lang)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.DropoutAttrs.rate">rate (tvm.relax.op.op_attrs.DropoutAttrs property)</a>
@@ -4300,6 +5738,8 @@ document.write(`
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.read_text">read_text() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.readlink">readlink() (tvm.testing.Path method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.reads">reads() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.RealizeVDevice">RealizeVDevice() (in module tvm.relax.transform)</a>
 </li>
@@ -4314,7 +5754,11 @@ document.write(`
       <li><a href="reference/api/python/te.html#tvm.te.Reduce">Reduce (class in tvm.te)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.reduce">reduce() (in module tvm.topi.nn)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.reduce">(tvm.script.tirx.axis static method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.reduce_axis">reduce_axis() (in module tvm.te)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.NLLLossAttrs.reduction">reduction (tvm.relax.op.op_attrs.NLLLossAttrs property)</a>
@@ -4340,10 +5784,18 @@ document.write(`
       <li><a href="tirx/api/tirx.html#tvm.tirx.register_intrin_lowering">register_intrin_lowering() (in module tvm.tirx)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.hexagon.register_linker">register_linker() (in module tvm.contrib.hexagon)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.register_module_validator">register_module_validator() (in module tvm.script)</a>
+</li>
+      <li><a href="reference/api/python/script/parser.html#tvm.script.parser.register_namespace">register_namespace() (in module tvm.script.parser)</a>
+</li>
+      <li><a href="reference/api/python/script/parser.html#tvm.script.parser.register_namespace_initializer">register_namespace_initializer() (in module tvm.script.parser)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.register_op_attr">register_op_attr() (in module tvm.ir)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.register_pipeline">register_pipeline() (in module tvm.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.register_script_namespace">register_script_namespace() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/ptx.html#tvm.backend.cuda.ptx.register_table">register_table() (in module tvm.backend.cuda.ptx)</a>
 </li>
@@ -4359,8 +5811,12 @@ document.write(`
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.reindex_cache_write">reindex_cache_write() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.reinterpret">reinterpret() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.reinterpret">reinterpret() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.reinterpret">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/frontend.html#tvm.relax.frontend.torch.relax_dynamo">relax_dynamo() (in module tvm.relax.frontend.torch)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.utils.FileLock.release">release() (tvm.support.utils.FileLock method)</a>
@@ -4374,6 +5830,8 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.relu6">relu6() (in module tvm.relax.op.nn)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.remap">remap() (tvm.script.tirx.axis static method)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.MBarrier.remote_view">remote_view() (tvm.backend.cuda.lang.MBarrier method)</a>
 </li>
@@ -4422,7 +5880,13 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.reorg_python">reorg_python() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.repeat">repeat() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.repeat">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.repeat">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.RepeatAttrs">RepeatAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.RepeatAttrs.repeats">repeats (tvm.relax.op.op_attrs.RepeatAttrs property)</a>
@@ -4439,8 +5903,6 @@ document.write(`
         <li><a href="tirx/api/tirx.html#tvm.tirx.TilePrimitiveCall.replace">(tvm.tirx.TilePrimitiveCall method)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.DataflowBlockRewrite.replace_all_uses">replace_all_uses() (tvm.relax.DataflowBlockRewrite method)</a>
 </li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.PlacementSpec.replica">replica() (tvm.relax.distributed.PlacementSpec static method)</a>
@@ -4449,14 +5911,24 @@ document.write(`
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.TrackerSession.request">request() (tvm.rpc.TrackerSession method)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.TrackerSession.request_and_run">request_and_run() (tvm.rpc.TrackerSession method)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.require_defined">require_defined() (in module tvm.script.ir_builder.ir)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.HoistedLetBindings.RequiredByConditional">RequiredByConditional (tvm.tirx.transform.HoistedLetBindings attribute)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Op.reset_attr">reset_attr() (tvm.ir.Op method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.reshape">reshape() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.reshape">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.reshape">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.image.resize1d">resize1d() (in module tvm.topi.image)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.resize1d_python">resize1d_python() (in module tvm.topi.testing)</a>
@@ -4481,10 +5953,36 @@ document.write(`
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.resolve">resolve() (tvm.testing.Path method)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.resolve_global_info_">resolve_global_info_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.resolve_global_info_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.resolve_global_info_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.resolve_type_var_">resolve_type_var_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.resolve_type_var_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.resolve_type_var_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TopKAttrs.ret_type">ret_type (tvm.relax.op.op_attrs.TopKAttrs property)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Return">Return (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Return">Return() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.return_">return_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.return_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.return_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs.return_indices">return_indices (tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs property)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.reverse_compute_at">reverse_compute_at() (tvm.s_tir.schedule.Schedule method)</a>
@@ -4492,7 +5990,13 @@ document.write(`
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.reverse_compute_inline">reverse_compute_inline() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.reverse_sequence">reverse_sequence() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.reverse_sequence">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.reverse_sequence">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ReverseSequenceAttrs">ReverseSequenceAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.rewrite_simplify">rewrite_simplify() (tvm.sym.Analyzer method)</a>
@@ -4501,12 +6005,24 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.RewriteDataflowReshape">RewriteDataflowReshape() (in module tvm.relax.transform)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.rewriter">rewriter() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.rewriter">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.rfactor">rfactor() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.rglob">rglob() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.right_shift">right_shift() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.right_shift">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.right_shift">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.rmdir">rmdir() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.rms_norm">rms_norm() (in module tvm.relax.op.nn)</a>
@@ -4519,8 +6035,14 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.RMSNormAttrs">RMSNormAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.rocm">rocm() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.rocm">rocm() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.rocm">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.rocm">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/support.html#tvm.support.rocm.rocm_link">rocm_link() (in module tvm.support.rocm)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.Resize2DAttrs.roi">roi (tvm.relax.op.op_attrs.Resize2DAttrs property)</a>
@@ -4554,6 +6076,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.round">round() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.round">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.round">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.round">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.round">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.round">(in module tvm.tirx)</a>
@@ -4574,6 +6102,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.rsqrt">rsqrt() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.rsqrt">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.rsqrt">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.rsqrt">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.rsqrt">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.rsqrt">(in module tvm.tirx)</a>
@@ -4597,6 +6131,8 @@ document.write(`
 <h2 id="S">S</h2>
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.S">S() (tvm.script.tirx.axis static method)</a>
+</li>
       <li><a href="reference/api/python/ir.html#tvm.ir.GlobalInfo.same_as">same_as() (tvm.ir.GlobalInfo method)</a>
 
       <ul>
@@ -4624,12 +6160,20 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/ir.html#tvm.ir.save_json">save_json() (in module tvm.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sblock">sblock() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sblock_alloc_buffer">sblock_alloc_buffer() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sblock_attr">sblock_attr() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/s_tir/dlight.html#tvm.s_tir.dlight.SBlockInfo">SBlockInfo (class in tvm.s_tir.dlight)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.SBlockRV">SBlockRV (class in tvm.s_tir.schedule)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.SBlockScope">SBlockScope (class in tvm.s_tir.schedule)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.scalar_wrapper">scalar_wrapper (class in tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AttentionAttrs.scale">scale (tvm.relax.op.op_attrs.AttentionAttrs property)</a>
 
@@ -4650,7 +6194,11 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.scale_shift_nhwc">scale_shift_nhwc() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/te.html#tvm.te.scan">scan() (in module tvm.te)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.scan">(tvm.script.tirx.axis static method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.ScanOp">ScanOp (class in tvm.te)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ScanopAttrs">ScanopAttrs (class in tvm.relax.op.op_attrs)</a>
@@ -4658,7 +6206,13 @@ document.write(`
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.Session.scatter">scatter() (tvm.runtime.disco.Session method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.scatter_elements">scatter_elements() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.scatter_elements">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.scatter_elements">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.ccl.scatter_from_worker0">scatter_from_worker0() (in module tvm.relax.op.ccl)</a>
 
       <ul>
@@ -4666,7 +6220,13 @@ document.write(`
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.scatter_nd">scatter_nd() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.scatter_nd">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.scatter_nd">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ScatterCollectiveAttrs">ScatterCollectiveAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ScatterElementsAttrs">ScatterElementsAttrs (class in tvm.relax.op.op_attrs)</a>
@@ -4688,8 +6248,12 @@ document.write(`
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.ScheduleState">ScheduleState (class in tvm.s_tir.schedule)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.scope">scope() (tvm.ir.Var method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.scope_id">scope_id() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/tile_dispatch.html#ScopedOp">ScopedOp (built-in class)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.ScopeIdDef">ScopeIdDef (class in tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.ScopeIdDefStmt">ScopeIdDefStmt (class in tvm.tirx)</a>
 </li>
@@ -4716,15 +6280,33 @@ document.write(`
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.seed">seed() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Select">Select (class in tvm.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.select">select() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.select">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.select">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.selector">selector() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.selu">selu() (in module tvm.relax.op.nn)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.popen_pool.PopenWorker.send">send() (tvm.support.popen_pool.PopenWorker method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ReverseSequenceAttrs.seq_axis">seq_axis (tvm.relax.op.op_attrs.ReverseSequenceAttrs property)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.seq_scope">seq_scope() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.SeqExpr">SeqExpr (class in tvm.relax)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.SeqExpr">SeqExpr() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.SeqExpr">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.SeqStmt">SeqStmt (class in tvm.tirx)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Sequence">Sequence (class in tvm.topi.nn)</a>
@@ -4734,6 +6316,8 @@ document.write(`
       <li><a href="reference/api/python/transform.html#tvm.ir.transform.Sequential">Sequential (class in tvm.ir.transform)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.SequentialSpan">SequentialSpan (class in tvm.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.serial">serial() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/rpc.html#tvm.rpc.Server">Server (class in tvm.rpc)</a>
 </li>
@@ -4759,6 +6343,14 @@ document.write(`
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.set_maximum_rewrite_steps">set_maximum_rewrite_steps() (tvm.sym.Analyzer method)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.set_mutable_cell_">set_mutable_cell_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.set_mutable_cell_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.set_mutable_cell_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Op.set_num_inputs">set_num_inputs() (tvm.ir.Op method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.set_scope">set_scope() (tvm.s_tir.schedule.Schedule method)</a>
@@ -4771,22 +6363,68 @@ document.write(`
 </li>
       <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.set_z3_timeout_ms">set_z3_timeout_ms() (tvm.sym.Analyzer method)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.setattr_">setattr_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.setattr_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.setattr_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.setitem_">setitem_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.setitem_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.setitem_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/training.html#tvm.relax.training.SetupTrainer">SetupTrainer (class in tvm.relax.training)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Shape">Shape() (in module tvm.script.ir_builder.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.shape">shape() (in module tvm.script.ir_builder.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.Shape">Shape() (in module tvm.script.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.shape">shape() (in module tvm.script.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.shape_of">shape_of() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.shape_of">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.shape_of">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.shape_to_tensor">shape_to_tensor() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.shape_to_tensor">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.shape_to_tensor">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ShapeExpr">ShapeExpr (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.ShapeType">ShapeType (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/distributed.html#tvm.relax.distributed.PlacementSpec.sharding">sharding() (tvm.relax.distributed.PlacementSpec static method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.shift_left">shift_left() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.shared_scalar">shared_scalar() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.shift_right">shift_right() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.shift_left">shift_left() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.shift_left">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.shift_right">shift_right() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.shift_right">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/instrument.html#tvm.ir.instrument.PassInstrument.should_run">should_run() (tvm.ir.instrument.PassInstrument method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.BasePyModule.show">show() (tvm.relax.BasePyModule method)</a>
@@ -4808,13 +6446,25 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sigmoid">sigmoid() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sigmoid">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sigmoid">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sigmoid">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.sigmoid">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.sigmoid">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sign">sign() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sign">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sign">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.nn.silu">silu() (in module tvm.relax.op.nn)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.simplified">simplified() (tvm.s_tir.schedule.Trace method)</a>
@@ -4827,15 +6477,21 @@ document.write(`
         <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.simplify">(tvm.sym.Analyzer method)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.simulated_dequantize">simulated_dequantize() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.simulated_quantize">simulated_quantize() (in module tvm.topi.nn)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sin">sin() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sin">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sin">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sin">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.sin">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.sin">(in module tvm.tirx)</a>
@@ -4846,20 +6502,44 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sinh">sinh() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sinh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sinh">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sinh">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.sinh">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.sinh">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.size">size() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.size">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.size">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.size">(tvm.script.tirx.Layout method)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.SkipAssert">SkipAssert() (in module tvm.tirx.transform)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.slice">slice() (tvm.script.tirx.Layout method)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.testing.slice_axis_python">slice_axis_python() (in module tvm.topi.testing)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.slice_scatter">slice_scatter() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.slice_scatter">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.slice_scatter">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.SliceScatterAttrs">SliceScatterAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.smem">smem() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.SmemDescriptor">SmemDescriptor (class in tvm.backend.cuda.lang)</a>
 </li>
@@ -4892,7 +6572,13 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.SoftplusAttrs">SoftplusAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sort">sort() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sort">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sort">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.SortAttrs">SortAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.SourceName">SourceName (class in tvm.ir)</a>
@@ -4908,6 +6594,10 @@ document.write(`
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.SpaceGenerator">SpaceGenerator (class in tvm.s_tir.meta_schedule)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Span">Span (class in tvm.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.span">span() (tvm.script.tirx.Layout method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.axis.spatial">spatial() (tvm.script.tirx.axis static method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.ROIAlignAttrs.spatial_scale">spatial_scale (tvm.relax.op.op_attrs.ROIAlignAttrs property)</a>
 
@@ -4922,6 +6612,10 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.split">split() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.split">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.split">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.split">(tvm.s_tir.schedule.Schedule method)</a>
 </li>
       </ul></li>
@@ -4936,25 +6630,53 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sqrt">sqrt() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sqrt">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sqrt">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.sqrt">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.sqrt">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.sqrt">(in module tvm.tirx)</a>
 </li>
       </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.square">square() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.square">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.square">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.squeeze">squeeze() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.squeeze">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.squeeze">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.SqueezeAttrs">SqueezeAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.stack">stack() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.stack">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.stack">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.StackAttrs">StackAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.grad.start_checkpoint">start_checkpoint() (in module tvm.relax.op.grad)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.start_profile_intrinsic">start_profile_intrinsic() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.start_profile_intrinsic">start_profile_intrinsic() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.start_profile_intrinsic">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.stat">stat() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.state">state (tvm.s_tir.schedule.Schedule property)</a>
@@ -4968,7 +6690,13 @@ document.write(`
       <li><a href="reference/api/python/support.html#tvm.support.popen_pool.StatusKind">StatusKind (class in tvm.support.popen_pool)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.std">std() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.std">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.std">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.Stmt">Stmt (class in tvm.tirx)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.StmtSRef.stmt">stmt (tvm.s_tir.schedule.StmtSRef property)</a>
@@ -4984,11 +6712,23 @@ document.write(`
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.StmtSRef">StmtSRef (class in tvm.s_tir.schedule)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.builtin.stop_lift_params">stop_lift_params() (in module tvm.relax.op.builtin)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.stop_lift_params">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.stop_lift_params">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.storage_align">storage_align() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.StorageRewrite">StorageRewrite() (in module tvm.tirx.transform)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.str">str() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.str">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.stride_h">stride_h (tvm.topi.nn.Workload attribute)</a>
 </li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.stride_w">stride_w (tvm.topi.nn.Workload attribute)</a>
@@ -4998,6 +6738,10 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.strided_slice">strided_slice() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.strided_slice">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.strided_slice">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/topi.html#tvm.topi.nn.strided_slice">(in module tvm.topi.nn)</a>
 </li>
       </ul></li>
@@ -5042,12 +6786,22 @@ document.write(`
       <li><a href="reference/api/python/sym.html#tvm.sym.subspace_divide">subspace_divide() (in module tvm.sym)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.subtract">subtract() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.subtract">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.subtract">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.suggest_layout_transforms">suggest_layout_transforms() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.sum">sum() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.sum">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.sum">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.sum">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.sum">(in module tvm.tirx)</a>
@@ -5074,7 +6828,13 @@ document.write(`
       <li><a href="reference/api/python/te.html#tvm.te.tag_scope">tag_scope() (in module tvm.te)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.take">take() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.take">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.take">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.grad.take_backward">take_backward() (in module tvm.relax.op.grad)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TakeAttrs">TakeAttrs (class in tvm.relax.op.op_attrs)</a>
@@ -5082,6 +6842,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.tan">tan() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.tan">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.tan">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tan">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.tan">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.tan">(in module tvm.tirx)</a>
@@ -5090,6 +6856,12 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.tanh">tanh() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.tanh">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.tanh">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tanh">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.tanh">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.tanh">(in module tvm.tirx)</a>
@@ -5098,6 +6870,8 @@ document.write(`
       <li><a href="reference/api/python/support.html#tvm.support.tar.tar">tar() (in module tvm.support.tar)</a>
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.Target">Target (class in tvm.target)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.target">target() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/target.html#tvm.target.Target.target_or_current">target_or_current() (tvm.target.Target static method)</a>
 </li>
@@ -5117,16 +6891,34 @@ document.write(`
 </li>
       <li><a href="reference/api/python/te.html#tvm.te.Tensor">Tensor (class in tvm.te)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Tensor">Tensor() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.Tensor">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.tensor_to_shape">tensor_to_shape() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.tensor_to_shape">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.tensor_to_shape">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.tvmjs.TensorCacheShardingManager">TensorCacheShardingManager (class in tvm.contrib.tvmjs)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.tensorize">tensorize() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.TensorLoad">TensorLoad (class in tvm.ir)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tensormap_encode_tiled">tensormap_encode_tiled() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TensorMap">TensorMap() (in module tvm.script.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tensormap_encode_tiled">tensormap_encode_tiled() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tensormap_encode_tiled">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.TensorMapEncodeTiledAttr">TensorMapEncodeTiledAttr (class in tvm.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.TensorMapType">TensorMapType (class in tvm.tirx)</a>
@@ -5151,7 +6943,31 @@ document.write(`
 </li>
       <li><a href="reference/api/python/s_tir/backend.html#tvm.s_tir.backend.adreno.transform.TextureFlatten">TextureFlatten() (in module tvm.s_tir.backend.adreno.transform)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Then">Then() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.Then">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Then">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.then_">then_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.then_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.then_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/te.html#tvm.te.thread_axis">thread_axis() (in module tvm.te)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.thread_binding">thread_binding() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.thread_id">thread_id() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.thread_id_in_wg">thread_id_in_wg() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.thread_return">thread_return() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/runtime/disco.html#tvm.runtime.disco.ThreadedSession">ThreadedSession (class in tvm.runtime.disco)</a>
 </li>
@@ -5164,10 +6980,20 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.tile">tile() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.tile">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.tile">(in module tvm.script.relax)</a>
+</li>
         <li><a href="reference/api/python/ir.html#tvm.ir.Var.tile">(tvm.ir.Var method)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.tile">(tvm.script.tirx.Layout method)</a>
 </li>
       </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.tile_to">tile_to() (tvm.script.tirx.Layout method)</a>
+</li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TileAttrs">TileAttrs (class in tvm.relax.op.op_attrs)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout">TileLayout (class in tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.TilePrimitiveCall">TilePrimitiveCall (class in tvm.tirx)</a>
 </li>
@@ -5184,13 +7010,23 @@ document.write(`
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.tir_vars_in_type">tir_vars_in_type() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.TMABar">TMABar (class in tvm.backend.cuda.lang)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tmem">tmem() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.TMEMPool">TMEMPool (class in tvm.backend.cuda.lang)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.to_psum">to_psum() (tvm.script.tirx.TileLayout method)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.dlpack.to_pytorch_func">to_pytorch_func() (in module tvm.contrib.dlpack)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.to_vdevice">to_vdevice() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.to_vdevice">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.to_vdevice">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.ToMixedPrecision">ToMixedPrecision() (in module tvm.relax.transform)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.ToNonDataflow">ToNonDataflow() (in module tvm.relax.transform)</a>
@@ -5200,7 +7036,13 @@ document.write(`
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs.top_k">top_k (tvm.relax.op.op_attrs.NonMaximumSuppressionAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.topk">topk() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.topk">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.topk">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TopKAttrs">TopKAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.TopologicalSort">TopologicalSort() (in module tvm.relax.transform)</a>
@@ -5226,6 +7068,8 @@ document.write(`
       <li><a href="reference/api/python/relax/training.html#tvm.relax.training.Trainer">Trainer (class in tvm.relax.training)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.BatchNormAttrs.training">training (tvm.relax.op.op_attrs.BatchNormAttrs property)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TileLayout.trainium">trainium() (tvm.script.tirx.TileLayout class method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.transform_block_layout">transform_block_layout() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
@@ -5234,28 +7078,50 @@ document.write(`
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.StmtSimplifyConfig.transitively_prove_inequalities">transitively_prove_inequalities (tvm.tirx.transform.StmtSimplifyConfig property)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.tril">tril() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.tril">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.tril">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.TriluAttrs">TriluAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.triu">triu() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.triu">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.triu">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.trunc">trunc() (in module tvm.relax.op)</a>
 
       <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.trunc">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.trunc">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.trunc">(in module tvm.script.tirx)</a>
+</li>
         <li><a href="reference/api/python/te.html#tvm.te.trunc">(in module tvm.te)</a>
 </li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.trunc">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/te.html#tvm.te.truncdiv">truncdiv() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.truncdiv">truncdiv() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.truncdiv">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.truncdiv">(in module tvm.tirx)</a>
 </li>
       </ul></li>
-      <li><a href="reference/api/python/te.html#tvm.te.truncmod">truncmod() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.truncmod">truncmod() (in module tvm.script.tirx)</a>
 
       <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.truncmod">(in module tvm.te)</a>
+</li>
         <li><a href="tirx/api/tirx.html#tvm.tirx.truncmod">(in module tvm.tirx)</a>
 </li>
       </ul></li>
@@ -5274,6 +7140,16 @@ document.write(`
       <li><a href="reference/api/python/meta_schedule.html#tvm.s_tir.meta_schedule.TuneContext">TuneContext (class in tvm.s_tir.meta_schedule)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Tuple">Tuple (class in tvm.ir)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.Tuple">Tuple() (in module tvm.script.ir_builder.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.tuple">tuple() (in module tvm.script.ir_builder.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.Tuple">Tuple() (in module tvm.script.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.relax.tuple">tuple() (in module tvm.script.relax)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Tuple">Tuple() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.TupleGetItem">TupleGetItem (class in tvm.ir)</a>
 </li>
@@ -5465,6 +7341,8 @@ document.write(`
         <li><a href="reference/api/python/relax/relax.html#module-tvm.relax">module</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     tvm.relax.analysis
 
@@ -5493,8 +7371,6 @@ document.write(`
         <li><a href="reference/api/python/relax/distributed.html#module-tvm.relax.distributed">module</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li>
     tvm.relax.dpl
 
@@ -5978,46 +7854,148 @@ document.write(`
         <li><a href="reference/api/python/topi.html#module-tvm.topi.testing">module</a>
 </li>
       </ul></li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_access_ptr">tvm_access_ptr() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_access_ptr">tvm_access_ptr() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_access_ptr">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_bmma_sync">tvm_bmma_sync() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_bmma_sync">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_call_cpacked">tvm_call_cpacked() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_bmma_sync">tvm_bmma_sync() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_call_cpacked_lowered">tvm_call_cpacked_lowered() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_fill_fragment">tvm_fill_fragment() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_call_packed">tvm_call_packed() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_load_matrix_sync">tvm_load_matrix_sync() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_call_packed_lowered">tvm_call_packed_lowered() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_fill_fragment">tvm_fill_fragment() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_fill_fragment">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_global_barrier_kinit">tvm_global_barrier_kinit() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_kernel_replace_point">tvm_kernel_replace_point() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_load_matrix_sync">tvm_load_matrix_sync() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_load_matrix_sync">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_mma_sync">tvm_mma_sync() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_mma_sync">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_stack_alloca">tvm_stack_alloca() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_stack_alloca">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_stack_make_array">tvm_stack_make_array() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_stack_make_array">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_stack_make_shape">tvm_stack_make_shape() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_stack_make_shape">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_storage_sync">tvm_storage_sync() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_store_matrix_sync">tvm_store_matrix_sync() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_store_matrix_sync">(in module tvm.tirx)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_struct_get">tvm_struct_get() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_struct_get">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_mma_sync">tvm_mma_sync() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_struct_set">tvm_struct_set() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_struct_set">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_stack_alloca">tvm_stack_alloca() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_thread_allreduce">tvm_thread_allreduce() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_thread_allreduce">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_stack_make_array">tvm_stack_make_array() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_thread_invariant">tvm_thread_invariant() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_stack_make_shape">tvm_stack_make_shape() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_throw_last_error">tvm_throw_last_error() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_throw_last_error">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_store_matrix_sync">tvm_store_matrix_sync() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_tuple">tvm_tuple() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_tuple">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_struct_get">tvm_struct_get() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_warp_activemask">tvm_warp_activemask() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_struct_set">tvm_struct_set() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_warp_shuffle">tvm_warp_shuffle() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_thread_allreduce">tvm_thread_allreduce() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_warp_shuffle_down">tvm_warp_shuffle_down() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_throw_last_error">tvm_throw_last_error() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_warp_shuffle_up">tvm_warp_shuffle_up() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.tvm_tuple">tvm_tuple() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.tvm_warp_shuffle_xor">tvm_warp_shuffle_xor() (in module tvm.script.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.TVMBackendAllocWorkspace">TVMBackendAllocWorkspace() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TVMBackendAllocWorkspace">TVMBackendAllocWorkspace() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.TVMBackendAllocWorkspace">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.TVMBackendFreeWorkspace">TVMBackendFreeWorkspace() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.TVMBackendFreeWorkspace">TVMBackendFreeWorkspace() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.TVMBackendFreeWorkspace">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Type">Type (class in tvm.ir)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.type_annotation">type_annotation() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.type_annotation">type_annotation() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.type_annotation">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.type_base_check">type_base_check() (in module tvm.relax.analysis)</a>
 </li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.type_lca">type_lca() (in module tvm.relax.analysis)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.type_var">type_var() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.type_var">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.type_var">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -6028,34 +8006,58 @@ document.write(`
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.unannotate">unannotate() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.undef">undef() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.undef">undef() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.undef">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/analysis.html#tvm.tirx.analysis.analysis.undefined_vars">undefined_vars() (in module tvm.tirx.analysis.analysis)</a>
 </li>
       <li><a href="reference/api/python/contrib.html#tvm.contrib.random.uniform">uniform() (in module tvm.contrib.random)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.unique">unique() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.unique">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.unique">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.unlink">unlink() (tvm.testing.Path method)</a>
 </li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.unpack">unpack() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.unpack">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.unpack">(in module tvm.script.tirx)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.unpack">(tvm.script.tirx.Layout method)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.unpack_NCHWc_to_nchw">unpack_NCHWc_to_nchw() (in module tvm.topi.nn)</a>
 </li>
-      <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.unroll">unroll() (tvm.s_tir.schedule.Schedule method)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.unroll">unroll() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.unroll">(tvm.s_tir.schedule.Schedule method)</a>
 </li>
+      </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.UnrollLoopConfig.unroll_local_access">unroll_local_access (tvm.tirx.transform.UnrollLoopConfig property)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.UnrollLoop">UnrollLoop() (in module tvm.tirx.transform)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.UnrollLoopConfig">UnrollLoopConfig (class in tvm.tirx.transform)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.unsafe_hide_buffer_access">unsafe_hide_buffer_access() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.unsafe_set_dtype">unsafe_set_dtype() (tvm.s_tir.schedule.Schedule method)</a>
 </li>
       <li><a href="reference/api/python/support.html#tvm.support.tar.untar">untar() (in module tvm.support.tar)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/ir.html#tvm.ir.IRModule.update">update() (tvm.ir.IRModule method)</a>
 
       <ul>
@@ -6066,6 +8068,8 @@ document.write(`
         <li><a href="reference/api/python/sym.html#tvm.sym.Analyzer.update">(tvm.sym.Analyzer method)</a>
 </li>
       </ul></li>
+      <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.FlashAttentionLPTScheduler.update_current_m_n_idx">update_current_m_n_idx() (tvm.backend.cuda.lang.FlashAttentionLPTScheduler method)</a>
+</li>
       <li><a href="reference/api/python/ir.html#tvm.ir.IRModule.update_func">update_func() (tvm.ir.IRModule method)</a>
 
       <ul>
@@ -6104,30 +8108,58 @@ document.write(`
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var">Var (class in tvm.ir)</a>
 </li>
-      <li><a href="reference/api/python/te.html#tvm.te.var">var() (in module tvm.te)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.var">var() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="reference/api/python/te.html#tvm.te.var">(in module tvm.te)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.VarBinding">VarBinding (class in tvm.relax)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.variance">variance() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.variance">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.variance">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.MultiboxTransformLocAttrs.variances">variances (tvm.relax.op.op_attrs.MultiboxTransformLocAttrs property)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.VDevice">VDevice (class in tvm.relax)</a>
 </li>
-      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.vdevice">vdevice() (in module tvm.script.ir_builder.ir)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.vdevice">vdevice() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.vdevice">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/sym.html#tvm.sym.IntSet.vector">vector() (tvm.sym.IntSet static method)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.vectorcombine">vectorcombine() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.vectorcombine">vectorcombine() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.vectorcombine">(in module tvm.tirx)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.vectorhigh">vectorhigh() (in module tvm.tirx)</a>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.vectorhigh">vectorhigh() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.vectorhigh">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Schedule.vectorize">vectorize() (tvm.s_tir.schedule.Schedule method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.vectorized">vectorized() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.VectorizeLoop">VectorizeLoop() (in module tvm.tirx.transform)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.vectorlow">vectorlow() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.vectorlow">vectorlow() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.vectorlow">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.ScheduleDebugMask.VERIFY_CACHED_FLAGS">VERIFY_CACHED_FLAGS (tvm.s_tir.schedule.ScheduleDebugMask attribute)</a>
 </li>
       <li><a href="reference/api/python/s_tir/analysis.html#tvm.s_tir.analysis.verify_gpu_code">verify_gpu_code() (in module tvm.s_tir.analysis)</a>
@@ -6144,6 +8176,8 @@ document.write(`
 
       <ul>
         <li><a href="tirx/api/analysis.html#tvm.tirx.analysis.analysis.verify_well_formed">(in module tvm.tirx.analysis.analysis)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.Layout.verify_well_formed">(tvm.script.tirx.Layout method)</a>
 </li>
       </ul></li>
       <li><a href="tirx/api/transform.html#tvm.tirx.transform.VerifyMemory">VerifyMemory() (in module tvm.tirx.transform)</a>
@@ -6210,14 +8244,14 @@ document.write(`
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.PyExprVisitor.visit_expr">(tvm.relax.PyExprVisitor method)</a>
 </li>
       </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.PyExprMutator.visit_expr_fallback_">visit_expr_fallback_() (tvm.relax.PyExprMutator method)</a>
 
       <ul>
         <li><a href="reference/api/python/relax/relax.html#tvm.relax.PyExprVisitor.visit_expr_fallback_">(tvm.relax.PyExprVisitor method)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.PyExprMutator.visit_expr_post_order">visit_expr_post_order() (tvm.relax.PyExprMutator method)</a>
 </li>
       <li><a href="reference/api/python/relax/relax.html#tvm.relax.PyExprMutator.visit_extern_func_">visit_extern_func_() (tvm.relax.PyExprMutator method)</a>
@@ -6338,12 +8372,30 @@ document.write(`
       </ul></li>
       <li><a href="reference/api/python/relax/transform.html#tvm.relax.transform.VMShapeLower">VMShapeLower() (in module tvm.relax.transform)</a>
 </li>
-      <li><a href="tirx/api/tirx.html#tvm.tirx.vscale">vscale() (in module tvm.tirx)</a>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.void">void() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.vpi">vpi() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.vpi">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.vscale">vscale() (in module tvm.script.tirx)</a>
+
+      <ul>
+        <li><a href="tirx/api/tirx.html#tvm.tirx.vscale">(in module tvm.tirx)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.vstore">vstore() (tvm.ir.Var method)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.vulkan">vulkan() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.vulkan">vulkan() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.vulkan">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.vulkan">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
@@ -6351,6 +8403,12 @@ document.write(`
 <table style="width: 100%" class="indextable genindextable"><tr>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.DepKind.WAR">WAR (tvm.s_tir.schedule.DepKind attribute)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.warp_id">warp_id() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.warp_id_in_wg">warp_id_in_wg() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.warpgroup_id">warpgroup_id() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="tirx/api/cuda.html#tvm.backend.cuda.lang.WarpgroupRole">WarpgroupRole (class in tvm.backend.cuda.lang)</a>
 </li>
@@ -6358,23 +8416,53 @@ document.write(`
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.DepKind.WAW">WAW (tvm.s_tir.schedule.DepKind attribute)</a>
 </li>
-      <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.webgpu">webgpu() (tvm.rpc.RPCSession method)</a>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.webgpu">webgpu() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.webgpu">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/rpc.html#tvm.rpc.RPCSession.webgpu">(tvm.rpc.RPCSession method)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/analysis.html#tvm.relax.analysis.well_formed">well_formed() (in module tvm.relax.analysis)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.wg_reg_tile">wg_reg_tile() (in module tvm.script.tirx)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.where">where() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.where">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.where">(in module tvm.script.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.where">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/support.html#tvm.support.utils.which">which() (in module tvm.support.utils)</a>
 </li>
       <li><a href="tirx/api/tirx.html#tvm.tirx.While">While (class in tvm.tirx)</a>
 </li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.While">While() (in module tvm.script.tirx)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.while_">while_() (in module tvm.script.ir_builder.relax)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.while_">(in module tvm.script.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.tirx.while_">(in module tvm.script.tirx)</a>
+</li>
+      </ul></li>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload.width">width (tvm.topi.nn.Workload attribute)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.AttentionAttrs.window_size">window_size (tvm.relax.op.op_attrs.AttentionAttrs property)</a>
 </li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.winograd_transform_matrices">winograd_transform_matrices() (in module tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.Var.with_allocated_addr">with_allocated_addr() (tvm.ir.Var method)</a>
+</li>
+      <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.ir.with_at_group_">with_at_group_() (in module tvm.script.ir_builder.ir)</a>
 </li>
       <li><a href="reference/api/python/ir.html#tvm.ir.BaseFunc.with_attr">with_attr() (tvm.ir.BaseFunc method)</a>
 
@@ -6388,8 +8476,6 @@ document.write(`
         <li><a href="reference/api/python/ir.html#tvm.ir.IRModule.with_attrs">(tvm.ir.IRModule method)</a>
 </li>
       </ul></li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="tirx/api/tirx.html#tvm.tirx.PrimFunc.with_body">with_body() (tvm.tirx.PrimFunc method)</a>
 </li>
       <li><a href="reference/api/python/s_tir/schedule.html#tvm.s_tir.schedule.Trace.with_decision">with_decision() (tvm.s_tir.schedule.Trace method)</a>
@@ -6415,12 +8501,20 @@ document.write(`
       <li><a href="reference/api/python/topi.html#tvm.topi.nn.Workload">Workload (class in tvm.topi.nn)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.wrap_param">wrap_param() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.wrap_param">(in module tvm.script.ir_builder.relax)</a>
+</li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.wrap_param">(in module tvm.script.relax)</a>
 </li>
+      </ul></li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.op_attrs.WrapParamAttrs">WrapParamAttrs (class in tvm.relax.op.op_attrs)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.write_bytes">write_bytes() (tvm.testing.Path method)</a>
 </li>
       <li><a href="reference/api/python/testing.html#tvm.testing.Path.write_text">write_text() (tvm.testing.Path method)</a>
+</li>
+      <li><a href="reference/api/python/script/script.html#tvm.script.tirx.writes">writes() (in module tvm.script.tirx)</a>
 </li>
   </ul></td>
 </tr></table>
@@ -6444,14 +8538,26 @@ document.write(`
 </li>
       <li><a href="reference/api/python/relax/training.html#tvm.relax.training.Trainer.zero_init_params">zero_init_params() (tvm.relax.training.Trainer method)</a>
 </li>
-  </ul></td>
-  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/training.html#tvm.relax.training.Trainer.zero_init_states">zero_init_states() (tvm.relax.training.Trainer method)</a>
 </li>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.zeros">zeros() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.zeros">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.zeros">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
+  </ul></td>
+  <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/api/python/relax/op.html#tvm.relax.op.zeros_like">zeros_like() (in module tvm.relax.op)</a>
+
+      <ul>
+        <li><a href="reference/api/python/script/ir_builder.html#tvm.script.ir_builder.relax.zeros_like">(in module tvm.script.ir_builder.relax)</a>
 </li>
+        <li><a href="reference/api/python/script/script.html#tvm.script.relax.zeros_like">(in module tvm.script.relax)</a>
+</li>
+      </ul></li>
   </ul></td>
 </tr></table>
 
diff --git a/docs/get_started/tutorials/ir_module.html b/docs/get_started/tutorials/ir_module.html
index a5945ce0643..1ffd04893b5 100644
--- a/docs/get_started/tutorials/ir_module.html
+++ b/docs/get_started/tutorials/ir_module.html
@@ -811,23 +811,23 @@ parse the TVMScript to obtain an IRModule.</p>
 <span class="k">class</span><span class="w"> </span><span class="nc">TVMScriptModule</span><span class="p">:</span>
     <span class="nd">@R</span><span class="o">.</span><span class="n">function</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span>
-        <span class="n">x</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">fc1_weight</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">256</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">fc1_bias</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">256</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">fc2_weight</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">10</span><span class="p">,</span> <span class="mi">256</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">fc2_bias</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">10</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-    <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot;float32&quot;</span><span class="p">):</span>
-        <span class="n">R</span><span class="o">.</span><span class="n">func_attr</span><span class="p">({</span><span class="s2">&quot;num_input&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">})</span>
-        <span class="k">with</span> <span class="n">R</span><span class="o">.</span><span class="n">dataflow</span><span class="p">():</span>
-            <span class="n">permute_dims</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">permute_dims</span><span class="p">(</span><span class="n">fc1_weight</span><span class="p">,</span> <span class="n">axes</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-            <span class="n">matmul</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">permute_dims</span><span class="p">,</span> <span class="n">out_dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-            <span class="n">add</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">matmul</span><span class="p">,</span> <span class="n">fc1_bias</span><span class="p">)</span>
+        <span class="n">x</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtype</span><sp [...]
+        <span class="n">fc1_weight</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">256</span><span class="p">,</span> <span class="mi">784</span><span class="p">),</span> <span class="n">dtyp [...]
+        <span class="n">fc1_bias</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">256</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quo [...]
+        <span class="n">fc2_weight</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">10</span><span class="p">,</span> <span class="mi">256</span><span class="p">),</span> <span class="n">dtype [...]
+        <span class="n">fc2_bias</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">10</span><span class="p">,),</span> <span class="n">dtype</span><span class="o">=</span><span class="s2">&quot [...]
+    <span class="p">)</span> <span class="o">-&gt;</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">10</span><span class="p">),</span> <span class="n">dtype</span><sp [...]
+        <a href="../../reference/api/python/script/script.html#tvm.script.relax.func_attr" title="tvm.script.relax.func_attr" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">func_attr</span></a><span class="p">({</span><span class="s2">&quot;num_input&quot;</span><span class="p">:</span> <span class="mi">1</span><span class="p">})</span>
+        <span class="k">with</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.dataflow" title="tvm.script.relax.dataflow" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">dataflow</span></a><span class="p">():</span>
+            <span class="n">permute_dims</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.permute_dims" title="tvm.script.relax.permute_dims" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">permute_dims</span></a><span class="p">(</span><span class="n">fc1_weight</span><span class="p">,</span> <span class="n">axes</span><span class="o"> [...]
+            <span class="n">matmul</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">matmul</span></a><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">permute_dims</span><span class="p">,</span> <span class="n"> [...]
+            <span class="n">add</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.add" title="tvm.script.relax.add" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">add</span></a><span class="p">(</span><span class="n">matmul</span><span class="p">,</span> <span class="n">fc1_bias</span><span class="p">)</span>
             <span class="n">relu</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><span class="n">add</span><span class="p">)</span>
-            <span class="n">permute_dims1</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">permute_dims</span><span class="p">(</span><span class="n">fc2_weight</span><span class="p">,</span> <span class="n">axes</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-            <span class="n">matmul1</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">relu</span><span class="p">,</span> <span class="n">permute_dims1</span><span class="p">,</span> <span class="n">out_dtype</span><span class="o">=</span><span class="kc">None</span><span class="p">)</span>
-            <span class="n">add1</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">add</span><span class="p">(</span><span class="n">matmul1</span><span class="p">,</span> <span class="n">fc2_bias</span><span class="p">)</span>
+            <span class="n">permute_dims1</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.permute_dims" title="tvm.script.relax.permute_dims" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">permute_dims</span></a><span class="p">(</span><span class="n">fc2_weight</span><span class="p">,</span> <span class="n">axes</span><span class="o" [...]
+            <span class="n">matmul1</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">matmul</span></a><span class="p">(</span><span class="n">relu</span><span class="p">,</span> <span class="n">permute_dims1</span><span class="p">,</span> <span class [...]
+            <span class="n">add1</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.add" title="tvm.script.relax.add" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">add</span></a><span class="p">(</span><span class="n">matmul1</span><span class="p">,</span> <span class="n">fc2_bias</span><span class="p">)</span>
             <a href="../../reference/api/python/ir.html#tvm.ir.GlobalVar" title="tvm.ir.GlobalVar" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gv</span></a> <span class="o">=</span> <span class="n">add1</span>
-            <span class="n">R</span><span class="o">.</span><span class="n">output</span><span class="p">(</span><a href="../../reference/api/python/ir.html#tvm.ir.GlobalVar" title="tvm.ir.GlobalVar" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gv</span></a><span class="p">)</span>
+            <a href="../../reference/api/python/script/script.html#tvm.script.relax.output" title="tvm.script.relax.output" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">output</span></a><span class="p">(</span><a href="../../reference/api/python/ir.html#tvm.ir.GlobalVar" title="tvm.ir.GlobalVar" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instanc [...]
         <span class="k">return</span> <a href="../../reference/api/python/ir.html#tvm.ir.GlobalVar" title="tvm.ir.GlobalVar" class="sphx-glr-backref-module-tvm-ir sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">gv</span></a>
 
 
@@ -1161,8 +1161,8 @@ backends.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.04867184 -0.10644848 -0.006622   -0.23508126 -0.08174915 -0.15910307
-  -0.06110986 -0.1265544  -0.16523652 -0.06456965]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.14976415  0.10440007 -0.25374544  0.04787368 -0.14457259  0.23096867
+  -0.10903104  0.13258487  0.10989155  0.10431907]]
 </pre></div>
 </div>
 </section>
@@ -1196,8 +1196,8 @@ the details of <code class="docutils literal notranslate"><span class="pre">DLig
 <span class="k">assert</span> <span class="n">np</span><span class="o">.</span><span class="n">allclose</span><span class="p">(</span><span class="n">cpu_out</span><span class="p">,</span> <span class="n">gpu_out</span><span class="p">,</span> <span class="n">atol</span><span class="o">=</span><span class="mf">1e-3</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[-0.04867173 -0.10644849 -0.00662203 -0.23508126 -0.08174916 -0.15910304
-  -0.06110986 -0.1265544  -0.16523653 -0.06456964]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[ 0.14976428  0.10440006 -0.2537455   0.0478737  -0.14457262  0.23096868
+  -0.10903098  0.1325849   0.10989155  0.10431912]]
 </pre></div>
 </div>
 </section>
diff --git a/docs/get_started/tutorials/quick_start.html b/docs/get_started/tutorials/quick_start.html
index 1d0e1ffa33f..0adcd699d38 100644
--- a/docs/get_started/tutorials/quick_start.html
+++ b/docs/get_started/tutorials/quick_start.html
@@ -802,8 +802,8 @@ different devices.</p>
 <span class="nb">print</span><span class="p">(</span><span class="n">vm</span><span class="p">[</span><span class="s2">&quot;forward&quot;</span><span class="p">](</span><span class="n">tvm_data</span><span class="p">,</span> <span class="o">*</span><a href="https://docs.python.org/3/builtins/stdtypes.html#list" title="builtins.list" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">params</span></a><span class="p">)</span>< [...]
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24602.36  25385.25  26409.281 25733.656 26600.639 26400.383 25085.46
-  25633.912 24406.707 26989.4  ]]
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>[[24821.488 25459.902 25041.283 24970.086 25014.973 24843.13  24488.145
+  24387.871 23608.652 25637.055]]
 </pre></div>
 </div>
 <p>Our goal is to bring machine learning to the application with any language of interest,
diff --git a/docs/get_started/tutorials/sg_execution_times.html b/docs/get_started/tutorials/sg_execution_times.html
index 1919b530312..96cd36eb690 100644
--- a/docs/get_started/tutorials/sg_execution_times.html
+++ b/docs/get_started/tutorials/sg_execution_times.html
@@ -634,7 +634,7 @@ document.write(`
                   
   <section id="computation-times">
 <span id="sphx-glr-get-started-tutorials-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading">#</a></h1>
-<p><strong>00:05.457</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
+<p><strong>00:05.499</strong> total execution time for 2 files <strong>from get_started/tutorials</strong>:</p>
 <div class="docutils container">
 <style scoped>
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet" />
@@ -656,11 +656,11 @@ $(document).ready( function () {
 </thead>
 <tbody>
 <tr class="row-even"><td><p><a class="reference internal" href="ir_module.html#sphx-glr-get-started-tutorials-ir-module-py"><span class="std std-ref">IRModule</span></a> (<code class="docutils literal notranslate"><span class="pre">ir_module.py</span></code>)</p></td>
-<td><p>00:05.298</p></td>
+<td><p>00:05.341</p></td>
 <td><p>0.0</p></td>
 </tr>
 <tr class="row-odd"><td><p><a class="reference internal" href="quick_start.html#sphx-glr-get-started-tutorials-quick-start-py"><span class="std std-ref">Quick Start</span></a> (<code class="docutils literal notranslate"><span class="pre">quick_start.py</span></code>)</p></td>
-<td><p>00:00.159</p></td>
+<td><p>00:00.157</p></td>
 <td><p>0.0</p></td>
 </tr>
 </tbody>
diff --git a/docs/how_to/tutorials/bring_your_own_codegen.html b/docs/how_to/tutorials/bring_your_own_codegen.html
index 07398ceab78..40b8ded214f 100644
--- a/docs/how_to/tutorials/bring_your_own_codegen.html
+++ b/docs/how_to/tutorials/bring_your_own_codegen.html
@@ -737,13 +737,13 @@ backends.</p>
 <span class="k">class</span><span class="w"> </span><span class="nc">ConvReLU</span><span class="p">:</span>
     <span class="nd">@R</span><span class="o">.</span><span class="n">function</span>
     <span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span>
-        <span class="n">data</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span class="p">,</span> <span class="mi">32</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="n">weight</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">16</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-    <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">30</span><span class="p">,</span> <span class="mi">30</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">):</span>
-        <span class="k">with</span> <span class="n">R</span><span class="o">.</span><span class="n">dataflow</span><span class="p">():</span>
+        <span class="n">data</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">32</span><span [...]
+        <span class="n">weight</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">16</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">3</span><sp [...]
+    <span class="p">)</span> <span class="o">-&gt;</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">16</span><span class="p">,</span> <span class="mi">30</span><span  [...]
+        <span class="k">with</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.dataflow" title="tvm.script.relax.dataflow" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">dataflow</span></a><span class="p">():</span>
             <span class="n">conv</span> <span class="o">=</span> <a href="../../reference/api/python/relax/op.html#tvm.relax.op.nn.conv2d" title="tvm.relax.op.nn.conv2d" class="sphx-glr-backref-module-tvm-relax-op-nn sphx-glr-backref-type-py-function"><span class="n">relax</span><span class="o">.</span><span class="n">op</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">conv2d</span></a><span class="p">(</span><span class="n">data</span><span  [...]
             <span class="n">out</span> <span class="o">=</span> <a href="../../reference/api/python/relax/op.html#tvm.relax.op.nn.relu" title="tvm.relax.op.nn.relu" class="sphx-glr-backref-module-tvm-relax-op-nn sphx-glr-backref-type-py-function"><span class="n">relax</span><span class="o">.</span><span class="n">op</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">relu</span></a><span class="p">(</span><span class="n">conv</span><span class=" [...]
-            <span class="n">R</span><span class="o">.</span><span class="n">output</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>
+            <a href="../../reference/api/python/script/script.html#tvm.script.relax.output" title="tvm.script.relax.output" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">output</span></a><span class="p">(</span><span class="n">out</span><span class="p">)</span>
         <span class="k">return</span> <span class="n">out</span>
 </pre></div>
 </div>
diff --git a/docs/how_to/tutorials/cross_compilation_and_rpc.html b/docs/how_to/tutorials/cross_compilation_and_rpc.html
index e71fe0e4d58..e3f07dafb6d 100644
--- a/docs/how_to/tutorials/cross_compilation_and_rpc.html
+++ b/docs/how_to/tutorials/cross_compilation_and_rpc.html
@@ -833,7 +833,7 @@ device and returns the measured cost. Network overhead is excluded.</p>
 <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="n">cost</span><span class="si">:</span><span class="s2">g</span><span class="si">}</span><span class="s2"> secs/op&quot;</span><span class="p">)</span>
 </pre></div>
 </div>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9.4e-08 secs/op
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>9.2e-08 secs/op
 </pre></div>
 </div>
 </section>
@@ -1362,8 +1362,8 @@ for ONNX models. Simply replace <code class="docutils literal notranslate"><span
 Converted PyTorch model to Relax:
   - Number of parameters: 4
 Using local target for demonstration
-Exported library to: /tmp/tmpxbrtny9f/model_deployed.so
-Saved parameters to: /tmp/tmpxbrtny9f/model_params.npz
+Exported library to: /tmp/tmpeo1gb8yw/model_deployed.so
+Saved parameters to: /tmp/tmpeo1gb8yw/model_params.npz
 
 RPC workflow (works for any remote device):
 ==================================================
diff --git a/docs/how_to/tutorials/e2e_opt_model.html b/docs/how_to/tutorials/e2e_opt_model.html
index b9a48c3832e..d23427c47c7 100644
--- a/docs/how_to/tutorials/e2e_opt_model.html
+++ b/docs/how_to/tutorials/e2e_opt_model.html
@@ -674,8 +674,8 @@ PyTorch.</p>
 <div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>Downloading: &quot;https://download.pytorch.org/models/resnet18-f37072fd.pth&quot; to /workspace/.cache/torch/hub/checkpoints/resnet18-f37072fd.pth
 
   0%|          | 0.00/44.7M [00:00&lt;?, ?B/s]
- 54%|█████▎    | 24.0M/44.7M [00:00&lt;00:00, 251MB/s]
-100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 286MB/s]
+ 76%|███████▋  | 34.1M/44.7M [00:00&lt;00:00, 357MB/s]
+100%|██████████| 44.7M/44.7M [00:00&lt;00:00, 377MB/s]
 </pre></div>
 </div>
 </section>
diff --git a/docs/how_to/tutorials/mix_python_and_tvm_with_pymodule.html b/docs/how_to/tutorials/mix_python_and_tvm_with_pymodule.html
index 499ff879929..9c7862572a4 100644
--- a/docs/how_to/tutorials/mix_python_and_tvm_with_pymodule.html
+++ b/docs/how_to/tutorials/mix_python_and_tvm_with_pymodule.html
@@ -710,7 +710,7 @@ express in TIR or Relax.</p></li>
 </section>
 <section id="step-1-your-first-hybrid-module">
 <h2><a class="toc-backref" href="#id2" role="doc-backlink">Step 1: Your First Hybrid Module</a><a class="headerlink" href="#step-1-your-first-hybrid-module" title="Link to this heading">#</a></h2>
-<p>The core idea: decorate a class with <code class="docutils literal notranslate"><span class="pre">&#64;I.ir_module</span></code>, inherit from <code class="docutils literal notranslate"><span class="pre">BasePyModule</span></code>, and use
+<p>The core idea: decorate a class with <code class="docutils literal notranslate"><span class="pre">&#64;R.py_module</span></code>, inherit from <code class="docutils literal notranslate"><span class="pre">BasePyModule</span></code>, and use
 three decorators for three kinds of functions:</p>
 <ul class="simple">
 <li><p><code class="docutils literal notranslate"><span class="pre">&#64;T.prim_func</span></code> — low-level TIR kernel (JIT-compiled on instantiation)</p></li>
@@ -721,13 +721,13 @@ three decorators for three kinds of functions:</p>
 (zero-copy), allocates the output buffer, calls the compiled kernel, and converts back.</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <a href="https://docs.python.org/3/builtins/functions.html#bool" title="builtins.bool" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">RUN_EXAMPLE</span></a><span class="p">:</span>
 
-    <span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
+    <span class="nd">@R</span><span class="o">.</span><span class="n">py_module</span>
     <span class="k">class</span><span class="w"> </span><span class="nc">MyFirstModule</span><span class="p">(</span><a href="../../reference/api/python/relax/relax.html#tvm.relax.BasePyModule" title="tvm.relax.BasePyModule" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class"><span class="n">BasePyModule</span></a><span class="p">):</span>
         <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
         <span class="k">def</span><span class="w"> </span><span class="nf">add_tir</span><span class="p">(</span>
-            <span class="n">A</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-            <span class="n">B</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-            <span class="n">C</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">Buffer</span><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+            <span class="n">A</span><span class="p">:</span> <a href="../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+            <span class="n">B</span><span class="p">:</span> <a href="../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+            <span class="n">C</span><span class="p">:</span> <a href="../../tirx/api/tirx.html#tvm.tirx.Buffer" title="tvm.tirx.Buffer" class="sphx-glr-backref-module-tvm-tirx sphx-glr-backref-type-py-attribute"><span class="n">T</span><span class="o">.</span><span class="n">Buffer</span></a><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
         <span class="p">):</span>
             <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">4</span><span class="p">):</span>
                 <span class="n">C</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">A</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">B</span><span class="p">[</span><span class="n">i</span><span class="p">]</span>
@@ -737,7 +737,7 @@ three decorators for three kinds of functions:</p>
 <span class="w">            </span><span class="sd">&quot;&quot;&quot;Takes PyTorch tensors, calls TIR, returns PyTorch tensors.&quot;&quot;&quot;</span>
             <span class="n">x_tvm</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_convert_pytorch_to_tvm</span><span class="p">(</span><span class="n">x</span><span class="p">)</span>
             <span class="n">y_tvm</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_convert_pytorch_to_tvm</span><span class="p">(</span><span class="n">y</span><span class="p">)</span>
-            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">add_tir</span><span class="p">,</span> <span class="p">[</span><span class="n">x_tvm</span><span class="p">,</span> <span class="n">y_tvm</span><span class="p">],</span> <span class="n">out_ty</span><span class="o">=</span><span class="n">R</span><sp [...]
+            <span class="n">result</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">add_tir</span><span class="p">,</span> <span class="p">[</span><span class="n">x_tvm</span><span class="p">,</span> <span class="n">y_tvm</span><span class="p">],</span> <span class="n">out_ty</span><span class="o">=</span><a href="../../reference/ap [...]
             <span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">_convert_tvm_to_pytorch</span><span class="p">(</span><span class="n">result</span><span class="p">)</span>
 
     <span class="c1"># TIR functions are JIT-compiled at instantiation</span>
@@ -766,18 +766,18 @@ is as simple as adding a <code class="docutils literal notranslate"><span class=
 immediately — no recompilation needed.</p>
 <div class="highlight-Python notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <a href="https://docs.python.org/3/builtins/functions.html#bool" title="builtins.bool" class="sphx-glr-backref-module-builtins sphx-glr-backref-type-py-class sphx-glr-backref-instance"><span class="n">RUN_EXAMPLE</span></a><span class="p">:</span>
 
-    <span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
+    <span class="nd">@R</span><span class="o">.</span><span class="n">py_module</span>
     <span class="k">class</span><span class="w"> </span><span class="nc">DebugModule</span><span class="p">(</span><a href="../../reference/api/python/relax/relax.html#tvm.relax.BasePyModule" title="tvm.relax.BasePyModule" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class"><span class="n">BasePyModule</span></a><span class="p">):</span>
         <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-        <span class="k">def</span><span class="w"> </span><span class="nf">matmul_tir</span><span class="p">(</span><span class="n">var_A</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">var_B</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">var_C</span><span class="p">:</span> <span class=" [...]
+        <span class="k">def</span><span class="w"> </span><span class="nf">matmul_tir</span><span class="p">(</span><span class="n">var_A</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.handle" title="tvm.script.tirx.handle" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">handle</span></a><span class="p">,</span> <span class="n">var_B</sp [...]
             <span class="n">n</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">int32</span><span class="p">()</span>
-            <span class="n">A</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_A</span><span class="p">,</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="n">B</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_B</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="n">C</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_C</span><span class="p">,</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">):</span>
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;matmul&quot;</span><span class="p">):</span>
-                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span cla [...]
-                    <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
+            <span class="n">A</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_A</span><span class="p">,</span> <span class="p">(</span><span class="n">n</span><span class="p [...]
+            <span class="n">B</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_B</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class=" [...]
+            <span class="n">C</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_C</span><span class="p">,</span> <span class="p">(</span><span class="n">n</span><span class="p [...]
+            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><span class= [...]
+                <span class="k">with</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;matmul&quot;</span><span class="p">):</span>
+                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">rem [...]
+                    <span class="k">with</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
                         <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">float32</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
                     <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">+</span> <span class="n">A</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vk</span><sp [...]
 
@@ -792,7 +792,7 @@ immediately — no recompilation needed.</p>
             <span class="n">out</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">matmul_tir</span><span class="p">,</span>
                 <span class="p">[</span><span class="n">x_tvm</span><span class="p">,</span> <span class="n">w_tvm</span><span class="p">],</span>
-                <span class="n">out_ty</span><span class="o">=</span><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</span><span class="p">],</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+                <span class="n">out_ty</span><span class="o">=</span><a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="n">x</span><span class="o">.</span><span class="n">shape</span><span class="p">[</span><span class="mi">0</sp [...]
             <span class="p">)</span>
             <span class="n">logits</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_convert_tvm_to_pytorch</span><span class="p">(</span><span class="n">out</span><span class="p">)</span>
 
@@ -841,17 +841,17 @@ three different calling conventions:</p>
         <span class="n">out_np</span> <span class="o">=</span> <span class="n">x_np</span> <span class="o">+</span> <span class="n">b_np</span>
         <span class="n">out</span><span class="p">[:]</span> <span class="o">=</span> <span class="n">out_np</span>
 
-    <span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
+    <span class="nd">@R</span><span class="o">.</span><span class="n">py_module</span>
     <span class="k">class</span><span class="w"> </span><span class="nc">PipelineModule</span><span class="p">(</span><a href="../../reference/api/python/relax/relax.html#tvm.relax.BasePyModule" title="tvm.relax.BasePyModule" class="sphx-glr-backref-module-tvm-relax sphx-glr-backref-type-py-class"><span class="n">BasePyModule</span></a><span class="p">):</span>
         <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-        <span class="k">def</span><span class="w"> </span><span class="nf">matmul_tir</span><span class="p">(</span><span class="n">var_A</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">var_B</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">var_C</span><span class="p">:</span> <span class=" [...]
-            <span class="n">A</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_A</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="n">B</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_B</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="n">C</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_C</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">):</span>
-                <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">sblock</span><span class="p">(</span><span class="s2">&quot;matmul&quot;</span><span class="p">):</span>
-                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">remap</span><span class="p">(</span><span class="s2">&quot;SSR&quot;</span><span class="p">,</span> <span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span cla [...]
-                    <span class="k">with</span> <span class="n">T</span><span class="o">.</span><span class="n">init</span><span class="p">():</span>
+        <span class="k">def</span><span class="w"> </span><span class="nf">matmul_tir</span><span class="p">(</span><span class="n">var_A</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.handle" title="tvm.script.tirx.handle" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">handle</span></a><span class="p">,</span> <span class="n">var_B</sp [...]
+            <span class="n">A</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_A</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class=" [...]
+            <span class="n">B</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_B</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class=" [...]
+            <span class="n">C</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_C</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class=" [...]
+            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span> <span class="ow">in</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><span class= [...]
+                <span class="k">with</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.sblock" title="tvm.script.tirx.sblock" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">sblock</span></a><span class="p">(</span><span class="s2">&quot;matmul&quot;</span><span class="p">):</span>
+                    <span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">,</span> <span class="n">vk</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.axis.remap" title="tvm.script.tirx.axis.remap" class="sphx-glr-backref-module-tvm-script-tirx-axis sphx-glr-backref-type-py-method"><span class="n">T</span><span class="o">.</span><span class="n">axis</span><span class="o">.</span><span class="n">rem [...]
+                    <span class="k">with</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.init" title="tvm.script.tirx.init" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">init</span></a><span class="p">():</span>
                         <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">float32</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
                     <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">=</span> <span class="n">C</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vj</span><span class="p">]</span> <span class="o">+</span> <span class="n">A</span><span class="p">[</span><span class="n">vi</span><span class="p">,</span> <span class="n">vk</span><sp [...]
 
@@ -863,7 +863,7 @@ three different calling conventions:</p>
             <span class="n">h</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span>
                 <span class="bp">self</span><span class="o">.</span><span class="n">matmul_tir</span><span class="p">,</span>
                 <span class="p">[</span><span class="n">x_tvm</span><span class="p">,</span> <span class="n">w_tvm</span><span class="p">],</span>
-                <span class="n">out_ty</span><span class="o">=</span><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+                <span class="n">out_ty</span><span class="o">=</span><a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quo [...]
             <span class="p">)</span>
             <span class="n">h_pt</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">_convert_tvm_to_pytorch</span><span class="p">(</span><span class="n">h</span><span class="p">)</span>
 
@@ -871,7 +871,7 @@ three different calling conventions:</p>
             <span class="n">h_biased</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">call_dps_packed</span><span class="p">(</span>
                 <span class="s2">&quot;my_bias_add&quot;</span><span class="p">,</span>
                 <span class="p">[</span><span class="n">h_pt</span><span class="p">,</span> <span class="n">bias</span><span class="p">],</span>
-                <span class="n">out_ty</span><span class="o">=</span><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+                <span class="n">out_ty</span><span class="o">=</span><a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">),</span> <span class="s2">&quo [...]
             <span class="p">)</span>
 
             <span class="c1"># 3. Python/PyTorch activation</span>
@@ -906,25 +906,25 @@ transformed the IR), and compare the output against a PyTorch reference to catch
     <span class="nd">@I</span><span class="o">.</span><span class="n">ir_module</span>
     <span class="k">class</span><span class="w"> </span><span class="nc">DenseLayer</span><span class="p">:</span>
         <span class="nd">@T</span><span class="o">.</span><span class="n">prim_func</span><span class="p">(</span><span class="n">s_tir</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
-        <span class="k">def</span><span class="w"> </span><span class="nf">bias_add_tir</span><span class="p">(</span><span class="n">var_x</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">var_b</span><span class="p">:</span> <span class="n">T</span><span class="o">.</span><span class="n">handle</span><span class="p">,</span> <span class="n">var_out</span><span class="p">:</span> <span cla [...]
-            <span class="n">x</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_x</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="n">b</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_b</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="n">out</span> <span class="o">=</span> <span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span><span class="p">(</span><span class="n">var_out</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">)</span>
-            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <span class="n">T</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">):</span>
+        <span class="k">def</span><span class="w"> </span><span class="nf">bias_add_tir</span><span class="p">(</span><span class="n">var_x</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.handle" title="tvm.script.tirx.handle" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">handle</span></a><span class="p">,</span> <span class="n">var_b</ [...]
+            <span class="n">x</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_x</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span class=" [...]
+            <span class="n">b</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_b</span><span class="p">,</span> <span class="p">(</span><span class="mi">4</span><span class=" [...]
+            <span class="n">out</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.match_buffer" title="tvm.script.tirx.match_buffer" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">match_buffer</span></a><span class="p">(</span><span class="n">var_out</span><span class="p">,</span> <span class="p">(</span><span class="mi">2</span><span cla [...]
+            <span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="ow">in</span> <a href="../../reference/api/python/script/script.html#tvm.script.tirx.grid" title="tvm.script.tirx.grid" class="sphx-glr-backref-module-tvm-script-tirx sphx-glr-backref-type-py-function"><span class="n">T</span><span class="o">.</span><span class="n">grid</span></a><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class [...]
                 <span class="n">out</span><span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">]</span> <span class="o">=</span> <span class="n">x</span><span class="p">[</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">]</span> <span class="o">+</span> <span class="n">b</span><span class="p">[</span><span class="n">j</span><span class="p">]</span>
 
         <span class="nd">@R</span><span class="o">.</span><span class="n">function</span>
         <span class="k">def</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span>
-            <span class="n">x</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-            <span class="n">w</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-            <span class="n">b</span><span class="p">:</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
-        <span class="p">)</span> <span class="o">-&gt;</span> <span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">):</span>
-            <span class="n">h</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">matmul</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span>
+            <span class="n">x</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float3 [...]
+            <span class="n">w</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float3 [...]
+            <span class="n">b</span><span class="p">:</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">4</span><span class="p">,),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+        <span class="p">)</span> <span class="o">-&gt;</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float [...]
+            <span class="n">h</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.matmul" title="tvm.script.relax.matmul" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">matmul</span></a><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">)</span>
             <span class="bp">cls</span> <span class="o">=</span> <span class="n">DenseLayer</span>
-            <span class="n">h_bias</span> <span class="o">=</span> <span class="n">R</span><span class="o">.</span><span class="n">call_tir</span><span class="p">(</span>
+            <span class="n">h_bias</span> <span class="o">=</span> <a href="../../reference/api/python/script/script.html#tvm.script.relax.call_tir" title="tvm.script.relax.call_tir" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">call_tir</span></a><span class="p">(</span>
                 <span class="bp">cls</span><span class="o">.</span><span class="n">bias_add_tir</span><span class="p">,</span>
                 <span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">b</span><span class="p">),</span>
-                <span class="n">out_ty</span><span class="o">=</span><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quot;float32&quot;</span><span class="p">),</span>
+                <span class="n">out_ty</span><span class="o">=</span><a href="../../reference/api/python/script/script.html#tvm.script.relax.Tensor" title="tvm.script.relax.Tensor" class="sphx-glr-backref-module-tvm-script-relax sphx-glr-backref-type-py-function"><span class="n">R</span><span class="o">.</span><span class="n">Tensor</span></a><span class="p">((</span><span class="mi">2</span><span class="p">,</span> <span class="mi">4</span><span class="p">),</span> <span class="s2">&quo [...]
             <span class="p">)</span>
             <span class="k">return</span> <span class="n">R</span><span class="o">.</span><span class="n">nn</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><span class="n">h_bias</span><span class="p">)</span>
 
@@ -936,7 +936,7 @@ transformed the IR), and compare the output against a PyTorch reference to catch
     <span class="n">w</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span> <span class="mi">4</span><span class="p">)</span>
     <span class="n">b</span> <span class="o">=</span> <span class="n">torch</span><span class="o">.</span><span class="n">randn</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
 
-    <span class="n">py_result_early</span> <span class="o">=</span> <span class="n">converted_early</span><span class="o">.</span><span class="n">pyfuncs</span><span class="p">[</span><span class="s2">&quot;main&quot;</span><span class="p">](</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
+    <span class="n">py_result_early</span> <span class="o">=</span> <span class="n">converted_early</span><span class="o">.</span><span class="n">__pyfuncs__</span><span class="p">[</span><span class="s2">&quot;main&quot;</span><span class="p">](</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
     <span class="n">expected</span> <span class="o">=</span> <span class="n">F</span><span class="o">.</span><span class="n">relu</span><span class="p">(</span><span class="n">x</span> <span class="o">@</span> <span class="n">w</span> <span class="o">+</span> <span class="n">b</span><span class="p">)</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;Before optimization:&quot;</span><span class="p">)</span>
@@ -952,7 +952,7 @@ transformed the IR), and compare the output against a PyTorch reference to catch
     <span class="n">converter_late</span> <span class="o">=</span> <span class="n">RelaxToPyFuncConverter</span><span class="p">(</span><span class="n">optimized_mod</span><span class="p">)</span>
     <span class="n">converted_late</span> <span class="o">=</span> <span class="n">converter_late</span><span class="o">.</span><span class="n">convert</span><span class="p">([</span><span class="s2">&quot;main&quot;</span><span class="p">])</span>
 
-    <span class="n">py_result_late</span> <span class="o">=</span> <span class="n">converted_late</span><span class="o">.</span><span class="n">pyfuncs</span><span class="p">[</span><span class="s2">&quot;main&quot;</span><span class="p">](</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
+    <span class="n">py_result_late</span> <span class="o">=</span> <span class="n">converted_late</span><span class="o">.</span><span class="n">__pyfuncs__</span><span class="p">[</span><span class="s2">&quot;main&quot;</span><span class="p">](</span><span class="n">x</span><span class="p">,</span> <span class="n">w</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
 
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;</span><span class="se">\n</span><span class="s2">After CanonicalizeBindings pass:&quot;</span><span class="p">)</span>
     <span class="nb">print</span><span class="p">(</span><span class="s2">&quot;  Converted result:&quot;</span><span class="p">,</span> <span class="n">py_result_late</span><span class="p">)</span>
@@ -974,7 +974,7 @@ that is complex to implement in TIR. Compile everything else, and let that one o
... 684616 lines suppressed ...