On 11/26/2010 3:11 AM, Andrew Stubbs wrote:

> As we discussed on Monday, I think it might be helpful to get a number
> of knowledgeable people together on a call to discuss GCC optimization
> opportunities.

I'm not sure I qualify as knowledgeable, and my schedule is a mess, so
please don't try to schedule around me -- but please do let me know when
the call will be.

For big-picture issues, I'd be interested in looking at inlining, both
on its own, and in the context of profile-directed feedback.  My guess
is that we're not inlining enough in hot spots, and too much in cold
spots.  (The latter is important, in that I expect that overall system
performance is impacted by larger binaries, leading to more cache misses
and page faults.)

As an extension of that idea, and tying into the idea of optimizing for
size, I suspect that we (a) ought be optimizing for size automatically
in cold code, and (b) that we're probably not doing a great job of
optimizing for size.  (For example, and making the whole problem
circular, I've seen cases where inlining would definitely reduce code
size -- but we don't do it.  I suspect that cases where many of the
arguments to a relatively small function are constants should be
considered for inlining even when optimizing for size; you're often
going to simplify away the entire function.  Perhaps we need to actually
be able to try inlining, and back out if it is unprofitable.)

Both of these things require some significant infrastructure work.  They
aren't ARM-specific back-end changes.  But, I suspect that they're
important in terms of allowing GCC to take full advantage of ARM CPUs.

-- 
Mark Mitchell
CodeSourcery
m...@codesourcery.com
(650) 331-3385 x713

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to