From: Jan Hubicka Date: Mon, 16 Jun 2014 09:25:26 +0000 (+0200) Subject: tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again DECL_IN_CONSTANT_P... X-Git-Tag: upstream/12.2.0~62560 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6192fa791f5410b3ad9936c13da9992fe59631c7;p=platform%2Fupstream%2Fgcc.git tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN. * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN. From-SVN: r211700 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d5f6f89..abb63ac 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-06-15 Jan Hubicka + + * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Check again + DECL_IN_CONSTANT_POOL and TREE_ASM_WRITTEN. + 2014-06-16 Yury Gribov * asan.c (check_func): New function. @@ -38,8 +43,10 @@ 2014-06-15 Jan Hubicka + * c-family/c-common.c (handle_tls_model_attribute): Use set_decl_tls_model. * c-family/c-common.c (handle_tls_model_attribute): Use set_decl_tls_model. +>>>>>>> .r211699 * cgraph.h (struct varpool_node): Add tls_model. * tree.c (decl_tls_model, set_decl_tls_model): New functions. * tree.h (DECL_TLS_MODEL): Update. diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index ff02ff3..1d40055 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -5317,7 +5317,13 @@ vect_can_force_dr_alignment_p (const_tree decl, unsigned int alignment) if (TREE_CODE (decl) != VAR_DECL) return false; - gcc_assert (!TREE_ASM_WRITTEN (decl)); + /* With -fno-toplevel-reorder we may have already output the constant. */ + if (TREE_ASM_WRITTEN (decl)) + return false; + + /* Constant pool entries may be shared and not properly merged by LTO. */ + if (DECL_IN_CONSTANT_POOL (decl)) + return false; if (TREE_PUBLIC (decl) || DECL_EXTERNAL (decl)) {