* var-tracking.c (add_stores): Return instead of asserting if old
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Jun 2014 20:53:33 +0000 (20:53 +0000)
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Jun 2014 20:53:33 +0000 (20:53 +0000)
and new values for conditional store are the same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212178 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/var-tracking.c

index 671fc6c..b7b8012 100644 (file)
@@ -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
index ece1492..bf9735a 100644 (file)
@@ -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))