aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2016-11-09 08:08:58 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2016-11-09 08:08:58 +0000
commit5b3fa6a166eb8027b6e77343a347929767da329d (patch)
treed73468701ed020594664e1eded4d95e84649d947 /gcc
parentd6e8a41c87c7534697f680c7846d1e108aef51f4 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/tree-vect-data-refs.c9
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 ())