]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Change use to type-based pool allocator in cfg.c.
authorMartin Liska <mliska@suse.cz>
Mon, 1 Jun 2015 12:38:23 +0000 (14:38 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 1 Jun 2015 12:38:23 +0000 (12:38 +0000)
* cfg.c (initialize_original_copy_tables):Use new type-based pool allocator.
(free_original_copy_tables) Likewise.
(copy_original_table_clear) Likewise.
(copy_original_table_set) Likewise.

From-SVN: r223950

gcc/ChangeLog
gcc/cfg.c

index e1bdc4e57c8353d8704dca31e8bca90f216e7842..ef7e40afee757a318a2d1d623a92b33bcb316c28 100644 (file)
@@ -1,3 +1,10 @@
+2015-06-01  Martin Liska  <mliska@suse.cz>
+
+       * cfg.c (initialize_original_copy_tables):Use new type-based pool allocator.
+       (free_original_copy_tables) Likewise.
+       (copy_original_table_clear) Likewise.
+       (copy_original_table_set) Likewise.
+
 2015-06-01  Martin Liska  <mliska@suse.cz>
 
        * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based pool allocator.
index cdcc01c9a1cf0d5b5a0fce63cea6a39ac93fe746..ddfecdcd6fafed7529241aee40c6ecea02e03578 100644 (file)
--- a/gcc/cfg.c
+++ b/gcc/cfg.c
@@ -1066,18 +1066,16 @@ static hash_table<bb_copy_hasher> *bb_copy;
 
 /* And between loops and copies.  */
 static hash_table<bb_copy_hasher> *loop_copy;
-static alloc_pool original_copy_bb_pool;
-
+static pool_allocator<htab_bb_copy_original_entry> *original_copy_bb_pool;
 
 /* Initialize the data structures to maintain mapping between blocks
    and its copies.  */
 void
 initialize_original_copy_tables (void)
 {
-  gcc_assert (!original_copy_bb_pool);
-  original_copy_bb_pool
-    = create_alloc_pool ("original_copy",
-                        sizeof (struct htab_bb_copy_original_entry), 10);
+
+  original_copy_bb_pool = new pool_allocator<htab_bb_copy_original_entry>
+    ("original_copy", 10);
   bb_original = new hash_table<bb_copy_hasher> (10);
   bb_copy = new hash_table<bb_copy_hasher> (10);
   loop_copy = new hash_table<bb_copy_hasher> (10);
@@ -1095,7 +1093,7 @@ free_original_copy_tables (void)
   bb_copy = NULL;
   delete loop_copy;
   loop_copy = NULL;
-  free_alloc_pool (original_copy_bb_pool);
+  delete original_copy_bb_pool;
   original_copy_bb_pool = NULL;
 }
 
@@ -1117,7 +1115,7 @@ copy_original_table_clear (hash_table<bb_copy_hasher> *tab, unsigned obj)
 
   elt = *slot;
   tab->clear_slot (slot);
-  pool_free (original_copy_bb_pool, elt);
+  original_copy_bb_pool->remove (elt);
 }
 
 /* Sets the value associated with OBJ in table TAB to VAL.
@@ -1137,8 +1135,7 @@ copy_original_table_set (hash_table<bb_copy_hasher> *tab,
   slot = tab->find_slot (&key, INSERT);
   if (!*slot)
     {
-      *slot = (struct htab_bb_copy_original_entry *)
-               pool_alloc (original_copy_bb_pool);
+      *slot = original_copy_bb_pool->allocate ();
       (*slot)->index1 = obj;
     }
   (*slot)->index2 = val;