+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.
+ * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
(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>
(input_overwrite_node): Input new flags.
* passes.c (ipa_write_summaries): Do not call
lto_new_extern_inline_states.
- * lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
- lto_delete_extern_inline_states, lto_force_functions_extern_inline,
- lto_forced_extern_inline_p): Kill.
+ * lto-section-out.c (forced_extern_inline,
+ lto_new_extern_inline_states lto_delete_extern_inline_states,
+ lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
* lto-streamer.h (lto_new_extern_inline_states,
* lto_delete_extern_inline_states, lto_force_functions_extern_inline,
lto_forced_extern_inline_p): Kill.
* double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
(double_int_not, double_int_lshift, double_int_rshift): Declare.
(double_int_negative_p): Convert to static inline function.
- * double-int.c (double_int_lshift, double_int_lshift): Add new function.
+ * double-int.c (double_int_lshift, double_int_lshift): New functions.
(double_int_negative_p): Remove.
* tree.h (lshift_double, rshift_double):
* tree.c (build_low_bits_mask): Clean up, use double_int_* functions.