Commit cb5cb194 by Steven Bosscher

re PR debug/56950 (compare-debug failure for gcc.dg/pr41345.c with fschedule-insns)

	PR debug/56950
	* haifa-sched.c (sched_extend_bb): Ignore DEBUG_INSNs.

From-SVN: r199316
parent 9f57f76a
2013-05-24 Steven Bosscher <steven@gcc.gnu.org>
PR debug/56950
* haifa-sched.c (sched_extend_bb): Ignore DEBUG_INSNs.
2013-05-24 Nathan Sidwell <nathan@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
......
......@@ -7435,20 +7435,19 @@ find_fallthru_edge_from (basic_block pred)
static void
sched_extend_bb (void)
{
rtx insn;
/* The following is done to keep current_sched_info->next_tail non null. */
insn = BB_END (EXIT_BLOCK_PTR->prev_bb);
if (NEXT_INSN (insn) == 0
rtx end = BB_END (EXIT_BLOCK_PTR->prev_bb);
rtx insn = DEBUG_INSN_P (end) ? prev_nondebug_insn (end) : end;
if (NEXT_INSN (end) == 0
|| (!NOTE_P (insn)
&& !LABEL_P (insn)
/* Don't emit a NOTE if it would end up before a BARRIER. */
&& !BARRIER_P (NEXT_INSN (insn))))
&& !BARRIER_P (NEXT_INSN (end))))
{
rtx note = emit_note_after (NOTE_INSN_DELETED, insn);
/* Make insn appear outside BB. */
rtx note = emit_note_after (NOTE_INSN_DELETED, end);
/* Make note appear outside BB. */
set_block_for_insn (note, NULL);
BB_END (EXIT_BLOCK_PTR->prev_bb) = insn;
BB_END (EXIT_BLOCK_PTR->prev_bb) = end;
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment