]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/33572 (wrong code with -O)
authorAlexandre Oliva <aoliva@redhat.com>
Tue, 9 Oct 2007 04:46:49 +0000 (04:46 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Tue, 9 Oct 2007 04:46:49 +0000 (04:46 +0000)
PR tree-optimization/33572
* tree-inline.c (update_ssa_across_abnormal_edges): Tolerate
the absence of a corresponding edge from the exit block.

From-SVN: r129151

gcc/ChangeLog
gcc/tree-inline.c

index f3f200b47f28d7a16a53f479072e1ef9c7b28f50..d275fbb437dfe47eb81deec9330e7fce0e326b0f 100644 (file)
@@ -1,3 +1,9 @@
+2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/33572
+       * tree-inline.c (update_ssa_across_abnormal_edges): Tolerate
+       the absence of a corresponding edge from the exit block.
+
 2007-10-09  Alexandre Oliva  <aoliva@redhat.com>
 
        PR middle-end/22156
index 88c615861b47471fe591c6e810720e30a6b29d60..f575b27b82f8e489380b3d015f4f48d92fa95ad6 100644 (file)
@@ -1055,7 +1055,8 @@ update_ssa_across_abnormal_edges (basic_block bb, basic_block ret_bb,
              }
 
            re = find_edge (ret_bb, e->dest);
-           gcc_assert (re);
+           if (!re)
+             continue;
            gcc_assert ((re->flags & (EDGE_EH | EDGE_ABNORMAL))
                        == (e->flags & (EDGE_EH | EDGE_ABNORMAL)));