aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-06-16 11:25:26 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2014-06-16 09:25:26 +0000
commit6192fa791f5410b3ad9936c13da9992fe59631c7 (patch)
tree29caf4f477a95e9fc2d2b3e2954b896b9706df2d /gcc
parent8946c29ea82657cb45e26209c839623294009bde (diff)
downloadgcc-6192fa791f5410b3ad9936c13da9992fe59631c7.zip
gcc-6192fa791f5410b3ad9936c13da9992fe59631c7.tar.gz
gcc-6192fa791f5410b3ad9936c13da9992fe59631c7.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-vect-data-refs.c8
2 files changed, 14 insertions, 1 deletions
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 <hubicka@ucw.cz>
+
+ * 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 <y.gribov@samsung.com>
* asan.c (check_func): New function.
@@ -38,8 +43,10 @@
2014-06-15 Jan Hubicka <hubicka@ucw.cz>
+ * 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))
{