This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32075] can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function
- From: "spop at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jun 2007 16:57:50 -0000
- Subject: [Bug tree-optimization/32075] can't determine dependence between p->a[x+i] and p->a[x+i+1] where x is invariant but defined in the function
- References: <bug-32075-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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