tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
authorRichard Biener <rguenther@suse.de>
Fri, 6 Nov 2015 13:45:54 +0000 (13:45 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 6 Nov 2015 13:45:54 +0000 (13:45 +0000)
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

gcc/ChangeLog
gcc/ipa-inline-analysis.c
gcc/lra.c
gcc/postreload-gcse.c
gcc/sched-deps.c
gcc/tree-ssa-sccvn.c

index 0a83f6fbe9777da3558ddccfb1c390045c7433f0..f83d760354eb1869afdf7bbc367f18d461014342 100644 (file)
@@ -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
index a3cd769a46197e190ed335202d072faf52f16469..c07b0da9007ece1c778862d9f895afe02bc67ebf 100644 (file)
@@ -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)
index 0cd37f020328d5a0d523accd4207e4d1173e118f..0995c54aee446a49adbd67db1ec4c4beabb6788b 100644 (file)
--- a/gcc/lra.c
+++ b/gcc/lra.c
@@ -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);
 }
 
 
index ea4bba4365eedd802a60cd84ef5c92d14f6ef945..f8a770e25f2872d60c58cafb2622f49a3edc67f1 100644 (file)
@@ -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);
 }
 \f
 
index 220eea461f6c50cd5c3b839ffac3463e4d4c15e9..4f64fa9d78df060a624022101ee2fa547530ae5a 100644 (file)
@@ -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 ();
index 159a7b60f81ba7ea400b20ec9778a7011289d546..c5f5b2760d0266b5a03dcf56b9ed21a9ec8db088 100644 (file)
@@ -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