+2010-11-23 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR driver/42690
+ * gcc.c (LINK_COMMAND_SPEC): Remove hard-coded pass-through plugin
+ options, replace by call of pass-through-libs spec function to process
+ link_gcc_c_sequence spec.
+ (lto_libgcc_spec): Delete variable.
+ (static_specs[]): Remove related entry.
+ (static_spec_functions[]): Add new entry for pass-through-libs.
+ (main): Don't generate deleted lto_libgcc_spec.
+ (pass_through_libs_spec_func): New function to implement the new
+ pass-through-libs spec function.
+ * doc/invoke.texi (pass-through-libs): Document new spec function.
+
+2010-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Warning, Optimization): Document.
+
+2010-11-23 Jan Hubicka <jh@suse.cz>
+
+ * tree.h (DECL_HAS_IMPLICIT_SECTION_NAME_P): New macro.
+ (tree_decl_with_vis): Add implicit_section_name_p.
+ * targhooks.h (default_function_section): Declare.
+ * target.def (function_section): New hook.
+ * defaults.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ * predict.c (choose_function_section): Remove.
+ (estimate_bb_frequencies): Do not use choose_function_section.
+ * coretypes.h (enum node_frequency): Move here from cgraph.h
+ * cgraph.h (enum node_frequency): Remove.
+ * varasm.c (initialize_cold_section_name, unlikely_text_section,
+ unlikely_text_section_p): Remove.
+ (named_subsection_entry): New structure.
+ (get_text_section): New function.
+ (default_function_section): New function.
+ (function_section_1): Break out from ...; handle profile info.
+ (function_section): ... here.
+ (unlikely_text_section): Remove.
+ (unlikely_text_section_p): Use function_section_1.
+ (assemble_start_function): Do not initialize cold section.
+ (default_section_type_flags): Do not special case cold subsection.
+ (switch_to_section): Likewise.
+ * output.h (get_text_section): Define.
+ * config/i386/winnt.c: Do not special case cold section.
+ * config/darwin-protos.h (darwin_function_section): Declare.
+ * config/microblaze/microblaze.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ * config/ia64/hpux.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ (TARGET_ASM_FUNCTION_SECTION): Define to ia64_hpux_function_section.
+ * config/ia64/ia64.c (ia64_hpux_function_section): New function.
+ * config/darwin.c (machopic_select_section): Use
+ darwin_function_section.
+ (darwin_function_section): New function.
+ * config/darwin.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Remove.
+ (TARGET_ASM_FUNCTION_SECTION): Define.
+ * system.h (HOT_TEXT_SECTION_NAME,
+ UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Poison.
+
+2010-11-23 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Use %(link_gcc_c_sequence).
+ LINK_GCC_C_SEQUENCE_SPEC: Define new macro.
+
+2010-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46499
+ * cfgexpand.c (maybe_cleanup_end_of_block): Remove also BARRIERs
+ following unconditional jumps.
+
+2010-11-23 Richard Guenther <rguenther@suse.de>
+
+ * doc/md.texi (386 constraints): Clarify A constraint documentation.
+
+2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
+ Jeremie Salvucci <jeremie.salvucci@free.fr>
+
+ * gengtype.c (enum typekind, struct options)
+ (struct nested_ptr_data, struct pair, NUM_PARAM)
+ (enum gc_used_num, struct type, UNION_P, UNION_OR_STRUCT_P):
+ Move to gengtype.h.
+ (string_type, scalar_nonchar, scalar_nonchar, scalar_char):
+ Remove static, add zero state_number.
+ (typedefs, structures, param_structs, variables): Remove static.
+ (create_option): Remove.
+ (create_string_option, create_type_option, create_nested_option):
+ New functions.
+ (create_nested_ptr_option): Use create_nested_option.
+ (note_variable, adjust_field_rtx_def, adjust_field_type): Call the
+ new create*option functions.
+ (process_gc_options): Adjust for discriminated option.
+ (output_mangled_typename): Handle TYPE_NONE.
+ (walk_type): Test option kinds.
+ (write_types_process_field): Handle TYPE_NONE and TYPE_ARRAY.
+ (write_func_for_structure, write_type, write_local, write_root)
+ (write_roots, note_def_vec, dump_options): Adjust for
+ discriminated option.
+
+ * gengtype.h
+ (typedefs, structures, param_structs, variables, enum typekind):
+ Move from gengtype.c
+ (enum option_kind): New discriminating enumeration.
+ (struct options): Becomes discriminated.
+ (struct nested_ptr_data): Nove from gengtype.c
+ (create_string_option, create_type_option, create_nested_option)
+ (create_nested_ptr_option): New functions
+ (struct pair, enum_gc_used_enum, NUM_PARAM, struct type, UNION_P)
+ (UNION_OR_STRUCT_P): Move from gengtype.c
+
+ * gengtype-parse.c (str_optvalue_opt, type_optvalue, option): Make
+ discriminated options.
+
+2010-11-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid doing work
+ twice. Avoid re-allocating the ops vector all the time.
+
+2010-11-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (refs_may_alias_p_1): Avoid calls to
+ is_gimple_min_invariant, group tree code checks to allow
+ combining them.
+ (stmt_may_clobber_ref_p_1): Check for SSA_NAME instead
+ of is_gimple_reg.
+
+2010-11-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (sparc*-*-*): Reorder.
+
+2010-11-23 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (header_dot_h_frul, source_dot_c_frul):
+ Remove ENABLE_CHECKING around DBGPRINTF.
+
+2010-11-22 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (exit_after_options, write_symbols, debug_info_level,
+ use_gnu_debug_info_extensions): New Variable entries.
+ (fprofile-dir=): Use Var.
+ * flag-types.h (enum debug_info_level): Rename to enum
+ debug_info_levels.
+ * flags.h (write_symbols, debug_info_level,
+ use_gnu_debug_info_extensions): Remove declarations.
+ * opts.c (exit_after_options, write_symbols, debug_info_level):
+ Remove.
+ (set_struct_debug_option): Make static variables const.
+ (use_gnu_debug_info_extensions): Remove.
+ (set_debug_level, print_filtered_help, print_specific_help,
+ fast_math_flags_set_p): Take gcc_options parameters and use them
+ in place of global variables.
+ (print_filtered_help): Make new_help non-static.
+ (print_specific_help): Update call to print_filtered_help.
+ (common_handle_option): Update calls to print_specific_help. Use
+ gcc_options structure for more settings. Make --help table
+ const. Don't handle OPT_fprofile_dir_ here. Update calls to
+ set_debug_level.
+ * toplev.c (profile_data_prefix): Remove.
+ * toplev.h (profile_data_prefix, exit_after_options): Remove
+ declarations.
+ (fast_math_flags_set_p): Update prototype.
+ * cppbuiltin.c (define_builtin_macros_for_compilation_flags):
+ Update call to fast_math_flags_set_p.
+
+2010-11-22 Richard Henderson <rth@redhat.com>
+
+ PR target/46434
+ * config/crx/crx.c (crx_addr_reg): Rename from crx_addr_reg_p;
+ return the address register extracted.
+ (crx_decompose_address): Update the extracted address register.
+
+2010-11-22 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+
+ PR driver/43335
+ * gcc.c (main): Don't crash when lto-wrapper program is not found.
+
+2010-11-22 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46608
+ * config/picochip/picochip.c (picochip_secondary_reload): Make static.
+ * config/picochip/picochip-protos.h: Don't include "target.h" .
+ (picochip_secondary_reload): Don't declare.
+
+ PR target/46613
+ * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Declare.
+ * config/m32c/m32c.c (m32c_conditional_register_usage): No longer
+ static.
+
+2010-11-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/46609
+ * gengtype.c (header_dot_h_frul): Check ENABLE_CHECKING.
+ (source_dot_c_frul): Likewise.
+
+2010-11-22 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gimple-pretty-print.c (dump_bb_header): Add check for cfun.
+
+2010-11-22 Paolo Bonzini <bonzini@gnu.org>
+
+ PR bootstrap/44970
+ * Makefile.in (fwprop.o) Add sparseset.h.
+ * fwprop.c: Include sparseset.h
+ (struct find_occurrence_data, find_occurrence_callback,
+ find_occurrence): Remove.
+ (active_defs, active_defs_check, register_active_defs,
+ update_df_init, update_uses): New.
+ (update_df): Rewrite.
+ (try_fwprop_subst, forward_propagate_asm): Add calls to
+ update_df_init and update_df.
+ (fwprop_init): Allocate active_defs and active_defs_check.
+ (fwprop_done): Free them.
+ (fwprop, fwprop_addr): Adjust comments.
+ * df.h (df_uses_create): Declare.
+ * df-scan.c (df_install_ref_incremental): Break out of df_ref_create.
+ (df_ref_create): Return result of df_ref_create_structure directly.
+ (df_ref_create_structure): Call df_install_ref_incremental when
+ no collection_rec is passed.
+ (df_ref_record): Do not create multiword hard reg info when no
+ collection_rec is passed.
+ (df_uses_create): New.
+
+2010-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/43057
+ * fold-const.c (pedantic_non_lvalue_loc): Unshare x before
+ setting location.
+
+2010-11-22 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (maybe_fold_reference): When canonicalizing
+ MEM_REFs, preserve volatileness.
+ * cgraphbuild.c (mark_address): Properly check for FUNCTION_DECL
+ addresses.
+
+2010-11-22 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (get_base_constructor): Remove superfluous breaks.
+
+2010-11-22 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/45652
+ * alias.c (get_reg_base_value): New.
+ * rtl.h (get_reg_base_value): Add prototype.
+ * sel-sched.c (init_regs_for_mode): Use it. Don't use registers with
+ non-null REG_BASE_VALUE for renaming.
+
+2010-11-22 Jeremie Salvucci <jeremie.salvucci@free.fr>
+ Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c: Include xregex.h and obstack.h
+ Added comments about role of get_output_file_with_visibility and
+ our regexpr machinery.
+ (frul_actionrout_t, struct file_rule_st): New.
+ (hader_dot_h_frul, source_dot_c_frul): New functions.
+ (NULL_REGEX, NULL_FRULACT): New.
+ (files_rules): New.
+ (matching_file_name_substitute): New function.
+ (get_output_file_with_visibility): Updated comments and rewritten
+ to use the new files_rules machinery.
+
+ * Makefile.in (XREGEX_H): Added variable.
+ (build/gengtype.o): Added dependencies for xregex.h and obstack.h
+
+2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * system.h (FUNCTION_ARG_BOUNDARY): Really poison.
+
+2010-11-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * target.def (conditional_register_usage): Define.
+ * reginfo.c (init_reg_sets_1): Call
+ targetm.conditional_register_usage.
+ * system.h (CONDITIONAL_REGISTER_USAGE): Poison.
+ * doc/tm.texi.in (CONDITIONAL_REGISTER_USAGE): Adjust language
+ for making it a hook.
+ * doc/tm.texi: Regenerate.
+ * config/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/alpha/alpha.c (alpha_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/arc/arc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/arc/arc.c (arc_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/arm/arm.c (arm_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/bfin/bfin.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/bfin/bfin-protos.h (conditional_register_usage): Delete.
+ * config/bfin/bfin.c (conditional_register_usage): Move code into...
+ (bfin_conditional_register_usage): ...here. New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/cris/cris.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/cris/cris-protos.h (cris_conditional_register_usage): Delete.
+ * config/cris/cris.c (cris_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/fr30/fr30.h (FIXED_REGISTERS): Adjust comment.
+ * config/frv/frv.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/frv/frv-protos.h (frv_conditional_register_usage): Delete.
+ * config/frv/frv.c (frv_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/h8300/h8300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/h8300/h8300.c (h8300_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/i386/i386-protos.h (ix86_conditional_register_usage): Delete.
+ * config/i386/i386.c (ix86_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/m32c/m32c.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/m32c/m32c-protos.h (m32c_conditional_register_usage): Delete.
+ * config/m32c/m32c.c (m32c_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/m32r/m32r.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/m32r/m32r.c (m32r_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/m68hc11/m68hc11.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/m68hc11/m68hc11-protos.h (m68hc11_conditional_register_usage):
+ Delete.
+ * config/m68hc11/m68hc11.c (m68hc11_conditional_register_usage): Make
+ static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mep/mep.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/mep/mep-protos.h (mep_conditional_register_usage): Delete.
+ * config/mep/mep.c (mep_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/mips/mips-protos.h (mips_conditional_register_usage): Delete.
+ * config/mips/mips.c (mips_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mmix/mmix.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/mmix/mmix-protos.h (mmix_conditional_register_usage): Delete.
+ * config/mmix/mmix.c (mmix_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/mn10300/mn10300.c (mn10300_conditional_register_usage):
+ ...here. New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/pa/pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/pa/pa64-regs.h (CONDITIONAL_REGISTER_USAGE): ...with this...
+ * config/pa/pa.c (pa_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/pdp11/pdp11.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/pdp11/pdp11.c (pdp11_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/rs6000/rs6000-protos.h (rs6000_conditional_register_usage):
+ Delete.
+ * config/rs6000/rs6000.c (rs6000_conditional_register_usage): Make
+ static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/rx/rx.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/rx/rx-protos.h (rx_conditional_register_usage): Delete.
+ * config/rx/rx.c (rx_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/s390/s390-protos.h (s390_conditional_register_usage): Delete.
+ * config/s390/s390.c (s390_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/score/score.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/score/score.c (score_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/sh/sh.c (sh_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/sparc/sparc.c (sparc_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/spu/spu.h (CONDITIONAL_REGISTER_USAGE): Delete.
+ * config/spu/spu-protos.h (spu_conditional_register_usage): Delete.
+ * config/spu/spu.c (spu_conditional_register_usage): Make static.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+ * config/v850/v850.h (CONDITIONAL_REGISTER_USAGE): Move logic...
+ * config/v850/v850.c (v850_conditional_register_usage): ...here.
+ New function.
+ (TARGET_CONDITIONAL_REGISTER_USAGE): Define.
+
2010-11-21 Jan Hubicka <jh@suse.cz>
Dominique d'Humieres <dominiq@lps.ens.ft>
* doc/tm.texi.in (HANDLE_SYSV_PRAGMA,
HANDLE_PRAGMA_PACK_PUSH_POP): Remove.
- (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to
- HANDLE_SYSV_PRAGMA.
+ (HANDLE_PRAGMA_PACK_WITH_EXPANSION): Don't refer to HANDLE_SYSV_PRAGMA.
* doc/tm.texi: Regenerate.
* system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
HANDLE_PRAGMA_WEAK): Poison.
2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
+ PR target/45986
* config/sparc/sparc.c (sparc_delegitimize_address): New function.
(TARGET_DELEGITIMIZE_ADDRESS): Define to above.