aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vectorizer.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-05-18 16:05:00 +0200
committerRichard Biener <rguenther@suse.de>2020-05-19 07:59:51 +0200
commita4b48fc47c3406b6f41be093c4615879b7006710 (patch)
tree09caa8ff7272487ac96d1da0ef0b63c150f2efab /gcc/tree-vectorizer.h
parent573e5f0500968dcf4025b8fc0ae5fb367f9c70d9 (diff)
downloadgcc-a4b48fc47c3406b6f41be093c4615879b7006710.zip
gcc-a4b48fc47c3406b6f41be093c4615879b7006710.tar.gz
gcc-a4b48fc47c3406b6f41be093c4615879b7006710.tar.bz2
cost invariant nodes from vect_slp_analyze_node_operations SLP walk
2020-05-19 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (_slp_tree::vectype): Add field. (SLP_TREE_VECTYPE): New. * tree-vect-slp.c (vect_create_new_slp_node): Initialize SLP_TREE_VECTYPE. (vect_create_new_slp_node): Likewise. (vect_prologue_cost_for_slp): Move here from tree-vect-stmts.c and simplify. (vect_slp_analyze_node_operations): Walk nodes children for invariant costing. (vect_get_constant_vectors): Use local scope op variable. * tree-vect-stmts.c (vect_prologue_cost_for_slp_op): Remove here. (vect_model_simple_cost): Adjust. (vect_model_store_cost): Likewise. (vectorizable_store): Likewise.
Diffstat (limited to 'gcc/tree-vectorizer.h')
-rw-r--r--gcc/tree-vectorizer.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.h b/gcc/tree-vectorizer.h
index 9b2cbe6..38a0a1d 100644
--- a/gcc/tree-vectorizer.h
+++ b/gcc/tree-vectorizer.h
@@ -130,6 +130,7 @@ struct _slp_tree {
permutation. */
vec<unsigned> load_permutation;
+ tree vectype;
/* Vectorized stmt/s. */
vec<stmt_vec_info> vec_stmts;
/* Number of vector stmts that are created to replace the group of scalar
@@ -186,6 +187,7 @@ public:
#define SLP_TREE_LOAD_PERMUTATION(S) (S)->load_permutation
#define SLP_TREE_TWO_OPERATORS(S) (S)->two_operators
#define SLP_TREE_DEF_TYPE(S) (S)->def_type
+#define SLP_TREE_VECTYPE(S) (S)->vectype
/* Key for map that records association between
scalar conditions and corresponding loop mask, and