mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
cmake: Accept "thin" or "full" as arguments to -DLLVM_ENABLE_LTO
Mehdi suggested in a review of r259766 that it's also useful to easily set the type of LTO. Augment the cmake variable to support that. llvm-svn: 260143
This commit is contained in:
parent
5f473ff0ae
commit
974dab4e8f
@ -656,12 +656,18 @@ append_if(LLVM_BUILD_INSTRUMENTED "-fprofile-instr-generate"
|
||||
CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS)
|
||||
|
||||
option(LLVM_ENABLE_LTO "Enable link-time optimization" OFF)
|
||||
append_if(LLVM_ENABLE_LTO "-flto"
|
||||
CMAKE_CXX_FLAGS
|
||||
CMAKE_C_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS
|
||||
CMAKE_SHARED_LINKER_FLAGS)
|
||||
option(LLVM_ENABLE_LTO "Build LLVM with LTO. May be specified as Thin or Full to use a particular kind of LTO" OFF)
|
||||
string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO)
|
||||
if(uppercase_LLVM_ENABLE_LTO STREQUAL "THIN")
|
||||
append("-flto=thin" CMAKE_CXX_FLAGS CMAKE_C_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
elseif(uppercase_LLVM_ENABLE_LTO STREQUAL "FULL")
|
||||
append("-flto=full" CMAKE_CXX_FLAGS CMAKE_C_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
elseif(LLVM_ENABLE_LTO)
|
||||
append("-flto" CMAKE_CXX_FLAGS CMAKE_C_FLAGS
|
||||
CMAKE_EXE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
|
||||
endif()
|
||||
|
||||
# Plugin support
|
||||
# FIXME: Make this configurable.
|
||||
|
@ -351,9 +351,10 @@ LLVM-specific variables
|
||||
are ``Address``, ``Memory``, ``MemoryWithOrigins``, ``Undefined``, ``Thread``,
|
||||
and ``Address;Undefined``. Defaults to empty string.
|
||||
|
||||
**LLVM_ENABLE_LTO**:BOOL
|
||||
Add the ``-flto`` flag to the compile and link command lines,
|
||||
enabling link-time optimization. Defaults to OFF.
|
||||
**LLVM_ENABLE_LTO**:STRING
|
||||
Add ``-flto`` or ``-flto=`` flags to the compile and link command
|
||||
lines, enabling link-time optimization. Possible values are ``Off``,
|
||||
``On``, ``Thin`` and ``Full``. Defaults to OFF.
|
||||
|
||||
**LLVM_PARALLEL_COMPILE_JOBS**:STRING
|
||||
Define the maximum number of concurrent compilation jobs.
|
||||
|
Loading…
Reference in New Issue
Block a user