(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
graphite/
pr20256.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -ftree-loop-linear" } */
       3  /* { dg-require-effective-target size32plus } */
       4  
       5  int foo()
       6  {
       7    int x[2][2], y[2];
       8    int i, n, s;
       9  
      10    /* This is a reduction: there is a scalar dependence that cannot be
      11       removed by rewriting IVs.  This code cannot and should not be
      12       transformed into a perfect loop.  */
      13    for (n = 0; n < 2; n++)
      14      {
      15        s = 0;
      16        for (i = 0; i < 2; i++)
      17          s += x[n][i]*y[i];
      18        s += 1;
      19      }
      20  
      21    return s;
      22  }