1  /* { dg-require-effective-target size32plus } */
       2  
       3  #define DEBUG 0
       4  
       5  #if DEBUG
       6  #include <stdio.h>
       7  #endif
       8  
       9  #define N 1000
      10  int a[N][N];
      11  
      12  static int __attribute__((noinline))
      13  foo (void)
      14  {
      15    int j;
      16    int i;
      17  
      18    for (i = 0; i < N; i++)
      19      for (j = 0; j < N; j++)
      20        a[j][i] = a[j][i] + 1;
      21  
      22    return a[N-1][N-1];
      23  }
      24  
      25  extern void abort ();
      26  
      27  int
      28  main (void)
      29  {
      30    int i, j, res;
      31  
      32    for (i = 0; i < N; i++)
      33      for (j = 0; j < N; j++)
      34        a[i][j] = 1;
      35  
      36    a[N-1][N-1] = 12;
      37    res = foo ();
      38  
      39  #if DEBUG
      40    fprintf (stderr, "res = %d \n", res);
      41  #endif
      42  
      43    if (res != 13)
      44      abort ();
      45  
      46    return 0;
      47  }
      48  
      49  /* { dg-final { scan-tree-dump "tiled by" "graphite" } } */