[PATCH] Limit combines work at -Og, introduce --param max-combine-insns
Jeff Law
law@redhat.com
Fri Jul 18 05:05:00 GMT 2014
On 07/15/14 05:58, Richard Biener wrote:
>
> The following introduces a new param, max-combine-insns, to
> be able to limit the work done at -Og to linear complexity
> in the number of log-links (thus, two-insn combines). It
> also records statistics of performed combines where for
> fold-const.ii on x86_64 we see at -Og (unpatched):
>
> 208 combine "three-insn combine" 25
> 208 combine "two-insn combine" 14393
>
> and patched:
>
> 208 combine "two-insn combine" 14392
>
> Bootstrap / regtest scheduled on x86_64-unknown-linux-gnu.
>
> Ok? (I can rip out the statistics stuff if you mind)
>
> (the combine_insns diff is so large because of re-indenting)
>
> Thanks,
> Richard.
>
> 2014-07-15 Richard Biener <rguenther@suse.de>
>
> * params.def (PARAM_MAX_COMBINE_INSNS): New.
> * combine.c: Include statistics.h and params.h.
> (combine_instructions): Guard three and four insn combines
> with max-combine-insns value. Record statistics for combines
> performed.
> * doc/invoke.texi (max-combine-insns): Document new param.
Please don't rip out the statistics :-) Sometimes I wonder how much
time we've lost because the statistics gathering often gets dropped as a
patch goes from initial prototyping into production. Then later we find
the need to look at those statistics again.
The patch is fine. I only gave it a cursory review as it looked like
90% of it was just the indention change. A diff -b variant would have
made it fairly easy to do a more thorough review, I don't think it's
strictly necessary though.
Jeff
More information about the Gcc-patches
mailing list