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