This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/55079] [4.8 regression] false positive -Warray-bounds
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 02 Nov 2012 16:35:01 +0000
- Subject: [Bug tree-optimization/55079] [4.8 regression] false positive -Warray-bounds
- Auto-submitted: auto-generated
- References: <bug-55079-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55079
--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-11-02 16:35:01 UTC ---
Author: hubicka
Date: Fri Nov 2 16:34:52 2012
New Revision: 193098
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=193098
Log:
PR middle-end/55079
* tree-ssa-loop-niter.c (number_of_iterations_exit): Update
MAX field if NITER was folded to contant.
(record_estimate): Sanity check.
* tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): New
function.
(remove_redundant_iv_test): New function.
(loops_to_unloop, loops_to_unloop_nunroll): New static vars.
(unloop_loops): Break out from ...
(try_unroll_loop_completely): ... here; Pass in MAXITER; use
remove_exits_and_undefined_stmts; do not unloop.
(canonicalize_loop_induction_variables): Compute MAXITER;
use remove_redundant_iv_test; remove loop_close_ssa_invalidated
and irred_invalidated arguments.
(canonicalize_induction_variables): Compute fresh bound estimates;
unloop; walk from innermost.
(tree_unroll_loops_completely): Likewise.
* gcc.dg/tree-ssa/cunroll-10.c: New testcase.
* gcc.dg/tree-ssa/cunroll-9.c: New testcase.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/cunroll-10.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/cunroll-9.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-ssa-loop-ivcanon.c
trunk/gcc/tree-ssa-loop-niter.c