> >         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Add 
> > edge_to_cancel
> >         parameter and use it to estimate code optimized out in the final 
> > iteration.
> >         (loop_edge_to_cancel): New function.
> >         (try_unroll_loop_completely): New IRRED_IVALIDATED parameter;
> >         handle unrolling loops with bounds given via max_loop_iteratins;
> >         handle unrolling non-inner loops when code size shrinks;
> >         tidy dump output; when the last iteration loop still stays
> >         as loop in the CFG forcongly redirect the latch to
> >         __builtin_unreachable.
> >         (canonicalize_loop_induction_variables): Add irred_invlaidated
> >         parameter; record niter bound derrived; dump
> >         max_loop_iterations bounds; call try_unroll_loop_completely
> >         even if no niter bound is given.
> >         (canonicalize_induction_variables): Handle irred_invalidated.
> >         (tree_unroll_loops_completely): Handle non-innermost loops;
> >         handle irred_invalidated.
> >         * cfgloop.h (unlop): Declare.
> >         * cfgloopmanip.c (unloop): Export.
> >         * tree.c (build_common_builtin_nodes): Build BULTIN_UNREACHABLE.
> >
> 
> This caused:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55051
Oops, I did not really anticipated this to happen during profiledbootstrap, but 
I
discussed the problem in
http://gcc.gnu.org/ml/gcc-patches/2012-10/msg01103.html
I suppose we will need to find porper fix for this long lasting issue more
urgently now :(

Honza
> 
> 
> -- 
> H.J.

Reply via email to