aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2015-06-01 14:46:24 +0200
committerMartin Liska <marxin@gcc.gnu.org>2015-06-01 12:46:24 +0000
commit153e42282e7b27189cea89d4be6f2b251bdbae08 (patch)
tree8eba8f59d81cfaf564e75c3a81a62cc49ed13bc8
parent971540bd153e6dede58c6c9e26465338807623a5 (diff)
downloadgcc-153e42282e7b27189cea89d4be6f2b251bdbae08.zip
gcc-153e42282e7b27189cea89d4be6f2b251bdbae08.tar.gz
gcc-153e42282e7b27189cea89d4be6f2b251bdbae08.tar.bz2
Change use to type-based pool allocator in
* tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based pool allocator. (add_repeat_to_ops_vec): Likewise. (get_ops): Likewise. (maybe_optimize_range_tests): Likewise. (init_reassoc): Likewise. (fini_reassoc): Likewise. From-SVN: r223964
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/tree-ssa-reassoc.c19
2 files changed, 17 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ff8ac03..0ba22d6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,14 @@
2015-06-01 Martin Liska <mliska@suse.cz>
+ * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based pool allocator.
+ (add_repeat_to_ops_vec): Likewise.
+ (get_ops): Likewise.
+ (maybe_optimize_range_tests): Likewise.
+ (init_reassoc): Likewise.
+ (fini_reassoc): Likewise.
+
+2015-06-01 Martin Liska <mliska@suse.cz>
+
* tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based pool allocator.
(bitmap_set_new): Likewise.
(get_or_alloc_expr_for_constant): Likewise.
diff --git a/gcc/tree-ssa-reassoc.c b/gcc/tree-ssa-reassoc.c
index 8a64511..367f0eb 100644
--- a/gcc/tree-ssa-reassoc.c
+++ b/gcc/tree-ssa-reassoc.c
@@ -235,7 +235,8 @@ typedef struct operand_entry
unsigned int count;
} *operand_entry_t;
-static alloc_pool operand_entry_pool;
+static pool_allocator<operand_entry> operand_entry_pool ("operand entry pool",
+ 30);
/* This is used to assign a unique ID to each struct operand_entry
so that qsort results are identical on different hosts. */
@@ -592,7 +593,7 @@ sort_by_operand_rank (const void *pa, const void *pb)
static void
add_to_ops_vec (vec<operand_entry_t> *ops, tree op)
{
- operand_entry_t oe = (operand_entry_t) pool_alloc (operand_entry_pool);
+ operand_entry_t oe = operand_entry_pool.allocate ();
oe->op = op;
oe->rank = get_rank (op);
@@ -608,7 +609,7 @@ static void
add_repeat_to_ops_vec (vec<operand_entry_t> *ops, tree op,
HOST_WIDE_INT repeat)
{
- operand_entry_t oe = (operand_entry_t) pool_alloc (operand_entry_pool);
+ operand_entry_t oe = operand_entry_pool.allocate ();
oe->op = op;
oe->rank = get_rank (op);
@@ -2963,7 +2964,7 @@ get_ops (tree var, enum tree_code code, vec<operand_entry_t> *ops,
&& !get_ops (rhs[i], code, ops, loop)
&& has_single_use (rhs[i]))
{
- operand_entry_t oe = (operand_entry_t) pool_alloc (operand_entry_pool);
+ operand_entry_t oe = operand_entry_pool.allocate ();
oe->op = rhs[i];
oe->rank = code;
@@ -3196,8 +3197,7 @@ maybe_optimize_range_tests (gimple stmt)
&& has_single_use (rhs))
{
/* Otherwise, push the _234 range test itself. */
- operand_entry_t oe
- = (operand_entry_t) pool_alloc (operand_entry_pool);
+ operand_entry_t oe = operand_entry_pool.allocate ();
oe->op = rhs;
oe->rank = code;
@@ -3229,8 +3229,7 @@ maybe_optimize_range_tests (gimple stmt)
loop_containing_stmt (stmt))))
{
/* Or push the GIMPLE_COND stmt itself. */
- operand_entry_t oe
- = (operand_entry_t) pool_alloc (operand_entry_pool);
+ operand_entry_t oe = operand_entry_pool.allocate ();
oe->op = NULL;
oe->rank = (e->flags & EDGE_TRUE_VALUE)
@@ -5008,8 +5007,6 @@ init_reassoc (void)
memset (&reassociate_stats, 0, sizeof (reassociate_stats));
- operand_entry_pool = create_alloc_pool ("operand entry pool",
- sizeof (struct operand_entry), 30);
next_operand_entry_id = 0;
/* Reverse RPO (Reverse Post Order) will give us something where
@@ -5058,7 +5055,7 @@ fini_reassoc (void)
reassociate_stats.pows_created);
delete operand_rank;
- free_alloc_pool (operand_entry_pool);
+ operand_entry_pool.release ();
free (bb_rank);
plus_negates.release ();
free_dominance_info (CDI_POST_DOMINATORS);