(movM): If REG_WAS_0, make sure the reg hasn't changed since then.
From-SVN: r3712
This commit is contained in:
parent
9516a9afd7
commit
dc577adaac
|
@ -57,9 +57,11 @@
|
||||||
rtx link;
|
rtx link;
|
||||||
if (operands[1] == const1_rtx
|
if (operands[1] == const1_rtx
|
||||||
&& (link = find_reg_note (insn, REG_WAS_0, 0))
|
&& (link = find_reg_note (insn, REG_WAS_0, 0))
|
||||||
&& ! XEXP (link, 0)->volatil
|
&& ! INSN_DELETED_P (XEXP (link, 0))
|
||||||
&& GET_CODE (XEXP (link, 0)) != NOTE
|
&& GET_CODE (XEXP (link, 0)) != NOTE
|
||||||
&& no_labels_between_p (XEXP (link, 0), insn))
|
&& no_labels_between_p (XEXP (link, 0), insn)
|
||||||
|
/* Make sure the reg hasn't been clobbered. */
|
||||||
|
&& ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
|
||||||
return \"incl %0\";
|
return \"incl %0\";
|
||||||
if (GET_CODE (operands[1]) == SYMBOL_REF || GET_CODE (operands[1]) == CONST)
|
if (GET_CODE (operands[1]) == SYMBOL_REF || GET_CODE (operands[1]) == CONST)
|
||||||
{
|
{
|
||||||
|
@ -86,9 +88,11 @@
|
||||||
rtx link;
|
rtx link;
|
||||||
if (operands[1] == const1_rtx
|
if (operands[1] == const1_rtx
|
||||||
&& (link = find_reg_note (insn, REG_WAS_0, 0))
|
&& (link = find_reg_note (insn, REG_WAS_0, 0))
|
||||||
&& ! XEXP (link, 0)->volatil
|
&& ! INSN_DELETED_P (XEXP (link, 0))
|
||||||
&& GET_CODE (XEXP (link, 0)) != NOTE
|
&& GET_CODE (XEXP (link, 0)) != NOTE
|
||||||
&& no_labels_between_p (XEXP (link, 0), insn))
|
&& no_labels_between_p (XEXP (link, 0), insn)
|
||||||
|
/* Make sure the reg hasn't been clobbered. */
|
||||||
|
&& ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
|
||||||
return \"incw %0\";
|
return \"incw %0\";
|
||||||
if (operands[1] == const0_rtx)
|
if (operands[1] == const0_rtx)
|
||||||
return \"clrw %0\";
|
return \"clrw %0\";
|
||||||
|
|
|
@ -207,7 +207,9 @@
|
||||||
&& ! INSN_DELETED_P (XEXP (link, 0))
|
&& ! INSN_DELETED_P (XEXP (link, 0))
|
||||||
&& GET_CODE (XEXP (link, 0)) != NOTE
|
&& GET_CODE (XEXP (link, 0)) != NOTE
|
||||||
/* Make sure cross jumping didn't happen here. */
|
/* Make sure cross jumping didn't happen here. */
|
||||||
&& no_labels_between_p (XEXP (link, 0), insn))
|
&& no_labels_between_p (XEXP (link, 0), insn)
|
||||||
|
/* Make sure the reg hasn't been clobbered. */
|
||||||
|
&& ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
|
||||||
return \"incl %0\";
|
return \"incl %0\";
|
||||||
if (GET_CODE (operands[1]) == SYMBOL_REF || GET_CODE (operands[1]) == CONST)
|
if (GET_CODE (operands[1]) == SYMBOL_REF || GET_CODE (operands[1]) == CONST)
|
||||||
{
|
{
|
||||||
|
@ -250,7 +252,9 @@
|
||||||
&& ! INSN_DELETED_P (XEXP (link, 0))
|
&& ! INSN_DELETED_P (XEXP (link, 0))
|
||||||
&& GET_CODE (XEXP (link, 0)) != NOTE
|
&& GET_CODE (XEXP (link, 0)) != NOTE
|
||||||
/* Make sure cross jumping didn't happen here. */
|
/* Make sure cross jumping didn't happen here. */
|
||||||
&& no_labels_between_p (XEXP (link, 0), insn))
|
&& no_labels_between_p (XEXP (link, 0), insn)
|
||||||
|
/* Make sure the reg hasn't been clobbered. */
|
||||||
|
&& ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
|
||||||
return \"incw %0\";
|
return \"incw %0\";
|
||||||
|
|
||||||
if (GET_CODE (operands[1]) == CONST_INT)
|
if (GET_CODE (operands[1]) == CONST_INT)
|
||||||
|
@ -302,7 +306,9 @@
|
||||||
&& ! INSN_DELETED_P (XEXP (link, 0))
|
&& ! INSN_DELETED_P (XEXP (link, 0))
|
||||||
&& GET_CODE (XEXP (link, 0)) != NOTE
|
&& GET_CODE (XEXP (link, 0)) != NOTE
|
||||||
/* Make sure cross jumping didn't happen here. */
|
/* Make sure cross jumping didn't happen here. */
|
||||||
&& no_labels_between_p (XEXP (link, 0), insn))
|
&& no_labels_between_p (XEXP (link, 0), insn)
|
||||||
|
/* Make sure the reg hasn't been clobbered. */
|
||||||
|
&& ! reg_set_between_p (operands[0], XEXP (link, 0), insn))
|
||||||
return \"incb %0\";
|
return \"incb %0\";
|
||||||
|
|
||||||
if (GET_CODE (operands[1]) == CONST_INT)
|
if (GET_CODE (operands[1]) == CONST_INT)
|
||||||
|
|
Loading…
Reference in New Issue