[llvm] r228000 - [LTO API] split lto_codegen_compile to lto_codegen_optimize and

Hans Wennborg hans at chromium.org
Tue Feb 3 11:20:47 PST 2015


Looks like the buildbots didn't like this:

lib/libLLVMLTO.a(LTOModule.cpp.o): In function `lto_api_version':
LTOModule.cpp:(.text.lto_api_version+0x0): multiple definition of
`lto_api_version'
tools/llvm-lto/CMakeFiles/llvm-lto.dir/llvm-lto.cpp.o:llvm-lto.cpp:(.text.lto_api_version+0x0):
first defined here
lib/libLLVMLTO.a(LTOCodeGenerator.cpp.o): In function `lto_api_version':
LTOCodeGenerator.cpp:(.text.lto_api_version+0x0): multiple definition
of `lto_api_version'
tools/llvm-lto/CMakeFiles/llvm-lto.dir/llvm-lto.cpp.o:llvm-lto.cpp:(.text.lto_api_version+0x0):
first defined here


On Tue, Feb 3, 2015 at 10:39 AM, Manman Ren <manman.ren at gmail.com> wrote:
> Author: mren
> Date: Tue Feb  3 12:39:15 2015
> New Revision: 228000
>
> URL: http://llvm.org/viewvc/llvm-project?rev=228000&view=rev
> Log:
> [LTO API] split lto_codegen_compile to lto_codegen_optimize and
> lto_codegen_compile_optimized. Also add lto_api_version.
>
> Before this commit, we can only dump the optimized bitcode after running
> lto_codegen_compile, but it includes some impacts of running codegen passes,
> one example is StackProtector pass. We will get assertion failure when running
> llc on the optimized bitcode, because StackProtector is effectively run twice.
>
> After splitting lto_codegen_compile, the linker can choose to dump the bitcode
> before running lto_codegen_compile_optimized.
>
> lto_api_version is added so ld64 can check for runtime-availability of the new
> API.
>
> rdar://19565500



More information about the llvm-commits mailing list