From 872bdf2637ad43c95f1524a822b2aedc222f1d8e Mon Sep 17 00:00:00 2001 From: Aiden Grossman Date: Fri, 7 Jun 2024 23:18:28 +0000 Subject: [PATCH] Reland "[python] Bump Python minimum version to 3.8 (#78828)" This reverts commit b6824c9d459da059e247a60c1ebd1aeb580dacc2. This relands commit 0a6c74e21cc6750c843310ab35b47763cddaaf32. The original commit was reverted due to buildbot failures. These bots should be updated now, so hopefully this will stick. Signed-off-by: Hafidz Muzakky --- llvm/CMakeLists.txt | 4 ++-- llvm/docs/GettingStarted.rst | 8 ++++---- llvm/docs/GettingStartedVS.rst | 2 +- llvm/docs/ReleaseNotes.rst | 5 +++++ llvm/docs/TestingGuide.rst | 2 +- 5 files changed, 13 insertions(+), 8 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 64898ab09772f..3208147101c0d 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 7ecef78c405b6..0a1913dca8aac 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 `__ >=3.20.0 Makefile/workspace generator -`python `_ >=3.6 Automated test suite\ :sup:`1` +`python `_ >=3.8 Automated test suite\ :sup:`1` `zlib `_ >=1.2.3.4 Compression library\ :sup:`2` `GNU 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 a1eb88dccc9e5..4b15272635fbe 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 -`_. Version 3.6 and newer are known to work. You can +`_. 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 `_. 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 28dd567a61086..e1e1652d1e0a1 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 `_ for more info. + Changes to the LLVM IR ---------------------- diff --git a/llvm/docs/TestingGuide.rst b/llvm/docs/TestingGuide.rst index e24feb3bf5fa2..89499d8b937d5 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 `_ 3.6 or +software required to build LLVM, as well as `Python `_ 3.8 or later. LLVM Testing Infrastructure Organization