OSDN Git Service

PR middle-end/52894
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b7a5971..a8d3d59 100644 (file)
@@ -1,3 +1,226 @@
+2012-04-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/52894
+       * varasm.c (process_pending_assemble_externals): Set
+       pending_assemble_externals_processed true.
+       (assemble_external): Call assemble_external_real if the pending
+       assemble externals have been processed.
+
+2012-04-09  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/52717
+       * config/sparc/sparc.c (sparc_file_end): Set TREE_PUBLIC explicitly on
+       the DECL generated for the special GOT helper.
+
+2012-04-06  Walter Lee  <walt@tilera.com>
+
+       Backport from mainline
+       2012-03-07  Walter Lee  <walt@tilera.com>
+
+       * config/tilegx/tilegx.c (tilegx_expand_prologue): Don't generate
+       REG_CFA_* notes for the stack pointer.
+       (tilegx_expand_epilogue): Restore stack pointer by adjusting it by
+       EH_RETURN_STACKADJ_RTX.
+       * config/tilepro/tilepro.c (tilepro_expand_prologue): Don't
+       generate REG_CFA_* notes for the stack pointer.
+       (tilepro_expand_epilogue): Restore stack pointer by adjusting it
+       by EH_RETURN_STACKADJ_RTX.
+       
+2012-04-06  Matt Turner  <mattst88@gmail.com>
+
+       * doc/install.texi: Correct typo "-mno-lsc" -> "-mno-llsc".
+
+2012-04-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/ia64/ia64.c (ia64_load_pair_ok): Return 0 if the second member
+       of the destination isn't also a FP_REGS register.
+
+2012-04-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-03-02  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52406
+       * tree-data-ref.h: Update documentation about DR_BASE_OBJECT.
+       (struct indices): Add unconstrained_base member.
+       (struct dr_alias): Remove unused vops member.
+       (DR_UNCONSTRAINED_BASE): New define.
+       * tree-data-ref.c (dr_analyze_indices): For COMPONENT_REFs
+       add indices to allow their disambiguation.  Make DR_BASE_OBJECT
+       be an artificial access that covers the whole indexed object,
+       or mark it with DR_UNCONSTRAINED_BASE if we cannot do so.  Canonicalize
+       plain decl base-objects to their MEM_REF variant.
+       (dr_may_alias_p): When the base-object of either data reference
+       has unknown size use only points-to information.
+       (compute_affine_dependence): Make dumps easier to read and
+       more verbose.
+       * tree-vect-data-ref.c (vector_alignment_reachable_p): Use
+       DR_REF when looking for packed references.
+       (vect_supportable_dr_alignment): Likewise.
+
+2012-04-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52580
+       * tree-data-ref.c (subscript_dependence_tester_1): Check
+       all dimensions for non-conflicting access functions.
+
+2012-04-03  Richard Guenther  <rguenther@suse.de>
+
+       Backport from mainline
+       2012-03-06  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52493
+       * tree-ssa-alias.c (ptr_derefs_may_alias_p): Robustify.
+
+       2012-03-23  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52678
+       * tree-vectorizer.h (struct _stmt_vec_info): Add
+       loop_phi_evolution_part member.
+       (STMT_VINFO_LOOP_PHI_EVOLUTION_PART): New define.
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Initialize
+       STMT_VINFO_LOOP_PHI_EVOLUTION_PART.
+       * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
+       Use the cached evolution part and the PHI nodes value from
+       the loop preheader edge instead of re-analyzing the evolution.
+
+       2012-03-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52701
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Always
+       compute and set the evolution part of PHI nodes.
+
+       2012-03-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52754
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Only
+       propagate arbitrary addresses into really plain dereferences.
+
+2012-04-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/52835
+       * tree-data-ref.c (build_rdg): Return NULL if
+       compute_data_dependences_for_loop failed.
+
+2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-cfg.c (call_can_make_abnormal_goto): New predicate.
+       (stmt_can_make_abnormal_goto): Use it.
+       (is_ctrl_altering_stmt): Likewise.
+
+2012-03-31  Martin Jambor  <mjambor@suse.cz>
+
+       Backported from mainline
+       2012-03-30  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there
+       is a builtin_stack_save in a dominating BB.
+
+2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (avx_h<plusminus_insn>v4df3): Fix results
+       crossing 128bit lane boundary.
+
+2012-03-29  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backported from mainline
+       2012-03-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/52698
+       * config/i386/i386-protos.h (ix86_legitimize_reload_address):
+       New prototype.
+       * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): New define.
+       * config/i386/i386.c: Include reload.h.
+       (ix86_legitimize_reload_address): New function.
+
+2012-03-28  Martin Jambor  <mjambor@suse.cz>
+
+       Backported from mainline
+       2012-03-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/52693
+       * tree-sra.c (sra_modify_assign): Do not call
+       load_assign_lhs_subreplacements when working with an unscalarizable
+       region.
+
+2012-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52691
+       * tree-ssa-ccp.c (optimize_stdarg_builtin): Optimize
+       __builtin_va_start to __builtin_next_arg if the latter is
+       builtin_decl_explicit_p rather than when it is not.
+
+       PR middle-end/52750
+       * tree-vect-generic.c (vector_element): Perform multiplication
+       for pos in bitsizetype type instead of idx type.
+
+2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-03-28 mainline r185910.
+
+       PR target/52692
+       * config/avr/avr.c (TARGET_BUILTIN_DECL): New define.
+       (avr_builtin_decl): New static function.
+       (struct avr_builtin_description, avr_bdesc): Move up.
+       Add GTY marker. Add field fndecl. Remove redundant field id.
+       (avr_init_builtins): Initialize avr_bdesc[ID].fndecl.
+       (avr_expand_builtin): Code cleanup because .id is removed.
+
+2012-03-28  Aurelien Buhrig  <aurelien.buhrig.gcc@gmail.com>
+
+       PR middle-end/51893
+       * expmed.c (store_bit_field_1): Fix wordnum value for big-endian
+       targets.
+
+2012-03-28  Georg-Johann Lay  <avr@gjlay.de>
+
+       Backport from 2012-03-28 mainline r185907.
+
+       PR target/52737
+       * config.gcc (tm_file): Remove avr/multilib.h.
+
+       * doc/invoke.texi (AVR Options): Adjust
+       documentation of -mtiny-stack.
+
+       * config/avr/genmultilib.awk: Remove code to generate multilib.h.
+       (BEGIN): Use -msp8 as multilib option instead of -mtiny-stack.
+       * config/avr/t-avr: Remove generation of multilib.h.
+       * config/avr/t-multilib: Regenerate.
+       * config/avr/multilib.h: Remove.
+       * config/avr/avr.opt (-msp8): New option.
+       (avr_sp8): New variable.
+       * config/avr/driver-avr.c (avr_device_to_sp8): New function.
+       * config/avr/avr.h (AVR_HAVE_SPH): New define.
+       (AVR_HAVE_8BIT_SP): Also set by avr_sp8 i.e. -msp8.
+       (avr_device_to_sp8): New prototype.
+       (EXTRA_SPEC_FUNCTIONS): Add { "device_to_sp8", avr_device_to_sp8 }
+       (DRIVER_SELF_SPECS): New define.
+       * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
+       __AVR_SP8__, __AVR_HAVE_SPH__.
+       * config/avr/avr.c (output_movhi): Use AVR_HAVE_SPH instead of
+       AVR_HAVE_8BIT_SP to decide if SP_H is present.
+       (avr_file_start): Ditto.
+
+2012-03-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52736
+       * config/i386/sse.md (sse2_loadlpd splitter): Use offset 0
+       instead of 8 in adjust_address.
+
+2012-03-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expmed.c (store_bit_field): Assert that BITREGION_START is a multiple
+       of a unit before computing the offset in units.
+
+2012-03-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/52720
+       * fold-const.c (try_move_mult_to_index): Handle &x.array more
+       explicitely.
+
 2012-03-24  Eric Botcazou  <ebotcazou@adacore.com>
 
        PR target/52610
 
        Backported from mainline
        2012-03-13  Jakub Jelinek  <jakub@redhat.com>
+
        PR c/52577
        * c-parser.c (c_parser_postfix_expression)
        <case RID_BUILTIN_SHUFFLE>: Call mark_exp_read on argument values.
 2012-03-07  Ralf Corsépius  <ralf.corsepius@rtems.org>
 
        PR target/51417
-       * Makefile.in: Let install-gcc-ar depend on installdirs, gcc-ar$(exeext),
-       gcc-nm$(exeext), gcc-ranlib$(exeext).
+       * Makefile.in: Let install-gcc-ar depend on installdirs,
+       gcc-ar$(exeext), gcc-nm$(exeext), gcc-ranlib$(exeext).
        Don't double canonicalize if cross-compiling.
 
 2012-03-06  Aldy Hernandez  <aldyh@redhat.com>
 2012-03-01  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr-c.c (avr_cpu_cpp_builtins): Restore built-in
-       defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__ 
+       defines for __UINT24_MAX__, __INT24_MAX__, __INT24_MIN__
        unintentionally removed in r184616.
 
 2012-03-01  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>
 
        * config/avr/avr-devices.c (avr_mcu_type): Adjust NULL part
        of initializer to changes from r184614.
-       
+
 2012-02-28  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/52395