(root)/
gcc-13.2.0/
libgomp/
testsuite/
libgomp.graphite/
force-parallel-8.c
       1  /* { dg-additional-options "-fno-thread-jumps --param max-stores-to-sink=0" } */
       2  
       3  #define N 1500
       4  
       5  int x[N][N], y[N];
       6  
       7  void abort (void);
       8  
       9  int foo(void)
      10  {
      11    int i, j;
      12  
      13    for (i = 0; i < N; i++)
      14      y[i] = i;
      15  
      16    for (i = 0; i < N; i++)
      17      for (j = 0; j < N; j++)
      18        x[i][j] = i + j;
      19  
      20    for (i = 0; i < N; i++)
      21      {
      22        y[i] = i;
      23  
      24        for (j = 0; j < N; j++)
      25  	{
      26  	  if (j > 500)
      27  	    {
      28  	      x[i][j] = i + j + 3;
      29  	      y[j] = i*j + 10;
      30  	    }
      31  	  else
      32  	    x[i][j] = x[i][j]*3;
      33  	}
      34      }
      35  
      36    return x[2][5]*y[8];
      37  }
      38  
      39  int main(void)
      40  {
      41    if (168 != foo())
      42      abort ();
      43  
      44    return 0;
      45  }
      46  
      47  /* Check that parallel code generation part make the right answer.  */
      48  /* { dg-final { scan-tree-dump-times "5 loops carried no dependency" 1 "graphite" } } */
      49  /* { dg-final { scan-tree-dump-times "loopfn.0" 4 "optimized" } } */
      50  /* { dg-final { scan-tree-dump-times "loopfn.1" 4 "optimized" } } */