aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-coalesce.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-09-14 06:59:21 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-09-14 06:59:21 +0000
commit7efd5ff31df5ac69a23b6285474f0b50154801f7 (patch)
treec50fc83ddcba67a0c4c6a147022c6b31c039d141 /gcc/tree-ssa-coalesce.c
parent6ab24ea809555eeb869fe49595f22ed9c8737cc4 (diff)
downloadgcc-7efd5ff31df5ac69a23b6285474f0b50154801f7.zip
gcc-7efd5ff31df5ac69a23b6285474f0b50154801f7.tar.gz
gcc-7efd5ff31df5ac69a23b6285474f0b50154801f7.tar.bz2
re PR middle-end/63155 (memory hog)
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
Diffstat (limited to 'gcc/tree-ssa-coalesce.c')
-rw-r--r--gcc/tree-ssa-coalesce.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-ssa-coalesce.c b/gcc/tree-ssa-coalesce.c
index e4f576f..750fd83 100644
--- a/gcc/tree-ssa-coalesce.c
+++ b/gcc/tree-ssa-coalesce.c
@@ -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)