Commit da157e2e by Richard Sandiford Committed by Richard Sandiford

Avoid setting current_vector_size in get_vec_alignment_for_array_type

The increase_alignment pass was using get_vectype_for_scalar_type
to get the preferred vector type for each array element type.
This has the effect of carrying over the vector size chosen by
the first successful call to all subsequent calls, whereas it seems
more natural to treat each array type independently and pick the
"best" vector type for each element type.

2019-10-21  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* tree-vectorizer.c (get_vec_alignment_for_array_type): Use
	get_vectype_for_scalar_type_and_size instead of
	get_vectype_for_scalar_type.

From-SVN: r277223
parent 5bf2f162
2019-10-21 Richard Sandiford <richard.sandiford@arm.com>
* tree-vectorizer.c (get_vec_alignment_for_array_type): Use
get_vectype_for_scalar_type_and_size instead of
get_vectype_for_scalar_type.
2019-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
* common.opt (-fcommon): Fix description.
......
......@@ -1347,7 +1347,8 @@ get_vec_alignment_for_array_type (tree type)
gcc_assert (TREE_CODE (type) == ARRAY_TYPE);
poly_uint64 array_size, vector_size;
tree vectype = get_vectype_for_scalar_type (strip_array_types (type));
tree scalar_type = strip_array_types (type);
tree vectype = get_vectype_for_scalar_type_and_size (scalar_type, 0);
if (!vectype
|| !poly_int_tree_p (TYPE_SIZE (type), &array_size)
|| !poly_int_tree_p (TYPE_SIZE (vectype), &vector_size)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment