summaryrefslogtreecommitdiff
path: root/gcc/tree-scalar-evolution.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2008-05-31 13:01:10 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2008-05-31 13:01:10 +0000
commit39f8a3b00c99fff50a211449cd10e326eabca8f4 (patch)
tree4a655a0ae6f945ac1614484f03ea84124a685c78 /gcc/tree-scalar-evolution.c
parent2643f14e4453151004d8026128dd929dc4d7eb8e (diff)
downloadgcc-39f8a3b00c99fff50a211449cd10e326eabca8f4.tar.gz
re PR tree-optimization/34244 (VRP/SCEV miscompiles Firefox)
2008-05-31 Richard Guenther <rguenther@suse.de> PR tree-optimization/34244 * fold-const.c (tree_expr_nonnegative_warnv_p): Do not ask VRP. (tree_expr_nonzero_warnv_p): Likewise. * tree-vrp.c (vrp_expr_computes_nonnegative): Call ssa_name_nonnegative_p. (vrp_expr_computes_nonzero): Call ssa_name_nonzero_p. (extract_range_from_unary_expr): Use vrp_expr_computes_nonzero, not tree_expr_nonzero_warnv_p. PR tree-optimization/36262 Revert 2007-11-29 Zdenek Dvorak <ook@ucw.cz> PR tree-optimization/34244 * tree-vrp.c (adjust_range_with_scev): Clear scev cache. (record_numbers_of_iterations): New function. (execute_vrp): Cache the numbers of iterations of loops. * tree-scalar-evolution.c (scev_reset_except_niters): New function. (scev_reset): Use scev_reset_except_niters. * tree-scalar-evolution.h (scev_reset_except_niters): Declare. From-SVN: r136237
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
-rw-r--r--gcc/tree-scalar-evolution.c13
1 files changed, 1 insertions, 12 deletions
diff --git a/gcc/tree-scalar-evolution.c b/gcc/tree-scalar-evolution.c
index 7c9736a3b02..2cc008020e2 100644
--- a/gcc/tree-scalar-evolution.c
+++ b/gcc/tree-scalar-evolution.c
@@ -2645,16 +2645,6 @@ scev_initialize (void)
}
}
-/* Clean the scalar evolution analysis cache, but preserve the cached
- numbers of iterations for the loops. */
-
-void
-scev_reset_except_niters (void)
-{
- if (scalar_evolution_info)
- htab_empty (scalar_evolution_info);
-}
-
/* Cleans up the information cached by the scalar evolutions analysis. */
void
@@ -2666,8 +2656,7 @@ scev_reset (void)
if (!scalar_evolution_info || !current_loops)
return;
- scev_reset_except_niters ();
-
+ htab_empty (scalar_evolution_info);
FOR_EACH_LOOP (li, loop, 0)
{
loop->nb_iterations = NULL_TREE;