tree-streamer.c (streamer_tree_cache_insert_1): Update the index associated with...
[platform/upstream/gcc.git] / gcc / lto / ChangeLog
index 45dd300..f98c31d 100644 (file)
@@ -1,7 +1,682 @@
+2013-06-05  Richard Biener  <rguenther@suse.de>
+
+       * lto.c (num_merged_types): New global variable.
+       (uniquify_nodes): Increase num_merged_types when merging a type.
+       (print_lto_report_1): Output the number of merged types.
+
+2013-06-01  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (read_cgraph_and_symbols): Simplify dumping; Replace
+       lto_symtab_merge_cgraph_nodes by lto_symtab_merge_symbols.
+       (do_whole_program_analysis): Update dumping.
+
+2013-05-29  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (has_analyzed_clone_p, lto_materialize_function): Update for new symtab
+       flags.
+       * lto-partition.c (get_symbol_class, lto_balanced_map): Likewise.
+
+2013-05-15  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (privatize_symbol_name): Return true when
+       privatizing happened.
+       (rename_statics): Do not go into infinite loop when privatizing
+       is not needed.
+
+2013-05-16  Jason Merrill  <jason@redhat.com>
+
+       * Make-lang.in ($(LTO_EXE)): Use link mutex.
+
+2013-05-15  Martin Jambor  <mjambor@suse.cz>
+
+       * lto-partition.c (lto_balanced_map): Print symbol order instead
+       of node uids.
+
+2013-05-15  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/57038
+       PR lto/47375
+       * lto-partition.c (get_symbol_class): Fix weakrefs.
+       (lto_balanced_map): Fix weakrefs.
+       (privatize_symbol_name): Remove unnecesary label.
+       (rename_statics): Handle weakrefs as statics.
+
+2013-05-09  Jan Hubicka  <jh@suse.cz>
+           Richard Biener  <rguenther@suse.de>
+
+       * lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
+       (lto_register_var_decl_in_symtab): Likewise.
+       (lto_main): Promote statics.
+       * lto-partition.c (privatize_symbol_name): New function.
+       (promote_symbol): Use it.
+       (may_need_named_section_p): New predicate.
+       (rename_statics): New functions.
+       (lto_promote_cross_file_statics): Simplify; do renaming.
+       (lto_promote_statics_nonwpa): New function.
+       * lto-partition.h (lto_promote_statics_nonwpa): New function.
+
+2013-02-08  Richard Biener  <rguenther@suse.de>
+
+       PR lto/56231
+       * lto-lang.c (lto_init): Do not enter a dummy file.
+
+2013-02-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR bootstrap/56227
+       * lto.c (lto_resolution_ready): Use %wx instead of
+       HOST_WIDE_INT_PRINT_HEX_PURE in the argument to internal_error.
+
+2013-02-04  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/56168
+       * lto.c (read_cgraph_and_symbols): Do not call lto_symtab_merge_decls
+       or lto_fixup_decls at LTRANS time.
+
+2013-01-09  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/45375
+       * lto.c (do_whole_program_analysis): Remove unreachable nodes after IPA.
+
+2012-12-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/55466
+       * lto.c (lto_register_var_decl_in_symtab): Don't record static
+       variables.
+       (lto_main): Record the global variables if WPA isn't enabled.
+
+2012-11-20  Diego Novillo  <dnovillo@google.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       * lto.c: Replace all vec<T, A>() initializers with vNULL.
+
+2012-11-16  Diego Novillo  <dnovillo@google.com>
+
+       Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
+
+       * lto-lang.c: Use new vec API in vec.h.
+       * lto-partition.c: Likewise.
+       * lto-partition.h: Likewise.
+       * lto.c: Likewise.
+
+2012-10-31  Lawrence Crowl  <crowl@google.com>
+
+       * lto.c (lto_wpa_write_files): Change symtab checking to a checked
+       down-cast via dyn_cast.
+       * lto-partition.c (add_symbol_to_partition_1): Likewise.
+       (undo_partition): Likewise.
+       (lto_balanced_map): Likewise.
+       (get_symbol_class): Likewise and via is_a.
+       (lto_balanced_map): Change symtab checking to is_a.
+
+2012-10-12  Richard Biener  <rguenther@suse.de>
+
+       PR lto/54898
+       * lto.c (gimple_types_compatible_p_1): Also compare
+       TYPE_MAIN_VARIANT.
+       (iterative_hash_gimple_type): Also hash TYPE_MAIN_VARIANT.
+
+2012-10-09  Tobias Burnus  <burnus@net-b.de>
+
+       * lto-lang.c (lto_register_builtin_type): Avoid useless
+       decl creation.
+       * lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.
+
+2012-10-08  Tobias Burnus  <burnus@net-b.de>
+
+       * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
+       Free lto_file struct after closing the file.
+
+2012-10-08  Jan Hubicka  <jh@suse.cz>
+
+       * lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
+       (fixup_integer_cst): New functoin.
+       (lto_ft_type): Fixup BASETYPE of methods and offsets.
+
+2012-10-07  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (read_cgraph_and_symbols): Release type merging hash early;
+       release input encoders.
+       * lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.
+
+2012-10-06  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/54790 
+       * lto.c (resolution_map): New static var.
+       (register_resolution): New function.
+       (lto_register_var_decl_in_symtab): Use it.
+       (read_cgraph_and_symbols): Copy resolutions into the symtab.
+
+2012-09-20  Martin Jambor  <mjambor@suse.cz>
+
+       * lto.c (lto_materialize_function): Call push_struct_function and
+       pop_cfun.
+
+2012-09-19  Dehao Chen  <dehao@google.com>
+
+       * lto/lto.c (lto_fixup_prevailing_decls): Remove tree.exp.block field.
+
+2012-09-19  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_materialize_function): Update confused comment.
+       (read_cgraph_and_symbols): Do not free symtab.
+
+2012-09-12  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (do_whole_program_analysis): Care timevars, statistics and
+       AUX pointer cleaning. Add max partitioning.
+       * lto-partition.c (enum symbol_class): New.
+       (get_symbol_class): New function.
+       (symbol_partitioned_p): New function.
+       (add_references_to_partition): Remove.
+       (add_aliases_to_partition): Remove.
+       (add_cgraph_node_to_partition_1): Remove.
+       (add_cgraph_node_to_partition): Remove.
+       (add_symbol_to_partition): New function.
+       (add_symbol_to_partition_1): New function.
+       (contained_in_symbol): New function.
+       (partition_cgraph_node_p): Remove.
+       (partition_varpool_node_p): Remove.
+       (partition_symbol_p): Remove.
+       (lto_1_to_1_map): Cleanup.
+       (lto_max_map): New.
+       (lto_balanced_map): Update.
+       (lto_promote_cross_file_statics): Update.
+       * lto-partition.h (lto_max_map): Declare.
+       * timevar.def (TV_WHOPR_PARTITIONING): New timevar.
+
+2012-09-11  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/54312
+       * lto.c (uniquify_nodes): Remove quadratic loop checking if the
+       type is variant leader.
+
+2012-09-11  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (enum gtc_mode): Remove.
+       (struct type_pair_d): Adjust.
+       (lookup_type_pair): Likewise.
+       (gimple_type_leader): Do not mark as deletable.
+       (gimple_lookup_type_leader): Adjust.
+       (gtc_visit): Likewise.
+       (gimple_types_compatible_p_1): Likewise.
+       (gimple_types_compatible_p): Likewise.
+       (gimple_type_hash): Likewise.
+       (gimple_register_type): Likewise.
+       (read_cgraph_and_symbols): Manage lifetime of tables
+       here.
+
+2012-09-11  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (gimple_types, type_hash_cache, enum gtc_mode,
+       struct type_pair_d, lookup_type_pair, struct sccs,
+       next_dfs_num, gtc_next_dfs_num, struct gimple_type_leader_entry_s,
+       gimple_type_leader, gimple_lookup_type_leader, compare_type_names_p,
+       gtc_visit, gimple_types_compatible_p_1, gimple_types_compatible_p,
+       visit, iterative_hash_name, struct type_hash_pair,
+       type_hash_pair_compare, iterative_hash_gimple_type, gimple_type_hash,
+       gimple_type_eq, gimple_register_type_1, gimple_register_type):
+       Move here from gimple.c
+       (read_cgraph_and_symbols): Free hash tables here.
+       (print_lto_report_1): New function wrapping print_lto_report.
+       (do_whole_program_analysis): Call it.
+       (lto_main): Likewise.
+
+2012-09-10  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (partition_symbol_p): Forward declare.
+       (add_references_to_partition): Reimplement using partition_symbol_p.
+       (add_aliases_to_partition): Break out from add_references_to_partition;
+       reimplement using partition_symbol_p.
+       (add_cgraph_node_to_partition_1): Handle callees using partition_symbol_p;
+       add sanity checks.
+       (add_varpool_node_to_partition): Use add_aliases_to_partition.
+       (partition_varpool_node_p): Do not special case aliases.
+
+2012-08-12  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_wpa_write_files): Do not delete partition encoder;
+       it is deleted after streaming.
+       * lto-partition.c (partition_symbol_p): New function.
+       (promote_var, promote_fn): Remove.
+       (promote_symbol): New function.
+       (lto_promote_cross_file_statics): First compute boundaries; rewrite
+       to lookup the actual boundaries instead of computing them ad-hoc.
+
+2012-08-12  Jan Hubicka  <jh@suse.cz>
+
+       Replace cgraph_node_set and varpool_node_set by symtab_node_encoder
+       in partitioning.
+       * lto-partition.h (ltrans_partition_def): Replace cgraph_set and varpool_set
+       by encoder.
+       * lto-partition.c (new_partition): Update.
+       * lto.c (cmp_partitions_order): Update.
+       (lto_wpa_write_files): Update.
+       (free_ltrans_partitions): Update.
+       (add_references_to_partition): Update.
+       (add_cgraph_node_to_partition_1): Update.
+       (add_cgraph_node_to_partition): Update.
+       (add_varpool_node_to_partition): Update.
+       (undo_partition): Update.
+       (lto_balanced_map): Update.
+       (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p,
+       set_referenced_from_this_partition_p): Update.
+       (lto_promote_cross_file_statics): Update.
+
+2012-08-12  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (set_referenced_from_other_partition_p,
+       set_reachable_from_other_partition_p, set_referenced_from_this_partition_p):
+       New functions.
+       (lto_promote_cross_file_statics): Use them.
+
+2012-07-24  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (read_cgraph_and_symbols): Use input_symtab.
+
+2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       * lto-tree.h (lang_decl): Add variable_size GTY option.
+
+2012-07-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * lto.c: Do not include timevar.h.
+       * Make-lang.in: Fix dependencies.
+
+2012-06-18  Lawrence Crowl  <crowl@google.com>
+
+        * lto.c (do_whole_program_analysis):  Rename use of TV_PHASE_CGRAPH to
+       TV_PHASE_OPT_GEN.  Use new timevar TV_PHASE_STREAM_OUT around the call
+       to lto_wpa_write_files.
+       (lto_main):  Rename use of TV_PHASE_CGRAPH to TV_PHASE_OPT_GEN.  Move
+       start of TV_PHASE_OPT_GEN to include call to materialize_cgraph.  Use
+       TV_PHASE_SETUP for the call to lto_init.  Use new timevar
+       TV_PHASE_STREAM_IN around the call to read_cgraph_and_symbols.
+       Turn TV_PHASE_PARSING off then back on again, because LTO is pretending
+       to be a front end, but is not one.
+
+2012-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_materialize_constructors_and_inits): Remove.
+       (read_cgraph_and_symbols): Remove handling of alias pairs.
+
+2012-05-17  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (add_references_to_partition): Handle external vars.
+       (partition_varpool_node_p): Likewise.
+       (lto_promote_cross_file_statics): Do not promote externals.
+
+2012-05-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * lto-lang.c (handle_fnspec_attribute): New static function.
+       (lto_attribute_table): Add "fn spec".
+       (DEF_ATTR_STRING): Define and undefine along with the other macros.
+
+2012-05-04  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (do_whole_program_analysis): Set timevars correctly.
+       (lto_main): Likewise.
+
+2012-05-04  Richard Guenther  <rguenther@suse.de>
+
+       * lang.opt (fwpa): Do not mark as Optimization.
+       (fltrans): Likewise.
+
+2012-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (lto_main): Use compile ().
+       * lto-partition.c (partition_cgraph_node_p): Use
+       symtab_used_from_object_file_p.
+       (partition_varpool_node_p): Likewise.
+
+2012-04-20  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (partition_cgraph_node_p): Use force_output.
+
+2012-04-18  Jan Hubicka  <jh@suse.cz>
+
+       * lto-partition.c (add_references_to_partition, lto_balanced_map):
+       Update for new ipa-ref API.
+
+2012-04-16  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (read_cgraph_and_symbols): Use FOR_EACH
+        walkers to walk cgraph and varpool.
+       (materialize_cgraph): Likewise.
+       * lto-partition.c (lto_1_to_1_map): Likewise.
+       (lto_balanced_map): Likewise.
+       (lto_promote_cross_file_statics): Likewise.
+
+2012-04-14  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c: Update field referenced for new cgraph/varpool layout.
+       * lto-partition.c: Likewise.
+
+2012-04-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c: Update copyright; remove params.h, ipa-inline.h
+       and ipa-utils.h inlines; inline lto-partition.h
+       (ltrans_partition_def, ltrans_partition, add_cgraph_node_to_partition,
+       add_varpool_node_to_partition, new_partition, free_ltrans_partitions,
+       add_references_to_partition, add_cgraph_node_to_partition_1,
+       add_cgraph_node_to_partition, add_varpool_node_to_partition,
+       undo_partition, partition_cgraph_node_p, partition_varpool_node_p,
+       lto_1_to_1_map, node_cmp, varpool_node_cmp, lto_balanced_map,
+       promote_var, promote_fn, lto_promote_cross_file_statics): move to...
+       * lto-partition.c: ... here; new file.
+       * lto-partition.h: New file.
+       * Make-lang.in (lto.o): Update dependencies.
+       (lto-partition.o): New.
+
+2012-04-05  Richard Guenther  <rguenther@suse.de>
+
+       * lto-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Remove
+       definition.
+
+2012-03-12  Richard Guenther  <rguenther@suse.de>
+
+       * lto-lang.c (builtin_type_for_size): Use lto_type_for_size.
+
+2012-03-06  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/52097
+       * lto.c (uniquify_nodes): Merge TYPE_FIELDS of variant types.
+
+2012-02-28  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/52400
+       * lto.c (lto_register_function_decl_in_symtab): Do not register
+       a reverse renamed decl mapping.
+
+2012-01-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR lto/51774
+       * lto-lang.c (handle_returns_twice_attribute): New function.
+       (lto_attribute_table): Add returns_twice attribute.
+
+2011-12-21  Richard Guenther  <rguenther@suse.de>
+
+       * lto.c (GIMPLE_REGISTER_TYPE): New define.
+       (LTO_FIXUP_TREE): Use it.
+       (uniquify_nodes): Mark new non-prevailing types and avoid
+       calling gimple_register_type on others.
+       (lto_read_decls): Add comment.
+
+2011-12-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto.h (lto_parse_hex): Delete.
+       * lto.c (lto_read_decls): Use 'int' for offsets.
+       (lto_parse_hex): Make static and return proper 64-bit host type.
+       (lto_resolution_read): Use proper 64-bit host type.
+
+2011-12-13  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/48354
+       * lto.c (lto_ft_decl_non_common): When we merged DECL_ORIGINAL_TYPE
+       with the type of the TYPE_DECL clear DECL_ORIGINAL_TYPE.
+
+2011-12-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * lto-lang.c (lto_attribute_table): Handle *tm regparm.
+       (ignore_attribute): New.
+
+2011-11-21  Aldy Hernandez  <aldyh@redhat.com>
+
+       * lto-lang.c (lto_attribute_table): Handle transaction_pure.
+       (handle_transaction_pure_attribute): New.
+
+2011-11-03  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44965
+       * lto-lang.c (lto_post_options): Do not read file options.
+       * lto.c (lto_read_all_file_options): Remove.
+       (lto_init): Call lto_set_in_hooks here.
+
+2011-10-09  Jan Hubicka  <jh@suse.cz>
+
+       * lto.c (node_cmp, varpool_node_cmp): New functions.
+       (lto_balanced_map): Honnor -fno-toplevel-reorder of vars&functions.
+       (cmp_partitions): Rename to ...
+       (cmp_partitions_size): ... this one.
+       (cmp_partitions_order): New function.
+       (lto_wpa_write_files): Sort partitions by order when
+       -fno-toplevel-reorder is used.
+
+2011-10-09  Andi Kleen  <ak@linux.intel.com>
+
+       * lto.c (lto_section_read): Call fatal_error on IO or mmap errors.
+
+2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * lto-lang.c (def_builtin_1): Delete old interface with two
+       parallel arrays to hold standard builtin declarations, and replace
+       it with a function based interface that can support creating
+       builtins on the fly in the future.  Change all uses, and poison
+       the old names.  Make sure 0 is not a legitimate builtin index.
+
+2011-10-02   Andi Kleen <ak@linux.intel.com>
+
+       * lto-object.c (lto_obj_add_section_data): Add list.
+       (lto_obj_add_section): Fill in list.
+       (ltoobj_build_section_table): Pass through list.
+       * lto.c (file_data_list): Declare.
+       (create_subid_section_table): Pass arguments directly.
+       Fill in list of file_datas.
+       (lwstate): Delete.
+       (lto_create_files_from_ids): Pass in direct arguments.
+       Don't maintain list.
+       (lto_file_read): Use explicit section and file data lists.
+       (lto_read_all_file_options): Pass in section_list.
+       * lto.h (lto_obj_build_section_table): Add list.
+       (lto_section_slot): Add next.
+       (lto_section_list): Declare.
+
+2011-10-02  Jan Hubicka  <jh@suse.cz>
+
+       PR lto/47247
+       * common.c (lto_resolution_str): Add new resolution.
+       * common.h (lto_resolution_str): Likewise.
+
+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.
+       (add_cgraph_node_to_partition, undo_partition): Use inline_summary
+       accessor.
        (ipa_node_duplication_hook): Fix declaration.
        * Make-lang.in (lto.o): Update dependencies.
 
 
        PR lto/45721
        PR lto/45375
-       * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs are
-       not partitioned.
+       * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs
+       are not partitioned.
 
 2010-12-22  Nathan Froyd  <froydnj@codesourcery.com>
 
        * 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>