mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-17 02:09:02 +08:00
* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
From-SVN: r111929
This commit is contained in:
parent
5d54b732db
commit
7a6164d4fe
@ -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.
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user