(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ira-shrinkwrap-prep-2.c
       1  /* { dg-do compile { target { { { i?86-*-* x86_64-*-* } && lp64 } || { { powerpc*-*-* && lp64 } || { arm_nothumb || { aarch64*-*-* && lp64 } } } } } } */
       2  /* { dg-options "-O3 -fdump-rtl-ira -fdump-rtl-pro_and_epilogue -fno-ipa-ra"  } */
       3  
       4  long __attribute__((noinline, noclone))
       5  foo (long a)
       6  {
       7    return a + 5;
       8  }
       9  
      10  static long g;
      11  
      12  long __attribute__((noinline, noclone))
      13  bar (long a)
      14  {
      15    long r;
      16  
      17    if (a)
      18      {
      19        r = a;
      20        while (r < 500)
      21  	if (r % 2)
      22  	  r = foo (r);
      23  	else
      24  	  r = foo (r+1);
      25        g = r + a;
      26      }
      27    else
      28      r = g+1;
      29    return r;
      30  }
      31  
      32  /* { dg-final { scan-rtl-dump "Will split live ranges of parameters" "ira" } } */
      33  /* { dg-final { scan-rtl-dump "Split live-range of register" "ira" { xfail *-*-* } } } */
      34  /* XFAIL due to PR70681.  */ 
      35  /* { dg-final { scan-rtl-dump "Performing shrink-wrapping" "pro_and_epilogue" { xfail arm*-*-* powerpc*-*-* } } } */