summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-11-14 15:05:37 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-11-14 15:05:37 +0000
commit1c84a2d25ecd4c03dde745f36a4762dd45f97c85 (patch)
treeade2b975bc48ad715b167c702ef02abc267644df /gcc/tree-vect-stmts.c
parente021fb865564b62a10adb1e98f75b5ea05058047 (diff)
Replace vec_info::vector_size with vec_info::vector_mode
This patch replaces vec_info::vector_size with vec_info::vector_mode, but for now continues to use it as a way of specifying a single vector size. This makes it easier for later patches to use related_vector_mode instead. 2019-11-14 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vectorizer.h (vec_info::vector_size): Replace with... (vec_info::vector_mode): ...this new field. * tree-vect-loop.c (vect_update_vf_for_slp): Update accordingly. (vect_analyze_loop, vect_transform_loop): Likewise. * tree-vect-loop-manip.c (vect_do_peeling): Likewise. * tree-vect-slp.c (can_duplicate_and_interleave_p): Likewise. (vect_make_slp_decision, vect_slp_bb_region): Likewise. * tree-vect-stmts.c (get_vectype_for_scalar_type): Likewise. * tree-vectorizer.c (try_vectorize_loop_1): Likewise. gcc/testsuite/ * gcc.dg/vect/vect-tail-nomask-1.c: Update expected epilogue vectorization message. From-SVN: r278237
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 15c798d1fa2..43b2b0fa84e 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -11226,11 +11226,10 @@ tree
get_vectype_for_scalar_type (vec_info *vinfo, tree scalar_type)
{
tree vectype;
- vectype = get_vectype_for_scalar_type_and_size (scalar_type,
- vinfo->vector_size);
- if (vectype
- && known_eq (vinfo->vector_size, 0U))
- vinfo->vector_size = GET_MODE_SIZE (TYPE_MODE (vectype));
+ poly_uint64 vector_size = GET_MODE_SIZE (vinfo->vector_mode);
+ vectype = get_vectype_for_scalar_type_and_size (scalar_type, vector_size);
+ if (vectype && vinfo->vector_mode == VOIDmode)
+ vinfo->vector_mode = TYPE_MODE (vectype);
return vectype;
}