X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=5e319121cb4911f0c48c654affa57152eca6bd61;hb=8d3dddbfd699bd26bbec40041f2f4dd37975be6d;hp=7374a6d7d92c0448d4e3ed69ee5dafa92f1f5c89;hpb=0ffbb1b6f91319290d8ccdc9519f669a9d7d608a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7374a6d7d92..5e319121cb4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,371 @@ +2011-12-28 Ian Lance Taylor + + * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Go for Go. + +2011-12-28 Michael Meissner + + PR target/51623 + * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call + unlikely_text_section_p. Instead check for being in a code + section. + +2011-12-28 Ira Rosen + + PR tree-optimization/51684 + * tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of original + statement in case of a pattern. + (vect_schedule_slp): Likewise. + +2011-12-27 Eric Botcazou + + PR rtl-optimization/51667 + * ree.c (insn_merge_code): Delete. + (is_insn_merge_attempted): Likewise. + (get_insn_status): Likewise. + (set_insn_status): Likewise. + (struct ext_cand): Add CODE and MODE fields. + (combine_set_extend): Rename to... + (combine_set_extension): ...this. Use above fields and tidy up. + (transform_ifelse): Likewise. + (get_defs): Return the chain of definitions. + (is_this_a_cmove): Merge into... + (is_cond_copy_insn): ...this. Return bool. + (make_defs_and_copies_lists): Adjust calls to get_defs and simplify. + (merge_def_and_ext): Adjust call to combine_set_extend. + (combine_reaching_defs): Remove calls to {g|s}et_insn_status. + (struct extend_info): Rename to... + (struct re_info): ...this. Add DEF_MAP field. + (add_ext_candidate): Merge into... + (add_removable_extension): ...this. Adjust calls to get_defs. Ensure + reaching definitions are associated with only one kind of extension. + (find_removable_extensions): Create and destroy the definition map. + (find_and_remove_re): Return void. Change 'long' variables to 'int'. + Do not deal with is_insn_merge_attempted. + +2011-12-25 Jan Hubicka + + PR middle-end/48641 + * tree-ssa-threadupdate.c (redirect_edges): Watch for overflow. + +2011-12-26 Oleg Endo + + * config/sh/sync.md: Add soft atomics ABI description. + (fetchop_name): Use 'or' instead of 'ior'. + (fetchop_insn): Remove. + (atomic_compare_and_swap_soft): + Don't insert aligning nop after the write-back instruction. Fix + multi-line asm output formatting style. + (atomic_fetch__soft): Likewise. + (atomic_fetch_nand_soft): Likewise. + (atomic__fetch_soft): Likewise. + (atomic_nand_fetch_soft): Likewise. + +2011-12-23 Richard Henderson + + * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove. + * cfgexpand.c (expand_debug_expr): Don't handle them. + * expr.c (expand_expr_real_2): Likewise. + * fold-const.c (fold_binary_loc): Likewise. + * gimple-pretty-print.c (dump_binary_rhs): Likewise. + * tree-cfg.c (verify_gimple_assign_binary): Likewise. + * tree-inline.c (estimate_operator_cost): Likewise. + * tree-pretty-print.c (dump_generic_node): Likewise. + * tree-vect-generic.c (expand_vector_operations_1): Likewise. + * optabs.c (optab_for_tree_code): Likewise. + (can_vec_perm_for_code_p): Remove. + (expand_binop): Don't try it. + (init_optabs): Don't init vec_extract_even/odd_optab. + * genopinit.c (optabs): Likewise. + * optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove. + (vec_extract_even_optab, vec_extract_odd_optab): Remove. + * tree-vect-data-refs.c (vect_strided_store_supported): Tidy code. + (vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of + GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of + asserting vect_strided_store_supported. + (vect_strided_load_supported): Use can_vec_perm_p. + (vect_permute_load_chain): Use VEC_PERM_EXPR. + + * doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove. + (VEC_EXTRACT_ODD_EXPR): Remove. + * doc/md.texi (vec_extract_even, vec_extract_odd): Remove. + +2011-12-23 Anatoly Sokolov + + * config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove. + * config/score/score-protos.h (score_register_move_cost): Remove. + * config/score/score.c (TARGET_REGISTER_MOVE_COST): Define. + (score_register_move_cost): Make static. Change arguments type from + enum reg_class to reg_class_t. + +2011-12-23 Jakub Jelinek + Richard Henderson + + * tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove. + * gimple-pretty-print.c (dump_binary_rhs): Don't handle + VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR. + * expr.c (expand_expr_real_2): Likewise. + * tree-cfg.c (verify_gimple_assign_binary): Likewise. + * cfgexpand.c (expand_debug_expr): Likewise. + * tree-inline.c (estimate_operator_cost): Likewise. + * tree-pretty-print.c (dump_generic_node): Likewise. + * tree-vect-generic.c (expand_vector_operations_1): Likewise. + * fold-const.c (fold_binary_loc): Likewise. + * doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR, + VEC_INTERLEAVE_LOW_EXPR): Remove documentation. + * optabs.c (optab_for_tree_code): Don't handle + VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR. + (expand_binop, init_optabs): Remove vec_interleave_high_optab + and vec_interleave_low_optab. + * genopinit.c (optabs): Likewise. + * optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove. + (vec_interleave_high_optab, vec_interleave_low_optab): Remove. + * doc/md.texi (vec_interleave_high, vec_interleave_low): Remove + documentation. + * tree-vect-stmts.c (gen_perm_mask): Renamed to... + (vect_gen_perm_mask): ... this. No longer static. + (perm_mask_for_reverse, vectorizable_load): Adjust callers. + * tree-vectorizer.h (vect_gen_perm_mask): New prototype. + * tree-vect-data-refs.c (vect_strided_store_supported): Don't try + VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of + can_vec_perm_for_code_p. + (vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving + masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR. + * config/i386/i386.c (expand_vec_perm_interleave2): If + expand_vec_perm_interleave3 would handle it, return false. + (expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab. + +2011-12-23 Richard Henderson + + * config/mips/loongson.md (UNSPEC_LOONGSON_PINSR_0, + UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2, + UNSPEC_LOONGSON_PINSR_3): Replace with... + (UNSPEC_LOONGSON_PINSRH): ... this. + (UNSPEC_LOONGSON_VINIT): New. + (UNSPEC_LOONGSON_DSLL, UNSPEC_LOONGSON_DSRL): New. + (VWB): New mode iterator. + (V_inner): New mode attribute. + (loongson_vec_init1_): New. + (*vec_concatv2si): New. + (and3, ior3, xor3, one_cmpl2): New. + (*loongson_nor): New. + (loongson_pextrh): Un-macro-ify. + (loongson_pmaddhw): Likewise. + (smaxv4hi3, umaxv8qi3, sminv4hi3, uminv8qi3): Likewise. + (loongson_pinsrh_0): Represent with vec_select+vec_concat. + (loongson_pinsrh_1, loongson_pinsrh_2, loongson_pinsrh_3): Likewise. + (*vec_setv4hi, vec_setv4hi): New. + (sdot_prodv4hi): New. + (smax3, smin3): New. + (reduc_uplus_v8qi): New. + (loongson_pshufh): Remove destination matching input. + (ashl3, ashr3, lshr3): Fix type attribute. + (vec_interleave_high, vec_interleave_low): Remove. + (loongson_punpckhbh, loongson_punpckhhw, loongson_punpckhhw_qi, + loongson_punpckhwd, loongson_punpckhwd_qi, loongson_punpckhwd_hi, + loongson_punpcklbh, loongson_punpcklhw, loongson_punpcklhw_qi, + loongson_punpcklwd, loongson_punpcklwd_qi, loongson_punpcklwd_hi, + vec_perm_const, vec_unpacks_lo_, vec_unpacks_hi_, + vec_unpacku_lo_, vec_unpacku_hi_, vec_shl_, + vec_shr_, reduc_uplus_, reduc_splus_, + reduc_smax_, reduc_smin_, reduc_umax_, + reduc_umin_): New. + * config/mips/mips-ps-3d.md (vec_perm_const_ps): New. + (mips_pul_ps, mips_puu_ps, mips_pll_ps, mips_plu_ps): Expand in + terms of vec_perm_const_ps. + (vec_perm_constv2sf): New. + (vec_initv2sf): Use mips_expand_vector_init. + (vec_concatv2sf): Rename from vec_initv2sf_internal. + (vec_setv2sf): Use vec_perm_const_ps. + (reduc_splus_v2sf, reduc_smin_v2sf, reduc_smax_v2sf): New. + * config/mips/loongson.h (pshufh_u, pshufh_s): Don't pass dest to + the builtin. + * config/mips/mips-modes.def (V16QI, V8HI, V4SI, V4SF): New modes. + * config/mips/mips-protos.h: Update. + * config/mips/mips.c (mips_get_arg_info): Match V2SFmode, not all + MODE_VECTOR_FLOAT. + (mips_return_mode_in_fpr_p): Likewise. + (mips_cannot_change_mode_class): Allow 8-byte integral mode changes. + (CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw, + CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh, + CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): Remove. + (mips_builtins): Remove first operand for loongson pshufh builtins. + (MAX_VECT_LEN, struct expand_vec_perm_d): New. + (mips_expand_vselect, mips_expand_vselect_vconcat, + mips_expand_vpc_loongson_even_odd, mips_expand_vpc_loongson_pshufh, + mips_expand_vpc_loongson_bcast, mips_expand_vec_perm_const_1, + mips_expand_vec_perm_const, mips_vectorize_vec_perm_const_ok, + mips_expand_vec_unpack, mips_constant_elt_p, mips_expand_vi_broadcast, + mips_expand_vi_constant, mips_expand_vi_loongson_one_pinsrh, + mips_expand_vi_general, mips_expand_vec_reduc, mips_expand_vec_minmax, + TARGET_VECTORIZE_VEC_PERM_CONST_OK): New. + (mips_expand_vector_init): Rewrite. + * config/mips/predicates.md (const_2_or_3_operand): New. + (const_0_to_3_operand): New. + +2011-12-23 Dmitry Plotnikov + + * config/arm/neon.md (float2): New. + (floatuns2): New. + (fix_trunc2): New. + (fix_truncuns2): New. + * config/arm/iterators.md (V_cvtto): New iterator. + +2011-12-23 Richard Guenther + + PR rtl-optimization/50396 + * simplify-rtx.c (simplify_binary_operation_1): Properly + guard code that only works for integers. + +2011-12-23 Tristan Gingold + + * config/vms/vms-crtlmap.map (log10): Fix typo. + +2011-12-23 Tristan Gingold + + * config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define. + +2011-12-22 Bin Cheng + Richard Guenther + + PR tree-optimization/43491 + * tree-ssa-pre.c (eliminate): Don't replace global register + variable when it is the RHS of a single assign. + +2011-12-22 Joey Ye + + * toplev.c (process_options): Fix typo. + +2011-12-22 John David Anglin + + PR middle-end/51252 + * config/pa/pa.c (pa_som_tm_clone_table_section): New function. + (som_tm_clone_table_section): Declare. + (pa_file_start_space): Create $TM_CLONE_TABLE$ subspace. + (pa_som_asm_init_sections): Init som_tm_clone_table_section. + * config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define. + +2011-12-22 Richard Sandiford + + * doc/tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook. + * doc/tm.texi: Regenerate. + * target.def (prepare_pch_save): New hook. + * c-family/c-pch.c (c_common_write_pch): Call it. + * config/mips/mips.c (was_mips16_pch_p): Delete. + (mips_set_mips16_mode): Don't refer to was_mips16_pch_p. + (mips_prepare_pch_save): New function. + (TARGET_PREPARE_PCH_SAVE): Define. + +2011-12-22 Aldy Hernandez + + PR middle-end/51212 + * opts.c (finish_options): Call sorry on -fgnu-tm and + -fnon-call-exceptions combination. + +2011-12-22 Jonathan Wakely + + * doc/invoke.texi (C++ Dialect Options): Add missing options and + move -Wzero-as-null-pointer-constant to ... + (Warning Options): ... here. + +2011-12-22 Jonathan Wakely + + PR target/47643 + * doc/invoke.texi (i386 and x86-64 Options): Fix description of + -mtune without -march. + +2011-12-21 Richard Earnshaw + + PR target/51643 + * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous + change. + +2011-12-22 Tristan Gingold + + * config/ia64/ia64.c (ia64_promote_function_mode): Remove. + (TARGET_PROMOTE_FUNCTION_MODE): Remove. + (ia64_function_value): Call promote_function_mode instead of + ia64_promote_function_mode. + * config/ia64/vms.h (PROMOTE_MODE): Define. + (TARGET_PROMOTE_FUNCTION_MODE): Define. + +2011-12-22 Uros Bizjak + + PR target/27468 + * common/config/alpha/alpha-common.c (alpha_option_optimization_table): + Enable flag_ree at -O2 or higher. + +2011-12-22 Richard Guenther + + PR lto/51650 + * lto.c (uniquify_nodes): Register TYPE_DECLs with the + debuginfo machinery. + +2011-12-22 Bernd Schmidt + + * tree-pass.h (pass_reload): Declare. + * ira.c (overall_cost_before, saved_flag_ira_share_spill_slots): + New global variables, moved out of ira. + (do_reload): New static function, split off from the second half + of ... + (ira): ... here. + (gate_ira): Remove. + (pass_ira): Use TV_IRA, set gate to NULL, and set flags to + TODO_dump_func. + (rest_of_handle_reload): New static function. + (pass_reload): New. + +2011-12-22 Uros Bizjak + + * common/config/i386/i386-common.c (ix86_option_optimization_table): + Move OPT_free processing from ... + * config/i386/i386.c (ix86_option_override_internal): ... here. + +2011-12-21 Richard Earnshaw + + PR target/51643 + * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a + weak function on bare-metal EABI targets. + +2011-12-21 Jonathan Wakely + Jim Avera + + * doc/extend.texi (__builtin_expect): Improve example. + +2011-12-21 Uros Bizjak + + * config/i386/i386.c (ix86_option_override_internal): Enable flag_ree + also for 32bit targets. + +2011-12-21 Richard Henderson + + PR target/51552 + * dwarf2cfi.c (dwarf2out_frame_debug): Move any_cfis_emitted code... + (scan_trace): ... here. + +2011-12-21 Jason Merrill + + * doc/standards.texi (C++ language): Update for C++11. + +2011-12-21 Jakub Jelinek + + * tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize + *op0 and *op1 to NULL_TREE first to avoid warnings. + * calls.c (initialize_argument_information): Initialize base to avoid + warnings. + + PR middle-end/51644 + PR middle-end/51647 + * tree-eh.c (decide_copy_try_finally): At -O0, return true + even when ndests is not 1, if there are only gimple_clobber_p + (or debug) stmts in the finally sequence. + * tree-inline.c (estimate_num_insns): Return 0 for gimple_clobber_p + stmts. + +2011-12-21 Aldy Hernandez + + PR middle-end/51472 + * trans-mem.c (tm_log_add): Use create_tmp_var_reg. + 2011-12-21 Martin Jambor * tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines. @@ -97,7 +465,7 @@ PR target/49865 * ira-costs.c (find_costs_and_classes): Prefer registers even - if the memory cost is the same. + if the memory cost is the same. 2011-12-20 Joseph Myers @@ -837,7 +1205,7 @@ clobber, but all consecutive clobbers before RESX. Use gimple_clobber_p predicate. -2011-12-09 Michael Meissner +2011-12-09 Michael Meissner * config/rs6000/rs6000.c (altivec_expand_builtin): Call expand_call to return a valid funciton instead of return @@ -1445,7 +1813,7 @@ (ia64_print_operand_punct_valid_p): New function. (ia64_print_operand, ia64_print_operand_address): Make static. -2011-12-02 Michael Meissner +2011-12-02 Michael Meissner PR target/51390 * config/rs6000/rs6000.c (def_builtin): Use the correct field to @@ -8445,6 +8813,7 @@ 2011-10-12 Richard Sandiford + PR middle-end/48660 * expr.h (copy_blkmode_to_reg): Declare. * expr.c (copy_blkmode_to_reg): New function. (expand_assignment): Don't expand register RESULT_DECLs before