On Thu, 25 Oct 2012, Jan Hubicka wrote:

> > >         * 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 :(

Please try to construct a testcase I can look at.

Richard.

Reply via email to