OSDN Git Service

gcc:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 8ba223f..253ce2a 100644 (file)
@@ -1,3 +1,715 @@
+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>
+
+       * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
+
+2011-05-19  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48985
+       * tree-object-size.c (addr_object_size): If the pointed-to
+       variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
+
+2011-05-19  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p_1): Compare names of
+       the types themselves.
+       (iterative_hash_gimple_type): And hash them that way.
+       (gimple_register_type_1): If we register a main variant properly
+       initialize the leader to ourselves.
+
+2011-05-19  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
+       get_loop_invariant_expr_id.
+       (get_loop_invariant_expr_id): Use get_expr_id.
+       (parm_decl_cost): New function.
+       (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
+       Improve bound cost estimation.  Use different inv_expr_id for elim and
+       express cases.
+
+2011-05-19  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
+       cost_base.cost == 0.
+
+2011-05-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/49002
+       * config/i386/sse.md (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>):
+       Properly handle load cast.
+
+2011-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/49039
+       * tree-vrp.c (extract_range_from_binary_expr): For
+       MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
+       return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
+
+2011-05-18  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
+
+2011-05-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
+       (*tls_global_dynamic_64): Ditto.
+       (*tls_local_dynamic_base_32_gnu): Ditto.
+       (*tls_local_dynamic_base_64): Ditto.
+       (tls_initial_exec_64_sun): Ditto.
+
+2011-05-18  Stuart Henderson  <shenders@gcc.gnu.org>
+
+       * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
+       * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
+       bf592-none.
+       * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
+       * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
+       * config/bfin/bfin.c (bfin_cpus): Add bf592.
+       * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+       __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
+       * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
+       * config/bfin/elf.h (LIB_SPEC): Add bf592.
+
+2011-05-18  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
+       arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
+       * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
+       target_thread_pointer, arm_structure_size_boundary, struct
+       float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
+       struct abi_name, arm_all_abis): Remove.
+       (arm_option_override) Don't process most enumerated option values here.
+       Don't process target_fpe_name here.  Work with integer not string for
+       structure size boundary; use separate diagnostics for each case.
+       * config/arm/arm.h (enum float_abi_type, enum
+       arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
+       to arm-opts.h.
+       (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
+       arm_structure_size_boundary): Remove.
+       * config/arm/arm.opt (mabi=): Use Enum and Init.
+       (arm_abi_type): New Enum and EnumValue entries.
+       (mfloat-abi=): Use Enum and Init.
+       (float_abi_type): New Enum and EnumValue entries.
+       (mfp=, mfpe=): Replace by separate Alias entries for each argument.
+       (mfp16-format=): Use Enum and Init.
+       (arm_fp16_format_type): New Enum and EnumValue entries.
+       (mstructure-size-boundary=): Use UInteger and Init.
+       (mtp=): Use Enum and Init.
+       (arm_tp_type): New Enum and EnumValue entries.
+
+2011-05-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/49018
+       * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
+       * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
+       gimple_has_side_effects.
+
+2011-05-18  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_register_type_1): New function, split out from ...
+       (gimple_register_type): ... here.  Avoid infinite recursion.
+
+2011-05-18  Ira Rosen  <ira.rosen@linaro.org>
+
+       PR tree-optimization/41881
+       * tree-vectorizer.h (struct _loop_vec_info): Add new field
+       reduction_chains along with a macro for its access.
+       * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
+       (destroy_loop_vec_info): Free reduction chains.
+       (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
+       (vect_is_slp_reduction): New function.
+       (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
+       (vect_create_epilog_for_reduction): Support SLP reduction chains.
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
+       definition types for reduction chains.
+       (vect_supported_load_permutation_p): Don't allow permutations for
+       reduction chains.
+       (vect_analyze_slp_instance): Support reduction chains.
+       (vect_analyze_slp): Try to build SLP instance from reduction chains.
+       (vect_get_constant_vectors):  Handle reduction chains.
+       (vect_schedule_slp_instance): Mark the first statement of the
+       reduction chain as reduction.
+
+2011-05-18  Ira Rosen  <ira.rosen@linaro.org>
+
+       * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
+       names for group elements access.
+       * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
+       reduction chains as well.  Remove data reference and interleaving
+       related words from the fields names.
+       * tree-vect-loop.c (vect_transform_loop): Use new names for group
+       elements access.
+       * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
+       vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
+       vect_update_interleaving_chain, vect_same_range_drs,
+       vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
+       vect_verify_datarefs_alignment, vector_alignment_reachable_p,
+       vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
+       vect_analyze_group_access, vect_analyze_data_ref_access,
+       vect_create_data_ref_ptr, vect_transform_strided_load,
+       vect_record_strided_load_vectors): Likewise.
+       * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
+       vect_model_load_cost, vectorizable_store, vectorizable_load,
+       vect_remove_stores, new_stmt_vec_info): Likewise.
+       * tree-vect-slp.c (vect_build_slp_tree,
+       vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
+
+2011-05-18  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/48989
+       * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
+       operand verification.
+       (verify_gimple_assign_binary): Likewise.
+       * tree-ssa.c (useless_type_conversion_p): Preserve conversions
+       to non-1-precision BOOLEAN_TYPEs.
+
+2011-05-18  Tom de Vries  <tom@codesourcery.com>
+
+       PR target/45098
+       * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
+
+2011-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/49000
+       * tree-ssa.c (execute_update_addresses_taken): Call
+       maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
+       be rewritten and decl has been marked for renaming, reset
+       the debug stmt.
+
+2011-05-17  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
+       enum_opts_set when testing if attributes have set -mfpmath=.
+
+2011-05-17  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config/mips/mips.c (mips_handle_option): Remove unused variable.
+
+2011-05-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
+       info->entry with 0
+       * tree-inline.c (maybe_inline_call_in_expr):  Initialize
+       id.transform_lang_insert_block with NULL.
+
+2011-05-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
+       (output_fp_compare): Change args 3 and 4 to bool.
+       (ix86_expand_call): Change arg 6 to bool.
+       (ix86_attr_length_immediate_default): Change arg 2 to bool.
+       (ix86_attr_length_vex_default): Change arg 3 to bool.
+       * config/i386/i386.md: Update all uses.
+       * config/i386/i386.c: Ditto.
+       (ix86_flags_dependent): Change return type to bool.
+
+2011-05-17  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (type_hash_pair_compare): Fix comparison.
+
+2011-05-17  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (iterative_hash_gimple_type): Simplify singleton
+       case some more, fix final hash value of the non-singleton case.
+
+2011-05-17  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/49013
+       Revert
+       2011-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p_1): Use names of the
+       type itself, not its main variant.
+       (iterative_hash_gimple_type): Likewise.
+
+2011-05-17  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_register_canonical_type): Use the main-variant
+       leader for computing the canonical type.
+
+2011-05-17  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_memory_move_cost): Include cost of register
+       moves.
+
+       * config/rx/rx.md: Add peephole to remove redundant extensions
+       after loads.
+       (bitset_in_memory): Use rx_restricted_mem_operand.
+       (bitinvert_in_memory): Likewise.
+       (bitclr_in_memory): Likewise.
+
+2011-05-17  Kazuhio Inaoka  <kazuhiro.inaoka.ud@renesas.com>
+           Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.md: Add peepholes to match a register move followed
+       by a comparison of the moved register.  Replace these with an
+       addition of zero that does both actions in one instruction.
+
+2011-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/48986
+       * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
+       predicate to allow CONST_INT.
+       (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
+
+2011-05-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * opts-common.c (opt_enum_arg_to_value): New.
+       * opts.h (opt_enum_arg_to_value): Declare.
+       * config/i386/i386.opt (fpmath): Remove.
+       (mfpmath=): Use Enum, Init and Save.
+       (fpmath_unit): New Enum and EnumValue entries.
+       * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
+       name for function fpmath state.
+       * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
+       * config/i386/i386.c: Include diagnostic.h.
+       (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
+       (ix86_target_string): Take enum fpmath_unit value instead of string.
+       (ix86_debug_options): Update call to ix86_target_string.
+       (ix86_option_override_internal): Don't process fpmath strings here.
+       (x86_function_specific_save, ix86_function_specific_restore):
+       Don't handle fpmath state specially.
+       (ix86_function_specific_print): Pass fpmath state to
+       ix86_target_string instead of printing in this function.
+       (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
+       Handle enum attributes.
+       (IX86_ATTR_ENUM, ix86_opt_enum): New.
+       (ix86_valid_target_attribute_tree): Update option_strings
+       handling.  Handle fpmath as enum option.
+       (ix86_can_inline_p): Update field names for function fpmath state.
+       (ix86_expand_builtin): Update call to ix86_target_string.
+       * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
+       (ix86_fpmath): Remove.
+       * config/i386/t-i386 (i386.o): Update dependencies.
+
+2011-05-16  Joseph Myers  <joseph@codesourcery.com>
+
+       PR preprocessor/48677
+       * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
+       from decoded_options[0], not from itself.
+
+2011-05-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/constraints.md (z): New constraint.
+       * config/i386/i386.c (c): New mode attribute.
+       (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
+       *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
+       constraint for operand 0.
+       (*call_vzeroupper): Ditto.
+       (*call_rex64_ms_sysv): Ditto.  Use "rzm" constraint for operand 0.
+       (*call_rex64_ms_sysv_vzeroupper): Ditto.
+       (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
+       Use "lzm" constraint for operand 0.
+       (*call_pop_vzeroupper): Ditto.
+       (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
+       *sibcall_1_rex64 patterns using "P" mode iterator.  Use "Uz"
+       constraint for operand 0.
+       (*sibcall_vzeroupper): Ditto.
+       (*sibcall_rex64_ms_sysv): Ditto.
+       (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
+       (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
+       *sibcall_pop_1.  Use "Uz" constraint for operand 0.
+       (*sibcall_pop_vzeroupper): Ditto.
+       (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
+       *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
+       mode iterator.  Use "<c>zm" constraint for operand 1.
+       (*call_value_vzeroupper): Ditto.
+       (*call_value_rex64_ms_sysv): Ditto.  Use "rzm" constraint
+       for operand 1.
+       (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
+       (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
+       *call_value_pop_1.  Use "lzm" constraint for operand 1.
+       (*call_value_pop_vzeroupper): Ditto.
+       (*sibcall_value): Merge insn pattern from *sibcall_value_0,
+       *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
+       mode iterator.  Use "Uz" constraint for operand 1.
+       (*sibcall_value_vzeroupper): Ditto.
+       (*sibcall_value_rex64_ms_sysv): Ditto.
+       (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
+       (*sibcall_value_pop): Rename from *sibcall_pop_1.  Use "Uz"
+       constraint for operand 1.
+       (*sibcall_value_pop_vzeroupper): Ditto.
+       (*tls_global_dynamic_64): Use constant_call_address_operand predicate
+       and "z" constraint for operand 2.
+       (*tls_global_dynamic_32_gnu): Ditto.
+       (*tls_local_dynamic_base_32_gnu): Ditto.
+       (*tls_local_dynamic_base_64): Ditto.
+       (*tls_local_dynamic_32_once): Ditto.
+       * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
+       Update all callers.
+       * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
+
+2011-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p_1): Use names of the
+       type itself, not its main variant.
+       (iterative_hash_gimple_type): Likewise.
+
+2011-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
+       always visit pointer target and function result and argument types.
+
+2011-05-16  Jason Merrill  <jason@redhat.com>
+
+       PR c++/48999
+       * tree-inline.c (copy_statement_list): Put back recursion.
+
 2011-05-16  Georg-Johann Lay  <avr@gjlay.de>
 
        PR target/27663
 
        * gimple.c (struct type_hash_pair): New type.
        (type_hash_pair_compare): New function.
-       (iterative_hash_gimple_type): Mix in SCC member hashes in
-       hash-order.
+       (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
 
 2011-05-16  Revital Eres  <revital.eres@linaro.org>
 
-       * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P
-       first.
+       * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
 
 2011-05-15  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (floating point move splitters): Fix
        usage of standard_80387_constant_p.
-       (ix86_preferred_reload_class): Ditto.
+       * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
 
 2011-05-15  Uros Bizjak  <ubizjak@gmail.com>
 
        optimize_size is set.
        (standard_sse_constant_opcode): Output conditional AVX insn templates.
 
-2011-05-14  Uros Bizjak  <ubizjak@gmail.com>
-
-       * config/i386/constraint.md (Yd, Yx): New register constraints.
-       * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger.  Use
-       Yd conditional register constraint.
-       (*movtf_internal): Use standard_sse_constant_opcode.
-       (*movxf_internal): Merge with *movxf_internal_nointeger.  Use
-       Yx conditional register constraint.
-       (*movdf_internal): Merge with *movdf_internal_nointeger.  Use
-       Yd conditional register constraint.  Use standard_sse_constant_p to
-       check for valid SSE constants and call standard_sse_constant_opcode to
-       output SSE insn.
-       (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
-       constants and call standard_sse_constant_opcode to output SSE insn.
-       * config/i386/i386.c (ix86_option_ovverride_internal): Set
-       TARGET_INTEGER_DFMODE_MOVES for 64bit targets.  Clear it when
-       optimize_size is set.
-       (standard_sse_constant_opcode): Output conditional AVX insn templates.
-
 2011-05-14  Tobias Burnus  <burnus@net-b.de>
 
        * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.