diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake index 49db3088bbc4ff3a453968ab1c260a01f14fa2f3..ca53f7f38ee06a16690023652c15811048554f6f 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 eb219c58560b626af042773b15de7933e6f52582..30fa5bc37fa2faed38c91e97986be54b3347feaf 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 ============