aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDorit Naishlos <dorit@il.ibm.com>2004-11-30 13:19:54 +0000
committerDorit Nuzman <dorit@gcc.gnu.org>2004-11-30 13:19:54 +0000
commitd75bf0cab42169239902ddadcdb4f35a3fd5a35d (patch)
treed060cfed08727b698c904d1e568016ba783a57b5 /gcc
parent9b09c842b5339a624677754bdadf377ccf944bf4 (diff)
downloadgcc-d75bf0cab42169239902ddadcdb4f35a3fd5a35d.zip
gcc-d75bf0cab42169239902ddadcdb4f35a3fd5a35d.tar.gz
gcc-d75bf0cab42169239902ddadcdb4f35a3fd5a35d.tar.bz2
tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for decls that are assembled before vectorization takes place.
* tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for decls that are assembled before vectorization takes place. (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1. From-SVN: r91517
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/tree-vectorizer.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ff6a404..bade2ff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2004-11-30 Dorit Naishlos <dorit@il.ibm.com>
+
+ PR tree-opt/18173
+ * tree-vectorizer.c (vect_can_force_dr_alignment_p): Return false for
+ decls that are assembled before vectorization takes place.
+ (vect_compute_data_ref_alignment): Set DECL_USER_ALIGN to 1.
+
2004-11-30 Ulrich Weigand <uweigand@de.ibm.com>
* passes.c (rest_of_handle_old_regalloc): Delete unreachable blocks
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c
index 5773993..d476d81 100644
--- a/gcc/tree-vectorizer.c
+++ b/gcc/tree-vectorizer.c
@@ -1509,6 +1509,9 @@ vect_can_force_dr_alignment_p (tree decl, unsigned int alignment)
if (DECL_EXTERNAL (decl))
return false;
+ if (TREE_ASM_WRITTEN (decl))
+ return false;
+
if (TREE_STATIC (decl))
return (alignment <= MAX_OFILE_ALIGNMENT);
else
@@ -4130,7 +4133,7 @@ vect_compute_data_ref_alignment (struct data_reference *dr,
if (vect_debug_details (NULL))
fprintf (dump_file, "force alignment");
DECL_ALIGN (base) = TYPE_ALIGN (vectype);
- DECL_USER_ALIGN (base) = TYPE_ALIGN (vectype);
+ DECL_USER_ALIGN (base) = 1;
}
/* At this point we assume that the base is aligned, and the offset from it