OSDN Git Service

PR target/52107
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e62c447..3307d71 100644 (file)
@@ -1,3 +1,279 @@
+2012-02-07  Alan Modra  <amodra@gmail.com>
+
+       PR target/52107
+       * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode
+       subregs of TFmode.
+
+2012-02-06  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/50969
+       * tree-vect-stmts.c (vect_model_store_cost): Correct statement cost to
+       use vec_perm rather than vector_stmt.
+       (vect_model_load_cost): Likewise.
+       * config/i386/i386.c (ix86_builtin_vectorization_cost): Change cost of
+       vec_perm to be the same as other vector statements.
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Revise
+       cost of vec_perm for TARGET_VSX.
+
+2012-02-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52115
+       * tree-sra.c (access_has_replacements_p): New function.
+       (sra_modify_assign): Use it to decide whether a use is uninitialized.
+
+2012-02-06  Patrick Marlier  <patrick.marlier@gmail.com>
+
+       PR middle-end/52047
+       * trans-mem.c (expand_call_tm): Add an assertion.
+       * calls.c (flags_from_decl_or_type): Add ECF_TM_PURE to 'no vops'
+       functions.
+
+2012-02-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50955
+       * tree-ssa-loop-ivopts.c (get_computation_cost_at): Artificially
+       raise cost of expressions that replace an address with an
+       expression based on a different pointer.
+
+2012-02-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52129
+       * calls.c (mem_overlaps_already_clobbered_arg_p): If val is
+       CONST_INT_P, subtract resp. add crtl->args.pretend_args_size to it.
+
+2012-02-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR c++/48680
+       * doc/invoke.texi (C++ Dialect Options): Use @option markup for
+       -Weffc++ and specify guidelines come from second edition.
+
+2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.md (sibcall_internal, sibcall_value_internal)
+       (sibcall_value_multiple_internal, call_split, call_internal_direct)
+       (call_direct_split, call_value_split, call_value_internal_direct)
+       (call_value_direct_split, call_value_multiple_split): Use jal and
+       jal_macro attributes.
+
+2012-02-05  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * reload1.c (reload_regs_reach_end_p): Replace with...
+       (reload_reg_rtx_reaches_end_p): ...this function.
+       (new_spill_reg_store): Update commentary.
+       (emit_input_reload_insns): Don't clear new_spill_reg_store here.
+       (emit_output_reload_insns): Check reload_reg_rtx_reaches_end_p
+       before setting new_spill_reg_store.
+       (emit_reload_insns): Use a separate loop to clear new_spill_reg_store.
+       Use reload_reg_rtx_reaches_end_p instead of reload_regs_reach_end_p.
+       Also use reload_reg_rtx_reaches_end_p when reading new_spill_reg_store
+       for non-spill reload registers.
+
+2012-02-05  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/52091
+       * tree-vectorizer.h (vect_is_simple_use): Add an argument.
+       (vect_is_simple_use_1): Likewise.
+       * tree-vect-loop.c (vectorizable_reduction): Update calls
+       to vect_is_simple_use_1 and vect_is_simple_use.
+       (vectorizable_live_operation): Likewise.
+       * tree-vect-patterns.c (widened_name_p,
+       vect_recog_vector_vector_shift_pattern, check_bool_pattern):
+       Likewise.
+       * tree-vect-stmts.c (process_use, vect_get_vec_def_for_operand,
+       vectorizable_call, vectorizable_conversion,
+       vectorizable_assignment, vectorizable_shift,
+       vectorizable_operation, vectorizable_store, vectorizable_load):
+       Likewise.
+       (vect_is_simple_cond): Add an argument, pass it to
+       vect_is_simple_use_1.
+       (vectorizable_condition): Update calls to vect_is_simple_cond,
+       vect_is_simple_use.
+       (vect_is_simple_use): Add an argument, the statement in which
+       OPERAND is used.  Check that if OPERAND's def stmt is a double
+       reduction phi node, the use is a phi node too.
+       (vect_is_simple_use_1): Add an argument, pass it to
+       vect_is_simple_use.
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Update a call
+       to vect_is_simple_use.
+
+2012-02-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/52095
+       * modulo-sched.c (dump_insn_locator): New function.
+       (loop_canon_p, sms_schedule): Use it.
+
+       PR rtl-optimization/52113
+       * lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
+       even for decomposable shift/zext insns.
+
+2012-02-03  Jakub Jelinek  <jakub@redhat.com>
+           Zdenek Dvorak  <ook@ucw.cz>
+
+       PR rtl-optimization/52092
+       * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
+       on get_iv_value result.
+
+2012-02-02  Andrew Pinski  <apinski@cavium.com>
+
+       PR middle-end/47982
+       PR middle-end/43967
+       * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo.
+
+2012-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48071
+       * diagnostic.c (diagnostic_finish): Remove trailing newlines.
+
+2012-02-02  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/49800
+       * haifa-sched.c (sched_init): Call regstat_init_n_sets_and_refs.
+       (sched_finish): Call regstat_free_n_sets_and_refs.
+
+2012-02-02  Jia Liu  <proljc@gmail.com>
+
+       * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather
+       than operand 2.
+
+2012-02-02 Jan Hubicka  <jh@suse.cz>
+          Tom de Vries  <tom@codesourcery.com>
+
+       PR middle-end/51998
+       * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases.
+       * varpool.c (varpool_analyze_pending_decls): Likewise.
+
+2012-02-02  Sumanth G <sumanth.gundapaneni@kpitcummins.com>
+           Jayant R Sonar <jayant.sonar@kpitcummins.com>
+
+       * config.gcc: Add cr16-* support.
+
+       * doc/extend.texi: Document cr16 extensions.
+       * doc/install.texi: Document cr16 install.
+       * doc/invoke.texi: Document cr16 options.
+       * doc/md.texi: Document cr16 constraints.
+
+       * common/config/cr16/cr16-common.c: New file.
+       * config/cr16/cr16.c: New file.
+       * config/cr16/cr16.h: New file.
+       * config/cr16/cr16.md: New file.
+       * config/cr16/cr16.opt: New file.
+       * config/cr16/cr16-protos.h: New file.
+       * config/cr16/predicates.md: New file.
+       * config/cr16/constraints.md: New file.
+       * config/cr16/t-cr16: New file.
+
+2012-02-02  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/52086
+       * config/i386/i386.md (*addqi_2 peephole with SImode addition): Check
+       that operands[2] is either immediate, or q_regs_operand.
+
+       PR tree-optimization/52073
+       * tree-vect-stmts.c (vect_mark_relevant): When checking uses of
+       a pattern stmt for pattern uses, ignore uses outside of the loop.
+
+2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.c: Resolve all AS1 and AS2 macros.
+       * config/avr/avr.h (AS1, AS2, AS2C, AS3): Remove.
+       (OUT_AS1, OUT_AS2): Remove.
+
+2012-02-01  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR rtl-optimization/51374
+       * combine.c (can_combine_p): Don't allow volatile_refs_p insns
+       to cross other volatile_refs_p insns.
+
+2012-02-01  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (fno-inline): Clarify documentation.
+       (finline-small-functions): Likewise.
+       (finline-functions): Likewise.
+       * common.opt (finline): Adjust comment and documentation.
+       (finline-small-functions): Clarify documentation.
+       (finline-functions): Likewise.
+       (finline-functions-called-once): Likewise.
+
+2012-02-01  Tristan Gingold  <gingold@adacore.com>
+
+       * c-typeck.c (composite_type): Keep mode for pointers.
+
+2012-01-31  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * function.h (regno_reg_rtx): Adjust comment.
+       * reginfo.c (init_reg_modes_target): Only use the previous mode
+       if it fits within one register.  Remove MIPS comment.
+
+2012-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/52058
+       * combine.c (do_SUBST_LINK, SUBST_LINK): Guard with #ifndef HAVE_cc0.
+
+2012-01-31  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md ("*ashr<mode>3_and"): Add missing z196 flag
+       to srak instruction.
+
+2012-01-31  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
+
+       config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
+       condition.
+
+2012-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/52041
+       PR bootstrap/52039
+       PR target/51974
+       * ipa-prop.c (detect_type_change_1): Call ao_ref_init.
+
+2012-01-31  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/51528
+       * tree-sra.c (sra_modify_assign): Avoid copy-in/out for aggregate
+       assigns.
+
+2012-01-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/52041
+       PR bootstrap/52039
+       PR target/51974
+       * ree.c (add_removable_extension): Change def_map argument
+       to unsigned *, store in def_map 1 + offset into *insn_list vector
+       instead of pointers into the vector.
+       (find_removable_extensions): Adjust caller.
+
+2012-01-30  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md: Resolve all AS1 and AS2 macros.
+       Transform all "* quoted-c-code" to { c-code }.
+       Remove redundant test for "optimize" in combine patterns.
+       Move (include "avr-dimode.md") to end of file.
+
+2012-01-30  Bin Cheng  <bin.cheng@arm.com>
+
+       PR target/51835
+       * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
+       for __aeabi_d2iz/__aeabi_d2uiz with hard-float.
+
+2012-01-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/52028
+       * tree-loop-distribution.c (ldist_gen): Properly update
+       virtual SSA form.
+
+2012-01-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/52027
+       * dwarf2out.c (dwarf2out_switch_text_section): Don't call
+       set_cur_line_info_table if not emitting debug info.
+
+       PR tree-optimization/52046
+       * tree-vect-patterns.c (check_bool_pattern): Give up if
+       a comparison could throw.
+
+       PR debug/52048
+       * tree-ssa-tail-merge.c (local_def): Ignore debug uses.
+
 2012-01-30  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/52045