OSDN Git Service

config/
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 6e12260..faf40b1 100644 (file)
+2010-11-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-nested.c (remap_vla_decls): Fully expand value expressions of
+       VLA variables.
+
+2010-11-27  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_assign_copy_p): Use gimple_assign_single_p.
+       (gimple_assign_ssa_name_copy_p): Likewise.
+       (gimple_assign_unary_nop_p): Use is_gimple_assign.
+       (is_gimple_cast): Remove.
+       (gimple_assign_single_p): Move ...
+       * gimple.h (gimple_assign_single_p): ... here.
+       (is_gimple_cast): Remove.
+       (gimple_assign_rhs_code): Simplify.
+       * gimple-fold.c (gimple_fold_builtin): Use CONVERT_EXPR_P
+       instead of is_gimple_cast.
+       * ipa-type-escape.c (look_for_casts): Likewise.
+
+2010-11-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/options.texi (Enum, EnumValue): Document new record types.
+       (Enum): Document new option flag.
+       * opt-functions.awk
+       * optc-gen.awk: Handle enumerated option arguments.
+       * opth-gen.awk: Handle enumerated option arguments.
+       * opts-common.c (enum_arg_ok_for_language, enum_arg_to_value,
+       enum_value_to_arg): New.
+       (decode_cmdline_option): Handle enumerated arguments.
+       (read_cmdline_option): Handle CL_ERR_ENUM_ARG.
+       (set_option, option_enabled, get_option_state): Handle CLVC_ENUM.
+       * opts.c (print_filtered_help, print_specific_help): Take
+       lang_mask arguments.
+       (print_filtered_help): Handle printing values of enumerated
+       options.  Print possible arguments for enumerated options.
+       (print_specific_help): Update call to print_filtered_help.
+       (common_handle_option): Update calls to print_specific_help.  Use
+       value rather than arg for OPT_fdiagnostics_show_location_.  Don't
+       handle OPT_ffp_contract_, OPT_fexcess_precision_,
+       OPT_fvisibility_, OPT_ftls_model_, OPT_fira_algorithm_ or
+       OPT_fira_region_ here.
+       * opts.h (enum cl_var_type): Add CLVC_ENUM.
+       (struct cl_option): Add var_enum.
+       (CL_ENUM_CANONICAL, CL_ENUM_DRIVER_ONLY, struct cl_enum_arg,
+       struct cl_enum, cl_enums, cl_enums_count): New.
+       (CL_ERR_ENUM_ARG): Define.
+       (CL_ERR_NEGATIVE): Update value.
+       (enum_value_to_arg): Declare.
+       * common.opt (flag_ira_algorithm, flag_ira_region,
+       flag_fp_contract_mode, flag_excess_precision_cmdline,
+       default_visibility, flag_tls_default): Remove Variable entries.
+       (help_enum_printed): New Variable.
+       (fdiagnostics-show-location=): Use Enum.  Add associated
+       SourceInclude, Enum and EnumValue entries.
+       (fexcess-precision=, ffp-contract=, fira-algorithm=, fira-region=,
+       ftls-model=, fvisibility=): Use Enum, Var and Init.  Add
+       associated Enum and EnumValue entries.
+
+2010-11-26  Joern Rennecke  <amylaar@spamcop.net>
+
+       PR target/46623
+       * config/microblaze/microblaze.c (microblaze_block_move_straight):
+       Use XALLOCAVEC.
+       (microblaze_option_override): Don't use C++ style comments.
+       (save_restore_insns): Remove unused variable base_offset.
+       (microblaze_expand_prologue): Remove unused variable insn.
+       (microblaze_secondary_reload): Adjust type to match target.h .
+       (microblaze_elf_in_small_data_p): Move declarations to start of block.
+       (microblaze_expand_move): Likewise.
+       * config/microblaze/microblaze.h (LARGE_INT):
+       Avoid signed / unsigned comparisons.
+       (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
+       (ASM_FORMAT_PRIVATE_NAME): Make format specifier match printed data.
+       (ASM_FINISH_DECLARE_OBJECT): Likewise.  Constify name.
+
+2010-11-26  Michael Matz  <matz@suse.de>
+
+       * tree-ssa-copy.c (fini_copy_prop): Don't DCE when we have loops.
+
+       * passes.c (init_optimization_passes): Remove superfluous
+       copy-prop pass.
+
+2010-11-26  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46648
+       * gimple.c (gtc_visit): Do not return true for members of an
+       SCC still being processed but the current lattice value of
+       the member.  Treat SCC members comparison state as lattice,
+       starting at equal, eventually dropping to unequal.
+       (gimple_types_compatible_p_1): Likewise.
+
+2010-11-26  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/46559
+       * dwarf2out.c (dwarf2out_finish): Use comp_unit_die as root
+       for location list processing.
+
+2010-11-26  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46560
+       * cgraph.c (cgraph_clone_edge): Clone call_stmt dependent
+       flags manually.
+
+2010-11-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (print_operand_address): Replace assert with
+       error message.
+       (print_operand): Replace assertions, gcc_unreachable and
+       fatal_insn with error messages.
+
+2010-11-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46665
+       * tree-ssa-structalias.c (pt_solution_set_var): Use DECL_PT_UID.
+
+2010-11-26  Ian Bolton  <ian.bolton@arm.com>
+
+       * config/arm/arm.c (arm_option_override): enable loop array
+       prefetching at -O3 for suitable targets, and configure params.
+       * config/arm/arm-protos.h (struct tune_params): Add fields for
+       configuring loop array prefetching.
+
+2010-11-26  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * config/s390/2817.md (z196_crack): Add z196_g3 as possible slot.
+
+2010-11-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46664
+       * tree-affine.c (aff_combination_to_tree): Add rest last.
+
+2010-11-26  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
+
+       PR target/33637
+       * configure.ac: Accept extra arguments for AS_FOR_TARGET,
+       LD_FOR_TARGET, NM_FOR_TARGET, OBJDUMP_FOR_TARGET.
+       * configure: Regenerated.
+       * exec-tool.in: Not quoting command, may have extra arguments.
+
+2010-11-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46528
+       PR debug/46338
+       * profile.c (branch_prob): Do not split blocks based on locations
+       from debug statements.
+
+2010-11-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/46647
+       * builtins.c (fold_builtin_memset): Check c is INTEGER_CST instead
+       of host_integerp check.  Use TREE_INT_CST_LOW instead of tree_low_cst.
+
+       PR bootstrap/45700
+       * tree.h (build1_stat_loc, build2_stat_loc, build3_stat_loc,
+       build4_stat_loc, build5_stat_loc, build6_stat_loc): New inlines.
+       (build1_loc, build2_loc, build3_loc, build4_loc, build5_loc,
+       build6_loc): Define.
+       * fold-const.c (protected_set_expr_location_unshare): New inline.
+       (fold_convert_loc, pedantic_non_lvalue_loc): Use it.
+       (negate_expr, associate_trees, non_lvalue_loc, omit_one_operand_loc,
+       pedantic_omit_one_operand_loc, omit_two_operands_loc,
+       fold_truth_not_expr, invert_truthvalue_loc, make_bit_field_ref,
+       optimize_bit_field_compare, make_range, fold_range_test, fold_truthop,
+       build_fold_addr_expr_with_type_loc, fold_unary_loc, fold_binary_loc,
+       fold_indirect_ref_1, build_fold_indirect_ref_loc): Use builN_loc
+       instead of buildN followed by SET_EXPR_LOCATION or
+       protected_set_expr_location.
+       (fold_build1_stat_loc, fold_build2_stat_loc, fold_build3_stat_loc):
+       Use buildN_stat_loc instead of buildN_stat followed by
+       SET_EXPR_LOCATION.
+
+2010-11-26  Basile Starynkevitch  <basile@starynkevitch.net>
+
+       * Makefile.in (s-tm-texi): Remove spurous tab.
+
+2010-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/46258
+       * tree-cfg.c (replace_uses_by): Don't mark BBs as altered on
+       debug stmts.
+
+2010-11-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * toplev.c (finalize): Add no_backend parameter.  Don't finish
+       passes when preprocessing only.  Adjust...
+       (do_compile): ... caller.
+
+2010-11-25  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/pa.md (negdf2): Condition on !flag_signed_zeros instead of
+       flag_unsafe_math_optimizations.
+       (negsf2): Likewise.
+       Move fnegabs related patterns together.  Only use fmpynfadd instruction
+       to negate a multiply if !flag_signed_zeros is true.
+
+2010-11-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gengtype-state.c (read_state_structures): Initialize "previous".
+
+2010-11-25  Basile Starynkevitch  <basile@starynkevitch.net>
+           Jeremie Salvucci  <jeremie.salvucci@free.fr>
+
+       * gengtype-state.c: Add new file.
+
+       * gengtype.c (type count): New variable.
+       (new_structure, find_param_structure, create_pointer)
+       (create_array): Use it to set state_number in types.
+       (dump_everything): Improve comment.
+       (main): Call read_state and write_state. Print type_count.
+
+       * gengtype.h (type_lineloc): New function.
+       (read_state, write_state): New declarations.
+
+       * Makefile.in (GENGTYPE_FLAGS): New variable.
+       (s-gtype): Run gengtype twice and generate gtype.state.
+       (build/gengtype-state.o): New rule.
+       (build/gengtype$(build_exeext)): Link gengtype-state.o.
+       (mostlyclean): Update comment.  Remove gtype.state.
+
+2010-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/46637
+       * combine.c (try_combine): When substing i2dest for i2src, pass
+       1 as last argument even if
+       i0_feeds_i1_n && i1_feeds_i2_n && i0dest_in_i0src.
+
+2010-11-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/46647
+       * builtins.c (target_char_cast): Check INTEGER_CST instead of
+       host_integerp.  Replace tree_low_cst with TREE_INT_CST_LOW.
+
+2010-11-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * target.def (supports_split_stack, except_unwind_info): Take
+       gcc_options parameters.
+       * targhooks.c (default_except_unwind_info,
+       dwarf2_except_unwind_info, sjlj_except_unwind_info): Take
+       gcc_options parameters.
+       * targhooks.h (default_except_unwind_info,
+       dwarf2_except_unwind_info, sjlj_except_unwind_info): Update
+       prototypes.
+       * doc/tm.texi.in (TARGET_IRA_COVER_CLASSES,
+       TARGET_HAVE_NAMED_SECTIONS, TARGET_UNWIND_TABLES_DEFAULT):
+       Document that hooks must not be modified.
+       (TARGET_EXCEPT_UNWIND_INFO): Refer to opts argument.
+       * doc/tm.texi: Regenerate.
+       * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Pass
+       &global_options to targetm.except_unwind_info.
+       * dwarf2out.c (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
+       dwarf2out_begin_prologue, dwarf2out_frame_init,
+       dwarf2out_frame_finish, dwarf2out_assembly_start): Pass
+       &global_options to targetm.except_unwind_info.
+       * except.c (init_eh, finish_eh_generation,
+       gate_convert_to_eh_region_ranges,
+       output_one_function_exception_table): Pass &global_options to
+       targetm.except_unwind_info.
+       * expr.c (build_personality_function): Pass &global_options to
+       targetm.except_unwind_info.
+       * function.c (expand_function_end): Pass &global_options to
+       targetm.except_unwind_info.
+       * hooks.c (hook_bool_bool_gcc_optionsp_false): New.
+       * hooks.h (hook_bool_bool_gcc_optionsp_false): Declare.
+       * opts.c (finish_options): Pass opts to targetm.except_unwind_info
+       and targetm.supports_split_stack.  Remove assertions about opts
+       and opts_set.
+       (common_handle_option): Remove assertions about opts, opts_set and dc.
+       * tree-tailcall.c (suitable_for_tail_call_opt_p): Pass
+       &global_options to targetm.except_unwind_info.
+       * tree.c (build_common_builtin_nodes: Pass &global_options to
+       targetm.except_unwind_info.
+       * config/arm/arm.c (arm_except_unwind_info): Add gcc_options parameter.
+       (arm_compute_func_type, arm_expand_prologue, thumb_pushpop,
+       thumb1_expand_prologue, thumb1_output_function_prologue,
+       arm_unwind_emit, arm_output_fn_unwind): Update calls to
+       arm_except_unwind_info.
+       * config/i386/i386.c (ix86_supports_split_stack): Add gcc_options
+       parameter.
+       * config/ia64/ia64.c (ia64_except_unwind_info): Add gcc_options
+       parameter.
+       (ia64_output_function_prologue, ia64_add_bundle_selector_before,
+       ia64_reorg, ia64_asm_unwind_emit): Update calls to
+       ia64_except_unwind_info.
+       * config/pa/pa.c (pa_option_override): Pass &global_options to
+       targetm.except_unwind_info.
+       * config/picochip/picochip-protos.h (picochip_except_unwind_info):
+       Remove prototype.
+
+2010-11-25  Kai Tietz  <kai.tietz@onevision.com>
+
+       * cgraphunit.c (process_function_and_variable_attributes):
+       Mark dllexport-ed function/variables as needed.
+       * ipa.c (cgraph_externally_visible_p): Make dllexport-ed
+       as externally visible.
+
+2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/46585
+       * sel-sched-ir.c (return_regset_to_pool): Verify that RS is not NULL.
+       (vinsn_init): Skip computation of dependencies for local NOPs.
+       (vinsn_delete): Don't try to free regsets for local NOPs.
+       (setup_nop_and_exit_insns): Change definition of nop_pattern.
+
+2010-11-25  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/46602
+       * sel-sched-ir.c (maybe_tidy_empty_bb): Move checking ...
+       (tidy_control_flow): Here.
+
+2010-11-25  Joern Rennecke  <amylaar@spamcop.net>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/45888
+       * Makefile.in (s-tm-texi): Remove \r occurences from tmp-tm.texi.
+       Fix target.def pathname in timestamp comparison.
+
+2010-11-24  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/predicates.md (pmpyshr_operand): New.
+       * config/ia64/ia64.c (ia64_expand_unpack): New.
+       (ia64_expand_widen_mul_v4hi): New.
+       (ia64_expand_widen_sum): Update for pattern renames.
+       (ia64_expand_dot_prod_v8qi): Likewise.
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/vect.md (vecwider): New mode attribute.
+       (vec_widen_umult_lo_v8qi, vec_widen_umult_hi_v8qi): New.
+       (vec_widen_smult_lo_v8qi, vec_widen_smult_hi_v8qi): New.
+       (pmpyshr2, pmpyshr2_u): New.
+       (vec_widen_smult_lo_v4hi, vec_widen_smult_hi_v4hi): New.
+       (vec_widen_umult_lo_v4hi, vec_widen_umult_hi_v4hi): New.
+       (mulv2si3): New.
+       (vec_pack_ssat_v4hi): Rename from pack2_sss.
+       (vec_pack_usat_v4hi): Rename from *pack2_uss.
+       (vec_pack_ssat_v2si): Rename from pack4_sss.
+       (vec_interleave_lowv8qi): Rename from unpack1_l, use the correct
+       vec_select operation.
+       (vec_interleave_highv8qi): Similarly.
+       (mux1_alt): Rename from *mux1_alt.
+       (vec_extract_evenv8qi, vec_extract_oddv8qi): New.
+       (vec_interleave_lowv4hi): Rename from unpack2_l.
+       (vec_interleave_highv4hi): Rename from unpack2_h.
+       (mix2_r): Rename from *mix2_r.
+       (mix2_l): Similarly.
+       (vec_extract_evenodd_helper): New.
+       (vec_extract_evenv4hi, vec_extract_oddv4hi): New.
+       (vec_interleave_lowv2si): Rename from *unpack4_l.
+       (vec_interleave_highv2si): Rename from *unpack4_h.
+       (vec_extract_evenv2si, vec_extract_oddv2si): New.
+       (vec_interleave_lowv2sf): Rename from fmix_r.
+       (vec_interleave_highv2sf): Rename from *fmix_l.
+       (vec_extract_evenv2sf, vec_extract_oddv2sf): New.
+       (vec_unpacku_lo_<VECINT12>, vec_unpacku_hi_<VECINT12>): New.
+       (vec_unpacks_lo_<VECINT12>, vec_unpacks_hi_<VECINT12>): New.
+       (vec_pack_trunc_v4hi, vec_pack_trunc_v2si): New.
+
+2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * targhooks.c (default_except_unwind_info): Remove
+       MUST_USE_SJLJ_EXCEPTIONS case.
+       * config/h8300/h8300.h (MUST_USE_SJLJ_EXCEPTIONS): Delete.
+       * config/h8300/h8300.c (TARGET_EXCEPT_UNWIND_INFO): Define.
+       * doc/tm.texi.in (MUST_USE_SJLJ_EXCEPTIONS): Delete.
+       * doc/tm.texi: Regenerate.
+       * system.h (MUST_USE_SJLJ_EXCEPTIONS): Poison.
+
+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
 2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        PR other/46202
-       * Makefile.in (install_sh, INSTALL_STRIP_PROGRAM): New
-       variables.
+       * 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.
        * 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. 
+       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. 
+       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. 
-       
+       frame pointer and argument pointer.
+
 2010-11-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR debug/46561
 2010-11-19  Uros Bizjak  <ubizjak@gmail.com>
 
        * mode-switching.c (optimize_mode_switching): Use
-       FOR_BB_INSNS instead of open-coded for loop.
+       FOR_BB_INSNS instead of open-coded loop.
        * cfgrtl.c (redirect_branch_edge): Ditto.
 
 2010-11-19  Joern Rennecke  <amylaar@spamcop.net>
 
 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.
 
        (ggc_common.o, ggc-page.o, ggc-zone.o, stringpool.o): Add
        $(GGC_INTERNAL_H) to dependencies.
 
-       * gentype.c: Update copyright year.
+       * gengtype.c: Update copyright year.
        (walk_type): Accept variable_size GTY option.
        (USED_BY_TYPED_GC_P): New macro.
        (write_enum_defn): Use USED_BY_TYPED_GC_P.  Do not output