1 /* { dg-do compile } */
2 /* { dg-options "-O -fno-tree-sra -fdump-tree-fre1-stats" } */
3 
4 union loc {
5     unsigned reg;
6     signed offset;
7 };
__frame_state_for2(volatile char * state_in)8 void __frame_state_for2 (volatile char *state_in)
9 {
10     union loc fs;
11     {
12 	*state_in = fs.reg;
13 	*state_in = fs.offset;
14     }
15 }
__frame_state_for1(volatile char * state_in)16 void __frame_state_for1 (volatile char *state_in)
17 {
18     union loc fs;
19     for (;;)
20     {
21 	*state_in = fs.offset;
22 	*state_in = fs.reg;
23     }
24 }
25 
26 /* { dg-final { scan-tree-dump-times "Eliminated: 2" 2 "fre1" } } */
27 /* { dg-final { scan-tree-dump-times "Insertions: 1" 2 "fre1" } } */
28