OSDN Git Service

Use 64bit integer for LTO symbol ID.
[pf3gnuchains/gcc-fork.git] / gcc / lto / ChangeLog
index e718fdb..6ca8f5b 100644 (file)
@@ -1,3 +1,352 @@
+2011-09-30  H.J. Lu  <hongjiu.lu@intel.com>
+           Andi Kleen  <ak@linux.intel.com>
+
+       PR lto/50568
+       * lto.c (lto_splay_tree_delete_id): New.
+       (lto_splay_tree_compare_ids): Likewise.
+       (lto_splay_tree_lookup): Likewise.
+       (lto_splay_tree_id_equal_p): Likewise.
+       (lto_splay_tree_insert): Likewise.
+       (lto_splay_tree_new): Likewise.
+       (lto_resolution_read): Change id to unsigned HOST_WIDE_INT.
+       Use lto_splay_tree_id_equal_p and lto_splay_tree_lookup.
+       (create_subid_section_table): Use lto_splay_tree_lookup and
+       lto_splay_tree_insert.
+       (lto_file_read): Use lto_splay_tree_new.
+
+2011-09-26   Andi Kleen <ak@linux.intel.com>
+
+       * lto.c (lto_resolution_read): Remove id dumping.
+       (lto_section_with_id): Turn id HOST_WIDE_ID.
+       (create_subid_section_table): Dito.
+
+2011-08-28  Dodji Seketeli  <dodji@redhat.com>
+
+       * lto-lang.c (lto_init): Likewise.  Also, avoid calling
+       linemap_add twice.
+
+2011-08-11  Martin Jambor  <mjambor@suse.cz>
+
+       * lto.c (uniquify_nodes): Use main variant's BINFO too.
+
+2011-08-08   Diego Novillo  <dnovillo@google.com>
+
+       * Make-lang.in (lto/lto.o): Add TREE_STREAMER_H.
+       * lto.c: Include tree-streamer.h.
+
+2011-07-06  Richard Guenther  <rguenther@suse.de>
+
+       * lto-lang.c (lto_init):
+       Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
+2011-06-11  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/48246
+       * lto.c (lto_1_to_1_map): Don't create empty partitions.
+       (lto_balanced_map): Likewise.
+
+2011-06-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (add_cgraph_node_to_partition_1): Break out from ...
+       (add_cgraph_node_to_partition) ... here; walk aliases.
+       (lto_1_to_1_map): Remove same body alias code.
+       (promote_fn): Likewise.
+       (lto_promote_cross_file_statics): Update comment.
+
+
+2011-06-07  Diego Novillo  <dnovillo@google.com>
+
+       * lto.c (uniquify_nodes): Move code to register decls to
+       the loop that computes canonical types.
+
+2011-06-07  Richard Guenther  <rguenther@suse.de>
+
+       * lto-lang.c (lto_init): Do not set
+       size_type_node or call set_sizetype.
+
+2011-06-04  Diego Novillo  <dnovillo@google.com>
+
+       * lto.c (lto_init): New.
+       (lto_main): Call it.
+
+2011-06-03  Diego Novillo  <dnovillo@google.com>
+
+       * lto.c (get_resolution): Move from lto-streamer-in.c.
+       (lto_register_var_decl_in_symtab): Likewise.
+       (lto_register_function_decl_in_symtab): Likewise.
+       (uniquify_nodes): Call lto_register_var_decl and
+       lto_register_function_decl_in_symtab after reading a new
+       VAR_DECL or FUNCTION_DECL.
+
+2011-06-01  Richard Guenther  <rguenther@suse.de>
+
+       * lto-lang.c (lto_register_canonical_types): New function.
+       (lto_init): Register common nodes with the canonical type machinery.
+       Do not play tricks with char_type_node.
+
+2011-05-26  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (uniquify_nodes): Fix bug in one of the previous changes.
+
+2011-05-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto.c (lto_ft_typed): New function.
+       (lto_ft_common): Call it.
+       (lto_ft_constructor): Likewise.
+       (lto_ft_expr): Likewise.
+       (lto_fixup_prevailing_decls): Check for TS_COMMON before accessing
+       TREE_CHAIN.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (lto_ft_common): Remove pointer-to chain teardown.
+       (lto_ft_type): Move main-variant and pointer-to chain building ...
+       (uniquify_nodes): ... here.  Compute TYPE_CANONICAL also here,
+       in a separate final loop.
+
+2011-05-19  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (uniquify_nodes): First register all types before
+       fixing up the tree SCC.
+
+2011-05-11  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/48952
+       * lto.c (do_whole_program_analysis): Do not register cgraph hooks.
+
+2011-05-11  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL.  Adjust
+       location of binfo field.
+       (lto_fixup_prevailing_decls): Likewise.
+
+2011-05-10  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto-lang.c (def_fn_type): Don't call build_function_type, call
+       build_function_type_array or build_varargs_function_type_array
+       instead.
+
+2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto-lang.c (global_bindings_p): Return bool.
+
+2011-05-07  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_materialize_function): Use
+       cgraph_function_with_gimple_body_p.
+       (add_cgraph_node_to_partition): Do not re-add items to partition;
+       handle thunks.
+       (add_varpool_node_to_partition): Do not re-add items to partition.
+
+2011-05-03  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (free_ltrans_partitions): Fix accidental commit.
+
+2011-05-03  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (ltrans_partition_def): Remove GTY annotations.
+       (ltrans_partitions): Move to heap.
+       (new_partition): Update.
+       (free_ltrans_partitions): New function.
+       (lto_wpa_write_files): Use it.
+
+2011-04-29  Martin Jambor  <mjambor@suse.cz>
+
+       * lto.c: Include ipa-utils.h.
+       (lto_balanced_map): Update call to ipa_reverse_postorder.
+       * Make-lang.in (lto/lto.o): Add IPA_UTILS_H to dependencies.
+
+2011-04-29  Michael Matz  <matz@suse.de>
+
+       * lto.c (toplevel): Include tree-flow.h.
+       (lto_read_in_decl_state): Don't merge types here.
+       (tree_with_vars): New static hash table.
+       (remember_with_vars): New static functions.
+       (LTO_FIXUP_TYPE): New macro.
+       (lto_ft_common, lto_ft_decl_minimal, lto_ft_decl_common,
+       lto_ft_decl_with_vis, lto_ft_decl_non_common, lto_ft_function,
+       lto_ft_field_decl, lto_ft_type, lto_ft_binfo, lto_ft_constructor,
+       lto_ft_expr, lto_fixup_types, uniquify_nodes): New static functions.
+       (lto_read_decls): Uniquify while reading in trees.
+       (lto_fixup_data_t, LTO_FIXUP_SUBTREE,
+       LTO_REGISTER_TYPE_AND_FIXUP_SUBTREE, no_fixup_p, lto_fixup_common,
+       lto_fixup_decl_minimal, lto_fixup_decl_common, lto_fixup_decl_with_vis,
+       lto_fixup_decl_non_common, lto_fixup_function, lto_fixup_field_decl,
+       lto_fixup_type, lto_fixup_binfo, lto_fixup_constructor,
+       lto_fixup_tree): Remove.
+       (lto_fixup_state): Remove data argument.  Use
+       lto_symtab_prevailing_decl.
+       (LTO_SET_PREVAIL, LTO_NO_PREVAIL): New macros.
+       (lto_fixup_prevailing_decls): New function.
+       (lto_fixup_state_aux): Argument aux is unused.
+       (lto_fixup_decls): Don't allocate pointer sets, don't use
+       lto_fixup_tree, use lto_fixup_prevailing_decls.
+       (read_cgraph_and_symbols): Allocate and remove tree_with_vars.
+       * Make-lang.in (lto/lto.o): Depend on $(TREE_FLOW_H).
+
+2011-04-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto.c (lto_balanced_map): Fix typos in head comment.
+       (lto_promote_cross_file_statics): Fix long lines and remove redundant
+       test.
+
+2011-04-16  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_balanced_map): Update.
+
+2011-04-14  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c: Include ipa-inline.h
+       (add_cgraph_node_to_partition, undo_partition): Use inline_summary
+       accessor.
+       (ipa_node_duplication_hook): Fix declaration.
+       * Make-lang.in (lto.o): Update dependencies.
+
+2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto-tree.h (union lang_tree_node): Check for TS_COMMON before
+       calling TREE_CHAIN.
+       * lto.c (lto_fixup_common): Likewise.
+
+2011-04-08  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
+       (handle_type_generic_attribute): Likewise.
+
+2011-04-03  Michael Matz  <matz@suse.de>
+
+       * lto.c (lto_materialize_function): Don't read and then discard
+       sections in WPA mode.
+       (lto_read_in_decl_state): Adjust call to lto_streamer_cache_get.
+
+       * lto-lang.c (registered_builtin_fndecls): Remove.
+       (lto_getdecls): Return NULL_TREE.
+       (lto_builtin_function): Don't remember in registered_builtin_fndecls.
+
+2011-03-31  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/48246
+       * lto.c (lto_wpa_write_files): Disable assert for non-empty
+       partitions when checking is not enabled.
+
+2011-03-25  Kai Tietz  <ktietz@redhat.com>
+
+       * lto.c (lto_resolution_read): Use filename_cmp instead
+       of strcmp.
+       (lto_read_section_data): Likewise.
+
+2011-03-25  Jeff Law  <law@redhat.com>
+
+       * lto/lto-lang.c (def_fn_type): Add missing va_end.
+
+2011-03-21  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/12171
+       * lto-lang.c (lto_attribute_table): Adjust table.
+
+2011-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/47807
+       * Make-lang.in (lto/lto-lang.o): Depend on $(LTO_STREAMER_H) instead
+       of lto-streamer.h.
+
+2011-02-18  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/47798
+       * lto-tree.h (lto_global_var_decls): Do not declare here.
+       * lto-lang.c: Include lto-streamer.h.
+       * Make-lang.in (lto-lang.o): Adjust dependencies.
+
+2011-02-10  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR lto/47241
+       * lto.c (lto_read_section_data): Free
+       fd_name in failure case.
+       For mingw targets don't hash file-descriptor.
+       (read_cgraph_and_symbols): Close current_lto_file
+       in failure case.
+
+2011-01-11  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/45721
+       PR lto/45375
+       * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
+       are not partitioned.
+
+2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto-lang.c (handle_nonnull_attribute, handle_sentinel_attribute):
+       Use prototype_p.
+
+2010-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46796
+       * lto-lang.c (lto_init): Give names to basic types.
+
+2010-11-30  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto-object.c: Don't include toplev.h.
+       * Make-lang.in (lto/lto-object.o): Don't depend on toplev.h.
+
+2010-11-30  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (lto/lto-object.o): Depend on toplev.h instead of
+       $(TOPLEV_H).
+
+2010-11-29  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto-endian.h: Delete.
+       * lto-object.c: Don't include "libiberty.h".
+       (O_BINARY): Don't define.
+       * lto.c: Don't include "libiberty.h" or <sys/mman.h>.
+       (O_BINARY): Don't define.
+
+2010-11-23  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (read_cgraph_and_symbols): Remove newline from diagnostic.
+
+2010-11-23  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46605
+       * lto.c (read_cgraph_and_symbols): Bail out after errors.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto.c (lto_main): Take no arguments.
+       * lto.h (lto_main): Update prototype.
+
+2010-11-16  Ian Lance Taylor  <iant@google.com>
+
+       * lto-object.c (lto_obj_file_open): Call
+       simple_object_attributes_merge rather than
+       simple_object_attributes_compare.
+
+2010-11-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * Make-lang.in (lto/lto.o): Use $(OPTS_H).
+       * lto-lang.c (lto_handle_option): Take location_t parameter.
+
+2010-11-10  Joseph Myers  <joseph@codesourcery.com>
+
+       * lto.c (lto_resolution_read): Start diagnostics with lowercase
+       letters and remove trailing '.'.
+       (lto_file_finalize): Start diagnostic with a lowercase letter.
+
+2010-11-02  Ian Lance Taylor  <iant@google.com>
+
+       * lto-object.c: New file.
+       * lto-elf.c: Remove file.
+       * lto-macho.c: Remove file.
+       * lto-macho.h: Remove file.
+       * lto-coff.c: Remove file.
+       * lto-coff.h: Remove file.
+       * Make-lang.in (LTO_OBJS): Change lto/$(LTO_BINARY_READER).o to
+       lto/lto-object.o.
+       ($(LTO_EXE)): Remove $(LTO_USE_LIBELF)
+       (lto/lto-objfile.o): New target.
+       (lto/lto-elf.o, lto/lto-coff.o, lto/lto-macho.o): Remove targets.
+       (lto/lto.o): Remove $(LIBIBERTY_H).
+
 2010-10-22  Jan Hubicka  <jh@suse.cz>
 
        * lto.c (add_cgraph_node_to_partition,
        * 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.
+       (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>
 
 
 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.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>