summaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-06 08:38:46 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2013-03-06 08:38:46 +0000
commit90a674ebdf23f03210ef377b9e2e5d7cde19ab18 (patch)
tree0c0d6fed824666c1b5d24f35a6c17f5c48e0c057 /gcc/tree-vect-data-refs.c
parente4182cc9142fbf73e3d37deb4fd6eb113b65d899 (diff)
downloadgcc-90a674ebdf23f03210ef377b9e2e5d7cde19ab18.tar.gz
2013-03-06 Richard Biener <rguenther@suse.de>
PR middle-end/50494 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Do not adjust alignment of DECL_IN_CONSTANT_POOL decls. Revert 2013-02-13 Richard Biener <rguenther@suse.de> PR lto/50494 * varasm.c (output_constant_def_1): Get the decl representing the constant as argument. (output_constant_def): Wrap output_constant_def_1. (make_decl_rtl): Use output_constant_def_1 with the decl representing the constant. (build_constant_desc): Optionally re-use a decl already representing the constant. (tree_output_constant_def): Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196487 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index fe009acac97..fdb73c3212b 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -4829,9 +4829,12 @@ vect_can_force_dr_alignment_p (const_tree decl, unsigned int alignment)
/* We cannot change alignment of common or external symbols as another
translation unit may contain a definition with lower alignment.
The rules of common symbol linking mean that the definition
- will override the common symbol. */
+ will override the common symbol. The same is true for constant
+ pool entries which may be shared and are not properly merged
+ by LTO. */
if (DECL_EXTERNAL (decl)
- || DECL_COMMON (decl))
+ || DECL_COMMON (decl)
+ || DECL_IN_CONSTANT_POOL (decl))
return false;
if (TREE_ASM_WRITTEN (decl))