diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2005-07-21 07:24:34 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2005-07-21 07:24:34 +0000 |
commit | f9cc1a70d51e2874055417fd0153e4434f0d9d89 (patch) | |
tree | 1ae11d72157fada15be9c9e63cd5c9c48811abca /gcc/predict.c | |
parent | cb83c2ec4187b1781ea17180267bcfe90f5e0e9c (diff) | |
download | gcc-f9cc1a70d51e2874055417fd0153e4434f0d9d89.zip gcc-f9cc1a70d51e2874055417fd0153e4434f0d9d89.tar.gz gcc-f9cc1a70d51e2874055417fd0153e4434f0d9d89.tar.bz2 |
re PR rtl-optimization/19210 (not using do-loop for some loops)
gcc:
2005-07-21 Paolo Bonzini <bonzini@gnu.org>
Zdenek Dvorak <dvorakz@suse.cz>
PR tree-optimization/19210
* common.opt (Wunsafe-loop-optimizations, funsafe-loop-optimizations):
New.
* Makefile.in (tree-ssa-loop-niter.o): Depend intl.o.
* loop-iv.c (get_simple_loop_desc): If -funsafe-loop-optimizations,
rely on unproven assumptions.
* predict.c (predict_loops): Adjust call to number_of_iterations_exit.
* tree-flow.h (number_of_iterations_exit): Add final parameter.
* tree-scalar-evolution.c (number_of_iterations_in_loop): Adjust call
to number_of_iterations_exit.
* tree-ssa-loop-ivcanon.c (empty_loop_p): Likewise.
* tree-ssa-loop-ivopts.c (niter_for_exit): Likewise.
* tree-ssa-loop-niter.c (find_loop_niter,
estimate_numbers_of_iterations_loop): Likewise.
(number_of_iterations_exit): Honor the new options.
* doc/invoke.texi (Wunsafe-loop-optimizations,
funsafe-loop-optimizations): Document them.
gcc/testsuite:
2005-07-21 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/tree-ssa/pr19210-1.c: New.
* gcc.dg/tree-ssa/pr19210-2.c: New.
Co-Authored-By: Zdenek Dvorak <dvorakz@suse.cz>
From-SVN: r102225
Diffstat (limited to 'gcc/predict.c')
-rw-r--r-- | gcc/predict.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/predict.c b/gcc/predict.c index a448c04..9fc8f45 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -643,7 +643,7 @@ predict_loops (struct loops *loops_info, bool rtlsimpleloops) { tree niter = NULL; - if (number_of_iterations_exit (loop, exits[j], &niter_desc)) + if (number_of_iterations_exit (loop, exits[j], &niter_desc, false)) niter = niter_desc.niter; if (!niter || TREE_CODE (niter_desc.niter) != INTEGER_CST) niter = loop_niter_by_eval (loop, exits[j]); |