1 /* { dg-do compile } */ 2 /* { dg-options "-O -fdump-tree-fre1" } */ 3 4 struct a 5 { 6 union 7 { 8 int a; 9 int b; 10 }; 11 union 12 { 13 int c; 14 int d; 15 }; 16 int e; 17 }; 18 f(struct a * c)19int f(struct a *c) 20 { 21 int d; 22 c->e = 2; 23 d = c->a; 24 c->c = 1; 25 return c->a + d; 26 } 27 28 /* We should have CSEd the load from c->a. */ 29 30 /* { dg-final { scan-tree-dump-times "c_.*\\\.a" 1 "fre1" } } */ 31