1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-pre-stats" } */
3 typedef int type[2];
foo(type * a,int argc)4 int foo(type *a, int argc)
5 {
6   type c = {0, 1};
7   int d, e;
8 
9   /* Should be able to eliminate the second load of *a and the add of zero
10      along the main path. */
11   d = (*a)[0];
12   if (argc)
13     {
14       a = &c;
15     }
16   e = (*a)[0];
17   return d + e;
18 }
19 /* { dg-final { scan-tree-dump-times "Eliminated: 2" 1 "pre"} } */
20