]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/cgraph.h
./:
[thirdparty/gcc.git] / gcc / cgraph.h
index 78b0fad3e862f3bfa77fae60d0e0bf178bc42693..82cf2d9fe13b46ff69e6fbb04481ce1f6374b64f 100644 (file)
@@ -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 *);