aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-01-03 07:59:13 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-01-03 07:59:13 -0500
commita7ad699e3d7d831cc16bda7cbce61e74a93b3cfc (patch)
tree0285e0c207e8c43e55fdc273563caefa340f2b2c
parent1de9b9763f5ec5897c4954c831c7320607a56410 (diff)
downloadgcc-a7ad699e3d7d831cc16bda7cbce61e74a93b3cfc.zip
gcc-a7ad699e3d7d831cc16bda7cbce61e74a93b3cfc.tar.gz
gcc-a7ad699e3d7d831cc16bda7cbce61e74a93b3cfc.tar.bz2
(fill_slots_from_thread): Skip moved insn in all three cases.
From-SVN: r13355
-rw-r--r--gcc/reorg.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/gcc/reorg.c b/gcc/reorg.c
index 637830b..8f08afb 100644
--- a/gcc/reorg.c
+++ b/gcc/reorg.c
@@ -1,5 +1,5 @@
/* Perform instruction reorganizations for delay slot filling.
- Copyright (C) 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1992, 93, 94, 95, 96, 1997 Free Software Foundation, Inc.
Contributed by Richard Kenner (kenner@vlsi1.ultra.nyu.edu).
Hacked by Michael Tiemann (tiemann@cygnus.com).
@@ -3594,6 +3594,12 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely,
if (own_thread)
{
update_block (trial, thread);
+ if (trial == thread)
+ {
+ thread = next_active_insn (thread);
+ if (new_thread == trial)
+ new_thread = thread;
+ }
delete_insn (trial);
}
else
@@ -3745,6 +3751,12 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely,
if (own_thread)
{
update_block (trial, thread);
+ if (trial == thread)
+ {
+ thread = next_active_insn (thread);
+ if (new_thread == trial)
+ new_thread = thread;
+ }
delete_insn (trial);
}
else