reorg.c (make_return_insns): Use emit_copy_of_insn_after for the insns in the delay slot and add_insn_after...

* reorg.c (make_return_insns): Use emit_copy_of_insn_after for the
	insns in the delay slot and add_insn_after for the jump insn.

From-SVN: r264780
This commit is contained in:
Eric Botcazou 2018-10-02 10:20:08 +00:00 committed by Eric Botcazou
parent 0edf3afe13
commit 5d11b4bf36
2 changed files with 10 additions and 10 deletions

View File

@ -1,3 +1,8 @@
2018-10-02 Eric Botcazou <ebotcazou@adacore.com>
* reorg.c (make_return_insns): Use emit_copy_of_insn_after for the
insns in the delay slot and add_insn_after for the jump insn.
2018-10-02 Richard Biener <rguenther@suse.de>
* tree-inline.c (expand_call_inline): Use the location of

View File

@ -3638,18 +3638,13 @@ make_return_insns (rtx_insn *first)
insns for its delay slots, if it needs some. */
if (ANY_RETURN_P (PATTERN (jump_insn)))
{
rtx_insn *prev = PREV_INSN (insn);
rtx_insn *after = PREV_INSN (insn);
delete_related_insns (insn);
for (i = 1; i < XVECLEN (pat, 0); i++)
{
rtx_insn *in_seq_insn = as_a<rtx_insn *> (XVECEXP (pat, 0, i));
prev = emit_insn_after_setloc (PATTERN (in_seq_insn), prev,
INSN_LOCATION (in_seq_insn));
}
insn = emit_jump_insn_after_setloc (PATTERN (jump_insn), prev,
INSN_LOCATION (jump_insn));
insn = jump_insn;
for (i = 1; i < pat->len (); i++)
after = emit_copy_of_insn_after (pat->insn (i), after);
add_insn_after (insn, after, NULL);
emit_barrier_after (insn);
if (slots)