X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=6cbcf61e14221525610e68e3d87f86346cc28f30;hb=a784610abfc53b50d5d4a4e5f2d46070d2583ee7;hp=b093e5461de9906e33526c90c9171c041798dc1a;hpb=9d0e49467a8045e70af4e31f7095e5722a96780a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b093e5461de..6cbcf61e142 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,771 @@ +2010-11-17 Joakim Tjernlund + + * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Support -fpic + as well as -mrelocatable at the same time. + +2010-11-17 Quentin Neill + + PR target/46422 + * config/i386/bmiintrin.h (__lzcnt_u16, __lzcnt_u32, __lzcnt_u64): + Call the clz builtin. + +2010-11-17 Dinar Temirbulatov + Steve Ellcey + + PR middle-end/31490 + * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask + if section attribute used. + +2010-11-17 Jan Hubicka + + * builtins.c (expand_builtin_mathfn_2, expand_builtin_mathfn): Do not + expand errno setting variant when optimizing for size. + +2010-11-17 Eric Botcazou + + * postreload.c (reload_combine): Call control_flow_insn_p only once. + Reverse backward loop. Fix formatting issues. + +2010-11-17 Paolo Bonzini + + * 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 + + * 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 + + PR lto/46504 + * gimple.c (gimple_register_canonical_type): Make sure to only + make type leaders canonical types. + +2010-11-17 Michael Matz + + * 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 + + * 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 + + 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 + + * opts.c (target_handle_option): Do not assert that loc == + UNKNOWN_LOCATION. + +2010-11-17 Jakub Jelinek + Richard Guenther + + 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 + + PR tree-optimization/46498 + * tree-ssa-dce.c (perform_tree_ssa_dce): Compute dominator info. + +2010-11-16 Nathan Froyd + + * 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 + + PR target/46512 + * config/pa/pa.c (pa_function_arg_boundary): Move TYPE_SIZE accesses + under check for type. + +2010-11-16 Eric Botcazou + + * ifcvt.c (dead_or_predicable): Fix typo. + +2010-11-16 Richard Henderson + + * 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 (fma4): Rename from *fmadd; use FMA. + (fms4): Rename from *fmsub; use FMA. + +2010-11-16 Richard Henderson + + * 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... + (fma4): ... here. + (fms4, fnma4, fnms4): New. + (nfma4, nfms4): New. + * config/rs6000/vector.md (mul3): Do not depend on + TARGET_FUSED_MADD. + * config/rs6000/vsx.md (vsx_fmadd4): Remove. + (*vsx_fmadd4_1): Remove. + (vsx_fmsub4, *vsx_fmsub4_1): Remove. + (vsx_fnmadd4_1, vsx_fnmadd4_2): Remove. + (vsx_fnmsub4_1, vsx_fnmsub4_2): Remove. + (*vsx_fma4): Rename from vsx_fmadd4_2. + (*vsx_fms4): Rename from vsx_fmsub4_2. + (*vsx_nfma4): Rename from vsx_fnmadd4. + (*vsx_nfms4): Rename from vsx_fnmsub4. + +2010-11-16 Richard Henderson + + * 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 + + * config/spu/spu.md (fma4): Rename from fma_. + (fnma4): Rename from fnms_. + (fms4): Rename from fms_. + (fma4): Rename from fma_. + (fms4): Rename from fms_. + (nfma4): Rename from fnma_. + (nfms4): Rename from fnms_. + (fnma4, fnms4): New expanders. + (floatunsdisf2): Update for the renames. + (*div3_fast, *div3_adjusted): Likewise. + * config/spu/spu-builtins.def: Update CODE_FOR_* for the renames. + +2010-11-16 Eric Botcazou + + PR rtl-optimization/46490 + * combine.c (expand_compound_operation): Fix thinko. + +2010-11-16 Richard Henderson + + 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 + + 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 + + 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 + + * 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 + + * 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 + + * 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 + + 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 + + * config/arc/arc.c: Delete pasto. + * config/pa/pa.c (pa_function_arg_boundary): Add missing comparison. + +2010-11-16 Anatoly Sokolov + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * Makefile.in (bitmap.o, ebitmap.o, et-forest.o): Update dependencies. + (sreal.o, statistics.o, stringpool.o): Likewise. + +2010-11-16 Richard Guenther + + 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 + + * 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 + + * 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 + + PR middle-end/45172 + * tree-eh.c (cleanup_empty_eh_unsplit): Avoid creating duplicate edges. + +2010-11-16 Nick Clifton + + * config/rx/rx.c (rx_is_ms_bitfield_layout): Return false if the + record is packed. + +2010-11-15 Richard Henderson + + * 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 + + * config/mn10300/mn10300.md (fmasf4, fmssf4, fnmasf4, fnmssf4): Rename + from fmaddsf4, fmsubsf4, fnmaddsf4, fnmsubsf4 respectively. Use + fma rtx_code. + +2010-11-15 Richard Henderson + + * config/frv/frv.md (fmasf4, fmssf4): Rename from *muladdsf4 + and *mulsubsf4 respectively. Use fma rtx_code. + +2010-11-15 Joseph Myers + + * 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 + + * 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 + + * 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_, *fmsxf_trunc_): New. + (*fnmaxf_trunc_): New. + +2010-11-15 Jakub Jelinek + + PR tree-optimization/46461 + * tree-ssa-forwprop.c (simplify_builtin_call): Ensure ptr1 is + a gimple val. + +2010-11-15 Ian Lance Taylor + + * 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 + + 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 + Diego Novillo + + 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 + + * 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 + + 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 + + PR tree-optimization/46467 + * tree-ssa-structalias.c (do_structure_copy): Properly treat + variables without subvars. + +2010-11-15 Hariharan Sandanagobalane + + * 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 + + PR bootstrap/46474 + * tree-ssa-math-opts.c (convert_mult_to_fma): Disregard debug stmts. + +2010-11-15 Nick Clifton + + * config/stormy16/stormy16.c (direct_return): Do not generate a + direct return for interrupt handlers. + +2010-11-15 Joern Rennecke + + * 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 + + PR lto/44150 + * lto-opts.c (lto_write_options): Write -fexceptions even if + not set by the user. + +2010-11-13 Paolo Bonzini + + 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 + + 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 + + * 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 + + 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 + + * 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 + + 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 + + * 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 + + * 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 + + * config/darwin.h (LINK_COMMAND_SPEC_A): Update for changes to lto + switches. + 2010-11-13 Iain Sandoe * dwarf2out.c (macinfo_entry): New struct. @@ -12,11 +780,11 @@ (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. + debug_line_section, debug_macinfo_section, Likewise. Check that the pubtypes table has at least one unpruned entry before trying to emit it. -2010-10-30 Paolo Bonzini +2010-11-13 Paolo Bonzini PR c/20385 * c-parser.c (c_parser_next_token_starts_declaration): Rename to... @@ -201,8 +969,7 @@ * 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 . @@ -235,8 +1002,7 @@ (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 @@ -282,7 +1048,7 @@ 2010-11-11 Richard Henderson - * 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 @@ -328,10 +1094,11 @@ 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 @@ -530,8 +1297,7 @@ * 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.