------- Comment #3 from spop at gcc dot gnu dot org  2007-06-20 16:57 -------
Subject: Re:  can't determine dependence between p->a[x+i] and p->a[x+i+1]
where x is invariant but defined in the function

The problem has been introduced in version 124927.

@@ -3182,7 +3182,7 @@ access_functions_are_affine_or_constant_

   for (i = 0; VEC_iterate (tree, fns, i, t); i++)
     if (!evolution_function_is_constant_p (t)
-       && !evolution_function_is_affine_multivariate_p (t))
+       && !evolution_function_is_affine_multivariate_p (t, 0))
       return false;

   return true;

The problem is that this line is saying that t has to be an affine
function with respect to the outermost loop_0.  That means {x, +, 1}_2
with x defined in loop_0, will be considered as non affine, just
because x is varying in loop_0.  So in the above patch, we have to
replace all these zeros with some other loop number...


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32075

Reply via email to