Commit 1447b516 by Jeffrey A Law Committed by Jeff Law

haifa-sched.c (schedule_block): If the first real insn in a block has any…

haifa-sched.c (schedule_block): If the first real insn in a block has any special notes attached to it, remove them.

        * haifa-sched.c (schedule_block): If the first real insn in a
        block has any special notes attached to it, remove them.
Fixes bug reported by Weiwen Liu.

From-SVN: r15853
parent 1a42ead7
Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
* haifa-sched.c (schedule_block): If the first real insn in a
block has any special notes attached to it, remove them.
Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com> Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
* alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5. * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
......
...@@ -6601,6 +6601,25 @@ schedule_block (bb, rgn, rgn_n_insns) ...@@ -6601,6 +6601,25 @@ schedule_block (bb, rgn, rgn_n_insns)
had different notions of what the "head" insn was. */ had different notions of what the "head" insn was. */
get_block_head_tail (bb, &head, &tail); get_block_head_tail (bb, &head, &tail);
/* Interblock scheduling could have moved the original head insn from this
block into a proceeding block. This may also cause schedule_block and
compute_forward_dependences to have different notions of what the
"head" insn was.
If the interblock movement happened to make this block start with
some notes (LOOP, EH or SETJMP) before the first real insn, then
HEAD will have various special notes attached to it which must be
removed so that we don't end up with extra copies of the notes. */
if (GET_RTX_CLASS (GET_CODE (head)) == 'i')
{
rtx note;
for (note = REG_NOTES (head); note; note = XEXP (note, 1))
if (REG_NOTE_KIND (note) == REG_DEAD
&& GET_CODE (XEXP (note, 0)) == CONST_INT)
remove_note (head, note);
}
next_tail = NEXT_INSN (tail); next_tail = NEXT_INSN (tail);
prev_head = PREV_INSN (head); prev_head = PREV_INSN (head);
......
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