]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cfgloopanal.c
tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use argument "reliable".
authorZdenek Dvorak <dvorakz@suse.cz>
Fri, 6 Apr 2007 23:11:15 +0000 (01:11 +0200)
committerZdenek Dvorak <rakdver@gcc.gnu.org>
Fri, 6 Apr 2007 23:11:15 +0000 (23:11 +0000)
commitac84e05eb6a3cc6f2da0816537b5cbd5a5d58f1b
tree6e9884d45709a7814b362ea6e6dbf57ecb1ab63e
parent64199a9eedbd34833b7712d6da13d117fa3ef9f4
tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use argument "reliable".

* tree-ssa-loop-niter.c (idx_infer_loop_bounds): Add and use
argument "reliable".
(infer_loop_bounds_from_ref, infer_loop_bounds_from_array):
Add argument "reliable".  Propagate it through calls.
(infer_loop_bounds_from_undefined):  Derive number of iterations
estimates from references in blocks that do not dominate loop latch.
(gcov_type_to_double_int): New function.
(estimate_numbers_of_iterations_loop): Use gcov_type_to_double_int
and expected_loop_iterations_unbounded.
* cfgloopanal.c (expected_loop_iterations_unbounded): New function.
(expected_loop_iterations): Use expected_loop_iterations_unbounded.
* tree-data-ref.c (estimated_loop_iterations): Export.
(get_references_in_stmt): Fix -- do not return addresses of local
objects.
* cfgloop.h (expected_loop_iterations_unbounded,
estimated_loop_iterations): Declare.

From-SVN: r123630
gcc/ChangeLog
gcc/cfgloop.h
gcc/cfgloopanal.c
gcc/tree-data-ref.c
gcc/tree-ssa-loop-niter.c