OSDN Git Service

2012-01-04 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5b0d4a6..33caab1 100644 (file)
@@ -1,9 +1,151 @@
+2012-01-04  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/51750
+       * tree.c (size_low_cst): New function.
+       * tree.h (size_low_cst): Declare.
+       * fold-const.c (fold_comparison): Use it to extract the low
+       part of the POINTER_PLUS_EXPR offset.
+
+2012-01-04  Georg-Johann Lay  <avr@gjlay.de>
+
+       Fix clearing ZERO_REG
+       * config/avr/avr.md (cc): Add alternative "ldi".
+       (movqi_insn): Use it in cc attribute.
+       * config/avr/avr.c (notice_update_cc): Handle CC_LDI.
+       (output_reload_in_const): Use CLR to move 0 to ZERO_REG.
+       (output_reload_insisf): Use ZERO_REG to pre-clear register.
+
+2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * configure: Regenerate.
+
+2012-01-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49651
+       * tree-ssa-structalias.c (type_can_have_subvars): New function.
+       (var_can_have_subvars): Use it.
+       (get_constraint_for_1): Only consider subfields if there
+       can be any.
+
+2012-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/51725
+       * cselib.c (new_elt_loc_list): When moving locs from one
+       cselib_val to its new canonical_cselib_val and the
+       cselib_val was in first_containing_mem chain, but
+       the canonical_cselib_val was not, add the latter into the
+       chain.
+       (cselib_invalidate_mem): Compare canonical_cselib_val of
+       addr_list chain elt with v.
+
+       PR pch/51722
+       * dwarf2out.c (dwarf2out_start_source_file, dwarf2out_define,
+       dwarf2out_undef): Allocate e.info using ggc_strdup instead
+       of xstrdup.
+       (output_macinfo_op): Don't ggc_strdup fd->filename.
+       (optimize_macinfo_range): Allocate grp_name using XALLOCAVEC,
+       then ggc_strdup it.  Don't free inc->info or cur->info.
+       (output_macinfo): Don't free ref->info or file->info.
+
+2012-01-03  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/51269
+       * tree-vect-loop-manip.c (set_prologue_iterations): Make
+       first_niters a pointer.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+       (vect_do_peeling_for_loop_bound): Update call to
+       slpeel_tree_peel_loop_to_edge.
+       (vect_gen_niters_for_prolog_loop): Don't compute wide_prolog_niters
+       here.  Remove it from the parameters list.
+       (vect_do_peeling_for_alignment): Update calls and compute
+       wide_prolog_niters.
+
+2012-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51070
+       * tree-loop-distribution.c (stmt_has_scalar_dependences_outside_loop):
+       Properly handle calls.
+
+2012-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51692
+       * tree-ssa-dce.c (eliminate_unnecessary_stmts): Do not remove
+       the LHS of allocation stmts.
+
+2012-01-03  Olivier Hainque  <hainque@adacore.com>
+
+       * system.h: Prior to #define, #undef fopen and freopen unconditionally.
+
+2012-01-03  Olivier Hainque  <hainque@adacore.com>
+
+       * collect2.c (main): In AIX specific computations for vector
+       insertions, use CONST_CAST2 to cast from char ** to const char **.
+
+2012-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR debug/51650
+       * dwarf2out.c (dwarf2out_finish): Always create a DIE for
+       the context of a limbo DIE when it does not already exist.
+
+2012-01-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/51719
+       * value-prof.c (gimple_ic): When indirect call isn't noreturn,
+       but direct call is, clear direct call's lhs and don't add fallthrough
+       edge from dcall_bb to join_bb and PHIs.
+
+2012-01-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md ("*cmp<mode>_ccs"): Fix comment mentioning
+       the instructions emitted by the pattern.
+       ("*TDC_insn_<mode>"): Add comment.
+
+2012-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/51730
+       * fold-const.c (fold_comparison): Properly canonicalize
+       tree offset and HOST_WIDE_INT bit position.
+
+2012-01-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/ia64/ia64.c (expand_vec_perm_broadcast): Use correct
+       operands for extzv pattern.
+
+2012-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/51725
+       * cselib.c (add_mem_for_addr): Call canonical_cselib_val
+       on mem_elt first.
+
+2012-01-02  Sandra Loosemore  <sandra@codesourcery.com>
+
+       * doc/invoke.texi (-flto and related options): Copy-edit.
+
+2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.md (loadgp_newabi_<mode>): Add missing earlyclobber.
+
+2012-01-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (*avx2_gatherdi<mode>_3, *avx2_gatherdi<mode>_4):
+       New patterns.
+
+2012-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * expr.h (move_by_pieces_ninsns): Declare.
+       * expr.c (move_by_pieces_ninsns): Make external.
+       * config/mips/mips-protos.h (mips_move_by_pieces_p): Declare.
+       (mips_store_by_pieces_p): Likewise.
+       * config/mips/mips.h (MOVE_BY_PIECES_P): Call mips_move_by_pieces_p.
+       (STORE_BY_PIECES_P): Likewise mips_store_by_pieces_p.
+       * config/mips/mips.c (mips_move_by_pieces_p): New function.
+       (mips_store_by_pieces_p): Likewise.
+
 2012-01-02  Jakub Jelinek  <jakub@redhat.com>
 
        * passes.c (register_one_dump_file): Free full_name.
 
-       * reload1.c (reload): Don't allocate reg_max_ref_width
-       here.
+       * reload1.c (reload): Don't allocate reg_max_ref_width here.
        (calculate_elim_costs_all_insns): Free offsets_at and
        offsets_known_at at the end and clear the pointers.
 
 
        PR tree-optimization/51704
        * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Check that
-       a use is inside the basic block or loop before accessing its
-       vect info.
+       a use is inside the basic block or loop before accessing its vect info.
 
 2012-01-01  Jan Hubicka  <jhjh@suse.cz>
 
 
        * config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
        * config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
-        expression.
+       expression.
 
 2011-12-28  Ian Lance Taylor  <iant@google.com>
 
 
        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.
+       unlikely_text_section_p.  Instead check for being in a code section.
 
 2011-12-28  Ira Rosen  <irar@il.ibm.com>
 
 
 2011-12-25  Jan Hubicka  <jh@suse.cz>
 
-       PR middle-end/48641 
+       PR middle-end/48641
        * tree-ssa-threadupdate.c (redirect_edges): Watch for overflow.
 
 2011-12-26  Oleg Endo  <oleg.endo@t-online.de>
        (fetchop_name): Use 'or' instead of 'ior'.
        (fetchop_insn): Remove.
        (atomic_compare_and_swap<mode>_soft):
-        Don't insert aligning nop after the write-back instruction.  Fix
+       Don't insert aligning nop after the write-back instruction.  Fix
        multi-line asm output formatting style.
-        (atomic_fetch_<fetchop_name><mode>_soft): Likewise.
-        (atomic_fetch_nand<mode>_soft): Likewise.
-        (atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
-        (atomic_nand_fetch<mode>_soft): Likewise.
+       (atomic_fetch_<fetchop_name><mode>_soft): Likewise.
+       (atomic_fetch_nand<mode>_soft): Likewise.
+       (atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
+       (atomic_nand_fetch<mode>_soft): Likewise.
 
 2011-12-23  Richard Henderson  <rth@redhat.com>