[llvm] r259766 - cmake: Add a flag to enable LTO
Justin Bogner via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 8 10:10:32 PST 2016
Mehdi AMINI <mehdi.amini at apple.com> writes:
> joker.eph added a subscriber: joker.eph.
> joker.eph added a comment.
Please keep patch review on-list. It seems whatever phabricator feature
this is just sends personal emails in a new thread with no patch
context. I've dug up the original thread and restored the context.
> Could we support a string flag instead of a boolean? (I don't know if
> CMake options can be enums)
> The clang "-flto" accepts both "full" and "thin" as an argument, and
> it would be nice to support it first class in the configuration.
This seems reasonable, but it would have to allow/use by default the
form without an '=' so that this can be used with gcc as well.
I'm thinking something like -DLLVM_LTO_MODE={off,on,full,thin}. WDYT?
Justin Bogner via llvm-commits <llvm-commits at lists.llvm.org> writes:
> Author: bogner
> Date: Thu Feb 4 01:28:30 2016
> New Revision: 259766
>
> URL: http://llvm.org/viewvc/llvm-project?rev=259766&view=rev
> Log:
> cmake: Add a flag to enable LTO
>
> This adds -DLLVM_ENABLE_LTO, rather than forcing people to manually
> add -flto to the various _FLAGS variables.
>
> Modified:
> llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
> llvm/trunk/docs/CMake.rst
>
> Modified: llvm/trunk/cmake/modules/HandleLLVMOptions.cmake
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/cmake/modules/HandleLLVMOptions.cmake?rev=259766&r1=259765&r2=259766&view=diff
> ==============================================================================
> --- llvm/trunk/cmake/modules/HandleLLVMOptions.cmake (original)
> +++ llvm/trunk/cmake/modules/HandleLLVMOptions.cmake Thu Feb 4 01:28:30 2016
> @@ -656,6 +656,13 @@ append_if(LLVM_BUILD_INSTRUMENTED "-fpro
> 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)
> +
> # Plugin support
> # FIXME: Make this configurable.
> if(WIN32 OR CYGWIN)
>
> Modified: llvm/trunk/docs/CMake.rst
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CMake.rst?rev=259766&r1=259765&r2=259766&view=diff
> ==============================================================================
> --- llvm/trunk/docs/CMake.rst (original)
> +++ llvm/trunk/docs/CMake.rst Thu Feb 4 01:28:30 2016
> @@ -347,6 +347,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_PARALLEL_COMPILE_JOBS**:STRING
> Define the maximum number of concurrent compilation jobs.
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list