aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-low.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r--gcc/omp-low.c41
1 files changed, 19 insertions, 22 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c
index b46693b..0fe2a40 100644
--- a/gcc/omp-low.c
+++ b/gcc/omp-low.c
@@ -812,16 +812,14 @@ is_reference (tree decl)
static inline tree
lookup_decl (tree var, omp_context *ctx)
{
- tree *n;
- n = (tree *) pointer_map_contains (ctx->cb.decl_map, var);
+ tree *n = ctx->cb.decl_map->get (var);
return *n;
}
static inline tree
maybe_lookup_decl (const_tree var, omp_context *ctx)
{
- tree *n;
- n = (tree *) pointer_map_contains (ctx->cb.decl_map, var);
+ tree *n = ctx->cb.decl_map->get (const_cast<tree> (var));
return n ? *n : NULL_TREE;
}
@@ -1359,7 +1357,7 @@ new_omp_context (gimple stmt, omp_context *outer_ctx)
ctx->depth = 1;
}
- ctx->cb.decl_map = pointer_map_create ();
+ ctx->cb.decl_map = new hash_map<tree, tree>;
return ctx;
}
@@ -1408,7 +1406,7 @@ delete_omp_context (splay_tree_value value)
{
omp_context *ctx = (omp_context *) value;
- pointer_map_destroy (ctx->cb.decl_map);
+ delete ctx->cb.decl_map;
if (ctx->field_map)
splay_tree_delete (ctx->field_map);
@@ -6541,7 +6539,6 @@ expand_omp_for_static_chunk (struct omp_region *region,
gimple_stmt_iterator psi;
gimple phi;
edge re, ene;
- edge_var_map_vector *head;
edge_var_map *vm;
size_t i;
@@ -6552,7 +6549,7 @@ expand_omp_for_static_chunk (struct omp_region *region,
appropriate phi nodes in iter_part_bb instead. */
se = single_pred_edge (fin_bb);
re = single_succ_edge (trip_update_bb);
- head = redirect_edge_var_map_vector (re);
+ vec<edge_var_map> *head = redirect_edge_var_map_vector (re);
ene = single_succ_edge (entry_bb);
psi = gsi_start_phis (fin_bb);
@@ -9219,7 +9216,7 @@ task_copyfn_remap_type (struct omp_taskcopy_context *tcctx, tree orig_type)
walk_tree (&DECL_FIELD_OFFSET (new_f), copy_tree_body_r,
&tcctx->cb, NULL);
new_fields = new_f;
- *pointer_map_insert (tcctx->cb.decl_map, f) = new_f;
+ tcctx->cb.decl_map->put (f, new_f);
}
TYPE_FIELDS (type) = nreverse (new_fields);
layout_type (type);
@@ -9286,7 +9283,7 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
tcctx.cb.copy_decl = task_copyfn_copy_decl;
tcctx.cb.eh_lp_nr = 0;
tcctx.cb.transform_call_graph_edges = CB_CGE_MOVE;
- tcctx.cb.decl_map = pointer_map_create ();
+ tcctx.cb.decl_map = new hash_map<tree, tree>;
tcctx.ctx = ctx;
if (record_needs_remap)
@@ -9311,12 +9308,12 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
tree *p;
decl = OMP_CLAUSE_DECL (c);
- p = (tree *) pointer_map_contains (tcctx.cb.decl_map, decl);
+ p = tcctx.cb.decl_map->get (decl);
if (p == NULL)
continue;
n = splay_tree_lookup (ctx->sfield_map, (splay_tree_key) decl);
sf = (tree) n->value;
- sf = *(tree *) pointer_map_contains (tcctx.cb.decl_map, sf);
+ sf = *tcctx.cb.decl_map->get (sf);
src = build_simple_mem_ref_loc (loc, sarg);
src = omp_build_component_ref (src, sf);
t = build2 (MODIFY_EXPR, TREE_TYPE (*p), *p, src);
@@ -9335,11 +9332,11 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
break;
f = (tree) n->value;
if (tcctx.cb.decl_map)
- f = *(tree *) pointer_map_contains (tcctx.cb.decl_map, f);
+ f = *tcctx.cb.decl_map->get (f);
n = splay_tree_lookup (ctx->sfield_map, (splay_tree_key) decl);
sf = (tree) n->value;
if (tcctx.cb.decl_map)
- sf = *(tree *) pointer_map_contains (tcctx.cb.decl_map, sf);
+ sf = *tcctx.cb.decl_map->get (sf);
src = build_simple_mem_ref_loc (loc, sarg);
src = omp_build_component_ref (src, sf);
dst = build_simple_mem_ref_loc (loc, arg);
@@ -9356,13 +9353,13 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
break;
f = (tree) n->value;
if (tcctx.cb.decl_map)
- f = *(tree *) pointer_map_contains (tcctx.cb.decl_map, f);
+ f = *tcctx.cb.decl_map->get (f);
n = splay_tree_lookup (ctx->sfield_map, (splay_tree_key) decl);
if (n != NULL)
{
sf = (tree) n->value;
if (tcctx.cb.decl_map)
- sf = *(tree *) pointer_map_contains (tcctx.cb.decl_map, sf);
+ sf = *tcctx.cb.decl_map->get (sf);
src = build_simple_mem_ref_loc (loc, sarg);
src = omp_build_component_ref (src, sf);
if (use_pointer_for_field (decl, NULL) || is_reference (decl))
@@ -9382,13 +9379,13 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
n = splay_tree_lookup (ctx->field_map, (splay_tree_key) decl);
f = (tree) n->value;
if (tcctx.cb.decl_map)
- f = *(tree *) pointer_map_contains (tcctx.cb.decl_map, f);
+ f = *tcctx.cb.decl_map->get (f);
n = splay_tree_lookup (ctx->sfield_map, (splay_tree_key) decl);
if (n != NULL)
{
sf = (tree) n->value;
if (tcctx.cb.decl_map)
- sf = *(tree *) pointer_map_contains (tcctx.cb.decl_map, sf);
+ sf = *tcctx.cb.decl_map->get (sf);
src = build_simple_mem_ref_loc (loc, sarg);
src = omp_build_component_ref (src, sf);
if (use_pointer_for_field (decl, NULL))
@@ -9419,7 +9416,7 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
if (n == NULL)
continue;
f = (tree) n->value;
- f = *(tree *) pointer_map_contains (tcctx.cb.decl_map, f);
+ f = *tcctx.cb.decl_map->get (f);
gcc_assert (DECL_HAS_VALUE_EXPR_P (decl));
ind = DECL_VALUE_EXPR (decl);
gcc_assert (TREE_CODE (ind) == INDIRECT_REF);
@@ -9427,7 +9424,7 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
n = splay_tree_lookup (ctx->sfield_map,
(splay_tree_key) TREE_OPERAND (ind, 0));
sf = (tree) n->value;
- sf = *(tree *) pointer_map_contains (tcctx.cb.decl_map, sf);
+ sf = *tcctx.cb.decl_map->get (sf);
src = build_simple_mem_ref_loc (loc, sarg);
src = omp_build_component_ref (src, sf);
src = build_simple_mem_ref_loc (loc, src);
@@ -9438,7 +9435,7 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
n = splay_tree_lookup (ctx->field_map,
(splay_tree_key) TREE_OPERAND (ind, 0));
df = (tree) n->value;
- df = *(tree *) pointer_map_contains (tcctx.cb.decl_map, df);
+ df = *tcctx.cb.decl_map->get (df);
ptr = build_simple_mem_ref_loc (loc, arg);
ptr = omp_build_component_ref (ptr, df);
t = build2 (MODIFY_EXPR, TREE_TYPE (ptr), ptr,
@@ -9450,7 +9447,7 @@ create_task_copyfn (gimple task_stmt, omp_context *ctx)
append_to_statement_list (t, &list);
if (tcctx.cb.decl_map)
- pointer_map_destroy (tcctx.cb.decl_map);
+ delete tcctx.cb.decl_map;
pop_gimplify_context (NULL);
BIND_EXPR_BODY (bind) = list;
pop_cfun ();