diff options
author | Richard Guenther <rguenther@suse.de> | 2012-03-16 16:48:31 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2012-03-16 16:48:31 +0000 |
commit | d66823158e896f40597005f456cb4fdf8420470e (patch) | |
tree | 8377c5eb91e9a58400aa462140824b6b6b291164 /gcc/tree-vect-data-refs.c | |
parent | 0a1c20dcc6232d2d9ac536c2e75214a8bc0bda02 (diff) | |
download | gcc-d66823158e896f40597005f456cb4fdf8420470e.zip gcc-d66823158e896f40597005f456cb4fdf8420470e.tar.gz gcc-d66823158e896f40597005f456cb4fdf8420470e.tar.bz2 |
re PR middle-end/52603 (Test failures in gcc.dg/vect: vectorizing unaligned access)
2012-03-16 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52603
* tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Clarify
comment.
Revert
2012-03-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/52571
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
flag_section_anchors check ...
(vect_can_force_dr_alignment_p): ... here.
From-SVN: r185474
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index 9b66d86..d6bfe6c 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -872,7 +872,12 @@ vect_compute_data_ref_alignment (struct data_reference *dr) if (!base_aligned) { - if (!vect_can_force_dr_alignment_p (base, TYPE_ALIGN (vectype))) + /* Do not change the alignment of global variables here if + flag_section_anchors is enabled as we already generated + RTL for other functions. Most global variables should + have been aligned during the IPA increase_alignment pass. */ + if (!vect_can_force_dr_alignment_p (base, TYPE_ALIGN (vectype)) + || (TREE_STATIC (base) && flag_section_anchors)) { if (vect_print_dump_info (REPORT_DETAILS)) { @@ -4554,11 +4559,6 @@ vect_can_force_dr_alignment_p (const_tree decl, unsigned int alignment) if (TREE_ASM_WRITTEN (decl)) return false; - /* Do not change the alignment of global variables if flag_section_anchors - is enabled. */ - if (TREE_STATIC (decl) && flag_section_anchors) - return false; - if (TREE_STATIC (decl)) return (alignment <= MAX_OFILE_ALIGNMENT); else |