[llvm-dev] RFC [ThinLTO]: Promoting more aggressively in order to reduce incremental link time and allow sharing between linkage units

Peter Collingbourne via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 6 18:04:51 PDT 2016


On Wed, Apr 6, 2016 at 6:00 PM, Sean Silva <chisophugis at gmail.com> wrote:

>
>
> On Wed, Apr 6, 2016 at 4:41 PM, Peter Collingbourne via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Hi all,
>>
>> I'd like to propose changes to how we do promotion of global values in
>> ThinLTO. The goal here is to make it possible to pre-compile parts of the
>> translation unit to native code at compile time. For example, if we know
>> that:
>>
>> 1) A function is a leaf function, so it will never import any other
>> functions, and
>> 2) The function's instruction count falls above a threshold specified at
>> compile time, so it will never be imported.
>> or
>> 3) The compile-time threshold is zero, so there is no possibility of
>> functions being imported (What's the utility of this? Consider a program
>> transformation that requires whole-program information, such as CFI. During
>> development, the import threshold may be set to zero in order to minimize
>> the incremental link time while still providing the same CFI enforcement
>> that would be used in production builds of the application.)
>>
>
> Do you know of any use case that is not as an aid for developers? I.e.
> would this be a user-visible feature?
>

It would indeed be a user-visible feature. The developers in this case are
the developers of the program that uses the CFI feature, not LLVM
developers.

Peter
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160406/cff76136/attachment.html>


More information about the llvm-dev mailing list