Commit 5a82c0b1 by Hans-Peter Nilsson Committed by Hans-Peter Nilsson

reorg.c (fill_slots_from_thread): When considering changing the insn following a…

reorg.c (fill_slots_from_thread): When considering changing the insn following a reg-to-reg copy insn to use the...

	* reorg.c (fill_slots_from_thread): When considering changing the
	insn following a reg-to-reg copy insn to use the source reg of the
	copy, bail out if there's overlap between the registers.

From-SVN: r65381
parent 8a5275eb
2003-04-08 Hans-Peter Nilsson <hp@axis.com>
* reorg.c (fill_slots_from_thread): When considering changing the
insn following a reg-to-reg copy insn to use the source reg of the
copy, bail out if there's overlap between the registers.
2003-04-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* function.c (postponed_insns): New.
......
......@@ -2813,11 +2813,13 @@ fill_slots_from_thread (insn, condition, thread, opposite_thread, likely,
that would make the replacement into the insn invalid. We also can't
do this if it modifies our source, because it might be an earlyclobber
operand. This latter test also prevents updating the contents of
a PRE_INC. */
a PRE_INC. We also can't do this if there's overlap of source and
destination. Overlap may happen for larger-than-register-size modes. */
if (GET_CODE (trial) == INSN && GET_CODE (pat) == SET
&& GET_CODE (SET_SRC (pat)) == REG
&& GET_CODE (SET_DEST (pat)) == REG)
&& GET_CODE (SET_DEST (pat)) == REG
&& !reg_overlap_mentioned_p (SET_DEST (pat), SET_SRC (pat)))
{
rtx next = next_nonnote_insn (trial);
......
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