summaryrefslogtreecommitdiff
path: root/gcc/dse.c
diff options
context:
space:
mode:
authormiyuki <miyuki@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-16 00:56:54 +0000
committermiyuki <miyuki@138bc75d-0d04-0410-961f-82ee72b054a4>2015-09-16 00:56:54 +0000
commit1dc6c44db097c4037ff8a05ae4304bf335bb946f (patch)
treee915c259d85e8eae9618ae3fa48e6250374ddb3e /gcc/dse.c
parentfc9de3150224041738abb116c2c11e1a73fa2cb0 (diff)
downloadgcc-1dc6c44db097c4037ff8a05ae4304bf335bb946f.tar.gz
Share memory blocks between pool allocators
gcc/ * Makefile.in: Add memory-block.cc (pool_allocator::initialize): Use fixed block size. (pool_allocator::release): Use memory_block_pool. (pool_allocator::allocate): Likewise. * asan.c (asan_mem_ref_pool): Adjust to use common block size in all object pools. * cfg.c (initialize_original_copy_tables): Likewise. * cselib.c (elt_list_pool, elt_loc_list_pool, cselib_val_pool): Likewise. * df-problems.c (df_chain_alloc): Likewise. * df-scan.c (df_scan_alloc): Likewise. * dse.c (cse_store_info_pool, rtx_store_info_pool, read_info_type_pool, insn_info_type_pool, bb_info_pool, group_info_pool, deferred_change_pool): Likewise. * et-forest.c (et_nodes, et_occurrences): Likewise. * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool, ipcp_agg_lattice_pool): Likewise. * ipa-inline-analysis.c (edge_predicate_pool): Likewise. * ipa-profile.c (histogram_pool): Likewise. * ipa-prop.c (ipa_refdesc_pool): Likewise. * ira-build.c (live_range_pool, allocno_pool, object_pool, initiate_cost_vectors, pref_pool, copy_pool): Likewise. * ira-color.c (update_cost_record_pool): Likewise. * lra-lives.c (lra_live_range_pool): Likewise. * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise. * memory-block.cc: New file. * memory-block.h: New file. * regcprop.c (queued_debug_insn_change_pool): Use common block size. * sched-deps.c (sched_deps_init): Likewise. * sel-sched-ir.c (sched_lists_pool): Likewise. * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise. * tree-sra.c (access_pool): Likewise. * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise. * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise. * tree-ssa-reassoc.c (operand_entry_pool): Likewise. * tree-ssa-sccvn.c (allocate_vn_table): Likewise. * tree-ssa-strlen.c (strinfo_pool): Likewise. * tree-ssa-structalias.c (variable_info_pool): Likewise. * var-tracking.c (attrs_def_pool, var_pool, valvar_pool, location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise. gcc/c-family/ * c-format.c (check_format_arg): Adjust to use common block size in all object pools. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227817 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dse.c')
-rw-r--r--gcc/dse.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/gcc/dse.c b/gcc/dse.c
index 0634d9db930..86d058984a9 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -307,11 +307,9 @@ lowpart_bitmask (int n)
return mask >> (HOST_BITS_PER_WIDE_INT - n);
}
-static object_allocator<store_info> cse_store_info_pool ("cse_store_info_pool",
- 100);
+static object_allocator<store_info> cse_store_info_pool ("cse_store_info_pool");
-static object_allocator<store_info> rtx_store_info_pool ("rtx_store_info_pool",
- 100);
+static object_allocator<store_info> rtx_store_info_pool ("rtx_store_info_pool");
/* This structure holds information about a load. These are only
built for rtx bases. */
@@ -336,8 +334,7 @@ struct read_info_type
};
typedef struct read_info_type *read_info_t;
-static object_allocator<read_info_type> read_info_type_pool
- ("read_info_pool", 100);
+static object_allocator<read_info_type> read_info_type_pool ("read_info_pool");
/* One of these records is created for each insn. */
@@ -426,8 +423,7 @@ struct insn_info_type
};
typedef struct insn_info_type *insn_info_t;
-static object_allocator<insn_info_type> insn_info_type_pool
- ("insn_info_pool", 100);
+static object_allocator<insn_info_type> insn_info_type_pool ("insn_info_pool");
/* The linked list of stores that are under consideration in this
basic block. */
@@ -494,7 +490,7 @@ struct dse_bb_info_type
typedef struct dse_bb_info_type *bb_info_t;
static object_allocator<dse_bb_info_type> dse_bb_info_type_pool
- ("bb_info_pool", 100);
+ ("bb_info_pool");
/* Table to hold all bb_infos. */
static bb_info_t *bb_table;
@@ -564,8 +560,7 @@ struct group_info
int offset_map_size_n, offset_map_size_p;
};
-static object_allocator<group_info> group_info_pool
- ("rtx_group_info_pool", 100);
+static object_allocator<group_info> group_info_pool ("rtx_group_info_pool");
/* Index into the rtx_group_vec. */
static int rtx_group_next_id;
@@ -589,7 +584,7 @@ struct deferred_change
};
static object_allocator<deferred_change> deferred_change_pool
- ("deferred_change_pool", 10);
+ ("deferred_change_pool");
static deferred_change *deferred_change_list = NULL;