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
This commit is contained in:
Eric Botcazou 2011-02-25 11:18:14 +00:00 committed by Eric Botcazou
parent 79a0b1460c
commit 822ba6d74f
3 changed files with 9 additions and 2 deletions

View file

@ -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,

View file

@ -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))
{

View file

@ -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);