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