tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
authorRichard Biener <rguenther@suse.de>
Thu, 23 Apr 2015 08:43:10 +0000 (08:43 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 23 Apr 2015 08:43:10 +0000 (08:43 +0000)
commit2e8ab70c2eee7a912ac74b57c47e7bc32f9f1198
tree187d843f1d350584c321a0b83e66ab240069b775
parentb0dd8c90ff1a4a50e21b4b2918c7484f36106947
tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.

2015-04-23  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
(vect_find_last_store_in_slp_instance): Rename to ...
(vect_find_last_scalar_stmt_in_slp): ... this and generalize.
(vect_analyze_slp_cost_1): Use vector_load for constant defs
and vec_construct for external defs when estimating prologue cost.
(vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
Compute costs here only when vectorizing loops.
(vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
have been determined.
(vect_schedule_slp_instance): Simplify vectorized code placement
and prepare for in-BB external defs.
* tree-vectorizer.h (struct _slp_instance): Remove first_load member.
(SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
* tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
guard.
(vect_model_load_cost): Likewise.
(vectorizable_store): Instead add it here.
(vectorizable_load): Likewise.
(vect_is_simple_use): Dump def type textually.

From-SVN: r222354
gcc/ChangeLog
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h