<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, May 14, 2015 at 3:19 PM, Duncan P. N. Exon Smith <span dir="ltr"><<a href="mailto:dexonsmith@apple.com" target="_blank">dexonsmith@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
>> On 2015-May-14, at 14:46, Eric Christopher <<a href="mailto:echristo@gmail.com">echristo@gmail.com</a>> wrote:<br>
>><br>
>> >><br>
>> >> But as mentioned, ld -r can work on native object wrapped bitcode<br>
>> >> without a plugin as well.<br>
>> >><br>
>> ><br>
>> > How? It's not like any partial linking is going to go on inside the bitcode<br>
>> > if the linker doesn't understand bitcode.<br>
>><br>
>> It allows us to delay the actual linking until the full link step,<br>
>> thereby enabling ThinLTO on those modules.<br>
>><br>
>> As we discussed offline, the current ld -r behavior with the plugin is<br>
>> to compile all the way down to machine code. The alternative if we use<br>
>> straight bitcode is to tell the plugin to stop early after combining<br>
>> the bitcode and emit bitcode back out, with the thinlto function info<br>
>> also combined.<br>
><br>
><br>
> I think this is what should happen anyhow. ld -r that doesn't do a partial link is misleading.<br>
<br>
</span>FWIW, in "full" LTO on Darwin, ld64 emits bitcode from `ld -r` as long<br>
as all inputs are bitcode.<br></blockquote><div><br></div><div>That is what need in thinLTO too.</div><div><br></div><div>David</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br></div></div>