X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=0fc9120318b1efc16e9bee3ef17c6c26e48ac68e;hp=26beb117439ae9b967721ba34aec3bc4ca1a9de5;hb=0ffa2e92c9951e5601019804f46338edb4da3d03;hpb=ddee24bb52316286952bdfe9931038623abc7def diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 26beb117439..0fc9120318b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,495 @@ +2012-02-14 Richard Guenther + + PR lto/52178 + * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers): + Do not stream DECL_QUALIFIER. + * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Likewise. + * tree.c (free_lang_data_in_decl): Free DECL_QUALIFIER. + (find_decls_types_r): Do not walk DECL_QUALIFIER. + +2012-02-14 Jakub Jelinek + + PR c/52181 + * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to + newdecl. + +2012-02-13 Jakub Jelinek + + 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 + + PR middle-end/52214 + * predict.c (predict_paths_for_bb): Fix thinko in prevoius patch. + +2012-02-13 Eric Botcazou + + * 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 + + * 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 + + PR c/52190 + * doc/extend.texi : Fix another __atomic_compare_exchange typo. + +2012-02-13 Richard Guenther + + PR translation/52211 + * passes.c (enable_disable_pass): Fix typo. + +2012-02-13 Jakub Jelinek + + PR middle-end/52209 + * expr.c (expand_expr_real_2) : Only expand using + XOR for reduce_bit_field if type is unsigned. + +2012-02-12 Eric Botcazou + + * 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 + Gerald Pfeifer + + * ginclude/stddef.h [__FreeBSD_kernel__] (__size_t): Do not define. + Tweak comment. + +2012-02-11 Richard Sandiford + + 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 + + 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 + + PR debug/52132 + * reg-stack.c (subst_stack_regs_in_debug_insn): Don't use + get_true_reg. + +2012-02-11 Uros Bizjak + + * compare-elim.c (find_comparisons_in_bb): Eliminate only compares + having the same mode as previous compare. + +2012-02-10 Eric Botcazou + + * 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 + + PR c/52190 + * doc/extend.texi : Update comments for __atomic_compare_exchange and + __atomic_{is,always}_lock_free. + +2012-02-10 Uros Bizjak + + PR target/52146 + * config/i386/i386.c (ix86_legitimate_address_p): Disallow + negative constant address for x32. + +2012-02-10 Richard Henderson + + * 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 + Ira Rosen + + 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 + + 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 + + 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 + + * config/arm/arm.c (output_move_double): In one case properly + count number of instructions that will be emitted. + +2012-02-10 Richard Guenther + + PR translation/52193 + * cgraphunit.c (cgraph_mark_functions_to_output): Fix typo. + +2012-02-09 Peter Bergner + + PR middle-end/52140 + * dojump.c (do_compare_rtx_and_jump): Use SCALAR_FLOAT_MODE_P. + +2012-02-09 Jakub Jelinek + + 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 + + PR middle-end/51867 + * builtins.c (expand_builtin): Don't check DECL_ASSEMBLER_NAME_SET_P. + +2012-02-08 Magnus Granberg + + PR driver/48524 + * gcc.c (switch_matches) Support switches with separated form, + -D and -U. + +2012-02-08 Georg-Johann Lay + + * 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 + + 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 + + * 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 + + PR rtl-optimization/52170 + * simplify-rtx.c (simplify_plus_minus): Use CONSTM1_RTX to + properly handle integer vector modes. + +2012-02-08 Jakub Jelinek + + 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 + + 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 + + * config/rs6000/rs6000.c (rs6000_trampoline_init): Fix error + message for -mno-pointers-to-nested-function. + +2012-02-07 Eric Botcazou + + 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 + + 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 + + * 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 + + * gimple-pretty-print.c (dump_gimple_phi): Avoid excessive + newline in -alias dumps. + +2012-02-07 Kai Tietz + Dave Korn + + 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 + + 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 + + * 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) : min_len is 0, max_len is 9. + : 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 + + PR target/52107 + * config/rs6000/rs6000.c (rs6000_emit_move): Don't create DImode + subregs of TFmode. + +2012-02-06 Bill Schmidt + + 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 + + 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 + + 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 + + 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 + + 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 + + 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 + + * 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 + + * 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 + + 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 + + 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 + Zdenek Dvorak + + 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 + + PR middle-end/47982 + PR middle-end/43967 + * doc/libgcc.texi (__udivmoddi4/__udivmodti4): Fix documentation typo. + +2012-02-02 Jakub Jelinek + + PR middle-end/48071 + * diagnostic.c (diagnostic_finish): Remove trailing newlines. + +2012-02-02 Vladimir Makarov + + 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 + + * config/mips/mips-dspr2.md (mips_prepend): Mask operand 3 rather + than operand 2. + +2012-02-02 Jan Hubicka + Tom de Vries + + PR middle-end/51998 + * cgraphunit.c (cgraph_analyze_function): Break cyclic aliases. + * varpool.c (varpool_analyze_pending_decls): Likewise. + +2012-02-02 Sumanth G + Jayant R Sonar + + * 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 + 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. @@ -48,8 +538,7 @@ 2012-01-31 Matthew Gretton-Dann - 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 @@ -149,7 +638,7 @@ 2012-01-29 Uros Bizjak - * 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