re PR tree-optimization/83202 (Try joining operations on consecutive array elements...
authorRichard Biener <rguenther@suse.de>
Wed, 29 Nov 2017 14:38:06 +0000 (14:38 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 29 Nov 2017 14:38:06 +0000 (14:38 +0000)
commitf7300fff74becf365cdadd23c9447521da852e84
treedb9b2a10fc6481be1fda9bfc85276cb2c9e9f376
parentd5ed6a87ed359a8706bdfcc6853dacc881249fec
re PR tree-optimization/83202 (Try joining operations on consecutive array elements during tree vectorization)

2017-11-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/83202
* tree-vect-slp.c (scalar_stmts_set_t): New typedef.
(bst_fail): Use it.
(vect_analyze_slp_cost_1): Add visited set, do not account SLP
nodes vectorized to the same stmts multiple times.
(vect_analyze_slp_cost): Allocate a visited set and pass it down.
(vect_analyze_slp_instance): Adjust.
(scalar_stmts_to_slp_tree_map_t): New typedef.
(vect_schedule_slp_instance): Add a map recording the SLP node
representing the vectorized stmts for a set of scalar stmts.
Avoid code-generating redundancies.
(vect_schedule_slp): Allocate map and pass it down.

* gcc.dg/vect/costmodel/x86_64/costmodel-pr83202.c: New testcase.

From-SVN: r255233
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/costmodel/x86_64/costmodel-pr83202.c [new file with mode: 0644]
gcc/tree-vect-slp.c