(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
ipa-sra-30.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-ipa-sra"  } */
       3  struct list
       4  {
       5  	 struct list *next;
       6  	 int val;
       7  };
       8  __attribute__ ((noinline))
       9  static int reta (int *a)
      10  {
      11  	return *a;
      12  }
      13  __attribute__ ((noinline))
      14  static int
      15  kill(struct list *l, int *a)
      16  {
      17  	int v;
      18  	while (l)
      19  	{
      20  		v = l->val;
      21  		l=l->next;
      22  	}
      23  	return reta (a) + v;
      24  }
      25  int
      26  test(struct list *l, int *a)
      27  {
      28  	return kill (l, a);
      29  }
      30  /* Loop in kill may be infinite; do not SRA.  */
      31  /* { dg-final { scan-ipa-dump-not "Created new node kill.isra"  "sra"  } } */