X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=6787a7c141d899d6f0fffb71de78815fc32faf09;hp=eb4e2122b935563ae917ff17e3c818c0c482d897;hb=10a45226d1da501b9686f48463fbd451bd9655b1;hpb=09a1f31f7002d29cbe2b3002168fefa0c632548a diff --git a/gcc/ChangeLog b/gcc/ChangeLog index eb4e2122b93..6787a7c141d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,279 @@ +2011-11-24 Alan Modra + + * c-decl.c (warn_if_shadowing): Don't warn if shadowed + identifier is from system header. + +2011-11-23 Jakub Jelinek + + PR target/51261 + * config/i386/i386.c (decide_alg): Initialize *dynamic_check + even if !optimize. + +2011-11-23 Vladimir Makarov + + PR rtl-optimization/48455 + * doc/invoke.texi (-fira-region): Document default values. + + * flags-types.h (enum ira_region): Add new value + IRA_REGION_AUTODETECT. + + * common.opt (fira-region): Set up initial value to + IRA_REGION_AUTODETECT. + + * toplev.c (process_options): Set up flag_ira_region depending on + -O options. + + * ira.c (ira.c): Remove optimize guard for ira_build. + +2011-11-23 Chung-Lin Tang + + PR rtl-optimization/50496 + * jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX + only after epilogue is created. Add comments. + +2011-11-22 Richard Henderson + + * config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter. + Generate the barrier required for the memory model. + (rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL. + * config/ia64/ia64-protos.h: Update. + * config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New. + (UNSPEC_CMPXCHG_REL): New. + * config/ia64/sync.md (mem_thread_fence): New. + (atomic_load, atomic_store): New. + (atomic_compare_and_swap): New. + (cmpxchg_acq_, cmpxchg_acq_di): New. + (atomic_exchange): New. + (xchg_acq_): Rename from sync_lock_test_and_set. + (atomic_, atomic_nand): New. + (atomic_fetch_, atomic_fetch_nand): New. + (atomic__fetch, atomic_nand_fetch): New. + (fetchadd_rel_): New. + (sync_, sync_nand): Remove. + (sync_old_, sync_old_nand): Remove. + (sync_new_, sync_new_nand): Remove. + (sync_compare_and_swap): Remove. + (sync_lock_release): Remove. + + * config/ia64/ia64.md: Use define_e_enum for UNSPEC_* + and UNSPECV_* constants. + +2011-11-22 Tom de Vries + + PR rtl-optimization/50764 + * sched-deps.c (sched_analyze_insn): Make sure frame-related insns are + not moved past preceding jump. + +2011-11-22 Jeff Law + + * doc/contrib.texi: Add entry for David Binderman. + +2011-11-22 Andreas Krebbel + + * postreload.c (reload_combine): Mark reg_state as invalid at + volatile insns if there has been a use already. + +2011-11-21 Aldy Hernandez + + * opts.c (finish_options): Do not fail for -fgnu-tm. + * gimple-streamer-out.c (output_gimple_stmt): Handle GIMPLE_TRANSACTION. + * gimple-streamer-in.c (input_gimple_stmt): Same. + * lto-cgraph.c (input_overwrite_node): Read tm_clone bit. + (lto_output_node): Write tm_clone bit. + +2011-11-22 Ian Lance Taylor + + * doc/install.texi (Configuration): Correct doc of + --enable-build-poststage1-with-cxx: it is not experimental. + +2011-11-22 Jakub Jelinek + + PR tree-optimization/51074 + * fold-const.c (fold_binary_loc): Fix up VEC_INTERLEAVE_*_EXPR + handling for BYTES_BIG_ENDIAN. + * optabs.c (can_vec_perm_for_code_p): Likewise. + +2011-11-22 Michael Matz + + PR other/51125 + * trans-mem.c (expand_block_tm): Ignore clobbers. + +2011-11-22 Iain Sandoe + + * config/darwin.h (ENDFILE_SPEC): New. + (DARWIN_CRT1_SPEC): Add crttms.o. + (STARTFILE_SPEC): Likewise for dynamic libs and bundles. + * config/i386.h (ENDFILE_SPEC): Amend to include crttme.o. + +2011-11-22 Michael Matz + + PR c++/51264 + * tree.c (iterative_hash_expr): Remove break after return. + +2011-11-22 Iain Sandoe + + * target.def (tm_clone_table_section): New hook. + * doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define. + * doc/tm.texi: Regenerate. + * varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section. + * output.h (default_clone_table_section): New prototype. + * config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New. + * config/darwin-protos.h (darwin_tm_clone_table_section): New prototype. + * config/darwin.c (darwin_tm_clone_table_section): New. + +2011-11-21 Torvald Riegel + + * trans-mem.c (diagnose_tm_1): Print an expression instead of a + declaration in error messages for indirect calls. + +2011-11-21 David S. Miller + + * config/sparc/sparc.c (sparc_regmode_natural_size): New function + implementing REGMODE_NATURAL_SIZE taking into consideration vector + modes. + (sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P. + * config/sparc/sparc-protos.h (sparc_regmode_natural_size, + sparc_modes_tieable_p): Declare. + * gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE, + MODES_TIEABLE_P): Use new helper functions. + + Revert + 2011-11-16 Andreas Krebbel + + PR middle-end/50325 + * expmed.c (store_bit_field_1): Use extract_bit_field on big + endian targets if the source cannot be exactly covered by word + mode chunks. + +2011-11-21 Jakub Jelinek + + PR debug/50827 + * var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP + macro instead of XEXP. + +2011-11-21 Andreas Tobler + + * configure: Regenerate. + +2011-11-21 Georg-Johann Lay + + * config/avr/avr.c (output_reload_in_const): Loading a byte with 0 + must not affect cc0. + * config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any + register does not change cc0. Same for any constant to ld-register. + +2011-11-21 Uros Bizjak + + * config/i386/mmx.md (unspec) : + Move from config/i386/i386.md + (unspecv) : Ditto. + * config/i386/sse.md (unspec) : Ditto. + (unspecv) : + Ditto. + * config/i386/sync.md (unspec) : Ditto. + (unspecv) : Ditto. + (sse2_lfence): Move from config/i386/sse.md. + (*sse2_lfence): Ditto. + (sse_sfence): Ditto. + (*sse_sfence): Ditto. + (sse2_mfence): Ditto. + (mfence_sse2): Ditto. Rename from *sse2_mfence. Enable also + for TARGET_64BIT. + (mem_thread_fence): Use mfence_sse2. + +2011-11-21 Georg-Johann Lay + + * config/avr/avr.h (struct base_arch_s): Add field sfr_offset. + * config/avr/avr-devices.c: Ditto. And initialize it. + * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in define + __AVR_SFR_OFFSET__. + * config/avr/avr-protos.h (out_movqi_r_mr, out_movqi_mr_r): Remove. + (out_movhi_r_mr, out_movhi_mr_r): Remove. + (out_movsi_r_mr, out_movsi_mr_r): Remove. + * config/avr/avr.md (*cbi, *sbi): Use %i instead of %m-0x20. + (*insv.io, *insv.not.io): Ditto. + * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r): Make static. + (print_operand): Implement "%i" to print address as I/O address. + (output_movqi): Clean up call of out_movqi_mr_r. + (output_movhi): Clean up call of out_movhi_mr_r. + (avr_file_start): Use avr_current_arch->sfr_offset instead of + magic -0x20. Use TMP_REGNO, ZERO_REGNO instead of 0, 1. + (avr_out_sbxx_branch): Use %i instead of %m-0x20. + (out_movqi_r_mr, out_movqi_mr_r): Ditto. And make static. + (out_movhi_r_mr, out_movhi_mr_r): Ditto. And use avr_asm_len. + (out_shift_with_cnt): Clean up code: Use avr_asm_len. + (output_movsisf): Use output_reload_insisf for all CONSTANT_P sources. + (avr_out_movpsi): USE avr_out_reload_inpsi for all CONSTANT_P sources. + Clean up call of avr_out_store_psi. + (output_reload_in_const): Don't cut symbols longer than 2 bytes. + (output_reload_insisf): Filter CONST_INT_P or CONST_DOUBLE_P to + try if setting pre-cleared register is advantageous. + (avr_out_plus_1): Use gen_int_mode instead of GEN_INT. + +2011-11-20 Joey Ye + + * expr.c (expand_expr_real_1): Correctly handle strict volatile + bitfield loads smaller than mode size. + +2011-11-20 Richard Henderson + + * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs. + +2011-11-20 Uros Bizjak + + PR target/51235 + * config/i386/i386.c (ix86_expand_vcond): Generate TARGET_XOP + patterns for supported mode only. + + PR target/51236 + * config/i386/i386.c (ix86_expand_builtin) + : Use CODE_FOR_avx2_gathersiv4di. + +2011-11-20 Uros Bizjak + + * config/i386/i386.md (UNSPEC_MOVNTI): Remove. + (UNSPEC_MOVNTQ): New unspec. + * config/i386/mmx.md (sse_movntq): Rename from sse_movntdi. + Use UNSPEC_MOVNTQ instead of UNSPEC_MOVNT. + * config/i386/sse.md (sse2_movnti): Use UNSPEC_MOVNT instead of + UNSPEC_MOVNTI. + (STORENT_MODE): Add DI and V4DI modes. + +2011-11-20 Nathan Sidwell + + PR gcov-profile/51113 + * coverage.c (build_var): Propagate visibility for public + decls. Use make_decl_one_only for PIC correctness. + + testsuite/ + * gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage + * gcc.misc-tests/gcov-16.c: New. + * gcc.misc-tests/gcov-17.c: New. + * g++.dg/gcov/gcov-8.C: New. + * g++.dg/gcov/gcov-9.C: New. + * g++.dg/gcov/gcov-10.C: New. + +2011-11-19 Eric Botcazou + + PR rtl-optimization/51187 + * reorg.c (relax_delay_slots): Do not consider a jump useless if there + is a barrier between the jump and its target label. + 2011-11-19 Patrick Marlier PR middle-end/51211 @@ -99,7 +375,7 @@ (avr_const_address_lo16): New static function. (avr_assemble_integer): Use it to handle 3-byte integers. (avr_emit_movmemhi, avr_out_movmem): New functions. - + * config/avr/predicates.md (nox_general_operand): Handle new address spaces. * config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.