OSDN Git Service

2010-11-17 Joakim Tjernlund <Joakim.Tjernlund@transmode.se>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4a036dc..6cbcf61 100644 (file)
@@ -1,4 +1,790 @@
-2010-10-30  Paolo Bonzini  <bonzini@gnu.org>
+2010-11-17  Joakim Tjernlund  <Joakim.Tjernlund@transmode.se>
+
+       * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic
+       as well as -mrelocatable at the same time.
+
+2010-11-17  Quentin Neill  <quentin.neill.gnu@gmail.com>
+
+       PR target/46422
+       * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64):
+       Call the clz builtin.
+
+2010-11-17  Dinar Temirbulatov <dtemirbulatov@gmail.com>
+           Steve Ellcey  <sje@cup.hp.com>
+
+       PR middle-end/31490
+       * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
+       if section attribute used.
+
+2010-11-17  Jan Hubicka  <jh@suse.cz>
+
+       * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not
+       expand errno setting variant when optimizing for size.
+
+2010-11-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * postreload.c (reload_combine): Call control_flow_insn_p only once.
+       Reverse backward loop.  Fix formatting issues.
+
+2010-11-17  Paolo Bonzini  <bonzini@gnu.org>
+
+       * c-parser.c (c_token_is_qualifier,
+       c_parser_next_token_is_qualifier): New.
+       (c_parser_declaration_or_fndef, c_parser_struct_declaration):
+       Improve error message on specs->tagdef_seen_p.
+       (c_parser_struct_or_union_specifier): Improve error recovery.
+       (c_parser_declspecs): Move exit condition on C_ID_ID early.
+       Reorganize exit condition for C_ID_TYPENAME/C_ID_CLASSNAME
+       using c_parser_next_token_is_qualifier; extend it to cover
+       a ctsk_tagdef typespec and !typespec_ok in general.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       * value-prof.c (gimple_divmod_fixed_value_transform): Update the stmt.
+       (gimple_mod_pow2_value_transform): Likewise.
+       (gimple_mod_subtract_transform): Likewise.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/46504
+       * gimple.c (gimple_register_canonical_type): Make sure to only
+       make type leaders canonical types.
+
+2010-11-17  Michael Matz  <matz@suse.de>
+
+       * timevar.def (TV_IPA_OPT, TV_EARLY_LOCAL, TV_OPTIMIZE,
+       TV_POSTRELOAD, TV_REMOVE_UNUSED, TV_ADDRESS_TAKEN, TV_TODO,
+       TV_VERIFY_LOOP_CLOSED, TV_VERIFY_RTL_SHARING,
+       TV_REBUILD_FREQUENCIES, TV_REPAIR_LOOPS): New.
+       * tree-into-ssa.c (rewrite_into_ssa): Don't push/pop timevar here ...
+       (pass_build_ssa): ... but here.
+       * cgraphbuild.c (pass_rebuild_cgraph): Use timevar.
+       * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Use timevar.
+       * tree-emutls.c (pass_ipa_lower_emutls): Ditto.
+       * df-core.c (pass_df_initialize_opt, pass_df_initialize_no_opt): Ditto.
+       * predict.c (rebuild_frequencies): Ditto.
+       * tree-vectorizer.c (pass_ipa_increase_alignment): Ditto.
+       * emit-rtl.c (verify_rtl_sharing): Ditto.
+       * tree-cfgcleanup.c (repair_loop_structures): Ditto.
+       * tree-ssa-live.c (remove_unused_locals): Ditto.
+       * cfglayout.c (pass_into_cfg_layout, pass_outof_cfg_layout): Ditto.
+       * tree-ssa.c (pass_early_warn_uninitialized,
+       execute_update_addresses_taken, pass_update_address_taken): Ditto.
+       * tree-optimize.c (pass_all_optimizations, pass_early_local_passes,
+       pass_cleanup_cfg_post_optimizing, tree_rest_of_compilation): Ditto.
+       * passes.c (pass_postreload, execute_todo): Ditto.
+       * tree-ssanames.c (pass_release_ssa_names): Ditto.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * doc/invoke.texi (-dy): Remove.
+       * langhooks-def.h (lhd_do_nothing_i): Don't declare.
+       (LANG_HOOKS_PARSE_FILE): Define to lhd_do_nothing.
+       * langhooks.c (lhd_do_nothing_i): Remove.
+       * langhooks.h (lang_hooks.parse_file): Take no arguments.
+       * toplev.c (set_yydebug): Remove.
+       (compile_file): Update call to lang_hooks.parse_file.
+       (decode_d_option): Don't handle -dy.
+
+2010-11-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/46440
+       * combine.c (update_cfg_for_uncondjump): When changing
+       an indirect jump into unconditional jump, remove BARRIERs
+       from bb's footer.
+
+2010-11-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * opts.c (target_handle_option): Do not assert that loc ==
+       UNKNOWN_LOCATION.
+
+2010-11-17  Jakub Jelinek  <jakub@redhat.com>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45838
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Return true for __sync_* and some
+       OpenMP builtins that act as threading barriers.
+
+2010-11-17  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46498
+       * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/xtensa/xtensa.c (function_arg_boundary): Really rename to...
+       (xtensa_function_arg_boundary): ...this.
+       * config/picochip/pichochip.c (picochip_function_arg_boundary): Fix
+       thinko in declaration.
+       (picochip_function_arg, picochip_arg_partial_bytes): Pass proper
+       number of parameters to picochip_function_arg_boundary.
+       (picochip_arg_advance): Likewise.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR target/46512
+       * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses
+       under check for type.
+
+2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ifcvt.c (dead_or_predicable): Fix typo.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc [s390*-*] (extra_options): Add fused-madd.opt.
+       * config/s390/s390.opt (mfused-madd): Remove.
+       * config/s390/s390.c (s390_rtx_costs): Handle FMA.
+       (TARGET_DEFAULT_TARGET_FLAGS): Remove MASK_FUSED_MADD.
+       * config/s390/s390.md (fma<DSF>4): Rename from *fmadd<DSF>; use FMA.
+       (fms<DSF>4): Rename from *fmsub<DSF>; use FMA.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc [powerpc*, rs6000*] (extra_options): Add fused-madd.opt.
+       * config/rs6000/rs6000.opt (mfused-madd): Remove.
+       * config/rs6000/altivec.md (altivec_vmaddfp): Remove.
+       (*altivec_vmaddfp_1): Remove.
+       (*altivec_fmav4sf4): Rename from altivec_vmaddfp_2; use FMA.
+       (altivec_mulv4sf3): Expand to FMA directly.
+       (*altivec_vnmsubfp): Rename from altivec_vnmsubfp.
+       (*altivec_vnmsubfp_1, *altivec_vnmsubfp_2): Remove.
+       * config/rs6000/paired.md (paired_madds0): Use FMA.
+       (paired_madds1): Likewise.
+       (*paired_madd): Rename from paired_madd; use FMA.
+       (*paired_msub, *paired_nmadd, *paired_nmsub): Similarly.
+       * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
+       consider TARGET_FUSED_MADD wrt rs6000_recip_control.
+       (bdesc_3arg): Update CODE_FOR_* for pattern renames.
+       (rs6000_emit_madd): Use fma_optab.
+       (rs6000_emit_msub): Use fms_optab.
+       (rs6000_emit_nmsub): Expand the FMA pattern directly.
+       * config/rs6000/rs6000.md (FMA_F): New mode iterator.
+       (*fmasf4_fpr): Rename from fmasf4_fpr.
+       (*nfmasf4_fpr): Rename from *fnmasf4_fpr.
+       (*nfmssf4_fpr): Rename from *fnmssf4_fpr.
+       (*fmaddsf4_powerpc, *fmaddsf4_power, *fmsubsf4_powerpc): Remove.
+       (*fmsubsf4_power, *fnmaddsf4_powerpc_1, *fnmaddsf4_powerpc_2): Remove.
+       (*fnmaddsf4_power_1, *fnmaddsf4_power_2, *fnmsubsf4_powerpc_1): Remove.
+       (*fnmsubsf4_powerpc_2, *fnmsubsf4_power_1, *fnmsubsf4_power_2): Remove.
+       (*fmadf4_fpr): Rename from fmadf4_fpr.
+       (*nfmadf4_fpr): Rename from *fnmadf4_fpr.
+       (*nfmsdf4_fpr): Rename from *fnmsdf4_fpr.
+       (*fmadddf4_fpr, *fmsubdf4_fpr, *fnmadddf4_fpr_1): Remove.
+       (*fnmadddf4_fpr_2, *fnmsubdf4_fpr_1, *fnmsubdf4_fpr_2): Remove.
+       (fmasf4, fmadf4): Macroize into...
+       (fma<FMA_F>4): ... here.
+       (fms<FMA_F>4, fnma<FMA_F>4, fnms<FMA_F>4): New.
+       (nfma<FMA_F>4, nfms<FMA_F>4): New.
+       * config/rs6000/vector.md (mul<VEC_F>3): Do not depend on
+       TARGET_FUSED_MADD.
+       * config/rs6000/vsx.md (vsx_fmadd<VSX_B>4): Remove.
+       (*vsx_fmadd<mode>4_1): Remove.
+       (vsx_fmsub<mode>4, *vsx_fmsub<mode>4_1): Remove.
+       (vsx_fnmadd<mode>4_1, vsx_fnmadd<mode>4_2): Remove.
+       (vsx_fnmsub<mode>4_1, vsx_fnmsub<mode>4_2): Remove.
+       (*vsx_fma<mode>4): Rename from vsx_fmadd<mode>4_2.
+       (*vsx_fms<mode>4): Rename from vsx_fmsub<mode>4_2.
+       (*vsx_nfma<mode>4): Rename from vsx_fnmadd<mode>4.
+       (*vsx_nfms<mode>4): Rename from vsx_fnmsub<mode>4.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config/pa/pa.md (fmadf4): Rename from unnamed; use FMA.
+       (fmasf4, fnmadf4, fnmasf4): Likewise.
+       (unnamed plus+mult insns and splitters): Delete.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       * config/spu/spu.md (fma<VSF>4): Rename from fma_<VSF>.
+       (fnma<VSF>4): Rename from fnms_<VSF>.
+       (fms<VSF>4): Rename from fms_<VSF>.
+       (fma<VDF>4): Rename from fma_<VDF>.
+       (fms<VDF>4): Rename from fms_<VDF>.
+       (nfma<VDF>4): Rename from fnma_<VDF>.
+       (nfms<VDF>4): Rename from fnms_<VDF>.
+       (fnma<VDF>4, fnms<VDF>4): New expanders.
+       (floatunsdisf2): Update for the renames.
+       (*div<VSF>3_fast, *div<VSF>3_adjusted): Likewise.
+       * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames.
+
+2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/46490
+       * combine.c (expand_compound_operation): Fix thinko.
+
+2010-11-16  Richard Henderson  <rth@redhat.com>
+
+       PR target/46470
+       * recog.c (peep2_attempt): Convert frame-related info when possible.
+       (peep2_fill_buffer): Allow frame-related insns into the buffer.
+       (peephole2_optimize): Allow peep2_attempt to fail.
+
+2010-11-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/46315
+       * rtl.h (remove_reg_equal_equiv_notes_for_regno): Declare.
+       * rtlanal.c (remove_reg_equal_equiv_notes_for_regno): New function
+       extracted from...
+       * dce.c (delete_corresponding_reg_eq_notes): ...here.  Rename into...
+       (remove_reg_equal_equiv_notes_for_defs): ...this.
+       (delete_unmarked_insns): Adjust to above renaming.
+       * ifcvt.c (dead_or_predicable): Remove REG_EQUAL and REG_EQUIV notes
+       referring to registers set in the insns being moved, if any.
+
+       * df-core.c (df_ref_dump): New function extracted from...
+       (df_refs_chain_dump): ...here.  Call it.
+       (df_regs_chain_dump): Likewise.
+       * df-problems.c (df_chain_dump): Print 'e' for uses in notes.
+       * df-scan.c (df_scan_start_dump): Likewise.  Fix long line.
+
+2010-11-16  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR rtl-optimization/46395
+       * postreload.c (reload_combine): Invalidate register use
+       information on all control flow insns.
+
+       * config/m68k/m68k.c (m68k_delegitimize_address): Also expect
+       LABEL_REF in UNSPEC operand.
+
+2010-11-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (+varpool_can_remove_if_no_refs): Move here from ...;
+       when !flag_toplevel_reorder do not remove unless variable is
+       COMDAT or ARTIFICIAL.
+       * ipa.c (varpool_can_remove_if_no_refs): ... here.
+       (cgraph_remove_unreachable_nodes): Only analyzed nodes needs to stay.
+       * cgraphunit.c (cgraph_analyze_functions): Dump varpool, too.
+       * varpool.c (decide_is_variable_needed): Do not handle visibility
+       issues.
+       (varpool_finalize_decl): Likewise.
+       (varpool_remove_unreferenced_decls): Use varpool_mark_needed_node;
+       update outdated comment on DECL_RTL_SET_P check.
+
+2010-11-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.h (NM_FLAGS): Define.
+       * doc/tm.texi.in (Macros for Initialization, NM_FLAGS): Document.
+       * doc/tm.texi: Update.
+
+2010-11-16  Nick Clifton  <nickc@redhat.com>
+
+       * config/v850/v850.md (maddsf4): Rename to fmasf4 and use fma rtx_code.
+       (msubsf4): Rename to fmssf4, and use fma.
+       (nmaddsf4): Rename to fnmasf4 and use fma.
+       (nmsubsf4): Rename to fnmssf4 and use fma.
+
+2010-11-16  Joern Rennecke  <amylaar@spamcop.net>
+
+       PR target/44762
+       * config/score/score3.c (score3_return_in_memory): Constify arguments.
+       (score3_in_small_data_p, score3_function_value): Likewise.
+       (score3_trampoline_init): Use LCT_NORMAL.
+       (score3_print_operand): Initialize code as UNKNOWN.
+       * config/score/predicates.md (score_load_multiple_operation):
+       Remove unused variable.
+       (score_store_multiple_operation): Likewise.
+       * config/score/score7.c (score7_return_in_memory): Constify arguments.
+       (score7_in_small_data_p, score7_function_value): Likewise.
+       (score7_trampoline_init): Use LCT_NORMAL.
+       (score7_print_operand): Initialize code as UNKNOWN.
+       * config/score/score3.h (score3_return_in_memory): Update prototype.
+       (score3_in_small_data_p, score3_function_value): Likewise.
+       * config/score/score-protos.h (score_function_value): Likewise.
+       * config/score/score7.h (score7_return_in_memory): Update prototype.
+       (score7_in_small_data_p, score7_function_value): Likewise.
+       * config/score/score.c (TARGET_PROMOTE_PROTOTYPES): Constify.
+       (score_return_in_memory, score_pass_by_reference): Constify arguments.
+       (score_output_mi_thunk, score_function_prologue): Don't return a value.
+       (score_function_epilogue, score_in_small_data_p): Likewise.
+       (score_option_override, score_asm_trampoline_template): Likewise.
+       (score_trampoline_init, score_print_operand): Likewise.
+       (score_print_operand_address, score_prologue): Likewise.
+       (score_epilogue, score_call, score_call_value): Likewise.
+       (score_movsicc, score_movdi, score_zero_extract_andi): Likewise.
+       (score_function_arg_advance): Likewise. Make static.
+       (score_asm_file_end): Mark parameter value with ATTRIBUTE_UNUSED.
+       (score_function_arg, score_legitimate_address_p): Make static.
+       (score_function_value): Mark parameter func with ATTRIBUTE_UNUSED.
+       * config/score/score.h (REGNO_REG_CLASS): Cast value to enum reg_class.
+       * config/score/score-conv.h (UIMM_IN_RANGE, SIMM_IN_RANGE):
+       Allow (W) == HOST_BITS_PER_WIDE_INT.
+
+       PR java/46386
+       * config/pdp11/t-pdp11 (java/constants.o-warn): Remove.
+       * config/t-pnt16-warn (java/constants.o-warn): Likewise.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/arc/arc.c: Delete pasto.
+       * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison.
+
+2010-11-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS,
+       PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
+       * config/mn10300/mn10300.c (TARGET_PREFERRED_RELOAD_CLASS,
+       TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+       (mn10300_preferred_reload_class,
+       mn10300_preferred_output_reload_class): New functions.
+
+2010-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * gensupport.c (MNEMONIC_ATTR_NAME, MNEMONIC_HTAB_SIZE): New macros.
+       (htab_eq_string, add_mnemonic_string, gen_mnemonic_setattr)
+       (mnemonic_htab_callback, gen_mnemonic_attr): New functions.
+       (init_rtx_reader_args_cb): Invoke gen_mnemonic_attr.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * builtins.c (std_gimplify_va_arg_expr): Use
+       targetm.calls.function_arg_boundary.
+       * function.c (assign_parms, locate_and_pad_parm): Likewise.
+       * calls.c (struct arg_data): Update comment.
+       * defaults.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * target.def (function_arg_boundary): Define.
+       * targhooks.h (default_function_arg_boundary): Declare.
+       * targhooks.c (default_function_arg_boundary): Define.
+       * doc/tm.texi.in (FUNCTION_ARG_PADDING): Use
+       TARGET_FUNCTION_ARG_BOUNDARY.
+       (FUNCTION_ARG_BOUNDARY): Delete.
+       (TARGET_FUNCTION_ARG_BOUNDARY): New.
+       * doc/tm.texi: Regenerate.
+       * system.h (FUNCTION_ARG_BOUNDARY): Poison.
+       * config/arc/arc.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/arc/arc.c (arc_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/arm/arm.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/arm/arm-protos.h (arm_needs_doubleword_align): Delete.
+       * config/arm/arm.c (arm_needs_doubleword_align): Make static.
+       (arm_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/frv/frv.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/frv/frv-protos.h (frv_function_arg_boundary): Delete.
+       * config/frv/frv.c (frv_function_arg_boundary): Make static.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/i386/i386.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/i386/i386-protos.h (ix86_function_arg_boundary): Delete.
+       * config/i386/i386.c (ix86_function_arg_boundary): Make static.
+       (ix86_compat_function_arg_boundary): Take and return unsigned int.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/ia64/ia64.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/ia64/ia64-protos.h (ia64_function_arg_boundary): Delete.
+       * config/ia64/ia64.c (ia64_function_arg_boundary): Make static.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/m32c/m32c.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/m32c/m32c.c (m32c_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/m32r/m32r.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/mcore/mcore.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/mcore/mcore.c (mcore_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/mips/mips.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/mips/mips-protos.h (mips_function_arg_boundary): Delete.
+       * config/mips/mips.c (mips_function_arg_boundary): Make static.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/pa/pa.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/pa/pa.c (pa_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/picochip/picochip.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/picochip/picochip-protos.h
+       (picochip_get_function_arg_boundary): Delete.
+       * config/picochip/picochip.c (picochip_get_function_arg_boundary):
+       Rename to...
+       (picochip_function_arg_boundary): ...this.  Make static.
+       (picochip_function_arg, picochip_arg_partial_bytes): Adjust.
+       (picochip_arg_advance): Adjust.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/rs6000/rs6000.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/rs6000/rs6000-protos.h (function_arg_boundary): Delete.
+       * config/rs6000/rs6000.c (function_arg_boundary): Rename to...
+       (rs6000_function_arg_boundary): ...this.  Make static.
+       (rs6000_parm_start, rs6000_gimplify_va_arg): Adjust.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/rx/rx.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/rx/rx.c (rx_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/sparc/sparc.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/sparc/sparc.c (sparc_function_arg_boundary): Define.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+       * config/xtensa/xtensa.h (FUNCTION_ARG_BOUNDARY): Delete.
+       * config/xtensa/xtensa-protos.h (function_arg_boundary): Delete.
+       * config/xtensa/xtensa.c (function_arg_boundary): Rename to...
+       (xtensa_function_arg_boundary): ...this.  Make static.
+       (TARGET_FUNCTION_ARG_BOUNDARY): Define.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * expr.c (alignment_for_piecewise_move): New function.
+       (widest_int_mode_for_size): New function.
+       (move_by_pieces, move_by_pieces_ninsns): Call them.
+       (can_store_by_pieces, store_by_pieces_1): Likewise.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc.c (char_p): Define.  Define a VEC of it.
+       (n_linker_options, n_assembler_options, n_preprocessor_options):
+       Delete.
+       (linker_options, assembler_options, preprocessor_options): Convert
+       to a VEC.
+       (add_preprocessor_option): Adjust.
+       (add_assembler_option): Adjust.
+       (add_linker_option): Adjust.
+       (do_specs_vec): New function.
+       (do_spec_1): Call it.  Adjust for new types.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies.
+       (sreal.o, statistics.o, stringpool.o): Likewise.
+
+2010-11-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44545
+       * tree-ssa-reassoc.c (linearize_expr_tree): Possibly throwing
+       statements are not reassociatable.
+       (reassociate_bb): Likewise.
+
+2010-11-16  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * bitmap.c: Delete unnecessary includes.
+       * ebitmap.c: Likewise.
+       * et-forest.c: Likewise.
+       * sreal.c: Likewise.
+       * statistics.c: Likewise.
+       * stringpool.c: Likewise.
+       * double-int.c: Add comment for inclusion of tm.h.
+
+2010-11-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (visit_unary_op): Rename to ...
+       (visit_nary_op): ... this.
+       (visit_binary_op): Remove.
+       (visit_use): Adjust and handle GIMPLE_TERNARY_RHS.
+
+2010-11-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/45172
+       * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges.
+
+2010-11-16  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the
+       record is packed.
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * fold-const.c (operand_equal_for_comparison_p): Handle FMA_EXPR,
+       WIDEN_MULT_PLUS_EXPR, WIDEN_MULT_MINUS_EXPR, VEC_COND_EXPR and
+       DOT_PROD_EXPR.
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename
+       from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively.  Use
+       fma rtx_code.
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4
+       and *mulsubsf4 respectively.  Use fma rtx_code.
+
+2010-11-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.c: Include "vec.h".
+       (argbuf): Make into a VEC.
+       (argbuf_length, argbuf_index): Remove.
+       (alloc_args, clear_args, store_arg, execute, insert_wrapper,
+       do_spec, do_self_spec, do_spec_1, eval_spec_function, main,
+       compare_debug_dump_opt_spec_function: Use VEC interfaces on argbuf.
+       * Makefile.in (GCC_OBJS): Add vec.o and ggc-none.o.
+       (gcc.o): Depend on $(VEC_H).
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * loop-unroll.c (analyze_insn_to_expand_var): Accept accumulation
+       via FMA if unsafe math.
+       (insert_var_expansion_initialization): Handle FMA.
+       (combine_var_copies_in_loop_exit): Likewise.
+
+2010-11-15  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc [ia64-*] (extra_options): Add fused-madd.opt.
+       * config/ia64/ia64.opt: Remove mfused-madd.
+       * config/ia64/ia64.c (ia64_rtx_costs): Handle FP MULT, PLUS, FMA.
+       * config/ia64/vms.h (TARGET_DEFAULT): Remove MASK_FUSED_MADD.
+       * config/ia64/vms64.h (TARGET_DEFAULT): Likewise.
+       * config/ia64/ia64.h (TARGET_DEFAULT): Likewise.
+       * config/ia64/hpux.h (TARGET_DEFAULT): Likewise.
+       * config/ia64/vect.md (addv2sf3, subv2sf3): Generate FMA.
+       (*addv2sf3_1, *addv2sf3_2, *subv2sf3_1, *subv2sf3_2): Remove.
+       (fmav2sf4): Rename from fpma; use FMA code.
+       (fmsv2sf4): Rename from fpms; use FMA code.
+       (fnmav2sf4): Rename from *fpnma; use FMA code.
+       * config/ia64/ia64.md (MODE_SDF): New iterator.
+       (suffix): New mode attribute.
+       (*maddsf4, *msubsf4, *nmaddsf4): Remove.
+       (fmssf4): Rename from *fmssf4.
+       (fnmasf4): Rename from *nfmasf4.
+       (*madddf4, *madddf4_trunc, *msubdf4, *msubdf4_trunc): Remove.
+       (*nmadddf4, *nmadddf4_truncsf): Remove.
+       (fmsdf4): Rename from *fmsdf4.
+       (fnmadf4): Rename from *nfmadf4.
+       (*fmadf_trunc_sf, *fmsdf_trunc_sf, *fnmadf_trunc_sf): New.
+       (*maddxf4, *maddxf4_truncsf, *maddxf4_truncdf): Remove.
+       (*msubxf4, *msubxf4_truncsf, *msubxf4_truncdf): Remove.
+       (*nmaddxf4, *nmaddxf4_truncsf, *nmaddxf4_truncdf): Remove.
+       (fmsxf4): Rename from *fmsxf4.
+       (fnmaxf4): Rename from *nfmaxf4.
+       (*fmaxf_trunc_<MODE_SDF>, *fmsxf_trunc_<MODE_SDF>): New.
+       (*fnmaxf_trunc_<MODE_SDF>): New.
+
+2010-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/46461
+       * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is
+       a gimple val.
+
+2010-11-15  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c: New file.
+       * common.opt (fdump-go-spec=): New option.
+       * tree.h: Add comments for TYPE_SYMTAB_ADDRESS and friends.
+       (TYPE_SYMTAB_IS_ADDRESS, TYPE_SYMTAB_IS_POINTER): Define.
+       (TYPE_SYMTAB_IS_DIE): Define.
+       (struct tree_type): Change GTY for symtab field to use
+       TYPE_SYMTAB_IS_ADDRESS and friends and to use a debug_hooks field
+       to pick the union field.
+       * debug.h (struct gcc_debug_hooks): Add tree_type_symtab_field.
+       (dump_go_spec_init): Declare.
+       * toplev.c (process_options): Handle flag_dump_go_spec.
+       * debug.c: Include "tree.h".
+       (do_nothing_debug_hooks): Set tree_type_symtab_field.
+       * dwarf2out.c (dwarf2_debug_hooks): Likewise.
+       * dbxout.c (dbx_debug_hooks): Likewise.
+       (xcoff_debug_hooks): Likewise.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+       * sdbout.c (sdb_debug_hooks): Likewise.  Do not define if
+       SDB_DEBUGGING_INFO is not defined.
+       * doc/invoke.texi (Option Summary): Mention -fdump-go-spec.
+       (Overall Options): Document -fdump-go-spec.
+       * Makefile.in (OBJS-common): Add godump.o.
+       (debug.o): Add dependency on $(TREE_H).
+       (godump.o): New target.
+       (GTFILES): Add $(srcdir)/godump.c.
+
+2010-11-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46095
+       * config/i386/i386.c (pro_epilogue_adjust_stack): Instead of
+       marking r11 set RTX_FRAME_RELATED_P if offset is too large for
+       style < 0, add REG_FRAME_RELATED_EXPR.
+
+       PR debug/46387
+       * rtl.h (vt_equate_reg_base_value): New prototype.
+       * alias.c (vt_equate_reg_base_value): New function.
+       * var-tracking.c (vt_init_cfa_base): Use it.
+
+2010-11-15  Jan Hubicka  <jh@suse.cz>
+           Diego Novillo  <dnovillo@google.com>
+
+       PR lto/41528
+       * doc/lto.texi: Add.
+       * doc/gccint.texi: Add reference to lto.texi.
+       * doc/invoke.texi: Update user documentation for LTO.
+       Move internal flags to lto.texi
+
+2010-11-15  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-typeck.c (build_unary_op): Use
+       objc_build_incr_expr_for_property_ref to build the pre/post
+       increment/decrement of an Objective-C property ref, and skip the
+       lvalue_or_else check in that case.
+
+2010-11-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/46349
+       * tree-sra.c (contains_bitfld_comp_ref_p): New function.
+       (contains_vce_or_bfcref_p): Likewise.
+       (sra_modify_assign): Use them.
+
+2010-11-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46467
+       * tree-ssa-structalias.c (do_structure_copy): Properly treat
+       variables without subvars.
+
+2010-11-15  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (file header): Picochip name change.
+       * config/picochip/picochip.md (file header): Likewise.
+       * config/picochip/predicates.md (file header): Likewise.
+       * config/picochip/dfa_space.md (file header): Likewise.
+       * config/picochip/dfa_speed.md (file header): Likewise.
+       * config/picochip/picochip.h(file header): Likewise.
+       * config/picochip/constraints.md (file header): Likewise.
+       * config/picochip/picochip-protos.h (file header): Likewise.
+       * config/picochip/libgccExtras/setjmp.asm (file header): Likewise.
+       * config/picochip/libgccExtras/divmodsi4.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashlsi3.asm (file header): Likewise.
+       * config/picochip/libgccExtras/longjmp.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashlsi3.c (file header): Likewise.
+       * config/picochip/libgccExtras/popcounthi2.asm (file header): Likewise.
+       * config/picochip/libgccExtras/parityhi2.asm (file header): Likewise.
+       * config/picochip/libgccExtras/udivmodhi4.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashrsi3.asm (file header): Likewise.
+       * config/picochip/libgccExtras/ashrsi3.c (file header): Likewise.
+       * config/picochip/libgccExtras/ucmpsi2.asm (file header): Likewise.
+       * config/picochip/libgccExtras/divmodhi4.asm (file header): Likewise.
+       * config/picochip/libgccExtras/lshrsi3.asm (file header): Likewise.
+       * config/picochip/libgccExtras/subdi3.asm (file header): Likewise.
+
+2010-11-15  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/46474
+       * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts.
+
+2010-11-15  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16.c (direct_return): Do not generate a
+       direct return for interrupt handlers.
+
+2010-11-15  Joern Rennecke  <amylaar@spamcop.net>
+
+       * Makefile.in (tm.texi): Replace with rule for:
+       ($(srcdir)/doc/tm.texi).
+       (s-tm-texi): Depend on $(srcdir)/doc/../doc/tm.texi instead of on
+       $(srcdir)/doc/tm.texi .
+       (TEXI_GCCINT_FILES): Depend on $(srcdir)/doc/tm.texi instead of on
+       tm.texi .
+
+       PR target/46427
+       * config/m32r/m32r.c: Remove unused variables frame_size and insn.
+
+       PR bootstrap/45444
+       * config/arm/arm.c (locate_neon_builtin_icode): Initialize key.
+       (arm_output_asm_insn) Add ATTRIBUTE_PRINTF_4.
+
+       PR target/46432
+       * config/v850/v850.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Delete.
+
+2010-11-15  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44150
+       * lto-opts.c (lto_write_options): Write -fexceptions even if
+       not set by the user.
+
+2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR c/46462
+       * c-decl.c (declspecs_add_type): Make variables with error types
+       integers.
+       * c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
+       do not start a declaration before an Objective-C foreach.
+       (c_parser_declaration_or_fndef): Improve recovery after unknown
+       type name.
+       (c_parser_for_statement): Hoist entrance of "foreach context"
+       before ifs, add corresponding reset where it was missing.  Do
+       not set objc_could_be_foreach_context for C.
+
+2010-11-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/45722
+       * tree-sra.c (build_ref_for_model): Always build a COMPONENT_REF if
+       this is a reference to a component.
+       * ipa-prop.c (ipa_get_member_ptr_load_param): Accept COMPONENT_REF.
+       (ipa_note_param_call): Adjust comment.
+
+2010-11-14  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (machine_function): Remove
+       initialized_mips16_gp_pseudo_p.
+       (mips16_gp_pseudo_reg): Use cfun->machine->mips16_gp_pseudo_rtx to
+       detect whether a pseudo has already been created.  Unconditionally
+       create a new one if not.
+       (mips_pic_base_register): Only call mips16_gp_pseudo_reg when
+       expanding to rtl.  Create a new pseudo otherwise, if allowed.
+
+2010-11-13  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/43440
+       * tm.texi.in (OVERLAPPING_REGISTER_NAMES): Document new macro.
+       * tm.texi: Regenerated.
+       * output.h (decode_reg_name_and_count): Declare.
+       * varasm.c (decode_reg_name_and_count): New function.
+       (decode_reg_name): Reimplement using decode_reg_name_and_count.
+       * reginfo.c (fix_register): Use decode_reg_name_and_count and
+       iterate over all regs used.
+       * stmt.c (expand_asm_operands): Likewise.
+       * arm/aout.h (OVERLAPPING_REGISTER_NAMES): Define.
+       (ADDITIONAL_REGISTER_NAMES): Remove aliases that overlap
+       multiple machine registers.
+
+2010-11-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * stor-layout.c (place_union_field): Do not put location information
+       on offset expressions.
+       (place_field): Likewise.
+       (finalize_record_size): Likewise on size expressions.
+       (finalize_type_size): Likewise.
+       (layout_type): Likewise.
+
+2010-11-13  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42889
+       * df-scan.c (df_insn_rescan): Don't mark BBs upon debug insns.
+       * df-core.c (df_set_bb_dirty_nonrl): Remove.
+       * df.h (df_set_bb_dirty_nonlr): Likewise.
+
+2010-11-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/mips/mips.md (call_internal): Pass curr_insn to
+       mips_split_call.
+       (call_internal_direct): Ditto.
+       (call_value_internal): Ditto.
+       (call_value_internal_direct): Ditto.
+       (call_value_multiple_internal): Ditto.
+       * config/mips/mips.c (mips_split_call): Do not copy
+       CALL_INSN_FUNCTION_USAGE here.
+
+2010-11-13  Mingming Sun  <mingm.sun@gmail.com>
+
+       * doc/invoke.texi (MIPS Options): Add loongson3a processor.
+       * config/mips/mips.md (define_attr "cpu"): Add loongson_3a.
+       (define_insn "prefetch"): Add TARGET_LOONGSON_3A.
+       * config/mips/mips.h (TARGET_LOONGSON_3A): Define.
+       (TUNE_LOONGSON_3A): Define.
+       (TARGET_LOONGSON_VECTORS): Add TARGET_LOONGSON_3A.
+       (MIPS_ISA_LEVEL_SPEC): Add loongson3a.
+       * config/mips/mips.c (mips_cpu_info_table): Add loongson3a.
+       (mips_issue_rate): Add PROCESSOR_LOONGSON_3A.
+       (mips_rtx_cost_data): Add Loongson-3A.
+
+2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto
+       switches.
+
+2010-11-13  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * dwarf2out.c (macinfo_entry): New struct.
+       (output_comp_unit): Emit the section start label here and flag that we
+       will emit an info section.
+       (dwarf2out_start_source_file): Save data in a macinfo entry rather than
+       emitting directly.
+       (dwarf2out_end_source_file): Likewise.
+       (dwarf2out_define): Likewise.
+       (dwarf2out_undef): Likewise.
+       (output_macinfo): New.
+       (dwarf2out_init): Do not emit debug section switches here, allocate a
+       vec for macinfo, when required.
+       (dwarf2out_finish): First switch to debug_abbrev_section here.
+       debug_line_section,  debug_macinfo_section, Likewise.
+       Check that the pubtypes table has at least one unpruned entry before
+       trying to emit it.
+
+2010-11-13  Paolo Bonzini  <bonzini@gnu.org>
 
        PR c/20385
        * c-parser.c (c_parser_next_token_starts_declaration): Rename to...
        * config/avr/avr.c (avr_num_arg_regs): Constify type.
        (avr_return_addr_rtx): De-constify tem.
        (avr_rotate_bytes): Move declarations to start of block.
-       Don't use variable length array.
-       Put nested if/else into block.
+       Don't use variable length array.  Put nested if/else into block.
 
        PR rtl-optimization/46433
        * var-tracking.c: Include tm_p.h .
        (trapping_loads_p): Remove unused variable pat.
        (bfin_expand_binop_builtin): Use expand_normal.
        (bfin_expand_unop_builtin): Likewise.
-       (bfin_expand_builtin): Likewise.
-       Set tmode before use.
+       (bfin_expand_builtin): Likewise.  Set tmode before use.
 
        PR middle-end/44769
        * final.c (split_double): Don't use BITS_PER_WORD directly in
 
 2010-11-11  Richard Henderson  <rth@redhat.com>
 
-        * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
+       * optabs.c (init_optabs): Init {fma,fms,fnma,fnms}_optab properly.
 
 2010-11-11  Richard Henderson  <rth@redhat.com>
 
 
        PR tree-optimize/40436
        * ipa-inline.c (likely_eliminated_by_inlining_p): Rename to ...
-       (eliminated_by_inlining_prob): ... this one; return 50% probability for
-       SRA.
-       (estimate_function_body_sizes): Update use of eliminated_by_inlining_prob;
-       estimate static function size for 2 instructions.
+       (eliminated_by_inlining_prob): ... this one; return 50% probability
+       for SRA.
+       (estimate_function_body_sizes): Update use of
+       eliminated_by_inlining_prob; estimate static function size
+       for 2 instructions.
 
 2010-11-11  Joern Rennecke  <amylaar@spamcop.net>
 
        * opts.c (finish_options, common_handle_option): Start diagnostics
        with lowercase letters and remove trailing '.'.  Fix typo in
        diagnostic.
-       * passes.c (position_pass): Start diagnostic with lowercase
-       letter. 
+       * passes.c (position_pass): Start diagnostic with lowercase letter.
        * plugin.c (add_new_plugin, parse_plugin_arg_opt,
        register_callback, try_init_one_plugin): Start diagnostics with
        lowercase letters.