OSDN Git Service

PR bootstrap/52172
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index f2025eb..e6dd0ca 100644 (file)
@@ -1,3 +1,506 @@
+2012-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/52172
+       * cselib.h (cselib_subst_to_values_from_insn): New prototype.
+       * cselib.c (cselib_subst_to_values_from_insn): New function.
+       * sched-deps.c (add_insn_mem_dependence,
+       sched_analyze_1, sched_analyze_2): Use it.
+
+2012-02-13  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/52214
+       * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch.
+
+2012-02-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcc.c (LINK_COMMAND_SPEC): Deal with -fgnu-tm.
+       (GTM_SELF_SPECS): Define if not already defined.
+       (driver_self_specs): Add GTM_SELF_SPECS.
+        * config/darwin.h (LINK_COMMAND_SPEC_A): Deal with -fgnu-tm.
+        (GTM_SELF_SPECS): Define.
+       * config/i386/cygwin.h (GTM_SELF_SPECS): Likewise.
+       * config/i386/mingw32.h (GTM_SELF_SPECS): Likewise.
+
+2012-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       * cselib.c (expand_loc): Return sp, fp, hfp or cfa base reg right
+       away if seen.
+
+       * cselib.c (dump_cselib_val): Don't assume l->setting_insn is
+       non-NULL.
+
+       PR middle-end/52230
+       * omp-low.c (expand_omp_for): If a static schedule without
+       chunk size has NULL region->cont, force fd.chunk_size to be
+       integer_zero_node.
+
+2012-02-13  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR c/52190
+       * doc/extend.texi : Fix another __atomic_compare_exchange typo.
+
+2012-02-13  Richard Guenther  <rguenther@suse.de>
+
+       PR translation/52211
+       * passes.c (enable_disable_pass): Fix typo.
+
+2012-02-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52209
+       * expr.c (expand_expr_real_2) <case BIT_NOT_EXPR>: Only expand using
+       XOR for reduce_bit_field if type is unsigned.
+
+2012-02-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): In 64-bit mode,
+       disallow changes from SFmode to mode with different size in FP regs.
+
+2012-02-12  Robert Millan  <rmh@gnu.org>
+            Gerald Pfeifer <gerald@pfeifer.com>
+
+       * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define.
+       Tweak comment.
+
+2012-02-11  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR rtl-optimization/52175
+       * reorg.c (fill_slots_from_thread): Don't apply add/sub optimization
+       to frame-related instructions.
+
+2012-02-10  Jason Merrill  <jason@redhat.com>
+
+       PR c++/51910
+       * tlink.c (demangled_hash_entry): Change mangled to a VEC.
+       (demangle_new_symbols): Fill it.
+       (scan_linker_output): Walk it.
+       (start_tweaking): Split out from scan_linker_output.
+       (maybe_tweak): Update sym->chosen.
+       * Makefile.in (COLLECT2_OBJS): Add vec.o and gcc-none.o
+
+2012-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/52132
+       * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use
+       get_true_reg.
+
+2012-02-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * compare-elim.c (find_comparisons_in_bb): Eliminate only compares
+       having the same mode as previous compare.
+
+2012-02-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (sparc_flat_expand_prologue): Use emit_use.
+       * config/sparc/sparc.md (UNSPECV_GOTO): Delete.
+       (nonlocal_goto_internal): Likewise.
+       (nonlocal_goto): Emit a use and an indirect jump directly.
+
+2012-02-10  Andrew MacLeod  <amacleod@redhat.com>
+
+       PR c/52190
+       * doc/extend.texi : Update comments for __atomic_compare_exchange and
+       __atomic_{is,always}_lock_free.
+
+2012-02-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/52146
+       * config/i386/i386.c (ix86_legitimate_address_p): Disallow
+       negative constant address for x32.
+
+2012-02-10  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION.
+       * tree-ssa-operands.c (parse_ssa_operands): Add virtual operands
+       for GIMPLE_TRANSACTION.  Tidy if's into a switch.
+
+2012-02-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+           Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/50031
+       * targhooks.c (default_builtin_vectorization_cost): Handle
+       vec_promote_demote.
+       * target.h (enum vect_cost_for_stmt): Add vec_promote_demote.
+       * tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Handle
+       all types of reduction and pattern statements.
+       (vect_estimate_min_profitable_iters): Likewise.
+       * tree-vect-stmts.c (vect_model_promotion_demotion_cost): New function.
+       (vect_get_load_cost): Use vec_perm for permutations; add dump logic
+       for explicit realigns.
+       (vectorizable_conversion): Call vect_model_promotion_demotion_cost.
+       * config/spu/spu.c (spu_builtin_vectorization_cost): Handle
+       vec_promote_demote.
+       * config/i386/i386.c (ix86_builtin_vectorization_cost): Likewise.
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Update
+       vec_perm for VSX and handle vec_promote_demote.
+
+2012-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52177
+       * builtins.c (fold_builtin_atomic_always_lock_free,
+       expand_builtin_atomic_always_lock_free,
+       fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
+       Return and/or test boolean_true_node/boolean_false_node instead of
+       integer_one_node/integer_zero_node.
+
+2012-02-10  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/48600
+       * predict.c (predict_paths_for_bb): Prevent looping.
+       (predict_paths_leading_to_edge, predict_paths_leading_to): Update.
+
+2012-02-10  Roman Zhuykov  <zhroma@ispras.ru>
+
+       * config/arm/arm.c (output_move_double): In one case properly
+       count number of instructions that will be emitted.
+
+2012-02-10  Richard Guenther  <rguenther@suse.de>
+
+       PR translation/52193
+       * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo.
+
+2012-02-09  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR middle-end/52140
+       * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P.
+
+2012-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/52165
+       * var-tracking.c (emit_note_insn_var_location): If
+       EMIT_NOTE_BEFORE_INSN and insn is NOTE_INSN_CALL_ARG_LOCATION,
+       emit it before next non-NOTE_INSN_CALL_ARG_LOCATION
+       non-NOTE_DURING_CALL_P insn.
+
+2012-02-09  Bin Cheng  <bin.cheng@arm.com>
+
+       PR middle-end/51867
+       * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P.
+
+2012-02-08  Magnus Granberg  <zorry@gentoo.org>
+
+       PR driver/48524
+       * gcc.c (switch_matches) Support switches with separated form,
+       -D and -U.
+
+2012-02-08  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.md (SREG_ADDR): Remove constant definition.
+       (SP_ADDR): Ditto.
+       (RAMPZ_ADDR): Ditto.
+       * config/avr/avr.c (avr_addr_t): New typedef.
+       (avr_addr): New struct to hold RAM address of SPL, SPH, RAMPZ, SREG.
+       (avr_init_expanders): Initialize it.
+       (expand_prologue): Use avr_addr instead of RAMPZ_ADDR, SP_ADDR,
+       SREG_ADDR.
+       (expand_epilogue): Ditto.
+       (avr_print_operand): Ditto.
+       (avr_file_start): Ditto.
+       (avr_emit_movmemhi): Ditto.
+
+2012-02-08  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46886
+       * tree-flow.h (do_while_loop_p): Declare.
+       * tree-ssa-loop-ch.c (do_while_loop_p): Export.
+       * tree-parloops.c (parallelize_loops): Only parallelize do-while loops.
+
+2012-02-08  Andrew MacLeod  <amacleod@redhat.com>
+
+       * optabs.c (expand_atomic_load): Do not assume compare_and_swap will
+       always succeed for integers larger than a native word.
+
+2012-02-08  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/52170
+       * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to
+       properly handle integer vector modes.
+
+2012-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR gcov-profile/52150
+       * coverage.c: Include target.h.
+       (build_var): Call targetm.strip_name_encoding on the assembler name.
+       Change one _ into . or $ if the target allows it.
+       * Makefile.in (coverage.o): Depend on $(TARGET_H).
+
+       PR rtl-optimization/52139
+       * cfgrtl.c (cfg_layout_merge_blocks): If BB_END
+       is a BARRIER after emit_insn_after_noloc, move BB_END
+       to the last non-BARRIER insn before it.
+
+2012-02-07  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR middle-end/24306
+       * config/mips/mips.c (mips_std_gimplify_va_arg_expr): New function.
+       (mips_gimplify_va_arg_expr): Call it instead of
+       std_gimplify_va_arg_expr.
+
+2012-02-07  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error
+       message for -mno-pointers-to-nested-function.
+
+2012-02-07  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/51994
+       * expr.c (get_inner_reference): If there is an offset, add a negative
+       bit position to it (if any).
+
+2012-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/52060
+       * combine.c (try_combine): Add i0src_copy and i0src_copy2 variables,
+       copy i1src to i1src_copy whenever added_sets_2 && i1_feeds_i2_n already
+       before i1dest -> i1src substitution in newpat, copy i0src to i0src_copy
+       and/or i0src_copy2 when needed.
+
+2012-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (main): Don't look for lto-wrapper or lto-wrapper
+       or LTOPLUGINSONAME if have_c.
+
+       * config/freebsd-spec.h: Add comment about what macros can be defined
+       in this header.
+       (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): Don't define here.
+       * config/freebsd.h (LINK_EH_SPEC, LINK_SSP_SPEC, USE_LD_AS_NEEDED): But
+       here instead.
+
+2012-02-07  Richard Guenther  <rguenther@suse.de>
+
+       * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive
+       newline in -alias dumps.
+
+2012-02-07  Kai Tietz  <ktietz@redhat.com>
+           Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/40068
+       * config/i386/winnt-cxx.c (i386_pe_adjust_class_at_definition):
+       Take care that typinfo gets dllexport-attribute.
+
+2012-02-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/52074
+       * expr.c (expand_expr_addr_expr_1): For CONSTANT_CLASS_P or CONST_DECL
+       if modifier < EXPAND_SUM call force_operand on the result.
+
+2012-02-07  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * config/epiphany/epiphany.h (ASM_DECLARE_FUNCTION_SIZE): Redefine,
+       adding __forwarder_dst__ prefix if a forwarder_section attribute is
+       present.
+       (epiphany_function_type): Replace types for specific interrupts with
+       EPIPHANY_FUNCTION_INTERRUPT.
+       (EPIPHANY_INTERRUPT_P): Update.
+       * config/epiphany/epiphany.c (epiphany_handle_forwarder_attribute):
+       New static function.
+       (epiphany_attribute_table) <interrupt>: min_len is 0, max_len is 9.
+       <disinterrupt>: Affects type identity.
+       (epiphany_handle_interrupt_attribute): Handle variable number of
+       arguments.
+       (epiphany_compute_function_type): Update for new
+       epiphany_function_type definition.
+       (epiphany_expand_prologue): Don't save (reg:DI GPR_0) for interrupt
+       handlers with a longcall forwarder.
+       (epiphany_start_function): Handle multiple interrupt arguments and/or
+       forwarder_section attribute.
+
+       * config/epiphany/epiphany.h (LIB_SPEC): Link libc again after
+       libgloss.
+
+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  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
 
-       config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true
-       condition.
+       * config/arm/thumb2.md (thumb2_mov_notscc): Use MVN for true condition.
 
 2012-01-31  Jakub Jelinek  <jakub@redhat.com>
 
 
 2012-01-29  Uros Bizjak  <ubizjak@gmail.com>
 
-       * config/alpha/alpha.c (alpha_option_overrride): Default to
+       * config/alpha/alpha.c (alpha_option_override): Default to
        full IEEE compliance mode for Go language.
 
 2011-01-29  Tijl Coosemans  <tijl@coosemans.org>