s390.c (s390_dump_pool): Create copy of constant pool entries since they might hold...
authorAndreas Krebbel <krebbel1@de.ibm.com>
Mon, 10 Sep 2007 13:10:57 +0000 (13:10 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Mon, 10 Sep 2007 13:10:57 +0000 (13:10 +0000)
2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>

* config/s390/s390.c (s390_dump_pool): Create copy of constant
pool entries since they might hold values that must not be shared.

From-SVN: r128342

gcc/ChangeLog
gcc/config/s390/s390.c

index e6868fe2d9f0a27b5a71a63e0ba06500776a834a..69703a7401d9f4a72cec4e8548aa8577da3dc3b4 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.c (s390_dump_pool): Create copy of constant
+       pool entries since they might hold values that must not be shared.
+
 2007-09-10  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/33369
index aa6db1f3d26e790a0f3b31a904a7ad4f6b16bf30..c4860e52c987c35d70425213821d70c15f81959f 100644 (file)
@@ -5600,7 +5600,7 @@ s390_dump_pool (struct constant_pool *pool, bool remote_label)
     for (c = pool->constants[i]; c; c = c->next)
       {
        /* Convert UNSPEC_LTREL_OFFSET unspecs to pool-relative references.  */
-       rtx value = c->value;
+       rtx value = copy_rtx (c->value);
        if (GET_CODE (value) == CONST
            && GET_CODE (XEXP (value, 0)) == UNSPEC
            && XINT (XEXP (value, 0), 1) == UNSPEC_LTREL_OFFSET