From f78c792cb51746c035a3d3f613fd89f1453f0f1e Mon Sep 17 00:00:00 2001 From: Jeffrey A Law Date: Tue, 5 May 1998 00:15:50 +0000 Subject: [PATCH] reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes for any insns skipped at the start of a block... * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes for any insns skipped at the start of a block because they were redundant. From-SVN: r19534 --- gcc/ChangeLog | 6 ++++++ gcc/reorg.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7e04af59406..0b36736c7c8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com) + + * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes + for any insns skipped at the start of a block because they were + redundant. + Mon May 4 20:23:51 1998 Jim Wilson * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000. diff --git a/gcc/reorg.c b/gcc/reorg.c index 68486b0ffec..4cea552d7cf 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -3665,8 +3665,16 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely, && ! insn_sets_resource_p (new_thread, &needed, 1) && ! insn_references_resource_p (new_thread, &set, 1) - && redundant_insn (new_thread, insn, delay_list)) - new_thread = next_active_insn (new_thread); + && (prior_insn + = redundant_insn (new_thread, insn, + delay_list))) + { + /* We know we do not own the thread, so no need + to call update_block and delete_insn. */ + fix_reg_dead_note (prior_insn, insn); + update_reg_unused_notes (prior_insn, new_thread); + new_thread = next_active_insn (new_thread); + } break; } -- 2.30.2