Files
Tianqi Chen ffea531107 [REFACTOR][PYTHON] Lift compiler/CLI/process modules from tvm.contrib to tvm.support (#19624)
## Summary

Lifts 10 host-toolchain / CLI / process / utility modules from
`python/tvm/contrib/` to a new `python/tvm/support/` package, and
deletes two dead contrib shims.

`tvm.support` is the home for Python helpers that integrate TVM with
external CLIs and host-side tools — compilers, archivers, subprocess
pools, and build-info queries. These are load-bearing internal pieces
that TVM's compile/link/run paths depend on. `tvm.contrib` is reserved
for optional vendor SDK integrations and experimental features. The
distinction is documented in the `tvm.support` package docstring.

Moved (one commit each):

- `tvm.contrib.cc` → `tvm.support.cc`
- `tvm.contrib.nvcc` → `tvm.support.nvcc`
- `tvm.contrib.rocm` → `tvm.support.rocm`
- `tvm.contrib.ndk` → `tvm.support.ndk`
- `tvm.contrib.xcode` → `tvm.support.xcode`
- `tvm.contrib.clang` → `tvm.support.clang`
- `tvm.contrib.emcc` → `tvm.support.emcc`
- `tvm.contrib.popen_pool` → `tvm.support.popen_pool`
- `tvm.contrib.utils` → `tvm.support.utils`
- `tvm.contrib.tar` → `tvm.support.tar`

Deleted:
- `tvm.contrib.spirv` — single `optimize()` wrapping `spirv-opt`; zero
importers.
- `tvm.contrib.rpc` — self-deprecation shim with "removed in 0.5"
banner; honoring it.

Package conversion:
- `python/tvm/support.py` → `python/tvm/support/__init__.py` with
inclusion-rule docstring.
- `libinfo()` extracted into `python/tvm/support/libinfo.py`.
- `FrontendTestModule` dropped (audit confirmed zero callers outside its
own definition).

## Compatibility

Hard break — no `tvm.contrib.<mod>` re-export shims. All callers updated
in this PR.

C++-side FFI registry keys (`tvm.contrib.nvcc.*`, etc.) are unchanged —
only the Python module path moves. Renaming the FFI keys is a separate
follow-up.
2026-05-27 15:31:12 -04:00

74 lines
1.7 KiB
ReStructuredText

.. Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
.. http://www.apache.org/licenses/LICENSE-2.0
.. Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
tvm.support
-----------
.. automodule:: tvm.support
:members:
:imported-members:
:autosummary:
tvm.support.cc
~~~~~~~~~~~~~~
.. automodule:: tvm.support.cc
:members:
tvm.support.nvcc
~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.nvcc
:members:
tvm.support.rocm
~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.rocm
:members:
tvm.support.ndk
~~~~~~~~~~~~~~~
.. automodule:: tvm.support.ndk
:members:
tvm.support.xcode
~~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.xcode
:members:
tvm.support.clang
~~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.clang
:members:
tvm.support.emcc
~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.emcc
:members:
tvm.support.popen_pool
~~~~~~~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.popen_pool
:members:
tvm.support.utils
~~~~~~~~~~~~~~~~~
.. automodule:: tvm.support.utils
:members:
tvm.support.tar
~~~~~~~~~~~~~~~
.. automodule:: tvm.support.tar
:members: