Repository navigation
[REFACTOR][Script] Give S-TIR its own construction namespace - #20437
Merged
Merged
Conversation
tqchen
force-pushed
the
script/separate-stir-parser
branch
3 times, most recently
from
September 24, 2026 23:03
3d53918 to
0593ee3
Compare
Expose scheduled TIR through tvm.s_tir.script and Ts.prim_func while sharing TIRx construction operations. Keep the TIRx entry dialect-specific and preserve S-TIR printer round trips through the separate namespace.
Move S-TIR frames, block operations, normalization, and completion into the S-TIR builder while sharing common primitive construction hooks. Remove dialect mode switches and give TIRx its own lowering path, with S-TIR registering its compilation policy. Migrate namespace call sites and express codegen and TIRx cases directly in TIRx, preserving S-TIR-specific coverage alongside its dialect.
Disambiguate member template calls in the shared allreduce builder so template parsing works across compilers.
tqchen
force-pushed
the
script/separate-stir-parser
branch
from
September 25, 2026 00:18
0593ee3 to
a05746d
Compare
spectrometerHBH
approved these changes
Sep 25, 2026
tlopex
approved these changes
Sep 25, 2026
tqchen
pushed a commit
that referenced
this pull request
Oct 3, 2026
## Description The grid-pack guard regression test added in #20424 uses TIRx syntax that had already been replaced on `main`: - #20437 removed the `s_tir=True` arguments from TIRx decorators. - #20519 renamed the TIRx parameter annotation from `T.Buffer` to `T.Tensor`. As a result, the current CPU CI fails during test collection with: ```text AttributeError: No script namespace 'Buffer' ``` This test-only change updates the new test to the current TIRx syntax. The WebGPU test body and generated-code assertion are unchanged. The same upstream failure is currently blocking unrelated PRs #20529 and #20535. ## Testing - `python -m py_compile tests/python/codegen/test_target_codegen_webgpu.py` - `python -m pre_commit run --files tests/python/codegen/test_target_codegen_webgpu.py` A matching current-`main` native library was not available locally, so the targeted WebGPU runtime test is left to CI.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Expose S-TIR through
tvm.s_tir.scriptandfrom tvm.script import s_tir as Ts. Its Python and native builders own block construction, buffer normalization, function completion, and validation. Remove dialect mode switches from TIRx construction while sharing compatible operations through common frame hooks.Give TIRx an independent compilation pipeline and keep S-TIR pipeline selection with S-TIR. Update printed scripts and namespace call sites, and make codegen and TIRx cases construct TIRx directly.