diff options
author | Richard Biener <rguenther@suse.de> | 2020-02-21 10:40:25 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-05-13 15:26:45 +0200 |
commit | ab5934a8fe1dc70030fd73703c0fb6c68e96b086 (patch) | |
tree | 0c72e0cd5770bfdeea7d86edc5dc862f2f416861 /gcc/tree-vect-loop.c | |
parent | 9b56828c573910e4210fa05138ddf5aabb8e4b03 (diff) | |
download | gcc-ab5934a8fe1dc70030fd73703c0fb6c68e96b086.zip gcc-ab5934a8fe1dc70030fd73703c0fb6c68e96b086.tar.gz gcc-ab5934a8fe1dc70030fd73703c0fb6c68e96b086.tar.bz2 |
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.
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r-- | gcc/tree-vect-loop.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 180790a..a1f52dc 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -6574,7 +6574,7 @@ vectorizable_reduction (loop_vec_info loop_vinfo, which each SLP statement has its own initial value and in which that value needs to be repeated for every instance of the statement within the initial vector. */ - unsigned int group_size = SLP_INSTANCE_GROUP_SIZE (slp_node_instance); + unsigned int group_size = SLP_TREE_SCALAR_STMTS (slp_node).length (); if (!neutral_op && !can_duplicate_and_interleave_p (loop_vinfo, group_size, TREE_TYPE (vectype_out))) |