aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2021-10-26 12:31:09 +0200
committerRichard Biener <rguenther@suse.de>2021-10-26 12:33:28 +0200
commit6adfdff68b1fef146b97c39d4b9d8db59d498837 (patch)
treea5831103c2563803dca1b14418920aeba119f312 /gcc/tree-vect-stmts.c
parent94f28340513753ba94ab483e93ce1d096842a5ad (diff)
downloadgcc-6adfdff68b1fef146b97c39d4b9d8db59d498837.zip
gcc-6adfdff68b1fef146b97c39d4b9d8db59d498837.tar.gz
gcc-6adfdff68b1fef146b97c39d4b9d8db59d498837.tar.bz2
Unify offset and byte_offset for vect_create_addr_base_for_vector_ref
Now that both are measured in bytes we can unify the two parameters. 2021-10-26 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (vect_create_addr_base_for_vector_ref): Remove byte_offset parameter. (vect_create_data_ref_ptr): Likewise. * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Likewise. (vect_create_data_ref_ptr): Likewise. * tree-vect-stmts.c (vectorizable_store): Adjust. (vectorizable_load): Likewise.
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 3cd338a..bf07e7a 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -8110,7 +8110,7 @@ vectorizable_store (vec_info *vinfo,
= vect_create_data_ref_ptr (vinfo, first_stmt_info, aggr_type,
simd_lane_access_p ? loop : NULL,
offset, &dummy, gsi, &ptr_incr,
- simd_lane_access_p, NULL_TREE, bump);
+ simd_lane_access_p, bump);
}
else
{
@@ -8518,7 +8518,6 @@ vectorizable_load (vec_info *vinfo,
unsigned int group_size;
poly_uint64 group_gap_adj;
tree msq = NULL_TREE, lsq;
- tree byte_offset = NULL_TREE;
tree realignment_token = NULL_TREE;
gphi *phi = NULL;
vec<tree> dr_chain = vNULL;
@@ -9290,6 +9289,7 @@ vectorizable_load (vec_info *vinfo,
bool diff_first_stmt_info
= first_stmt_info_for_drptr && first_stmt_info != first_stmt_info_for_drptr;
+ tree offset = NULL_TREE;
if ((alignment_support_scheme == dr_explicit_realign_optimized
|| alignment_support_scheme == dr_explicit_realign)
&& !compute_in_loop)
@@ -9306,17 +9306,18 @@ vectorizable_load (vec_info *vinfo,
if (alignment_support_scheme == dr_explicit_realign_optimized)
{
phi = as_a <gphi *> (SSA_NAME_DEF_STMT (msq));
- byte_offset = size_binop (MINUS_EXPR, TYPE_SIZE_UNIT (vectype),
- size_one_node);
+ offset = size_binop (MINUS_EXPR, TYPE_SIZE_UNIT (vectype),
+ size_one_node);
gcc_assert (!first_stmt_info_for_drptr);
}
}
else
at_loop = loop;
- tree offset = NULL_TREE;
if (!known_eq (poffset, 0))
- offset = size_int (poffset);
+ offset = (offset
+ ? size_binop (PLUS_EXPR, offset, size_int (poffset))
+ : size_int (poffset));
tree bump;
tree vec_offset = NULL_TREE;
@@ -9374,7 +9375,7 @@ vectorizable_load (vec_info *vinfo,
= vect_create_data_ref_ptr (vinfo, first_stmt_info_for_drptr,
aggr_type, at_loop, offset, &dummy,
gsi, &ptr_incr, simd_lane_access_p,
- byte_offset, bump);
+ bump);
/* Adjust the pointer by the difference to first_stmt. */
data_reference_p ptrdr
= STMT_VINFO_DATA_REF (first_stmt_info_for_drptr);
@@ -9406,8 +9407,7 @@ vectorizable_load (vec_info *vinfo,
= vect_create_data_ref_ptr (vinfo, first_stmt_info, aggr_type,
at_loop,
offset, &dummy, gsi, &ptr_incr,
- simd_lane_access_p,
- byte_offset, bump);
+ simd_lane_access_p, bump);
if (mask)
vec_mask = vec_masks[0];
}