diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/ChangeLog | 3 | ||||
| -rw-r--r-- | gcc/haifa-sched.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c39ab7f..c1e8282 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -4,6 +4,9 @@ * flow.c (mark_regs_live_at_end): Likewise. Force BLKmode FUNCTION_VALUE result to DECL_RESULT's mode. + * haifa-sched.c (schedule_insns): Don't recompute reg info + after reload. + 2000-01-28 Zack Weinberg <zack@wolery.cumb.org> * configure.in: Make --enable-cpplib the default. diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index b2ff9d6..2c9adf2 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -6975,8 +6975,11 @@ schedule_insns (dump_file) SET_BIT (blocks, rgn_bb_table[RGN_BLOCKS (rgn)]); RESET_BIT (large_region_blocks, rgn_bb_table[RGN_BLOCKS (rgn)]); + /* Don't update reg info after reload, since that affects + regs_ever_live, which should not change after reload. */ update_life_info (blocks, UPDATE_LIFE_LOCAL, - PROP_DEATH_NOTES | PROP_REG_INFO); + (reload_completed ? PROP_DEATH_NOTES + : PROP_DEATH_NOTES | PROP_REG_INFO)); /* In the single block case, the count of registers that died should not have changed during the schedule. */ |
