diff options
Diffstat (limited to 'gcc/varpool.c')
-rw-r--r-- | gcc/varpool.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/varpool.c b/gcc/varpool.c index f1f6a31..41b83d7 100644 --- a/gcc/varpool.c +++ b/gcc/varpool.c @@ -38,6 +38,7 @@ along with GCC; see the file COPYING3. If not see #include "tree-ssa-alias.h" #include "gimple.h" #include "lto-streamer.h" +#include "hash-set.h" const char * const tls_model_names[]={"none", "tls-emulated", "tls-real", "tls-global-dynamic", "tls-local-dynamic", @@ -577,7 +578,7 @@ varpool_remove_unreferenced_decls (void) varpool_node *first = (varpool_node *)(void *)1; int i; struct ipa_ref *ref = NULL; - struct pointer_set_t *referenced = pointer_set_create (); + hash_set<varpool_node *> referenced; if (seen_error ()) return; @@ -624,7 +625,7 @@ varpool_remove_unreferenced_decls (void) && vnode->analyzed) enqueue_node (vnode, &first); else - pointer_set_insert (referenced, node); + referenced.add (node); } } if (cgraph_dump_file) @@ -636,13 +637,13 @@ varpool_remove_unreferenced_decls (void) { if (cgraph_dump_file) fprintf (cgraph_dump_file, " %s", node->asm_name ()); - if (pointer_set_contains (referenced, node)) + if (referenced.contains (node)) node->remove_initializer (); else node->remove (); } } - pointer_set_destroy (referenced); + if (cgraph_dump_file) fprintf (cgraph_dump_file, "\n"); } |