diff options
author | Jeffrey A Law <law@cygnus.com> | 1998-05-05 00:15:50 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-05-04 18:15:50 -0600 |
commit | f78c792cb51746c035a3d3f613fd89f1453f0f1e (patch) | |
tree | f8b7943c8b025bf8bdbde096bb589f4a986f0c92 /gcc/reorg.c | |
parent | 4330b0e77d631d8f594efac33d2a3b6fd4757b2c (diff) | |
download | gcc-f78c792cb51746c035a3d3f613fd89f1453f0f1e.zip gcc-f78c792cb51746c035a3d3f613fd89f1453f0f1e.tar.gz gcc-f78c792cb51746c035a3d3f613fd89f1453f0f1e.tar.bz2 |
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
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c index 68486b0..4cea552 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; } |