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