1  /* { dg-do compile } */ 
       2  /* { dg-options "-O2 -fdump-tree-pre-stats -std=c99 -fno-tree-loop-im" } */
       3  int foo(int k, int *x)
       4  {
       5    int j=0;
       6    int res = 0;
       7    /* We should pull res = *x all the way out of the do-while */
       8    do {
       9      for (int n=0;n<3;++n);
      10      res = *x;
      11    }  while (++j<k);
      12    return res;
      13  }
      14  /* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "pre"} } */