diff options
author | Richard Biener <rguenther@suse.de> | 2016-11-09 08:08:58 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-11-09 08:08:58 +0000 |
commit | 5b3fa6a166eb8027b6e77343a347929767da329d (patch) | |
tree | d73468701ed020594664e1eded4d95e84649d947 /gcc | |
parent | d6e8a41c87c7534697f680c7846d1e108aef51f4 (diff) | |
download | gcc-5b3fa6a166eb8027b6e77343a347929767da329d.zip gcc-5b3fa6a166eb8027b6e77343a347929767da329d.tar.gz gcc-5b3fa6a166eb8027b6e77343a347929767da329d.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-vect-data-refs.c | 9 |
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a76e3e8..a96c955 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index f014d68..220dc30 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -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 ()) |