diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-04-18 08:55:41 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-04-18 08:55:41 +0000 |
commit | 7f521ab4c29ffe4341e246abb41728ccca1bd560 (patch) | |
tree | 9450082e7078447f707234f42e62f4aacd729bcd /gcc/tree-ssa-loop-niter.c | |
parent | 38133496bcd701617a82b3a01af4a7986d35e47a (diff) | |
download | ppe42-gcc-7f521ab4c29ffe4341e246abb41728ccca1bd560.tar.gz ppe42-gcc-7f521ab4c29ffe4341e246abb41728ccca1bd560.zip |
2012-04-18 Richard Guenther <rguenther@suse.de>
* cfgloop.h (estimate_numbers_of_iterations_loop): Remove
use_undefined_p parameter.
* tree-flow.h (estimate_numbers_of_iterations): Likewise.
* tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
Likewise.
(estimate_numbers_of_iterations): Likewise.
(estimated_loop_iterations): Adjust.
(max_loop_iterations): Likewise.
(scev_probably_wraps_p): Likewise.
* tree-ssa-loop.c (tree_ssa_loop_bounds): Likewise.
* tree-vrp.c (adjust_range_with_scev): Use max_stmt_executions,
not max_loop_iterations.
(execute_vrp): Remove explicit number of iterations estimation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186562 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
-rw-r--r-- | gcc/tree-ssa-loop-niter.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c index 82251219665..ab7441b3ff9 100644 --- a/gcc/tree-ssa-loop-niter.c +++ b/gcc/tree-ssa-loop-niter.c @@ -2950,7 +2950,7 @@ gcov_type_to_double_int (gcov_type val) is true also use estimates derived from undefined behavior. */ void -estimate_numbers_of_iterations_loop (struct loop *loop, bool use_undefined_p) +estimate_numbers_of_iterations_loop (struct loop *loop) { VEC (edge, heap) *exits; tree niter, type; @@ -2984,8 +2984,7 @@ estimate_numbers_of_iterations_loop (struct loop *loop, bool use_undefined_p) } VEC_free (edge, heap, exits); - if (use_undefined_p) - infer_loop_bounds_from_undefined (loop); + infer_loop_bounds_from_undefined (loop); /* If we have a measured profile, use it to estimate the number of iterations. */ @@ -3013,7 +3012,7 @@ estimate_numbers_of_iterations_loop (struct loop *loop, bool use_undefined_p) bool estimated_loop_iterations (struct loop *loop, double_int *nit) { - estimate_numbers_of_iterations_loop (loop, true); + estimate_numbers_of_iterations_loop (loop); if (!loop->any_estimate) return false; @@ -3028,7 +3027,7 @@ estimated_loop_iterations (struct loop *loop, double_int *nit) bool max_loop_iterations (struct loop *loop, double_int *nit) { - estimate_numbers_of_iterations_loop (loop, true); + estimate_numbers_of_iterations_loop (loop); if (!loop->any_upper_bound) return false; @@ -3155,7 +3154,7 @@ estimated_stmt_executions (struct loop *loop, double_int *nit) /* Records estimates on numbers of iterations of loops. */ void -estimate_numbers_of_iterations (bool use_undefined_p) +estimate_numbers_of_iterations (void) { loop_iterator li; struct loop *loop; @@ -3166,7 +3165,7 @@ estimate_numbers_of_iterations (bool use_undefined_p) FOR_EACH_LOOP (li, loop, 0) { - estimate_numbers_of_iterations_loop (loop, use_undefined_p); + estimate_numbers_of_iterations_loop (loop); } fold_undefer_and_ignore_overflow_warnings (); @@ -3362,7 +3361,7 @@ scev_probably_wraps_p (tree base, tree step, valid_niter = fold_build2 (FLOOR_DIV_EXPR, unsigned_type, delta, step_abs); - estimate_numbers_of_iterations_loop (loop, true); + estimate_numbers_of_iterations_loop (loop); for (bound = loop->bounds; bound; bound = bound->next) { if (n_of_executions_at_most (at_stmt, bound, valid_niter)) |