1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-fre1 -fdump-tree-optimized" } */
3 
4 int i;
5 
6 void foo (void);
bar(void)7 void bar (void)
8 {
9   int j;
10   i = 0;
11   for (j = 0; j < 10000; j++)
12     if (i)
13       foo ();
14 }
15 
16 /* Everything except for the "i = 0" assignment should get removed.  Value
17    numbering already figures out the if in the loop is never true.  */
18 /* { dg-final { scan-tree-dump-times "foo" 0 "fre1" } } */
19 /* { dg-final { scan-tree-dump-times "if" 0 "optimized" } } */
20