diff options
author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-24 12:17:16 +0000 |
---|---|---|
committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-06-24 12:17:16 +0000 |
commit | ea1a929fd73a1d6c04c612149bbd68e26294c3f8 (patch) | |
tree | 0b144aa71725e9242031811c26d608114f637c95 /gcc/dominance.c | |
parent | 443752924e1b037c705e32c919bf6bc993fc10a5 (diff) | |
download | gcc-ea1a929fd73a1d6c04c612149bbd68e26294c3f8.tar.gz |
2013-06-24 Richard Biener <rguenther@suse.de>
* 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<T>::pointer_map, pointer_map<T>::~pointer_map,
pointer_map<T>::contains, pointer_map<T>::insert,
pointer_map<T>::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<unsigned> 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<unsigned> 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<int>.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@200367 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/dominance.c')
-rw-r--r-- | gcc/dominance.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gcc/dominance.c b/gcc/dominance.c index 5c96dadbbeb..569f1f43b21 100644 --- a/gcc/dominance.c +++ b/gcc/dominance.c @@ -1248,7 +1248,7 @@ iterate_fix_dominators (enum cdi_direction dir, vec<basic_block> bbs, size_t dom_i; edge e; edge_iterator ei; - struct pointer_map_t *map; + pointer_map<int> *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<basic_block> bbs, } /* Construct the graph G. */ - map = pointer_map_create (); + map = new pointer_map<int>; 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<basic_block> 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<basic_block> 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); |