Return unknow from scev instantiation if the result is not above instantiate_below.

2009-07-30  Sebastian Pop  <sebastian.pop@amd.com>

	* tree-scalar-evolution.c: Fix comment.
	(instantiate_scev_1): Return unknow from scev instantiation if the
	result is not above instantiate_below.

From-SVN: r150290
This commit is contained in:
Sebastian Pop 2009-07-31 02:30:03 +00:00 committed by Sebastian Pop
parent 42e6eec568
commit 52bdd655b0
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2009-07-30 Sebastian Pop <sebastian.pop@amd.com>
* tree-scalar-evolution.c: Fix comment.
(instantiate_scev_1): Return unknow from scev instantiation if the
result is not above instantiate_below.
2009-07-30 Sebastian Pop <sebastian.pop@amd.com> 2009-07-30 Sebastian Pop <sebastian.pop@amd.com>
* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not

View File

@ -1893,18 +1893,16 @@ analyze_scalar_evolution_1 (struct loop *loop, tree var, tree res)
return res; return res;
} }
/* Entry point for the scalar evolution analyzer. /* Analyzes and returns the scalar evolution of the ssa_name VAR in
Analyzes and returns the scalar evolution of the ssa_name VAR. LOOP. LOOP is the loop in which the variable is used.
LOOP_NB is the identifier number of the loop in which the variable
is used.
Example of use: having a pointer VAR to a SSA_NAME node, STMT a Example of use: having a pointer VAR to a SSA_NAME node, STMT a
pointer to the statement that uses this variable, in order to pointer to the statement that uses this variable, in order to
determine the evolution function of the variable, use the following determine the evolution function of the variable, use the following
calls: calls:
unsigned loop_nb = loop_containing_stmt (stmt)->num; loop_p loop = loop_containing_stmt (stmt);
tree chrec_with_symbols = analyze_scalar_evolution (loop_nb, var); tree chrec_with_symbols = analyze_scalar_evolution (loop, var);
tree chrec_instantiated = instantiate_parameters (loop, chrec_with_symbols); tree chrec_instantiated = instantiate_parameters (loop, chrec_with_symbols);
*/ */
@ -2177,7 +2175,9 @@ instantiate_scev_1 (basic_block instantiate_below,
else else
res = chrec; res = chrec;
if (res == NULL_TREE) if (res == NULL_TREE
|| !dominated_by_p (CDI_DOMINATORS, instantiate_below,
gimple_bb (SSA_NAME_DEF_STMT (res))))
res = chrec_dont_know; res = chrec_dont_know;
} }