OSDN Git Service

Use @smallexample instead of @quotation in cppopts.texi
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 81d4f99..5ec343a 100644 (file)
+2011-10-20  Dodji Seketeli  <dodji@redhat.com>
+
+       PR other/50659
+       * doc/cppopts.texi: Use @smallexample/@end smallexample in
+       documentation for -fdebug-cpp instead of @quotation/@end quotation
+       that is not supported by contrib/texi2pod.pl.
+
+2011-10-19  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (inline_small_functions): Always update all calles after
+       inlining.
+
+2011-10-19  Jan Hubicka  <jh@suse.cz>
+
+       PR bootstrap/50709
+       * ipa-inline.c (inline_small_functions): Fix checking code to not make
+       effect on fibheap stability.
+
+2011-10-20  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
+
+2011-10-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       PR target/50106
+       * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
+       reg size from 1-3.
+
+2011-10-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
+       and rotates to the set of expensive operations.
+
+2011-10-19  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sparc.c (sparc_expand_move): Use
+       can_create_pseudo_p.
+       (sparc_emit_set_const32): Likewise.
+       (sparc_emit_set_const64_longway): Likewise.
+       (sparc_emit_set_const64): Likewise.
+       (sparc_legitimize_pic_address): Likewise.
+       (memory_ok_for_ldd): Likewise.
+
+2011-10-20  Dehao Chen  <dehao@google.com>
+
+       * profile.c (compute_branch_probabilities): Compute and dump the
+       overlap between the static estimation and the instrumentation profile.
+       (OVERLAP_BASE): New macro.
+       (compute_frequency_overlap): New function
+
+2011-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use
+       d->op1 instead of d->op0 for the second vpshufb.
+       (expand_vec_perm_even_odd_1): For V8SImode fix vpshufd immediates.
+       (ix86_expand_vec_perm_const): If mask indicates two operands are
+       needed, but both are the same and expanding them as d.op0 == d.op1
+       failed, retry with d.op0 != d.op1.
+       (ix86_expand_vec_perm_builtin): Likewise.  Handle sorry printing
+       also for d.nelt == 32.
+
+       PR middle-end/50754
+       * cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
+       VEC_PERM_EXPR.
+
+2011-10-19  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * regrename.h: New file.
+       * regrename.c: Include it.  Also include "emit-rtl.h".
+       (struct du_head, struct du_chain, du_head_p DEF_VEC and
+       DEF_VEC_ALLOC_P): Move to regrename.h.
+       (do_replace): Remove declaration.
+       (insn_rr): New variable.
+       (cur_operand): New static variable.
+       (regrename_chain_from_id): Renamed from chain_from_id and no longer
+       static.  All callers changed.
+       (record_operand_use): New static function.
+       (scan_rtx_reg): Use it.
+       (find_best_rename_reg): New function, broken out of rename_chains.
+       (rename_chains): Use it.  Don't update chain regno and nregs here, ...
+       (regrename_do_replace): ... do it here instead.  Renamed from
+       do_replace, and no longer static.  All callers changed.
+       (regrename_analyze): No longer static.  New arg bb_mask.
+       All callers changed.  If bb_mask is nonzero, use it to limit the
+       number of basic blocks we analyze.  If we failed to analyze a block,
+       clear insn operand data.
+       (record_out_operands): New arg insn_info.  Update cur_operand if it is
+       nonnull.
+       (build_def_use): If insn_rr is nonnull, pass an insn_info to
+       record_out_operands, and update cur_operand here as well.
+       (regrename_init, regrename_finish): New functions.
+       (regrename_optimize): Use them.
+       * Makefile.in (regrename.o): Adjust dependencies.
+
+2011-10-19  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/50769
+       * tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2
+       unconditionally.  Handle case that phi_vuse2 is not an SSA_NAME.  Add
+       dummy argument .MEM to phi when increasing number of arguments of phi by
+       redirecting edges to the block with phi.
+
+2011-10-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/50777
+       * configure.ac: Save and restore CXXFLAGS around
+       gcc_AC_CHECK_DECLS uses.
+       Check for madvise() declaration with g++ if --enable-build-with-cxx.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE.
+
+2011-10-19  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/49310
+       * var-tracking.c (loc_exp_dep, onepart_aux): New structs.
+       (variable_part): Replace offset with union.
+       (enum onepart_enum, onepart_enum_t): New.
+       (variable_def): Drop cur_loc_changed, add onepart.
+       (value_chain_def, const_value_chain): Remove.
+       (VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking.
+       (VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros.
+       (VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise.
+       (value_chain_pool, value_chains): Remove.
+       (dropped_values): New.
+       (struct parm_reg): Only if HAVE_window_save.
+       (vt_stack_adjustments): Don't record register arguments.
+       (dv_as_rtx): New.
+       (dv_onepart_p): Return a onepart_enum_t.
+       (onepart_pool): New.
+       (dv_pool): Remove.
+       (dv_from_rtx): New.
+       (variable_htab_free): Release onepart aux data.  Reset flags.
+       (value_chain_htab_hash, value_chain_htab_eq): Remove.
+       (unshare_variable): Use onepart field.  Propagate onepart aux
+       data or offset.  Drop cur_loc_changed.
+       (val_store): Cope with NULL insn.  Rephrase dump output.  Check
+       for unsuitable locs.  Add FIXME on using cselib locs.
+       (val_reset): Remove FIXME of unfounded concerns.
+       (val_resolve): Check for unsuitable locs.  Add FIXME on using
+       cselib locs.
+       (variable_union): Use onepart field, adjust access to offset.
+       (NO_LOC_P): New.
+       (VALUE_CHANGED, DECL_CHANGED): Update doc.
+       (set_dv_changed): Clear NO_LOC_P when changed.
+       (find_loc_in_1pdv): Use onepart field.
+       (intersect_loc_chains): Likewise.
+       (unsuitable_loc): New.
+       (loc_cmp): Keep ENTRY_VALUEs at the end of the loc list.
+       (add_value_chain, add_value_chains): Remove.
+       (add_cselib_value_chains, remove_value_chain): Likewise.
+       (remove_value_chains, remove_cselib_value_chains): Likewise.
+       (canonicalize_loc_order_check): Use onepart.  Drop cur_loc_changed.
+       (canonicalize_values_star, canonicalize_vars_star): Use onepart.
+       (variable_merge_over_cur): Likewise.  Adjust access to offset.
+       Drop cur_loc_changed.
+       (variable_merge_over_src): Use onepart field.
+       (remove_duplicate_values): Likewise.
+       (variable_post_merge_new_vals): Likewise.
+       (find_mem_expr_in_1pdv): Likewise.
+       (dataflow_set_preserve_mem_locs): Likewise.  Drop cur_loc_changed
+       and value chains.
+       (dataflow_set_remove_mem_locs): Likewise.  Use VAR_LOC_FROM.
+       (variable_different_p): Use onepart field.  Move onepart test out
+       of the loop.
+       (argument_reg_set): Drop.
+       (add_uses, add_stores): Preserve but do not record in dynamic
+       tables equivalences for ENTRY_VALUEs and CFA_based addresses.
+       Avoid unsuitable address expressions.
+       (EXPR_DEPTH): Unlimit.
+       (EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH.
+       (prepare_call_arguments): Use DECL_RTL_IF_SET.
+       (dump_var): Adjust access to offset.
+       (variable_from_dropped, recover_dropped_1paux): New.
+       (variable_was_changed): Drop cur_loc_changed.  Use onepart.
+       Preserve onepart aux in empty_var.  Recover empty_var and onepart
+       aux from dropped_values.
+       (find_variable_location_part): Special-case onepart.  Adjust
+       access to offset.
+       (set_slot_part): Use onepart.  Drop cur_loc_changed.  Adjust
+       access to offset.  Initialize onepaux.  Drop value chains.
+       (delete_slot_part): Drop value chains.  Use VAR_LOC_FROM.
+       (VEC (variable, heap), VEC (rtx, stack)): Define.
+       (expand_loc_callback_data): Drop dummy, cur_loc_changed,
+       ignore_cur_loc.  Add expanding, pending, depth.
+       (loc_exp_dep_alloc, loc_exp_dep_clear): New.
+       (loc_exp_dep_insert, loc_exp_dep_set): New.
+       (notify_dependents_of_resolved_value): New.
+       (update_depth, vt_expand_var_loc_chain): New.
+       (vt_expand_loc_callback): Revamped.
+       (resolve_expansions_pending_recursion): New.
+       (INIT_ELCD, FINI_ELCD): New.
+       (vt_expand_loc): Use the new macros above.  Drop ignore_cur_loc
+       parameter, adjust all callers.
+       (vt_expand_loc_dummy): Drop.
+       (vt_expand_1pvar): New.
+       (emit_note_insn_var_location): Operate on non-debug decls only.
+       Revamp multi-part cur_loc recomputation and one-part expansion.
+       Drop cur_loc_changed.  Adjust access to offset.
+       (VEC (variable, heap)): Drop.
+       (changed_variables_stack, changed_values_stack): Drop.
+       (check_changed_vars_0, check_changed_vars_1): Remove.
+       (check_changed_vars_2, check_changed_vars_3): Remove.
+       (values_to_stack, remove_value_from_changed_variables): New.
+       (notify_dependents_of_changed_value, process_changed_values): New.
+       (emit_notes_for_changes): Revamp onepart updates.
+       (emit_notes_for_differences_1): Use onepart.  Drop cur_loc_changed
+       and value chains.  Propagate onepaux.  Recover empty_var and onepaux
+       from dropped_values.
+       (emit_notes_for_differences_2): Drop value chains.
+       (emit_notes_in_bb): Adjust.
+       (vt_emit_notes): Drop value chains, changed_variables_stack.
+       Initialize and release dropped_values.
+       (create_entry_value): Revamp.
+       (vt_add_function_parameter): Use new interface.
+       (note_register_arguments): Remove.
+       (vt_initialize): Drop value chains and register arguments.
+       (vt_finalize): Drop value chains.  Release windowed_parm_regs only
+       if HAVE_window_save.
+       * rtl.h: Document various pass-local uses of RTL flags.
+       * tree.h (DECL_RTL_KNOWN_SET): New.
+       * doc/invoke.texi (param max-vartrack-expr-depth): Update
+       description and default.
+
+2011-10-19  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/50447
+       * config/avr/avr.md (cc): New alternative out_plus_noclobber.
+       (adjust_len): Ditto.
+       (addhi3): Don't pipe through short; use gen_int_mode instead.
+       Prior to reload, expand to gen_addhi3_clobber.
+       (*addhi3): Use avr_out_plus_noclobber if applicable, use
+       out_plus_noclobber in cc and adjust_len attribute.
+       (addhi3_clobber): 2 new RTL peepholes.
+       (addhi3_clobber): New insn.
+       * config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype.
+       * config/avr/avr.c (avr_out_plus_noclobber): New function.
+       (notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER.
+       (avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0.
+       Set cc0 to set_zn for adiw on 16-bit values.
+       (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER.
+       (expand_epilogue): No need to add 0 to frame_pointer_rtx.
+
+2011-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50780
+       * tree-ssa-forwprop.c (forward_propagate_into_cond): Verify
+       the condition is properly gimple before using it.
+       * tree-eh (stmt_could_throw_1_p): Properly extract the
+       operation type from comparisons.
+
+2011-10-19  Roland Stigge  <stigge@antcom.de>
+
+       PR translation/48638
+       * plugin.c (add_new_plugin): Fix typo in fatal_error message.
+
+2011-10-19  Roland Stigge  <stigge@antcom.de>
+
+       PR translation/49517
+       * config/rx/rx.c (rx_print_operand): Fix typo in warning message.
+
+2011-10-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50768
+       * gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.
+
+2011-10-19  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/50340
+       * sel-sched-ir.c (update_target_availability): LHS register
+       availability is not known if the unavailable LHS of the other
+       expression is a different register.
+
+2011-10-19  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       PR target/50310
+       * config/spu/spu.c (spu_emit_vector_compare): Support unordered
+       floating-point comparisons.
+
+2011-10-19  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (handle_alias_pairs): Also handle wekref with destination
+       declared.
+       (output_weakrefs): New function.
+       * varpool.c (varpool_create_variable_alias): Handle external aliases.
+
+2011-10-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
+       second argument instead of mode.
+
+2011-10-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_vec_perm): In merge_two use
+       mode SUBREG of operands[0] as target.
+       (valid_perm_using_mode_p): Don't ignore higher bits of d->perm.
+       (expand_vec_pshufb): For V8SImode vmode emit avx2_permvarv8si.
+       (expand_vec_perm_1): Handle identity and some broadcast
+       permutations.
+       (expand_vec_perm_interleave2): Handle also 32-byte modes, using
+       vperm2[fi]128 or vpunpck[lh]* followed by single insn permutation.
+       For d->testing_p return true earlier to avoid creating more GC
+       garbage.
+       (expand_vec_perm_vpermq_perm_1): New function.
+       (expand_vec_perm_vpshufb2_vpermq): For d->testing_p return true
+       earlier to avoid creating more GC garbage.  Fix handling of
+       V16HImode.  Avoid some SUBREGs in SET_DEST.
+       (expand_vec_perm_broadcast_1): Return false for 32-byte integer
+       vector modes.
+       (expand_vec_perm_vpshufb4_vpermq2): New function.
+       (ix86_expand_vec_perm_builtin_1): Call expand_vec_perm_vpermq_perm_1
+       and expand_vec_perm_vpshufb4_vpermq2.
+
+2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config/arm/driver-arm.c (host_detect_local_cpu): Close the file
+       before exiting.
+
+2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       PR tree-optimization/50717
+
+       * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type'
+       parameter.  Calculate 'type' from stmt.
+       (convert_mult_to_widen): Update call the is_widening_mult_p.
+       (convert_plusminus_to_widen): Likewise.
+
+2011-10-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu.c (struct machine_function): New data structure.
+       (spu_init_machine_status): New function.
+       (spu_option_override): Install it.
+       (get_pic_reg): Set and use cfun->machine->pic_reg.
+       (spu_split_immediate): Do not set crtl->uses_pic_offset_table.
+       (need_to_save_reg): Use cfun->machine->pic_reg instead of
+       checking crtl->uses_pic_offset_table.
+       (spu_expand_prologue): Likewise.
+
+2011-10-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/50735
+       * function.c (gimplify_parameters): Use create_tmp_var instead of
+       create_tmp_reg.  If parm is not TREE_ADDRESSABLE and type is complex
+       or vector type, set DECL_GIMPLE_REG_P.
+
+2011-10-18  Andrew Stubbs  <ams@codesourcery.com>
+
+       * config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
+       * config/arm/arm.opt: Add 'native' processor_type and
+       arm_arch enum values.
+       * config/arm/arm.h (host_detect_local_cpu): New prototype.
+       (EXTRA_SPEC_FUNCTIONS): New define.
+       (MCPU_MTUNE_NATIVE_SPECS): New define.
+       (DRIVER_SELF_SPECS): New define.
+       * config/arm/driver-arm.c: New file.
+       * config/arm/x-arm: New file.
+       * doc/invoke.texi (ARM Options): Document -mcpu=native,
+       -mtune=native and -march=native.
+
+2011-10-18  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/50205
+       * sel-sched.c (count_occurrences_1): Simplify on the assumption that
+       p->x is a register.  Forbid substitution when the same register is
+       found in a different mode.
+       (count_occurrences_equiv): Assert that 'what' is a register.
+
+2011-10-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50767
+       * tree-ssa-pre.c (create_expression_by_pieces): Update the
+       folded statement.
+
+2011-10-18  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/arm.c (arm_block_move_unaligned_straight)
+       (arm_adjust_block_mem, arm_block_move_unaligned_loop)
+       (arm_movmemqi_unaligned): New.
+       (arm_gen_movmemqi): Support unaligned block copies.
+
+2011-10-18  Ira Rosen  <ira.rosen@linaro.org>
+
+       * doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
+       vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
+       * tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
+       VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+       (op_code_prio): Likewise.
+       (op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
+       * optabs.c (optab_for_tree_code): Handle
+       VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+       (init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
+       * optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
+       * genopinit.c (optabs): Initialize the new optabs.
+       * expr.c (expand_expr_real_2): Handle
+       VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+       * gimple-pretty-print.c (dump_binary_rhs): Likewise.
+       * tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
+       * tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
+       VEC_WIDEN_LSHIFT_LO_EXPR): New.
+       * cfgexpand.c (expand_debug_expr): Handle new tree codes.
+       * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
+       vect_recog_widen_shift_pattern.
+       (vect_handle_widen_mult_by_const): Rename...
+       (vect_handle_widen_op_by_const): ...to this.  Handle shifts.
+       Add a new argument, update documentation.
+       (vect_recog_widen_mult_pattern): Assume that only second
+       operand can be constant.  Update call to
+       vect_handle_widen_op_by_const.
+       (vect_recog_over_widening_pattern): Fix typo.
+       (vect_recog_widen_shift_pattern): New.
+       * tree-vect-stmts.c (vectorizable_type_promotion): Handle
+       widening shifts.
+       (supportable_widening_operation): Likewise.
+       * tree-inline.c (estimate_operator_cost): Handle new tree codes.
+       * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+       * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+       * config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
+       (vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
+       vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
+       Likewise.
+       * config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
+       New.
+       * config/arm/iterators.md (V_innermode): New.
+       * tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
+       for widening shift.
+
+2011-10-18  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.h (struct pt_solution): Remove
+       vars_contains_restrict member.
+       (pt_solutions_same_restrict_base): Remove.
+       (pt_solution_set): Adjust.
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
+       vars_contains_restrict handling.
+       (dump_points_to_solution): Likewise.
+       (ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
+       * tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
+       field.
+       (new_var_info): Do not initialize it.
+       (ipa_escaped_pt): Adjust.
+       (make_constraint_from_restrict): Make the tag global.
+       (make_constraint_from_global_restrict): New function.
+       (make_constraint_from_heapvar): Remove.
+       (create_variable_info_for): Do not make restrict vars point
+       to NONLOCAL.
+       (intra_create_variable_infos): Likewise.
+       (find_what_var_points_to): Remove vars_contains_restrict handling.
+       (pt_solution_set): Adjust.
+       (pt_solution_ior_into): Likewise.
+       (pt_solutions_same_restrict_base): Remove.
+       (compute_points_to_sets): Do not test is_restrict_var.
+       * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
+       * gimple-pretty-print.c (pp_points_to_solution): Likewise.
+
+2011-10-18  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/50672
+       * tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
+       factored out of ...
+       (mark_virtual_phi_result_for_renaming): Use
+       mark_virtual_operand_for_renaming.
+       * tree-flow.h (mark_virtual_operand_for_renaming): Declare.
+       * tree-ssa-tail-merge.c (release_last_vdef): New function.
+       (purge_bbs): Add update_vops parameter.  Call release_last_vdef for each
+       deleted basic block.
+       (tail_merge_optimize): Add argument to call to purge_bbs.
+
+2011-10-18  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/50716
+       * expr.c (get_object_or_type_alignment): New function.
+       (expand_assignment): Use it.
+       (expand_expr_real_1): Likewise.
+
+2011-10-18  Dodji Seketeli  <dodji@redhat.com>
+
+       PR bootstrap/50760
+       * input.c (dump_line_table_statistics): Use long, not size_t.
+
+2011-10-17  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.md (in_call_delay): Fix formatting issues.
+
+2011-10-17  Simon Baldwin  <simonb@google.com>
+           Ian Lance Taylor  <iant@google.com>
+
+       * configure.ac: Add --with-native-system-header-dir.  Set and
+       substitute NATIVE_SYSTEM_HEADER_DIR.  Use native_system_header
+       when setting target_header_dir.
+       * config.gcc: Always set native_system_header_dir.
+       (*-*-gnu*): Set native_system_header_dir.  Don't use t-gnu.
+       (i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir.  Don't
+       use i386/t-djgpp.
+       (i[34567]86-*-mingw* | x86_64-*-mingw*): Set
+       native_system_header_dir.
+       (spu-*-elf*): Set native_system_header_dir.
+       * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
+       @NATIVE_SYSTEM_HEADER_DIR@.
+       (PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
+       * cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
+       (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
+       STANDARD_INCLUDE_COMPONENT.
+       (cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR.  Rename
+       STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
+       * system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
+       STANDARD_INCLUDE_COMPONENT.
+       * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
+       * config/i386/t-mingw-w32: Likewise.
+       * config/i386/t-mingw-w64: Likewise.
+       * config/spu/t-spu-elf: Likewise.
+       * config/i386/t-djgpp: Remove.
+       * config/t-gnu: Remove.
+       * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
+       (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
+       STANDARD_INCLUDE_COMPONENT.
+       * config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
+       * config/spu/spu-elf.h: Likewise.
+       * config/vms/xm-vms.h: Likewise.
+       * config/gnu.h: Likewise.
+       * config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
+       and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
+       NATIVE_SYSTME_HEADER_COMPONENT.
+       * doc/install.texi (Configuration): Document
+       --with-native-system-header-dir.  Mention it in the documentation
+       for --with-sysroot and --with-build-sysroot.
+       * doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
+       STANDARD_INCLUDE_DIR.  Rename STANDARD_INCLUDE_COMPONENT to
+       NATIVE_SYSTEM_HEADER_COMPONENT.  Rename uses of
+       STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
+       * doc/fragments.texi (Target Fragment): Don't document
+       NATIVE_SYSTEM_HEADER_DIR.
+       * configure, doc/tm.texi: Rebuild.
+
+2011-10-17  Richard Henderson  <rth@redhat.com>
+
+       * config/sparc/sparc.md: Use register_or_zero_operand where rJ
+       is the constraint.
+
+       * config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
+       patterns.
+       * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
+       * config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
+
+2011-10-17  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sparc-modes.def: Add single entry vector modes for
+       DImode and SImode.
+       * config/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
+       mode iterators.
+       (mov<V32:mode>): Revert back to plain SFmode pattern.
+       (*movsf_insn): Likewise.
+       (mov<V64:mode>): Revert back to plain DFmode pattern.
+       (*movdf_insn_sp32): Likewise.
+       (*movdf_insn_sp32_v9): Likewise.
+       (*movdf_insn_sp64): Likewise.
+       (V64 mode splitters) Likewise.
+       (addsi3): Remove VIS alternatives.
+       (subsi3): Likewise.
+       (and<V64I:mode>3): Revert to DImode only pattern.
+       (and<V64I:mode>3_sp32): Likewise.
+       (*and<V64I:mode>3_sp64): Likewise.
+       (and<V32I:mode>3): Likewise.
+       (*and_not_<V64I:mode>_sp32): Likewise.
+       (*and_not_<V64I:mode>_sp64): Likewise.
+       (*and_not_<V32I:mode>): Likewise.
+       (ior<V64I:mode>3): Likewise.
+       (*ior<V64I:mode>3_sp32): Likewise.
+       (*ior<V64I:mode>3_sp64): Likewise.
+       (ior<V32I:mode>3): Likewise.
+       (*or_not_<V64I:mode>_sp32): Likewise.
+       (*or_not_<V64I:mode>_sp64): Likewise.
+       (*or_not_<V32I:mode>): Likewise.
+       (xor<V64I:mode>3): Likewise.
+       (*xor<V64I:mode>3_sp32): Likewise.
+       (*xor<V64I:mode>3_sp64): Likewise.
+       (xor<V32I:mode>3): Likewise.
+       (V64I mode splitters): Likewise.
+       (*xor_not_<V64I:mode>_sp32): Likewise.
+       (*xor_not_<V64I:mode>_sp64): Likewise.
+       (*xor_not_<V32I:mode>): Likewise.
+       (one_cmpl<V64I:mode>2): Likewise.
+       (*one_cmpl<V64I:mode>2_sp32): Likewise.
+       (*one_cmpl<V64I:mode>2_sp64): Likewise.
+       (one_cmpl<V32I:mode>2): Likewise.
+       (VM32, VM64, VMALL): New mode iterators.
+       (vbits, vconstr, vfptype): New mode attributes.
+       (mov<VMALL:mode>): New expander.
+       (*mov<VM32:mode>_insn): New insn.
+       (*mov<VM64:mode>_insn_sp64): New insn.
+       (*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
+       specifically for the register to memory case.
+       (vec_init<mode>): New expander.
+       (VADDSUB): New mode iterator.
+       (<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
+       with...
+       (<plusminus_insn><mode>3): New consolidated pattern.
+       (VL): New mode iterator for logical operations.
+       (vlsuf): New more attribute.
+       (vlop): New code iterator.
+       (vlinsn, vlninsn): New code attributes.
+       (<code><mode>3): New insn to non-negated vector logical ops.
+       (*not_<code><mode>3): Likewise for negated variants.
+       (*nand<mode>_vis): New insn.
+       (vlnotop): New code iterator.
+       (*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
+       (one_cmpl<mode>2): New insn.
+       (faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
+       (bshuffle<VM64:mode>_vis): Likewise.
+       (v<vis3_shift_patname><mode>3): Use GCM mode iterator.
+       (fp<plusminus_insn>64_vis): Use V1DI mode.
+       (VASS mode iterator): Use V1SI not SI mode.
+       * config/sparc/sparc.c (sparc_vis_init_builtins): Account for
+       single-entry vector mode changes.
+       (sparc_expand_builtin): Likewise.
+       (sparc_expand_vector_init): New function.
+       * config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.
+
+2011-10-17  Kai Tietz  <ktietz@redhat.com>
+
+       * fold-const.c (simple_operand_p_2): New function.
+       (fold_truthop): Rename to
+       (fold_truth_andor_1): function name.
+       Additionally remove branching creation for logical and/or.
+       (fold_truth_andor): Handle branching creation for logical and/or here.
+
+2011-10-17  Andi Kleen  <ak@linux.intel.com>
+
+       * ggc-page.c (USING_MADVISE): Adjust ifdef to check for USING_MMAP.
+
+2011-10-17  Georg-Johann Lay  <avr@gjlay.de>
+
+       * config/avr/avr.h (ASSEMBLER_DIALECT): Remove.
+       * config/avr/avr.md (mcu_have_movw, mcu_mega): Remove attributes.
+       (adjust_len): Add alternative "call".
+       (isa, enabled): New insn attributes.
+       (length): Use match_test with AVR_HAVE_JMP_CALL instead of
+       mcu_mega attribute.
+       (*sbrx_branch<mode>): Ditto.
+       (*sbrx_and_branch<mode>): Ditto.
+       (*sbix_branch): Ditto.
+       (*sbix_branch_bit7): Ditto.
+       (*sbix_branch_tmp): Ditto.
+       (*sbix_branch_tmp_bit7): Ditto.
+       (jump): Ditto.
+       (negsi2): Use attribute "isa" instead of assembler dialect.
+       (extendhisi2): Ditto.
+       (call_insn, call_value_insn): Set adjust_len attribute.
+       (indirect_jump): Indent to coding rules.
+       (call_prologue_saves): Use isa attribute instead of mcu_mega.
+       (epilogue_restores): Ditto.  Fix setting of SP as described in the
+       RTX pattern.
+       (*indirect_jump): Fusion of *jcindirect_jump, *njcindirect_jump
+       and *indirect_jump_avr6.
+       (*tablejump): Fusion of *tablejump_rjmp and *tablejump_lib.
+       (*jcindirect_jump, *njcindirect_jump, *indirect_jump_avr6): Remove.
+       (*tablejump_rjmp, *tablejump_lib): Remove.
+       * config/avr/avr.c (adjust_insn_length): Handle ADJUST_LEN_CALL.
+
+2011-10-17  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/50757
+       * doc/invoke.texi ([Wnonnull]): Update.
+
+2011-10-17  Richard Henderson  <rth@redhat.com>
+
+       PR 50746
+       * optabs.c (expand_vec_perm_expr): Fix indexing error.
+
+2011-10-17  Sergio Durigan Junior  <sergiodj@redhat.com>
+
+       * configure.ac: Display `yes' if the SystemTap header has been
+       found.
+       * configure: Regenerate.
+
+2011-10-08  Andi Kleen  <ak@linux.intel.com>
+
+       PR other/50636
+       * config.in, configure: Regenerate.
+       * configure.ac (madvise): Add to AC_CHECK_FUNCS.
+       * ggc-page.c (USING_MADVISE): Add.
+       (page_entry): Add discarded field.
+       (alloc_page): Check for discarded pages.
+       (release_pages): Add USING_MADVISE branch.
+
+2011-10-17  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50729
+       * tree-vrp.c (extract_range_from_unary_expr_1): Remove
+       redundant test.
+       (simplify_conversion_using_ranges): Properly test the
+       intermediate result.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * ggc.h (ggc_round_alloc_size): Declare new public entry point.
+       * ggc-none.c (ggc_round_alloc_size): New public stub function.
+       * ggc-page.c (ggc_alloced_size_order_for_request): New static
+       function.  Factorized from ggc_internal_alloc_stat.
+       (ggc_round_alloc_size): New public function.  Uses
+       ggc_alloced_size_order_for_request.
+       (ggc_internal_alloc_stat): Use ggc_alloced_size_order_for_request.
+       * ggc-zone.c (ggc_round_alloc_size): New public function extracted
+       from ggc_internal_alloc_zone_stat.
+       (ggc_internal_alloc_zone_stat): Use ggc_round_alloc_size.
+       * toplev.c (general_init): Initialize
+       line_table->alloced_size_for_request.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * input.c (ONE_K, ONE_M, SCALE, STAT_LABEL, FORMAT_AMOUNT): New
+       macros.
+       (num_expanded_macros_counter, num_macro_tokens_counter): Declare
+       new counters.
+       (dump_line_table_statistics): Define new function.
+       * input.h (dump_line_table_statistics): Declare new function.
+       * toplev.c (dump_memory_report): Call dump_line_table_statistics.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * doc/cppopts.texi: Document -fdebug-cpp.
+       * doc/invoke.texi: Add -fdebug-cpp to the list of preprocessor
+       options.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * gcc/diagnostic.h (diagnostic_report_current_module): Add a
+       location parameter.
+       * diagnostic.c (diagnostic_report_current_module): Add a location
+       parameter to the function definition.  Use it instead of
+       input_location.  Resolve the virtual location rather than just
+       looking up its map and risking to touch a resulting macro map.
+       (default_diagnostic_starter): Pass the relevant diagnostic
+       location to diagnostic_report_current_module.
+       * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): New.
+       (virt_loc_aware_diagnostic_finalizer): Likewise.
+       (diagnostic_report_current_function): Pass the
+       relevant location to diagnostic_report_current_module.
+       * tree-diagnostic.h (virt_loc_aware_diagnostic_finalizer): Declare
+       new function.
+       * toplev.c (general_init): By default, use the new
+       virt_loc_aware_diagnostic_finalizer as diagnostic finalizer.
+       * Makefile.in: Add vec.h dependency to tree-diagnostic.c.
+
+2011-10-15  Tom Tromey  <tromey@redhat.com>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * doc/cppopts.texi (-ftrack-macro-expansion): Document new option.
+       * doc/invoke.texi (-ftrack-macro-expansion): Add this to the list of
+       preprocessor related options.
+
+2011-10-15  Tom Tromey  <tromey@redhat>
+           Dodji Seketeli  <dodji@redhat.com>
+
+       * input.h (struct expanded_location): Move to libcpp/line-map.h.
+       (LOCATION_COLUMN): New accessor
+       (in_system_header_at): Use linemap_location_in_system_header_p.
+       * diagnostic.c (diagnostic_report_current_module): Adjust to avoid
+       touching the internals of struct line_map.  Use the public API.
+       instead.
+       (diagnostic_report_diagnostic): Don't use relational operator '<'
+       on virtual locations.  Use linemap_location_before_p instead.
+       * input.c (expand_location): Adjust to expand to the tokens'
+       spelling location when macro location tracking is on.
+
+
+2011-10-08  Andi Kleen  <ak@linux.intel.com>
+
+       * ggc-page.c (GGC_QUIRE_SIZE): Increase to 512
+
+2011-10-13  Andi Kleen  <ak@linux.intel.com>
+
+       * toplev.c (compile_file): Rename __gnu_slim_lto to __gnu_lto_slim.
+
+2011-10-16  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/50727
+       * tree-vect-patterns.c (vect_operation_fits_smaller_type): Add
+       DEF_STMT to the list of statements to be replaced by the
+       pattern statements.
+
+2011-10-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/50615
+       * combine.c (distribute_notes) <REG_ARGS_SIZE>: Skip if I3 is a no-op.
+
+2011-10-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/50596
+       * tree-vectorizer.h (NUM_PATTERNS): Increase to 7.
+       * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
+       vect_recog_bool_pattern.
+       (check_bool_pattern, adjust_bool_pattern_cast,
+       adjust_bool_pattern, vect_recog_bool_pattern): New functions.
+
+2011-10-16  Ira Rosen  <ira.rosen@linaro.org>
+
+       * tree-vect-stmts.c (vectorizable_load): For SLP without permutation
+       treat the first load of the node as the first element in its
+       interleaving chain.
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap the operands if
+       necessary and possible.
+       (vect_build_slp_tree): Add new argument.  Allow load groups of any size
+       in basic blocks.  Keep all the loads for further permutation check.
+       Use the new argument to determine if there is a permutation.  Update
+       the recursive calls.
+       (vect_supported_load_permutation_p): Allow subchains of interleaving
+       chains in basic block vectorization.
+       (vect_analyze_slp_instance): Update the call to vect_build_slp_tree.
+       Check load permutation based on the new parameter.
+       (vect_schedule_slp_instance): Don't start from the first element in
+       interleaving chain unless the loads are permuted.
+
+2011-10-15  Jan Hubicka  <jh@suse.cz>
+
+       PR target/48668
+       PR target/50689
+       * cgraphunit.c (cgraph_expand_function): Expand thunks and alises
+       after function body.
+
+2011-10-15  Richard Henderson  <rth@redhat.com>
+
+       * tree-vect-slp.c: Include langhooks.h.
+       (vect_create_mask_and_perm): Emit VEC_PERM_EXPR, not a builtin.
+       (vect_transform_slp_perm_load): Use can_vec_perm_expr_p.  Simplify
+       mask creation for VEC_PERM_EXPR.
+       * tree-vect-stmts.c (perm_mask_for_reverse): Return the mask,
+       not the builtin.
+       (reverse_vec_elements): Emit VEC_PERM_EXPR not a builtin.
+       * Makefile.in (tree-vect-slp.o): Update dependency.
+       * optabs.c (can_vec_perm_expr_p): Allow NULL as unknown constant.
+
+2011-10-15  Alan Modra  <amodra@gmail.com>
+
+       PR bootstrap/50738
+       * ifcvt.c (dead_or_predicable): Revert accidental commit with
+       HAVE_simple_return test.
+
+2011-10-15  Alan Modra  <amodra@gmail.com>
+
+       * ifcvt.c (dead_or_predicable): Disable if-conversion when
+       doing so is likely to kill a shrink-wrapping opportunity.
+
+       PR rtl-optimization/49941
+       * jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps.
+
+       * rtl.h (set_return_jump_label): Declare.
+       * function.c (set_return_jump_label): New function, extracted..
+       (thread_prologue_and_epilogue_insns): ..from here.  Use it in
+       another instance to set return jump_label.
+       * cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label.
+       * reorg.c (find_end_label): Likewise.
+
+2011-10-14  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sol2.h: Protect -m{cpu,tune}=native handling
+       with a more complete cpp test.
+       * config/sparc/linux64.h: Likewise.
+       * config/sparc/linux.h: Likewise.
+       * config/sparc/sparc.opt (sparc_debug): New target variable.
+       (mdebug): New target option.
+       * config/sparc/sparc.h (MASK_DEBUG_OPTIONS, MASK_DEBUG_ALL,
+       TARGET_DEBUG_OPTIONS): New defines.
+       * config/sparc/sparc.c (debug_target_flag_bits,
+       debug_target_flags): New functions.
+       (sparc_option_override): Add name strings back to cpu_table[].
+       Parse -mdebug string.  When TARGET_DEBUG_OPTIONS is true, print
+       out the target flags before and after override processing as well
+       as the selected cpu.  If MASK_V8PLUS, make sure that the selected
+       cpu is at least v9.
+
+2011-10-15  Oleg Endo  <oleg.endo@t-online.de>
+
+       PR target/49263
+       * config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro.
+       * config/sh/sh.c (sh_rtx_costs): Add test instruction case.
+       * config/sh/sh.md (tstsi_t): Name existing insn.  Make inner
+       and instruction commutative.
+       (tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not,
+       tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor,
+       tstsi_t_zero_extract_subreg_xor_little,
+       tstsi_t_zero_extract_subreg_xor_big): New insns.
+       (*movsicc_t_false, *movsicc_t_true): Replace space with tab in
+       asm output.
+       (*andsi_compact): Reorder alternatives so that K08 is considered first.
+
+2011-10-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/50354
+       * config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default
+       processor is at least V9 and TARGET_64BIT_DEFAULT is defined.
+
+2011-10-14  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * invoke.texi (AVR Options): Avoid \leq{}.
+
+2011-10-14  Kai Tietz  <ktietz@redhat.com>
+
+       * gimplify.c (gimplify_expr): Take care that for bitwise-binary
+       transformation the operands have compatible types.
+
+2011-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (vec_widen_smult_hi_v8hi,
+       vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
+       vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
+       mode iterator and any_extend code iterator.
+       (vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New expanders.
+       (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
+       also for TARGET_SSE4_1 using pmuldq insn.
+       (sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
+       (sse2_sse4_1): New code attr.
+       (udot_prodv4si): Macroize using any_extend code iterator.
+       (<s>dot_prodv8si): New expander.
+
+2011-10-14  Yakovlev Vladimir  <vladimir.b.yakovlev@intel.com>
+
+       * config/i386/i386.c (atom_cost): Changed cost for loading
+       QImode using movzbl.
+
+2011-10-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my
+       change on October 11th, 2011.
+
+2011-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (vec_interleave_high<mode>,
+       vec_interleave_low<mode>): Add AVX2 expanders for VI_256 modes.
+       * config/i386/i386.c (expand_vec_perm_interleave3): New function.
+       (ix86_expand_vec_perm_builtin_1): Call it.
+
+2011-10-14  Georg-Johann Lay  <avr@gjlay.de>
+
+       Fix thinko from r179765
+       * config/avr/avr.c (avr_option_override): Don't override
+       flag_omit_frame_pointer if not actually needed.
+
+2011-10-14  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR target/46278
+       * doc/invoke.texi (AVR Options): Document -mstrict-X.
+
+       * config/avr/avr.opt (-mstrict-X): New option.
+       (avr_strict_X): New variable reflecting -mstrict-X.
+       * config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
+       outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
+       (avr_legitimate_address_p): Pass outer_code to
+       avr_reg_ok_for_addr_p and use that function in case PLUS.
+       (avr_mode_code_base_reg_class): Depend on avr_strict_X.
+       (avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
+       (avr_option_override): Disable -fcaller-saves if -mstrict-X is on.
+
+2011-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
+       of VI_128.
+
+       * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 iterator.
+       (ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
+       Use <sseinsnmode> instead of TI in mode attr.
+
+2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>
+
+       * config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
+       * config/arm/linux-atomic.c: Change comment to point to 64bit version.
+       (SYNC_LOCK_RELEASE): Instantiate 64bit version.
+       * config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.
+
+2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>
+
+       * config/arm/arm.c (arm_output_ldrex): Support ldrexd.
+       (arm_output_strex): Support strexd.
+       (arm_output_it): New helper to output it in Thumb2 mode only.
+       (arm_output_sync_loop): Support DI mode.  Change comment to
+       not support const_int.
+       (arm_expand_sync): Support DI mode.
+       * config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
+       and LDREXD.
+       * config/arm/iterators.md (NARROW): move from sync.md.
+       (QHSD): New iterator for all current ARM integer modes.
+       (SIDI): New iterator for SI and DI modes only.
+       * config/arm/sync.md (sync_predtab): New mode_attr.
+       (sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
+       (sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
+       (sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
+       (sync_nandsi): Fold into sync_nand<mode>.
+       (sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
+       (sync_new_nandsi): Fold into sync_new_nand<mode>.
+       (sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
+       (sync_old_nandsi): Fold into sync_old_nand<mode>.
+       (sync_compare_and_swap<mode>): Support SI & DI.
+       (sync_lock_test_and_set<mode>): Likewise.
+       (sync_<sync_optab><mode>): Likewise.
+       (sync_nand<mode>): Likewise.
+       (sync_new_<sync_optab><mode>): Likewise.
+       (sync_new_nand<mode>): Likewise.
+       (sync_old_<sync_optab><mode>): Likewise.
+       (sync_old_nand<mode>): Likewise.
+       (arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
+       (arm_sync_lock_test_and_setsi): Likewise.
+       (arm_sync_new_<sync_optab>si): Likewise.
+       (arm_sync_new_nandsi): Likewise.
+       (arm_sync_old_<sync_optab>si): Likewise.
+       (arm_sync_old_nandsi): Likewise.
+       (arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
+       (arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
+       (arm_sync_new_<sync_optab><mode> NARROW): Likewise.
+       (arm_sync_new_nand<mode> NARROW): Likewise.
+       (arm_sync_old_<sync_optab><mode> NARROW): Likewise.
+       (arm_sync_old_nand<mode> NARROW): Likewise.
+
+2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>
+
+       PR target/48126
+       * config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
+
+2011-10-14  David Alan Gilbert  <david.gilbert@linaro.org>
+
+       * config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
+
+2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * doc/invoke.texi ([Wformat-zero-length]): Tidy.
+
+2011-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also
+       on COND_EXPR/VEC_COND_EXPR comparison operands if they are ADDR_EXPRs.
+
+2011-10-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/50723
+       * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
+
+2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * gengtype.c (files_rules): Added rules for objc/objc-map.h and
+       objc/objc-map.c.
+
+2011-10-14  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       PR c++/17212
+       * doc/invoke.texi ([Wformat-zero-length]): Update.
+
+2011-10-14  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR bootstrap/50699
+       * config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
+       build for powerpc targets.  (darwin_patch_builtins): Only build for
+       powerpc targets.
+
+2011-10-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
+       (avx_cvtdq2pd256_2): ... this.
+       (sseunpackfltmode): New mode attr.
+       (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
+       vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
+       using VI2_AVX2 iterator.
+       (vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New expanders.
+
+2011-10-13  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sparc.md (plusminus): New code iterator.
+       (plusminus_insn): New code attr.
+       (addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
+       using plusminus and plusminus_insn.
+       (fpadd64_vis, fpsub64_vis): Likewise.
+
+2011-10-13  Richard Henderson  <rth@redhat.com>
+
+       * doc/md.texi (vec_perm): Document fallback to byte permutation.
+       * genopinit.c (optabs): Add vec_perm_const.
+       * optabs.c (can_vec_perm_expr_p): Rename from expand_vec_perm_expr_p.
+       Reject non-vector modes.  Allow fallback to byte permutation.
+       (expand_vec_perm_expr_1): Split out from ...
+       (expand_vec_perm_expr): ... here.  Allow fallback to byte permutation.
+       * optabs.h (DOI_vec_perm_const, vec_perm_const_optab): New.
+       * tree-vect-generic.c (lower_vec_perm): Update for name change.
+
 2011-10-13  Richard Henderson  <rth@redhat.com>
 
        * config/rs6000/altivec.md (vec_permv16qi): New pattern.
        * config/i386/sse.md (VEC_PERM_CONST): New mode iterator.
        (vec_perm_const<VEC_PERM_CONST>): New expander.
 
+       * optabs.c (expand_vector_broadcast): New.
+       (expand_binop): Expand scalar shifts of vectors to vector shifts
+       of vectors, if the former isn't supported.
+       * tree-vect-generic.c (expand_vector_operations_1): Don't do that
+       here; always simplify to scalar shift of vector if possible.
+
+       * config/rs6000/rs6000.c (rs6000_expand_vector_init): Fix mode
+       test for vector splat.
+
 2011-10-13  Jakub Jelinek  <jakub@redhat.com>
 
-       * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode
-       to V.
+       * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode to V.
 
 2011-10-13  Jakub Jelinek  <jakub@redhat.com>
            Richard Guenther  <rguenther@suse.de>
 
-       * tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE
-       from vector or complex vars even if their DECL_UID is in not_reg_needs
-       bitmap.
+       * tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector
+       or complex vars even if their DECL_UID is in not_reg_needs bitmap.
 
 2011-10-13  Jakub Jelinek  <jakub@redhat.com>
 
        (ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
        Use emit_reduc_half helper function.
 
-2011-10-13   Lawrence Crowl  <crowl@google.com>
-            Diego Novillo  <dnovillo@google.com>
+2011-10-13  Lawrence Crowl  <crowl@google.com>
+           Diego Novillo  <dnovillo@google.com>
 
        * lto-streamer-in.c (input_struct_function_base): Factor out of ...
        (input_function): ... here.
        * lto-streamer-out.c (lto_output_location): Use
        streamer_hooks.output_location, if set.
 
+2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * doc/invoke.texi (SPARC options): Document -mfix-at697f.
+       * config/sparc/sparc.opt (mfix-at697f): New option.
+       * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+       (sparc_reorg): New function.
+
 2011-10-13  Richard Guenther  <rguenther@suse.de>
 
        PR tree-optimization/50712
        (fmul8x16_vis, fmul8x16au_vis, fmul8sux16_vis, fmuld8sux16_vis):
        Reimplement as unspecs and remove inaccurate comments.
        (vis3_shift_patname): New code attr.
-       (<vis3_shift_insn><vbits>_vis): Rename to "v<vis3_shift_patname><mode>3".
+       (<vis3_shift_insn><vbits>_vis): Rename to
+       "v<vis3_shift_patname><mode>3".
        (vis3_addsub_ss_patname): New code attr.
        (<vis3_addsub_ss_insn><vbits>_vis): Rename to
        "<vis3_addsub_ss_patname><mode>3".
 
        * config/i386/sse.md (vec_unpacks_lo_<mode>,
        vec_unpacks_hi_<mode>, vec_unpacku_lo_<mode>,
-       vec_unpacku_hi_<mode>): Change VI124_128 mode to
-       VI124_AVX2.
+       vec_unpacku_hi_<mode>): Change VI124_128 mode to VI124_AVX2.
        * config/i386/i386.c (ix86_expand_sse_unpack): Handle
        V32QImode, V16HImode and V8SImode for TARGET_AVX2.
 
        * config/i386/sse.md (vec_avx2): New mode_attr.
-       (mulv16qi3): Macroize to cover also mulv32qi3 for
-       TARGET_AVX2 into ...
+       (mulv16qi3): Macroize to cover also mulv32qi3 for TARGET_AVX2 into ...
        (mul<mode>3): ... this.
 
        * config/i386/i386.md (UNSPEC_VPERMDI): Remove.
 
 2011-10-12  Kai Tietz  <ktietz@redhat.com>
 
-       * config/i386/i386.md (simple_return): Disable
-       if TARGET_SEH is active.
+       * config/i386/i386.md (simple_return): Disable if TARGET_SEH is active.
 
 2011-10-12  Steve Ellcey  <sje@cup.hp.com>
 
 
 2011-10-11  Georg-Johann Lay  <avr@gjlay.de>
 
-       * config/avr/avr-protos.h (avr_mode_code_base_reg_class): New prototype.
+       * config/avr/avr-protos.h (avr_mode_code_base_reg_class): New
+       prototype.
        (avr_regno_mode_code_ok_for_base_p): New prototype.
        * config/avr/avr.h (BASE_REG_CLASS): Remove.
        (REGNO_OK_FOR_BASE_P): Remove.
        (get_continuation_for_phi): ... here.  Handle arbitrary number
        of PHI args.
 
-2011-10-11  Paolo Carlini  <paolo.carlini@oracle.com>
-
-       PR c++/33067
-       * c-family/c-pretty-print.c (pp_c_floating_constant): Output
-       max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
-
 2011-10-11  Richard Sandiford  <richard.sandiford@linaro.org>
 
        * modulo-sched.c: Fix comment typo.  Mention the possibility
 2011-10-10  Georg-Johann Lay  <avr@gjlay.de>
 
        * config/avr/avr.c (avr_option_override): Set
-       flag_omit_frame_pointer to 0 if frame pointer is needed for
-       unwinding.
+       flag_omit_frame_pointer to 0 if frame pointer is needed for unwinding.
 
 2011-10-10  Uros Bizjak  <ubizjak@gmail.com>
 
        (get_sched_window): Adjust for above field and SCHED_* macro changes.
        Use NODE_ASAP instead of SCHED_ASAP.
        (try_scheduling_node_in_cycle): Remove node parameter.  Update
-       call to ps_add_node_check_conflicts.  Pass ids to the SCHED_*
-       macros.
+       call to ps_add_node_check_conflicts.  Pass ids to the SCHED_* macros.
        (sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
        (ps_insert_empty_row): Adjust for above field changes.
        (compute_split_row): Use ids rather than nodes.
 
 2011-04-29  Jan Hubicka  <jh@suse.cz>
 
-       * gcc.dg/tree-ssa/inline-10.c: New testcase.
-       * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
        * ipa-inline.h (clause_t): Turn into unsigned int.
        * ipa-inline-analysis.c (add_clause): Do more simplification.
        (and_predicates): Shortcut more cases.
        * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
        va_end.
        * c-family/c-common.c (def_fn_type): Likewise.
-       * ada/gcc-interface/utils.c (def_fn_type): Likewise.
        * emit-rtl.c (gen_rtvec): Likewise.
        * lto/lto-lang.c (def_fn_type): Likewise.