re PR middle-end/63155 (memory hog)
authorRichard Biener <rguenther@suse.de>
Fri, 14 Sep 2018 06:59:21 +0000 (06:59 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 14 Sep 2018 06:59:21 +0000 (06:59 +0000)
2018-09-14  Richard Biener  <rguenther@suse.de>

PR middle-end/63155
* tree-ssa-coalesce.c (ssa_conflicts_merge): Remove conflict
bits for the merged partition.

From-SVN: r264304

gcc/ChangeLog
gcc/tree-ssa-coalesce.c

index 4ef577f82f16d404a4642c7c0bcf984b3fdbc450..3a004ec4a459e8d128312992d49914d671b5ed0e 100644 (file)
@@ -1,3 +1,9 @@
+2018-09-14  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/63155
+       * tree-ssa-coalesce.c (ssa_conflicts_merge): Remove conflict
+       bits for the merged partition.
+
 2018-09-13  Martin Sebor  <msebor@redhat.com>
            Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
index e4f576fbc19900a2c93e7f30d173715dcc0c1a06..750fd8350415684b7404ea4accaea46b2886e152 100644 (file)
@@ -620,7 +620,11 @@ ssa_conflicts_merge (ssa_conflicts *ptr, unsigned x, unsigned y)
     {
       bitmap bz = ptr->conflicts[z];
       if (bz)
-       bitmap_set_bit (bz, x);
+       {
+         bool was_there = bitmap_clear_bit (bz, y);
+         gcc_checking_assert (was_there);
+         bitmap_set_bit (bz, x);
+       }
     }
 
   if (bx)