From 8bb6373a9467e08c9023d22ada5f76d6911a78b8 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 1 Jun 2015 14:43:47 +0200 Subject: [PATCH] Change use to type-based pool allocator in * sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator. (free_sched_pools): Likewise. * sel-sched-ir.h (_list_alloc): Likewise. (_list_remove): Likewise. From-SVN: r223959 --- gcc/ChangeLog | 7 +++++++ gcc/sel-sched-ir.c | 7 ++----- gcc/sel-sched-ir.h | 6 +++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ad3c1057a9e..42b567081de 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-06-01 Martin Liska + + * sel-sched-ir.c (alloc_sched_pools): Use new type-based pool allocator. + (free_sched_pools): Likewise. + * sel-sched-ir.h (_list_alloc): Likewise. + (_list_remove): Likewise. + 2015-06-01 Martin Liska * stmt.c (add_case_node): Use new type-based pool allocator. diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index 94f6c43a284..ffaba56de00 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -70,7 +70,7 @@ vec sel_region_bb_info = vNULL; /* A pool for allocating all lists. */ -alloc_pool sched_lists_pool; +pool_allocator<_list_node> sched_lists_pool ("sel-sched-lists", 500); /* This contains information about successors for compute_av_set. */ struct succs_info current_succs; @@ -5030,9 +5030,6 @@ alloc_sched_pools (void) succs_info_pool.size = succs_size; succs_info_pool.top = -1; succs_info_pool.max_top = -1; - - sched_lists_pool = create_alloc_pool ("sel-sched-lists", - sizeof (struct _list_node), 500); } /* Free the pools. */ @@ -5041,7 +5038,7 @@ free_sched_pools (void) { int i; - free_alloc_pool (sched_lists_pool); + sched_lists_pool.release (); gcc_assert (succs_info_pool.top == -1); for (i = 0; i <= succs_info_pool.max_top; i++) { diff --git a/gcc/sel-sched-ir.h b/gcc/sel-sched-ir.h index 91ce92feec9..3707a87c216 100644 --- a/gcc/sel-sched-ir.h +++ b/gcc/sel-sched-ir.h @@ -364,12 +364,12 @@ struct _list_node /* _list_t functions. All of _*list_* functions are used through accessor macros, thus we can't move them in sel-sched-ir.c. */ -extern alloc_pool sched_lists_pool; +extern pool_allocator<_list_node> sched_lists_pool; static inline _list_t _list_alloc (void) { - return (_list_t) pool_alloc (sched_lists_pool); + return sched_lists_pool.allocate (); } static inline void @@ -395,7 +395,7 @@ _list_remove (_list_t *lp) _list_t n = *lp; *lp = _LIST_NEXT (n); - pool_free (sched_lists_pool, n); + sched_lists_pool.remove (n); } static inline void -- 2.30.2