aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/gcc/tree-vect-analyze.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.4.3/gcc/tree-vect-analyze.c')
-rw-r--r--gcc-4.4.3/gcc/tree-vect-analyze.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc-4.4.3/gcc/tree-vect-analyze.c b/gcc-4.4.3/gcc/tree-vect-analyze.c
index 8c55fa737..87b2cabe3 100644
--- a/gcc-4.4.3/gcc/tree-vect-analyze.c
+++ b/gcc-4.4.3/gcc/tree-vect-analyze.c
@@ -1920,6 +1920,9 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
tree vectype = STMT_VINFO_VECTYPE (stmt_info);
int nelements = TYPE_VECTOR_SUBPARTS (vectype);
+ if (contains_abnormal_ssa_name_p (LOOP_VINFO_NITERS (loop_vinfo)))
+ return false;
+
if (known_alignment_for_access_p (dr0))
{
/* Since it's known at compile time, compute the number of iterations
@@ -2015,6 +2018,9 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
if (do_versioning)
{
+ if (contains_abnormal_ssa_name_p (LOOP_VINFO_NITERS (loop_vinfo)))
+ return false;
+
for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
{
stmt = DR_STMT (dr);