OSDN Git Service

2009-08-14 Paolo Bonzini <bonzini@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / graphite / graphite_autopar / force-parallel-6.c
1 #define N 500
2
3 int foo(void)
4 {
5   int i, j, k;
6   int X[2*N], Y[2*N], B[2*N];
7   int A[2*N][2*N], C[2*N][2*N];
8
9   for (i = 1; i <= N; i++)
10     {
11       X[i] = Y[i] + 10;
12       for (j = 1; j <= N; j++)
13         {
14           B[j] = A[j][N];
15           for (k = 1; k <= N; k++)
16             {
17               A[j+1][k] = B[j] + C[j][k];
18             }
19           Y[i+j] = A[j+1][N];
20         }
21     }
22
23   return A[1][5]*B[6];
24 }
25
26 int main(void)
27 {
28   foo();
29
30   return 0;
31 }
32
33 /* Check that parallel code generation part make the right answer.  */
34 /* { dg-final { scan-tree-dump-times "1 loops carried no dependency" 2 "graphite" } } */
35 /* { dg-final { cleanup-tree-dump "graphite" } } */
36 /* { dg-final { scan-tree-dump-times "loopfn.0" 5 "optimized" } } */
37 /* { dg-final { cleanup-tree-dump "parloops" } } */
38 /* { dg-final { cleanup-tree-dump "optimized" } } */