[PATCH] D13443: Rework the LTO Pipeline, aligning closer to the O2/O3 pipeline.

Pete Cooper via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 6 09:57:06 PDT 2015


> On Oct 5, 2015, at 12:43 PM, Teresa Johnson via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> 
>> I'm not sure why inlining should be able to end up with smaller files, except in the case where an "internal linkage" function can end up with no call site. Do you see any other cases?
> 
> That's one of the cases I had in mind. The other is when inlining some
> of the callsites can result in some nice clean up optimizations in the
> caller (which is related to the comment about running the other
> optimization passes that are currently after this early return).
I wonder if the first inliner in LTO builds should be -Os (regardless of whether the user specified -O2/3).

That way, assuming the heuristics are working well, the first inliner pass should actually reduce code size (by inlining internal methods, and those methods with branches which can be simplified)

Just a thought, shouldn’t block the new pipeline or anything, but determining how many times, and how aggressively, to run the inliner is certainly something which warrants more investigation.

Cheers,
Pete
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151006/61193275/attachment.html>


More information about the llvm-commits mailing list