Age | Commit message (Collapse) | Author |
|
Merge with lto r136640.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136659 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_type_ref, output_expr_operand,
lto_static_init, output_function): Fix merge problems.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136635 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Ollie Wild <aaw@google.com>
Merge with lto.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136624 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
and LTO_global_type_ref. Split LTO_type_decl
and LTO_field_decl into LTO_type_decl0, LTO_type_decl1,
LTO_field_decl0, and LTO_field_decl1.
* lto-tree-tags.h: Set names and tree code mappings for
the new tags.
* lto-function-out.c: Tidy comments and formatting.
(output_record_start): Add forward declaration.
(type_function_context): New function.
(field_decl_is_local, type_decl_is_local): New functions.
(output_type_ref_1): Write "local" (e.g., variably-modified)
types to local_decls stream.
(output_type_ref): Use "type_ref" as debug token to avoid
confusing clash with use of "type" elsewhere.
(output_local_decl_ref): Update comment.
(output_expr_operand): Cases for FIELD_DECL and TYPE_DECL
now write "local" declarations to local_decls stream.
(output_local_var): Rename to output_local_var_decl.
(output_local_var_decl): Remove code to set slot in
local_decls_index, now handled by output_local_decl.
(output_local_tree): New function.
(output_local_field_decl, output_local_type_decl,
output_local_type): New functions.
(output_local_decl): New function.
(output_field_decl): Use new tag LTO_field_decl1, to
distinguish from "local" fields.
(output_type_decl): Use new tag LTO_type_decl1, to
distinguish from "local" fields.
* lto-function-in.c: Tidy comments and formatting.
(input_local_tree, input_local_var_decl, input_local_field_decl,
input_local_type_decl, input_local_type): Add forward declarations.
(input_type_ref_1): Distinguish references to global or local
declaration streams.
(input_type_ref): Use "type_ref" as debug token to avoid
confusing clash with use of "type" elsewhere.
(input_expr_operand): Cases for FIELD_DECL and TYPE_DECL
now read "local" declarations from local_decls stream.
(input_local_tree): New function.
(input_local_var): Rename to input_local_var_decl.
(input_local_var_decl): Input record tag is now an argument.
(input_local_field_decl, input_local_type_decl,
input_local_type): New functions.
(input_local_decl): New function.
(input_local_vars): Call input_local_decl instead of input_local_var.
(lto_static_init_local): Don't call add_referenced_var on non-vars.
* lto-section-out.c (lto_hash_decl_slot_node, lto_eq_decl_slot_node):
Use object pointer, not UID, as hash key.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136611 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
based on http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00349.html
* langhooks-def.h (LANG_HOOKS_RESET_LANG_SPECIFICS): New.
(LANG_HOOKS_INITIALIZER): add LANG_HOOKS_RESET_LANG_SPECIFICS.
* langhooks.h (reset_lang_specifics): New.
* lto-section-out.c (produce_asm_for_decls): Call free_lang_specifics.
* tree.c (uid2type_map): New.
(insert_type_to_uid_type_map): New.
(uid_type_map_eq): New.
(uid_type_map_hash): New.
(init_ttree): Initialize uid2type_map.
(make_node_stat): Call insert_type_to_uid_type_map.
(copy_node_stat): Call insert_type_to_uid_type_map.
(reset_type_lang_specific): New.
(free_lang_specifics): New.
* tree.h (free_lang_specifics) New.
2008-06-09 Rafael Espindola <espindola@google.com>
based on http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00349.html
* cp-objcp-common.h (LANG_HOOKS_RESET_LANG_SPECIFICS): New.
* cp-tree.h (cp_reset_lang_specifics): New.
* tree.c (cp_reset_lang_specifics): New.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136592 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* Make-lang.in (lto.all.cross): depend on $(LTO_EXE).
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136493 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_tree): call error with the TREE_CODE name.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136397 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* dwarf2out.c (dwarf2_called_from_lto_p): Remove.
(current_fde): New function.
(add_fde_cfi): Call current_fde.
(lookup_cfa): Call curent_fde.
(dwarf2out_end_epilogue): Call current_fde.
(dwarf2out_switch_text_section: Call current_fde.
(lto_void_type_die): Remove.
(dwarf_attr_name): Declare static. Remove flag_generate_lto check.
(assign_symbol_name): Remove.
(assign_symbol_names): Expand call to assign_symbol_name.
(base_type_die): Replace DW_ATE_GNU_complex_unsigned and
DW_ATE_GNU_complex_signed encodings with DW_ATE_lo_user. Remove
byte_size computation. Remove extra precision information.
(may_reference_to_unused): Rename reference_to_unused.
(rtl_for_decl_init): Rename calls to may_reference_to_unused.
(convert_cfa_to_fb_loc_list): Call current_fde.
(gen_subprogram_die): Remove flag_generate_lto and
dwarf2_called_from_lto_p checks.
(gen_variable_die): Remove context_die == comp_unit_die checks.
(add_high_low_attributes): Remove dwarf2_called_from_lto_p check.
(force_die_for_context): Remove.
(containing_decl_for_block): Remove.
(force_block_die): Remove.
(force_decl_die): Expand call to force_die_for_context. Remove
context_die == comp_unit_die check. Remove the removal of of
DW_AT_DECLARATION.
(force_type_die): Expand the force_die_for_context call.
(force_field_die): Remove.
(gen_decl_die): Remove the cgraph_global_info_ready check.
(dwarf2out_init): Remove lto_void_type_die initialization.
(dwarf2out_finish): Remove context assignment.
(mark_die_used): Remove.
(lto_init_ref): Remove.
(lto_type_ref): Remove.
(lto_var_ref): Remove.
(lto_fn_ref): Remove.
(lto_field_ref): Remove.
(lto_typedecl_ref): Remove.
(lto_namespacedecl_ref): Remove.
* dwarf2out.h (dwarf2_called_from_lto_p): Remove.
(dwarf_attr_name): Remove.
(lto_out_ref): Remove.
(lto_type_ref): Remove.
(lto_var_ref): Remove.
(lto_fn_ref): Remove.
(lto_field_ref): Remove.
(lto_typedecl_ref): Remove.
(lto_namespacedecl_ref): Remove.
* dwarf2.h (enum dwarf_type): Remove DW_ATE_GNU_complex_signed and
DW_ATE_GNU_complex_unsigned.
* lto-cgraph-in.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
* lto-cgraph-out.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
(lto_output_cgraph): Remove assignments to dwarf2_called_from_lto_p.
* lto-function-in.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
* lto-function-out.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
(generate_early_dwarf_information): Remove.
(output_function): Remove generate_early_dwarf_information call.
(lto_output): Remove assignments to dwarf2_called_from_lto_p.
* lto-section-in.c: Remove inclusion of dwarf2asm.h and dwarf2out.h.
* lto-section-out.c: Remove inclusion of dwarf2out.h.
gcc/lto/
* lto.c: Remove inclusion of dwarf2.h and dwarf2out.h.
* Make-lang.in (lto.o): Remove dependency on dwarf2.h.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136385 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Mainline merge @136135
* configure.ac (ACX_PKGVERSION): Update revision merge string.
* configure: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136367 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_label_decl): New function.
(output_tree): Make sure that we do not stream out
well-known nodes, even for node types for which we
would not necessarily force sharing. Reinstate handlers
for SWITCH_EXPR and CASE_LABEL. Add case for LABEL_DECL.
* lto-function-in.c (input_label_decl): New function.
(input_tree_operand): Reinstate handlers for
SWITCH_EXPR and CASE_LABEL. Add case for LABEL_DECL.
* lto-section-out.c (preload_common_nodes): Verify
that main_identifier_name is as expected by the reader.
* lto.c (preload_common_nodes): Initialize
main_identifier_node.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136350 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-header.h: Tidy formatting.
* lto-section-in.c (lto_get_section_data): Fix type for
SECTION_NAME.
(lto_debug_in_fun): Tidy formatting.
* lto-tags.h (enum): Tidy formatting.
* lto-cgraph-out.c (output_fn_decl): Add comment.
* lto-section-out.c (lto_output_decl_index): Tidy formatting.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136343 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_tree_flags): Tidy
formatting.
(output_type_decl): Emit TYPE_MODE.
(output_tree): Add comment.
Ignore language codes. Add pointer to proper fix.
* lto-function-in.c (input_type_decl): Read TYPE_MODE.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136342 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c: Do not include ctype.h.
Tidy whitespace.
(output_function_decl): Add comment.
(output_type_tree): Reformat comment.
* lto-header.h (lto_get_section_name): Fix return type.
Tidy whitespace.
* lto-tree-out.h: Tidy whitespace and comments.
* lto-section-out.c (lto_get_section_name): Fix return
type.
(lto_get_section): Fix type of section_name.
(lto_get_out_decl_state): Reformat comment.
(out_state): Declare as local static to
lto_get_out_decl_state.
Fix wraparound problems.
(preload_common_node): Reformat comment.
Tidy whitespace.
(produce_asm_for_decls): Remove extern declarations.
Fix wraparound problems.
(lto_debug_out_fun): Fix comment.
* lto-section-out.h: Tidy whitesace and formatting.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136288 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_namespace_decl): Fix
assertions for NAMESPACE_DECL.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136234 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Backport from trunk:
2008-05-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/36245
* tree-ssa-address.c (add_to_parts): Deal with non-pointer
bases.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136212 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
accidently omitted from previous commit.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136183 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-tree-flags.def: Add flags for *_DECL
and *_TYPE for use by g lobal streamer.
* lto-function-out.c: Include lto-tree-out.h.
(struct output_block): Moved to lto-tree-out.h.
(create_output_block, destroy_output_block):
Make non-static, now exported.
(output_tree_flags, debug_tree_flags): Add ADD_CLASS_TYPE,
ADD_TYPE_FLAG, ADD_FUN_FLAG macros. Fix bug where stream
debugging info was sometimes omitted.
(lto_static_init): Adjust lto_flags_needed_for and
lto_types_needed_for for node types now newly handled by
the global streamer.
(output_tree, output_type_tree, output_global_record_start,
output_field_decl, output_function_decl, output_var_decl,
output_parm_decl, output_result_decl, output_type_decl,
output_namespace_decl, output_translation_unit_decl,
output_binfo, output_type, output_global_constructor)
New functions.
* lto_function-in.c: Include lto-tree-in.h.
(struct data_in): Moved to lto-tree-in.h.
(input_string_internal): Initialize input_block before
reading string table size from the stream.
(process_tree_flags): Add ADD_CLASS_TYPE_FLAG, ADD_TYPE_FLAG,
ADD_FUN_FLAG.
(input_local_var): Handle stream debugging information
that was previously omitted due to a bug in the writer.
(lto_static_init_local): Make non-static, now exported.
Add ADD_CLASS_TYPE_FLAG, ADD_TYPE_FLAG, ADD_FUN_FLAG.
(input_tree, input_type_tree, input_tree_operand,
global_vector_enter, global_vector_fixup, input_field_decl,
input_function_decl, input_var_decl, input_parm_decl,
input_result_decl, input_type_decl, input_namespace_decl,
input_translation_unit_decl, input_binfo, input_type):
New functions.
* lto-section.h (struct lto_decl_header): Add fields for
sizes of globals stream and its associated debug and string
table streams.
* lto-tree-tags.def: MAP_EXPR_TAG and SET_NAME macro calls
for newly-handled tree codes for global decls and types.
* lto-section-in.c (dump_debug_stream): Fix typo in error message.
* lto-section-in.h (lto_input_function_body,
lto_input_constructors_and_inits): Moved to lto-tree-in.h.
* lto-tags.h (enum LTO_tags): Added literals LTO_tree_vec,
LTO_translation_unit_decl, LTO_*_type, LTO_tree_binfo,
LTO_pickle_reference.
In gcc/lto:
* lto.c: Include lto-tree-in.h, lto-tags.h.
(enum DWARF2_class, DW_cl_constant, struct DWARF2_form_data,
struct lto_context, lto_fd_init, lto_info_fd_init,
lto_abbrev_fd_init, lto_info_fd_close, lto_file_init,
lto_file_close, lto_file_corrupt_error, lto_abi_mismatch_error,
LTO_CHECK_INT_VAL, LTO_READ_TYPE, lto_read_uleb128, lto_read_sleb128,
lto_read_initial_length, lto_abbrev_read_attrs, lto_abbrev_read,
lto_abbrev_read_lookup, lto_read_section_offset,
lto_read_comp_unit_header, find_cu_for_offset, lto_get_file_name,
lto_resolve_reference,lto_read_form, attribute_value_as_int,
make_signed_host_wide_int, attribute_value_as_constant, lto_cache_hash,
lto_cache_eq, lto_cache_store_DIE, lto_cache_lookup_DIE,
lto_find_integral_type, lto_find_integral_type_1,
LTO_BEGIN_READ_ATTRS_UNCHECKED, LTO_BEGIN_READ_ATTRS, LTO_END_READ_ATTRS,
lto_unsupported_attr_error, lto_get_identifier, lto_read_referenced_type_DIE,
lto_read_compile_unit_DIE, lto_read_array_type_DIE,
lto_read_structure_union_class_type_DIE, lto_read_enumerator_DIE,
lto_read_enumeration_type_DIE, lto_read_only_for_child_DIEs,
lto_read_only_for_child_DIEs, lto_read_member_DIE, lto_read_abbrev,
lto_read_variable_formal_parameter_constant_DIE, lto_get_body):
Removed.
(preload_common_nodes): New function.
(lto_read_decls): Convert for new global streamer.
(lto_materialze_file_data, lto_read_subroutine_type_subprogram_die,
lto_read_unspecified_parameters_DIE, lto_read_typedef_DIE,
lto_read_pointer_reference_type_DIE, lto_read_subrange_type_DIE,
lto_read_base_type_DIE, lto_read_const_volatile_restrict_type_DIE,
lto_read_namespace_DIE, lto_read_unspecified_type_DIE, lto_read_DIE,
lto_read_child_DIEs, lto_collect_child_DIEs): Removed.
(lto_info_read, lto_set_cu_context): Removed.
(lto_file_read): Convert for new global streamer.
(lto_resolve_type_ref, lto_read_DIE_at_ptr, lto_resolve_var_ref,
lto_resolve_fn_ref, lto_resolve_field_ref, lto_resolve_typedecl_ref,
lto_resolve_namespacedecl_ref): Removed.
(lto_file_init, lto_file_close): Moved to lto-elf.c.
* lto-tree.h (lto_symtab_merge_var, lto_symtab_mergee_fun): Declare here.
* lto-elf.c (lto_file_init, lto_file_close): Moved from lto.c.
(lto_elf_file_open): Removed code to read DWARF debug sections.
* lto.h (lto_context, DWARF2_attr, DWARF2_abbrev, DWARF2_CompUnit,
lto_die_ptr, lto_die_cache_entry, lto_fd, lto_info_fd, lto_abbrev_fd):
Removed.
(lto_file): Removed debug_info and debug_abbrev fields.
(lto_ref): Removed.
(lto_file_init, lto_file_close, lto_resolve_type_ref, lto_resolve_var_ref,
lto_resolve_fn_ref, lto_resolve_field_ref, lto_resolve_typedecl_ref,
lto_resolve_namespacedecl_ref, lto_get_file_name): Removed declarations.
(lto_symtab_merge_var, lto_symtab_merge_fn): Declarations moved to lto-tree.h.
* lto-symtab.c (lto_compatible_attributes_p): Lobotomize this, as it barfs
on "Hello, world!".
* lto-section-out.c: Include lto-tree-out.h.
(lto_hash_global_slot_node, lto_eq_global_slot_node, preload_common_nodes,
write_global_stream, write_global_references): New functions.
(produce_asm_for_decls): Convert for new global streamer.
* lto-section-out.h (lto_hash_global_slot_node, lto_eq_global_slot_node):
Declare.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136137 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136056 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
svn+ssh://aaw@gcc.gnu.org/svn/gcc/branches/lto
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@136055 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
This branch is intended for stabilizing the conversion of DWARF
encoding to the GIMPLE streamer format before merging back to the
lto branch.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto-streamer@135751 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* ../configure: Regenerate with the correct autoconf version: 2.59.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135659 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-lang.c (tree-inline.h): Include.
(lto_post_options): New function.
(LANG_HOOKS_POST_OPTIONS): Define.
* lto-cgraph-in.c (overwrite_node): Set node->global.insns.
* lto-function-in.c (input_bb): Set TREE_BLOCK (stmt).
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135447 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135431 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135314 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Mainline merge @135302
* configure.ac (ACX_PKGVERSION): Update revision merge string.
* configure: Regenerate.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135309 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Mainline merge @135270
* configure.ac (ACX_PKGVERSION): Update revision merge string.
* configure: Regenerate.
gcc/lto/ChangeLog:
2008-05-13 Diego Novillo <dnovillo@google.com>
* lto-function-in.c (input_ssa_names): Call
make_ssa_name_fn instead of make_ssa_name.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135274 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135226 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135225 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Mainline merge @136136
* configure.ac (ACX_PKGVERSION): Update revision merge string.
* confiugre: Regenerate.
2008-05-12 Diego Novillo <dnovillo@google.com>
* lto-tree-flags.def (STRUCT_FIELD_TAG): Remove.
* treestruct.def (STRUCT_FIELD_TAG): Remove.
Update all users.
* lto-cgraph-out.c (output_node): Update references to
inline summary fields.
lto/ChangeLog:
2008-05-12 Diego Novillo <dnovillo@google.com>
* lto-cgraph-in.c (overwrite_node): Update references to
inline summary fields.
* lto-function-in.c (input_expr_operand): Do not handle
STRUCT_FIELD_TAG.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135224 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lang.opt: New file.
* lto-lang.c (lto_init_options): New function.
(lto_handle_option): New function.
(lto_init): Move initialization of flag_unit_at_a_time to
lto_init_options.
(LANG_HOOKS_INIT_OPTIONS): Define.
(LANG_HOOKS_HANDLE_OPTION): Define.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@135127 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-tags.h (enum LTO_tags): Add LTO_namespace_decl.
* lto-tree-tags.def (LTO_namespace_decl): New tag.
* lto-section-out.c (lto_get_out_decl_state): Initialize
out_state->namespace_decl_hash_table.
(produce_asm_for_decls): Write assembly for namespace declarations.
* lto-section-out.h (struct lto_out_decl_state): Add
namespace_decl_hash_table, next_namespace_decl_index, and
namespace_decls.
* lto-section.h (struct lto_decl_header): Add num_namespace_decls.
* lto-function-out.c (output_expr_operand): Add NAMESPACE_DECL case.
(lto_static_init): Clear lto_flags_needed_for and lto_types_needed_for
entries for NAMESPACE_DECL.
(output_constructors_and_inits): Output initializer if
DECL_CONTEXT (var) is not a FUNCTION_DECL.
* dwarf2out.c (lto_namespacedecl_ref): New function.
* dwarf2out.h (lto_namespacedecl_ref): New function.
gcc/lto/
* lto.c (lto_read_namespace_DIE): New function.
(lto_read_DIE): Add lto_read_namespace_DIE callback. Cache
NAMESPACE_DECL DIE's.
(lto_resolve_namespacedecl_ref): New function.
* lto.h (lto_resolve_namespacedecl_ref): New function.
* lto-section-in.c (lto_read_decls): Read namespace declarations.
* lto-section-in.h (struct lto_file_decl_data): Add namespace_decls
and num_namespace_decls.
* lto-function-in.c (input_expr_operand): Add NAMESPACE_DECL case.
* lto-lang.c (lto_init_ts): New function.
(LANG_HOOKS_INIT_TS): Set as lto_init_ts.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@134803 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Merge with mainline @134626.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@134646 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_type_ref): Updated function description.
gcc/lto/
* lto-function-in.c (input_type_ref): Updated function description.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@134365 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-out.c (output_type_ref_1): New function.
(output_type_ref): Split into two functions.
(output_function): Output an LTO_type record if DECL_CONTEXT (function)
is a type.
* lto-tags.h (LTO_tags): Add LTO_type enumerator.
* lto-tree-tags.def (LTO_type): Add new name.
gcc/lto/
* lto-function-in.c (input_type_ref_1): New function.
(input_type_ref): Split into two functions.
(input_function): Add support for type contexts.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@134363 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto.c (lto_materialize_function): Use DECL_ASSEMBLER_NAME to compute
section name.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@134361 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto.c (lto_read_compile_unit_DIE): Add DW_LANG_C_plus_plus to the
list of supported languages.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@134360 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* class.c (layout_class_type): Rename c_build_bitfield_integer_type to
make_bitfield_integer_type.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@133904 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Merge with mainline @133491.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@133528 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
Jan Hubicka <jh@suse.cz>
* lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
fd->unmaterialized_fndecls.
(lto_get_file_name, lto_materialize_cgraph): New function.
(lto_materialize_constructors_and_inits,
lto_materialize_function): Read info directly from elf file.
(lto_file_read): Made local and initialize dictionary so that
other lto sections can be read without reprocessing the elf file.
(lto_main): Read all functions after all files have been processed
for their types, globals and cgraph.
* Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
dependencies.
* lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
(hash_name, eq_name, lto_elf_build_section_table): New functions.
(lto_elf_read_symtab): Removed function.
(lto_elf_file_open): Removed call to lto_elf_read_symtab.
* lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
(lto_file_read): Made local.
(lto_get_file_name, lto_elf_build_section_table,
lto_input_cgraph):
New function.
* lto-section-in.c (lto_read_section_data, lto_get_section_data):
New functions.
(lto_read_decls): Get the file name.
* lto-cgraph-in.c: New file.
* lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
(input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
(input_labels): Fixed latent sizeof issue.
(input_function): Build stmt array to set call sites into cgraph
edges.
(lto_read_body): Reset cfun->curr_properties.
* lto_section_in.h (lto_section_slot): New structure.
(section_hash_table.lto_file_decl_data): New field.
2008-03-05 Kenneth Zadeck <zadeck@naturalbridge.com>
Jan Hubicka <jh@suse.cz>
* lto.c (lto_info_fd_init, lto_info_fd_close): Get rid of
fd->unmaterialized_fndecls.
(lto_get_file_name, lto_materialize_cgraph): New function.
(lto_materialize_constructors_and_inits,
lto_materialize_function): Read info directly from elf file.
(lto_file_read): Made local and initialize dictionary so that
other lto sections can be read without reprocessing the elf file.
(lto_main): Read all functions after all files have been processed
for their types, globals and cgraph.
* Make-lang.in (lto.o, lto-cgraph-in.c, lto-section-in): Changed
dependencies.
* lto-elf.c (lto_elf_file): Removed strtab, symtab fields.
(hash_name, eq_name, lto_elf_build_section_table): New functions.
(lto_elf_read_symtab): Removed function.
(lto_elf_file_open): Removed call to lto_elf_read_symtab.
* lto.h (lto_info_fd_struct): Removed unmaterialized_fndecls.
(lto_file_read): Made local.
(lto_get_file_name, lto_elf_build_section_table,
lto_input_cgraph):
New function.
* lto-section-in.c (lto_read_section_data, lto_get_section_data):
New functions.
(lto_read_decls): Get the file name.
* lto-cgraph-in.c: New file.
* lto-function-in.c (tag_to_expr): Stops at LTO_tree_last_tag.
(input_expr_operand, lto_read_body): Set lto_debug_context.tag_names.
(input_labels): Fixed latent sizeof issue.
(input_function): Build stmt array to set call sites into cgraph
edges.
(lto_read_body): Reset cfun->curr_properties.
* lto_section_in.h (lto_section_slot): New structure.
(section_hash_table.lto_file_decl_data): New field.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@132954 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto.c (lto_read_variable_formal_parameter_const): Remove code to
reconstruct static initializers.
(lto_get_body, lto_materialize_function): Add lto_section_type as
a parameter.
(lto_materialize_constructors_and_inits,
lto_materialize_file_data): New function.
(lto_materialize_function,
lto_read_subroutine_type_subprogram_DIE): Renamed unmap_fn_body to
unmap_section and map_fn_body to map_section.
(lto_set_cu_context): Process functions and static inits
differently.
* Make-lang.in (LTO_H, lto/lto-function-in.o,
lto/lto-section-in.o): Update dependencies.
* lto/lto-elf.c (lto_elf_map_optional_lto_section): Add
lto_section_type parameter.
(lto_elf_unmap_fn_body): Renamed to lto_elf_unmap_section.
* lto.h (lto_file_vtable_struct): Removed two of the fields and
renamed the other two so that there is only one map function and
one unmap function and each takes a section type parameter.
(lto_read_function_body): Renamed to lto_input_function_body and
added file_data parameter.
(lto_read_var_init): Removed.
(lto_input_constructors_and_inits): New function.
* lto-section-in.c (lto_read_decls): New function.
* lto-function-in.c (data_in): Moved fields field_decls, fn_decls,
var_decls, type_decls, types to lto_file_decl_data.
(input_type_ref, input_expr_operand, lto_read_body): Get
field_decls, fn_decls, var_decls, type_decls, types from different
structure.
(input_globals, input_constructor, lto_read_var_init): Removed.
(input_constructors_or_inits): New function.
(lto_read_function_body, lto_input_constructors_and_inits):
Renamed to lto_input_function_body and takes file_data parameter.
* lto-section-in.h (lto_file_decl_data): New structure.
2008-02-09 Kenneth Zadeck <zadeck@naturalbridge.com>
* tree-pass.h: (pass_ipa_lto_out): Renamed to pass_ipa_lto_gimple_out.
(pass_ipa_lto_finish_out): New pass.
* lto-function-out.c (decl_slot, hash_decl_slot_node, eq_decl_slot_node,
hash_type_slot_node, eq_type_slot_node, output_decl_index): Moved to
lto-section-out.c, made public and and renamed to have "lto_"
prefix.
(eq_label_slot_node, hash_label_slot_node): Uses lto_decl_slot rather than
decl_slot.
(output_block): Deleted these fields: field_decl_hash_table,
next_field_decl_index, field_decls, fn_decl_hash_table,
next_fn_decl_index, fn_decls, var_decl_hash_table,
next_var_decl_index, var_decls, type_decl_hash_table,
next_type_decl_index, type_decls, type_hash_table,
next_type_index, types.
Added cgraph_node and current_stmt_id.
(create_output_block): Now takes lto_section_type. Removed code
to init hash tables moved to lto_section_out.c.
(destroy_output_block): Removed is_function parameter.
Removed code to destroy tables moved to lto_section_out.c
(output_type_ref, output_local_decl_ref, output_label_ref,
output_expr_operand): Modified to call functions moved to lto_section_out.
(output_bb): Properly set current_stmt_id.
(write_references): Moved to lto_section_out.c.
(produce_asm): tripped of all of the function that was moved
to lto_section_out.c.
(output_constructor_or_init): Renamed
output_constructors_and_inits and writes all initializers in a
single section rather than one per section.
(lto_output): Moved loop over all constructors to
output_constructors_and_inits.
(gate_lto_out): Moved to lto-section-out.c.
* tree-ssa-sccvn.c (init_scc_vn): Removed unused bb var.
* lto-header.h (lto_section_type): Changed prefix of all
elements to "LTO_section".
(lto_get_section_name): New function.
(lto_get_section): Move from lto-section.h.
(LTO_STREAM_DEBUGGING, LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN,
LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN,
LTO_DEBUG_TREE_FLAGS, LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE,
lto_debug_context, lto_debug_out): Moved from lto-tags.h.
* lto-section.h: New file.
* lto-tags.h (lto_function_header): Moved fields num_field_decls,
num_fn_decls, num_var_decls, num_type_decls, num_types. to
lto_decl_header in lto-section.h.
(LTO_STREAM_DEBUGGING, LTO_DEBUG_INDENT, LTO_DEBUG_INDENT_TOKEN,
LTO_DEBUG_INTEGER, LTO_DEBUG_STRING, LTO_DEBUG_TOKEN,
LTO_DEBUG_TREE_FLAGS, LTO_DEBUG_UNDENT, LTO_DEBUG_WIDE,
lto_debug_context, lto_debug_out): Moved to lto-tags.h.
* lto-stream-debug.c: Include lto-header.h.
* Makefile.in (LTO_TAGS_H, lto-stream-debug.o, lto-function-out.o,
lto-section-out.o): Updated dependencies.
(LTO_SECTION_H): New.
* passes.c: (pass_ipa_lto_out): Renamed to pass_ipa_lto_gimple_out.
(pass_ipa_lto_finish_out): New pass.
* lto-section-out.c (lto_hash_decl_slot_node, lto_eq_decl_slot_node,
lto_hash_type_slot_node, lto_eq_type_slot_node,
lto_output_decl_index): Moved from lto-function-out.c and
renamed with "lto_" prefix.
(lto_get_section_name, lto_get_out_decl_state, produce_asm_for_decls): New function.
(write_references, gate_lto_out): Moved from lto-function-out.c.
* lto-section-out.h (lto_out_decl_state): New structure.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@132210 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-function-in.c (input_globals.c): Changed input type to
lto_function_header.
(input_bb): Removed code to deserialize the stmt number.
(input_function): Renumber all stmts after they are input.
(lto_read_body, lto_read_function_body, lto_read_var_init):
Changed to used new header format and enum section_type.
*lto-lang.c (success): Removed.
2008-01-28 Kenneth Zadeck <zadeck@naturalbridge.com>
* cgraph.h (cgraph_edge.lto_stmt_uid): New field.
* lto-function-out.c (output_constructor, output_expr_operand,
output_phi, output_bb, output_function): Removal of code to thread
the stmt_number thru the code.
(produce_asm): Moved code to create dwarf_sections to
lto_section_out.c. Encapsulated section type independent code
into separate header structure. Changed to use enum section_type.
(output_function, output_constructor_or_init): Added call to
renumber_gimple_stmt_uids and to pass section type to produce_asm.
(lto_output): Pass cgraph node rather than decl to
output_function.
* tree-ssa-dse (max_stmt_uid): Removed.
(get_stmt_uid, dse_possible_dead_store_p, dse_optimize_stmt,
tree_ssa_dse): Encapsulate all uses of stmt_ann->uid.
* tree-ssa-sccvn.c (compare_ops, init_scc_vn): Ditto.
* lto-header.h: New
* function.h (cfun.last_stmt_uid): New field.
* lto-tags.h (lto_header): Renamed to lto_function_header and
moved shared fields to lto_header in lto-header.h.
(LTO_SECTION_NAME_PREFIX): Moved to lto-header.h.
* tree-flow-inline.h (set_gimple_stmt_uid, gimple_stmt_uid,
gimple_stmt_max_uid, set_gimple_stmt_max_uid,
inc_gimple_stmt_max_uid): New functions.
* tree-dfa.c (renumber_gimple_stmt_uids): New function.
(create_stmt_ann): Initialize the ann->uid field.
* tree-ssa-pre.c (compute_avail): Encapsulate the stmt_ann->uid
with new calls.
* tree-flow.h (renumber_gimple_stmt_uids): New function.
* lto-section-out.c (lto_get_section): New function.
* lto-section-out.h (lto_get_section): New function.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131922 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(lto_elf_free_sym): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131918 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(lto_elf_build_init): Likewise.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131917 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131527 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* lto-read.c: Renamed to lto-function-in.c.
(input_1_unsigned): Moved to lto-section-in.c and renamed
lto_input_1_unsigned.
(input_uleb128): Moved to lto-section-in.c and renamed
lto_input_uleb128.
(input_widest_uint_uleb128): Moved to lto-section-in.c and renamed
lto_input_widest_uint_uleb128.
(input_sleb128): Moved to lto-section-in.c and renamed
lto_input_sleb128.
(input_integer): Moved to lto-section-in.c and renamed
lto_input_integer.
(debug_in_fun): Moved to lto-section-in.c and renamed
lto_debug_in_fun.
(input_block): Moved to lto-section-in.h and renamed
lto_input_block.
(input_expr_operand): Fixed to allow lists with more than one
element.
* lto-section-in.h: New file.
* lto-section-in.c: New file with changes from above.
* Make-lang.in (lto-read.o): Renamed lto-function-in.c.
(lto-section-in.o): New rule.
2008-01-14 Kenneth Zadeck <zadeck@naturalbridge.com>
* lto-function-out (lto_debug_context, output_stream,
LTO_SET_DEBUGGING_STREAM): Moved to lto_section_out.h.
(debug_out_fun): Renamed lto_debug_out_fun and moved to
lto_section_out.c.
(write_stream): Renamed lto_write_stream and moved to
lto_section_out.c.
(output_1_stream): Renamed lto_output_1_stream and moved to
lto_section_out.c.
(output_uleb128_stream): Renamed lto_output_uleb128 and moved to
lto_section_out.c.
(output_widest_uint_uleb128_stream): Renamed
lto_output_widest_uint_uleb128_stream and moved to
lto_section_out.c.
(output_sleb128_stream): Renamed lto_output_sleb128_stream and
moved to lto_section_out.c.
(output_string, output_decl_index, output_record_start,
output_constructor, output_expr_operand, output_local_vars,
output_local_vars_index, output_ssa_names, output_bb, produce_asm,
output_function, output_constructor_or_init): Renamed all calls as above.
(output_integer): Guts moved to lto_output_integer_stream.
(output_expr_operand, output_local_var, output_cfg, output_phi,
output_bb, output_function):
Added stmt_num parameter.
* lto-tags.h (lto_debug_context): Added.
* lto-section-out.c: New file that contains functions moved and
renamed from lto-function-out.
* lto-section-out.h: New file that contains declarations in
lto-section-out.c.
* Makefile.in (lto-section-out.o): New rule.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131526 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
* dwarf2out.c (force_decl_die): Initialize SAVED_IGNORED_FLAG.
* dwarf2.h (enum dwarf_type): Remove trailing comma.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131387 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
VAR_DECLs as needed.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131229 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131223 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
information for LTO.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131222 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
(LANG_HOOKS_NAME): Define.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@131221 138bc75d-0d04-0410-961f-82ee72b054a4
|