From 74567c2cd17e56eb9943e5cc2c8728aec42699c1 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Fri, 7 Sep 2007 17:42:17 +0200 Subject: [PATCH] reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass. * reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass. From-SVN: r128243 --- gcc/ChangeLog | 5 +++++ gcc/reorg.c | 22 +++++++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52dd1492603..8f846a22499 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-09-07 Jan Hubicka + + * reorg.c (dbr_schedule): Move code removing placeholder USEs later + in the pass. + 2007-09-07 Dorit Nuzman PR tree-optimization/33299 diff --git a/gcc/reorg.c b/gcc/reorg.c index 6826887e762..8083c88c9b8 100644 --- a/gcc/reorg.c +++ b/gcc/reorg.c @@ -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. */ -- 2.30.2