diff options
author | Richard Biener <rguenther@suse.de> | 2015-11-06 13:45:54 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2015-11-06 13:45:54 +0000 |
commit | ff56974436c9c8f994c9c80040ca026bde0965ee (patch) | |
tree | d738bba0e7750a3ba6762e5e246a67da6f3a6ddd /gcc | |
parent | c047b6943474ab93147434cf9c61c168103e955f (diff) | |
download | gcc-ff56974436c9c8f994c9c80040ca026bde0965ee.zip gcc-ff56974436c9c8f994c9c80040ca026bde0965ee.tar.gz gcc-ff56974436c9c8f994c9c80040ca026bde0965ee.tar.bz2 |
tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
2015-11-06 Richard Biener <rguenther@suse.de>
* tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
* lra.c (init_reg_info): Truncate copy_vec instead of
re-allocating a new one and leaking the old.
* ipa-inline-analysis.c (estimate_function_body_sizes): Free
bb_infos vec.
* sched-deps.c (sched_deps_finish): Free the dn/dl pools.
* postreload-gcse.c (free_mem): Free modify_mem_list and
canon_modify_mem_list.
From-SVN: r229850
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ipa-inline-analysis.c | 1 | ||||
-rw-r--r-- | gcc/lra.c | 2 | ||||
-rw-r--r-- | gcc/postreload-gcse.c | 2 | ||||
-rw-r--r-- | gcc/sched-deps.c | 4 | ||||
-rw-r--r-- | gcc/tree-ssa-sccvn.c | 6 |
6 files changed, 23 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a83f6f..f83d760 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2015-11-06 Richard Biener <rguenther@suse.de> + + * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor. + * lra.c (init_reg_info): Truncate copy_vec instead of + re-allocating a new one and leaking the old. + * ipa-inline-analysis.c (estimate_function_body_sizes): Free + bb_infos vec. + * sched-deps.c (sched_deps_finish): Free the dn/dl pools. + * postreload-gcse.c (free_mem): Free modify_mem_list and + canon_modify_mem_list. + 2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com> PR tree-optimization/68145 diff --git a/gcc/ipa-inline-analysis.c b/gcc/ipa-inline-analysis.c index a3cd769..c07b0da 100644 --- a/gcc/ipa-inline-analysis.c +++ b/gcc/ipa-inline-analysis.c @@ -2853,6 +2853,7 @@ estimate_function_body_sizes (struct cgraph_node *node, bool early) inline_summaries->get (node)->self_time = time; inline_summaries->get (node)->self_size = size; nonconstant_names.release (); + fbi.bb_infos.release (); if (opt_for_fn (node->decl, optimize)) { if (!early) @@ -1293,7 +1293,7 @@ init_reg_info (void) lra_reg_info = XNEWVEC (struct lra_reg, reg_info_size); for (i = 0; i < reg_info_size; i++) initialize_lra_reg_info_element (i); - copy_vec.create (100); + copy_vec.truncate (0); } diff --git a/gcc/postreload-gcse.c b/gcc/postreload-gcse.c index ea4bba4..f8a770e 100644 --- a/gcc/postreload-gcse.c +++ b/gcc/postreload-gcse.c @@ -348,6 +348,8 @@ free_mem (void) BITMAP_FREE (blocks_with_calls); BITMAP_FREE (modify_mem_list_set); free (reg_avail_info); + free (modify_mem_list); + free (canon_modify_mem_list); } diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index 220eea4..4f64fa9 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -4092,9 +4092,9 @@ void sched_deps_finish (void) { gcc_assert (deps_pools_are_empty_p ()); - dn_pool->release_if_empty (); + delete dn_pool; + delete dl_pool; dn_pool = NULL; - dl_pool->release_if_empty (); dl_pool = NULL; h_d_i_d.release (); diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c index 159a7b6..c5f5b27 100644 --- a/gcc/tree-ssa-sccvn.c +++ b/gcc/tree-ssa-sccvn.c @@ -4154,6 +4154,7 @@ class sccvn_dom_walker : public dom_walker public: sccvn_dom_walker () : dom_walker (CDI_DOMINATORS), fail (false), cond_stack (vNULL) {} + ~sccvn_dom_walker (); virtual void before_dom_children (basic_block); virtual void after_dom_children (basic_block); @@ -4168,6 +4169,11 @@ public: cond_stack; }; +sccvn_dom_walker::~sccvn_dom_walker () +{ + cond_stack.release (); +} + /* Record a temporary condition for the BB and its dominated blocks. */ void |