diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-07-03 10:25:22 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-07-03 10:25:22 +0200 |
commit | a7b3509eb6aa51d696be5edba6f4e451ceff03a0 (patch) | |
tree | 18fdfea0a32e9d6ffd8e5b7473c2100bf0e930ec /gcc/tree-vectorizer.h | |
parent | 49d0d5fc6f893804061894202596933e0c396705 (diff) | |
download | gcc-a7b3509eb6aa51d696be5edba6f4e451ceff03a0.zip gcc-a7b3509eb6aa51d696be5edba6f4e451ceff03a0.tar.gz gcc-a7b3509eb6aa51d696be5edba6f4e451ceff03a0.tar.bz2 |
re PR tree-optimization/91033 (ICE in vect_analyze_loop, at tree-vect-loop.c:2416)
PR tree-optimization/91033
* tree-vectorizer.h (vect_mark_stmts_to_be_vectorized,
vect_analyze_data_refs): Add bool * arguments.
* tree-vect-data-refs.c (vect_analyze_data_refs): Add fatal argument,
if failure is due to scatter/gather, set *fatal to false if non-NULL.
* tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
* tree-vect-loop.c (vect_analyze_loop_2): Adjust
vect_mark_stmts_to_be_vectorized and vect_analyze_data_refs callers.
* tree-vect-slp.c (vect_slp_analyze_bb_1): Adjust
vect_analyze_data_refs caller.
* gcc.target/i386/pr91033.c: New test.
From-SVN: r272989
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index 5fc8f9f..0dd29f8 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -1501,7 +1501,7 @@ extern unsigned record_stmt_cost (stmt_vector_for_cost *, int, extern stmt_vec_info vect_finish_replace_stmt (stmt_vec_info, gimple *); extern stmt_vec_info vect_finish_stmt_generation (stmt_vec_info, gimple *, gimple_stmt_iterator *); -extern opt_result vect_mark_stmts_to_be_vectorized (loop_vec_info); +extern opt_result vect_mark_stmts_to_be_vectorized (loop_vec_info, bool *); extern tree vect_get_store_rhs (stmt_vec_info); extern tree vect_get_vec_def_for_operand_1 (stmt_vec_info, enum vect_def_type); extern tree vect_get_vec_def_for_operand (tree, stmt_vec_info, tree = NULL); @@ -1559,7 +1559,7 @@ extern bool vect_check_gather_scatter (stmt_vec_info, loop_vec_info, gather_scatter_info *); extern opt_result vect_find_stmt_data_reference (loop_p, gimple *, vec<data_reference_p> *); -extern opt_result vect_analyze_data_refs (vec_info *, poly_uint64 *); +extern opt_result vect_analyze_data_refs (vec_info *, poly_uint64 *, bool *); extern void vect_record_base_alignments (vec_info *); extern tree vect_create_data_ref_ptr (stmt_vec_info, tree, struct loop *, tree, tree *, gimple_stmt_iterator *, |