From 7c5848b89955c3ec45a78630f23d610f13e3e47b Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Mon, 24 Jun 2013 12:17:16 +0000 Subject: pointer-set.h (struct pointer_set_t): Move here from pointer-set.c. 2013-06-24 Richard Biener * pointer-set.h (struct pointer_set_t): Move here from pointer-set.c. (pointer_set_lookup): Declare. (class pointer_map): New template class implementing a generic pointer to T map. (pointer_map::pointer_map, pointer_map::~pointer_map, pointer_map::contains, pointer_map::insert, pointer_map::traverse): New functions. * pointer-set.c (struct pointer_set_t): Moved to pointer-set.h. (pointer_set_lookup): New function. (pointer_set_contains): Use pointer_set_lookup. (pointer_set_insert): Likewise. (insert_aux): Remove. (struct pointer_map_t): Embed a pointer_set_t. (pointer_map_create): Adjust. (pointer_map_destroy): Likewise. (pointer_map_contains): Likewise. (pointer_map_insert): Likewise. (pointer_map_traverse): Likewise. * tree-streamer.h (struct streamer_tree_cache_d): Use a pointer_map instead of a pointer_map_t. * tree-streamer.c (streamer_tree_cache_insert_1): Adjust. (streamer_tree_cache_lookup): Likewise. (streamer_tree_cache_create): Likewise. (streamer_tree_cache_delete): Likewise. * lto-streamer.h (struct lto_tree_ref_encoder): Use a pointer_map instead of a pointer_map_t. (lto_init_tree_ref_encoder): Adjust. (lto_destroy_tree_ref_encoder): Likewise. * lto-section-out.c (lto_output_decl_index): Likewise. (lto_record_function_out_decl_state): Likewise. * dominance.c (iterate_fix_dominators): Use pointer_map. From-SVN: r200367 --- gcc/dominance.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gcc/dominance.c') diff --git a/gcc/dominance.c b/gcc/dominance.c index 5c96dad..569f1f4 100644 --- a/gcc/dominance.c +++ b/gcc/dominance.c @@ -1248,7 +1248,7 @@ iterate_fix_dominators (enum cdi_direction dir, vec bbs, size_t dom_i; edge e; edge_iterator ei; - struct pointer_map_t *map; + pointer_map *map; int *parent, *son, *brother; unsigned int dir_index = dom_convert_dir_to_idx (dir); @@ -1336,15 +1336,15 @@ iterate_fix_dominators (enum cdi_direction dir, vec bbs, } /* Construct the graph G. */ - map = pointer_map_create (); + map = new pointer_map; FOR_EACH_VEC_ELT (bbs, i, bb) { /* If the dominance tree is conservatively correct, split it now. */ if (conservative) set_immediate_dominator (CDI_DOMINATORS, bb, NULL); - *pointer_map_insert (map, bb) = (void *) (size_t) i; + *map->insert (bb) = i; } - *pointer_map_insert (map, ENTRY_BLOCK_PTR) = (void *) (size_t) n; + *map->insert (ENTRY_BLOCK_PTR) = n; g = new_graph (n + 1); for (y = 0; y < g->n_vertices; y++) @@ -1357,7 +1357,7 @@ iterate_fix_dominators (enum cdi_direction dir, vec bbs, if (dom == bb) continue; - dom_i = (size_t) *pointer_map_contains (map, dom); + dom_i = *map->contains (dom); /* Do not include parallel edges to G. */ if (!bitmap_set_bit ((bitmap) g->vertices[dom_i].data, i)) @@ -1368,7 +1368,7 @@ iterate_fix_dominators (enum cdi_direction dir, vec bbs, } for (y = 0; y < g->n_vertices; y++) BITMAP_FREE (g->vertices[y].data); - pointer_map_destroy (map); + delete map; /* Find the dominator tree of G. */ son = XNEWVEC (int, n + 1); -- cgit v1.1