------- Comment #1 from nemokingdom at gmail dot com 2009-03-19 01:27 -------
(In reply to comment #0)
> autopar fails auto-parallelization with the code below:
>
> int X[1000];
>
> int main(void)
> {
> int i;
>
> for (i = 0; i < 100; i++)
> X[i] = X[i+100];
>
> return 0;
> }
>
This bug basically about x1 and y1 not allowed to be in between zero and niter
- 1. This seems to be an typical off by one error.
x1 and y1 not allowed to be in between zero and niter - 1. This seems to
be an typical off by one error.
Index: tree-data-ref.c
===================================================================
--- tree-data-ref.c (revision 144721)
+++ tree-data-ref.c (working copy)
@@ -2292,7 +2292,7 @@
/* If the overlap occurs outside of the bounds of the
loop, there is no dependence. */
- if (x1 > niter || y1 > niter)
+ if (x1 >= niter || y1 >= niter)
{
*overlaps_a = conflict_fn_no_dependence ();
*overlaps_b = conflict_fn_no_dependence ();
--
nemokingdom at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39500