(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
ipa-sra-10.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fno-ipa-cp -fipa-sra -fdump-ipa-sra"  } */
       3  
       4  extern void consume (int);
       5  extern int glob, glob1, glob2;
       6  extern int get (void);
       7  
       8  
       9  static void __attribute__ ((noinline))
      10  foo (int a)
      11  {
      12    a = glob;
      13    consume (a);
      14    a = get ();
      15    consume (a);
      16    __asm__ volatile("" : : ""(a));
      17    consume (a);
      18  
      19    if (glob1)
      20      a = glob1;
      21    else
      22      a = glob2;
      23    consume (a);
      24  }
      25  
      26  int
      27  bar (int a)
      28  {
      29    foo (a);
      30    glob = a;
      31    return 0;
      32  }
      33  
      34  /* { dg-final { scan-ipa-dump "Will remove parameter 0" "sra" } } */