diff options
author | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-24 16:20:16 +0000 |
---|---|---|
committer | mrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-24 16:20:16 +0000 |
commit | 66d211a3decfba4e1ef1a34948c74d2f656bf01f (patch) | |
tree | 8b1614cffde14fc27bb0364e68b21853ce207c89 /gcc/emit-rtl.c | |
parent | 3a343682c01eb70d6b4a65a9efe4cbb2e46c374c (diff) | |
parent | d16bd0a94979319a3a2c73e7ae51a53c4fb37f3f (diff) | |
download | gcc-66d211a3decfba4e1ef1a34948c74d2f656bf01f.tar.gz |
Merge in trunk.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@209755 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 92ab00347ef..5258eebdf8f 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -3527,6 +3527,7 @@ try_split (rtx pat, rtx trial, int last) int probability; rtx insn_last, insn; int njumps = 0; + rtx call_insn = NULL_RTX; /* We're not good at redistributing frame information. */ if (RTX_FRAME_RELATED_P (trial)) @@ -3599,6 +3600,9 @@ try_split (rtx pat, rtx trial, int last) { rtx next, *p; + gcc_assert (call_insn == NULL_RTX); + call_insn = insn; + /* Add the old CALL_INSN_FUNCTION_USAGE to whatever the target may have explicitly specified. */ p = &CALL_INSN_FUNCTION_USAGE (insn); @@ -3671,6 +3675,11 @@ try_split (rtx pat, rtx trial, int last) fixup_args_size_notes (NULL_RTX, insn_last, INTVAL (XEXP (note, 0))); break; + case REG_CALL_DECL: + gcc_assert (call_insn != NULL_RTX); + add_reg_note (call_insn, REG_NOTE_KIND (note), XEXP (note, 0)); + break; + default: break; } |