aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-im.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-12-10 13:42:12 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2010-12-10 13:42:12 +0100
commit6391db68149b57978967c220d6253a6bd04eb581 (patch)
tree7a112474bb4b7e4cee714fe39dc9c03ca0b0a989 /gcc/tree-ssa-loop-im.c
parent87e6d9dcaa2d39105bb0c2b621f9367bbb876f14 (diff)
downloadgcc-6391db68149b57978967c220d6253a6bd04eb581.zip
gcc-6391db68149b57978967c220d6253a6bd04eb581.tar.gz
gcc-6391db68149b57978967c220d6253a6bd04eb581.tar.bz2
re PR tree-optimization/46864 (ICE: verify_stmts failed: statement marked for throw, but doesn't with -fnon-call-exceptions)
PR tree-optimization/46864 * tree-ssa-loop-im.c (loop_suitable_for_sm): Return false even when there are EDGE_EH exit edges. * g++.dg/opt/pr46864.C: New test. From-SVN: r167685
Diffstat (limited to 'gcc/tree-ssa-loop-im.c')
-rw-r--r--gcc/tree-ssa-loop-im.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c
index 45902e5..30faeb9 100644
--- a/gcc/tree-ssa-loop-im.c
+++ b/gcc/tree-ssa-loop-im.c
@@ -2369,7 +2369,7 @@ loop_suitable_for_sm (struct loop *loop ATTRIBUTE_UNUSED,
edge ex;
FOR_EACH_VEC_ELT (edge, exits, i, ex)
- if (ex->flags & EDGE_ABNORMAL)
+ if (ex->flags & (EDGE_ABNORMAL | EDGE_EH))
return false;
return true;