cgraph.c (cgraph_mark_needed_node, [...]): Use next_needed field instead of aux to maintain the queue.

* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
	cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
	Use next_needed field instead of aux to maintain the queue.
	* cgraph.h (cgraph_node): Add next_needed.
	(cgraph_varpool_node): Add next_needed; remove aux.
	* cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.

From-SVN: r68807
This commit is contained in:
Jan Hubicka 2003-07-02 02:17:38 +02:00 committed by Jan Hubicka
parent d6435621b2
commit 8bd87c4e73
4 changed files with 19 additions and 7 deletions

View File

@ -1,3 +1,12 @@
Wed Jul 2 02:16:48 CEST 2003 Jan Hubicka <jh@suse.cz>
* cgraph.c (cgraph_mark_needed_node, cgraph_varpool_mark_needed_node,
cgraph_varpool_finalize_decl, cgraph_varpool_assemble_pending_decls):
Use next_needed field instead of aux to maintain the queue.
* cgraph.h (cgraph_node): Add next_needed.
(cgraph_varpool_node): Add next_needed; remove aux.
* cgraphunit.c (cgraph_finalize_compilation_unit): Use next_needed.
Wed Jul 2 02:12:51 CEST 2003 Jan Hubicka <jh@suse.cz>
* cgraphunit.c (cgraph_finalize_function): Set finalized.

View File

@ -235,7 +235,7 @@ cgraph_mark_needed_node (node, needed)
node->reachable = 1;
if (DECL_SAVED_TREE (node->decl))
{
node->aux = cgraph_nodes_queue;
node->next_needed = cgraph_nodes_queue;
cgraph_nodes_queue = node;
}
}
@ -428,7 +428,7 @@ cgraph_varpool_mark_needed_node (struct cgraph_varpool_node *node)
{
if (!node->needed && node->finalized)
{
node->aux = cgraph_varpool_nodes_queue;
node->next_needed = cgraph_varpool_nodes_queue;
cgraph_varpool_nodes_queue = node;
}
node->needed = 1;
@ -441,7 +441,7 @@ cgraph_varpool_finalize_decl (tree decl)
if (node->needed && !node->finalized)
{
node->aux = cgraph_varpool_nodes_queue;
node->next_needed = cgraph_varpool_nodes_queue;
cgraph_varpool_nodes_queue = node;
}
node->finalized = true;
@ -469,13 +469,13 @@ cgraph_varpool_assemble_pending_decls ()
tree decl = cgraph_varpool_nodes_queue->decl;
struct cgraph_varpool_node *node = cgraph_varpool_nodes_queue;
cgraph_varpool_nodes_queue = cgraph_varpool_nodes_queue->aux;
cgraph_varpool_nodes_queue = cgraph_varpool_nodes_queue->next_needed;
if (!TREE_ASM_WRITTEN (decl))
{
assemble_variable (decl, 0, 1, 0);
changed = true;
}
node->aux = NULL;
node->next_needed = NULL;
}
return changed;
}

View File

@ -75,6 +75,8 @@ struct cgraph_node GTY(())
struct cgraph_node *nested;
/* Pointer to the next function with same origin, if any. */
struct cgraph_node *next_nested;
/* Pointer to the next function in cgraph_nodes_queue. */
struct cgraph_node *next_needed;
PTR GTY ((skip (""))) aux;
/* Set when function must be output - it is externally visible
@ -108,7 +110,8 @@ struct cgraph_edge GTY(())
struct cgraph_varpool_node GTY(())
{
tree decl;
PTR GTY ((skip (""))) aux;
/* Pointer to the next function in cgraph_varpool_nodes_queue. */
struct cgraph_varpool_node *next_needed;
/* Set when function must be output - it is externally visible
or it's address is taken. */

View File

@ -157,7 +157,7 @@ cgraph_finalize_compilation_unit ()
tree decl = cgraph_nodes_queue->decl;
node = cgraph_nodes_queue;
cgraph_nodes_queue = cgraph_nodes_queue->aux;
cgraph_nodes_queue = cgraph_nodes_queue->next_needed;
if (node->lowered || !node->reachable || !DECL_SAVED_TREE (decl))
abort ();