OSDN Git Service

2011-12-08 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5939b74..84083ed 100644 (file)
@@ -1,6 +1,159 @@
+2011-12-08  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/49945
+       * lto-streamer-out.c (tree_is_indexable): Localize variably
+       modified types and their FIELD_DECLs.
+
+2011-12-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR tree-optimization/51315
+       * tree.h (get_object_or_type_alignment): Declare.
+       * expr.c (get_object_or_type_alignment): Move to...
+       * builtins.c (get_object_or_type_alignment): ...here.  Add assertion.
+       * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
+       (tree_non_aligned_mem_p): ...this.  Add ALIGN parameter.  Look into
+       MEM_REFs and use get_object_or_type_alignment for them.
+       (build_accesses_from_assign): Adjust for above change.
+       (access_precludes_ipa_sra_p): Likewise.
+
+2011-12-08  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/48437
+       * lto-streamer-out.c (tree_is_indexable): Exclude block-local
+       extern declarations.
+
+2011-12-07  Andrew Pinski  <apinski@cavium.com>
+
+       PR middle-end/45416
+       * expr.c (do_store_flag): Rewrite code that looks for BIT_AND_EXPR for
+       SSA-expand.
+
+2011-12-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50823
+       * ipa-inline.c (edge_badness): Do not account for the number of
+       remaining calls.
+
+2011-12-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/50744
+       * ipa-cp.c (good_cloning_opportunity_p): Assert size_cost is positive,
+       compute evaluation in HOST_WIDEST_INT.
+       (safe_add): New function
+       (propagate_effects): Use safe_add to accumulate effects.
+
+2011-12-06  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * config/rs6000/rtems.h: Switch to using global_options_set
+       in SUBSUBTARGET_OVERRIDE_OPTIONS.
+
+2011-12-06  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.
+
+2011-12-06  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.c (avr_file_start): Fix missing ,
+
+2011-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/51354
+       * config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note
+       unconditionally.
+
+2011-12-06  Georg-Johann Lay  <avr@gjlay.de>
+
+       Forward-port from gcc-4_6-branch r181936 2011-12-02.
+       * config/avr/avr-mcus.def (avr_mcu_types): ATtiny4313 and
+       AT86RF401 have a 16-bit SP (their manual is bogus).
+
+2011-12-06  Georg-Johann Lay  <avr@gjlay.de>
+
+       Forward-port from gcc-4_6-branch r181936 2011-12-02.
+
+       PR target/51002
+       * config/avr/avr.md (movhi_sp_r): Set insn condition to
+       !AVR_HAVE_8BIT_SP.
+       * config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in
+       %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
+       (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
+
+2011-12-06  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/51409
+       PR target/49868
+       * config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1,
+       ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4,
+       ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum.
+       (avr_addrspace_t): New typedef.
+       (avr_addrspace): New declaration.
+       * config/avr/avr-c.c (avr_toupper): New static function.
+       (avr_register_target_pragmas, avr_cpu_cpp_builtins): Use
+       avr_addrspace to get address space information.
+       * config/avr/avr.c (avr_addrspace): New variable.
+       (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes,
+       avr_asm_named_section, avr_section_type_flags,
+       avr_asm_select_section, avr_addr_space_address_mode, 
+       avr_addr_space_convert, avr_emit_movmemhi): Use it.
+       (avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode.
+       (avr_pgm_segment): Remove.
+
+2011-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50601
+       * varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
+       quirk adjustjment ...
+       * passes.c (rest_of_decl_compilation): ... here.
+
+2011-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/51436
+       * gimple-fold.c (gimplify_and_update_call_from_tree): Guard
+       vdef check for the fact we do not have virtual operands when
+       not optimizing.
+
+2011-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51245
+       * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
+       New function.
+       (vn_reference_lookup_3): Use it.  Properly valueize all refs
+       we create.
+
+2011-12-06  Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
+       rs6000_current_abi.
+
+2011-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51363
+       * gimple.c (gimple_rhs_has_side_effects): Remove.
+       * gimple.h (gimple_rhs_has_side_effects): Likewise.
+       * tree-ssa-dom.c (optimize_stmt): Simplify conditional.
+
+2011-12-06  Alan Modra  <amodra@gmail.com>
+
+       PR target/50906
+       * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
+       Do not mark r11 setup as frame-related.  Pass correct offset to
+       rs6000_emit_savres_rtx.  Correct out-of-line rs6000_frame_related
+       arguments.  Correct sp_offset.  Remove "offset" fudge from
+       in-line rs6000_frame_related call.  Rename misleading variable.
+       Fix comments and whitespace.  Tidy some expressions.
+       (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
+       to r11 in out-of-line case.  Correct sp_offset.  Pass correct
+       offset to rs6000_emit_savres_rtx.  Rename misleading variable.
+       Fix comments and whitespace.  Tidy some expressions.
+       (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
+       adjustment when !saving_GPRs_inline.  Correct register mode
+       used in address calcs.
+       (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
+       !restoring_GPRs_inline.
+
 2011-12-06  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
-       * config/arm/vfp.md (*combine_vcvt_f64_<FCVTI32typename>): Fix 
+       * config/arm/vfp.md (*combine_vcvt_f64_<FCVTI32typename>): Fix
        formatting character for vmov.f64 case.
 
 2011-12-05  Jakub Jelinek  <jakub@redhat.com>
 
 2011-12-05  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
 
-       * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
-       * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
-       * config/arm/constraints.md ("Dt"): New constraint.
-       * config/arm/predicates.md
-       (const_double_vcvt_power_of_two_reciprocal): New.
-       * config/arm/vfp.md (FCVTI32typename): New.
-       (FCVT): New iterator.
-       (*combine_vcvt_f32_<FCVTI32typename>): New.
-       (*combine_vcvt_f64_<FCVTI32typename>): New.
+       * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
+       * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
+       * config/arm/constraints.md ("Dt"): New constraint.
+       * config/arm/predicates.md
+       (const_double_vcvt_power_of_two_reciprocal): New.
+       * config/arm/vfp.md (FCVTI32typename): New.
+       (FCVT): New iterator.
+       (*combine_vcvt_f32_<FCVTI32typename>): New.
+       (*combine_vcvt_f64_<FCVTI32typename>): New.
 
 2011-12-05  Richard Guenther  <rguenther@suse.de>