]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/66483 (ICE (in add_stores, at var-tracking.c:6000) on arm-linux-gnueabihf)
authorMatthias Klose <doko@ubuntu.com>
Tue, 23 Jun 2015 10:08:11 +0000 (10:08 +0000)
committerMatthias Klose <doko@gcc.gnu.org>
Tue, 23 Jun 2015 10:08:11 +0000 (10:08 +0000)
2015-06-23  Matthias Klose  <doko@ubuntu.com>

        PR target/66483
        Backport from mainline r212178.
        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.

From-SVN: r224833

gcc/ChangeLog
gcc/var-tracking.c

index 5db2f36f1f53eb802904291f00083c255f06ac5c..78a1573eede847441fcbd19ecca986c387eaa7d9 100644 (file)
@@ -1,3 +1,12 @@
+2015-06-23  Matthias Klose  <doko@ubuntu.com>
+
+       PR target/66483
+       Backport from mainline r212178.
+       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.
+
 2015-06-23  Ludovic Courtès  <ludo@gnu.org>
 
        PR 65711
index b0bc2b75f34928e4a26998f6a4ce4744733247f4..d2ba642019608e8cd8ff5ba38c3d9056030d7f6b 100644 (file)
@@ -5974,7 +5974,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))