aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@st.com>2006-03-10 10:58:22 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2006-03-10 10:58:22 +0000
commit7a6164d4fe7e5b85de6fe9f469b34e630c9589da (patch)
tree0265074931fdde81f91443e0569befacfcd24bc1 /gcc
parent5d54b732db05592fc8244f3192cd4f127919fd90 (diff)
downloadgcc-7a6164d4fe7e5b85de6fe9f469b34e630c9589da.zip
gcc-7a6164d4fe7e5b85de6fe9f469b34e630c9589da.tar.gz
gcc-7a6164d4fe7e5b85de6fe9f469b34e630c9589da.tar.bz2
* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
From-SVN: r111929
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/struct-equiv.c8
2 files changed, 6 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index eeb0feb..bac513f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/struct-equiv.c b/gcc/struct-equiv.c
index 265cfd0..e580b88 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);