LTO_section_ipa_reference,
LTO_section_symtab,
LTO_section_opts,
+ LTO_section_cgraph_opt_sum,
LTO_N_SECTION_TYPES /* Must be last. */
};
/* 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
{
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);