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/tree-ssa-loop-ivcanon.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/tree-ssa-loop-ivcanon.c')
-rw-r--r-- | gcc/tree-ssa-loop-ivcanon.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-ivcanon.c b/gcc/tree-ssa-loop-ivcanon.c index 4d02baa..e8a94d6 100644 --- a/gcc/tree-ssa-loop-ivcanon.c +++ b/gcc/tree-ssa-loop-ivcanon.c @@ -393,7 +393,7 @@ empty_loop_p (struct loop *loop) return false; /* The loop must be finite. */ - if (!number_of_iterations_exit (loop, exit, &niter)) + if (!number_of_iterations_exit (loop, exit, &niter, false)) return false; /* Values of all loop exit phi nodes must be invariants. */ |