aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2013-09-03 18:19:04 +0000
committerXinliang David Li <davidxl@gcc.gnu.org>2013-09-03 18:19:04 +0000
commitc716e67fa2df61cf4082c75088a0adc1a067d848 (patch)
tree564768cce71a061b16e27811fc16551567b1b217 /gcc/tree-vect-data-refs.c
parentdb8800bc5f38a732fd5a33d6bfbbff71b186076d (diff)
downloadgcc-c716e67fa2df61cf4082c75088a0adc1a067d848.zip
gcc-c716e67fa2df61cf4082c75088a0adc1a067d848.tar.gz
gcc-c716e67fa2df61cf4082c75088a0adc1a067d848.tar.bz2
Delay base decl's alignment adjustment until transformation happens
From-SVN: r202229
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index 7ebdcfe..8bd8aea 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -763,15 +763,11 @@ vect_compute_data_ref_alignment (struct data_reference *dr)
dump_generic_expr (MSG_NOTE, TDF_SLIM, ref);
}
- DECL_ALIGN (base) = TYPE_ALIGN (vectype);
- DECL_USER_ALIGN (base) = 1;
+ gcc_assert (dr->aux);
+ ((dataref_aux *)dr->aux)->base_decl = base;
+ ((dataref_aux *)dr->aux)->base_misaligned = true;
}
- /* At this point we assume that the base is aligned. */
- gcc_assert (base_aligned
- || (TREE_CODE (base) == VAR_DECL
- && DECL_ALIGN (base) >= TYPE_ALIGN (vectype)));
-
/* If this is a backward running DR then first access in the larger
vectype actually is N-1 elements before the address in the DR.
Adjust misalign accordingly. */