]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/autopar/outer-2.c
cfgloopmanip.c (duplicate_subloops): Export.
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / autopar / outer-2.c
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
6 void parloop (int N)
7 {
8 int i, j,ii;
9 int x[400][10][400];
10
11 for (ii = 0; ii < N; ii++)
12 for (i = 0; i < N; i++)
13 for (j = 0; j < N; j++)
14 x[i][j][ii] = ii+i + j + 3;
15
16 for (ii = 0; ii < N; ii++)
17 for (i = 0; i < N;i++)
18 for (j = 0; j < N; j++)
19 if (x[i][j][ii] != ii+i + j + 3)
20 abort ();
21 }
22
23 int main(void)
24 {
25 parloop(400);
26
27 return 0;
28 }
29
30 /* { dg-final { scan-tree-dump-times "parallelizing outer loop" 1 "parloops" } } */
31 /* { dg-final { scan-tree-dump-times "loopfn" 5 "optimized" } } */
32 /* { dg-final { cleanup-tree-dump "parloops" } } */
33 /* { dg-final { cleanup-tree-dump "optimized" } } */