cgraph.h (struct cgraph_node): Add alias.

* cgraph.h (struct cgraph_node): Add alias.
        * varasm.c (assemble_alias): Set it.
        * cgraphunit.c (cgraph_assemble_pending_functions): Check it and
        avoid calling cgraph_expand_function.

From-SVN: r97284
This commit is contained in:
Richard Henderson 2005-03-30 14:07:51 -08:00 committed by Richard Henderson
parent 7efa52a3e5
commit 12527dcee3
4 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,10 @@
2005-03-30 Richard Henderson <rth@redhat.com>
* cgraph.h (struct cgraph_node): Add alias.
* varasm.c (assemble_alias): Set it.
* cgraphunit.c (cgraph_assemble_pending_functions): Check it and
avoid calling cgraph_expand_function.
2005-03-30 Tom Tromey <tromey@redhat.com>
* tree.def (FILE_TYPE): Removed.

View File

@ -118,6 +118,8 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous")))
bool analyzed;
/* Set when function is scheduled to be assembled. */
bool output;
/* Set for aliases once they got through assemble_alias. */
bool alias;
};
struct cgraph_edge GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller")))

View File

@ -300,7 +300,9 @@ cgraph_assemble_pending_functions (void)
cgraph_nodes_queue = cgraph_nodes_queue->next_needed;
n->next_needed = NULL;
if (!n->global.inlined_to && !DECL_EXTERNAL (n->decl))
if (!n->global.inlined_to
&& !n->alias
&& !DECL_EXTERNAL (n->decl))
{
cgraph_expand_function (n);
output = true;

View File

@ -4516,7 +4516,7 @@ assemble_alias (tree decl, tree target)
/* Allow aliases to aliases. */
if (TREE_CODE (decl) == FUNCTION_DECL)
cgraph_node (decl);
cgraph_node (decl)->alias = true;
else
cgraph_varpool_node (decl)->alias = true;