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

Sean Silva via llvm-dev llvm-dev at lists.llvm.org
Wed Apr 6 18:10:18 PDT 2016

On Wed, Apr 6, 2016 at 6:04 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:

> 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.
Ah, sorry. I misinterpreted what you wrote.

-- Sean Silva

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

More information about the llvm-dev mailing list