(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
inline-5.c
       1  /* Check statements that are eliminated by inlining.  */
       2  /* { dg-do compile } */
       3  /* { dg-options "-O2 -fdump-ipa-fnsummary-details -fno-early-inlining -fno-partial-inlining -fno-ipa-cp"  } */
       4  
       5  struct a {int a,b,c,d,e;};
       6  void t(int);
       7  void t2();
       8  
       9  void
      10  accessfield (struct a a)
      11  {
      12    t(a.a);
      13      /* Should compile as:
      14         tmp = a.a
      15  	 Will be eliminated by inlining
      16         t (tmp);  */
      17    t2(&a);
      18    t(a.a);
      19    return;
      20      /* Will be eliminated by inlining */
      21  }
      22  void
      23  accessreference (struct a *a)
      24  {
      25    t(a->a);
      26      /* Should compile as:
      27         a.0_1 = a;
      28  	 Will be eliminated by inlining
      29         tmp = a.0_1->a;
      30  	 50% will be eliminated by inlining 
      31         t (tmp)  */
      32    t2(&a);
      33    return;
      34      /* Will be eliminated by inlining */
      35  }
      36  
      37  /* { dg-final { scan-ipa-dump-times "Will be eliminated" 4 "fnsummary" { xfail { { hppa*-*-* } && { ! lp64 } } } } } */
      38  /* { dg-final { scan-ipa-dump-times "50. will be eliminated" 1 "fnsummary"  } } */