From c2665d2b54faa9457e50b27a069287519abd8bd2 Mon Sep 17 00:00:00 2001 From: Craig Hesling Date: Fri, 19 Jan 2024 18:22:02 -0800 Subject: [PATCH 1/2] [python] Bump Python minimum version to 3.7 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. --- llvm/CMakeLists.txt | 4 ++-- llvm/docs/GettingStarted.rst | 5 +++-- llvm/docs/GettingStartedVS.rst | 2 +- llvm/docs/ReleaseNotes.rst | 5 +++++ llvm/docs/TestingGuide.rst | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index a760a19efcb6b..b5738fc88174b 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -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.7) 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 687d1f29b5a1f..86a1ff958d76a 100644 --- a/llvm/docs/GettingStarted.rst +++ b/llvm/docs/GettingStarted.rst @@ -288,7 +288,7 @@ 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.7 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` =========================================================== ============ ========================================== @@ -296,7 +296,8 @@ Package Version Notes .. 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. diff --git a/llvm/docs/GettingStartedVS.rst b/llvm/docs/GettingStartedVS.rst index a1eb88dccc9e5..a1ff982ff22fd 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.7 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 5be00d9d5a589..4f56f8185c980 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.7 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 e32e4d1e535ab..723bc60ee6146 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.7 or later. LLVM Testing Infrastructure Organization From 39082ebd2a9906e89c589b85c2ccea48261423ef Mon Sep 17 00:00:00 2001 From: Craig Hesling Date: Fri, 19 Jan 2024 18:22:41 -0800 Subject: [PATCH 2/2] [python] Bump Python minimum version to 3.8 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. --- llvm/CMakeLists.txt | 2 +- llvm/docs/GettingStarted.rst | 2 +- llvm/docs/GettingStartedVS.rst | 2 +- llvm/docs/ReleaseNotes.rst | 2 +- llvm/docs/TestingGuide.rst | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index b5738fc88174b..fac9cc7cdcf25 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -878,7 +878,7 @@ set(LLVM_PROFDATA_FILE "" CACHE FILEPATH if(LLVM_INCLUDE_TESTS) # All LLVM Python files should be compatible down to this minimum version. - set(LLVM_MINIMUM_PYTHON_VERSION 3.7) + 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 86a1ff958d76a..a38fd2ae45f4d 100644 --- a/llvm/docs/GettingStarted.rst +++ b/llvm/docs/GettingStarted.rst @@ -288,7 +288,7 @@ uses the package and provides other details. Package Version Notes =========================================================== ============ ========================================== `CMake `__ >=3.20.0 Makefile/workspace generator -`python `_ >=3.7 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` =========================================================== ============ ========================================== diff --git a/llvm/docs/GettingStartedVS.rst b/llvm/docs/GettingStartedVS.rst index a1ff982ff22fd..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.7 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 4f56f8185c980..1125ed3b3cedb 100644 --- a/llvm/docs/ReleaseNotes.rst +++ b/llvm/docs/ReleaseNotes.rst @@ -47,7 +47,7 @@ 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.7 across all of 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. diff --git a/llvm/docs/TestingGuide.rst b/llvm/docs/TestingGuide.rst index 723bc60ee6146..3e3a722f14187 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.7 or +software required to build LLVM, as well as `Python `_ 3.8 or later. LLVM Testing Infrastructure Organization