Commit 9dcb4381 by Richard Henderson Committed by Richard Henderson

* cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.

From-SVN: r77877
parent 1472042a
2004-02-16 Richard Henderson <rth@redhat.com>
* cse.c (cse_insn): Don't lose REG_NON_LOCAL_GOTO note.
2004-02-15 Kazu Hirata <kazu@cs.umass.edu> 2004-02-15 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md: Remove unnecessary parallels from * config/h8300/h8300.md: Remove unnecessary parallels from
......
...@@ -5719,10 +5719,20 @@ cse_insn (rtx insn, rtx libcall_insn) ...@@ -5719,10 +5719,20 @@ cse_insn (rtx insn, rtx libcall_insn)
and hope for the best. */ and hope for the best. */
if (n_sets == 1) if (n_sets == 1)
{ {
rtx new = emit_jump_insn_after (gen_jump (XEXP (src, 0)), insn); rtx new, note;
new = emit_jump_insn_after (gen_jump (XEXP (src, 0)), insn);
JUMP_LABEL (new) = XEXP (src, 0); JUMP_LABEL (new) = XEXP (src, 0);
LABEL_NUSES (XEXP (src, 0))++; LABEL_NUSES (XEXP (src, 0))++;
/* Make sure to copy over REG_NON_LOCAL_GOTO. */
note = find_reg_note (insn, REG_NON_LOCAL_GOTO, 0);
if (note)
{
XEXP (note, 1) = NULL_RTX;
REG_NOTES (new) = note;
}
delete_insn (insn); delete_insn (insn);
insn = new; insn = new;
......
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