From: Sa Liu Date: Sun, 12 Aug 2007 18:08:43 +0000 (+0000) Subject: emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note and with REG_RETVAL... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1c7f7c66f8910224dcc3caf27b72dcda8d2db34d;p=gcc.git emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note and with REG_RETVAL note after split. 2007-08-12 Sa Liu * emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note and with REG_RETVAL note after split. From-SVN: r127376 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5434dc96578..671afbf639f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-08-12 Sa Liu + + * emit-rtl.c (try_split): Relink the insns with REG_LIBCALL note + and with REG_RETVAL note after split. + 2007-08-11 David Daney * config/mips/mips.c (mips_sched_reorder): Mark cycle parameter diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index f1b1990eeac..e9e651f23ce 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3134,7 +3134,7 @@ try_split (rtx pat, rtx trial, int last) rtx before = PREV_INSN (trial); rtx after = NEXT_INSN (trial); int has_barrier = 0; - rtx tem; + rtx tem, note_retval; rtx note, seq; int probability; rtx insn_last, insn; @@ -3270,6 +3270,18 @@ try_split (rtx pat, rtx trial, int last) break; #endif + case REG_LIBCALL: + /* Relink the insns with REG_LIBCALL note and with REG_RETVAL note + after split. */ + REG_NOTES (insn_last) + = gen_rtx_EXPR_LIST (REG_LIBCALL, + XEXP (note, 0), + REG_NOTES (insn_last)); + + note_retval = find_reg_note (XEXP (note, 0), REG_RETVAL, NULL); + XEXP (note_retval, 0) = insn_last; + break; + default: break; }