* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.

From-SVN: r111929
This commit is contained in:
J"orn Rennecke 2006-03-10 10:58:22 +00:00 committed by Joern Rennecke
parent 5d54b732db
commit 7a6164d4fe
2 changed files with 6 additions and 6 deletions

View File

@ -1,3 +1,7 @@
2006-03-10 J"orn Rennecke <joern.rennecke@st.com>
* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
2006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
* tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable.

View File

@ -570,17 +570,13 @@ rtx_equiv_p (rtx *xp, rtx y, int rvalue, struct equiv_info *info)
return false;
x_dest1 = XEXP (x, 0);
/* validate_change might have changed the destination. Put it back
so that we can do a valid source match. */
so that we can do a proper match for its role a an input. */
XEXP (x, 0) = x_dest0;
if (!rtx_equiv_p (&XEXP (x, 1), XEXP (y, 1), 0, info))
if (!rtx_equiv_p (&XEXP (x, 0), XEXP (y, 0), 1, info))
return false;
gcc_assert (x_dest1 == XEXP (x, 0));
/* Process source. */
return rtx_equiv_p (&XEXP (x, 1), XEXP (y, 1), 1, info);
if (!rtx_equiv_p (&XEXP(x, 0), XEXP (y, 0), 0, info))
return false;
/* Process both subexpressions as inputs. */
break;
}
case CLOBBER:
gcc_assert (rvalue < 0);