diff options
author | Richard Guenther <rguenther@suse.de> | 2008-05-31 13:01:10 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2008-05-31 13:01:10 +0000 |
commit | 39f8a3b00c99fff50a211449cd10e326eabca8f4 (patch) | |
tree | 4a655a0ae6f945ac1614484f03ea84124a685c78 /gcc/tree-scalar-evolution.c | |
parent | 2643f14e4453151004d8026128dd929dc4d7eb8e (diff) | |
download | gcc-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.c | 13 |
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; |