| 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 |