OSDN Git Service

PR middle-end/20256
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / ltrans-2.c
1 /* { dg-do compile } */ 
2 /* { dg-options "-O2 -ftree-loop-linear -fdump-tree-ltrans-all" } */
3 /* { dg-require-effective-target size32plus } */
4
5 double u[1782225];
6 int foo(int N, int *res)
7 {
8   unsigned int i, j;
9   double sum = 0;
10   
11   /* This loop should be converted to a perfect nest and
12      interchanged.  */
13   for (i = 0; i < N; i++)
14     {
15       for (j = 0; j < N; j++)
16         {
17           sum = sum + u[i + 1335 * j];
18           if (j == N - 1)
19             u[1336 * i] *= 2;
20         }
21     }
22   *res = sum + N;
23 }
24 /* { dg-final { scan-tree-dump-times "transformed loop" 1 "ltrans"} {
25    xfail *-*-*} } */ 
26 /* { dg-final { cleanup-tree-dump "ltrans" } } */