OSDN Git Service

* godump.c (go_format_type): Check for invalid type names, pointer
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b9a9c86..06d58bd 100644 (file)
@@ -1,3 +1,732 @@
+2011-05-25  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_format_type): Check for invalid type names, pointer
+       target types, and struct field types.
+
+2011-05-25  Jason Merrill  <jason@redhat.com>
+
+       * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
+
+2011-05-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.md (*movqi_extv_1)): Put back
+       "register_operand" check in "type" calculation.
+       (*movqi_extzv_2): Likewise.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
+
+2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR bootstrap/49160
+       * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
+       __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
+       __divxc3, __divtc3): Wrap definitions in #ifndef.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/49142
+       * config/i386/i386.md (*movqi_extv_1_rex64): Remove
+       "register_operand" check and replace q_regs_operand with
+       QIreg_operand in "type" calculation.
+       (*movqi_extv_1): Likewise.
+       (*movqi_extzv_2_rex64): Likewise.
+       (*movqi_extzv_2): Likewise.
+
+       * config/i386/predicates.md (QIreg_operand): New.
+
+2011-05-25  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
+       type-based offset disambiguation, streamline MEM_REF and
+       TARGET_MEM_REF handling.
+
+2011-05-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
+       (bdesc_special_args): Add pause intrinsic.
+
+       * config/i386/i386.md (UNSPEC_PAUSE): New.
+       (pause): Likewise.
+       (*pause): Likewise.
+       * config/i386/ia32intrin.h (__pause): Likewise.
+
+       * doc/extend.texi (X86 Built-in Functions): Add documentation for
+       pause intrinsic.
+
+2011-05-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/46728
+       * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
+       (execute_cse_sincos): Add switch case for BUILT_IN_POW.
+
+2011-05-25  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (struct tree_exp): Inherit from struct tree_typed.
+       * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
+       instead of TS_COMMON.
+
+2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
+       LIBGCC2_GNU_PREFIX is defined.
+       (__N): New macro.
+       (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
+       __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
+       __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
+       __clz_tab): Define using __N.
+       (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
+       COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+       * target.def (libfunc_gnu_prefix): New hook.
+       * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
+       (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
+       * doc/tm.texi: Regenerate.
+       * system.h (LIBGCC2_GNU_PREFIX): Poison.
+       * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
+       account.
+       (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
+       (init_optabs): Likewise for the bswap libfuncs.
+       * tree.c (build_common_builtin_nodes): Likewise for complex multiply
+       and divide.
+       * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
+       * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
+       * libgcc-std.ver: Remove.
+       * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
+       * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
+       libgcc-std.ver.
+       * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
+       * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
+       * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
+       * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+       * config/fixed-bit.h (FIXED_OP): Define differently depending on
+       LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
+       (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
+
+2011-05-25  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer-out.c (output_record_start): Use lto_output_enum
+       (lto_output_tree): Use output_record_start.
+       * lto-streamer-in.c (input_record_start): Use lto_input_enum
+       (lto_get_pickled_tree): Use input_record_start.
+       * lto-section-in.c (lto_section_overrun): Turn into fatal error.
+       (lto_value_range_error): New function.
+       * lto-streamer.h (lto_value_range_error): Declare.
+       (lto_output_int_in_range, lto_input_int_in_range): New functions.
+       (lto_output_enum, lto_input_enum): New macros.
+
+2011-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * common.opt (flag_stack_usage_info): New variable.
+       (-Wstack-usage): New option.
+       * doc/invoke.texi (Warning options): Document -Wstack-usage.
+       * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
+       <OPT_fstack_usage>: Likewise.
+       * toplev.c (output_stack_usage): Handle -Wstack-usage.
+       * calls.c (expand_call): Test flag_stack_usage_info variable instead
+       of flag_stack_usage.
+       (emit_library_call_value_1): Likewise.
+       * explow.c (allocate_dynamic_stack_space): Likewise.
+       * function.c (instantiate_virtual_regs ): Likewise.
+       (prepare_function_start): Likewise.
+       (rest_of_handle_thread_prologue_and_epilogue): Likewise.
+       * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
+       * config/arm/arm.c (arm_expand_prologue): Likewise.
+       (thumb1_expand_prologue): Likewise.
+       * config/avr/avr.c (expand_prologue): Likewise.
+       * config/i386/i386.c (ix86_expand_prologue): Likewise.
+       * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
+       * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
+       * config/mips/mips.c (mips_expand_prologue): Likewise.
+       * config/pa/pa.c (hppa_expand_prologue): Likewise.
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
+       * config/s390/s390.c (s390_emit_prologue): Likewise.
+       * config/sh/sh.c (sh_expand_prologue): Likewise.
+       * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
+       * config/spu/spu.c (spu_expand_prologue): Likewise.
+
+2011-05-25  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
+       (gimple_canonical_types_compatible_p): Likewise.
+
+2011-05-25  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/49062
+       * ipa.c (function_and_variable_visibility): Only add to same
+       comdat group list if DECL_ONE_ONLY.
+
+2011-05-25  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/49014
+       * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
+
+2011-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/49128
+       * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
+
+2011-05-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/48757
+       * ira-build.c (loop_with_eh_edge_p): Rename to
+       loop_with_complex_edge_p, check edges on complexity, make function
+       conditional.
+       (mark_loops_for_removal): Make call of loop_with_complex_edge_p
+       conditional.
+
+2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (sparc_option_override): If not set by the user,
+       force flag_ira_share_save_slots to 0.
+
+2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * var-tracking.c (compute_cfa_pointer): Adjust head comment.
+       (vt_initialize): Set PROLOGUE_BB unconditionally.
+       Add block comment about CFA_BASE_RTX machinery.
+       Reset FP_CFA_OFFSET to -1 on all invalid paths.
+       Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
+
+2011-05-24  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       PR objc/48187
+       * c-parser.c (c_parser_objc_class_instance_variables): More robust
+       parsing of syntax error in ObjC instance variable lists.  In
+       particular, avoid an infinite loop if there is a stray ']'.
+       Updated error message.
+
+2011-05-24  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_define): Don't accept a string immediately after
+       another operand.
+
+2011-05-24  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (struct godump_container): Add invalid_hash field.
+       (go_format_type): Return false if type is found in invalid_hash.
+       (go_output_typedef): Add invalid type to invalid_hash.
+       (go_finish): Create and delete invalid_hash.
+
+2011-05-24  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       PR tree-optimization/46728
+       * tree-ssa-math-opts.c (powi_table): New.
+       (powi_lookup_cost): New.
+       (powi_cost): New.
+       (powi_as_mults_1): New.
+       (powi_as_mults): New.
+       (gimple_expand_builtin_powi): New.
+       (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
+       (gate_cse_sincos): Remove sincos/cexp restriction.
+
+2011-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/3746
+       * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
+       mips-tdump native.
+       * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
+       * mips-tdump.c: Likewise.
+
+2011-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/49128
+       * config/i386/driver-i386.c (host_detect_local_cpu): Always
+       add -mno-XXX.  Handle FMA.
+
+2011-05-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/48633
+       * ira-build.c (loop_with_eh_edge_p): New function.
+       (mark_loops_for_removal): Use it.
+
+2011-05-24  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/48971
+       * ira.c (setup_pressure_classes): Don't check register move cost
+       for classes with one registers.  Don't add pressure class if there
+       is a pressure class with the same available hard registers.
+       Check contains_reg_of_mode.  Fix a typo in collecting
+       temp_hard_regset.  Ignore hard registers not belonging to a class.
+
+2011-05-24  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/49133
+       * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
+
+2011-05-24  Eric Botcazou  <ebotcazou@adacore.com>
+           Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR gcov-profile/48845
+       * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
+
+2011-05-24  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (compare_type_names_p): Remove for_completion_p arg.
+       (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
+       (gimple_types_compatible_p_1): Adjust.
+       (iterative_hash_canonical_type): Do not bother about complete vs.
+       incomplete types.
+       (gimple_canonical_types_compatible_p): Likewise.
+
+2011-05-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
+
+2011-05-24  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/49078
+       * gimple.c (gimple_register_canonical_type): Revert
+       previous change.
+       * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
+       does not for a tree for the case where it matters.  Cache
+       pointer-type alias-sets.
+
+2011-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
+       (OBJS): Remove options.o, opts-common.o and prefix.o.
+       (OBJS-libcommon-target): New.
+       (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
+       (BACKEND): Include libcommon-target.a.
+       (MOSTLYCLEANFILES): Include libcommon-target.a.
+       (libcommon-target.a): New.
+       (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
+       prefix.o.
+
+2011-05-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * optc-save-gen.awk: New.  Based on optc-gen.awk.  Don't generate
+       parts of output shared with the driver.
+       * optc-gen.awk: Don't generate parts of output not shared with the
+       driver.
+       * opth-gen.awk: Remove GCC_DRIVER conditionals.
+       * doc/options.texi (SourcerInclude): Mention options-save.c.
+       * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
+       (OBJS): Add options-save.o.
+       (options-save.c, options-save.o): New.
+       (options.o): Update dependencies.
+       (gcc-options.o): Remove.
+       (mostlyclean): Remove options-save.c.
+
+2011-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/49032
+       * dbxout.c: Include cgraph.h.
+       (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
+       and without value expr, return NULL if no varpool node exists for
+       it or if it is not needed.
+       * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
+
+       PR c/49120
+       * c-decl.c (start_decl): Convert expr to void_type_node.
+
+2011-05-23  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       PR rtl-optimization/48826
+       * emit-rtl.c (try_split): When splitting a call that is followed
+       by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
+
+2011-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgexpand.c (expand_debug_expr): For unused non-addressable
+       parameters passed in memory prefer using DECL_INCOMING_RTL over
+       the pseudos it will be copied into.
+
+2011-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/47315
+       * config/i386/i386.c (ix86_option_override_internal): Save the
+       initial options after checking vzeroupper.
+
+2011-05-23  David Li  <davidxl@google.com>
+
+       PR tree-optimization/48988
+       * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
+       Initialize has_valid_pred for each pred chain.
+
+2011-05-23  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p_1): Always compare type names.
+       (iterative_hash_gimple_type): Always hash type names.
+
+2011-05-23  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-typeck.c (build_function_call_vec): Tweak call to
+       check_function_arguments.
+
+2011-05-23  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49115
+       * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
+       is not necessarily carried out, do not claim it kills the ref.
+       * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
+
+2011-05-23  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/15419
+       * builtins.c (fold_builtin_memory_op): Be less restrictive about
+       what pointer types we accept for folding.
+
+2011-05-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * gthr-gnat.c: Remove.
+       * gthr-gnat.h: Remove.
+       * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
+       * config/t-freebsd (LIB2ADDEH): Likewise.
+       * config/t-linux (LIB2ADDEH): Likewise.
+       * config/t-sol2 (LIB2ADDEH): Likewise.
+       * config/ia64/t-vms (LIB2ADDEH): Likewise.
+       * configure.ac (target_thread_file): Remove gnat handling.
+       * configure: Regenerate.
+       * doc/install.texi (Configuration, --enable-threads): Remove gnat.
+
+2011-05-23  Tristan Gingold  <gingold@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gcov.c (create_file_names): If no object directory is specified,
+       keep the directory of the file.
+
+2011-05-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
+       * configure: Regenerate.
+
+2011-05-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48973
+       * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
+       failed and the comparison has a single bit signed type, use
+       constm1_rtx instead of const1_rtx for true value.
+       (do_store_flag): If ops->type is single bit signed type, disable
+       signel bit test optimization and pass -1 instead of 1 as last
+       parameter to emit_store_flag_force.
+
+2011-05-23  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
+       function.
+       (infer_loop_bounds_from_undefined): Use new function.
+
+2011-05-22  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
+       (ASM_SPEC): Add a -O* option here.  Pass -O0 for -noasmopt,
+       -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
+       and -O0 otherwise.
+       (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
+
+2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
+       (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
+       returns true.
+
+2011-05-22  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
+
+2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (sparc_delegitimize_address): Handle
+       UNSPEC_MOVE_PIC pattern.
+
+2011-05-22  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
+       (sparc-*-rtems*): Likewise.
+       (sparc64-*-elf*): Likewise.
+       (sparc64-*-rtems*): Likewise.
+       (sparc*-*-solaris2*): Likewise.  Remove crti.o crtn.o extra parts.
+       * config/sparc/t-crtin: New file.
+       * config/sparc/t-sol2 (crti.o): Delete rule.
+       (crtn.o): Likewise.
+       * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
+       * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
+       * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
+       (ENDFILE_SPEC): Add crtn.o.
+
+2011-05-22  Tom de Vries  <tom@codesourcery.com>
+
+       PR middle-end/48689
+       * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
+       CODE_CONTAINS_STRUCT (TS_COMMON).
+
+2011-05-22  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/49029
+       * expmed.c (extract_fixed_bit_field): Test whether target can be used
+       only after deciding which mode to use.
+
+2011-05-22  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
+       for call to get_shiftadd_cost.
+
+2011-05-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/49104
+       * config/i386/cpuid.h (bit_MMXEXT): New define.
+
+2011-05-22  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
+       initialisation of non-existant args[2] element.  Use args[] array
+       not arg[] array to pass arguments to build_function_type_list.
+
+2011-05-22  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/49087
+       * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
+
+2011-05-21  Jason Merrill  <jason@redhat.com>
+
+       PR c++/49092
+       * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
+       static storage duration.
+
+2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
+       frame pointer.
+
+2011-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c (eligible_for_return_delay): Do not return
+       false if there are call-saved registers here...
+       (sparc_can_use_return_insn_p): ...but here instead.
+       (save_or_restore_regs): Fix thinko.
+       (sparc_expand_prologue): Use current_function_is_leaf.
+       (sparc_frame_pointer_required): Likewise.
+
+2011-05-21  Nick Clifton  <nickc@redhat.com>
+
+       PR target/49098
+       * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
+
+2011-05-21  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * gengtype.c (walk_type): Implemented "atomic" GTY option.
+       * doc/gty.texi (GTY Options): Document "atomic" GTY option.
+
+2011-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * opt-read.awk: New.  Split out of optc-gen.awk and opth-gen.awk.
+       * optc-gen.awk: Move common code to opt-read.awk.
+       * opth-gen.awk: Likewise.
+       * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
+
+2011-05-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
+
+2011-05-20  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c: Include expmed.h.
+       (get_shiftadd_cost): New function.
+       (force_expr_to_var_cost): Declare forward.  Use get_shiftadd_cost.
+
+2011-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/49086
+       * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
+       for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
+
+2011-05-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in: Update comment referring to $(OBJS-common).
+
+2011-05-20  Ian Lance Taylor  <iant@google.com>
+
+       * godump.c (go_output_typedef): Put enum constants in the macro
+       hash table to avoid duplicate Go const definitions.
+
+2011-05-20  Joseph Myers  <joseph@codesourcery.com>
+
+       * Makefile.in (LIBDEPS): Add libcommon.a.
+       (LIBS): Likewise.
+       (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
+       (OBJS-common): Remove diagnostic.o, input.o, intl.o,
+       pretty-print.o and version.o.
+       (OBJS-libcommon): New.
+       (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
+       (BACKEND): Add libcommon.a.
+       (MOSTLYCLEANFILES): Likewise.
+       (libcommon.a): New.
+       (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
+       (cpp$(exeext)): Likewise.
+       (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
+       pretty-print.o and input.o.
+       (lto-wrapper$(exeext)): Don't explicitly use intl.o.
+       (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
+       (errors.o): Remove.
+       (mips-tfile): Don't explicitly use version.o.
+       (mips-tdump): Likewise.
+       (gcov.o): Depend on $(DIAGNOSTIC_H).
+       (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
+       (GCOV_OBJS): Remove intl.o, version.o and errors.o.
+       (GCOV_DUMP_OBJS): Remove version.o and errors.o.
+       * gcov-dump.c: Include intl.h and diagnostic.h.
+       (main): Initialize diagnostics.
+       * gcov.c: Include diagnostic.h.
+       (fnotice): Remove.
+       (main): Initialize diagnostics.
+       * lto-wrapper.c: Include diagnostic.h.
+       (main): Initialize diagnostics.
+
+2011-05-20  Michael Matz  <matz@suse.de>
+
+       * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
+
+2011-05-20  Michael Matz  <matz@suse.de>
+           Richard Guenther  <rguenther@suse.de>
+
+       * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
+       use lto_streamer_cache_append directly instead of returning a VEC.
+       (preload_common_node): Remove.
+       (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
+       track seen nodes.
+       (lto_streamer_cache_create): Call lto_preload_common_nodes.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49079
+       * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
+       MEM_REFs correctly for the trailing array access detection.
+       Special case constants the same way as decls for overall size
+       constraining.
+
+2011-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
+       argument expansion.
+
+2011-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/49073
+       * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
+       PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
+       * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48849
+       * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
+       of pointer types the same way the middle-end does.
+
+2011-05-20  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
+       or pointer-to chains.  Delay all fixup to uniquify_nodes.
+
+2011-05-19  Quentin Neill  <quentin.neill@amd.com>
+
+       * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
+       (fma4_fmaddsub): Likewise
+
+2011-05-19  Jan Hubicka  <jh@suse.cz>
+
+       * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
+       (GIMPLE_TYPE_PAIR_SIZE): New macro.
+       (type_pair_cache): New static var.
+       (lookup_type_pair): Use fixed sized custom hash; make inline.
+       (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
+       calls of lookup_type_pair.
+       (print_gimple_types_stats): Remove cache stats.
+       (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
+       and gtc_ob.
+
+2011-05-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
+       when TARGET_RDRND is active.
+       (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
+       Generate dummy SImode target register when target is NULL.
+
+2011-05-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm-fpus.def: New.
+       * config/arm/genopt.sh: Generate Enum and EnumValue entries from
+       arm-fpus.def.
+       * config/arm/arm-tables.opt: Regenerate.
+       * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
+       (arm_option_override): Don't decode FPU name to string here.
+       * config/arm/arm.opt (mfpu=): Use Enum.
+       * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
+       Update dependencies.
+
+2011-05-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * collect2.c: Include diagnostic.h.
+       (fatal_perror, fatal, error, fancy_abort): Remove.
+       (main): Set progname.  Call xmalloc_set_program_name and
+       diagnostic_initialize.
+       (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
+       scan_libraries, resolve_lib_name): Call fatal_error instead of
+       fatal and fatal_perror.
+       * collect2.h (error, fatal, fatal_perror): Don't declare.
+       * tlink.c: Include diagnostic-core.h.
+       (recompile_files): Call fatal_error instead of fatal_perror.
+       * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
+       pretty-print.o and input.o.
+       (collect2.o, tlink.o): Update dependencies.
+
+2011-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
+
+2011-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/40483
+       * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
+       COMDAT group syntax, both SPARC and x86 variants.
+       (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
+       * configure: Regenerate.
+       * config/sol2.h (TARGET_SOLARIS): Define.
+       (PUSHSECTION_FORMAT): Remove.
+       (SECTION_NAME_FORMAT): Define.
+       * config/sol2.c: Include hashtab.h.
+       (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
+       expansion, using SECTION_NAME_FORMAT.
+       (solaris_comdat_htab): New variable.
+       (struct comdat_entry): Define.
+       (comdat_hash): New function.
+       (comdat_eq): New function.
+       (solaris_elf_asm_comdat_section): New function.
+       (solaris_define_comdat_signature): New function.
+       (solaris_code_end): New function.
+       * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
+       (solaris_code_end): Declare.
+       * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
+       * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
+       solaris_code_end.
+       (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
+       Remove ATTRIBUTE_UNUSED.
+       [!USE_GAS]: Call solaris_elf_asm_comdat_section for
+       SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
+       * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
+       * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
+       * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
+       * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
+       (PUSHSECTION_FORMAT): Remove.
+       (SECTION_NAME_FORMAT): Redefine.
+
+2011-05-19  Kai Tietz  <ktietz@redhat.com>
+
+       * tree-cfg.c (verify_gimple_assign_binary): Barf on
+       TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
+       (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
+
 2011-05-19  Anatoly Sokolov <aesok@post.ru>
            Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>