http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54980



--- Comment #9 from Dmitry G. Dyachenko <dimhen at gmail dot com> 2012-10-24 
10:00:18 UTC ---

(In reply to comment #7)

> This does not seem to reproduce for me. The following patch should however fix

> it.

> Index: tree-ssa-loop-ivcanon.c

> ===================================================================

> --- tree-ssa-loop-ivcanon.c     (revision 192711)

> +++ tree-ssa-loop-ivcanon.c     (working copy)

> @@ -364,6 +364,10 @@ loop_edge_to_cancel (struct loop *loop)

>         else

>           edge_to_cancel = EDGE_SUCC (edge_to_cancel->src, 0);

> 

> +      /* We only can handle conditionals.  */

> +      if (!(edge_to_cancel->flags & (EDGE_TRUE_VALUE | EDGE_FALSE_VALUE)))

> +       continue;

> +

>        /* We should never have conditionals in the loop latch. */

>        gcc_assert (edge_to_cancel->dest != loop->header);



i'll try patch. Thank You

Reply via email to