From: Eric Botcazou Date: Fri, 25 Feb 2011 11:18:14 +0000 (+0000) Subject: re PR tree-optimization/45470 (ICE: verify_flow_info failed: BB 2 can not throw but... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=822ba6d74fae9b7ec37971d69026c457a0293e31;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 000c08f4d75..030167f9bcd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2011-02-25 Eric Botcazou + + 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 * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS, diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 1ec59efaac6..2c9936cdbeb 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 e5bfcbe81ac..b3479252886 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);