[LLVMdev] FYI -- potential compile time regression on boost spirit with r152737 and/or r152752

Chandler Carruth chandlerc at gmail.com
Thu Mar 15 17:10:57 PDT 2012


Just a  brief follow-up, mostly relaying my findings from IRC:

I looked in depth at loop_unroll to see why it slowed down. The inliner run
far 4.2% of the time, 2.7% of which was spent actually doing inlines. So
the cost analysis is not hurting us here.

However, we are spending quite a bit of time in the optimizations I expect
to benefit from better inlining: InstCombine, LSR, and GVN.

And, thankfully, we're getting significant runtime improvements from the
time spent in these optimizers, so they aren't going of the deep end,
they're actually simplifying code (if perhaps not as quickly as we'd like).

The conclusion seems to be that these patches are fine, and we just need to
keep pressure on the scalar optimization passes to run as efficiently as
possible. The improved inlining costs us compile time but seems to pay
handsomely at runtime.

If folks have other significant compile-time regressions, I would be
interested in having repro instructions. =]

Last but not least, the refactoring to do inline cost analysis per-callsite
may actually make the analysis *faster* in several situations. As I'm going
through this I'm finding lots of inefficiencies in the current design that
should be fixed along the way.

-Chandler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120315/73cf6223/attachment.html>


More information about the llvm-dev mailing list