simplify-rtx.c (simplify_replace_rtx): Use rtx_equal_p for all OLD_RTXes, not just REGs.

gcc/
	* simplify-rtx.c (simplify_replace_rtx): Use rtx_equal_p for
	all OLD_RTXes, not just REGs.  Use copy_rtx to create the
	replacement value.

From-SVN: r152646
This commit is contained in:
Richard Sandiford 2009-10-11 19:09:01 +00:00 committed by Richard Sandiford
parent 3c6d5e12dd
commit c47d1dbaeb
2 changed files with 8 additions and 7 deletions

View file

@ -1,3 +1,9 @@
2009-10-11 Richard Sandiford <rdsandiford@googlemail.com>
* simplify-rtx.c (simplify_replace_rtx): Use rtx_equal_p for
all OLD_RTXes, not just REGs. Use copy_rtx to create the
replacement value.
2009-10-11 Richard Guenther <rguenther@suse.de>
* gimple.c (iterative_hash_type_name): Do not handle special

View file

@ -365,8 +365,8 @@ simplify_replace_rtx (rtx x, const_rtx old_rtx, rtx new_rtx)
to build a new expression substituting recursively. If we can't do
anything, return our input. */
if (x == old_rtx)
return new_rtx;
if (rtx_equal_p (x, old_rtx))
return copy_rtx (new_rtx);
switch (GET_RTX_CLASS (code))
{
@ -445,11 +445,6 @@ simplify_replace_rtx (rtx x, const_rtx old_rtx, rtx new_rtx)
return x;
return gen_rtx_LO_SUM (mode, op0, op1);
}
else if (code == REG)
{
if (rtx_equal_p (x, old_rtx))
return new_rtx;
}
break;
default: