aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-01-28 13:54:39 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-01-28 13:54:39 -0800
commit47e6ea667d23d2fd20ad3664e39654cc8a44502f (patch)
tree43b3092259aa69e29579b0bcb9441a5e97e7e0be /gcc
parentae20388c7d5fea2bbea463fa0057468aa4a3b311 (diff)
downloadgcc-47e6ea667d23d2fd20ad3664e39654cc8a44502f.zip
gcc-47e6ea667d23d2fd20ad3664e39654cc8a44502f.tar.gz
gcc-47e6ea667d23d2fd20ad3664e39654cc8a44502f.tar.bz2
haifa-sched.c (schedule_insns): Don't recompute reg info after reload.
* haifa-sched.c (schedule_insns): Don't recompute reg info after reload. From-SVN: r31675
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/haifa-sched.c5
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. */