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 }; 17 f(struct a * c)18int f(struct a *c) 19 { 20 int d = c->a; 21 c->c = 1; 22 return c->a + d; 23 } 24 25 /* We should have CSEd the load from c->a. */ 26 27 /* { dg-final { scan-tree-dump-times "c_.*\\\.a" 1 "fre1" } } */ 28