diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-06-16 11:25:26 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-06-16 09:25:26 +0000 |
commit | 6192fa791f5410b3ad9936c13da9992fe59631c7 (patch) | |
tree | 29caf4f477a95e9fc2d2b3e2954b896b9706df2d /gcc/tree-vect-data-refs.c | |
parent | 8946c29ea82657cb45e26209c839623294009bde (diff) | |
download | gcc-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/tree-vect-data-refs.c')
-rw-r--r-- | gcc/tree-vect-data-refs.c | 8 |
1 files changed, 7 insertions, 1 deletions
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)) { |