[LLVMdev] Inline hint for methods defined in-class

Xinliang David Li davidxl at google.com
Thu Jul 9 09:23:15 PDT 2015


On Thu, Jul 9, 2015 at 1:09 AM, David Chisnall
<David.Chisnall at cl.cam.ac.uk> wrote:
> On 9 Jul 2015, at 08:00, Xinliang David Li <xinliangli at gmail.com> wrote:
>>
>> You need to be more specific on why the regression is problematic (and more so than missed opportunities).  Text size increase (shared and much smaller than heap) is usually not a big issue except for tiny devices which is likely to use Os/Oz in the build. For servers, there are are simple rules to compare cpu vs ram resource cost.
>
> Text size increase also means more TLB and i-cache misses.  We’ve observed that single-program benchmarks show this quite poorly, but the aggregate increase in i-cache and TLB pressure across the entire system can degrade performance overall on a typical desktop workload (not so relevant for single-application servers, but very relevant for server VMs).
>
> I believe some folks at Apple did a more systematic analysis of this, but I don’t know if their detailed results are public.

It may or may not increase itlb/TLB pressure . This should be
considered by the inliner when computing the overall cost/benefit, but
compiler today is generally very bad at modelling this effect --
especially when profile data is missing.

David
>
> David
>
>




More information about the llvm-dev mailing list