From 7a6164d4fe7e5b85de6fe9f469b34e630c9589da Mon Sep 17 00:00:00 2001 From: "J\"orn Rennecke" Date: Fri, 10 Mar 2006 10:58:22 +0000 Subject: [PATCH] * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. From-SVN: r111929 --- gcc/ChangeLog | 4 ++++ gcc/struct-equiv.c | 8 ++------ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eeb0febb311..bac513fbad0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2006-03-10 J"orn Rennecke + + * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. + 2006-03-09 Andrew Pinski * tree-ssa-phiopt.c (tree_ssa_phiopt): Add cfgchanged variable. diff --git a/gcc/struct-equiv.c b/gcc/struct-equiv.c index 265cfd0fce8..e580b889f98 100644 --- a/gcc/struct-equiv.c +++ b/gcc/struct-equiv.c @@ -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);