(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
ssa-fre-100.c
       1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-fre1" } */
       3  
       4  float bar, baz;
       5  void foo (int *p, int n)
       6  {
       7    *p = 0;
       8    do
       9      {
      10        bar = 1.;
      11        /* When iterating we should have optimistically value-numbered
      12  	 *p to zero, on the second iteration we have to prove the
      13  	 store below does not affect the value of this load though.
      14  	 We can compare the stored value against the value from the
      15  	 previous iteration instead relying on a non-walking lookup.  */
      16        if (*p)
      17          {
      18            baz = 2.;
      19            *p = 0;
      20          }
      21      }
      22    while (--n);
      23  }
      24  
      25  /* { dg-final { scan-tree-dump-not "baz" "fre1" { xfail { ! natural_alignment_32 } } } } */