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.

Reply via email to