summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-16.c
blob: b087dc1b45c20398d3544d59caaad103a513124c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* { dg-do compile } */ 
/* { dg-options "-O2 -fdump-tree-pre-stats -std=c99" } */
int foo(int k, int *x)
{
  int j=0;
  int res = 0;
  /* We should pull res = *x all the way out of the do-while */
  do {
    for (int n=0;n<3;++n);
    res = *x;
  }  while (++j<k);
  return res;
}
/* { dg-final { scan-tree-dump-times "Eliminated: 1" 1 "pre"} } */
/* { dg-final { cleanup-tree-dump "pre" } } */