aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ipa-utils.c')
-rw-r--r--gcc/ipa-utils.c252
1 files changed, 0 insertions, 252 deletions
diff --git a/gcc/ipa-utils.c b/gcc/ipa-utils.c
index 265b88e..590ac27 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. */