1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -fdump-tree-pre-stats" } */ 3 typedef int type[2]; foo(type * a,int argc)4int 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