Fix PR47576 and PR47555: add PARAM_SCEV_MAX_EXPR_COMPLEXITY.

2011-02-02  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/47576
	PR tree-optimization/47555
	* doc/invoke.texi (scev-max-expr-complexity): Documented.
	* params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
	(PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
	* tree-scalar-evolution.c (follow_ssa_edge): Use
	PARAM_SCEV_MAX_EXPR_COMPLEXITY.

From-SVN: r169530
This commit is contained in:
Sebastian Pop 2011-02-02 15:52:08 +00:00 committed by Sebastian Pop
parent d46efcfe97
commit 14dd9aabd6
4 changed files with 21 additions and 2 deletions

View file

@ -1,3 +1,13 @@
2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
PR tree-optimization/47576
PR tree-optimization/47555
* doc/invoke.texi (scev-max-expr-complexity): Documented.
* params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
(PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
* tree-scalar-evolution.c (follow_ssa_edge): Use
PARAM_SCEV_MAX_EXPR_COMPLEXITY.
2011-02-02 Richard Guenther <rguenther@suse.de> 2011-02-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47566 PR tree-optimization/47566

View file

@ -8463,6 +8463,10 @@ optimization when a new iv is added to the set.
Bound on size of expressions used in the scalar evolutions analyzer. Bound on size of expressions used in the scalar evolutions analyzer.
Large expressions slow the analyzer. Large expressions slow the analyzer.
@item scev-max-expr-complexity
Bound on the complexity of the expressions in the scalar evolutions analyzer.
Complex expressions slow the analyzer.
@item omega-max-vars @item omega-max-vars
The maximum number of variables in an Omega constraint system. The maximum number of variables in an Omega constraint system.
The default value is 128. The default value is 128.

View file

@ -481,7 +481,12 @@ DEFPARAM(PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND,
DEFPARAM(PARAM_SCEV_MAX_EXPR_SIZE, DEFPARAM(PARAM_SCEV_MAX_EXPR_SIZE,
"scev-max-expr-size", "scev-max-expr-size",
"Bound on size of expressions used in the scalar evolutions analyzer", "Bound on size of expressions used in the scalar evolutions analyzer",
20, 0, 0) 100, 0, 0)
DEFPARAM(PARAM_SCEV_MAX_EXPR_COMPLEXITY,
"scev-max-expr-complexity",
"Bound on the complexity of the expressions in the scalar evolutions analyzer",
10, 0, 0)
DEFPARAM(PARAM_OMEGA_MAX_VARS, DEFPARAM(PARAM_OMEGA_MAX_VARS,
"omega-max-vars", "omega-max-vars",

View file

@ -1399,7 +1399,7 @@ follow_ssa_edge (struct loop *loop, gimple def, gimple halting_phi,
return t_false; return t_false;
/* Give up if the path is longer than the MAX that we allow. */ /* Give up if the path is longer than the MAX that we allow. */
if (limit > PARAM_VALUE (PARAM_SCEV_MAX_EXPR_SIZE)) if (limit > PARAM_VALUE (PARAM_SCEV_MAX_EXPR_COMPLEXITY))
return t_dont_know; return t_dont_know;
def_loop = loop_containing_stmt (def); def_loop = loop_containing_stmt (def);