OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 086d1ba..16461c2 100644 (file)
@@ -1,3 +1,732 @@
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gthr-solaris.h: Remove.
+       * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
+       * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
+       (LIB_SPEC): Likewise.
+       * config/sol2.opt (threads): Remove.
+       * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads
+       support.
+       (sparc*-*-solaris2*): Likewise.
+       * configure.ac (enable_threads): Enable solaris support.
+       * configure: Regenerate.
+       * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove
+       -threads.
+       * doc/install.texi (Configuration, --enable-threads=lib): Remove
+       solaris.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc: Obsolete *-*-solaris2.8*.
+       * doc/install.texi (Specific, *-*-solaris2*): Document it.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/48135
+       * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
+       reference.  Solaris 8 perl works.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/48135
+       * doc/install.texi (Prerequisites): Move jar etc. up.
+       Explain support library version requirements.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/48135
+       * doc/install.texi (Prerequisites): Move Perl to build
+       requirements.  Always necessary on Solaris 2 with Sun ld.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
+       binutils 2.21.
+       (Specific, i?86-*-solaris2.[89]): Likewise.
+       (Specific, i?86-*-solaris2.10): Likewise.
+       (Specific, mips-sgi-irix6): Likewise.
+       (Specific, *-*-solaris2*): Remove Sun Studio download URL.
+       Update for binutils 2.21.
+
+2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_lto_plugin): Fix typo.
+       Allow -fuse-linker-plugin for non-default plugin linker.
+       * configure: Regenerate.
+
+2011-03-21  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR bootstrap/48167
+       * gengtype.c (files_rules): Added rule for cp/parser.h.
+
+2011-03-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/48213
+       * config/s390/s390.c (s390_delegitimize_address): Don't call
+       lowpart_subreg if orig_x has BLKmode.
+
+2011-03-21  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/12171
+       * doc/plugins.texi: Adjust documentation
+       for plugin register_callback.
+       * tree.h (attribute_spec): Add new member
+       affects_type_identity.
+       - Zitierten Text anzeigen -
+       * attribs.c (empty_attribute_table): Adjust
+       attribute_spec initializers.
+       * config/alpha/alpha.c: Likewise.
+       * config/arc/arc.c: Likewise.
+       * config/arm/arm.c: Likewise.
+       * config/avr/avr.c: Likewise.
+       * config/bfin/bfin.c: Likewise.
+       * config/crx/crx.c: Likewise.
+       * config/darwin.h: Likewise.
+       * config/h8300/h8300.c: Likewise.
+       * config/i386/cygming.h: Likewise.
+       * config/i386/i386.c: Likewise.
+       * config/ia64/ia64.c: Likewise.
+       * config/m32c/m32c.c: Likewise.
+       * config/m32r/m32r.c: Likewise.
+       * config/m68hc11/m68hc11.c: Likewise.
+       * config/m68k/m68k.c: Likewise.
+       * config/mcore/mcore.c: Likewise.
+       * config/mep/mep.c: Likewise.
+       * config/microblaze/microblaze.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/rx/rx.c: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/sol2.h: Likewise.
+       * config/sparc/sparc.c: Likewise.
+       * config/spu/spu.c: Likewise.
+       * config/stormy16/stormy16.c: Likewise.
+       * config/v850/v850.c: Likewise.
+
+2011-03-21  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * simplify-rtx.c (simplify_binary_operation_1): Handle
+       (xor (and A B) C) case when B and C are both constants.
+
+2011-03-21  Mingjie Xing  <mingjie.xing@gmail.com>
+
+       * tree-dfa.c (add_referenced_var): Fix typo in comment.
+
+2011-03-20  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR bootstrap/48168
+       * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
+
+2011-03-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/48156
+       * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
+       assume df and df_lr are not NULL.
+
+2011-03-20  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       PR debug/48023
+       * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
+       between a call and its CALL_ARG_LOCATION note.
+
+2011-03-19  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR debug/48178
+       * config/sh/sh.c (find_barrier): Don't emit a constant pool
+       between a call and its corresponding CALL_ARG_LOCATION note.
+
+2011-03-19  Anatoly Sokolov  <aesok@post.ru>
+
+       * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
+       instead of loop. Use HARD_REGISTER_NUM_P predicate.
+       * haifa-sched.c (setup_ref_regs): Ditto.
+       * caller-save.c (add_used_regs_1): Ditto.
+       * dse.c (look_for_hardregs): Ditto.
+       * df-problems.c (df_simulate_one_insn_forwards): Ditto.
+       * sched-rgn.c (check_live_1): Ditto.
+
+2011-03-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (diagnose_mismatched_decls): Give an error for
+       redefining a typedef with variably modified type.
+
+2011-03-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (grokfield): Don't allow typedefs for structures or
+       unions with no tag by default.
+       * doc/extend.texi (Unnamed Fields): Update.
+
+2011-03-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
+       Rewrite using indirect functions.
+       (lwp_slwpcb): Ditto.
+       * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
+       (avx_vinsertf128<mode>): Ditto.
+
+2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
+       unspecs.
+
+2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
+       splitting between a call and its corresponding CALL_ARG_LOCATION
+       note.
+
+2011-03-18  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       PR rtl-optimization/48170
+       * gcse.c (hoist_code): Remove bogus asserts.
+
+2011-03-18  Georg-Johann Lay  <avr@gjlay.de>
+
+       * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
+       computation for prologue/epilogue.
+
+2011-03-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * Makefile.in (check-consistency): Remove.
+
+2011-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/48176
+       * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
+       arange_table_in_use is 0, but either text_section_used or
+       cold_text_section_used is true.  Don't call it if
+       !info_section_emitted.
+
+2011-03-18  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
+       FUNCTION_VALUE_REGNO_P): Remove.
+       * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
+       Remove.
+       * config/avr/avr.c (avr_ret_register): Make static inline.
+       (avr_function_value_regno_p): New function.
+       (avr_libcall_value): Make static. Add 'func' argument.
+       (avr_function_value): Make static. Rename 'func' argument to
+       'fn_decl_or_type', forward it to avr_libcall_value. Call
+       avr_ret_register function instead of RET_REGISTER macro.
+       (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2011-03-18  Jason Merrill  <jason@redhat.com>
+
+       PR c++/23372
+       * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
+
+2011-03-18  Richard Guenther  <rguenther@suse.de>
+
+       * doc/install.texi (--enable-gold): Remove.
+       (--with-plugin-ld): Document.
+       * doc/invoke.texi (-fuse-linker-plugin): Clarify.
+
+2011-03-18  Andrew Pinski  <pinskia@gmail.com>
+
+       PR middle-end/47790
+       * expr.c (optimize_bitfield_assignment_op): Revamp to work
+       again after expansion changes.
+
+2011-03-18  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       * combine.c (try_combine): Do simplification only call of
+       subst() on i2 even when i1 is present. Update comments.
+
+2011-03-18  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
+       and UNSPEC_PCREL_SYMOFF.
+
+2011-03-18  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md: Use define_c_enum for the unspec constant
+       definitions.
+
+2011-03-18  Richard Henderson  <rth@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/48161
+       * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
+       instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
+
+2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/47725
+       * combine.c (cant_combine_insn_p): Don't check zero/sign
+       extended hard registers.
+
+2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/47725
+       * combine.c (cant_combine_insn_p): Check zero/sign extended
+       hard registers.
+
+2011-03-17  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+       * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
+       * config/v850/v850.c (v850_output_addr_const_extra): Make static.
+       Change return type to bool.
+       (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2011-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/48163
+       * var-tracking.c (prepare_call_arguments): If CALL target
+       is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
+       pc instead of looking it up using cselib_lookup and use
+       Pmode for it if x has VOIDmode.
+       * dwarf2out.c (gen_subprogram_die): If also both first and
+       second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
+
+       PR debug/48163
+       * function.c (assign_parms): For data.passed_pointer parms
+       use MEM of data.entry_parm instead of data.entry_parm itself
+       as DECL_INCOMING_RTL.
+       * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
+       also when passed and declared mode is the same, DECL_RTL
+       is a MEM with pseudo as address and DECL_INCOMING_RTL is
+       a MEM too.
+
+2011-03-16  Jeff Law  <law@redhat.com>
+
+       PR rtl-optimization/37273
+       * ira-costs.c (scan_one_insn): Detect constants living in memory and
+       handle them like argument loads from stack slots.  Do not double
+       count memory for memory constants and argument loads from stack slots.
+
+2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR debug/48160
+       * var-tracking.c (prepare_call_arguments): Check SUBREG.
+
+2011-03-17  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/48171
+       * config/i386/i386.opt: Add Save to -mavx and -mfma.
+
+2011-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/48153
+       * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
+       if dwarf_strict.
+       (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
+       Clear call_arg_locations and call_arg_loc_last always.
+
+       PR middle-end/48152
+       * var-tracking.c (prepare_call_arguments): If argument needs to be
+       passed by reference, adjust argtype and mode.
+
+2011-03-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48134
+       * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
+       a value make sure to fold the statement.
+
+2011-03-17  Chung-Lin Tang  <cltang@codesourcery.com>
+
+       PR target/43872
+       * config/arm/arm.c (arm_get_frame_offsets): Adjust early
+       return condition with !cfun->calls_alloca.
+
+2011-03-17  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/48148
+       * lto-cgraph.c (input_overwrite_node): Clear the abstract
+       origin for decls in other ltrans units.
+       (input_varpool_node): Likewise.
+
+2011-03-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48165
+       * tree-object-size.c (compute_object_offset): Properly return
+       the offset operand of MEM_REFs as sizetype.
+
+2011-03-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/48141
+       * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
+       * dse.c: Include params.h.
+       (active_local_stores_len): New variable.
+       (add_wild_read, dse_step1): Clear it when setting active_local_stores
+       to NULL.
+       (record_store, check_mem_read_rtx): Decrease it when removing
+       from the chain.
+       (scan_insn): Likewise.  Increase it when adding to chain, if it
+       reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
+       set active_local_stores to NULL before the addition.
+       * Makefile.in (dse.o): Depend on $(PARAMS_H).
+
+       PR rtl-optimization/48141
+       * dse.c (record_store): If no positions are needed in an insn
+       that cannot be deleted, at least unchain it from active_local_stores.
+
+2011-03-16  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/47510
+       * dwarf2out.c (strip_naming_typedef): Factorize out of ...
+       (lookup_type_die_strip_naming_typedef): ... here.
+       (get_context_die): Use it.
+       (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
+       the anonymous struct named by the naming typedef.
+
+2011-03-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/48154
+       * config/i386/i386.c (ix86_builtin_vectorized_function): Check
+       TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
+
+2011-03-16  Jeff Law  <law@redhat.com>
+
+       * tree-vrp.c (identify_jump_threads): Slightly simplify type
+       check for operands of conditional.  Allow type to be a pointer.
+
+2011-03-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48149
+       * fold-const.c (fold_binary_loc): Fold
+       COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
+
+2011-03-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/26134
+       * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
+       complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
+       (non_rewritable_mem_ref_base): Handle complex type component
+       accesses, constrain offsets for vector and complex extracts
+       more properly.
+
+2011-03-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48146
+       * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
+       operands avoiding the need for renaming.
+
+2011-03-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple-fold.c (maybe_fold_reference): Open-code relevant
+       constant folding.  Move MEM_REF canonicalization first.
+       Rely on fold_const_aggregate_ref for initializer folding.
+       * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
+
+2011-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48136
+       * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
+       arg0/arg1 or their arguments are always fold converted to matching
+       types.
+
+       * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
+       to nargs.
+
+2011-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR lto/46944
+       * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
+       Handle in-tree gold.
+       (ld_vers): Extract binutils version for gold.
+       (gcc_cv_ld_hidden): Handle gold here.
+       (gcc_cv_lto_plugin): Determine level of linker plugin support.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
+       -fuse-linker-plugin otherwise.
+       (LINK_PLUGIN_SPEC): Define.  Extract from LINK_COMMAND_SPEC.
+       (LINK_COMMAND_SPEC): Use it.
+       (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
+
+2011-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
+       * calls.c: Remove debug.h include.
+       (emit_call_1): Don't call virtual_call_token debug hook.
+       * dwarf2out.c (debug_dcall_section, debug_vcall_section,
+       dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
+       vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
+       size_of_dcall_table, output_dcall_table, size_of_vcall_table,
+       output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
+       vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
+       dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
+       dwarf2out_virtual_call): Remove.
+       (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
+       copy_call_info and virtual_call hooks.
+       (dwarf2out_init): Don't initialize vcall_insn_table,
+       debug_dcall_section and debug_vcall_section.
+       (prune_unused_types): Don't mark nodes from dcall_table.
+       (dwarf2out_finish): Don't output dcall or vcall tables.
+       * final.c (final_scan_insn): Don't call direct_call or
+       virtual_call debug hooks.
+       * debug.h (struct gcc_debug_hooks): Remove direct_call,
+       virtual_call_token, copy_call_info and virtual_call hooks.
+       (debug_nothing_uid): Remove prototype.
+       * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
+       copy_call_info and virtual_call hooks.
+       * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+       * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
+       * debug.c (do_nothing_debug_hooks): Likewise.
+       (debug_nothing_uid): Remove.
+       * doc/invoke.texi (-fenable-icf-debug): Remove.
+       * common.opt (-fenable-icf-debug): Likewise.
+
+       * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
+       * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
+       call's MEM.  Handle functions returning aggregate through a hidden
+       first pointer.  For virtual calls add clobbered pc to call arguments
+       chain.
+       * dwarf2out.c (gen_subprogram_die): Emit
+       DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
+       can't be emitted.
+
+       PR debug/45882
+       * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
+       * rtl.h (ENTRY_VALUE_EXP): Define.
+       * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
+       * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
+       * print-rtl.c (print_rtx): Likewise.
+       * gengtype.c (adjust_field_rtx_def): Likewise.
+       * var-tracking.c (vt_add_function_parameter): Adjust
+       gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
+       * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
+       * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
+       partition is a default definition of a PARM_DECL, use ENTRY_VALUE
+       of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
+
+       * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
+       Call var_location debug hook even on CALL_INSNs.
+       (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
+       * rtl.def (ENTRY_VALUE): New.
+       * dwarf2out.c: Include cfglayout.h.
+       (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
+       output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
+       (struct call_arg_loc_node): New type.
+       (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
+       tail_call_site_count): New variables.
+       (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
+       DW_TAG_GNU_call_site_parameter.
+       (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
+       DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
+       DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
+       DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
+       and DW_AT_GNU_all_source_call_sites.
+       (mem_loc_descriptor): Handle ENTRY_VALUE.
+       (add_src_coords_attributes): Don't add enything if
+       DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
+       (dwarf2out_abstract_function): Save and clear call_arg_location,
+       call_site_count and tail_call_site_count around dwarf2out_decl call.
+       (gen_call_site_die): New function.
+       (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
+       (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
+       (dwarf2out_function_decl): Clear call_arg_locations,
+       call_arg_loc_last, set call_site_count and tail_call_site_count
+       to -1 and free block_map.
+       (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
+       CALL_INSNs.  Add NOTE_DURING_CALL_P var location notes even when not
+       followed by any real instructions.
+       (dwarf2out_begin_function): Set call_site_count and
+       tail_call_site_count to 0.
+       (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
+       is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
+       attempt to force a DIE for it and worst case remove the attribute.
+       (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
+       check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
+       the decl itself.
+       * var-tracking.c: Include tm_p.h.
+       (vt_stack_adjustments): For calls call note_register_arguments.
+       (argument_reg_set): New variable.
+       (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
+       ensure the VALUE is resolved.
+       (call_arguments): New variable.
+       (prepare_call_arguments): New function.
+       (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
+       (struct expand_loc_callback_data): Add ignore_cur_loc field.
+       (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
+       always use the best expression.
+       (vt_expand_loc): Add ignore_cur_loc argument.
+       (vt_expand_loc_dummy): Clear ignore_cur_loc field.
+       (emit_note_insn_var_location): Adjust vt_expand_loc callers.
+       (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
+       note for all calls.
+       (vt_add_function_parameter): Use cselib_lookup_from_insn.
+       If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
+       argument.  Don't call cselib_preserve_only_values and
+       cselib_reset_table.
+       (note_register_arguments): New function.
+       (vt_initialize): Compute argument_reg_set.  Call
+       vt_add_function_parameters before processing basic blocks instead of
+       afterwards.  For calls call prepare_call_arguments before calling
+       cselib_process_insn.
+       * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
+       * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
+       (var-tracking.o): Depend on $(TM_P_H).
+       * cfglayout.h (insn_scope): New prototype.
+       * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
+       * cfglayout.c (insn_scope): No longer static.
+       * insn-notes.def (CALL_ARG_LOCATION): New.
+       * calls.c (expand_call, emit_library_call_value_1): Put USEs for
+       MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
+       * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
+       nothing for DECL_EXTERNAL BLOCK_VARS.
+
+2011-03-16  Alan Modra  <amodra@gmail.com>
+
+       PR target/45844
+       * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
+       create invalid offset address for vsx splat insn.
+       * config/rs6000/predicates.md (splat_input_operand): New.
+       * config/rs6000/vsx.md (vsx_splat_*): Use it.
+
+2011-03-15  Xinliang David Li  <davidxl@google.com>
+
+       PR c/47837
+       * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
+       (normalize_preds): New function.
+       (is_use_properly_guarded): Normalize def predicates.
+
+2011-03-15  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
+
+       PR target/46778
+       * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
+       in the output template.
+
+2011-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/47650
+       * tree-pretty-print.c (dump_function_declaration): Properly
+       dump unprototyped and varargs function types.
+
+2011-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/13954
+       * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
+       and friends.
+
+2011-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48037
+       * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
+       selects into BIT_FIELD_REFs.
+       (non_rewritable_mem_ref_base): Check if a MEM_REF is a
+       vector select.
+
+2011-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/48129
+       * builtins.c (fold_builtin_snprintf): Convert to type of
+       built_in_decls[BUILT_IN_SNPRINTF] retval instead of
+       implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
+
+2011-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/41490
+       * tree-ssa-dce.c (propagate_necessity): Handle returns without
+       value but with VUSE.
+       * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
+       return statements.
+       * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
+       * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
+       * tree-tailcall.c (find_tail_calls): Ignore returns.
+
+2011-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48031
+       * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
+       or variable-indexed array accesses when in gimple form.
+
+2011-03-15  Richard Guenther  <rguenther@suse.de>
+
+       * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
+
+2011-03-15  Alan Modra  <amodra@gmail.com>
+
+       PR target/48032
+       * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
+       presume symbol_refs without a symbol_ref_decl are suitably
+       aligned, nor other trees we may see here.  Handle anchor symbols.
+       (legitimate_constant_pool_address_p): Comment.  Add mode param.
+       Check cmodel=medium addresses.  Adjust all calls.
+       (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
+       creating cmodel=medium optimized access to locals.
+       * config/rs6000/constraints.md (R): Pass QImode to
+       legitimate_constant_pool_address_p.
+       * config/rs6000/predicates.md (input_operand): Pass mode to
+       legitimate_constant_pool_address_p.
+       * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
+       Update prototype.
+
+2011-03-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/48053
+       * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
+       64-bit constants being loaded into registers other than GPRs such
+       as loading 0 into a VSX register.
+
+2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
+
+2011-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/47917
+       * builtins.c (fold_builtin_snprintf): New function.
+       (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
+       (fold_builtin_4): Likewise.
+
+       PR middle-end/38878
+       * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
+       STRIP_NOPS on arg0 and arg1.  When optimizing X +- C == X
+       and C - X == X also strip nops from +/-/p+ operand.
+       When optimizing -X == C, fold C to arg0's type.
+
+       PR debug/47946
+       * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
+       emit it as add_AT_int instead of add_AT_unsigned.
+
+2011-03-14  Tom Tromey  <tromey@redhat.com>
+
+       * unwind-dw2.c: Include sys/sdt.h if it exists.
+       (_Unwind_DebugHook): Use STAP_PROBE2.
+       * config.in, configure: Rebuild.
+       * configure.ac: Check for sys/sdt.h.
+
+2011-03-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (ROUND_FLOOR): New constant.
+       (ROUND_CEIL): Ditto.
+       (ROUND_TRUNC): Ditto.
+       (ROUND_MXCSR): Ditto.
+       (ROUND_NO_EXC): Ditto.
+       (rint<mode>2): Use new defines instead of numerical constants.
+       (floor<mode>2): Ditto.
+       (ceil<mode>2): Ditto.
+       (btrunc<mode>2): Ditto.
+       * config/i386/i386-builtin-types.def: Define ROUND function type
+       aliases.
+       * config/i386/i386.c (enum ix86_builtins): Add
+       IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
+       (struct builtin_description): Add
+       __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
+       (ix86_expand_sse_round): New static function.
+       (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
+       function types.
+       (ix86_builtin_vectorized_function): Handle
+       BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
+
+2011-03-14  Tom Tromey  <tromey@redhat.com>
+
+       * c-parser.c (c_parser_asm_string_literal): Clear
+       warn_overlength_strings.
+
+2011-03-14  Tom Tromey  <tromey@redhat.com>
+
+       * c-parser.c (disable_extension_diagnostics): Save
+       warn_overlength_strings.
+       (restore_extension_diagnostics): Restore warn_overlength_strings.
+
+2011-03-14  Jakub Jelinek  <jakub@redhat.com>
+
+       * BASE-VER: Change to 4.7.0.
+
 2011-03-14  Richard Guenther  <rguenther@suse.de>
 
        PR middle-end/48098
@@ -7,8 +736,7 @@
 2011-03-14  Jakub Jelinek  <jakub@redhat.com>
 
        PR bootstrap/48102
-       * graphite-cloog-compat.h (build_cloog_prog): Remove STATE
-       parameter.
+       * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
 
 2011-03-14  Andreas Tobler  <andreast@fgznet.ch>
 
        PR lto/47497
        * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
        (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
-       * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk): Add node pointers.
+       * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
+       Add node pointers.
        * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
        cgraph_add_thunk): Add node pointers.
        * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
 2011-03-04  Changpeng Fang  <changpeng.fang@amd.com>
 
        * config/i386/i386.opt (mprefer-avx128): New flag.
-       * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit mode
-       when the flag -mprefer-avx128 is on.
+       * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
+       modes when the flag -mprefer-avx128 is on.
 
 2011-03-04  Richard Sandiford  <richard.sandiford@linaro.org>