From 017bbd96cf009e72ba4f8e67340a5e5554fec3ee Mon Sep 17 00:00:00 2001 From: Rong Xu Date: Fri, 8 Feb 2019 19:31:03 +0000 Subject: [PATCH] [Cmake] Add an option to build LLVM using the experimental new pass manager Add LLVM_USE_NEWPM to build LLVM using the experimental new pass manager. Differential Revision: http://reviews.llvm.org/D57068 llvm-svn: 353550 --- llvm/cmake/modules/HandleLLVMOptions.cmake | 10 ++++++++++ llvm/docs/CMake.rst | 3 +++ 2 files changed, 13 insertions(+) diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index 49db3088bbc4..ca53f7f38ee0 100644 --- a/llvm/cmake/modules/HandleLLVMOptions.cmake +++ b/llvm/cmake/modules/HandleLLVMOptions.cmake @@ -784,6 +784,16 @@ if(LLVM_ENABLE_EH AND NOT LLVM_ENABLE_RTTI) message(FATAL_ERROR "Exception handling requires RTTI. You must set LLVM_ENABLE_RTTI to ON") endif() +option(LLVM_USE_NEWPM "Build LLVM using the experimental new pass manager" Off) +mark_as_advanced(LLVM_USE_NEWPM) +if (LLVM_USE_NEWPM) + append("-fexperimental-new-pass-manager" + CMAKE_CXX_FLAGS + CMAKE_C_FLAGS + CMAKE_EXE_LINKER_FLAGS + CMAKE_SHARED_LINKER_FLAGS) +endif() + option(LLVM_ENABLE_IR_PGO "Build LLVM and tools with IR PGO instrumentation (deprecated)" Off) mark_as_advanced(LLVM_ENABLE_IR_PGO) diff --git a/llvm/docs/CMake.rst b/llvm/docs/CMake.rst index eb219c58560b..30fa5bc37fa2 100644 --- a/llvm/docs/CMake.rst +++ b/llvm/docs/CMake.rst @@ -582,6 +582,9 @@ LLVM-specific variables If enabled, the compiler version check will only warn when using a toolchain which is about to be deprecated, instead of emitting an error. +**LLVM_USE_NEWPM**:BOOL + If enabled, use the experimental new pass manager. + CMake Caches ============ -- GitLab