(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
ipcp-self-recursion-1.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O3 -fno-early-inlining"  } */
       3  
       4  int array[128];
       5  
       6  volatile int v = 0;
       7  volatile int blah = 0;
       8  volatile int counter = 0;
       9  
      10  int __attribute__((noipa))
      11  obscured_one ()
      12  {
      13    return 1;
      14  }
      15  
      16  static void
      17  f (int c, int l)
      18  {
      19    int i;
      20    for (i = 0; i < c; i++)
      21      array[i] = 455;
      22  
      23    counter++;
      24    if (counter > 6)
      25      __builtin_abort ();
      26  
      27    v = l;
      28    if (l > 0)
      29      f (c, l - 1);
      30    blah = l;
      31  }
      32  
      33  int
      34  main (int argc, char *argv[])
      35  {
      36    int i;
      37    for (i = 0; i < 100; i++)
      38      {
      39        counter = 0;
      40        f (0, 5);
      41        if (obscured_one ())
      42  	break;
      43      }
      44  
      45    return 0;
      46  }