Author: Fangrui Song Date: 2021-08-26T14:25:31-07:00 New Revision: a42bd1b560524905d3b9aebcb658cf6dc9521d26
URL: https://github.com/llvm/llvm-project/commit/a42bd1b560524905d3b9aebcb658cf6dc9521d26 DIFF: https://github.com/llvm/llvm-project/commit/a42bd1b560524905d3b9aebcb658cf6dc9521d26.diff LOG: [CMake] Change -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=off to -DLLVM_ENABLE_NEW_PASS_MANAGER=off LLVM_ENABLE_NEW_PASS_MANAGER is set to ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER, so -DLLVM_ENABLE_NEW_PASS_MANAGER=off has no effect. Change the cache variable to LLVM_ENABLE_NEW_PASS_MANAGER instead. A user opting out the new PM needs to switch from -DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=off to -DLLVM_ENABLE_NEW_PASS_MANAGER=off. Also give a warning that -DLLVM_ENABLE_NEW_PASS_MANAGER=off is deprecated. Reviewed By: aeubanks, phosek Differential Revision: https://reviews.llvm.org/D108775 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/cmake/caches/Fuchsia.cmake llvm/CMakeLists.txt llvm/docs/NewPassManager.rst Removed: ################################################################################ diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index e58ae3ac247aa..09e8a0780c54c 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -41,7 +41,6 @@ set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "") set(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "") set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "") -set(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER ON CACHE BOOL "") set(ENABLE_LINKER_BUILD_ID ON CACHE BOOL "") set(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL "") diff --git a/clang/cmake/caches/Fuchsia.cmake b/clang/cmake/caches/Fuchsia.cmake index babc14e51a8da..a98354b7782fc 100644 --- a/clang/cmake/caches/Fuchsia.cmake +++ b/clang/cmake/caches/Fuchsia.cmake @@ -32,7 +32,6 @@ set(CLANG_ENABLE_ARCMT OFF CACHE BOOL "") set(CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "") set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "") -set(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER ON CACHE BOOL "") set(ENABLE_LINKER_BUILD_ID ON CACHE BOOL "") set(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL "") diff --git a/llvm/CMakeLists.txt b/llvm/CMakeLists.txt index 6129a9616813b..64be2f38fd01f 100644 --- a/llvm/CMakeLists.txt +++ b/llvm/CMakeLists.txt @@ -706,8 +706,13 @@ else() endif() option(LLVM_ENABLE_PLUGINS "Enable plugin support" ${LLVM_ENABLE_PLUGINS_default}) -set(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER TRUE CACHE BOOL +set(LLVM_ENABLE_NEW_PASS_MANAGER TRUE CACHE BOOL "Enable the new pass manager by default.") +if(NOT LLVM_ENABLE_NEW_PASS_MANAGER) + message(WARNING "Using the legacy pass manager for the optimization pipeline" + " is deprecated. The functionality will degrade over time and" + " be removed in a future release.") +endif() include(HandleLLVMOptions) @@ -846,10 +851,6 @@ if (NOT TENSORFLOW_AOT_PATH STREQUAL "") set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS tf_xla_runtime) endif() -# Keep the legacy CMake flag ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER for -# compatibility. -set(LLVM_ENABLE_NEW_PASS_MANAGER ${ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER}) - # Configure the three LLVM configuration header files. configure_file( ${LLVM_MAIN_INCLUDE_DIR}/llvm/Config/config.h.cmake diff --git a/llvm/docs/NewPassManager.rst b/llvm/docs/NewPassManager.rst index b3951cd76ea71..55898ef3b1fe6 100644 --- a/llvm/docs/NewPassManager.rst +++ b/llvm/docs/NewPassManager.rst @@ -449,7 +449,7 @@ with the legacy PM. For the optimization pipeline, the new PM is the default PM. The legacy PM is available for the optimization pipeline either by setting the CMake flag -``-DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=OFF`` when building LLVM, or by +``-DLLVM_ENABLE_NEW_PASS_MANAGER=OFF`` when building LLVM, or by various compiler/linker flags, e.g. ``-flegacy-pass-manager`` for ``clang``. There will be efforts to deprecate and remove the legacy PM for the _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits