diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/var-tracking.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 671fc6ce072..b7b8012a3cb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2014-06-30 Joseph Myers <joseph@codesourcery.com> + + * var-tracking.c (add_stores): Return instead of asserting if old + and new values for conditional store are the same. + 2014-06-30 Richard Henderson <rth@redhat.com> PR rtl-opt/61608 diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index ece149250ff..bf9735a3d55 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -6016,7 +6016,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip) { cselib_val *oval = cselib_lookup (oloc, GET_MODE (oloc), 0, VOIDmode); - gcc_assert (oval != v); + if (oval == v) + return; gcc_assert (REG_P (oloc) || MEM_P (oloc)); if (oval && !cselib_preserved_value_p (oval)) |