Commit 52bdd655 by Sebastian Pop Committed by Sebastian Pop

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
parent 42e6eec5
2009-07-30 Sebastian Pop <sebastian.pop@amd.com> 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>
* tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not * tree-scalar-evolution.c (compute_overall_effect_of_inner_loop): Not
static anymore. Instantiate the symbols that may have been introduced static anymore. Instantiate the symbols that may have been introduced
by chrec_apply. by chrec_apply.
......
...@@ -1893,18 +1893,16 @@ analyze_scalar_evolution_1 (struct loop *loop, tree var, tree res) ...@@ -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, ...@@ -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;
} }
......
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