]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/lto/ChangeLog
re PR lto/44992 (ld -r breaks LTO)
[thirdparty/gcc.git] / gcc / lto / ChangeLog
index 78452a759b2066d26b04040a191c3baae482aaca..97853b34a3752327a01bbf04d621fd6c92ca3c50 100644 (file)
@@ -1,3 +1,254 @@
+2010-07-10   Andi Kleen <ak@linux.intel.com>
+
+       PR lto/44992
+        * lto.c: Include splay-tree.h
+       (lto_resolution_read): Change to walk file_ids tree and parse
+       extra file_id in resolution file.
+       (lto_section_with_id): Add.
+       (create_subid_section_table): Add.
+       (lwstate): Add.
+       (lto_create_files_from_ids): Add.
+       (lto_file_read): Change to handle sub file ids and create list
+       of file_datas. Add output argument for count.
+       (get_section_data): Pass file_data to lto_get_section_name.
+       (lto_flatten_file): Add.
+       (read_cgraph_and_symbols): Handle linked lists of file_datas.
+
+2010-07-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * lto-coff.c: Include diagnostic-core.h in every file that
+       includes toplev.h.
+       * lto-elf.c: Likewise.
+       * lto-lang.c: Likewise.
+       * lto-macho.c: Likewise.
+
+2010-07-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-elf.c (ELFOSABI_NONE, ELFOSABI_LINUX): Define if not defined.
+       (validate_file): Allow merging of ELFOSABI_NONE with ELFOSABI_LINUX
+       objects.
+
+2010-07-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (add_cgraph_node_to_partition): Forward declare; walk also
+       nodes from same comdat group as well as all comdat functions referenced
+       here.
+       (add_varpool_node_to_partition, add_references_to_partition): New function.
+       (lto_1_1_map): Skip COMDAT fnctions/variables; use add_varpool_node_to_partition;
+       clear aux flags when done.
+       (lto_promote_cross_file_statics): Do not promote stuff that gets duplicated to
+       each ltrans.
+
+2010-07-04  Jan Hubicka  <jh@suse.cz>
+
+        * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
+
+2010-06-13  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (lto_fixup_type): Do not register or fixup TYPE_CANONICAL.
+
+2010-06-09  Kai Tietz  <kai.tietz@onevision.com>
+
+       * lto.c (lto_resolution_read):  Pre-initialize local variable r.
+       * lto-coff.c (coff_write_object_file): Add braces to if.
+
+2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * lto.c (lto_read_in_decl_state): Use typed GC allocation.
+       (lto_file_read): Likewise.
+       (new_partition): Likewise.
+       (read_cgraph_and_symbols): Likewise.
+
+2010-06-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto-lang.c (flag_no_builtin, flag_no_nonansi_builtin): Remove.
+       (lto_handle_option): Don't set flag_signed_char here.
+
+2010-06-04  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41584
+       * lto.c (lto_1_to_1_map): Use the proper file_data for
+       varpool nodes.
+
+2010-05-30  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (promote_var, promote_fn, lto_wpa_write_files): Dump
+       partitioning decisions.
+
+2010-05-29  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (bitmap vector): Remove.
+       (lto_cgraph_node_sets,  lto_varpool_node_sets): Remove.
+       (ltrans_partition_def): New structure.
+       (ltrans_partition): New type and VECtor.
+       (new_partition): New function.
+       (add_cgraph_node_to_partition): New function.
+       (lto_1_to_1_map): Reorganize for partitions.
+       (lto_add_inline_clones): Remove.
+       (lto_add_all_inlinees): Remove.
+       (lto_promote_cross_file_statics): Use partitions.
+       (cmp_partitions): New function.
+       (lto_wpa_write_files): Do not call lto_add_all_inlinees;
+       use partitions; output files sorted by size.
+
+2010-05-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Make-lang.in: Replace vec.h dependency with VEC_H.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto-coff.c (coff_errmsg): Remove.
+       (lto_coff_begin_section_with_type, lto_obj_append_data): Use %m in
+       errors instead of coff_errmsg (-1).
+       * lto-macho.c (mach_o_errmsg): Remove.
+       (lto_obj_begin_section, lto_obj_append_data): Use %m in errors
+       instead of mach_o_errmsg (-1).
+       * lto.c (read_cgraph_and_symbols): Use %m in errors instead of
+       xstrerror (errno).
+
+2010-05-28  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (prefix_name_with_star): Removed.
+       (strip_extension): Likewise.
+       (get_filename_for_set): Likewise.
+       (lto_write_ltrans_list): Fold into ...
+       (lto_wpa_write_files): ... this.  Name LTRANS units
+       by suffixing the ltrans output list filename.
+       (do_whole_program_analysis): Adjust.
+
+2010-05-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto.c: Include diagnostic-core.h instead of diagnostic.h.
+       (read_cgraph_and_symbols, lto_main): Use seen_error.
+       * Make-lang.in (lto/lto.o): Update dependencies.
+
+2010-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR lto/44230
+       * lto.h (lto_eh_personality): New prototype.
+       * lto.c: Include debug.h.
+       (first_personality_decl): New static variable.
+       (lto_materialize_function): Set it to DECL_FUNCTION_PERSONALITY of the
+       first function for which it is non-null.
+       (lto_eh_personality_decl): New static variable.
+       (lto_eh_personality): New function.
+       * lto-lang.c (LANG_HOOKS_EH_PERSONALITY): Redefine to above function.
+       * Make-lang.in (lto/lto.o): Add dependency on debug.h.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * lto-lang.c: Do not include expr.h.
+
+2010-05-24  Richard Guenther  <rguenther@suse.de>
+
+       * lto-elf.c (lto_obj_build_section_table): Work around
+       FreeBSD libelf issue.
+
+2010-05-22  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (read_cgraph_and_symbols): Do not collect.
+
+2010-05-20  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (promote_var, promote_fn): New functions.
+       (lto_promote_cross_file_statics): Compute correctly boundary including
+       static initializers of readonly vars.
+
+2010-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_1_to_1_map): Partition non-inline clones.
+       (lto_promote_cross_file_statics): Deal with non-inline clones.
+
+2010-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_materialize_function): Announce function when
+       reading body; allocate_struct_function only when reading body;
+       do not finalize local statics; ggc_collect after reading;
+       do not mark reachable node.
+       (materialize_cgraph): Do not announce function.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (materialize_cgraph): Revert my previous patch.
+
+2010-05-11  Kai Tietz  <kai.tietz@onevision.com>
+
+       * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Rename to
+       IMAGE_FILE_MACHINE_AMD64.
+       * lto-coff.c (IMAGE_FILE_MACHINE_ADM64): Likewise.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_fixup_decls): Remove global var decls freeing here.
+       (materialize_cgraph): Add it here.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_fixup_decls): Free no longer needed lto_global_var_decls
+       vector.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_1_to_1_map): Remove some no longer needed checks.
+       (lto_promote_cross_file_statics): Never promote DECL_EXTERNAL;
+       use reachable_from_other_partition_p and
+       referenced_from_other_partition_p test.
+
+2010-05-11  Kai Tietz  <kai.tietz@onevision.com>
+
+       * lto-coff.c (validate_file): Add x64-coff support.
+       * lto-coff.h (IMAGE_FILE_MACHINE_ADM64): New.
+       (COFF_KNOWN_MACHINES): Add IMAGE_FILE_MACHINE_ADM64.
+       * lto-lang.c (lto_build_c_type_nodes): Add check for
+       'long long unsigned int' for x64-windows.
+       (lto_init): Likewise.
+
+
+2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * lto.h (struct lto_file_struct): Document offset member.
+       * lto-endian.h: New file.
+       * lto-macho.h: New file.
+       * lto-macho.c: New file.
+       * Make-lang.in: Add rule for lto-macho.o.
+
+2010-05-07  Richard Guenther <rguenther@suse.de>
+
+       PR lto/43857
+       PR lto/43371
+       * lang.opt (fresolution): Change to ...
+       (fresolution=): ... this.
+       * lto-lang.c (lto_handle_option): Adjust.
+
+2010-05-07  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (DUMPBASE_SUFFIX): Remove.
+       (lto_execute_ltrans): Move functionality to lto-wrapper.c.
+       Rename to ...
+       (lto_write_ltrans_list): ... only output the list of ltrans files.
+       (lto_maybe_unlink): Remove.
+       (do_whole_program_analysis): Do not execute LTRANS phase
+       from here.
+
+2010-05-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * lto-lang.c (lto_handle_option): Add argument kind.
+
+2010-05-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_promote_cross_file_statics): Compute boundary based on
+       refs.
+
+2010-05-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_1_to_1_map): Partition only needed nodes.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (get_filename_for_set): Look for cgraph node and if none found, use
+       default name.
+       (lto_wpa_write_files): Write any non-empty partition.
+
 2010-04-30  Jan Hubicka  <jh@suse.cz>
 
        * lto.c: Do not attempt to make constant pool references global.