+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
+ * tree.c (build_vector_from_val): Adjust assert to requirements
+ and reality.
+
+2011-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48102
+ * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
+
+2011-03-14 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/rs6000/freebsd.h: (RELOCATABLE_NEEDS_FIXUP): Define in
+ terms of target_flags_explicit. Adjust copyright year.
+
+ * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
+ * config/rs6000/t-freebsd: New file. Add override for
+ LIB2FUNCS_EXTRA.
+
+2011-03-13 Chris Demetriou <cgd@google.com>
+
+ * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
+ (-fno-diagnostics-show-option): this, to reflect current default.
+ (-Werror=): Update text about -fno-diagnostics-show-option.
+
+2011-03-12 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/48053
+ * config/rs6000/predicates.md (easy_vector_constant_add_self,
+ easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
+ * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
+ mode is not V2DImode or V2DFmode.
+ (vspltis_constant): Do not handle V2DImode and V2DFmode.
+ (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
+ * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
+ registers to 0.
+ (movdi_internal64): Likewise.
+
+2011-03-12 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47127
+ * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
+ parameter.
+ (set_cloog_options): Same.
+ (scop_to_clast): Same.
+ (print_clast_stmt): Do not call cloog_state_malloc and
+ cloog_state_free.
+ (print_generated_program): Same.
+ (gloog): Same.
+ * graphite-clast-to-gimple.h (cloog_state): Declared.
+ (scop_to_clast): Adjust declaration.
+ * graphite.c (cloog_state): Defined here.
+ (graphite_initialize): Call cloog_state_malloc.
+ (graphite_finalize): Call cloog_state_free.
+
2011-03-11 Jason Merrill <jason@redhat.com>
* attribs.c (lookup_attribute_spec): Take const_tree.
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>