aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tree-ssa/ssa-ccp-14.c
blob: 65e2d5a664bb4d746b4b439973b564de2a4ef436 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-fre1 -fdump-tree-optimized" } */

int i;

void foo (void);
void bar (void)
{
  int j;
  i = 0;
  for (j = 0; j < 10000; j++)
    if (i)
      foo ();
}

/* Everything except for the "i = 0" assignment should get removed.  Value
   numbering already figures out the if in the loop is never true.  */
/* { dg-final { scan-tree-dump-times "foo" 0 "fre1" } } */
/* { dg-final { scan-tree-dump-times "if" 0 "optimized" } } */