diff options
author | Jan Hubicka <jh@suse.cz> | 2007-09-07 17:42:17 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2007-09-07 15:42:17 +0000 |
commit | 74567c2cd17e56eb9943e5cc2c8728aec42699c1 (patch) | |
tree | b1c16e4adaf3e03fd57c8eff7998716b39351253 /gcc/reorg.c | |
parent | 71f4a02318f4dad261ad8c8e9f77cd36e83f46e3 (diff) | |
download | gcc-74567c2cd17e56eb9943e5cc2c8728aec42699c1.tar.gz |
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
Diffstat (limited to 'gcc/reorg.c')
-rw-r--r-- | gcc/reorg.c | 22 |
1 files changed, 11 insertions, 11 deletions
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. */ |