1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-uncprop-details -w" } */
       3  
       4  /* We're looking for a constant argument a PHI node.  There
       5     should only be one if we unpropagate correctly.  */
       6  /* { dg-final { scan-tree-dump-times "<1\|, 1" 1 "uncprop1"} } */
       7  
       8  typedef long unsigned int size_t;
       9  typedef union gimple_statement_d *gimple;
      10  unsigned char
      11  propagate_with_phi ()
      12  {
      13    gimple use_stmt;
      14    unsigned char phi_inserted;
      15    phi_inserted = 0;
      16    for (; !end_imm_use_stmt_p (); next_imm_use_stmt ())
      17      {
      18        if (!(arf () == 10 && boo () == 20))
      19          continue;
      20        if (!phi_inserted)
      21          phi_inserted = 1;
      22        else
      23          update_stmt ();
      24      }
      25  }
      26