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

Reply via email to