1 /* { dg-do compile } */
2 /* { dg-options "-O2 -ftree-parallelize-loops=4 -fdump-tree-parloops-details -fdump-tree-optimized" } */
3 
4 void abort (void);
5 
parloop(int N)6 void parloop (int N)
7 {
8   int i, j;
9   int x[10000][10000];
10 
11   for (i = 0; i < N; i++)
12     for (j = 0; j < N; j++)
13       x[i][j] = i + j + 3;
14 
15   for (i = 0; i < N; i++)
16     for (j = 0; j < N; j++)
17       if (x[i][j] != i + j + 3)
18 	abort ();
19 }
20 
main(void)21 int main(void)
22 {
23   parloop(10000);
24 
25   return 0;
26 }
27 
28 
29 /* Check that outer loop is parallelized.  */
30 /* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
31 /* { dg-final { scan-tree-dump-times "loopfn" 4 "optimized" } } */
32 /* { dg-final { cleanup-tree-dump "parloops" } } */
33 /* { dg-final { cleanup-tree-dump "optimized" } } */
34