diff options
author | marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-04 11:56:50 +0000 |
---|---|---|
committer | marxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-08-04 11:56:50 +0000 |
commit | 347a47cbf5f8ee0bc7e11dc97703b318d3ff259c (patch) | |
tree | 2217af79011362dc9a023ba16850a1a06b4a7c2b /gcc/ipa-utils.c | |
parent | 0549e5a2e6ccee1c644977d3d43aef99d39c2088 (diff) | |
download | gcc-347a47cbf5f8ee0bc7e11dc97703b318d3ff259c.tar.gz |
IPA C++ refactoring 3/N
* cgraph.h (csi_end_p): Removed.
(csi_next): Likewise.
(csi_node): Likewise.
(csi_start): Likewise.
(cgraph_node_in_set_p): Likewise.
(cgraph_node_set_size): Likewise.
(vsi_end_p): Likewise.
(vsi_next): Likewise.
(vsi_node): Likewise.
(vsi_start): Likewise.
(varpool_node_set_size): Likewise.
(cgraph_node_set_nonempty_p): Likewise.
(varpool_node_set_nonempty_p): Likewise.
* cgraphunit.c (cgraph_process_new_functions): vec replaces
cgraph_node_set.
* ipa-inline-transform.c: Likewise.
* ipa-utils.c (cgraph_node_set_new): Removed.
(cgraph_node_set_add): Likewise.
(cgraph_node_set_remove): Likewise.
(cgraph_node_set_find): Likewise.
(dump_cgraph_node_set): Likewise.
(debug_cgraph_node_set): Likewise.
(free_cgraph_node_set): Likewise.
(varpool_node_set_new): Likewise.
(varpool_node_set_add): Likewise.
(varpool_node_set_remove): Likewise.
(varpool_node_set_find): Likewise.
(dump_varpool_node_set): Likewise.
(free_varpool_node_set): Likewise.
(debug_varpool_node_set): Likewise.
* tree-emutls.c (struct tls_var_data):
(emutls_index): Removed.
(emutls_decl): Likewise.
(gen_emutls_addr): Function implementation uses newly added
hash_map<varpool_node *, tls_var_data>.
(clear_access_vars): Likewise.
(create_emultls_var): Likewise.
(ipa_lower_emutls): Likewise.
(reset_access): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213573 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ipa-utils.c')
-rw-r--r-- | gcc/ipa-utils.c | 252 |
1 files changed, 0 insertions, 252 deletions
diff --git a/gcc/ipa-utils.c b/gcc/ipa-utils.c index 265b88eaf8f..590ac270d0a 100644 --- a/gcc/ipa-utils.c +++ b/gcc/ipa-utils.c @@ -381,258 +381,6 @@ get_base_var (tree t) } -/* Create a new cgraph node set. */ - -cgraph_node_set -cgraph_node_set_new (void) -{ - cgraph_node_set new_node_set; - - new_node_set = XCNEW (struct cgraph_node_set_def); - new_node_set->map = new hash_map<cgraph_node *, size_t>; - new_node_set->nodes.create (0); - return new_node_set; -} - - -/* Add cgraph_node NODE to cgraph_node_set SET. */ - -void -cgraph_node_set_add (cgraph_node_set set, struct cgraph_node *node) -{ - bool existed_p; - size_t &index = set->map->get_or_insert (node, &existed_p); - - if (existed_p) - { - gcc_checking_assert ((set->nodes[index] - == node)); - return; - } - - index = set->nodes.length () + 1; - - /* Insert into node vector. */ - set->nodes.safe_push (node); -} - - -/* Remove cgraph_node NODE from cgraph_node_set SET. */ - -void -cgraph_node_set_remove (cgraph_node_set set, struct cgraph_node *node) -{ - int index; - struct cgraph_node *last_node; - - size_t *slot = set->map->get (node); - if (slot == NULL || !*slot) - return; - - index = *slot - 1; - gcc_checking_assert (set->nodes[index] - == node); - - /* Remove from vector. We do this by swapping node with the last element - of the vector. */ - last_node = set->nodes.pop (); - if (last_node != node) - { - size_t *last_slot = set->map->get (last_node); - gcc_checking_assert (last_slot && *last_slot); - *last_slot = index + 1; - - /* Move the last element to the original spot of NODE. */ - set->nodes[index] = last_node; - } - - /* Remove element from hash table. */ - set->map->remove (node); -} - - -/* Find NODE in SET and return an iterator to it if found. A null iterator - is returned if NODE is not in SET. */ - -cgraph_node_set_iterator -cgraph_node_set_find (cgraph_node_set set, struct cgraph_node *node) -{ - size_t *slot; - cgraph_node_set_iterator csi; - - slot = set->map->get (node); - if (slot == NULL || !*slot) - csi.index = (unsigned) ~0; - else - csi.index = *slot - 1; - csi.set = set; - - return csi; -} - - -/* Dump content of SET to file F. */ - -void -dump_cgraph_node_set (FILE *f, cgraph_node_set set) -{ - cgraph_node_set_iterator iter; - - for (iter = csi_start (set); !csi_end_p (iter); csi_next (&iter)) - { - struct cgraph_node *node = csi_node (iter); - fprintf (f, " %s/%i", node->name (), node->order); - } - fprintf (f, "\n"); -} - - -/* Dump content of SET to stderr. */ - -DEBUG_FUNCTION void -debug_cgraph_node_set (cgraph_node_set set) -{ - dump_cgraph_node_set (stderr, set); -} - - -/* Free varpool node set. */ - -void -free_cgraph_node_set (cgraph_node_set set) -{ - set->nodes.release (); - delete set->map; - free (set); -} - - -/* Create a new varpool node set. */ - -varpool_node_set -varpool_node_set_new (void) -{ - varpool_node_set new_node_set; - - new_node_set = XCNEW (struct varpool_node_set_def); - new_node_set->map = new hash_map<varpool_node *, size_t>; - new_node_set->nodes.create (0); - return new_node_set; -} - - -/* Add varpool_node NODE to varpool_node_set SET. */ - -void -varpool_node_set_add (varpool_node_set set, varpool_node *node) -{ - bool existed; - size_t &slot = set->map->get_or_insert (node, &existed); - - if (existed) - { - int index = slot - 1; - gcc_checking_assert ((set->nodes[index] - == node)); - return; - } - - slot = set->nodes.length () + 1; - - /* Insert into node vector. */ - set->nodes.safe_push (node); -} - - -/* Remove varpool_node NODE from varpool_node_set SET. */ - -void -varpool_node_set_remove (varpool_node_set set, varpool_node *node) -{ - int index; - varpool_node *last_node; - - size_t *slot = set->map->get (node); - if (slot == NULL || !*slot) - return; - - index = *slot - 1; - gcc_checking_assert (set->nodes[index] - == node); - - /* Remove from vector. We do this by swapping node with the last element - of the vector. */ - last_node = set->nodes.pop (); - if (last_node != node) - { - size_t *last_slot = set->map->get (last_node); - gcc_checking_assert (last_slot && *last_slot); - *last_slot = index + 1; - - /* Move the last element to the original spot of NODE. */ - set->nodes[index] = last_node; - } - - /* Remove element from hash table. */ - set->map->remove (node); -} - - -/* Find NODE in SET and return an iterator to it if found. A null iterator - is returned if NODE is not in SET. */ - -varpool_node_set_iterator -varpool_node_set_find (varpool_node_set set, varpool_node *node) -{ - varpool_node_set_iterator vsi; - - size_t *slot = set->map->get (node); - if (slot == NULL || !*slot) - vsi.index = (unsigned) ~0; - else - vsi.index = *slot - 1; - vsi.set = set; - - return vsi; -} - - -/* Dump content of SET to file F. */ - -void -dump_varpool_node_set (FILE *f, varpool_node_set set) -{ - varpool_node_set_iterator iter; - - for (iter = vsi_start (set); !vsi_end_p (iter); vsi_next (&iter)) - { - varpool_node *node = vsi_node (iter); - fprintf (f, " %s", node->name ()); - } - fprintf (f, "\n"); -} - - -/* Free varpool node set. */ - -void -free_varpool_node_set (varpool_node_set set) -{ - set->nodes.release (); - delete set->map; - free (set); -} - - -/* Dump content of SET to stderr. */ - -DEBUG_FUNCTION void -debug_varpool_node_set (varpool_node_set set) -{ - dump_varpool_node_set (stderr, set); -} - - /* SRC and DST are going to be merged. Take SRC's profile and merge it into DST so it is not going to be lost. Destroy SRC's body on the way. */ |