Skip to content

Commit

Permalink
[python] Bump Python minimum version to 3.8 (llvm#78828)
Browse files Browse the repository at this point in the history
As per the RFC
https://discourse.llvm.org/t/rfc-upgrading-llvms-minimum-required-python-version/67571,
raise the minimum Python version to ensure that the Python syntax
doesn't become overly obsolete, to enable new Python feature usage,
and to improve the maintainability of CI.

One of the primary use cases for this higher Python version is to enable
python type annotations that are more aligned with current Python
best practices. This is not only important for our own internal Python
for testing, but for the Python bindings that are exposed to users.
  • Loading branch information
linux4life798 authored Feb 20, 2024
1 parent d9f9775 commit 0a6c74e
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 6 deletions.
4 changes: 2 additions & 2 deletions llvm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -877,8 +877,8 @@ set(LLVM_PROFDATA_FILE "" CACHE FILEPATH
"Profiling data file to use when compiling in order to improve runtime performance.")

if(LLVM_INCLUDE_TESTS)
# Lit test suite requires at least python 3.6
set(LLVM_MINIMUM_PYTHON_VERSION 3.6)
# All LLVM Python files should be compatible down to this minimum version.
set(LLVM_MINIMUM_PYTHON_VERSION 3.8)
else()
# FIXME: it is unknown if this is the actual minimum bound
set(LLVM_MINIMUM_PYTHON_VERSION 3.0)
Expand Down
5 changes: 3 additions & 2 deletions llvm/docs/GettingStarted.rst
Original file line number Diff line number Diff line change
Expand Up @@ -288,15 +288,16 @@ uses the package and provides other details.
Package Version Notes
=========================================================== ============ ==========================================
`CMake <http://cmake.org/>`__ >=3.20.0 Makefile/workspace generator
`python <http://www.python.org/>`_ >=3.6 Automated test suite\ :sup:`1`
`python <http://www.python.org/>`_ >=3.8 Automated test suite\ :sup:`1`
`zlib <http://zlib.net>`_ >=1.2.3.4 Compression library\ :sup:`2`
`GNU Make <http://savannah.gnu.org/projects/make>`_ 3.79, 3.79.1 Makefile/build processor\ :sup:`3`
=========================================================== ============ ==========================================

.. note::

#. Only needed if you want to run the automated test suite in the
``llvm/test`` directory.
``llvm/test`` directory, or if you plan to utilize any Python libraries,
utilities, or bindings.
#. Optional, adds compression / uncompression capabilities to selected LLVM
tools.
#. Optional, you can use any other build tool supported by CMake.
Expand Down
2 changes: 1 addition & 1 deletion llvm/docs/GettingStartedVS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Visual Studio 2019 so separate installation is not required. If you do install
CMake separately, Visual Studio 2022 will require CMake Version 3.21 or later.

If you would like to run the LLVM tests you will need `Python
<http://www.python.org/>`_. Version 3.6 and newer are known to work. You can
<http://www.python.org/>`_. Version 3.8 and newer are known to work. You can
install Python with Visual Studio 2019, from the Microsoft store or from
the `Python web site <http://www.python.org/>`_. We recommend the latter since it
allows you to adjust installation options.
Expand Down
5 changes: 5 additions & 0 deletions llvm/docs/ReleaseNotes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ Non-comprehensive list of changes in this release
Update on required toolchains to build LLVM
-------------------------------------------

* The minimum Python version has been raised from 3.6 to 3.8 across all of LLVM.
This enables the use of many new Python features, aligning more closely with
modern Python best practices, and improves CI maintainability
See `#78828 <https://github.com/llvm/llvm-project/pull/78828>`_ for more info.

Changes to the LLVM IR
----------------------

Expand Down
2 changes: 1 addition & 1 deletion llvm/docs/TestingGuide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Requirements
============

In order to use the LLVM testing infrastructure, you will need all of the
software required to build LLVM, as well as `Python <http://python.org>`_ 3.6 or
software required to build LLVM, as well as `Python <http://python.org>`_ 3.8 or
later.

LLVM Testing Infrastructure Organization
Expand Down

0 comments on commit 0a6c74e

Please sign in to comment.