reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass.
authorJan Hubicka <jh@suse.cz>
Fri, 7 Sep 2007 15:42:17 +0000 (17:42 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Fri, 7 Sep 2007 15:42:17 +0000 (15:42 +0000)
* reorg.c (dbr_schedule): Move code removing placeholder USEs later
in the pass.

From-SVN: r128243

gcc/ChangeLog
gcc/reorg.c

index 52dd1492603fbde685929ba69f47e48576d31db0..8f846a22499f7fb23ce4cffb0b95d0ffe7a86ba3 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-07  Jan Hubicka  <jh@suse.cz>
+
+       * reorg.c (dbr_schedule): Move code removing placeholder USEs later
+       in the pass.
+
 2007-09-07  Dorit Nuzman  <dorit@il.ibm.com>
 
        PR tree-optimization/33299
index 6826887e7628890aaa5a5fc4c4aefee1f8aed985..8083c88c9b8546058cd1a38a8f95192e34aea399 100644 (file)
@@ -3863,17 +3863,6 @@ dbr_schedule (rtx first)
       relax_delay_slots (first);
     }
 
-  /* Delete any USE insns made by update_block; subsequent passes don't need
-     them or know how to deal with them.  */
-  for (insn = first; insn; insn = next)
-    {
-      next = NEXT_INSN (insn);
-
-      if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE
-         && INSN_P (XEXP (PATTERN (insn), 0)))
-       next = delete_related_insns (insn);
-    }
-
   /* If we made an end of function label, indicate that it is now
      safe to delete it by undoing our prior adjustment to LABEL_NUSES.
      If it is now unused, delete it.  */
@@ -3885,6 +3874,17 @@ dbr_schedule (rtx first)
     make_return_insns (first);
 #endif
 
+  /* Delete any USE insns made by update_block; subsequent passes don't need
+     them or know how to deal with them.  */
+  for (insn = first; insn; insn = next)
+    {
+      next = NEXT_INSN (insn);
+
+      if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == USE
+         && INSN_P (XEXP (PATTERN (insn), 0)))
+       next = delete_related_insns (insn);
+    }
+
   obstack_free (&unfilled_slots_obstack, unfilled_firstobj);
 
   /* It is not clear why the line below is needed, but it does seem to be.  */