(fill_slots_from_thread): Skip moved insn in all three cases.
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 3 Jan 1997 12:59:13 +0000 (07:59 -0500)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 3 Jan 1997 12:59:13 +0000 (07:59 -0500)
From-SVN: r13355

gcc/reorg.c

index 637830bf62048d85b46ffa95865389eba1183da3..8f08afb054b7b89719327f3b8de7d7dfaa715095 100644 (file)
@@ -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