diff options
author | Richard Guenther <rguenther@suse.de> | 2007-03-31 14:07:29 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-03-31 14:07:29 +0000 |
commit | 6be42dd4a21f046a05ccbb5c27cda488bd1c5113 (patch) | |
tree | e35d13b4ee94edc9550a7d68aaf4c9f58eb9c1b3 /gcc/cp/optimize.c | |
parent | d393153e7fb5a4bc1ed79b72c5c6d6c6ccc195b6 (diff) | |
download | gcc-6be42dd4a21f046a05ccbb5c27cda488bd1c5113.zip gcc-6be42dd4a21f046a05ccbb5c27cda488bd1c5113.tar.gz gcc-6be42dd4a21f046a05ccbb5c27cda488bd1c5113.tar.bz2 |
omp-low.c (splay-tree.h): Include.
2007-03-31 Richard Guenther <rguenther@suse.de>
* omp-low.c (splay-tree.h): Include.
(lookup_decl): Replace splay-tree usage by pointer-map.
(maybe_lookup_decl): Likewise.
(new_omp_context): Likewise.
(delete_omp_context): Likewise.
* gimplify.c (splay-tree.h): Include.
* tree-inline.c (insert_decl_map): Replace splay-tree usage by
pointer-map.
(remap_ssa_name): Likewise.
(remap_decl): Likewise.
(remap_type_1): Likewise.
(remap_type): Likewise.
(copy_body_r): Likewise.
(expand_call_inline): Likewise.
(clone_body): Likewise.
(copy_tree_r): Likewise.
(remap_save_expr): Likewise.
(unsave_r): Likewise.
(unsave_expr_now): Likewise.
(tree_function_versioning): Likewise.
(build_duplicate_type): Likewise.
* tree-inline.h (pointer-set.h): Include instead of splay-tree.h.
(struct copy_body_data): Replace splay-tree by pointer-map.
* Makefile.in (TREE_INLINE_H): Depend on pointer-map.h, not $(SPLAY_TREE_H).
(gimplify.o): Depend on $(SPLAY_TREE_H).
(omp-low.p): Likewise.
* optimize.c (maybe_clone_body): Replace splay-tree usage by
pointer-map.
From-SVN: r123381
Diffstat (limited to 'gcc/cp/optimize.c')
-rw-r--r-- | gcc/cp/optimize.c | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c index 839c4e6..1b50825 100644 --- a/gcc/cp/optimize.c +++ b/gcc/cp/optimize.c @@ -99,7 +99,7 @@ maybe_clone_body (tree fn) tree parm; tree clone_parm; int parmno; - splay_tree decl_map; + struct pointer_map_t *decl_map; /* Update CLONE's source position information to match FN's. */ DECL_SOURCE_LOCATION (clone) = DECL_SOURCE_LOCATION (fn); @@ -139,7 +139,7 @@ maybe_clone_body (tree fn) start_preparsed_function (clone, NULL_TREE, SF_PRE_PARSED); /* Remap the parameters. */ - decl_map = splay_tree_new (splay_tree_compare_pointers, NULL, NULL); + decl_map = pointer_map_create (); for (parmno = 0, parm = DECL_ARGUMENTS (fn), clone_parm = DECL_ARGUMENTS (clone); @@ -152,9 +152,7 @@ maybe_clone_body (tree fn) { tree in_charge; in_charge = in_charge_arg_for_name (DECL_NAME (clone)); - splay_tree_insert (decl_map, - (splay_tree_key) parm, - (splay_tree_value) in_charge); + *pointer_map_insert (decl_map, parm) = in_charge; } else if (DECL_ARTIFICIAL (parm) && DECL_NAME (parm) == vtt_parm_identifier) @@ -165,26 +163,18 @@ maybe_clone_body (tree fn) if (DECL_HAS_VTT_PARM_P (clone)) { DECL_ABSTRACT_ORIGIN (clone_parm) = parm; - splay_tree_insert (decl_map, - (splay_tree_key) parm, - (splay_tree_value) clone_parm); + *pointer_map_insert (decl_map, parm) = clone_parm; clone_parm = TREE_CHAIN (clone_parm); } /* Otherwise, map the VTT parameter to `NULL'. */ else - { - splay_tree_insert (decl_map, - (splay_tree_key) parm, - (splay_tree_value) null_pointer_node); - } + *pointer_map_insert (decl_map, parm) = null_pointer_node; } /* Map other parameters to their equivalents in the cloned function. */ else { - splay_tree_insert (decl_map, - (splay_tree_key) parm, - (splay_tree_value) clone_parm); + *pointer_map_insert (decl_map, parm) = clone_parm; clone_parm = TREE_CHAIN (clone_parm); } } @@ -193,14 +183,13 @@ maybe_clone_body (tree fn) { parm = DECL_RESULT (fn); clone_parm = DECL_RESULT (clone); - splay_tree_insert (decl_map, (splay_tree_key) parm, - (splay_tree_value) clone_parm); + *pointer_map_insert (decl_map, parm) = clone_parm; } /* Clone the body. */ clone_body (clone, fn, decl_map); /* Clean up. */ - splay_tree_delete (decl_map); + pointer_map_destroy (decl_map); /* The clone can throw iff the original function can throw. */ cp_function_chain->can_throw = !TREE_NOTHROW (fn); |