[LLVMdev] RFC: ThinLTO Impementation Plan

David Blaikie dblaikie at gmail.com
Fri May 15 09:20:48 PDT 2015


On Fri, May 15, 2015 at 9:18 AM, David Blaikie <dblaikie at gmail.com> wrote:

>
>> >> - Marking of imported functions (for use in ThinLTO-specific symbol
>> >> linking and global DCE, for example).
>> >
>> > Marking how?  Do you mean giving them internal linkage, or something
>> > else?
>>
>> Mentioned just after this: either an in-memory flag on the Function
>> class, or potentially in the IR. For the prototype I just had a flag
>> on the Function class.
>
>
> Would this be anything other than "available externally" linkage? (either
> this module is responsible for emitting the definition of this function for
> other modules to call, or it's not - if it's not, either this module
> depends on another module to provide a definition (this would be "available
> externally") or it doesn't (this would be "internal" linkage")) - I
> think... though I'm sort of jumping into the middle of some of this &
> might've missed some context, sorry.
>

& I see your follow up further down in that thread:

"There were only a couple minor tweaks required here (under the flag I
added to the Function indicating that this was imported). Only
promoted statics are remarked available_externally. For a
non-discardable symbol that was imported, we can discard here since we
are done with inlining (it is non-discardable in its home module)."

&, like Duncan, I'll wait for more details on that front. (may or may not
be useful to split some of these subthreads into separate email threads to
keep discussion clear - but I'm not sure)


>
>
> - David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150515/b6ba7050/attachment.html>


More information about the llvm-dev mailing list