diff options
author | Richard Biener <rguenther@suse.de> | 2019-09-30 11:59:16 +0000 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2019-09-30 11:59:16 +0000 |
commit | e12ec63d175ed03624bdbb80c57a5f72a7481c25 (patch) | |
tree | 7b3dbdbfe377d426f7d2bdb1eb1b6441279a7e6a /gcc/tree-vectorizer.h | |
parent | 6d52d09c71f2fd599768fef7e77a4c59944b237f (diff) |
2019-09-30 Richard Biener <rguenther@suse.de>
* gimple.c (gimple_get_lhs): For PHIs return the result.
* tree-vectorizer.h (vectorizable_live_operation): Also get the
SLP instance as argument.
* tree-vect-loop.c (vect_analyze_loop_operations): Also handle
double-reduction PHIs with vectorizable_lc_phi.
(vect_analyze_loop_operations): Adjust.
(vect_create_epilog_for_reduction): Remove all code not dealing
with reduction LC PHI or epilogue generation.
(vectorizable_live_operation): Call vect_create_epilog_for_reduction
for live stmts of reductions.
* tree-vect-stmts.c (vectorizable_condition): When !for_reduction
do not handle defs that are not vect_internal_def.
(can_vectorize_live_stmts): Adjust.
(vect_analyze_stmt): When the vectorized stmt defined a value
used on backedges adjust the backedge uses of vectorized PHIs.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@276299 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r-- | gcc/tree-vectorizer.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h index d9171c0a3e8..462a968f2ba 100644 --- a/gcc/tree-vectorizer.h +++ b/gcc/tree-vectorizer.h @@ -1649,7 +1649,8 @@ extern class loop *vect_transform_loop (loop_vec_info); extern opt_loop_vec_info vect_analyze_loop_form (class loop *, vec_info_shared *); extern bool vectorizable_live_operation (stmt_vec_info, gimple_stmt_iterator *, - slp_tree, int, stmt_vec_info *, + slp_tree, slp_instance, int, + stmt_vec_info *, stmt_vector_for_cost *); extern bool vectorizable_reduction (stmt_vec_info, gimple_stmt_iterator *, stmt_vec_info *, slp_tree, slp_instance, |