[LLVMdev] LTO support on Mac

Nick Kledzik kledzik at apple.com
Mon Jan 12 14:55:04 PST 2015



On Jan 12, 2015, at 2:45 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:
> On 10 January 2015 at 17:43, Rahman Lavaee <r.lavaee at gmail.com> wrote:
>> Hi,
>> I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work.
>> The system linker dumps the following information when I executed "ld -v"
>> 
>> @(#)PROGRAM:ld  PROJECT:ld64-241.9
>> configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h
>> armv6m armv7m armv7em
>> LTO support using: LLVM version 3.4.2
>> 
>> which tells me that it is correctly pointing to the LLVM that I have built.
>> However, when I pass any LTO command line arguments like "disable-inling" it
>> complains.
>> 
>> I was previously working on Linux and the gold plugin makes it very
>> convenient. However, that plugin only handles ELF assembly and I can't
>> install it on Mac.
> 
> 
> I am not sure if there is a supported way of passing extra llvm
> options during LTO with ld64.

You can pass options with -mllvm.  But you need to get it to the linker, so when invoking the linker through clang it looks like:

 -Wl,-llvm,-myltoopt

That will get it to lto_codegen_debug_options().  But I don’t know what options strings lto_codegen_debug_options() handles.

-Nick 



More information about the llvm-dev mailing list