/* { dg-do compile } */ 
/* { dg-options "-O2 -fdump-tree-pre-stats" } */
/* LLVM LOCAL test not applicable */
/* { dg-require-fdump "" } */
int main(int **a,int argc)
{
  int b;
  int d, e;

  if (argc)
    {
      d = *(*a);
    }
  else
    {

    }
  /* Should be able to eliminate one of the *(*a)'s along the if path 
     by pushing it into the else path. We will also eliminate
     one of the *a's.  */
  e = *(*a);
  return d + e;
}

/* { dg-final { scan-tree-dump-times "Eliminated: 2" 1 "pre"} } */
/* { dg-final { cleanup-tree-dump "pre" } } */
