(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
ipa/
ipa-sra-9.c
       1  /* { dg-do run } */
       2  /* { dg-options "-O3" } */
       3  
       4  typedef unsigned int myint __attribute__((aligned(1)));
       5  
       6  typedef struct S {
       7    unsigned a, b, c;
       8  } SS;
       9  
      10  typedef struct U {
      11    SS s[2];
      12  } UU;
      13  
      14  typedef UU __attribute__((aligned(1))) UUU;
      15  
      16  static unsigned int __attribute__ ((noinline))
      17  get_a (SS s)
      18  {
      19    return s.a;
      20  };
      21  
      22  static int __attribute__ ((noinline, noclone))
      23  foo (UUU *p)
      24  {
      25    int r = (int) get_a(p->s[0]) + 2;
      26    return r;
      27  }
      28  
      29  char buf[512];
      30  
      31  static UUU * __attribute__ ((noinline, noclone))
      32  get_uuu (void)
      33  {
      34    return (UUU *)(buf + 1);
      35  }
      36  
      37  int
      38  main(int argc, char *argv[])
      39  {
      40    UUU *p = get_uuu();
      41    if (foo(p) != 2)
      42      __builtin_abort ();
      43    return 0;
      44  }