+2010-11-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
+ __FLOAT_WORD_ORDER__ according to FLOAT_WORDS_BIG_ENDIAN.
+ * config/dfp-bit.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
+ * doc/cpp.texi (__FLOAT_WORD_ORDER__): Document.
+ * system.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Poison.
+
+2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46519
+ * config/i386/i386.c (ix86_expand_call): Don't check
+ TREE_THIS_VOLATILE.
+
+2010-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46519
+ * config/i386/i386.c (upper_128bits_state): New.
+ (block_info_def): Remove upper_128bits_set and done. Add state,
+ referenced, count, processed and rescanned.
+ (check_avx256_stores): Updated.
+ (move_or_delete_vzeroupper_2): Updated. Handle deleted BB_END.
+ Call note_stores only if needed. Set referenced and count.
+ (move_or_delete_vzeroupper_1): Updated. Set rescan_vzeroupper_p.
+ (rescan_move_or_delete_vzeroupper): New.
+ (move_or_delete_vzeroupper): Process and rescan all all basic
+ blocks instead of predecessor blocks of all exit points.
+ (ix86_option_override_internal): Enable vzeroupper optimization
+ only for -fexpensive-optimizations and not optimizing for size.
+ (use_avx256_p): Removed.
+ (init_cumulative_args): Don't set use_avx256_p.
+ (ix86_function_arg): Likewise.
+ (ix86_expand_move): Likewise.
+ (ix86_expand_vector_move_misalign): Likewise.
+ (ix86_local_alignment): Likewise.
+ (ix86_minimum_alignment): Likewise.
+ (ix86_expand_epilogue): Don't check use_avx256_p when generating
+ vzeroupper.
+ (ix86_expand_call): Likewise.
+
+ * config/i386/i386.h (machine_function): Remove use_vzeroupper_p
+ and use_avx256_p. Add rescan_vzeroupper_p.
+
+2010-11-24 Joseph Myers <joseph@codesourcery.com>
+
+ * toplev.c: Include <signal.h>.
+
+2010-11-24 Richard Guenther <rguenther@suse.de>
+
+ PR lto/43218
+ * lto-symtab.c (lto_cgraph_replace_node): Mark edges with
+ conflicting function signatures as non-inlineable.
+
+2010-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/46614
+ * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP_P): Define.
+ (deps_analyze_insn): Mark JUMP_INSNs in
+ last_pending_memory_flush that weren't added through
+ flush_pending_lists with NON_FLUSH_JUMP_KIND.
+ (sched_analyze_2, sched_analyze_insn): Check NON_FLUSH_JUMP_P
+ on INSN_LIST instead of JUMP_P check on its operand.
+ * sched-rgn.c (concat_INSN_LIST): Copy over REG_NOTE_KIND.
+
+2010-11-24 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (input_gimple_stmt): Use types_compatible_p.
+
+2010-11-24 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46606
+ * lto-streamer-in.c (input_gimple_stmt): When we cannot find
+ a FIELD_DECL that is type correct issue a warning and fixup
+ with a VIEW_CONVERT_EXPR.
+
+2010-11-24 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * doc/invoke.texi (Options for Debugging Your Program or GCC):
+ Explain static numbering of dump files.
+
+2010-11-24 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (user_vect_verbosity_level): New Variable entry.
+ (ftree-vectorizer-verbose=): Mark as UInteger.
+ * flag-types.h (enum vect_verbosity_levels): Move from enum
+ verbosity_levels in tree-vectorizer.h.
+ * opts.c: Don't include tree.h.
+ (vect_set_verbosity_level): Move from tree-vectorizer.c. Use
+ gcc_options parameter; take integer option argument.
+ (common_handle_option): Update call to vect_set_verbosity_level.
+ * tree-vectorizer.c (user_vect_verbosity_level): Remove.
+ (vect_set_verbosity_level): Move to opts.c.
+ (vect_verbosity_level, vect_print_dump_info): Update for change of
+ enum name.
+ * tree-vectorizer.h (enum verbosity_levels): Move to flag-types.h.
+ (vect_print_dump_info): Update for change of enum name.
+ * tree.h (vect_set_verbosity_level): Remove.
+ * Makefile.in (opts.o): Update dependencies.
+
+2010-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/46629
+ * cfgexpand.c (maybe_cleanup_end_of_block): Test NEXT_INSN (insn)
+ instead of insn with any_condjump_p.
+
+2010-11-24 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/loongson.md: Change the description comment of the file
+ and update the copyright years.
+ (define_insn "<u>div<mode>3): Add loongson3a support.
+ (define_insn "<u>mod<mode>3"): Likewise.
+ * config/mips/mips.md: Rename mul<mode>3_mul3_ls2ef to
+ mul<mode>3_mul3_loongson.
+ (define_expand "mul<mode>3"): Add TARGET_LOONGSON_3A.
+ (define_insn "mul<mode>3_mul3_loongson"): Add loongson3a support.
+
+2010-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (initial_max_fld_align, flag_debug_asm,
+ flag_dump_rtl_in_asm, flag_dump_all_passed, rtl_dump_and_exit,
+ flag_print_asm_name, graph_dump_format, help_printed,
+ help_columns, flag_opts_finished): New Variable entries.
+ (fdbg-cnt-list, fdbg-cnt=, fdebug-prefix-map=, frandom-seed,
+ frandom-seed=): Mark deferred.
+ (fsched-verbose=): Use UInteger and Var.
+ * flags.h (set_struct_debug_option, flag_print_asm_name,
+ rtl_dump_and_exit, flag_debug_asm, flag_dump_rtl_in_asm,
+ graph_dump_format): Don't declare here.
+ * haifa-sched.c (sched_verbose_param, fix_sched_param): Remove.
+ * opts-global.c: Include dbgcnt.h and debug.h.
+ (decode_options): Pass location to finish_options.
+ (handle_common_deferred_options): Check flag_dump_all_passed.
+ Handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list, OPT_fdebug_prefix_map_,
+ OPT_frandom_seed and OPT_frandom_seed_. Don't assert on
+ OPT_fstack_limit.
+ * opts.c: Don't include toplev.h, dbgcnt.h or debug.h.
+ (set_struct_debug_option): Add location_t parameter. Update
+ recursive call. Use error_at.
+ (default_options_optimization): Use error_at.
+ (finish_options): Add location_t parameter. Use
+ opts->x_flag_opts_finished instead of first_time_p. Use
+ opts->x_optimize instead of optimize. Use error_at. Pass
+ location to inform.
+ (print_filtered_help): Use opts->x_help_printed to track what
+ options have been printed.
+ (print_specific_help): Use opts->x_help_columns to track number of
+ columns.
+ (common_handle_option): Pass locations and gcc_options pointers to
+ more functions. Use warning_at instead of fnotice and warning.
+ Don't handle OPT_fdbg_cnt_, OPT_fdbg_cnt_list or
+ OPT_fdebug_prefix_map_. Use error_at. Set
+ opts->x_initial_max_fld_align; don't set maximum_field_alignment.
+ Don't handle OPT_frandom_seed or OPT_frandom_seed_. Don't handle
+ OPT_fsched_verbose_.
+ (handle_param): Add location_r parameter. Use error_at.
+ (set_debug_level): Add location_r parameter. Use error_at and
+ warning_at.
+ (setup_core_dumping): Add diagnostic_context parameter.
+ (decode_d_option): Add gcc_options, location_t and
+ diagnostic_context parameters and use them instead of global
+ state. Use warning_at.
+ (enable_warning_as_error): Use error_at.
+ * opts.h (finish_options): Update prototype.
+ (set_struct_debug_option): Declare here.
+ * rtl.h (fix_sched_param): Remove.
+ * stor-layout.c (initial_max_fld_align): Remove.
+ * toplev.c (rtl_dump_and_exit, flag_print_asm_name,
+ graph_dump_format, flag_debug_asm, flag_dump_rtl_in_asm): Remove.
+ (process_options): Set maximum_field_alignment.
+ * tree.h (initial_max_fld_align) Don't declare here.
+ * Makefile.in (opts.o, opts-global.o): Update dependencies.
+
+2010-11-23 Joseph Myers <joseph@codesourcery.com>
+
+ * flag-types.h (struct visibility_flags): Don't declare here.
+ * flags.h (strip_off_ending, fast_math_flags_set_p,
+ fast_math_flags_struct_set_p): Declare here.
+ (visibility_options): Don't declare here.
+ * opts-common.c (option_enabled, get_option_state): Move from
+ opts.c.
+ * opts-global.c: Include diagnostic.h instead of
+ diagnostic-core.h. Include tree.h, langhooks.h, lto-streamer.h
+ and toplev.h.
+ (const_char_p, ignored_options, in_fnames, num_in_fnames,
+ write_langs, complain_wrong_lang, postpone_unknown_option_warning,
+ print_ignored_options, unknown_option_callback,
+ post_handling_callback, lang_handle_option, add_input_filename,
+ read_cmdline_options, initial_lang_mask, init_options_once,
+ decode_cmdline_options_to_array_default_mask,
+ set_default_handlers, decode_options): Move from opts.c.
+ (print_ignored_options): Use warning_at instead of saving and
+ restoring input_location.
+ * opts.c: Include <signal.h> and <sys/resource.h>. Include rtl.h
+ instead of expr.h. Don't include langhooks.h, except.h or
+ lto-streamer.h. Add more comments on includes.
+ (strip_off_ending, setup_core_dumping, decode_d_option): Move from
+ toplev.c.
+ (visibility_options): Move to c-family/c-common.c.
+ (const_char_p, ignored_options, in_fnames, num_in_fnames,
+ write_langs, complain_wrong_lang, postpone_unknown_option_warning,
+ print_ignored_options, unknown_option_callback,
+ post_handling_callback, lang_handle_option, add_input_filename,
+ read_cmdline_options, initial_lang_mask, init_options_once,
+ decode_cmdline_options_to_array_default_mask,
+ set_default_handlers, decode_options): Move to opts-global.c.
+ (target_handle_option, default_options_optimization,
+ finish_options, common_handle_option): Remove static.
+ (option_enabled, get_option_state): Move to opts-common.c.
+ * opts.h (common_handle_option, target_handle_option,
+ finish_options, default_options_optimization): Declare.
+ * toplev.c: Don't include <signal.h> or <sys/resource.h>.
+ (setup_core_dumping, strip_off_ending, decode_d_option): Move to
+ opts.c.
+ * toplev.h (strip_off_ending, decode_d_option,
+ fast_math_flags_set_p, fast_math_flags_struct_set_p): Don't
+ declare here.
+ * Makefile.in (opts.o, opts-global.o): Update dependencies.
+
+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>
+
+ PR target/46510
+ * tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
+ finalize external decls.
+
+2010-11-21 Joseph Myers <joseph@codesourcery.com>
+
+ * system.h (strerror): Poison.
+
+2010-11-21 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_builtin): Use the correct mode
+ for infq/huge_valq.
+
+2010-11-21 Richard Henderson <rth@redhat.com>
+
+ PR rtl-optimization/46571
+ * gcse.c (hash_scan_set): Use next_nonnote_nondebug_insn.
+ (compute_hash_table_work): Use NONDEBUG_INSN_P.
+
+2010-11-21 Paul Koning <ni1d@arrl.net>
+
+ * config/mips/pdp11.md (negsi2): Fix wrong code.
+
+2010-11-21 Paul Koning <ni1d@arrl.net>
+
+ * config/mips/pdp11.c (pdp11_legitimate_address_p): New function.
+ * config/mips/pdp11.h (GO_IF_LEGITIMATE_ADDRESS): Delete.
+
+2010-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/mips/mips.c (machine_function): Rename load_label_length to
+ load_label_num_insns.
+ (mips_load_label_length): Rename to...
+ (mips_load_label_num_insns): ...this. Adjust to first renaming.
+ (mips_adjust_insn_length): Adjust to second renaming. Fix thinko.
+
+2010-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/46533
+ * config/alpha/predicates.md (direct_call_operand): Return false
+ for !TARGET_SMALL_TEXT targets.
+
+2010-11-20 Joseph Myers <joseph@codesourcery.com>
+
+ * 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.
+ * doc/tm.texi: Regenerate.
+ * system.h (HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_SYSV_PRAGMA,
+ HANDLE_PRAGMA_WEAK): Poison.
+ * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/alpha/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/alpha/osf5.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/alpha/vms.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/arm/arm.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/cris/cris.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/darwin.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/elfos.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/freebsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/i386/cygming.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/i386/djgpp.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_WEAK): Don't undefine.
+ * config/i386/netware.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/i386/vxworks.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/ia64/hpux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/interix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_WEAK): Don't undefine.
+ * config/linux.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/m32r/linux.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK): Don't undefine.
+ * config/m32r/m32r.h (HANDLE_SYSV_PRAGMA): Don't undefine.
+ * config/mep/mep.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/mips/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/mips/sde.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/netbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/openbsd.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/pa/pa-hpux.h (HANDLE_SYSV_PRAGMA): Don't define.
+ (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/rs6000/sysv4.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/rx/rx.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/score/elf.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/spu/spu.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+ * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Don't define.
+ * config/xtensa/elf.h (HANDLE_PRAGMA_PACK_PUSH_POP): Don't define.
+
+2010-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/31100
+ * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP): Move to...
+ * config/sparc/sol2.h (ASM_OUTPUT_ALIGN_WITH_NOP): ...here.
+ * config/sparc/sol2-gas.h (ASM_OUTPUT_ALIGN_WITH_NOP): Undefine.
+
+2010-11-20 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (ld_plugin_symbol_resolution_names): New.
+ (dump_cgraph_node): Dump resolution.
+ * cgraph.h (ld_plugin_symbol_resolution_names): Declare.
+ (cgraph_comdat_can_be_unshared_p): Dclare.
+ * lto-streamer-out.c (produce_symtab): Use
+ cgraph_comdat_can_be_unshared_p.
+ * ipa.c (cgraph_address_taken_from_non_vtable_p): New function.
+ (cgraph_comdat_can_be_unshared_p): New function based on logic
+ in cgraph_externally_visible_p.
+ (cgraph_externally_visible_p): Use it.
+ (varpool_externally_visible_p): Virtual tables can be unshared.
+ * varpool.c (dump_varpool_node): Dump resolution.
+
+2010-11-20 Jan Hubicka <jh@suse.cz>
+
+ * stmt.c (lshift_cheap_p): Support properly optimize_insn_for_speed_p.
+
+2010-11-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR other/46202
+ * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New variables.
+ (AR_FOR_TARGET, RANLIB_FOR_TARGET, STRIP_FOR_TARGET): Fix
+ shell quoting.
+ (STRIP_FOR_TARGET): Look for in-tree strip under name strip-new.
+ (install-strip): New target.
+ (STRIPPROG): New variable, exported if STRIP is set.
+ * doc/install.texi (Final install): Minor markup and code style
+ fixes. Document install-strip target.
+
+2010-11-20 Paul Koning <ni1d@arrl.net>
+
+ * config/pdp11/pdp11-protos.h (pdp11_initial_elimination_offset,
+ pdp11_regno_reg_class): New functions.
+ * config/pdp11/pdp11.md (define_constants): Add register numbers.
+ * config/pdp11/pdp11.c (pdp11_regno_reg_class,
+ pdp11_sp_frame_offset, pdp11_initial_elimination_offset): New
+ functions.
+ * config/pdp11/pdp11.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Add
+ frame pointer and argument pointer pseudo-registers.
+ (ARG_POINTER_REGNUM): Define.
+ (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add frame pointer and
+ argument pointer.
+ (FIRST_PARM_OFFSET): Update for argument pointer.
+ (INITIAL_FRAME_POINTER_OFFSET): Delete.
+ (ELIMINABLE_REGS, INITIAL_ELIMINATION_OFFSET): New macros.
+ (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P, REGISTER_NAMES): Add
+ frame pointer and argument pointer.
+
+2010-11-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/46561
+ * tree-parloops.c (try_create_redunction_list): Ignore debug stmts
+ when looking for immediate uses.
+
+ PR tree-optimization/45830
+ * stmt.c (expand_switch_using_bit_tests_p): New function.
+ (expand_case): Use it.
+ * tree.h (expand_switch_using_bit_tests_p): New prototype.
+ * tree-switch-conversion.c (struct switch_conv_info): Add
+ bit_test_uniq, bit_test_count and bit_test_bb fields.
+ (check_range): Fix a comment.
+ (check_process_case): Compute bit_test_uniq and bit_test_count.
+ (create_temp_arrays): Use XCNEWVEC, merge 3 arrays into one
+ allocation.
+ (free_temp_arrays): Use XDELETEVEC, adjust for the 3 arrays merging.
+ (constructor_contains_same_values_p): Use FOR_EACH_VEC_ELT.
+ (array_value_type): New function.
+ (build_one_array): Use it, if it returned different type,
+ fold_convert all constructor fields and convert back to the
+ wider type in the generated code.
+ (process_switch): Initialize bit_test_uniq, bit_test_count and
+ bit_test_bb fields. Don't optimize if expand_switch_using_bit_tests_p
+ returned true.
+
+2010-11-19 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/46077
+ * tree-chrec.c (eq_evolutions_p): Accept some expressions.
+
+2010-11-19 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mn10300/mn10300.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/mn10300/mn10300.c (mn10300_asm_output_addr_const_extra): New
+ function.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2010-11-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * mode-switching.c (optimize_mode_switching): Use
+ FOR_BB_INSNS instead of open-coded loop.
+ * cfgrtl.c (redirect_branch_edge): Ditto.
+
+2010-11-19 Joern Rennecke <amylaar@spamcop.net>
+
+ PR target/46436
+ * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Split shift count
+ to accomodate 32 bit HOST_WIDE_INT.
+ (m68hc11_emit_logical): Remove unused variable insn.
+ (m68hc11_check_z_replacement) <CLOBBER>: Set this_insn_uses_ix and
+ this_insn_uses_iy before use.
+
+ PR target/46434
+ * config/crx/crx.c (crx_expand_epilogue): Remove unused variable.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/46547
+ * c-tree.h (in_late_binary_op): Move to c-family/c-common.h.
+ * c-typeck.c (in_late_binary_op): Move to c-family/c-common.c.
+
+2010-11-19 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * doc/extend.texi (Function attributes): Document PowerPC target
+ attributes that are supported.
+ (Pragmas): Document that PowerPC now supports target pragmas.
+
+ * doc/options.texi (TargetVariable): Document TargetVariable,
+ HeaderInclude, and SourceInclude.
+
+ * doc/invoke.texi (-mfused-madd): Document that -mfused-madd is
+ mapped to -ffp-contract=fast, and -mno-fused-madd is mapped to
+ -ffp-contract=off.
+
+ * optc-gen.awk: Add support for TargetVariable, HeaderInclude, and
+ SourceInclude directives. Fix a cut+paste error with target save
+ enum variables. Sort enums in the structures after ints and
+ before shorts.
+ * opth-gen.awk: Ditto.
+
+ * configure.ac: Add support for HeaderInclude and SourceInclude option
+ directives to add the appropriate files to the dependency lists.
+ * configure: Regenerate.
+ * Makefile.in (OPTIONS_H_EXTRA): New variable for HeaderInclude.
+ (OPTIONS_C_EXTRA): New variable for SourceInclude.
+ (OPTIONS_H): Add $(OPTIONS_H_EXTRA).
+ (options.o): Add $(OPTIONS_C_EXTRA) dependency.
+ (gcc-options.o): Ditto.
+ * opt-include.awk: New awk script to handle HeaderInclude and
+ TargetInclude.
+
+ * config/rs6000/aix.opt (-mxl-compat): Mark option as Save so it
+ gets saved in the target options.
+ * config/rs6000/linux64.opt (-mprofile-kernel): Ditto.
+ * config/rs6000/sysv4.opt (-mbit-align): Ditto.
+ (-mprototype): Ditto.
+ (-mbit-word): ditto.
+ (-mregnames): Ditto.
+ (-msecure-plt): Ditto.
+ (-mbss-plt): Ditto.
+ * config/rs6000/rs6000.opt (-mpowerpc-gpopt): Ditto.
+ (-mpowerpc-gfxopt): Ditto.
+ (-mmfcrf): Ditto.
+ (-mpopcntb): Ditto.
+ (-mfprnd): Ditto.
+ (-mcmpb): Ditto.
+ (-mmmfpgpr): Ditto.
+ (-maltivec): Ditto.
+ (-mhard-dfp): Ditto.
+ (-mmulhw): Ditto.
+ (-mdlmzb): Ditto.
+ (-mmultiple): Ditto.
+ (-mstring): Ditto.
+ (-mpopcntd): Ditto.
+ (-mfriz): Ditto.
+ (-mvsx): Ditto.
+ (-mno-update): Ditto.
+ (-mavoid-indexed-addresses): Ditto.
+ (-mtls-markers): Ditto.
+ (-msched-epilog): Ditto.
+ (-msched-prolog): Ditto.
+ (-maix-struct-return): Ditto.
+ (-msvr4-struct-return): Ditto.
+ (-mxl-compat): Ditto.
+ (-mrecip-precision): Ditto.
+ (-mfp-in-toc): Ditto.
+ (-msum-in-toc): Ditto.
+ (-mvrsave): Ditto.
+ (-mblock-move-inline-limit=): Ditto.
+ (-misel): Ditto.
+ (-mpaired): Ditto.
+ (-mlongcall): Ditto.
+ (-mgen-cell-microcode): Ditto.
+ (-mwarn-cell-microcode): Ditto.
+ (-mwarn-altivec-long): Ditto.
+ (-mprioritize-restricted-insns=): Ditto.
+ (-msingle-float): Ditto.
+ (-mdouble-float): Ditto.
+ (-msimple-fpu): Ditto.
+ (-mxilinx-fpu): Ditto.
+ * config/rs6000/aix64.opt (-mpe): Ditto.
+
+ * config/rs6000/rs6000.opt (HeaderInclude): Include rs6000-opts.h.
+ (rs6000_cpu): Move variable to be a target variable. Rename
+ cmodel to rs6000_current_cmodel because of macro conflict. Merge
+ -mdebug=<xxx> variables into a single int.
+ (rs6000_always_hint): Ditto.
+ (rs6000_sched_groups): Ditto.
+ (rs6000_align_branch_targets): Ditto.
+ (rs6000_sched_costly_dep): Ditto.
+ (rs6000_sched_insert_nops): Ditto.
+ (rs6000_long_double_type_size): Ditto.
+ (rs6000_ieeequad): Ditto.
+ (rs6000_altivec_abi): Ditto.
+ (rs6000_spe): Ditto.
+ (rs6000_spe_abi): Ditto.
+ (rs6000_float_gprs): Ditto.
+ (rs6000_darwin64_abi): Ditto.
+ (can_override_loop_align): Ditto.
+ (rs6000_sdata): Ditto.
+ (rs6000_tls_size): Ditto.
+ (rs6000_current_abi): Ditto.
+ (rs6000_traceback): Ditto.
+ (rs6000_alignment_flags): Ditto.
+ (rs6000_current_cmodel): Ditto.
+ (rs6000_recip_control): Ditto.
+ (rs6000_cpu_index): Ditto.
+ (rs6000_tune_index): Ditto.
+ (rs6000_debug): Ditto.
+ (rs6000_target_flags_explict): Ditto.
+
+ * config/rs6000/rs6000-protos.h (rs6000_pragma_target_parse): Add
+ declaration.
+
+ * config/rs6000/linux64.h (rs6000_current_cmode): Rename from
+ cmodel. Change all uses.
+
+ * config/rs6000/rs6000.c (rs6000_always_hint): Move to
+ rs6000.opt. Combine -mdebug=<xxx> variables into a single int.
+ Rename cmodel to rs6000_current_cmodel.
+ (rs6000_sched_groups): Ditto.
+ (rs6000_align_branch_targets): Ditto.
+ (rs6000_sched_costly_dep): Ditto.
+ (rs6000_sched_insert_nops): Ditto.
+ (rs6000_long_double_type_size): Ditto.
+ (rs6000_ieeequad): Ditto.
+ (rs6000_altivec_abi): Ditto.
+ (rs6000_spe): Ditto.
+ (rs6000_spe_abi): Ditto.
+ (rs6000_float_gprs): Ditto.
+ (rs6000_darwin64_abi): Ditto.
+ (can_override_loop_align): Ditto.
+ (rs6000_sdata): Ditto.
+ (rs6000_tls_size): Ditto.
+ (rs6000_current_abi): Ditto.
+ (rs6000_traceback): Ditto.
+ (rs6000_alignment_flags): Ditto.
+ (rs6000_current_cmodel): Ditto.
+ (rs6000_recip_control): Ditto.
+ (rs6000_cpu_index): Ditto.
+ (rs6000_tune_index): Ditto.
+ (rs6000_debug): Ditto.
+ (rs6000_target_flags_explict): Ditto.
+ (rs6000_sched_insert_nops_str): Make static.
+ (rs6000_sched_costly_dep_str): Ditto.
+ (rs6000_recip_name): Ditto.
+ (rs6000_abi_name): Ditto.
+ (rs6000_sdata_name): Ditto.
+ (enum rs6000_traceback_name): Move to rs6000-opts.h.
+ (rs6000_parse_tls_size_option): Delete.
+ (rs6000_valid_attribute_p): New function for target attributes and
+ pragmas.
+ (rs6000_function_specific_save): Ditto.
+ (rs6000_function_specific_restore): Ditto.
+ (rs6000_function_specific_print): Ditto.
+ (rs6000_can_inline_p): Ditto.
+ (rs6000_set_current_function): Ditto.
+ (rs6000_inner_target_options): Ditto.
+ (rs6000_debug_target_options): Ditto.
+ (rs6000_pragma_target_parse): Ditto.
+ (TARGET_OPTION_VALID_ATTRIBUTE_P): Define target hooks for target
+ attributes and pragmas.
+ (TARGET_OPTION_SAVE): Ditto.
+ (TARGET_OPTION_RESTORE): Ditto.
+ (TARGET_OPTION_PRINT): Ditto.
+ (TARGET_CAN_INLINE_P): Ditto.
+ (TARGET_SET_CURRENT_FUNCTION): Ditto.
+ (POWER_MASKS): Move to file level scope from the
+ rs6000_option_override_internal function.
+ (POWERPC_MASKS): Ditto.
+ (ISA_*_MASKS): Ditto.
+ (struct rs6000_ptt): Ditto.
+ (processor_target_table): Ditto.
+ (rs6000_cpu_name_lookup): Map cpu name to an index in
+ processor_target_table.
+ (rs6000_debug_reg_global): Print more information on processor
+ options for -mdebug=reg.
+ (rs6000_init_hard_regno_mode_ok): Add support for target
+ attributes and pragmas. Merge all -mdebug=<xxx> fields into one.
+ Allow -mdebug=val1,val2. Rename cmodel variable.
+ (rs6000_option_override_internal): Ditto.
+ (rs6000_option_override): Ditto.
+ (rs6000_handle_option): Ditto.
+ (rs6000_conditional_register_usage): Add debug trace message.
+ (struct rs6000_opt_mask): New for target attribute/pragma support.
+ (rs6000_opt_masks): Ditto.
+ (struct rs6000_opt_var): Ditto.
+ (rs6000_opt_vars): Ditto.
+ (rs6000_previous_function): Ditto.
+
+ * config/rs6000/rs6000.h (top level): Include rs6000-opts.h if it
+ wasn't already included.
+ (enum rs6000_cmodel): Move to rs6000-opts.h or rs6000.opt.
+ (enum processor_type): Ditto.
+ (rs6000_cpu): Ditto.
+ (enum fpu_type_t): Ditto.
+ (fpu_type): Ditto.
+ (enum rs6000_dependence_cost): Ditto.
+ (enum rs6000_nop_insertion): Ditto.
+ (enum group_termination): Ditto.
+ (rs6000_long_double_type_size): Ditto.
+ (rs6000_ieeequad): Ditto.
+ (rs6000_altivec_abi): Ditto.
+ (rs6000_spe_abi): Ditto.
+ (rs6000_spe): Ditto.
+ (rs6000_float_gprs): Ditto.
+ (rs6000_alignment_flags): Ditto.
+ (rs6000_sched_insert_nops): Ditto.
+ (enum rs6000_vector): Ditto.
+ (enum rs6000_abi): Ditto.
+ (rs6000_current_opt): Ditto.
+ (rs6000_debug_*): Delete.
+ (MASK_DEBUG*): Combine -mdebug=xxxx into one int.
+ (TARGET_DEBUG*): Ditto.
+
+ * config/rs6000/rs6000-opts.h: New header file to define the enums
+ that are used in target variables that are now defined in rs6000.opt.
+
+ * config/rs6000/sysv4.h (enum rs6000_sdata_type): Move to
+ rs6000-opts.h.
+ (rs6000_sdata): Ditto.
+ (rs6000_abi_name): Delete.
+ (rs6000_sdata_name): Ditto.
+ (rs6000_tls_size_string): Ditto.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (debug_struct_ordinary, debug_struct_generic): New
+ Variable entries.
+ * dwarf2out.c (matches_main_base, dump_struct_debug, DUMP_GSTRUCT,
+ should_emit_struct_debug): Move from opts.c.
+ * flag-types.h (enum debug_struct_file): Move from opts.c.
+ * flags.h (should_emit_struct_debug): Remove.
+ (base_of_path): Declare.
+ (set_struct_debug_option): Add gcc_options parameter.
+ * optc-gen.awk, opth-gen.awk: Handle array variables.
+ * opts.c (enum debug_struct_file, debug_struct_ordinary,
+ debug_struct_generic): Remove.
+ (set_struct_debug_option): Add gcc_options parameter.
+ (base_of_path): Remove static.
+ (main_input_basename, main_input_baselength, matches_main_base,
+ dump_struct_debug, DUMP_GSTRUCT, should_emit_struct_debug):
+ Remove.
+ * toplev.c (main_input_basename, main_input_baselength): Define
+ here.
+ * toplev.h (main_input_basename, main_input_baselength): Declare
+ here.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (flag_instrument_functions_exclude_functions,
+ flag_instrument_functions_exclude_files): New Variable definitions.
+ * flags.h (flag_instrument_functions_exclude_p): Don't declare.
+ * gimplify.c (char_p): Declare type and vectors.
+ (flag_instrument_functions_exclude_p): Moved from opts.c. Make static.
+ * opts.c (flag_instrument_functions_exclude_functions,
+ flag_instrument_functions_exclude_files): Remove.
+ (add_comma_separated_to_vector): Take void **.
+ (flag_instrument_functions_exclude_p): Move to gimplify.c.
+ (common_handle_option): Use options structure for
+ -finstrument-functions-exclude- options.
+
+2010-11-19 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (Var): Document effects of Defer.
+ (Defer): Document.
+ * opt-functions.awk (var_type, var_set): Handle deferred options.
+ * opts-common.c (set_option): Handle CLVC_DEFER.
+ * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-,
+ fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=,
+ fstack-limit-symbol=): Mark as deferred.
+ * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or
+ plugin.h.
+ (print_filtered_help): Don't report state of CLVC_DEFER options.
+ (common_handle_option): Move code for OPT_fcall_used_,
+ OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_,
+ OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and
+ OPT_fstack_limit_symbol_ to opts-global.c.
+ (option_enabled, get_option_state): Handle CLVC_DEFER.
+ * opts.h: Include vec.h.
+ (enum cl_var_type): Add CLVC_DEFER.
+ (cl_deferred_option): Define type and vectors.
+ (handle_common_deferred_options): Declare.
+ * opts-global.c: New.
+ * toplev.c (toplev_main): Call handle_common_deferred_options
+ * Makefile.in (OPTS_H): Include $(VEC_H).
+ (OBJS-common): Include opts-global.o.
+ (opts.o): Update dependencies.
+ (opts-global.o): Add dependencies.
+
+2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_protocol_definition): Pass attributes
+ to objc_declare_protocols.
+
+2010-11-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/45789
+ * lto-streamer-out.c (lto_output_ts_common_tree_pointers): For
+ IDENTIFIERs do not stream TREE_TYPE.
+ * lto-streamer-in.c (lto_input_ts_common_tree_pointers): Likewise.
+
2010-11-19 Christian Borntraeger <borntraeger@de.ibm.com>
* config/s390/s390.c (s390_function_arg_integer): Handle NULLPTR_TYPE.
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.