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