Commit e9a8fc23 by Richard Biener Committed by Richard Biener

params.def (PARAM_MAX_COMBINE_INSNS): New.

2014-07-23  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.

From-SVN: r212923
parent 322a0b39
2014-07-23 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.
2014-07-23 Roman Gareev <gareevroman@gmail.com> 2014-07-23 Roman Gareev <gareevroman@gmail.com>
* graphite-isl-ast-to-gimple.c: * graphite-isl-ast-to-gimple.c:
......
...@@ -10006,6 +10006,10 @@ The maximum size measured as number of RTLs that can be recorded in an expressio ...@@ -10006,6 +10006,10 @@ The maximum size measured as number of RTLs that can be recorded in an expressio
in combiner for a pseudo register as last known value of that register. The default in combiner for a pseudo register as last known value of that register. The default
is 10000. is 10000.
@item max-combine-insns
The maximum number of instructions the RTL combiner tries to combine.
The default value is 2 at @option{-Og} and 4 otherwise.
@item integer-share-limit @item integer-share-limit
Small integer constants can use a shared data structure, reducing the Small integer constants can use a shared data structure, reducing the
compiler's memory usage and increasing its speed. This sets the maximum compiler's memory usage and increasing its speed. This sets the maximum
......
...@@ -673,6 +673,11 @@ DEFPARAM(PARAM_MAX_LAST_VALUE_RTL, ...@@ -673,6 +673,11 @@ DEFPARAM(PARAM_MAX_LAST_VALUE_RTL,
"The maximum number of RTL nodes that can be recorded as combiner's last value", "The maximum number of RTL nodes that can be recorded as combiner's last value",
10000, 0, 0) 10000, 0, 0)
DEFPARAM(PARAM_MAX_COMBINE_INSNS,
"max-combine-insns",
"The maximum number of insns combine tries to combine",
4, 2, 4)
/* INTEGER_CST nodes are shared for values [{-1,0} .. N) for /* INTEGER_CST nodes are shared for values [{-1,0} .. N) for
{signed,unsigned} integral types. This determines N. {signed,unsigned} integral types. This determines N.
Experimentation shows 251 to be a good value that generates the Experimentation shows 251 to be a good value that generates the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment