diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2007-10-09 04:46:49 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2007-10-09 04:46:49 +0000 |
commit | 1e4cc5399f5eac720b03a5e19bbef6d0efae8e5d (patch) | |
tree | 1c3d8618ec1ca1d19bb2c545aed549b5af14522d | |
parent | 088371ac5bd0beaf476ecb9b722ff9e3700aef34 (diff) | |
download | gcc-1e4cc5399f5eac720b03a5e19bbef6d0efae8e5d.zip gcc-1e4cc5399f5eac720b03a5e19bbef6d0efae8e5d.tar.gz gcc-1e4cc5399f5eac720b03a5e19bbef6d0efae8e5d.tar.bz2 |
re PR tree-optimization/33572 (wrong code with -O)
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/tree-inline.c | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f3f200b..d275fbb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 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 * tree-sra.c (instantiate_element): Use BYTES_BIG_ENDIAN for bit-field layout. diff --git a/gcc/tree-inline.c b/gcc/tree-inline.c index 88c6158..f575b27 100644 --- a/gcc/tree-inline.c +++ b/gcc/tree-inline.c @@ -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))); |