lto_output_tree_or_ref (ob, DECL_SIZE_UNIT (expr), ref_p);
if (TREE_CODE (expr) != FUNCTION_DECL)
- {
- tree initial = DECL_INITIAL (expr);
- if (TREE_CODE (expr) == VAR_DECL
- && (TREE_STATIC (expr) || DECL_EXTERNAL (expr))
- && initial)
- {
- lto_varpool_encoder_t varpool_encoder = ob->decl_state->varpool_node_encoder;
- struct varpool_node *vnode = varpool_get_node (expr);
- if (!vnode)
- initial = error_mark_node;
- else if (!lto_varpool_encoder_encode_initializer_p (varpool_encoder,
- vnode))
- initial = NULL;
- }
-
- lto_output_tree_or_ref (ob, initial, ref_p);
- }
+ lto_output_tree_or_ref (ob, DECL_INITIAL (expr), ref_p);
lto_output_tree_or_ref (ob, DECL_ATTRIBUTES (expr), ref_p);
lto_output_tree_or_ref (ob, DECL_ABSTRACT_ORIGIN (expr), ref_p);
be done now to make sure that all the statements in every function
have been renumbered so that edges can be associated with call
statements using the statement UIDs. */
- output_cgraph (set, vset);
+ output_cgraph (set);
+ output_varpool (vset);
lto_bitmap_free (output);
}
fn_out_state =
VEC_index (lto_out_decl_state_ptr, lto_function_decl_states, idx);
lto_output_decl_state_refs (ob, decl_state_stream, fn_out_state);
- lto_delete_out_decl_state (fn_out_state);
}
lto_write_stream (decl_state_stream);
free(decl_state_stream);
/* Deallocate memory and clean up. */
lto_cgraph_encoder_delete (ob->decl_state->cgraph_node_encoder);
- lto_varpool_encoder_delete (ob->decl_state->varpool_node_encoder);
VEC_free (lto_out_decl_state_ptr, heap, lto_function_decl_states);
lto_function_decl_states = NULL;
destroy_output_block (ob);