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 <rguent...@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