diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-11-14 15:05:37 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-11-14 15:05:37 +0000 |
commit | 1c84a2d25ecd4c03dde745f36a4762dd45f97c85 (patch) | |
tree | ade2b975bc48ad715b167c702ef02abc267644df /gcc/tree-vect-stmts.c | |
parent | e021fb865564b62a10adb1e98f75b5ea05058047 (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.c | 9 |
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; } |