aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-10-02 09:21:57 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-10-02 09:21:57 +0000
commit291fa23ac04e317877c1e102937532f080180bb2 (patch)
tree37c3d9a34979bc154b7de76b287aaf55d62a5b4c /gcc/tree-vectorizer.h
parent1bcb4c4faa4bd6b1c917c75b100d618faf9e628c (diff)
downloadgcc-291fa23ac04e317877c1e102937532f080180bb2.zip
gcc-291fa23ac04e317877c1e102937532f080180bb2.tar.gz
gcc-291fa23ac04e317877c1e102937532f080180bb2.tar.bz2
tree-vectorizer.h (stmt_vec_info_type::cycle_phi_info_type): New.
2019-10-02 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (stmt_vec_info_type::cycle_phi_info_type): New. (vect_transform_cycle_phi): Declare. * tree-vect-stmts.c (vect_transform_stmt): Call vect_transform_cycle_phi. * tree-vect-loop.c (vectorizable_reduction): Split out PHI transformation stage to ... (vect_transform_cycle_phi): ... here. From-SVN: r276441
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 462a968..eae9d4c 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -694,6 +694,7 @@ enum stmt_vec_info_type {
type_promotion_vec_info_type,
type_demotion_vec_info_type,
type_conversion_vec_info_type,
+ cycle_phi_info_type,
lc_phi_info_type,
loop_exit_ctrl_vec_info_type
};
@@ -1658,6 +1659,8 @@ extern bool vectorizable_reduction (stmt_vec_info, gimple_stmt_iterator *,
extern bool vectorizable_induction (stmt_vec_info, gimple_stmt_iterator *,
stmt_vec_info *, slp_tree,
stmt_vector_for_cost *);
+extern bool vect_transform_cycle_phi (stmt_vec_info, stmt_vec_info *,
+ slp_tree, slp_instance);
extern bool vectorizable_lc_phi (stmt_vec_info, stmt_vec_info *, slp_tree);
extern bool vect_worthwhile_without_simd_p (vec_info *, tree_code);
extern int vect_get_known_peeling_cost (loop_vec_info, int, int *,