Remove SLP_INSTANCE_GROUP_SIZE
authorRichard Biener <rguenther@suse.de>
Fri, 21 Feb 2020 09:40:25 +0000 (10:40 +0100)
committerRichard Biener <rguenther@suse.de>
Wed, 13 May 2020 13:26:45 +0000 (15:26 +0200)
commitab5934a8fe1dc70030fd73703c0fb6c68e96b086
tree0c72e0cd5770bfdeea7d86edc5dc862f2f416861
parent9b56828c573910e4210fa05138ddf5aabb8e4b03
Remove SLP_INSTANCE_GROUP_SIZE

This removes the SLP_INSTANCE_GROUP_SIZE member since the number of
lanes throughout a SLP subgraph is not necessarily constant.

2020-05-13  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (SLP_INSTANCE_GROUP_SIZE): Remove.
(_slp_instance::group_size): Likewise.
* tree-vect-loop.c (vectorizable_reduction): The group size
is the number of lanes in the node.
* tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Likewise.
(vect_analyze_slp_instance): Do not set SLP_INSTANCE_GROUP_SIZE,
verify it matches the instance trees number of lanes.
(vect_slp_analyze_node_operations_1): Use the numer of lanes
in the node as group size.
(vect_bb_vectorization_profitable_p): Use the instance root
number of lanes for the size of life.
(vect_schedule_slp_instance): Use the number of lanes as
group_size.
* tree-vect-stmts.c (vectorizable_load): Remove SLP instance
parameter.  Use the number of lanes of the load for the group
size in the gap adjustment code.
(vect_analyze_stmt): Adjust.
(vect_transform_stmt): Likewise.
gcc/ChangeLog
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.h