Commit 040f69eb by Andreas Krebbel Committed by Andreas Krebbel

regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if…

regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if SRC->DEST replacement failed anyway.

2007-03-29  Andreas Krebbel  <krebbel1@de.ibm.com>

	* regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if
	SRC->DEST replacement failed anyway.

From-SVN: r123323
parent 4beb5c4b
2007-03-29 Andreas Krebbel <krebbel1@de.ibm.com>
* regmove.c (optimize_reg_copy_1): Don't perform DEST->SRC repair action if
SRC->DEST replacement failed anyway.
2007-03-28 Mike Stump <mrs@apple.com>
* config/darwin9.h (ASM_OUTPUT_ALIGNED_COMMON): Add.
......
......@@ -471,15 +471,15 @@ optimize_reg_copy_1 (rtx insn, rtx dest, rtx src)
if (sregno < FIRST_PSEUDO_REGISTER
&& reg_mentioned_p (dest, PATTERN (q)))
failed = 1;
/* Attempt to replace all uses. */
else if (!validate_replace_rtx (src, dest, q))
failed = 1;
/* Replace all uses and make sure that the register
isn't still present. */
else if (validate_replace_rtx (src, dest, q)
&& (sregno >= FIRST_PSEUDO_REGISTER
|| ! reg_overlap_mentioned_p (src,
PATTERN (q))))
;
else
/* If this succeeded, but some part of the register
is still present, undo the replacement. */
else if (sregno < FIRST_PSEUDO_REGISTER
&& reg_overlap_mentioned_p (src, PATTERN (q)))
{
validate_replace_rtx (dest, src, q);
failed = 1;
......
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