aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-02-27 22:34:27 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2013-02-27 22:34:27 +0100
commit90e709fd8ea149dacde675363135a0ddea053b09 (patch)
tree423204ed6f721d5e83b6ebecd4e14674b9605d21
parent97785e5285c9543de44858989f33f6609e0bc538 (diff)
downloadgcc-90e709fd8ea149dacde675363135a0ddea053b09.zip
gcc-90e709fd8ea149dacde675363135a0ddea053b09.tar.gz
gcc-90e709fd8ea149dacde675363135a0ddea053b09.tar.bz2
re PR middle-end/56461 (GCC is leaking lots of memory)
PR middle-end/56461 * ipa-cp.c (decide_whether_version_node): Call vec_free on known_aggs[i].items and release known_aggs vector. From-SVN: r196320
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/ipa-cp.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0ef9eb7..8afdf05 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,10 @@
2013-02-27 Jakub Jelinek <jakub@redhat.com>
PR middle-end/56461
+ * ipa-cp.c (decide_whether_version_node): Call vec_free on
+ known_aggs[i].items and release known_aggs vector.
+
+ PR middle-end/56461
* ipa-reference.c (propagate): Free node_info even for alias nodes.
2013-02-27 Edgar E. Iglesias <edgar.iglesias@gmail.com>
diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c
index 9a67f3c..d01b053 100644
--- a/gcc/ipa-cp.c
+++ b/gcc/ipa-cp.c
@@ -3406,6 +3406,9 @@ decide_whether_version_node (struct cgraph_node *node)
info = IPA_NODE_REF (node);
info->do_clone_for_all_contexts = false;
IPA_NODE_REF (clone)->is_all_contexts_clone = true;
+ for (i = 0; i < count ; i++)
+ vec_free (known_aggs[i].items);
+ known_aggs.release ();
ret = true;
}
else