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:
parent
0edf3afe13
commit
5d11b4bf36
@ -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
|
||||
|
15
gcc/reorg.c
15
gcc/reorg.c
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user