OSDN Git Service

PR target/52006
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f094090..5376d31 100644 (file)
@@ -1,3 +1,250 @@
+2012-01-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52006
+       * config/arm/arm.md (pic_add_dot_plus_eight peephole2): Use
+       arm_general_register_operand predicate for operand 2 instead of
+       register_operand.
+
+2012-01-27  Ian Lance Taylor  <iant@google.com>
+
+       PR go/47656
+       * builtins.def (BUILT_IN_INIT_HEAP_TRAMPOLINE): Define.
+       * builtins.c (expand_builtin_init_trampoline): Add onstack
+       parameter.  Change caller.
+       (expand_builtin): Handle BUILT_IN_INIT_HEAP_TRAMPOLINE.
+       * tree.c (build_common_builtin_nodes): Declare
+       __builtin_init_heap_trampoline.
+
+2012-01-27  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr-protos.h (lpm_reg_rtx, lpm_addr_reg_rtx,
+       tmp_reg_rtx, zero_reg_rtx, all_regs_rtx, rampz_rtx): Make global.
+       * config/avr/avr.c: Ditto.
+       (avr_regnames): Remove because unused.
+       * config/avr/avr.md (*cpse.ne): New peephole.
+       (*cpse.eq): New peephole from former cpse peepholes.
+
+2012-01-27  Michael Eager  <eager@eagercon.com>
+
+       * config/microblaze.c (microblaze_emit_compare): Correct
+       test after pcmp instruction.
+
+2012-01-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52020
+       * tree-sra.c (sra_modify_assign): Do not transform clobbers.
+
+2012-01-27  Richard Guenther  <rguenther@suse.de>
+
+       * ipa-pure-const.c (check_stmt): Clobbers do not make a
+       function non-const/pure.
+
+2012-01-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50444
+       * tree-sra.c (build_ref_for_offset): Properly adjust the
+       MEM_REF type for unaligned accesses.
+
+2012-01-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50444
+       * expr.c (mem_ref_refers_to_non_mem_p): New function.
+       (expand_assignment): Use it.  Properly handle misaligned
+       bases when expanding stores to component references.
+       (expand_expr_real_1): Use mem_ref_refers_to_non_mem_p and
+       refactor that case.
+
+2012-01-27  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR middle-end/51389
+       * Makefile.in (tree-data-ref.o): Depend on $(PARAMS_H).
+       * tree-data-ref.h (find_data_references_in_loop): Remove declaration.
+       * tree-data-ref.c (find_data_references_in_loop): Make static.
+       (compute_all_dependences): Change return type to bool.  Bail out
+       for too many datarefs in a loop.  Move the hunk resetting the data
+       dependences vector from ...
+       (compute_data_dependences_for_loop): ... here.  Account for
+       compute_all_dependences returning false.
+       (compute_data_dependences_for_bb): Likewise.
+       * params.def (PARAM_LOOP_MAX_DATAREFS_FOR_DATADEPS): New param.
+       * doc/invoke.texi (loop-max-datarefs-for-datadeps): Document it.
+
+2012-01-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/51959
+       * expr.c (store_field): Use the alias-set of the scratch memory
+       for storing to it.
+
+2012-01-27  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/51990
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle WITH_SIZE_EXPR.
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): Same.
+
+2012-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/52001
+       * var-tracking.c (reverse_op): Don't add any reverse operation
+       if V already has any constant locations.
+
+2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi: Correct usage of "command line" (noun)
+       vs "command-line" (adjective) throughout.
+
+2012-01-27  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (Language Independent Options): Move
+       -Wcoverage-mismatch blurb from here....
+       (Warning Options): ...to here.
+
+2012-01-27  Peter Bergner  <bergner@vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal):
+       Set rs6000_always_hint to false for 476.
+
+2012-01-27  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc.c (add_sysrooted_prefix): Remove trailing dir separator from
+         system root.
+       * incpath.c (add_standard_paths): Likewise.
+
+2012-01-27  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
+       * config/m68k/sync.md (atomic_test_and_set): Rename from
+       sync_test_and_setqi and adjust the operands.
+       (atomic_test_and_set_1): Rename from sync_test_and_setqi_1
+       and unconditionally enable.
+
+2012-01-27  Richard Henderson  <rth@redhat.com>
+
+       * config/sparc/sparc.c (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
+       * config/sparc/sync.md (atomic_test_and_set): Only handle QImode.
+       (ldstub): Rename from ldstubqi.
+       (ldstub<I24MODE>): Remove.
+
+2012-01-27  Richard Henderson  <rth@redhat.com>
+
+       * target.def (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): New.
+       * c-cppbuiltin.c (cpp_atomic_builtins): Define
+       __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
+       * doc/tm.texi.in (TARGET_ATOMIC_TEST_AND_SET_TRUEVAL): Add doc hook.
+       * doc/tm.texi: Rebuild.
+
+2012-01-27  Richard Henderson  <rth@redhat.com>
+
+       * optabs.c (gen_atomic_test_and_set): Remove default.
+       (maybe_emit_atomic_test_and_set): Use maybe_expand_insn.
+
+2012-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/51978
+       * ree.c (make_defs_and_copies_lists): Change set_pat type
+       to const_rtx.
+       (combine_reaching_defs): Likewise.
+       (struct re_info): Remove.
+       (add_removable_extension): Remove x and data arguments,
+       add insn, insn_list and def_map.  Use the arguments directly
+       instead of using struct re_info.
+       (find_removable_extensions): Don't call add_removable_extension
+       through note_stores, instead just call it with single_set
+       result if non-NULL.
+       (find_and_remove_re): Pass curr_cand->expr instead of
+       PATTERN (curr_cand->insn) as set_pat argument to
+       combine_reaching_defs.
+
+2012-01-26  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/46590
+       * cfgexpand.c: Revert last change (r183305).
+       * gimplify.c (gimplify_bind_expr): Add clobbers for all non-gimple
+       regs.
+       * tree-eh.c (cleanup_empty_eh): Try to optimize clobbers before
+       checking for emptiness.
+
+2012-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/51895
+       * expr.c (expand_expr_real_1): Handle BLKmode MEM_REF of
+       non-addressable non-BLKmode base correctly.
+
+2012-01-26  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/48794
+       * tree-eh.c (remove_unreachable_handlers_no_lp): Don't remove
+       regions referenced from RESX/EH_DISPATCH.
+
+2012-01-26  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.h: Make BRANCH_COST an option.
+       * config/s390/s390.opt: New option -mbranch-cost.
+
+2012-01-26  Richard Henderson  <rth@redhat.com>
+
+       Revert 2012-01-24 change:
+       * trans-mem.c (requires_barrier): Do not instrument thread local
+       variables and emit save/restore for them.
+
+2012-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/51986
+       * sched-deps.c (sched_get_condition_with_rev_uncached): Don't test
+       for pat == 0.
+
+2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (mips_small_data_pattern_1): Don't process
+       ASM_OPERANDS.
+
+2012-01-25  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/49868
+       Rename __pgm to __flash.
+       Rename __pgm1 to __flash1.
+       Rename __pgm2 to __flash2.
+       Rename __pgm3 to __flash3.
+       Rename __pgm4 to __flash4.
+       Rename __pgm5 to __flash5.
+       Rename __pgmx to __memx.
+       * doc/extend.texi (AVR Named Address Spaces)
+       Rename address space names as indicated above.
+       * config/avr/avr.c (avr_addrspace): Ditto.
+
+       * config/avr/avr-protos.h
+       (avr_mem_pgmx_p): Rename to avr_mem_memx_p.
+       (avr_mem_pgm_p): Rename to avr_mem_flash_p.
+       * config/avr/predicates.md: Ditto.
+       * config/avr/avr.c Ditto, and
+       (avr_decl_pgmx_p): Rename to avr_decl_memx_p.
+       (avr_decl_pgm_p): Rename to avr_decl_flash_p.
+
+       * config/avr/avr.h (ADDR_SPACE_PGM): Rename to ADDR_SPACE_FLASH.
+       (ADDR_SPACE_PGM1): Rename to ADDR_SPACE_FLASH1.
+       (ADDR_SPACE_PGM2): Rename to ADDR_SPACE_FLASH2.
+       (ADDR_SPACE_PGM3): Rename to ADDR_SPACE_FLASH3.
+       (ADDR_SPACE_PGM4): Rename to ADDR_SPACE_FLASH4.
+       (ADDR_SPACE_PGM5): Rename to ADDR_SPACE_FLASH5.
+       (ADDR_SPACE_PGMX): Rename to ADDR_SPACE_MEMX.
+       * config/avr/avr.c: Ditto.
+       * config/avr/avr.md: Ditto.
+
+2012-01-25  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51992
+       * tree.c (find_decls_types_in_node): Walk gimple_call_fntype.
+
+2012-01-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/51987
+       * tree-data-ref.c (get_references_in_stmt): Handle references in
+       non-volatile GIMPLE_ASM.
+
+2012-01-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_reference_eq): Also compare if both
+       bases are dereferenced.
+
 2012-01-25  Andrey Belevantsev  <abel@ispras.ru>
 
        PR rtl-optimization/48374
        to effect no-op split.
 
 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR lto/51698
+       * builtin-types.def: (BT_CONST_DOUBLE_PTR): New.
+       (BT_FN_VOID_PTR_CONST_PTR_SIZE): New.
+       (BT_FN_VOID_PTR_INT_SIZE): New.
+       (BT_FN_UINT_UINT_VAR): Remove.
+       (BT_FN_UINT32_UINT32_VAR): New.
+       (BT_FN_DOUBLE_VPTR): Remove.
+       (BT_FN_DOUBLE_CONST_DOUBLE_PTR): New.
+
+       * gtm-builtins.def (_ITM_abortTransaction): Set return type to
+       void.
+       (_ITM_changeTransactionMode): Same.
+       (_ITM_memmoveRtWt): Change return type to void.
+       (_ITM_memcpyRtWt): Same.
+       (_ITM_memsetW): Same.
+       (_ITM_RaRD): Change types to double.
+       (_ITM_RD): Same.
+       (_ITM_RaWD): Same.
+       (_ITM_RfWD): Same.
+
+       * builtins.def (DEF_TM_BUILTIN): Set BOTH_P to true.
+
+2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
            Patrick Marlier  <patrick.marlier@gmail.com>
 
        * trans-mem.c (requires_barrier): Do not instrument thread local