/* { dg-do compile } */ 
/* { dg-options "-O2 -fdump-tree-sink-stats" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */
extern int foo (int *, int *);
extern int foo2 (int);
int
main (int argc)
{
  int a, b, c;
  b = argc + 1;
  c = argc + 2;
  a = b + c;
  if (argc)
    {
      foo (&b, &c);
      a = b + c;
    }
  foo2 (a);
}
/* We should sink the first a = b + c calculation into the else branch  */
/* { dg-final { scan-tree-dump-times "Sunk statements:1" 1 "sink" } } */
/* { dg-final { cleanup-tree-dump "sink" } } */
