summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-24 16:20:16 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2014-04-24 16:20:16 +0000
commit66d211a3decfba4e1ef1a34948c74d2f656bf01f (patch)
tree8b1614cffde14fc27bb0364e68b21853ce207c89 /gcc/emit-rtl.c
parent3a343682c01eb70d6b4a65a9efe4cbb2e46c374c (diff)
parentd16bd0a94979319a3a2c73e7ae51a53c4fb37f3f (diff)
downloadgcc-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.c9
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;
}