Commit 49507955 by Eric Botcazou Committed by Eric Botcazou

* ira-emit.c (emit_moves): Skip DEBUG_INSNs when setting the location.

From-SVN: r273297
parent 4c12dc05
2019-07-09 Eric Botcazou <ebotcazou@adacore.com>
* ira-emit.c (emit_moves): Skip DEBUG_INSNs when setting the location.
2019-07-09 Sylvia Taylor <sylvia.taylor@arm.com> 2019-07-09 Sylvia Taylor <sylvia.taylor@arm.com>
* config/arm/crypto.md: * config/arm/crypto.md:
......
...@@ -997,27 +997,30 @@ emit_moves (void) ...@@ -997,27 +997,30 @@ emit_moves (void)
basic_block bb; basic_block bb;
edge_iterator ei; edge_iterator ei;
edge e; edge e;
rtx_insn *insns, *tmp; rtx_insn *insns, *tmp, *next;
FOR_EACH_BB_FN (bb, cfun) FOR_EACH_BB_FN (bb, cfun)
{ {
if (at_bb_start[bb->index] != NULL) if (at_bb_start[bb->index] != NULL)
{ {
at_bb_start[bb->index] = modify_move_list (at_bb_start[bb->index]); at_bb_start[bb->index] = modify_move_list (at_bb_start[bb->index]);
insns = emit_move_list (at_bb_start[bb->index], insns
REG_FREQ_FROM_BB (bb)); = emit_move_list (at_bb_start[bb->index], REG_FREQ_FROM_BB (bb));
tmp = BB_HEAD (bb); tmp = BB_HEAD (bb);
if (LABEL_P (tmp)) if (LABEL_P (tmp))
tmp = NEXT_INSN (tmp); tmp = NEXT_INSN (tmp);
if (NOTE_INSN_BASIC_BLOCK_P (tmp)) if (NOTE_INSN_BASIC_BLOCK_P (tmp))
tmp = NEXT_INSN (tmp); tmp = NEXT_INSN (tmp);
/* Propagate the location of the current first instruction to the /* Make sure to put the location of TMP or a subsequent instruction
moves so that they don't inherit a random location. */ to avoid inheriting the location of the previous instruction. */
if (tmp != NULL_RTX && INSN_P (tmp)) next = tmp;
set_insn_locations (insns, INSN_LOCATION (tmp)); while (next && !NONDEBUG_INSN_P (next))
next = NEXT_INSN (next);
if (next)
set_insn_locations (insns, INSN_LOCATION (next));
if (tmp == BB_HEAD (bb)) if (tmp == BB_HEAD (bb))
emit_insn_before (insns, tmp); emit_insn_before (insns, tmp);
else if (tmp != NULL_RTX) else if (tmp)
emit_insn_after (insns, PREV_INSN (tmp)); emit_insn_after (insns, PREV_INSN (tmp));
else else
emit_insn_after (insns, get_last_insn ()); emit_insn_after (insns, get_last_insn ());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment