> > 
> > Here's the test case I'm looking at with -O2 -ftree-vectorize.
> > 
> 
> We will lose the restrict info here, and think that image1 and image2
> can point to the same thing, so we can't go further.

Sigh, we don't actually get to that point before we lose due to a
missing casezerodiff.diff

Attached will get you there.


Index: tree-data-ref.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/tree-data-ref.c,v
retrieving revision 2.42
diff -u -p -r2.42 tree-data-ref.c
--- tree-data-ref.c	15 Sep 2005 17:21:48 -0000	2.42
+++ tree-data-ref.c	18 Sep 2005 20:46:43 -0000
@@ -2497,7 +2497,17 @@ analyze_subscript_affine_affine (tree ch
   int init_a, init_b, gamma, gcd_alpha_beta;
   int tau1, tau2;
   lambda_matrix A, U, S;
+  tree difference = chrec_fold_minus (integer_type_node, chrec_a, chrec_b);
 
+  if (integer_zerop (difference))
+    {
+      /* The difference is equal to zero: the accessed index
+	 overlaps for each iteration in the loop.  */
+      *overlaps_a = integer_zero_node;
+      *overlaps_b = integer_zero_node;
+      *last_conflicts = chrec_dont_know;
+      return;
+    }
   if (dump_file && (dump_flags & TDF_DETAILS))
     fprintf (dump_file, "(analyze_subscript_affine_affine \n");
   

Reply via email to