This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/46851] ICE: in compute_affine_dependence, at tree-data-ref.c:3897 with -fcheck-data-deps
- From: "spop at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 8 Jul 2011 04:25:56 +0000
- Subject: [Bug middle-end/46851] ICE: in compute_affine_dependence, at tree-data-ref.c:3897 with -fcheck-data-deps
- Auto-submitted: auto-generated
- References: <bug-46851-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46851
Sebastian Pop <spop at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P5
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.07.08 04:25:53
Ever Confirmed|0 |1
--- Comment #1 from Sebastian Pop <spop at gcc dot gnu.org> 2011-07-08 04:25:53 UTC ---
The testcase comes from pr39500-2.c where we have the extra information:
int main (void)
{
int i;
int x[1000];
for (i = 0; i < 101; i++)
x[i] = x[i+100];
return x[12];
}
/* This loop cannot be parallelized due to a dependence. */
> (Number of distance vectors differ: Banerjee has 1, Omega has 0.
> Banerjee dist vectors:
> 100
> Omega dist vectors:
> [empty]
So here we have Omega that has it wrong, there is a dependence
between the first iteration i = 0 reads a[100], and the last
iteration i = 100 writes the same location a[100]. The distance
of 100 is correctly computed by the Banerjee test.
As the Omega test is used only in -fcheck-data-deps, I have
lowered the importance of this bug.