(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
alias-31.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fno-tree-sra -fdump-tree-cddce1" } */
       3  
       4  extern int posix_memalign(void **memptr,
       5  			  __SIZE_TYPE__ alignment, __SIZE_TYPE__ size);
       6  
       7  int foo (float *p)
       8  {
       9    int res = *p;
      10    struct { void *q1; void *q2; } q;
      11    if (posix_memalign (&q.q1, 128, 128 * sizeof (int)) != 0)
      12      return 0;
      13    if (posix_memalign (&q.q2, 128, 128 * sizeof (int)) != 0)
      14      return 0;
      15    *((int *)q.q1) = 1;
      16    *((int *)q.q2) = 2;
      17    return res + *p + *((int *)q.q1) + *((int *)q.q2);
      18  }
      19  
      20  /* There should be only one load from *p left.  All stores and all
      21     other loads should be removed.  */
      22  
      23  /* { dg-final { scan-tree-dump-times "\\\*\[^ \]" 1 "cddce1" } } */