diff options
Diffstat (limited to 'gcc/cgraph.h')
-rw-r--r-- | gcc/cgraph.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/cgraph.h b/gcc/cgraph.h index 78b0fad3e86..82cf2d9fe13 100644 --- a/gcc/cgraph.h +++ b/gcc/cgraph.h @@ -144,6 +144,8 @@ struct cgraph_node GTY((chain_next ("%h.next"), chain_prev ("%h.previous"))) gcov_type count; /* Unique id of the node. */ int uid; + /* Ordering of all cgraph nodes. */ + int order; /* Set when function must be output - it is externally visible or its address is taken. */ bool needed; @@ -197,6 +199,8 @@ struct cgraph_varpool_node GTY(()) struct cgraph_varpool_node *next; /* Pointer to the next function in cgraph_varpool_nodes_queue. */ struct cgraph_varpool_node *next_needed; + /* Ordering of all cgraph nodes. */ + int order; /* Set when function must be output - it is externally visible or its address is taken. */ @@ -217,6 +221,18 @@ struct cgraph_varpool_node GTY(()) bool alias; }; +/* Every top level asm statement is put into a cgraph_asm_node. */ + +struct cgraph_asm_node GTY(()) +{ + /* Next asm node. */ + struct cgraph_asm_node *next; + /* String for this asm node. */ + tree asm_str; + /* Ordering of all cgraph nodes. */ + int order; +}; + extern GTY(()) struct cgraph_node *cgraph_nodes; extern GTY(()) int cgraph_n_nodes; extern GTY(()) int cgraph_max_uid; @@ -226,6 +242,8 @@ extern GTY(()) struct cgraph_node *cgraph_nodes_queue; extern GTY(()) struct cgraph_varpool_node *cgraph_varpool_first_unanalyzed_node; extern GTY(()) struct cgraph_varpool_node *cgraph_varpool_nodes_queue; +extern GTY(()) struct cgraph_asm_node *cgraph_asm_nodes; +extern GTY(()) int cgraph_order; /* In cgraph.c */ void dump_cgraph (FILE *); @@ -258,6 +276,8 @@ void cgraph_varpool_mark_needed_node (struct cgraph_varpool_node *); void cgraph_varpool_finalize_decl (tree); void cgraph_redirect_edge_callee (struct cgraph_edge *, struct cgraph_node *); +struct cgraph_asm_node *cgraph_add_asm_node (tree); + bool cgraph_function_possibly_inlined_p (tree); void cgraph_unnest_node (struct cgraph_node *); void cgraph_varpool_enqueue_needed_node (struct cgraph_varpool_node *); |