aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2011-02-25 11:18:14 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2011-02-25 11:18:14 +0000
commit822ba6d74fae9b7ec37971d69026c457a0293e31 (patch)
tree68df283b6fe0235c96f58e965ca1f423941e8ddd /gcc
parent79a0b1460c85e284fed830b770109c2dbad2a279 (diff)
downloadgcc-822ba6d74fae9b7ec37971d69026c457a0293e31.zip
gcc-822ba6d74fae9b7ec37971d69026c457a0293e31.tar.gz
gcc-822ba6d74fae9b7ec37971d69026c457a0293e31.tar.bz2
re PR tree-optimization/45470 (ICE: verify_flow_info failed: BB 2 can not throw but has an EH edge with -ftree-vectorize -fnon-call-exceptions)
PR tree-optimization/45470 * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement can throw internally only. * tree-vect-stmts.c (vectorizable_call): Likewise. From-SVN: r170492
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-vect-data-refs.c2
-rw-r--r--gcc/tree-vect-stmts.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 000c08f..030167f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-02-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/45470
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
+ can throw internally only.
+ * tree-vect-stmts.c (vectorizable_call): Likewise.
+
2011-02-24 Anatoly Sokolov <aesok@post.ru>
* config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 1ec59ef..2c9936c 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -2578,7 +2578,7 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo,
offset = unshare_expr (DR_OFFSET (dr));
init = unshare_expr (DR_INIT (dr));
- if (stmt_could_throw_p (stmt))
+ if (stmt_can_throw_internal (stmt))
{
if (vect_print_dump_info (REPORT_UNVECTORIZED_LOCATIONS))
{
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index e5bfcbe..b347925 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -1345,7 +1345,7 @@ vectorizable_call (gimple stmt, gimple_stmt_iterator *gsi, gimple *vec_stmt)
if (TREE_CODE (gimple_call_lhs (stmt)) != SSA_NAME)
return false;
- if (stmt_could_throw_p (stmt))
+ if (stmt_can_throw_internal (stmt))
return false;
vectype_out = STMT_VINFO_VECTYPE (stmt_info);