re PR rtl-optimization/19210 (not using do-loop for some loops)
commitf9cc1a70d51e2874055417fd0153e4434f0d9d89
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 21 Jul 2005 07:24:34 +0000 (21 07:24 +0000)
committerPaolo Bonzini <bonzini@gcc.gnu.org>
Thu, 21 Jul 2005 07:24:34 +0000 (21 07:24 +0000)
tree1ae11d72157fada15be9c9e63cd5c9c48811abca
parentcb83c2ec4187b1781ea17180267bcfe90f5e0e9c
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
14 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/common.opt
gcc/doc/invoke.texi
gcc/loop-iv.c
gcc/predict.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr19210-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/pr19210-2.c [new file with mode: 0644]
gcc/tree-flow.h
gcc/tree-scalar-evolution.c
gcc/tree-ssa-loop-ivcanon.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-loop-niter.c