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> 2016-12-05 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/78688 PR target/78688
...@@ -2718,8 +2718,9 @@ verify_rtx_sharing (rtx orig, rtx insn) ...@@ -2718,8 +2718,9 @@ verify_rtx_sharing (rtx orig, rtx insn)
/* Share clobbers of hard registers (like cc0), but do not share pseudo reg /* Share clobbers of hard registers (like cc0), but do not share pseudo reg
clobbers or clobbers of hard registers that originated as pseudos. clobbers or clobbers of hard registers that originated as pseudos.
This is needed to allow safe register renaming. */ This is needed to allow safe register renaming. */
if (REG_P (XEXP (x, 0)) && REGNO (XEXP (x, 0)) < FIRST_PSEUDO_REGISTER if (REG_P (XEXP (x, 0))
&& ORIGINAL_REGNO (XEXP (x, 0)) == REGNO (XEXP (x, 0))) && HARD_REGISTER_NUM_P (REGNO (XEXP (x, 0)))
&& HARD_REGISTER_NUM_P (ORIGINAL_REGNO (XEXP (x, 0))))
return; return;
break; break;
...@@ -2970,8 +2971,9 @@ repeat: ...@@ -2970,8 +2971,9 @@ repeat:
/* Share clobbers of hard registers (like cc0), but do not share pseudo reg /* Share clobbers of hard registers (like cc0), but do not share pseudo reg
clobbers or clobbers of hard registers that originated as pseudos. clobbers or clobbers of hard registers that originated as pseudos.
This is needed to allow safe register renaming. */ This is needed to allow safe register renaming. */
if (REG_P (XEXP (x, 0)) && REGNO (XEXP (x, 0)) < FIRST_PSEUDO_REGISTER if (REG_P (XEXP (x, 0))
&& ORIGINAL_REGNO (XEXP (x, 0)) == REGNO (XEXP (x, 0))) && HARD_REGISTER_NUM_P (REGNO (XEXP (x, 0)))
&& HARD_REGISTER_NUM_P (ORIGINAL_REGNO (XEXP (x, 0))))
return; return;
break; break;
...@@ -5521,8 +5523,9 @@ copy_insn_1 (rtx orig) ...@@ -5521,8 +5523,9 @@ copy_insn_1 (rtx orig)
/* Share clobbers of hard registers (like cc0), but do not share pseudo reg /* Share clobbers of hard registers (like cc0), but do not share pseudo reg
clobbers or clobbers of hard registers that originated as pseudos. clobbers or clobbers of hard registers that originated as pseudos.
This is needed to allow safe register renaming. */ This is needed to allow safe register renaming. */
if (REG_P (XEXP (orig, 0)) && REGNO (XEXP (orig, 0)) < FIRST_PSEUDO_REGISTER if (REG_P (XEXP (orig, 0))
&& ORIGINAL_REGNO (XEXP (orig, 0)) == REGNO (XEXP (orig, 0))) && HARD_REGISTER_NUM_P (REGNO (XEXP (orig, 0)))
&& HARD_REGISTER_NUM_P (ORIGINAL_REGNO (XEXP (orig, 0))))
return orig; return orig;
break; 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