summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-30 20:53:33 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2014-06-30 20:53:33 +0000
commita34097c8709c6977c3eeb3f5d89a5b75c59360b7 (patch)
tree71dfe9761664192223d86c4f189c86034f5d2398
parentee19f44b465d98d329e2bc321ccc8a4ba5e6d4fa (diff)
downloadgcc-a34097c8709c6977c3eeb3f5d89a5b75c59360b7.tar.gz
* var-tracking.c (add_stores): Return instead of asserting if old
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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/var-tracking.c3
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))