[llvm] f293118 - Reland "[python] Bump Python minimum version to 3.8 (#78828)"
Aiden Grossman via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 19 17:51:55 PDT 2024
Author: Aiden Grossman
Date: 2024-04-20T00:49:47Z
New Revision: f2931182fc877e813974a5f53721f859bfb5b130
URL: https://github.com/llvm/llvm-project/commit/f2931182fc877e813974a5f53721f859bfb5b130
DIFF: https://github.com/llvm/llvm-project/commit/f2931182fc877e813974a5f53721f859bfb5b130.diff
LOG: Reland "[python] Bump Python minimum version to 3.8 (#78828)"
This reverts commit 2dfa30d0ca6fb6991640a18e53401d82f567f8ff.
This relands commit 0a6c74e21cc6750c843310ab35b47763cddaaf32.
This patch originally caused a host of buildbot failures due to several
buildbots not having the necessary python version. That was tracked in
issue #83962, and all bots that failed in the first round have now been
updated. This is an attempt to reland the patch to see if it sticks or
if there are a number of long-running bots where this patch will cause
failures.
Added:
Modified:
llvm/CMakeLists.txt
llvm/docs/GettingStarted.rst
llvm/docs/GettingStartedVS.rst
llvm/docs/ReleaseNotes.rst
llvm/docs/TestingGuide.rst
Removed:
################################################################################
diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt
index d511376e18ba5e..505870154dbb80 100644
--- a/llvm/CMakeLists.txt
+++ b/llvm/CMakeLists.txt
@@ -903,8 +903,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)
diff --git a/llvm/docs/GettingStarted.rst b/llvm/docs/GettingStarted.rst
index 7ecef78c405b6f..0a1913dca8aac1 100644
--- a/llvm/docs/GettingStarted.rst
+++ b/llvm/docs/GettingStarted.rst
@@ -292,16 +292,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. Python 3.8.0
- or later is needed on Windows if a substitute (virtual) drive is used
- to access LLVM source code due to ``MAX_PATH`` limitations.
+ #. Only needed if you want to run the automated test suite in the
+ ``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.
diff --git a/llvm/docs/GettingStartedVS.rst b/llvm/docs/GettingStartedVS.rst
index a1eb88dccc9e5c..4b15272635fbeb 100644
--- a/llvm/docs/GettingStartedVS.rst
+++ b/llvm/docs/GettingStartedVS.rst
@@ -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.
diff --git a/llvm/docs/ReleaseNotes.rst b/llvm/docs/ReleaseNotes.rst
index 76ef6ceb940780..33b61688f7872e 100644
--- a/llvm/docs/ReleaseNotes.rst
+++ b/llvm/docs/ReleaseNotes.rst
@@ -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
----------------------
diff --git a/llvm/docs/TestingGuide.rst b/llvm/docs/TestingGuide.rst
index e32e4d1e535abb..3e3a722f141874 100644
--- a/llvm/docs/TestingGuide.rst
+++ b/llvm/docs/TestingGuide.rst
@@ -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
More information about the llvm-commits
mailing list