1 void abort (void);
2 
parloop(int N)3 void parloop (int N)
4 {
5   int i, j;
6   int x[500][500];
7 
8   for (i = 0; i < N; i++)
9     for (j = 0; j < N; j++)
10       x[i][j] = i + j + 3;
11 
12   for (i = 0; i < N; i++)
13     for (j = 0; j < N; j++)
14       if (x[i][j] != i + j + 3)
15 	abort ();
16 }
17 
main(void)18 int main(void)
19 {
20   parloop(500);
21 
22   return 0;
23 }
24 
25 /* Check that parallel code generation part make the right answer.  */
26 /* { dg-final { scan-tree-dump-times "2 loops carried no dependency" 1 "graphite" } } */
27 /* { dg-final { cleanup-tree-dump "graphite" } } */
28 /* { dg-final { scan-tree-dump-times "loopfn" 5 "optimized" } } */
29 /* { dg-final { cleanup-tree-dump "parloops" } } */
30 /* { dg-final { cleanup-tree-dump "optimized" } } */
31