Commit d7ae3739 by Eric Botcazou Committed by Eric Botcazou

re PR middle-end/78642 (invalid rtl sharing found in the insn)

	PR middle-end/78642
	* emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
	(copy_rtx_if_shared_1) <CLOBBER>: Likewise.
	(copy_insn_1) <CLOBBER>: Likewise.

From-SVN: r243282
parent 1d2ccddf
2016-12-06 Eric Botcazou <ebotcazou@adacore.com>
PR middle-end/78642
* emit-rtl.c (verify_rtx_sharing) <CLOBBER>: Relax condition.
(copy_rtx_if_shared_1) <CLOBBER>: Likewise.
(copy_insn_1) <CLOBBER>: Likewise.
2016-12-05 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78688
......@@ -2718,8 +2718,9 @@ verify_rtx_sharing (rtx orig, rtx insn)
/* Share clobbers of hard registers (like cc0), but do not share pseudo reg
clobbers or clobbers of hard registers that originated as pseudos.
This is needed to allow safe register renaming. */
if (REG_P (XEXP (x, 0)) && REGNO (XEXP (x, 0)) < FIRST_PSEUDO_REGISTER
&& ORIGINAL_REGNO (XEXP (x, 0)) == REGNO (XEXP (x, 0)))
if (REG_P (XEXP (x, 0))
&& HARD_REGISTER_NUM_P (REGNO (XEXP (x, 0)))
&& HARD_REGISTER_NUM_P (ORIGINAL_REGNO (XEXP (x, 0))))
return;
break;
......@@ -2970,8 +2971,9 @@ repeat:
/* Share clobbers of hard registers (like cc0), but do not share pseudo reg
clobbers or clobbers of hard registers that originated as pseudos.
This is needed to allow safe register renaming. */
if (REG_P (XEXP (x, 0)) && REGNO (XEXP (x, 0)) < FIRST_PSEUDO_REGISTER
&& ORIGINAL_REGNO (XEXP (x, 0)) == REGNO (XEXP (x, 0)))
if (REG_P (XEXP (x, 0))
&& HARD_REGISTER_NUM_P (REGNO (XEXP (x, 0)))
&& HARD_REGISTER_NUM_P (ORIGINAL_REGNO (XEXP (x, 0))))
return;
break;
......@@ -5521,8 +5523,9 @@ copy_insn_1 (rtx orig)
/* Share clobbers of hard registers (like cc0), but do not share pseudo reg
clobbers or clobbers of hard registers that originated as pseudos.
This is needed to allow safe register renaming. */
if (REG_P (XEXP (orig, 0)) && REGNO (XEXP (orig, 0)) < FIRST_PSEUDO_REGISTER
&& ORIGINAL_REGNO (XEXP (orig, 0)) == REGNO (XEXP (orig, 0)))
if (REG_P (XEXP (orig, 0))
&& HARD_REGISTER_NUM_P (REGNO (XEXP (orig, 0)))
&& HARD_REGISTER_NUM_P (ORIGINAL_REGNO (XEXP (orig, 0))))
return orig;
break;
......
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