OSDN Git Service

* configure.ac: Determine Sun ld version numbers.
[pf3gnuchains/gcc-fork.git] / gcc / lto-streamer.h
index 8e99e2d..b7c0c36 100644 (file)
@@ -264,6 +264,7 @@ enum lto_section_type
   LTO_section_ipa_reference,
   LTO_section_symtab,
   LTO_section_opts,
+  LTO_section_cgraph_opt_sum,
   LTO_N_SECTION_TYPES          /* Must be last.  */
 };
 
@@ -467,10 +468,22 @@ struct lto_cgraph_encoder_d
 
   /* Map reference number to node. */
   VEC(cgraph_node_ptr,heap) *nodes;
+
+  /* Map of nodes where we want to output body.  */
+  struct pointer_set_t *body;
 };
 
 typedef struct lto_cgraph_encoder_d *lto_cgraph_encoder_t;
 
+/* Return number of encoded nodes in ENCODER.  */
+
+static inline int
+lto_cgraph_encoder_size (lto_cgraph_encoder_t encoder)
+{
+  return VEC_length (cgraph_node_ptr, encoder->nodes);
+}
+
+
 /* Encoder data structure used to stream callgraph nodes.  */
 struct lto_varpool_encoder_d
 {
@@ -851,6 +864,11 @@ int lto_cgraph_encoder_lookup (lto_cgraph_encoder_t, struct cgraph_node *);
 lto_cgraph_encoder_t lto_cgraph_encoder_new (void);
 int lto_cgraph_encoder_encode (lto_cgraph_encoder_t, struct cgraph_node *);
 void lto_cgraph_encoder_delete (lto_cgraph_encoder_t);
+bool lto_cgraph_encoder_encode_body_p (lto_cgraph_encoder_t,
+                                      struct cgraph_node *);
+
+bool lto_varpool_encoder_encode_body_p (lto_varpool_encoder_t,
+                                       struct varpool_node *);
 struct varpool_node *lto_varpool_encoder_deref (lto_varpool_encoder_t, int);
 int lto_varpool_encoder_lookup (lto_varpool_encoder_t, struct varpool_node *);
 lto_varpool_encoder_t lto_varpool_encoder_new (void);
@@ -865,6 +883,13 @@ bool referenced_from_other_partition_p (struct ipa_ref_list *,
                                        varpool_node_set vset);
 bool reachable_from_other_partition_p (struct cgraph_node *,
                                       cgraph_node_set);
+bool referenced_from_this_partition_p (struct ipa_ref_list *,
+                                       cgraph_node_set,
+                                       varpool_node_set vset);
+bool reachable_from_this_partition_p (struct cgraph_node *,
+                                      cgraph_node_set);
+void compute_ltrans_boundary (struct lto_out_decl_state *state,
+                             cgraph_node_set, varpool_node_set);
 
 
 /* In lto-symtab.c.  */