[llvm] r259766 - cmake: Add a flag to enable LTO

Teresa Johnson via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 10:20:13 PST 2016


On Mon, Feb 8, 2016 at 10:14 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:

>
> > On Feb 8, 2016, at 10:10 AM, Justin Bogner <mail at justinbogner.com>
> wrote:
> >
> > 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.
>
> Good point...
>
> >
> >> 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.
>
> Good point (as well)!
>
> > I'm thinking something like -DLLVM_LTO_MODE={off,on,full,thin}. WDYT?
>

That sounds good to me. It is similar to the driver option which maps -flto
to -flto=full.

Thanks,
Teresa


>
> I don't have a better idea :)
>
> CC Teresa who may have an opinion as she added the -flto=thin to clang.
>
> Thanks,
>
> --
> Mehdi
>
>
> >
> > 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
>
>


-- 
Teresa Johnson |  Software Engineer |  tejohnson at google.com |  408-460-2413
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160208/76b55956/attachment.html>


More information about the llvm-commits mailing list