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



--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> 2012-10-23 
14:48:05 UTC ---

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);

Reply via email to