[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