aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraph.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r--gcc/cgraph.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h
index ae902b2ff6c..eae162ec17d 100644
--- a/gcc/cgraph.h
+++ b/gcc/cgraph.h
@@ -117,13 +117,17 @@ 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")))
+struct cgraph_edge GTY((chain_next ("%h.next_caller"), chain_prev ("%h.prev_caller")))
{
struct cgraph_node *caller;
struct cgraph_node *callee;
+ struct cgraph_edge *prev_caller;
struct cgraph_edge *next_caller;
+ struct cgraph_edge *prev_callee;
struct cgraph_edge *next_callee;
tree call_expr;
PTR GTY ((skip (""))) aux;
@@ -150,6 +154,8 @@ struct cgraph_varpool_node GTY(())
bool finalized;
/* Set when function is scheduled to be assembled. */
bool output;
+ /* Set for aliases once they got through assemble_alias. */
+ bool alias;
};
extern GTY(()) struct cgraph_node *cgraph_nodes;
@@ -165,6 +171,7 @@ void dump_cgraph (FILE *);
void dump_cgraph_node (FILE *, struct cgraph_node *);
void cgraph_remove_edge (struct cgraph_edge *);
void cgraph_remove_node (struct cgraph_node *);
+void cgraph_node_remove_callees (struct cgraph_node *node);
struct cgraph_edge *cgraph_create_edge (struct cgraph_node *,
struct cgraph_node *,
tree);