This is an automated email from the ASF dual-hosted git repository. tqchen pushed a commit to branch tirx-standalone-root in repository https://gitbox.apache.org/repos/asf/tvm.git
commit 3b68199858d6295f97e15c32f32cd412c78ff22f Author: Tianqi Chen <[email protected]> AuthorDate: Fri Oct 16 22:46:34 2026 -0400 [TIRx] Remove obsolete builtin lowering bypass (#20771) Remove the obsolete `disable_lower_builtin` annotation and its lowering bypass, along with the dedicated LLVM large-stack allocation test that used it. Allocations follow the normal builtin-lowering path. --- tirx/include/tvm/tirx/transform.h | 5 ----- tirx/src/tirx/transform/lower_tvm_builtin.cc | 6 ------ tirx/tests/python/codegen/llvm/test_basic.py | 21 --------------------- 3 files changed, 32 deletions(-) diff --git a/tirx/include/tvm/tirx/transform.h b/tirx/include/tvm/tirx/transform.h index 478bcbbc8f..2956e0ebe5 100644 --- a/tirx/include/tvm/tirx/transform.h +++ b/tirx/include/tvm/tirx/transform.h @@ -191,11 +191,6 @@ TVM_TIRX_DLL Pass SplitHostDevice(); */ TVM_TIRX_DLL Pass SkipAssert(); -/*! - * \brief This annotation is for nodes to be disabled for builtin lowering - */ -static constexpr const char* kDisableLowerTVMBuiltin = "disable_lower_builtin"; - /*! * \brief Lower builtin intrinsics. * \return The pass. diff --git a/tirx/src/tirx/transform/lower_tvm_builtin.cc b/tirx/src/tirx/transform/lower_tvm_builtin.cc index f25da67256..a2e80dab0e 100644 --- a/tirx/src/tirx/transform/lower_tvm_builtin.cc +++ b/tirx/src/tirx/transform/lower_tvm_builtin.cc @@ -281,12 +281,6 @@ class BuiltinLower : public StmtExprMutator { DLDataType dtype = tensor_call->ty_args[0].as_or_throw<TensorType>()->dtype->dtype; PrimType element_type(dtype); auto scope = tensor_call->ty_args[0].as_or_throw<TensorType>()->scope; - DictAttrs annotations = tensor_call->attrs.value().as_or_throw<DictAttrs>(); - if (annotations->dict.count(transform::kDisableLowerTVMBuiltin)) { - if (annotations->dict[transform::kDisableLowerTVMBuiltin].as_or_throw<IntImm>()->value) { - return stmt; - } - } if (element_type.IsScalableVector()) { return stmt; } diff --git a/tirx/tests/python/codegen/llvm/test_basic.py b/tirx/tests/python/codegen/llvm/test_basic.py index f7f2d946b2..8c71c1e004 100644 --- a/tirx/tests/python/codegen/llvm/test_basic.py +++ b/tirx/tests/python/codegen/llvm/test_basic.py @@ -838,27 +838,6 @@ def test_llvm_order_functions(): assert matches == sorted(matches) [email protected](not env.has_llvm(), reason="need llvm") [email protected]("extent", [2**32 + 1, 2**32 + 4]) -def test_llvm_large_stack_allocation_uses_64bit_extent(extent): - @T.function - def main(A: T.Tensor((1,), "float32")): - B = T.alloc_tensor( - ty_args=[T.Tensor((extent,), "float32", scope="global")], - annotations={"disable_lower_builtin": True}, - ) - A[0] = B[T.int64(extent - 1)] - - module = tvm_tirx.tirx.compile( - main, - target={"kind": "llvm", "opt-level": 0}, - pipeline="tirx", - ).mod - llvm_ir = module.inspect_source("ll") - - assert re.search(rf"alloca float, i64 {extent}(?:,|$)", llvm_ir) - - @pytest.mark.skipif(not env.has_llvm(), reason="need llvm") def test_llvm_scalar_concat(): @I.ir_module
