OSDN Git Service

gcc/ChangeLog:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index bca2414..4d295e3 100644 (file)
@@ -1,3 +1,208 @@
+2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * toplev.c: Include varray.h for statistics dumping.
+       * tree.h: Do not declare varray_head_tag.
+       * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
+       regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
+       c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
+       gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
+       lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
+       tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
+       c-common.c, c-common.h, reg-stack.c, basic-block.h,
+       tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
+       include varray.h.
+       * Makefile.in: Update for abovementioned changes.
+
+2010-04-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43942
+       * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
+
+2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_legitimize_address): Define.
+       Use this function to do machine-specific conversion.
+       (picochip_legitimize_reload_address): Likewise.
+       (picochip_legitimate_address_p): Check valid base register only if
+       strict.
+       (picochip_check_conditional_copy): Check for modw only if opnd is
+       register.
+       * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
+       to call the function in c.
+       * config/picochip/picochip-protos.h
+       (picochip_legitimize_reload_address): Define.
+       * config/picochip/picochip.md (supported_compare1): Define.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (cgraph_local_info): Remove for_functions_valid.
+       (cgraph_global_info): Remove inlined.
+       (LTO_cgraph_tag_names): Remove.
+       (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
+       * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
+       simplify cgraph tags and document.
+       (lto_output_node): Use only LTO_cgraph_unavail_node and
+       LTO_cgraph_analyzed_node; Do not save analzed, reachable,
+       for_functions_valid, global info, process and output
+       flags.
+       (input_overwrite_node): Initialize estimated stack size and
+       estimated growth.
+       Do not read flags we no longer store.
+       (input_node): Likewise do not read info no longer stored.
+       * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
+       flag.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43879
+       * tree-ssa-structalias.c (get_constraint_for_1): Properly
+       handle non-zero initializers.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       * builtins.c (fold_builtin_1): Delete free (0).
+
+2010-04-29  Jan Hubicka  <jh@suse.cz>
+
+       * gengtype.c (open_base_files): Add lto-streamer.h
+       * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
+       (pass_ipa_cp): GGC collect.
+       * toplev. (compile_file): Do not output symbols.
+       * ipa-inline.c (pass_ipa_inline): Add ggc collect.
+       * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
+       TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
+       * lto-section-in.c: Include ggc.h
+       (lto_new_in_decl_state): Alloc in GGC.
+       (lto_delete_in_decl_state): Likewise.
+       * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program): Collect.
+
+2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/42895
+       * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
+       ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
+       (HONOR_REG_ALLOC_ORDER): Describe new macro.
+       * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
+       * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
+       account only if HONOR_REG_ALLOC_ORDER is not defined.
+       * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
+       * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
+       
+2010-04-29  Jon Grant <04@jguk.org>
+       
+       * collect2.c (vflag): Change type from int to bool.
+       (debug): Likewise.
+       (helpflag): New global bool.
+       (main): Set vflag and debug with boolean, not integer truth
+       values.  Accept new "--help" option and output usage text if
+       found.
+       * collect2.h (vflag): Update prototype.
+       (debug): Likewise.
+       
+2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/43936
+       * plugin.h (flag_plugin_added): Moved out of
+       invoke_plugin_callbacks.
+
+2010-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/43935
+       * plugin.h (invoke_plugin_callbacks): Annotate arguments
+       with ATTRIBUTE_UNUSED.
+
+2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/43921
+       * config/i386/i386.c (get_some_local_dynamic_name): Replace
+       INSN_P with NONDEBUG_INSN_P.
+       (distance_non_agu_define): Likewise.
+       (distance_agu_use): Likewise.
+
+2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
+
+       From Dominique d'Humieres <dominiq@lps.ens.fr>
+       PR bootstrap/43858
+       * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
+       test_set.
+
+2010-04-29  Brian Hackett   <bhackett1024@gmail.com>
+
+       * plugin.h (invoke_plugin_callbacks): New inline function.
+       * plugin.c (flag_plugin_added): New global flag.
+       (add_new_plugin): Initialize above flag.
+       (invoke_plugin_callbacks): Rename to ...
+       (invoke_plugin_callbacks_full): ... this.
+
+2010-04-28  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_entry_def) Add vnode.
+       (lto_varpool_replace_node): New.
+       (lto_symtab_resolve_symbols): Resolve varpool nodes.
+       (lto_symtab_merge_decls_1): Prefer decls with varpool node.
+       (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
+       * cgraph.h (varpool_node_ptr): New type.
+       (varpool_node_ptr): New vector.
+       (varpool_node_set_def): New structure.
+       (varpool_node_set): New type.
+       (varpool_node_set): New vector.
+       (varpool_node_set_element_def): New structure.
+       (varpool_node_set_element, const_varpool_node_set_element): New types.
+       (varpool_node_set_iterator): New type.
+       (varpool_node): Add prev pointers, add used_from_other_partition,
+       in_other_partition.
+       (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
+       varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
+       varpool_get_node, varpool_remove_node): Declare.
+       (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
+       varpool_node_set_size): New inlines.
+       * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
+       * tree-pass.h (varpool_node_set_def): Forward declare.
+       (ipa_opt_pass_d): Summary writting takes vnode sets too.
+       (ipa_write_optimization_summaries): Update prototype.
+       * ipa-cp.c (ipcp_write_summary): Update.
+       * ipa-reference.c (ipa_reference_write_summary): Update.
+       * lto-cgraph.c (lto_output_varpool_node): New static function.
+       (output_varpool): New function.
+       (input_varpool_node): New static function.
+       (input_varpool_1): New function.
+       (input_cgraph): Input varpool.
+       * ipa-pure-const.c (pure_const_write_summary): Update.
+       * lto-streamer-out.c (lto_output): Update, output varpool too.
+       (write_global_stream): Kill WPA hack.
+       (produce_asm_for_decls): Update.
+       (output_alias_pair_p): Handle variables.
+       (output_unreferenced_globals): Output only needed partition of varpool.
+       * ipa-inline.c (inline_write_summary): Update.
+       * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph.
+       * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
+       * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
+       varpool_node_set_new, varpool_node_set_add,
+       varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
+       debug_varpool_node_set): New functions.
+       * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
+       (execute_one_pass): Process new decls too.
+       (ipa_write_summaries_2): Pass around vsets.
+       (ipa_write_summaries_1): Likewise.
+       (ipa_write_summaries): Build vset; be more selective about cgraph nodes
+       to add.
+       (ipa_write_optimization_summaries_1): Pass around vsets.
+       (ipa_write_optimization_summaries): Likewise.
+       * varpool.c (varpool_get_node): New.
+       (varpool_node): Update doubly linked lists.
+       (varpool_remove_node): New.
+       (dump_varpool_node): More dumping.
+       (varpool_enqueue_needed_node): Update doubly linked lists.
+       (decide_is_variable_needed): Kill ltrans hack.
+       (varpool_finalize_decl): Kill lto hack.
+       (varpool_assemble_decl): Skip decls in other partitions.
+       (varpool_assemble_pending_decls): Update doubly linkes lists.
+       (varpool_empty_needed_queue): Likewise.
+       (varpool_extra_name_alias): Likewise.
+       * lto-streamer.c (lto_get_section_name): Add vars section.
+       * lto-streamer.h (lto_section_type): Update.
+       (output_varpool, input_varpool): Declare.
+
 2010-04-28  Mike Stump  <mikestump@comcast.net>
 
        * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
        (lto_output_edge): Added capability to stream indirect edges.
        (input_edge): Likewise.
        (input_cgraph_1): Likewise.
+       * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
+       of indirect edges.
 
 2010-04-28  Richard Guenther  <rguenther@suse.de>