cost invariant nodes from vect_slp_analyze_node_operations SLP walk
authorRichard Biener <rguenther@suse.de>
Mon, 18 May 2020 14:05:00 +0000 (16:05 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 19 May 2020 05:59:51 +0000 (07:59 +0200)
commita4b48fc47c3406b6f41be093c4615879b7006710
tree09caa8ff7272487ac96d1da0ef0b63c150f2efab
parent573e5f0500968dcf4025b8fc0ae5fb367f9c70d9
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.
gcc/ChangeLog
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h