Commit 1d09f0e6 authored by rth's avatar rth
Browse files

* 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.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@97284 138bc75d-0d04-0410-961f-82ee72b054a4
parent 3bdc9b0e
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> 2005-03-30 Tom Tromey <tromey@redhat.com>
* tree.def (FILE_TYPE): Removed. * tree.def (FILE_TYPE): Removed.
......
...@@ -118,6 +118,8 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous"))) ...@@ -118,6 +118,8 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous")))
bool analyzed; bool analyzed;
/* Set when function is scheduled to be assembled. */ /* Set when function is scheduled to be assembled. */
bool output; 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"))) struct cgraph_edge GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller")))
......
...@@ -300,7 +300,9 @@ cgraph_assemble_pending_functions (void) ...@@ -300,7 +300,9 @@ cgraph_assemble_pending_functions (void)
cgraph_nodes_queue = cgraph_nodes_queue->next_needed; cgraph_nodes_queue = cgraph_nodes_queue->next_needed;
n->next_needed = NULL; 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); cgraph_expand_function (n);
output = true; output = true;
......
...@@ -4516,7 +4516,7 @@ assemble_alias (tree decl, tree target) ...@@ -4516,7 +4516,7 @@ assemble_alias (tree decl, tree target)
/* Allow aliases to aliases. */ /* Allow aliases to aliases. */
if (TREE_CODE (decl) == FUNCTION_DECL) if (TREE_CODE (decl) == FUNCTION_DECL)
cgraph_node (decl); cgraph_node (decl)->alias = true;
else else
cgraph_varpool_node (decl)->alias = true; cgraph_varpool_node (decl)->alias = true;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment