1/* { dg-do compile } */ 2/* { dg-options "-O2 -fdump-tree-pre-stats -std=c99" } */ 3int 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"} } */ 15/* { dg-final { cleanup-tree-dump "pre" } } */ 16