tree-vect-data-refs.c (vect_compute_data_ref_alignment): Look at the DR_BASE_ADDRESS object for forcing alignment.

2016-11-09  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
	Look at the DR_BASE_ADDRESS object for forcing alignment.

From-SVN: r241991
This commit is contained in:
Richard Biener 2016-11-09 08:08:58 +00:00 committed by Richard Biener
parent d6e8a41c87
commit 5b3fa6a166
2 changed files with 8 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2016-11-09 Richard Biener <rguenther@suse.de>
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Look at the DR_BASE_ADDRESS object for forcing alignment.
2016-11-09 Kugan Vivekanandarajah <kuganv@linaro.org>
* ipa-cp.c (ipa_get_jf_pass_through_result): Handle unary expressions.

View File

@ -813,12 +813,9 @@ vect_compute_data_ref_alignment (struct data_reference *dr)
if (base_alignment < TYPE_ALIGN (vectype))
{
/* Strip an inner MEM_REF to a bare decl if possible. */
if (TREE_CODE (base) == MEM_REF
&& integer_zerop (TREE_OPERAND (base, 1))
&& TREE_CODE (TREE_OPERAND (base, 0)) == ADDR_EXPR)
base = TREE_OPERAND (TREE_OPERAND (base, 0), 0);
base = base_addr;
if (TREE_CODE (base) == ADDR_EXPR)
base = TREE_OPERAND (base, 0);
if (!vect_can_force_dr_alignment_p (base, TYPE_ALIGN (vectype)))
{
if (dump_enabled_p ())