OSDN Git Service

* tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index d1872bf..4dfc884 100644 (file)
+2010-05-28  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree-vect-stmts.c (vectorizable_assignment): Call build1 instead of
+       build1_stat.
+
+2010-05-28  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44312
+       * lto-streamer-in.c (unpack_ts_fixed_cst_value_fields):
+       Stream fixed-point constants mode.
+       (unpack_ts_type_value_fields): Fix width of TYPE_MODE
+       and TYPE_PRECISION.
+       * lto-streamer-out.c (pack_ts_fixed_cst_value_fields):
+       Stream fixed-point constants mode.
+       (pack_ts_function_decl_value_fields): Fix width of TYPE_MODE
+       and TYPE_PRECISION.
+
+2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-scalar-evolution.c (set_nb_iterations_in_loop): Inlined in the
+       only place it was called from.
+       (number_of_latch_executions): Do not return chrec_dont_know when the
+       may_be_zero is a runtime condition: instead, return a COND_EXPR
+       including the may_be_zero condition.
+       * cfgloop.h (struct loop): Add a note on COND_EXPRs to the comment
+       of nb_iterations.
+       * tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Handle
+       COND_EXPRs.
+
+2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (replace_phi_with_cond_gimple_assign_stmt): Don't
+       generate COND_EXPRs for degenerate_phi_result.
+
+2010-05-28  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/44293
+       * tree-if-conv.c (if_convertible_loop_p): Check the
+       if-convertibility of phi nodes in non predicated BBs.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * gcc.c (error, warning, inform): Remove duplicate ": " in output.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       PR driver/15303
+       * gcc.c (inform, warning, inform): New functions.
+       (fatal_ice): Rename to internal_error; change cmsgid parameter to
+       gmsgid.  All callers changed.
+       (notice): Rename to fnotice; add parameter fp.  All callers
+       changed.
+       (fatal_error): Rename to fatal_signal.  All users changed.
+       (fatal): Rename to fatal_error; change cmsgid parameter to
+       gmsgid.  All callers changed.
+       (process_command): Use warning instead of error for warnings.
+       (end_going_arg): Don't use _() around argument of error.
+       (do_spec_1): Use inform for message from %n specs.  Use warning
+       instead of error for warnings.
+       (main): Use inform for comparison messages.  Use warning for
+       message about unused linker input.
+       (error): Increment error_count.  Print "error: ".
+       * gcc.h (fatal): Change to fatal_error.
+       (warning): Declare.
+       * config/darwin-driver.c (darwin_default_min_version): Use warning
+       instead of fprintf for warnings.
+       * cppspec.c (lang_specific_driver): Use fatal_error instead of
+       fatal.
+
+2010-05-28  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/thumb2.md (*thumb2_addsi3_compare0): New.
+       (*thumb2_addsi3_compare0_scratch): New.
+       * config/arm/constraints.md (Pv): New.
+       * config/arm/arm.md (*addsi3_compare0): Remove FIXME comment. Use
+       for ARM mode only.
+       (*addsi3_compare0_scratch): Likewise.
+
+2010-05-28  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-reference.c (add_static_var): Remove redundant all_module_statics check.
+       (ipa_reference_write_optimization_summary): Call is_proper_for_analysis only
+       on local statics.
+
+2010-05-28  Iain Sandoe  <iains@gcc.gnu.org>
+
+        * config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.
+
+2010-05-28  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       PR bootstrap/44314
+       * config/alpha/linux.h, config/rs6000/linux.h, config/rs6000/linux64.h
+       (OPTION_GLIBC): Define.
+
+2010-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/41048
+       * dwarf2out.c (double_int_type_size_in_bits): New function.
+       (round_up_to_align): Change first argument and return value to
+       double_int.
+       (field_byte_offset): Work internally on double_ints.
+
+       PR target/43636
+       * builtins.c (expand_movstr): Use a temporary pseudo instead
+       of target even when target is not NULL and not const0_rtx, but
+       fails movstr predicate.
+       * config/m32c/blkmov.md (movstr): Add predicate to first operand.
+
+2010-05-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * final.c (rest_of_clean_state): Use %m in errors instead of
+       strerror (errno).
+       * gengtype.c (read_input_list, close_output_files): Use xstrerror
+       instead of strerror.
+       * toplev.c (process_options): Use %m in errors instead of strerror
+       (errno).
+       * tree-dump.c (dump_begin): Use %m in errors instead of strerror
+       (errno).
+
+2010-05-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_fn_abi_va_list): Make static.
+       (ix86_canonical_va_list_type): Make static.  Add declaration.
+       (ix86_enum_va_list): Make static.  Reindent.
+       * config/i386/i386-protos.h (ix86_fn_abi_va_list): Remove declaration.
+       (ix86_canonical_va_list_type): Ditto.
+       (ix86_enum_va_list): Ditto.
+
+2010-05-28  Richard Guenther  <rguenther@suse.de>
+
+       * lto-wrapper.c (run_gcc): With -save-temps generate a
+       user-visible ltrans filename.  Fixup ltrans unit numbering.
+
+2010-05-28  Kai Tietz  <kai.tietz@onevision.com>
+
+       * c-common.c (c_common_nodes_and_builtins): Replace use
+       of TARGET_ENUM_VA_LIST by target hook enum_va_list.
+       * config/i386/i386.c (TARGET_ENUM_VA_LIST_P): Hook
+       to ix86_enum_va_list.
+       * config/i386/i386.h (TARGET_ENUM_VA_LIST): Removed.
+       * doc/tm.texi (TARGET_ENUM_VA_LIST): Removed.
+       (TARGET_ENUM_VA_LIST_P): Add hook description.
+       * target-def.h (TARGET_ENUM_VA_LIST_P): Added.
+       * target.h (gcc_target): Add enum_va_list hook.
+
+       PR bootstrap/44299
+       * config/i386/t-cygming: Adjust header dependencies for winnt-cxx.c.
+       * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Remove undefine.
+       * config/i386/winnt.c (IN_GCC_FRONTEND): Likewise.
+
+2010-05-28  Alan Modra  <amodra@gmail.com>
+
+       PR target/44266
+       * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
+       emit_library_call machinery to set up __tls_get_addr calls.
+
+2010-05-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md (movqi): Fix typo ('*' -> '#').
+
+2010-05-28  Dodji Seketeli  <dodji@redhat.com>
+
+       revert fix for PR c++/44188
+       * c-common.c (is_typedef_decl): Revert the moving of  this
+       definition ...
+       * tree.c (is_typedef_decl): ... here.
+       (typdef_variant_p): Revert the moving of this  definition
+       here from gcc/cp/tree.c.
+       * c-common.h (is_typedef_decl): Revert the moving of this
+       declaration ...
+       * tree.h (is_typedef_decl): ... here.
+       (typedef_variant_p): Revert the moving of this  declaration here
+       from gcc/cp/cp-tree.h
+       * dwarf2out.c (is_naming_typedef_decl): Revert this new function.
+       (gen_tagged_type_die): Revert the splitting out of ...
+       (gen_type_die_with_usage): ... this function. Revert the anonymous
+       tagged type handling.
+       (gen_typedef_die): Revert emitting DW_TAG_typedef  for
+       typedefs naming anonymous tagged types.
+
+
+2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000-modes.def (PSImode): Delete.
+
+2010-05-28  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/constraints.md ("z" constraint): Change to CA_REGS.
+       * config/rs6000/predicates.md: Change XER_REGNO_P to CA_REGNO_P
+       throughout.
+       * config/rs6000/rs6000.c (rs6000_reg_names, alt_reg_names): Change
+       "xer" to "ca".
+       Change XER_REGNO_P to CA_REGNO_P, XER_REGNO to CA_REGNO, and
+       XER_REGS to CA_REGS throughout.
+       * config/rs6000/rs6000.h: Same.
+       (ADDITIONAL_REGISTER_NAMES): Add "xer".
+       * config/rs6000/rs6000.md: Change XER_REGNO to CA_REGNO.  Document
+       that mode_iterator "P" is the size for arithmetic carries as well.
+       * doc/md.texi (rs6000 section, "z" constraint): Fix documentation.
+
+2010-05-28  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/44255
+       * combine.c (struct rtx_subst_pair): Define unconditionally.
+       (propagate_for_debug_subst): Likewise.  If not AUTO_INC_DEC,
+       copy_rtx pair->to instead of cleanup_auto_inc_dec it.
+       Call make_compound_operation on pair->to.
+       (propagate_for_debug): Don't call make_compound_operation here.
+       Always use simplify_replace_fn_rtx.
+
+2010-05-27  Sterling Augustine  <sterling@tensilica.com>
+
+       * doc/invoke.texi (xtensa options): Add -mforce-no-pic.
+       * config/xtensa/xtensa.c (override_options): Check
+         TARGET_FORCE_NO_PIC and set flag_pic.
+       * config/xtensa/xtensa.opt: Document -mforce-no-pic
+
+2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR bootstrap/44299
+       * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
+       * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
+
+2010-05-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic-core.h: New.  Contents moved from diagnostic.h and
+       toplev.h.
+       * diagnostic.c: Don't include toplev.h.
+       (progname): Define.  Moved from toplev.c.
+       (seen_error): New function.
+       * diagnostic.h: Include diagnostic-core.h.
+       (diagnostic_t, emit_diagnostic): Don't declare here.
+       * toplev.c (progname): Move to toplev.c.
+       (emit_debug_global_declarations, compile_file, finalize,
+       do_compile, toplev_main): Use seen_error.
+       * toplev.h: Include diagnostic-core.h.
+       (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
+       internal_error, warning, warning_at, error, error_n, error_at,
+       fatal_error, pedwarn, permerror, sorry, inform, inform_n,
+       verbatim, fnotice, progname): Move to diagnostic-core.h.
+       * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
+       (expand_builtin_expect): Use seen_error.
+       * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
+       (c_make_fname_decl, c_write_global_declarations): Use seen_error.
+       * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
+       * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
+       * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
+       * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
+       errorcount for errors.
+       * c-opts.c (c_common_finish): Use seen_error.
+       * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
+       * cgraphunit.c (verify_cgraph_node, verify_cgraph,
+       cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
+       * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
+       (get_coverage_counts): Use seen_error.
+       * dwarf2out.c (dwarf2out_finish): Use seen_error.
+       * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
+       gimplify_body): Use seen_error.
+       * ipa-inline.c (cgraph_early_inlining): Use seen_error.
+       * ipa-pure-const.c (gate_pure_const): Use seen_error.
+       * ipa-reference.c (gate_reference): Use seen_error.
+       * jump.c: Include diagnostic-core.h instead of diagnostic.h.
+       * lambda-code.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
+       * lto-compress.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-section-in.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-streamer-out.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-streamer.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       (gate_lto_out): Use seen_error.
+       * matrix-reorg.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * omega.c: Include diagnostic-core.h instead of diagnostic.h.
+       * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
+       (gate_expand_omp, lower_omp_1): Use seen_error.
+       * passes.c: Include diagnostic-core.h instead of diagnostic.h.
+       (rest_of_decl_compilation, rest_of_type_compilation,
+       gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
+       * tree-cfg.c (label_to_block_fn): Use seen_error.
+       * tree-inline.c (optimize_inline_calls): Use seen_error.
+       * tree-mudflap.c (mudflap_finish_file): Use
+       seen_error.
+       * tree-optimize.c (gate_all_optimizations,
+       gate_all_early_local_passes, gate_all_early_optimizations): Use
+       seen_error.
+       * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
+       * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
+       (varpool_remove_unreferenced_decls,
+       varpool_assemble_pending_decls): Use seen_error.
+       * Makefile.in (DIAGNOSTIC_CORE_H): Define.
+       (TOPLEV_H, DIAGNOSTIC_H): Update.
+       (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
+       lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
+       c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
+       builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
+       coverage.o, lambda-code.o): Update dependencies.
+
+2010-05-25  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/44188
+       * c-common.c (is_typedef_decl): Move this definition ...
+       * tree.c (is_typedef_decl): ... here.
+       (typdef_variant_p): Move definition here from gcc/cp/tree.c.
+       * c-common.h (is_typedef_decl): Move this declaration ...
+       * tree.h (is_typedef_decl): ... here.
+       (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
+       * dwarf2out.c (is_naming_typedef_decl): New function.
+       (gen_tagged_type_die): Split out of ...
+       (gen_type_die_with_usage): ... this function. When an anonymous
+       tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
+       is emitted for the typedef.
+       (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
+       anonymous tagged types.
+
+2010-05-27  Jason Merrill  <jason@redhat.com>
+
+       * print-tree.c (debug_vec_tree): New fn.
+       (print_vec_tree): New fn.
+       * tree.h: Declare them.
+       * gdbinit.in (pvt): New command.
+
+       * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
+
+       * gdbinit.in (pdd): New command.
+
+2010-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
+       (update_caller_keys): Return early if there are no callers;
+       only update fibheap when decresing the key.
+       (update_callee_keys): Avoid recursion.
+       (decide_inlining_of_small_functions): When badness does not match;
+       re-insert into fibheap.
+
+2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
+       (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
+       (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
+       (ALL_HOST_OBJS): Now a union of the above two.
+       <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
+       all files in ALL_HOST_FRONTEND_OBJS.
+       * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
+
+       * c-common.c: Pretend to be a backend file by undefining
+       IN_GCC_FRONTEND (still need rtl.h here).
+
+2010-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
+       * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
+
+2010-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * sched-ebb.c: Rename struct deps to struct deps_desc.
+       * ddg.c: Likewise.
+       * sel-sched-ir.c: Likewise.
+       * sched-deps.c: Likewise.
+       * sched-int.h: Likewise.
+       * sched-rgn.c: Likewise.
+
+2010-05-27  Jon Beniston <jon@beniston.com>
+
+       PR 43726
+       * config/lm32/lm32.h: Remove definition of 
+       GO_IF_MODE_DEPENDENT_ADDRESS. Update copyright year.
+
+2010-05-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR lto/44230
+       * dwarf2out.c (dwarf2out_begin_prologue): Fix nits in sorry message.
+
+2010-05-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44284
+       * tree-vect-stmts.c (vectorizable_assignment): Handle
+       sign-changing conversions as simple copy.
+
+2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * gthr-posix.h (pthread_cancel): Don't declare if compiling against
+       Bionic C library.
+       (__gthread_active_p): Check for pthread_create if compiling against
+       Bionic C library.
+
+2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       Support compilation for Android platform.  Reimplement -mandroid.
+
+       * config.gcc (*linux*): Include linux-android.h and linux-android.opt.
+       (*android*): Set ANDROID_DEFAULT.
+       (arm*-*-linux*): Include linux-android.h.
+       (arm*-*-eabi*): Don't include previous -mandroid implementation.
+       * config/arm/eabi.h: Remove, move Android-specific parts ...
+       * config/linux-android.h: ... here.  New file.
+       * config/arm/eabi.opt: Rename to ...
+       * config/linux-android.opt: ... this.
+       (mandroid): Allow -mno-android option.  Initialize based on
+       ANDROID_DEFAULT.
+       * config/linux.h (STARTFILE_SPEC, ENDFILE_SPEC, CC1_SPEC, LIB_SPEC):
+       Move logic to corresponding LINUX_TARGET_* macros.
+       (TARGET_OS_CPP_BUILTINS): Define __ANDROID__, when appropriate.
+       * config/linux-eabi.h (LINK_SPEC, CC1_SPEC, CC1PLUS_SPEC, LIB_SPEC,)
+       (STARTFILE_SPEC, ENDFILE_SPEC): Define to choose between Linux and
+       Android definitions.
+       (LINUX_TARGET_OS_CPP_BUILTINS): Define __ANDROID__ if TARGET_ANDROID.
+       * doc/invoke.texi (-mandroid, -tno-android-cc, -tno-android-ld):
+       Document.
+
+2010-05-27  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       Add support for Bionic C library
+
+       * config.gcc (LIBC_GLIBC, LIBC_BIONIC, LIBC_UCLIBC): New tm_define
+       macro.
+       (DEFAULT_LIBC): New tm_define macro set to one of LIBC_*.
+       (bfin*-uclinux, moxie-*-uclinux*, m68k-*-uclinux*): Update.
+
+       * config/linux.h (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC): Define.
+       (LINUX_TARGET_OS_CPP_BUILTINS): Define __gnu_linux__ only for GLIBC.
+       (CHOOSE_DYNAMIC_LINKER1, CHOOSE_DYNAMIC_LINKER): Make it easier
+       to support multiple C libraries.  Handle Bionic.
+       (BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,)
+       (BIONIC_DYNAMIC_LINKER64): Define.
+       (LINUX_DYNAMIC_LINKER, LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64):
+       Update.
+       (TARGET_HAS_SINCOS): Enable for Bionic.
+
+       * config/linux.opt: Rewrite to handle more than 2 C libraries.  Make
+       the last option specified on command line take effect.
+       (linux_uclibc): Rename to linux_libc, initialize using DEFAULT_LIBC.
+       (mbionic): New.
+       (mglibc, muclibc): Update.
+
+       * config/alpha/linux-elf.h, config/rs6000/linux64.h,
+       * config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Update to use
+       DEFAULT_LIBC.
+
+       * doc/invoke.texi (-mglibc, -muclibc): Update.
+       (-mbionic): Document.
+
+2010-05-27  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * c-common.h (c_register_addr_space): Add prototype.
+       (ADDR_SPACE_KEYWORD): Remove.
+       * c-common.c (c_register_addr_space): New function.
+       (c_addr_space_name): Reimplement.
+       (c_common_reswords): Do not include TARGET_ADDR_SPACE_KEYWORDS.
+
+       * config/spu/spu.h (TARGET_ADDR_SPACE_KEYWORDS): Remove.
+       (REGISTER_TARGET_PRAGMAS): Call c_register_addr_space.
+
+       * doc/tm.texi (Named Address Spaces): Mention c_register_addr_space.
+       Remove TARGET_ADDR_SPACE_KEYWORDS.
+
+2010-05-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * input.c: New file.
+       * input.h (main_input_filename): Move declaration to toplev.h.
+       * toplev.c (input_location, line_table): Move to input.c
+       * toplev.h (main_input_filename): Move declaration from input.h.
+       * tree.c (expand_location): Move to input.c.
+       * Makefile.in (OBJS-common): Add input.o.
+       (input.o): Add dependencies.
+
+2010-05-27  Richard Guenther  <rguenther@suse.de>
+
+       * lto-wrapper.c (maybe_unlink_file): Ignore unlink failure
+       for non-existant files.
+       (fork_execute): Mark args_name file as deleted.
+
+2010-05-27  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR bootstrp/44287
+       * c-lex.c (narrowest_unsigned_type): Check for NULL_TREE.
+       (narrow_signed_type): Likewise.
+
+2010-05-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (verify_cgraph_node): Do checking that DECL match
+       edge only when checking is enabled; check using former_clone_of;
+       check inline clones too.
+       (cgraph_materialize_clone): Record former_clone_of pointer.
+       (cgraph_redirect_edge_call_stmt_to_callee): Assert that we are not
+       combining redirections; dump args_to_skip bitmap
+       (cgraph_materialize_all_clones): Do no redirection here.
+       * ipa-inline.c (inline_transform): Do redirection here.
+       * cgraph.h (struct cgraph_node): Add former_clone_of filed (enabled
+       cheking only).
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config/avr/avr-c.c: Do not include regs.h.
+       Include cpplib.h for cpp_define and tree.h for c-common.h.
+       * config/avr/avr-devices.c (avr_mcu_types): Fix initializer.
+       * config/avr/t-avr: Fix dependencies for avr-c.o.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * explow.c (set_stack_check_libfunc): Adjust to accept name as a
+       string instead of SYMBOL_REF rtx.
+       * rtl.h (set_stack_check_libfunc): Move prototype from here...
+       * libfuncs.h: ...to here.  Adjust for explow.c change.
+
+2010-05-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * pretty-print.c: Don't include ggc.h.
+       (identifier_to_locale_alloc, identifier_to_locale_free): Define.
+       (identifier_to_locale): Use them for allocation.
+       * pretty-print.h (identifier_to_locale_alloc,
+       identifier_to_locale_free): Declare.
+       * toplev.c (alloc_for_identifier_to_locale): New.
+       (general_init): Set identifier_to_locale_alloc and
+       identifier_to_locale_free.
+       * Makefile.in (pretty-print.o): Update dependencies.
+
+2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.c (gimple_types_compatible_p): Return 0 for aggregate and
+       pointer types if they have different alignment or mode.
+
+2010-05-26  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/sparc/sparc.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
+       LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+       * config/sparc/sparc-protos.h (function_value): Remove declaration.
+       * config/sparc/sparc.c (sparc_function_value, sparc_libcall_value,
+       sparc_function_value_regno_p): New functions.
+       (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+       TARGET_FUNCTION_VALUE_REGNO_P): Define.
+       (function_value): Rename to...
+       (sparc_function_value_1): ... this. Make static. Change 'incoming_p'
+       argument to 'outgoing'.
+       (function_arg_record_value, function_arg_union_value,
+       function_arg_vector_value): Update comment.
+
+2010-05-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (struct dw_fde_struct): Reorder flags.
+       (fde_needed_for_eh_p): New predicate.
+       (output_call_frame_info): Use it throughout to decide whether FDEs
+       are needed for EH purpose.
+       (dwarf2out_begin_prologue): Reorder assignments.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (if_convertible_gimple_assign_stmt_p): Do not
+       special case loop->header.
+       (is_predicated): New.
+       (if_convertible_loop_p): Call it.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (add_to_dst_predicate_list): Do not pass a statemet
+       iterator in parameter.  Do not generate code during the analysis.
+       (tree_if_convert_cond_stmt): Removed.
+       (tree_if_convert_stmt): Removed.
+       (predicate_bbs): New.
+       (if_convertible_loop_p): Call predicate_bbs.
+       (tree_if_conversion): Simplify the top-level logic as predicate_bbs
+       now contains all the analysis part.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (tree_if_convert_cond_stmt): Do not remove
+       statements in the analysis part.
+       (tree_if_convert_stmt): Update comment.
+       (remove_conditions_and_labels): New.
+       (combine_blocks): Call remove_conditions_and_labels.
+       (tree_if_conversion): Update comment.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (if_convertible_bb_p): Don't handle BBs with more
+       than 2 predecessors or more than 2 successors.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (if_convertible_loop_p): Avoid if-conversion
+       of loops in which the data dependence analysis fails.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (if_convertible_loop_p): Do not compute/free
+       CDI_POST_DOMINATORS.
+       (tree_if_conversion): Same.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (tree_if_conversion): Do not return a bool.
+
+2010-05-26  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Update copyright years.  Fix comments.
+       Fix indentation.
+
+2010-05-26  Kai Tietz  <kai.tietz@onevision.com>
+
+       * builtin-types.def (BT_INT128): New primitive type.
+       (BT_UINT128): Likewise.
+       * c-common.c (c_common_r): Add __int128 keyword.
+       (c_common_type_for_size): Handle __int128.
+       (c_common_type_for_mode): Likewise.
+       (c_common_signed_or_unsigned_type): Likewise.
+       (c_common_nodes_and_builtins): Add builtin type
+       if target supports 128-bit integer scalar.
+       * c-common.h (enum rid): Add RID_INT128.
+       * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__
+       if target supports 128-bit integer scalar.
+       * c-decl.c (declspecs_add_type): Handle new keyword __int128.
+       (finish_declspecs): Likewise.
+       * c-parser.c (c_token_starts_typename): Handle RID_INT128.
+       (c_token_starts_declspecs): Likewise.
+       (c_parser_declspecs): Likewise.
+       (c_parser_attributes): Likewise.
+       (c_parser_objc_selector): Likewise.
+       * c-pretty-print.c (pp_c_integer_constant): Handle __int128.
+       * c-tree.h (enum c_typespec_keyword): Add cts_int128.
+       * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types.
+       * tree.c (make_or_reuse_type): Likewise.
+       (make_unsigned_type): Likewise.
+       (build_common_tree_nodes_2): Likewise.
+       * tree.h (enum integer_type_kind): Add itk_int128 and
+       itk_unsigned_int128.
+       (int128_integer_type_node): New define.
+       (int128_unsigned_type_node): New define.
+       * doc/extend.texi: Add documentation about __int128 type.
+
+2010-05-26  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (copy_nary): Adjust.
+       (copy_phis): Rename to ...
+       (copy_phi): ... this.  Adjust.
+       (copy_references): Rename to ...
+       (copy_reference): ... this.  Adjust.
+       (process_scc): Use HTAB_FOR_EACH_ELEMENT to insert the
+       result into the valid table.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config/spu/spu-c.c: Do not include function.h, rtl.h, expr.h,
+       insn-config.h, insn-codes.h, recog.h, and optabs.h.
+
+2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Remove.
+
+2010-05-26  Richard Guenther  <rguenther@suse.de>
+
+       * opts.c (common_handle_option): Handle OPT_Ofast.
+
+2010-05-26  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic.c: Don't include opts.h.
+       (permissive_error_option): Define.
+       (diagnostic_initialize): Take n_opts parameter.  Allocate memory
+       for classify_diagnostic.  Don't use memset for
+       classify_diagnostic.  Initialize new and recently added fields.
+       (diagnostic_classify_diagnostic): Use context->n_opts instead of
+       N_OPTS.
+       (diagnostic_report_diagnostic): Pass context parameter to
+       diagnostic_report_warnings_p.  Use option_enabled and option_name
+       hooks from context.
+       (emit_diagnostic): Use permissive_error_option.
+       (permerror): Likewise.
+       * diagnostic.h: Don't include options.h.
+       (struct diagnostic_context): Add n_opts, opt_permissive,
+       inhibit_warnings, warn_system_headers, option_enabled and
+       option_name fields.  Change classify_diagnostic to a pointer.
+       * opts-diagnostic.h: New file.
+       * opts.c: Include opts-diagnostic.h.
+       (common_handle_option): Set global_dc fields for -Wfatal-errors,
+       -Wsystem-headers, -fshow-column, -pedantic-errors and -w.
+       (option_name): New function.
+       * c-opts.c (c_common_init_options): Set global_dc->opt_permissive.
+       (c_common_handle_option): Set global_dc->permissive for
+       -fpermissive.
+       * c-common.c (c_cpp_error): Save and restore
+       global_dc->warn_system_headers, not variable warn_system_headers.
+       * toplev.c: Include opts-diagnostic.h.
+       (general_init): Update call to diagnostic_initialize.  Set
+       global_dc->show_column, global_dc->option_enabled and
+       global_dc->option_name.
+       (process_options): Don't set global_dc fields here.
+       * Makefile.in (DIAGNOSTIC_H): Remove options.h.
+       (diagnostic.o, opts.o, toplev.o): Update dependencies.
+
+2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.md (movsi): Split a movsi from a
+       const after reload.
+
+2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * ggc-zone.c: Update copyright year.
+       (poison_region): Mark memory for Valgrind as undefined before
+       memset () call and inaccessible afterwards.
+       (ggc_pch_total_size): Change type of i to int.
+
+2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * ggc-common.c (ggc_free_overhead): Allow empty slot.
+
+2010-05-26  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * ggc-common.c: Update copyright year.
+       (ggc_rlimit_bound): Remove prototype.  Compile only if
+       !ENABLE_GC_CHECKING && !ENABLE_GC_ALWAYS_COLLECT.
+       (ggc_min_heapsize_heuristic): Compile only if !ENABLE_GC_CHECKING
+       && !ENABLE_GC_ALWAYS_COLLECT.  Make static.
+       (ggc_min_heapsize_heuristic): Likewise.
+
+2010-05-26  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/44164
+       * tree-ssa-alias.c (aliasing_component_refs_p): Fix the
+       no-common access-path disambiguation.
+       (indirect_ref_may_alias_decl_p): Adjust.
+       (indirect_refs_may_alias_p): Likewise.
+       (refs_may_alias_p_1): Likewise.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-typeck.c: Do not include expr.h.
+
+2010-05-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * rtl.h (decl_default_tls_model): Move prototype from here...
+       * output.h: ...to here.
+       * c-decl.c: Do not include rtl.h.
+       * c-pragma.c: Likewise.
+       * c-parser.c: Likewise.
+       * c-gimplify.c: Likewise.  And also not hard-reg-set.
+       * c-common.c: Do not include rtl.h.  Include tm_p.h and add a
+       FIXME note for it.  Add a FIXME note for expr.h.
+       * config/i386/i386-protos.h (ix86_enum_va_list, ix86_fn_abi_va_list,
+       ix86_canonical_va_list_type): Make visible even if RTX_CODE is not
+       defined.
+
+2010-05-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/44199
+       * config/rs6000/rs6000.c (rs6000_emit_epilogue): If cfun->calls_alloca
+       or total_size is larger than red zone size for non-V4 ABI, emit a
+       stack_tie resp. frame_tie insn before stack pointer restore.
+       * config/rs6000/rs6000.md (frame_tie): New insn.
+
+2010-05-25  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * function.h (struct function): Add can_throw_non_call_exceptions bit.
+       * lto-streamer-in.c (input_function): Stream it in.
+       * lto-streamer-out.c (output_function): Stream it out.
+       * function.c (allocate_struct_function): Set it.
+       (expand_function_end): Substitute cfun->can_throw_non_call_exceptions
+       for flag_non_call_exceptions.
+       * cfgbuild.c (control_flow_insn_p): Likewise.
+       (make_edges): Likewise.
+       * cfgexpand.c (expand_stack_alignment): Likewise.
+       * combine.c (distribute_notes): Likewise.
+       * cse.c (cse_extended_basic_block): Likewise.
+       * except.c (insn_could_throw_p): Likewise.
+       * gcse.c (simple_mem): Likewise.
+       * ipa-pure-const.c (check_call): Likewise.
+       (check_stmt ): Likewise.
+       * lower-subreg.c (lower-subreg.c): Likewise.
+       * optabs.c (emit_libcall_block): Likewise.
+       (prepare_cmp_insn): Likewise.
+       * postreload-gcse.c (eliminate_partially_redundant_loads): Likewise.
+       * postreload.c (rest_of_handle_postreload): Likewise.
+       * reload1.c (reload_as_needed): Likewise.
+       (emit_input_reload_insns): Likewise.
+       (emit_output_reload_insns): Likewise.
+       (fixup_abnormal_edges): Likewise.
+       * sel-sched-ir.c (init_global_and_expr_for_insn): Likewise.
+       * store-motion.c (find_moveable_store): Likewise.
+       * tree-eh.c (stmt_could_throw_p): Likewise.
+       (tree_could_throw_p): Likewise.
+       * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+       * config/arm/arm.c (arm_expand_prologue): Likewise.
+       (thumb1_expand_prologue): Likewise.
+       * config/rx/rx.md (cbranchsf4): Likewise.
+       (cmpsf): Likewise.
+       * config/s390/s390.c (s390_emit_prologue): Likewise.
+       * tree-inline.c (initialize_cfun): Copy can_throw_non_call_exceptions.
+       (inline_forbidden_into_p): New predicate.
+       (expand_call_inline): Use it to forbid inlining.
+       (tree_can_inline_p): Likewise.
+
+2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config/i386/i386-c.c: Do not include rtl.h.
+       * config/i386/t-i386: Update dependencies.
+
+2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * attribs.c: Do not include rtl.h.
+       * Makefile.in: Update dependencies.
+
+2010-05-25  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (double_int_and): New.
+       * combine.c (try_combine): Clean up, use double_int_* and
+       immed_double_int_const functions.
+
+2010-05-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_ld_jalr_reloc): Redirect grep stdout,
+       stderr to /dev/null instead of grep -q.
+       * configure: Regenerate.
+
+2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in (EXCEPT_H): Fix typo.
+
+2010-05-25  Vladimir Makarov <vmakarov@redhat.com>
+
+       * ira-build.c (update_conflict_hard_reg_costs): New.
+       (ira_build): Call update_conflict_hard_reg_costs.
+
+2010-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/41371
+       * var-tracking.c (find_loc_in_1pdv): Guard asserts with
+       ENABLE_CHECKING.
+       (intersect_loc_chains): Walk the s2var's loc_chain together
+       with s1node chain as long as the locations are equal, don't
+       call find_loc_in_1pdv in that case.
+
+       PR debug/42801
+       * tree-inline.c (remap_decls): Remap DECL_VALUE_EXPR here...
+       (copy_bind_expr): ... instead of here.
+       (copy_tree_body_r): If id->remapping_type_depth clear TREE_BLOCK
+       if the block hasn't been remapped.
+       * dwarf2out.c (gen_formal_parameter_die, gen_variable_die): When
+       emitting concrete instance of abstract VLA, add DW_AT_type attribute.
+
+2010-05-25  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44069
+       * gimple-fold.c (maybe_fold_stmt_addition): Avoid generating
+       out-of-bounds array accesses.
+
+2010-05-25  Richard Guenther  <rguenther@suse.de>
+
+       * lto-wrapper.c (nr, input_names, output_names, makefile): Globalize.
+       (lto_wrapper_exit): Unlink all LTRANS temporary files on error.
+       (run_gcc): Re-organize to make cleanup easier.
+
+2010-05-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (optimization_options): Fix and move the
+       flag_prefetch_loop_arrays override ...
+       (override_options): ... here.
+
+2010-05-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic.c: Don't include plugin.h.
+       (diagnostic_report_diagnostic): Don't handle plugins specially
+       here.  Pass context to internal_error callback.
+       * diagnostic.h (struct diagnostic_context): Add context parameter
+       to internal_error callback.
+       * plugin.c (warn_if_plugins, plugins_internal_error_function): New.
+       * plugin.h (struct diagnostic_context): Declare.
+       (warn_if_plugins, plugins_internal_error_function): Declare.
+       * toplev.c (general_init): Set global_dc->internal_error.
+       * Makefile.in (diagnostic.o): Update dependencies.
+
+2010-05-25 Iain Sandoe  <iains@gcc.gnu.org>
+
+       * config/rs6000/darwin64.h: Update DARWIN_ARCH_SPEC.
+       * config/rs6000/t-darwin64: New.
+       * config.gcc (powerpc64-*-darwin*): Use darwin.opts, t-darwin64,
+       build crt2.
+
+2010-05-25  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       PR 44203
+       * tree-ssa-loop-prefetch.c: Fix logic for step calculation to
+       match the original (and intended) behaviour before r159557.  This
+       changeset changed a=a+b*c to a=(a+b)*b which was obviously wrong
+       in two ways.
+
+2010-05-25  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi: Document -Ofast.
+       * target.h (struct gcc_target): Add handle_ofast.
+       * target-def.h (TARGET_HANDLE_OFAST): Add.
+       (TARGET_INITIALIZER): Adjust.
+       * opts.c (decode_options): Handle -Ofast.  Enable -ffast-math with it.
+       * common.opt (Ofast): Add.
+
+2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
+
+       * doc/tm.texi (STORE_FLAG_VALUE): Do not refer to sCC patterns.
+       * doc/md.texi (cstoreXX4): Update for cond-optab changes.
+
+2010-05-25  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/43610
+       * optabs.c (prepare_float_lib_cmp): Allow reversing the comparison
+       even if !FLOAT_LIB_COMPARE_RETURNS_BOOL.  Always compute true_rtx and
+       false_rtx.  Use false_rtx to compute the correct *ptest for reversed
+       comparisons for which !FLOAT_LIB_COMPARE_RETURNS_BOOL.
+
+2010-05-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (loc_descr_plus_const): When offset is negative, use
+       DW_OP_minus with negated offset instead of DW_OP_plus.
+       (loc_list_from_tree): Don't test whether second operand is INTEGER_CST.
+
+2010-05-25  Wei Guozhi  <carrot@google.com>
+
+       * config/arm/thumb2.md (thumb2_tlobits_cbranch): Add constraint to
+       tst instruction and a new alternative.
+       * config/arm/constraints.md (Pu): New constraint.
+
+2010-05-24  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * function.c (assign_stack_local_1): Initialize variable
+       to avoid warning when bootstrapping at -O3.
+
+2010-05-24  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * configure.ac (all_lang_makefiles): Remove everything related to it.
+       * configure: Regenerate.
+       * Makefile.in: Fix reference to ada Make-lang.in.
+       Remove support for LANG_MAKEFILES.
+
+2010-05-24  Daniel Jacobowitz  <dan@codesourcery.com>
+           Sandra Loosemore  <sandra@codesourcery.com>
+
+       * config/arm/neon-testgen.ml: Use dg-add-options arm_neon.
+       * doc/sourcebuild.texi (Effective-Target Keywords): Update arm_neon_ok
+       description.  Add arm_neon_fp16_ok.
+       (Add Options): Add arm_neon and arm_neon_fp16.
+
+2010-05-24  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic.c: Don't include flags.h.
+       (pedantic_warning_kind, permissive_error_kind): Take diagnostic
+       context parameters.  Check flags in the context passed as a parameter.
+       (diagnostic_build_prefix): Add context parameter.  Check
+       show_column flag in context.
+       (diagnostic_action_after_output): Check fatal_errors flag in context.
+       (diagnostic_report_current_module): Check show_column flag in context.
+       (default_diagnostic_starter): Update call to
+       diagnostic_build_prefix.
+       (diagnostic_report_diagnostic): Pass context to pedantic_warning_kind.
+       (emit_diagnostic): Pass context to permissive_error_kind.
+       (permerror): Pass context to permissive_error_kind.
+       * diagnostic.h (struct diagnostic_context): Add show_column,
+       pedantic_errors, permissive and fatal_errors fields.
+       (diagnostic_build_prefix): Update prototype.
+       * langhooks.c
+       * toplev.c (process_options): Set flags in global_dc from
+       flag_show_column, flag_pedantic_errors, flag_permissive,
+       flag_fatal_errors.
+       * tree-diagnostic.c (default_tree_diagnostic_starter): Update call
+       to diagnostic_build_prefix.
+       * Makefile.in (diagnostic.o): Update dependencies.
+
+2010-05-24  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/ia32intrin.h (__crc32q): Define only if
+       __SSE4_2__ is defined.
+
+2010-05-24  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR target/44132
+       PR middle-end/43602
+       * varasm.c (get_emutls_init_templ_addr): Copy DECL_PRESERVE_P,
+       DECL_VISIBILITY_SPECIFIED.
+       (emutls_decl): Set DECL_PRESERVE_P and copy
+       DECL_VISIBILITY_SPECIFIED, DECL_RESTRICTED_P.
+       (emutls_finalize_control_var): New callback.
+       (emutls_finish): Finalize emutls control variables.
+       * toplev.c (compile_file): Move the call to emutls_finish ()
+       before varpool_assemble_pending_decls ().
+
+2010-05-24  Daniel Gutson  <dgutson@codesourcery.com>
+
+       * config/arm/lib1funcs.asm (__ARM_ARCH__): __ARM_ARCH_7EM__
+       added to the preprocessor condition.
+
+2010-05-24  Paul Brook  <paul@codesourcery.com>
+
+       * gengtype-lex.l: Add HARD_REG_SET.
+       * expr.c (expand_expr_real_1): Record writes to hard registers.
+       * function.c (rtl_data): Add asm_clobbers.
+       * ira.c (compute_regs_asm_clobbered): Use crtl->asm_clobbers.
+       (ira_setup_eliminable_regset): Remove regs_asm_clobbered.
+       Use crtl->asm_clobbers.
+
+2010-05-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/makefile.texi (Makefile): Mention stages 'profile'
+       and 'feedback' for profiledbootstrap.
+
+2010-05-23  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/44245
+       * config/i386/i386.c (def_builtin): Properly check
+       OPTION_MASK_ISA_64BIT.
+
+2010-05-23  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (diagnose_mismatched_decls): Give error for duplicate
+       typedefs with different but compatible types.  Allow duplicate
+       typedefs with the same type except for pedantic non-C1X, but give
+       warning for variably modified types.
+       * c-typeck.c (tagged_types_tu_compatible_p,
+       function_types_compatible_p, type_lists_compatible_p,
+       comptypes_internal): Add parameter different_types_p; set
+       *different_types_p for different but compatible types.  All
+       callers changed.
+       (comptypes_check_different_types): New.
+       * c-tree.h (comptypes_check_different_types): Declare.
+
+2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * regs.h: Do not include obstack.h, basic-block.h.  Include machmode.h.
+       * jump.c: Include basic-block.h.
+       * profile.c: Likewise.
+       * tree-profile.c: Likewise.
+       * coverage.c: Likewise.
+       * basic-block.h (optimize_function_for_size_p): Move to function.h.
+       (optimize_function_for_speed_p): Likewise.
+       * function.h (optimize_function_for_size_p,
+       optimize_function_for_speed_p): Moved here from basic-block.h.
+       * Makefile.in: Update dependencies.
+
+2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * lto-wrapper.c (run_gcc): Unset MAKEFLAGS and MFLAGS
+       before calling make; allow override through $MAKE.
+       * doc/invoke.texi (Optimize Options): Document override.
+
+2010-05-23  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/rs6000/rs6000.c (rs6000_mode_dependent_address_p): New.
+       (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+       (rs6000_mode_dependent_address_ptr): Make static.
+       * config/rs6000/rs6000.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+       * config/rs6000/rs6000-protos.h (rs6000_mode_dependent_address_ptr):
+       Remove.
+
+2010-05-23  Maarten Lankhorst  <mlankhorst@codeweavers.com>
+
+       PR target/43869
+       * config/i386/i386.c: Make sure that the correct regparm is passed.
+
+2010-05-23  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * sbitmap.h (sbitmap_ptr, const_sbitmap_ptr): Move from here...
+       * sbitmap.c: ...to here to internalize sbitmap element access.
+       Do not include tm.h, rtl.h, flags.h, hard-reg-set.h, and obstack.h.
+       Explain why basic-block.h is included.
+       * function.h: Include tm.h for CUMULATIVE_ARGS.
+       * Makefile.in: Update dependencies.
+
+2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * coretypes.h (struct simple_bitmap_def, sbitmap, const_sbitmap):
+       New core types.
+       * sbitmap.h (struct sbitmap_def): Do not typedef here.
+       * sbitmap.c: Include sbitmap.h.
+       * basic-block.h: Do not include bitmap.h, sbitmap.h, partition.h,
+       hard-reg-set.h.  Split everything related to regsets out from here...
+       * regset.h: ...to here.  New file.
+       * df.h: Include regset.h and sbitmap.h.
+       * tree-flow.h: Likewise.
+       * cfgloop.h: Likewise.
+       * except.h: Do not include sbitmap.h.  Include hashtab.h.
+       * cgraph.h: Include vec.h and function.h.
+       * reload.h (struct insn_chain): Change types of live_throughout
+       and dead_or_set from regset_head to bitmap_head.
+       (compute_use_by_pseudos): Be defined also if regset.h is not included.
+       * ira-int.h (struct ira_spilled_reg_stack_slot): Change type of
+       spilled_regs from regset_head to bitmap_head to avoid dependency
+       in regset.h.
+       * sel-sched-ir.h: Include regset.h.
+       * reload.c: Include df.h before reload.h.
+       * caller-save.c: Likewise.
+       * reload1.c: Likewise.
+       * ira.c: Likewise.
+       (mark_elimination): Update type of r to bitmap, consistent with
+       DF_LR_IN.
+       * dominance.c: Include bitmap.h.
+       * modulo-sched.c: Include df.h.
+       * cfganal.c: Include bitmap.h and sbitmap.h.
+       * cfgbuild.c: Include sbitmap.h.
+       * lcm.c: Include sbitmap.h.
+       * gcse.c (alloc_gcse_mem): Allocate regset with ALLOC_REG_SET.
+       * domwalk.c: Include sbitmap.h, exclude ggc.h.
+       * cfgexpand.c: Inlcude bitmap.h and sbitmap.h.
+       * cselib.c: Include bitmap.h.
+       * tree-optimize.c: Include regset.h.
+       * stmt.c: Include bitmap.h.
+       * Makefile.in: Update dependencies.
+
+2010-05-22  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (struct varpool_node): Add same_comdat_group.
+       * lto-cgrpah.c (lto_output_varpool_node): Output same_comdat_group
+       pointer.
+       (output_varpool): Update call of lto_output_varpool_node.
+       (input_varpool): Read same_comdat_group pointer.
+       (input_varpool_1): Fixup same_comdat_group pointer.
+       * ipa.c (cgraph_remove_unreachable_nodes): WHen one of same comdat
+       group is needed, all are.
+       * varpool.c (varpool_remove_node): Remove node from same comdat group
+       linklist too.
+       (varpool_analyze_pending_decls): Walk same comdat groups.
+
+2010-05-22  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * rtl.h (union rtunion_def): Remove rt_bit member.
+       (XBITMAP, X0BITMAP, XCBITMAP): Remove.
+       * print-rtl (print_rtx): Do not print the member.
+       * gengtype.c (adjust_field_rtx_def): Do not handle it.
+       * gengenrtl.c (type_from_format): Likewise.
+       (accessor_from_format): Likewise.
+
+2010-05-22  Joseph Myers  <joseph@codesourcery.com>
+
+       * dbgcnt.c: Include toplev.h instead of errors.h.
+       * ira-emit.c: Don't include errors.h.
+       * ira.c: Include toplev.h instead of errors.h.
+       * lto-compress.c: Include toplev.h instead of errors.h.
+       * Makefile.in (lto-compress.o, lto-streamer-out.o, ira-emit.o,
+       ira.o, dbgcnt.o): Update dependencies.
+
+2010-05-22  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_types_compatible_p): Check type qualifications
+       before merging pointer to complete and pointer to incomplete type.
+       * lto-symtab.c (lto_symtab_resolve_symbols): For commons make sure
+       we use our own resolution algorithm.  The gold linker plugin
+       doesn't do the job we want it to do here.
+
+2010-05-22  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/sparc/sparc.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+       * config/sparc/sparc.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+       (sparc_mode_dependent_address_p): New function.
+
+2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in: Fix c-pch.o and ggc-common.o dependencies on timevars.
+
+       * timevar.c: Do not include any core headers.
+       (timevar_print): De-i18n-ize.
+       (print_time): Likewise.
+       * timevar.h (timevar_push, timevar_pop): Make inline functions.
+
+2010-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
+       langhooks-def.h.
+       (diagnostic_initialize): Initialize x_data not last_function.
+       (diagnostic_report_current_function): Move to tree-diagnostic.c.
+       (default_diagnostic_starter): Call
+       diagnostic_report_current_module not
+       diagnostic_report_current_function.
+       (diagnostic_report_diagnostic): Initialize x_data not
+       abstract_origin.
+       (verbatim): Likewise.
+       * diagnostic.h (struct diagnostic_info): Change abstract_origin to
+       x_data.
+       (struct diagnostic_context): Change last_function to x_data.
+       (diagnostic_auxiliary_data): Replace with
+       diagnostic_context_auxiliary_data and
+       diagnostic_info_auxiliary_data.
+       (diagnostic_last_function_changed, diagnostic_set_last_function,
+       diagnostic_report_current_function): Move to tree-diagnostic.h.
+       (print_declaration, dump_generic_node, print_generic_stmt,
+       print_generic_stmt_indented, print_generic_expr,
+       print_generic_decl, debug_c_tree, dump_omp_clauses,
+       print_call_name, debug_generic_expr, debug_generic_stmt,
+       debug_tree_chain, default_tree_printer): Move to
+       tree-pretty-print.h.
+       (debug_gimple_stmt, debug_gimple_seq, print_gimple_seq,
+       print_gimple_stmt, print_gimple_expr, dump_gimple_stmt): Move to
+       gimple-pretty-print.h.
+       * pretty-print.c: Don't include tree.h
+       (pp_base_format): Don't handle %K here.
+       (pp_base_tree_identifier): Move to tree-pretty-print.c.
+       * pretty-print.h (text_info): Change abstract_origin to x_data.
+       (pp_tree_identifier, pp_unsupported_tree,
+       pp_base_tree_identifier): Move to tree-pretty-print.h.
+       * gimple-pretty-print.h, tree-diagnostic.c, tree-diagnostic.h,
+       tree-pretty-print.h: New files.
+       * tree-pretty-print.c: Include tree-pretty-print.h.
+       (percent_K_format): New.  Moved from pretty-print.c.
+       (pp_base_tree_identifier): Move from pretty-print.c.
+       * c-objc-common.c: Include tree-pretty-print.h.
+       (c_tree_printer): Handle %K here.
+       * langhooks.c: Include tree-diagnostic.h.
+       (lhd_print_error_function): Use diagnostic_abstract_origin macro.
+       * toplev.c: Include tree-diagnostic.h and tree-pretty-print.h.
+       (default_tree_printer): Handle %K using percent_K_format.
+       (general_init): Use default_tree_diagnostic_starter.
+       * tree.c: Include tree-diagnostic.h and tree-pretty-print.h.
+       (free_lang_data): Use default_tree_diagnostic_starter.
+       * c-pretty-print.c: Include tree-pretty-print.h.
+       * cfgexpand.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+       * cgraphunit.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+       * dwarf2out.c: Include tree-pretty-print.h.
+       * except.c: Include tree-pretty-print.h.
+       * gimple-pretty-print.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * gimplify.c: Include tree-pretty-print.h.
+       * graphite-poly.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * ipa-cp.c: Include tree-pretty-print.h.
+       * ipa-inline.c: Include gimple-pretty-print.h.
+       * ipa-prop.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+       * ipa-pure-const.c: Include gimple-pretty-print.h.
+       * ipa-struct-reorg.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * ipa-type-escape.c: Include tree-pretty-print.h.
+       * print-rtl.c: Include tree-pretty-print.h.
+       * print-tree.c: Include gimple-pretty-print.h.
+       * sese.c: Include tree-pretty-print.h.
+       * tree-affine.c: Include tree-pretty-print.h.
+       * tree-browser.c: Include tree-pretty-print.h.
+       * tree-call-cdce.c: Include gimple-pretty-print.h.
+       * tree-cfg.c: Include tree-pretty-print.h and gimple-pretty-print.h.
+       * tree-chrec.c: Include tree-pretty-print.h.
+       * tree-data-ref.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-dfa.c: Include tree-pretty-print.h.
+       * tree-if-conv.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-inline.c: Include tree-pretty-print.h.
+       * tree-into-ssa.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-nrv.c: Include tree-pretty-print.h.
+       * tree-object-size.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-outof-ssa.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-parloops.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-predcom.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-scalar-evolution.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-sra.c: Include tree-pretty-print.h.
+       * tree-ssa-address.c: Include tree-pretty-print.h.
+       * tree-ssa-alias.c: Include tree-pretty-print.h.
+       * tree-ssa-ccp.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-coalesce.c: Include tree-pretty-print.h.
+       * tree-ssa-copy.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-copyrename.c: Include tree-pretty-print.h.
+       * tree-ssa-dce.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-dom.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-dse.c: Include gimple-pretty-print.h.
+       * tree-ssa-forwprop.c: Include tree-pretty-print.h.
+       * tree-ssa-ifcombine.c: Include tree-pretty-print.h.
+       * tree-ssa-live.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-loop-im.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-loop-ivcanon.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-loop-ivopts.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-loop-niter.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-loop-prefetch.c: Include tree-pretty-print.h.
+       * tree-ssa-math-opts.c: Include gimple-pretty-print.h.
+       * tree-ssa-operands.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-phiprop.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-pre.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-propagate.c: Include gimple-pretty-print.h.
+       * tree-ssa-reassoc.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-sccvn.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-sink.c: Include gimple-pretty-print.h.
+       * tree-ssa-ter.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-ssa-uninit.c: Include gimple-pretty-print.h.
+       * tree-ssa.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-stdarg.c: Include gimple-pretty-print.h.
+       * tree-switch-conversion.c: Include gimple-pretty-print.h.
+       * tree-tailcall.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-vect-data-refs.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-vect-loop-manip.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-vect-loop.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-vect-patterns.c: Include gimple-pretty-print.h.
+       * tree-vect-slp.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-vect-stmts.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * tree-vectorizer.c: Include tree-pretty-print.h.
+       * tree-vrp.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * value-prof.c: Include tree-pretty-print.h and
+       gimple-pretty-print.h.
+       * var-tracking.c: Include tree-pretty-print.h.
+       * Makefile.in (OBJS-common): Add tree-diagnostic.o.
+       (tree-diagnostic.o): New dependencies.
+       (c-objc-common.o, c-pretty-print.o, langhooks.o, tree.o,
+       tree-inline.o, print-tree.o, stor-layout.o, tree-ssa-uninit.o,
+       tree-ssa.o, tree-into-ssa.o, tree-ssa-ter.o, tree-ssa-coalesce.o,
+       tree-outof-ssa.o, tree-ssa-forwprop.o, tree-ssa-phiprop.o,
+       tree-ssa-ifcombine.o, tree-nrv.o, tree-ssa-copy.o,
+       tree-ssa-propagate.o, tree-ssa-dom.o, tree-ssa-uncprop.o,
+       tree-ssa-live.o, tree-ssa-copyrename.o, tree-ssa-pre.o,
+       tree-ssa-sccvn.o, tree-vrp.o, tree-cfg.o, tree-tailcall.o,
+       tree-ssa-sink.o, tree-if-conv.o, tree-dfa.o, tree-ssa-operands.o,
+       tree-ssa-address.o, tree-ssa-loop-niter.o,
+       tree-ssa-loop-ivcanon.o, tree-ssa-loop-prefetch.o, tree-predcom.o,
+       tree-ssa-loop-ivopts.o, tree-affine.o, tree-ssa-loop-im.o,
+       tree-ssa-math-opts.o, tree-ssa-alias.o, tree-ssa-reassoc.o,
+       gimplify.o, tree-browser.o, tree-chrec.o, tree-scalar-evolution.o,
+       tree-data-ref.o, sese.o, graphite-poly.o, tree-vect-loop.o,
+       tree-vect-loop-manip.o, tree-vect-patterns.o, tree-vect-slp.o,
+       tree-vect-stmts.o, tree-vect-data-refs.o, tree-vectorizer.o,
+       tree-parloops.o, tree-stdarg.o, tree-object-size.o,
+       gimple-pretty-print.o, tree-pretty-print.o, diagnostic.o,
+       toplev.o, print-rtl.o, except.o, dwarf2out.o, cgraphunit.o,
+       ipa-prop.o, ipa-cp.o, ipa-inline.o, ipa-pure-const.o,
+       ipa-type-escape.o, ipa-struct-reorg.o, tree-ssa-dce.o,
+       tree-call-cdce.o, tree-ssa-ccp.o, tree-sra.o,
+       tree-switch-conversion.o, var-tracking.o, value-prof.o,
+       cfgexpand.o, pretty-print.o): Update dependencies.
+
+2010-05-22  Andreas Tobler  <andreast@fgznet.ch>
+
+       * tree-ssa-structalias.c: Remove tm_p.h from include.
+
+2010-05-21  Jeff Law  <law@redhat.com>
+
+       * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Fix typo.
+
+2010-05-21  Jason Merrill  <jason@redhat.com>
+
+       * tree-eh.c (cleanup_is_dead_in): New.
+       (lower_try_finally): Don't generate a dead cleanup region.
+       (lower_cleanup): Likewise.
+
+2010-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44223
+       * haifa-sched.c (schedule_insn): When freeing INSN_REG_USE_LIST,
+       unchain each use from the cyclic next_regno_use chain first.
+
+2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * real: Do not include gmp.h, mpfr.h, and mpc.h.
+       (REAL_VALUE_NEGATE, REAL_VALUE_ABS, real_arithmetic2): Remove.
+       (real_value_negate, real_value_abs): New prototypes.
+       (do_mpc_arg2, real_from_mpfr, mpfr_from_real): Move from here...
+       * realmpfr.h (do_mpc_arg2, real_from_mpfr, mpfr_from_real): ...to here,
+       new include file for interface between MPFR and REAL_VALUE_TYPE.
+       * real.c: Include realmpfr.h.
+       (real_arithmetic2): Remove legacy function.
+       (real_value_negate): New.
+       (real_value_abs): New.
+       (mfpr_from_real, real_from_mpfr): Move from here...
+       * realmpfr.c (mpfr_from_real, real_from_mpfr): ...to here, new file.
+       * builtins.c: Include realmpfr.h.
+       * fold-const.c: Include realmpfr.h.
+       (fold_comparison): Use real_value_negate instead of REAL_VALUE_NEGATE.
+       (fold_negate_const): Likewise.
+       (fold_abs_const): Use real_value_abs instead of REAL_VALUE_ABS.
+       * toplev.c: Include realmpfr.h.
+       * simplify-rtx.c (simplify_const_unary_operation): Use real_value_abs
+       and real_value_negate.
+       * fixed-value.c (check_real_for_fixed_mode): Likewise.
+       * config/arm/arm.c (neg_const_double_rtx_ok_for_fpa): Likewise.
+       (vfp3_const_double_index): Likewise.
+       (arm_print_operand): Likewise.
+       * Makefile.in: Update dependencies.
+
+2010-05-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (override_options): Increase the default
+       of max-completely-peel-times.
+
+2010-05-21  Julian Brown  <julian@codesourcery.com>
+           Mark Mitchell  <mark@codesourcery.com>
+
+       * config/arm/arm.c (arm_function_ok_for_sibcall): Only forbid
+       sibling calls for Thumb-1.
+       * config/arm/arm.h (USE_RETURN_INSN): Enable for Thumb-2.
+       * config/arm/arm.md (*call_symbol, *call_value_symbol): Use for
+       Thumb-2.
+       (*call_insn, *call_value_insn): Don't use for Thumb-2.
+       (sibcall, sibcall_value, *sibcall_insn, *sibcall_value_insn): Use
+       for Thumb-2.
+       (return): New expander.
+       (*arm_return): New name for ARM return insn.
+       * config/arm/thumb2.md (*thumb2_return): New insn pattern.
+
+2010-05-19  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * config.gcc (sparc64-*-rtems*): New target.
+
+2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (build_function_decl_skip_args): Fix grammar.
+       (build_function_type_list_1): Fix typos, adjust formatting.
+
+2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * tree.h: Include real.h and fixed-value.h as basic datatypes.
+       * dfp.c, convert.c, reload1.c, reginfo.c, tree-flow.h,
+       tree-ssa-threadedge.c, tree-ssanames.c, tree-loop-linear.c,
+       tree-into-ssa.c, tree-vect-generic.c, tree-ssa-structalias.c,
+       tree-ssa-loop-im.c, tree-dump.c, tree-complex.c, tree-ssa-uninit.c,
+       genrecog.c, tree-ssa-threadupdate.c, tree-ssa-loop-niter.c,
+       tree-pretty-print.c, tree-loop-distribution.c,
+       tree-ssa-loop-unswitch.c, c-lex.c, optabs.c, postreload-gcse.c,
+       tree-ssa-loop-manip.c, postreload.c, tree-ssa-loop-ch.c,
+       tree-tailcall.c, tree.c, reload.c, tree-scalar-evolution.c, rtlanal.c,
+       tree-phinodes.c, builtins.c, final.c, genoutput.c, fold-const.c,
+       tree-ssa-dse.c, genautomata.c, tree-ssa-uncprop.c, toplev.c,
+       tree-chrec.c, genemit.c, c-cppbuiltin.c, tree-ssa-sccvn.c,
+       tree-ssa-ccp.c, tree-ssa-loop-ivopts.c, mode-switching.c,
+       tree-call-cdce.c, cse.c, genpeep.c, tree-ssa-math-opts.c,
+       tree-ssa-dom.c, tree-nrv.c, tree-ssa-propagate.c, tree-ssa-alias.c,
+       tree-ssa-sink.c, jump.c, ifcvt.c, dwarf2out.c, expr.c, genattrtab.c,
+       genconditions.c, tree-ssa-loop-ivcanon.c, tree-ssa-loop.c,
+       tree-parloops.c, recog.c, tree-ssa-address.c, lcm.c, tree-eh.c,
+       gimple-pretty-print.c, c-pretty-print.c, print-rtl.c, gcse.c,
+       tree-if-conv.c, tree-data-ref.c, tree-affine.c, gimplify.c,
+       tree-ssa-phiopt.c, implicit-zee.c, expmed.c, tree-dfa.c, emit-rtl.c,
+       store-motion.c, cselib.c, tree-cfgcleanup.c, simplify-rtx.c,
+       tree-ssa-pre.c, genpreds.c, tree-mudflap.c, print-tree.c,
+       tree-ssa-copy.c, tree-ssa-forwprop.c, tree-ssa-dce.c, varasm.c,
+       tree-nested.c, tree-ssa.c, tree-ssa-loop-prefetch.c, rtl.c,
+       tree-inline.c, integrate.c, tree-optimize.c, tree-ssa-phiprop.c,
+       fixed-value.c, combine.c, tree-profile.c, c-common.c, sched-vis.c,
+       tree-cfg.c, passes.c, tree-ssa-reassoc.c, config/alpha/alpha.c,
+       config/frv/frv.c, config/s390/s390.c, config/m32c/m32c.c,
+       config/spu/spu.c, config/sparc/sparc.c, config/mep/mep.c,
+       config/m32r/m32r.c, config/rx/rx.c, config/i386/i386.c,
+       config/sh/sh.c, config/pdp11/pdp11.c, config/avr/avr.c,
+       config/crx/crx.c, config/xtensa/xtensa.c, config/stormy16/stormy16.c,
+       config/fr30/fr30.c, config/lm32/lm32.c, config/moxie/moxie.c,
+       config/m68hc11/m68hc11.c, config/cris/cris.c, config/iq2000/iq2000.c,
+       config/mn10300/mn10300.c, config/ia64/ia64.c, config/m68k/m68k.c,
+       config/rs6000/rs6000.c, config/picochip/picochip.c, config/darwin.c,
+       config/arc/arc.c, config/mcore/mcore.c, config/score/score3.c,
+       config/score/score7.c, config/score/score.c, config/arm/arm.c,
+       config/pa/pa.c, config/mips/mips.c, config/vax/vax.c,
+       config/h8300/h8300.c, config/v850/v850.c, config/mmix/mmix.c,
+       config/bfin/bfin.c: Clean up redundant includes.
+       * Makefile.in: Update accordingly.
+
+2010-05-21  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR middle-end/44204
+       * builtins.c (fold_call_stmt): Pass &error_mark_node if the call
+       statement has no arguments.
+
+2010-05-21  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR/44139
+       * varasm.c (emutls_decl): Merge attributes to new decl.
+
+2010-05-21  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/44101
+       * gimplify.c (gimplify_init_constructor): Build a VIEW_CONVERT_EXPR
+       around the uniquized constructor if its type requires a conversion.
+
+2010-05-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44205
+       * tree-cfgcleanup.c (tree_forwarder_block_p): Return false if
+       at -O0 goto_locus of any of the incoming edges differs from
+       goto_locus of outgoing edge, or gimple_location of any of the
+       labels differs.
+
+2009-09-14  Vladimir Makarov <vmakarov@redhat.com>
+
+       * ira.c (ira_non_ordered_class_hard_regs): Define.
+       (setup_class_hard_regs): Initialize ira_non_ordered_class_hard_regs.
+       * ira-int.h (ira_non_ordered_class_hard_regs): Declare.
+       * ira-costs.c (ira_tune_allocno_costs_and_cover_classes): Increase
+       cost of unaligned hard regs when allocating multi-reg pseudos.
+
+2010-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * config.gcc (mips*-sde-elf*): Don't use sdemtk.opt.
+       * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_no_float
+       for TARGET_NO_FLOAT.
+       * config/mips/mips.c (mips_file_start): Expand conditional expression
+       into "if" statements.  Use .gnu_attribute 4,0 for TARGET_NO_FLOAT.
+       (mips_override_options): Move -mno-float override -msoft-float and
+       -mhard-float.
+       * config/mips/mips.opt (mno-float): Move from sdemtk.opt, but add
+       Condition(TARGET_SUPPORTS_NO_FLOAT).
+       * config/mips/sdemtk.h (TARGET_OS_CPP_BUILTINS): Don't set
+       __mips_no_float here.
+       (SUBTARGET_OVERRIDE_OPTIONS): Delete.
+       (TARGET_SUPPORTS_NO_FLOAT): Define.
+       * config/mips/sdemtk.opt: Delete.
+
+2010-05-20  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * ipa-prop.c (compute_complex_ancestor_jump_func): Bail out if !cond.
+
+2010-05-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43733
+       * configure.ac (gcc_cv_as_ix86_sahf): Switch to 64bit mode.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/i386.md (x86_sahf_1): Conditionally output 0x9e
+       instead of sahf only for 64bit targets.
+
+2010-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44178
+       * haifa-sched.c (initiate_bb_reg_pressure_info): Do not call
+       setup_ref_regs for DEBUG_INSNs.
+
+2010-05-20  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/44197
+       * varpool.c (varpool_remove_node): Handle in-varpool aliases.
+
+2010-05-20  Kenneth Zadeck  <zadeck@naturalbridge.com>
+
+       PR bootstrap/43870
+       * df-scan.c (df_ref_compare): Stabilize sort.
+
+2010-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (new_loc_descr_op_bit_piece): Add offset
+       argument.  Don't use DW_OP_piece if offset is non-zero,
+       put offset into second DW_OP_bit_piece argument.
+       (dw_sra_loc_expr): Adjust callers.  For memory expressions
+       compute offset.
+
+2010-05-20  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/44202
+       * config/cris/cris.md ("*addsi3_v32"): Correct "cc"
+       settings for 16-bit-constant "addo" alternative.
+
+2010-05-19  James E. Wilson  <wilson@codesourcery.com>
+
+       * config/mips/mips-dsp.md (add<DSPV:mode>3,
+       mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>): Add ISA_HAS_DSP condition.
+
+       PR target/43764
+       * mips.c (mips_call_expr_from_insn): New arg second_call.  Set it.
+       (mips_annotate_pic_calls): Pass new arg to mips_call_expr_from_insn.
+       Use it.
+
+2010-05-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic.c (FLOAT, FFS): Don't undefine.
+       * passes.c, pretty-print.c, rtl-error.c, toplev.c: Likewise.
+       * cse.c, regmove.c: Remove comments about stdio.h and rtl.h
+       include ordering.
+
+2010-05-19  Richard Sandiford  <rdsandiford@googlemail.com>
+
+       * combine.c (propagate_for_debug): Call make_compound_operation
+       on the source value.
+       (try_combine): When implementing a split chosen by find_split_point,
+       either copy i2src or set it to null.  Assert that i2src is not null
+       before substituting into CALL_INSN_FUNCTION_USAGE.
+
+2010-05-19  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (double_int_ior): New function.
+       * tree.h (build_int_cst_wide_type): Remove.
+       * tree.c (build_int_cst_wide_type): Remove.
+       * fold-const.c (native_interpret_int): Use double_int_to_tree instead
+       of build_int_cst_wide_type.
+       * stor-layout.c (set_sizetype): (Ditto.).
+       * dojump.c (do_jump): Use build_int_cstu instead of
+       build_int_cst_wide_type.
+
+2010-05-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * langhooks.h (struct lang_hooks): Add new field deep_unsharing.
+       * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
+       (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
+       * gimplify.c (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
+       TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
+       propagate the 'data' argument to copy_tree_r.
+       (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
+       Propagate 'data' argument to walk_tree.
+       (copy_if_shared): New function.
+       (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
+       (unmark_visited): New function.
+       (unshare_body): Call copy_if_shared instead of doing it manually.
+       (unvisit_body): Call unmark_visited instead of doing it manually.
+
+2010-05-19  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * hooks.h (hook_tree_tree_tree_bool_null): Rename to...
+       (hook_tree_tree_int_treep_bool_null): ...this.  Update signature.
+       * hooks.c: Likewise.
+       * target-def.h (TARGET_FOLD_BUILTIN): Define to
+       hook_tree_tree_int_treep_bool_null.
+       * target.h (struct gcc_target): Update signature of fold_builtin
+       field.
+       * doc/tm.texi (TARGET_FOLD_BUILTIN): Update description and signature.
+       * builtins.c (fold_call_expr): Pass call_expr_nargs and CALL_EXPR_ARGP
+       instead of the call expression.
+       (fold_builtin_call_array): Pass n and argarray directly.
+       (fold_call_stmt): Pass nargs and gimple_call_arg_ptr instead of
+       consing a list.
+       * config/alpha/alpha.c (alpha_fold_builtin): Update signature.  Lift
+       MAX_ARGS check out of the loop.  Delete declaration of `arity', declare
+       `i' and use it in place of `arity'.
+       * config/sparc/sparc.c (sparc_fold_builtin): Update signature.
+       Dereference `args' directly.
+       * config/xtensa/xtensa (xtensa_fold_builtin): Likewise.
+
+2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Effective-Target Keywords): Document
+       3dnow, sse3, sse2.
+       (Directives): Document optional dg-require-effective-target
+       selector.
+
+2010-05-19  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44196
+       * tree.c (find_decls_types_r): Walk BLOCKs and its vars.
+
+2010-05-19  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fwhopr): Document new optional jobs argument.
+       * common.opt (fwhopr=): New.
+       * opts.c (common_handle_option): Handle OPT_fwhopr.
+       * gcc.c (LINK_COMMAND_SPEC): Pass fwhopr*.
+       * collect2.c (main): Match -fwhopr*.
+       * lto-wrapper.c (run_gcc): Handle jobs argument of -fwhopr.
+       Execute ltrans stage in parallel when jobs is bigger than 1.
+
+2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32 to
+       pentiumpro on Solaris 8/x86 with Sun as.
+       * configure.ac (gcc_cv_as_hidden): Check for Solaris 9/x86 as
+       hidden alias bug.
+       (gcc_cv_as_ix86_quad): Check for .quad directive.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/sol2.h (ASM_QUAD): Change guard to !HAVE_AS_IX86_QUAD.
+
+2010-05-19  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.c (ipa_print_node_jump_functions): Print jump functions
+       also for indirect edges.  Actual printing moved...
+       (ipa_print_node_jump_functions_for_edge): ...here.
+       (ipa_compute_jump_functions): Renamed to
+       ipa_compute_jump_functions_for_edge and made static.
+       (ipa_compute_jump_functions): New function.
+       (make_edge_direct_to_target): Check if the number of arguments on
+       the newly direct edge is the same as the number of parametrs of
+       the callee.
+       * ipa-cp.c (ipcp_init_stage): Most functionality moved to new
+       ipa_compute_jump_functions.  Call ipa_analyze_params_uses.
+       * ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
+       analysis functions unconditionally, call the new
+       ipa_analyze_params_uses on the node instead of every edge.
+
+2010-05-19  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * tree-ssa-loop-prefetch.c (mem_ref_group, ar_data): Change step
+       to tree.
+       (dump_mem_ref): Adopt debug code to handle a tree as step.  This
+       also checks for a constant int vs.  non-constant but
+       loop-invariant steps.
+       (find_or_create_group): Change the sort algorithm to only consider
+       steps that are constant ints.
+       (idx_analyze_ref): Adopt code to handle a tree instead of a
+       HOST_WIDE_INT for step.
+       (gather_memory_references_ref): Handle tree instead of int and be
+       prepared to see a NULL_TREE.
+       (prune_ref_by_self_reuse, prune_ref_by_group_reuse): Do not prune
+       prefetches if the step cannot be calculated at compile time.
+       (issue_prefetch_ref): Issue prefetches for non-constant but
+       loop-invariant steps.
+
+2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       Revert:
+       2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (build_call_list): Remove.
+       * tree.c (build_call_list): Remove.
+
+2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (build_call_list): Remove.
+       * tree.c (build_call_list): Remove.
+
+2010-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-reference.c (propagate): Walk all nodes in the cleanup stage.
+
+2010-05-18  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/43332
+       * haifa-sched.c (setup_insn_max_reg_pressure): Check barrier.
+
+2010-05-18  Anatoly Sokolov  <aesok@post.ru>
+
+       * tree.h (build_int_cstu): Implement as static inline.
+       * tree.c (build_int_cstu): Remove function.
+       (double_int_to_tree, double_int_fits_to_tree_p): Handle size types as
+       sign extended.
+
+2010-05-18  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/44143
+       * lto-wrapper.c (verbose): New variable.  Initialize from -v.
+       (debug): Initialize from -save-temps.
+       (collect_execute): Print command-line when verbose.
+       (run_gcc): Always use COLLECT_GCC_OPTIONS.  Use fork_execute
+       for ltrans invocation.  Produce -dumpbase flag again.
+       (process_args): Remove.
+       (main): Simplify.
+       * collect2.c (maybe_run_lto_and_relink): Only pass object
+       files to lto-wrapper.
+       * gcc.c (LINK_COMMAND_SPEC): Likewise.
+
+2010-05-18  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c (decode_options): Do not disable whopr at ipa_cp.
+       * ipa-prop.c (ipa_detect_param_modifications): Walk PHI nodes too.
+
+2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR lto/44184
+       * lto-streamer-out.c (output_gimple_stmt): Output number of labels
+       in a GIMPLE_ASM.
+       * lto-streamer-in.c (input_gimple_stmt): Read number of labels
+       in a GIMPLE_ASM.
+
+2010-05-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/41371
+       * var-tracking.c (find_loc_in_1pdv): Add a few checks from
+       rtx_equal_p inline.
+
+2010-05-18  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Add
+       lto-macho as lto_binary_reader.
+
+       * darwin.c (darwin_asm_named_section): Do not add assembler comment
+       after .section directive; just print it before the directive instead.
+
+2010-05-17  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_create_virtual_clone): Only check
+       versionable_function_p when not in wpa and checking is enabled.
+       * cgraphunit.c (cgraph_materialize_all_clones): Stabilize after
+       there are no more functions to materialize.
+
+2010-05-17  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (struct ipa_replace_map): Add parm_num parameter.
+       * lto-cgraph.c (output_cgraph_opt_summary, input_cgraph_opt_summary):
+       New functions.
+       (output_cgraph): Call output_cgraph_opt_summary.
+       (input_cgrpah): Call input_cgraph_opt_summary.
+       (output_cgraph_opt_summary_p, output_node_opt_summary,
+       input_node_opt_summary, input_cgraph_opt_section): New functions.
+       * lto-section-in.c (lto_section_name): Add cgraphopt.
+       * tree-inline.c (tree_function_versioning): Handle parm_num.
+       * lto-streamer.c (lto_get_section_name): Handle cgraphopt.
+       * lto-streamer.h (lto_section_type): Add LTO_section_cgraph_opt_sum.
+
+2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * doc/invoke.texi: Update documentation for min-insn-to-prefetch-ratio.
+       * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Also apply
+       the insn to prefetch ratio heuristic to loops with known trip count.
+
+2010-05-17  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * tree-ssa-loop-prefetch.c (PREFETCH_MOD_TO_UNROLL_FACTOR_RATIO): New.
+       (schedule_prefetches): Do not generate a prefetch if the unroll factor
+       is far from what is required by the prefetch.
+
+2010-05-17  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipcp_update_callgraph): Use ipa_is_param_used.
+       (ipcp_estimate_growth): Likewise.
+       (ipcp_const_param_count): Likewise.
+       (ipcp_insert_stage): Likewise.
+       * ipa-prop.c (visit_load_for_mod_analysis): New function.
+       (visit_store_addr_for_mod_analysis): Set used flag.
+       (ipa_detect_param_modifications): Set used flag for SSE params;
+       update use of walk_stmt_load_store_addr_ops.
+       (ipa_print_node_params): Print used flag.
+       (ipa_write_node_info): Stream used flag.
+       (ipa_read_node_info): Likewise.
+       * ipa-prop.h (struct ipa_param_descriptor): Add used field.
+       (ipa_is_param_used): New function.
+       (lto_ipa_fixup_call_notes): Remove unused declaration.
+
+2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/44074
+       * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): New test.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * config/i386/i386.c (print_operand) <case ;>: Also print ";" if
+       !HAVE_AS_IX86_REP_LOCK_PREFIX.
+       Don't emit whitespace.
+       * config/i386/i386.md (*rep_movdi_rex64): Use {%;} after rep.
+       (*rep_movsi): Likewise.
+       (*rep_movsi_rex64): Likewise.
+       (*rep_movqi): Likewise.
+       (*rep_movqi_rex64): Likewise.
+       (*rep_stosdi_rex64): Likewise.
+       (*rep_stossi): Likewise.
+       (*rep_stossi_rex64): Likewise.
+       (*rep_stosqi): Likewise.
+       (*rep_stosqi_rex64): Likewise.
+       (*cmpstrnqi_nz_1): Use {%;} after repz.
+       (*cmpstrnqi_nz_rex_1): Likewise.
+       (*cmpstrnqi_1): Likewise.
+       (*cmpstrnqi_rex_1): Likewise.
+       (*strlenqi_1): Use {%;} after repnz.
+       (*strlenqi_rex_1): Likewise.
+       * config/i386/sync.md (memory_barrier_nosse): Replace {%;| } by {%;} .
+       (*sync_compare_and_swap<mode>): Likewise.
+       (sync_double_compare_and_swap<mode>): Likewise.
+       (*sync_double_compare_and_swapdi_pic): Likewise.
+       (sync_old_add<mode>): Likewise.
+       (sync_add<mode>): Likewise.
+       (sync_sub<mode>): Likewise.
+       (sync_<code><mode>): Likewise.
+
+2010-05-17  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.h (cgraph_indirect_call_info): New fields anc_offset,
+       otr_token and polymorphic.
+       * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields.
+       (cgraph_clone_edge): Copy the above fields.
+       * tree.c (get_binfo_at_offset): New function.
+       * tree.h (get_binfo_at_offset): Declare.
+       * ipa-prop.h (enum jump_func_type): Added known_type jump function
+       type, reordered items, updated comments.
+       (union jump_func_value): Added base_type field, reordered fields.
+       (enum ipa_lattice_type): Moved down in the file.
+       (struct ipa_param_descriptor): New field polymorphic.
+       (ipa_is_param_polymorphic): New function.
+       * ipa-prop.c: Include gimple.h and gimple-fold.h.
+       (ipa_print_node_jump_functions): Print known type jump functions.
+       (compute_complex_pass_through): Renamed to...
+       (compute_complex_assign_jump_func): this.
+       (compute_complex_ancestor_jump_func): New function.
+       (compute_known_type_jump_func): Likewise.
+       (compute_scalar_jump_functions): Create known type and complex ancestor
+       jump functions.
+       (ipa_note_param_call): New parameter polymorphic, set the corresponding
+       flag in the call note accordingly.
+       (ipa_analyze_call_uses): Renamed to...
+       (ipa_analyze_indirect_call_uses): this.  New parameter target, define
+       variable var only in the block where it is used.
+       (ipa_analyze_virtual_call_uses): New function.
+       (ipa_analyze_call_uses): Likewise.
+       (combine_known_type_and_ancestor_jfs): Likewise.
+       (update_jump_functions_after_inlining): Implemented handling of a
+       number of new jump function types combination.
+       (print_edge_addition_message): Removed.
+       (make_edge_direct_to_target): New function.
+       (try_make_edge_direct_simple_call): Likewise.
+       (try_make_edge_direct_virtual_call): Likewise.
+       (update_call_notes_after_inlining): Renamed to...
+       (update_indirect_edges_after_inlining): this.  Moved edge creation for
+       indirect calls to try_make_edge_direct_simple_call, also calls
+       try_make_edge_direct_virtual_call for virtual calls.
+       (ipa_print_node_params): Changed the header message.
+       (ipa_write_jump_function): Stream also known type jump functions.
+       (ipa_read_jump_function): Likewise.
+       (ipa_write_indirect_edge_info): Stream new fields in
+       cgraph_indirect_call_info.
+       (ipa_read_indirect_edge_info): Likewise.
+       * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and
+       GIMPLE_FOLD_H.
+
+2010-05-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/sol2.h (TARGET_SUN_TLS): Remove duplicate definition.
+
+2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (CALL_EXPR_ARGS): Delete.
+       (call_expr_arglist): Delete.
+       * tree.c (call_expr_arglist): Delete.
+       * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to
+       targetm.fold_builtin.
+       * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter.
+       Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN.
+       * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename
+       arglist parameter.  Use CALL_EXPR_ARG.
+       (picochip_expand_builtin_3op): Likewise.
+       (picochip_expand_builtin_2opvoid): Likewise.
+       (picochip_expand_array_get): Likewise.
+       (picochip_expand_array_put): Likewise.
+       (picochip_expand_array_testport): Likewise.
+       (picochip_expand_builtin): Don't call CALL_EXPR_ARGS.  Pass exp
+       rather than arglist.
+       * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of
+       CALL_EXPR_ARGS.
+       * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather
+       than TREE_VALUE and TREE_CHAIN.
+       * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise.
+       * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of
+       the arglist.
+
+2010-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/42347
+       * cfglayout.c (fixup_reorder_chain): Allow returnjump_p
+       to have no fallthru edge.
+
+       PR middle-end/44102
+       * cfgcleanup.c (try_optimize_cfg): When removing trivially empty
+       bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT
+       mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL
+       add BARRIER after previous bb if needed.
+
+2010-05-17  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (build_function_type_list_1): Remove bogus assert condition.
+
+2010-05-17  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete
+       unnecessary prototype.  Replace copy_r12 and copy_r11 flag params
+       with copy_reg rtx param.
+       (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls.
+       Correct cases where code for ABI_V4 did not initialise the reg
+       used to access frame.  Also leave frame_reg_rtx as sp for large
+       frames that save no regs.
+
+2010-05-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/44133
+       * tree-sra.c (create_access_replacement): New parameter rename, mark
+       the replaement for renaming only when it is true.
+       (get_access_replacement): Pass true in the rename parameter of
+       create_access_replacement.
+       (get_unrenamed_access_replacement): New function.
+       (replace_uses_with_default_def_ssa_name): New parameter racc, get the
+       replacement declaration from it.
+
+2010-05-17  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * function.c (try_fit_stack_local, add_frame_space): New static
+       functions.
+       (assign_stack_local_1): Use them.  Look for opportunities to use
+       space previously wasted on alignment.
+       * function.h (struct frame_space): New.
+       (struct rtl_data): Add FRAME_SPACE_LIST member.
+       * reload1.c (something_was_spilled): New static variable.
+       (alter_reg): Set it.
+       (reload): Test it in addition to testing if the frame size changed.
+
+2010-05-17  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * config/s390/s390.c: Define sane prefetch settings and activate
+       flag_prefetch_loop_arrays on -O3.
+       * config/s390/s390.h: Declare that read can use write prefetch.
+
+2010-05-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * lto-streamer-out.c (lto_output): Fix --enable-checking=release
+       build.
+
+2010-05-16  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of
+       function body; do not check stdarg field of struct function.
+
+2010-05-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (dump_cgraph_node): Dump versionable flag.
+       * cgraph.h (cgraph_local_info): Add versionable flag.
+       * ipa-cp.c (ipcp_analyze_node): Set versionable flag.
+       (ipcp_versionable_function_p): Use it.
+       * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
+       versionable flag.
+
+2010-05-16  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_clone_node): Take decl argument and insert
+       clone into hash when it is different from orig.
+       (cgraph_create_virtual_clone): Update use of cgraph_clone_node.
+       * cgraph.h (cgraph_clone_node): Update prototype.
+       * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map.
+       (lto_cgraph_encoder_delete): Delete body map.
+       (lto_cgraph_encoder_size): Move to header.
+       (lto_cgraph_encoder_encode_body_p,
+       lto_set_cgraph_encoder_encode_body): New.
+       (lto_output_node): Do not take written_decls argument; output clone_of
+       pointer.
+       (add_node_to): Add include_body_argument; call
+       lto_set_cgraph_encoder_encode_body on master of the clone.
+       (add_references): Update use of add_node_to.
+       (compute_ltrans_boundary): Likewise.
+       (output_cgraph): Do not create written_decls bitmap.
+       (input_node): Take nodes argument; stream in clone_of correctly.
+       (input_cgraph_1): Update use of input_node.
+       * lto-streamer-out.c (lto_output): Use encoder info to decide
+       what bodies to output.
+       * ipa-inline.c (cgraph_clone_inlined_nodes,
+       cgraph_decide_recursive_inlining): Update call of cgraph_clone_node.
+       * lto-streamer.h (lto_cgraph_encoder_d): Add body.
+       (lto_cgraph_encoder_size): Define here.
+       (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p):
+       Declare.
+
+2010-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fipa-struct-reorg): Do not mention
+       -fipa-type-escape.
+       * ipa-type-escape.c (gate_type_escape_vars): Run when
+       -fipa-struct-reorg runs.
+       * opts.c (decode_options): Do not unset flag_ipa_type_escape.
+       * common.opt (fipa-type-escape): Remove.
+
+2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO.
+       (decode_options): Likewise.
+       * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H.
+
+2010-05-16  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (function_and_variable_visibility): Also bring local all
+       aliases.
+
+2010-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * alias.c (nonoverlapping_memrefs_p): Remove use of
+       IPA type-escape information.
+
+2010-05-16  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-common.c (c_common_reswords): Add _Static_assert for C.
+       * c-parser.c (c_token_starts_declaration,
+       c_parser_next_token_starts_declaration,
+       c_parser_static_assert_declaration_no_semi,
+       c_parser_static_assert_declaration): New.
+       (c_parser_declaration_or_fndef): Add parameter static_assert_ok.
+       Handle static assertions if static_assert_ok.
+       (c_parser_external_declaration, c_parser_declaration_or_fndef,
+       c_parser_compound_statement_nostart, c_parser_label,
+       c_parser_for_statement, c_parser_objc_methodprotolist,
+       c_parser_omp_for_loop): All callers of
+       c_parser_declaration_or_fndef changed.
+       (c_parser_struct_declaration): Handle static assertions.
+       (c_parser_compound_statement_nostart): Use
+       c_parser_next_token_starts_declaration and
+       c_token_starts_declaration to detect start of declarations.
+       (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop):
+       Likewise.
+
+2010-05-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE,
+       LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+       * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+       TARGET_FUNCTION_VALUE_REGNO_P): Define.
+       (mmix_function_outgoing_value): Rename to...
+       (mmix_function_value): ...this. Make static. Add 'outgoing' argument.
+       (mmix_function_value_regno_p): Make static.
+       (mmix_libcall_value): New function.
+       * config/mmix/mmix-protos.h (mmix_function_outgoing_value,
+       mmix_function_value_regno_p): Remove declaration.
+
+2010-05-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on
+       BUILT_IN_ALLOCA if stack checking is enabled.
+
+2010-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * var-tracking.c (vars_copy_1): Inline ...
+       (vars_copy): ... here.  Use FOR_EACH_HTAB_ELEMENT.
+       (variable_union): Use FOR_EACH_HTAB_ELEMENT.  Merge asserts.
+       (variable_merge_over_cur): Adjust.  Merge asserts.
+       (variable_merge_over_src): Likewise.
+       (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT.
+       (variable_post_merge_new_vals): Merge asserts.
+       (variable_post_merge_perm_vals): Likewise.
+       (find_mem_expr_in_1pdv): Likewise.
+       (dataflow_set_different_value): Remove.
+       (onepart_variable_different_p): Merge asserts.
+       (variable_different_p): Likewise.
+       (dataflow_set_different_1): Inline ...
+       (dataflow_set_different): ... here.  Use FOR_EACH_HTAB_ELEMENT.
+       (emit_notes_for_differences_1): Merge asserts.
+
+2010-05-16  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE.
+       * optabs.c (libfunc_decl_hash): Likewise.
+       * varasm.c (emutls_decl): Likewise.
+
+2010-05-16  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-decl.c: Don't include gimple.h.
+       (merge_decls): Do not copy gimple_body.
+
+2010-05-15  Jason Merrill  <jason@redhat.com>
+
+       * c.opt: Add -fnothrow-opt.
+
+2010-05-15  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-prop.c (ipa_prop_read_section): Add sanity check that node is
+       analyzed.
+       * passes.c (ipa_write_summaries): Write all analyzed nodes.
+
+2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * vecir.h: New file with VEC primitives for tree, gimple, and rtl.
+       * Makefile.in: Add it.
+       Fix all other Makefile dependencies for changes below.
+       * tree.h: Include it instead of defining VEC primitives here.
+       * gimple.h: Likewise.
+       * rtl.h: Likewise.
+       * tree-inline.h: Inlclude vecir.h instead of gimple.h.
+       * except.h: Include vecir.h, break dependence on tree.h.
+
+       * gimplify.c (append_to_statement_list_1, append_to_statement_list):
+       Move from here...
+       * tree-iterator.c: ...to here.
+       * tree-iterator.h: Fix file introduction comment.  Add extern markers.
+
+       * c-lex.c: Include fixed-value.h instead of rtl.h.  Do not include
+       tm_p.h.
+       * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included.
+       * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h,
+       integrate.h, function.h, toplev.h, tree-inline.h, ggc.h,
+       tree-mudflap.h, and target.h.
+       * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h,
+       predict.h, tree-inline.h, gimple.h, and langhooks.h.
+       * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h.
+       Add FIXME for why gimple.h is still included (should be unnecessary
+       since GCC 4.5 gimplification unit-at-a-time).
+       * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h.
+       * c-pragma.c: Add FIXME for why function.h needs to be included just
+       for cfun, at front-end level.
+       Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook.
+       Do not include ggc.h, but include vecprim.h for VEC(char).
+       * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h.
+       Explain why target.h is included.
+       * c-omp.h: Do not include tm.h, function.h, and bitmap.h.
+       Explain why gimple.h is included.
+       * c-ppoutput.c: Do not include tm.h.
+       * c-common.c: Do not include gimple.h.  Explain why expr.h is included.
+       * c-parses.c: Explain why rtl.h is included, and that this (and only
+       this) is also why tm.h must be included.
+       Do not include except.h.
+       * c-lang.c: Do not include ggc.h.
+
+2010-05-15  Uros Bizjak  <ubizjak@gmail.com>
+
+       * targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX.
+
+2010-05-15  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (grokfield): Allow typedefs for anonymous structs and
+       unions by default if those structs and unions have no tags.  Do
+       not condition anonymous struct and unions handling on flag_iso.
+       Allow anonymous structs and unions for C1X.
+       (finish_struct): Do not diagnose lack of named fields when
+       anonymous structs and unions present for C1X.  Accept flexible
+       array members in structure with anonymous structs or unions but no
+       directly named fields.
+       * doc/extend.texi (Unnamed Fields): Update.
+
+2010-05-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.h (compare_field_offset): Rename into...
+       (gimple_compare_field_offset): ...this.
+       * gimple.c (compare_field_offset): Rename into...
+       (gimple_compare_field_offset): ...this.  Compare the full access if
+       the offset is self-referential.
+       (gimple_types_compatible_p): Adjust for above renaming.
+       * lto-streamer-in.c (input_gimple_stmt): Likewise.  Also compare the
+       DECL_NONADDRESSABLE_P flag of fields before merging them.
+
+2010-05-15  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.h (ctor_to_list): Delete.
+       * tree.c (ctor_to_list): Delete.
+
+2010-05-15  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-reference.c: Include toplev.h
+       (is_proper_for_analysis): Only add to all_module_statics
+       if it is allocated.
+       (write_node_summary_p, stream_out_bitmap,
+       ipa_reference_write_optimization_summary,
+       ipa_reference_read_optimization_summary): New.
+       (struct ipa_opt_pass_d pass_ipa_reference): Add
+       optimization summary streaming.
+       * lto-cgraph.c (referenced_from_this_partition_p,
+       reachable_from_this_partition_p): New functions.
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+       call_may_clobber_ref_p_1): Ask ipa-reference even for public vars.
+       * opts.c (decode_options): Enable ipa_reference.
+       * Makefile.in (ipa-reference.o): Add toplev.h dependency.
+       * lto-streamer.h (referenced_from_this_partition_p,
+       reachable_from_this_partition_p): Declare.
+
+2010-05-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44038
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid
+       taking the address of a V_C_E of a constant.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * tree.h (memory_identifier_string): Remove.
+       * ipa-reference.c: Update comment; do not include gt-ipa-reference.h
+       (ipa_reference_global_vars_info_d): Remove statics_not_read and
+       statics_not_written.
+       (ipa_reference_optimization_summary_d): New structure.
+       (ipa_reference_optimization_summary_t): New type and vector.
+       (ipa_reference_vars_info_d): Embedd structures instead of using
+       pointers.
+       (reference_vars_to_consider): Remove out of GGC space.
+       (module_statics_escape): Remove.
+       (global_info_obstack): Rename to ...
+       (optimization_summary_obstack): ... this one.
+       (initialization_status_t): Remove.
+       (memory_identifier_string): Remove.
+       (get_reference_vars_info): Fix indenting.
+       (set_reference_vars_info): Likewise.
+       (get_reference_optimization_summary): New.
+       (set_reference_optimization_summary): New.
+       (get_global_reference_vars_info): Remove.
+       (ipa_reference_get_read_global): Remove.
+       (ipa_reference_get_written_global): Remove.
+       (ipa_reference_get_not_read_global): Update.
+       (ipa_reference_get_not_written_global): Update.
+       (is_proper_for_analysis): Outlaw addressable.
+       (propagate_bits): Update for new datastructures.
+       (analyze_variable): Remove.
+       (init_function_info): Update for new datastructures.
+       (clean_function_local_data): Remove.
+       (clean_function): Remove.
+       (copy_global_bitmap): Use optimizations_summary_obstack.
+       (duplicate_node_data): Duplicate optimization summary only.
+       (remove_node_data): Remove optimization summary only.
+       (generate_summary): Do not analyze variables; do not compute
+       module_statics_escape; do not prune solutions by it.
+       (read_write_all_from_decl): Fix typos in comments.
+       (propagate): Doscover readonly and nonaddressable first;
+       update for new datastructures; share global bitmaps.
+       * ipa-reference.h (ipa_reference_get_read_global,
+       ipa_reference_get_written_global): Remove.
+       * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string.
+       * Makefile.in: Remove ipa-refereference from GT files.
+
+2010-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44112
+       * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN
+       for all SYMBOL_REF_DECLs.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare.
+       (varpool_all_refs_explicit_p): New inline function.
+       * ipa-reference.c: Update comment.
+       (module_statics_written): Remove.
+       (get_static_decl): Remove.
+       (ipa_init): Do not initialize module_statics_written.
+       (analyze_function): Likewise.
+       (generate_summary): Likewise; do not compute module_statics_readonly
+       and do not update variable flags.
+       (propagate): Call ipa_discover_readonly_nonaddressable_vars.
+       * ipa.c: Inlucde flags.h
+       (cgraph_local_node_p): New.
+       (cgraph_remove_unreachable_nodes): Return early when not optimizing;
+       promote functions to local.
+       (ipa_discover_readonly_nonaddressable_vars): New function.
+       (function_and_variable_visibility): Use cgraph_local_node_p.
+       * varpool.c (varpool_finalize_decl): Set force_output for
+       DECL_PRESERVE_P vars.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (cgraph_remove_unreachable_nodes): Revert accidental commit.
+
+2010-05-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44119
+       * tree-ssa-pre.c (eliminate): Properly mark replacement of
+       a PHI node necessary.
+
+2010-05-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (TREE_ADDRESSABLE): Remove bogus usage for FIELD_DECL.
+
+2010-05-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/44127
+       * gimple.h (enum gf_mask): Add GF_CALL_NOTHROW.
+       (gimple_call_set_nothrow): New.
+       * gimple.c (gimple_build_call_from_tree): Call it.
+       (gimple_call_flags): Set ECF_NOTHROW from GF_CALL_NOTHROW.
+
+       PR c++/44127
+       * gimplify.c (gimplify_seq_add_stmt): No longer static.
+       * gimple.h: Declare it.
+       * gimple.c (gimple_build_eh_filter): No ops.
+
+2010-05-14  Jan Hubicka  <jh@suse.cz>
+
+       * ipa.c (enqueue_cgraph_node): Update comment; do not re-enqueue
+       nodes already in queue.
+       (cgraph_remove_unreachable_nodes): Cleanup; fix problem with
+       re-enqueueing node.
+
+2010-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44136
+       * cfgexpand.c (expand_debug_expr): If non-memory op0
+       has BLKmode, return NULL.
+
+2010-05-14  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       * config.gcc: Add support for --with-cpu option for bdver1.
+       * config/i386/i386.h (TARGET_BDVER1): New macro.
+       (ix86_tune_indices): Change SSE_UNALIGNED_MOVE_OPTIMAL
+       to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
+       (ix86_tune_features) :Change SSE_UNALIGNED_MOVE_OPTIMAL
+       to SSE_UNALIGNED_LOAD_OPTIMAL. Add SSE_UNALIGNED_STORE_OPTIMAL.
+       Add SSE_PACKED_SINGLE_INSN_OPTIMAL.
+       (TARGET_CPU_DEFAULT_NAMES): Add bdver1.
+       (processor_type): Add PROCESSOR_BDVER1.
+       * config/i386/i386.md: Add bdver1 as a new cpu attribute to match
+       processor_type in config/i386/i386.h.
+       Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit
+       movaps <reg, reg> instead of movapd <reg, reg> when replacing
+       movsd <reg, reg> or movss <reg, reg> for SSE and AVX.
+       Add check for  TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL
+       to emit packed xor instead of packed double/packed integer
+       xor for SSE and AVX when moving a zero value.
+       * config/i386/sse.md: Add check for
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movaps instead of
+       movapd/movdqa for SSE and AVX.
+       Add check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed
+       single logical operations i.e and, or and xor instead of packed double
+       logical operations for SSE and AVX.
+       * config/i386/i386-c.c (ix86_target_macros_internal):
+       Add PROCESSOR_BDVER1.
+       * config/i386/driver-i386.c: Turn on -mtune=native for BDVER1.
+       (has_fma4, has_xop): New.
+       * config/i386/i386.c (bdver1_cost): New variable.
+       (m_BDVER1): New macro.
+       (m_AMD_MULTIPLE): Add m_BDVER1.
+       (x86_tune_use_leave, x86_tune_push_memory, x86_tune_unroll_strlen,
+       x86_tune_deep_branch_prediction, x86_tune_use_sahf, x86_tune_movx,
+       x86_tune_use_simode_fiop, x86_tune_promote_qimode,
+       x86_tune_add_esp_8, x86_tune_tune_sub_esp_4, x86_tune_sub_esp_8,
+       x86_tune_integer_dfmode_moves, x86_tune_partial_reg_dependency,
+       x86_tune_sse_partial_reg_dependency,
+       x86_tune_sse_unaligned_load_optimal,
+       x86_tune_sse_unaligned_store_optimal, x86_tune_sse_typeless_stores,
+       x86_tune_memory_mismatch_stall, x86_tune_use_ffreep,
+       x86_tune_inter_unit_moves, x86_tune_inter_unit_conversions,
+       x86_tune_use_bt, x86_tune_pad_returns, x86_tune_slow_imul_imm32_mem,
+       x86_tune_slow_imul_imm8, x86_tune_fuse_cmp_and_branch):
+       Enable/disable for bdver1.
+       (processor_target_table): Add bdver1_cost.
+       (cpu_names): Add bdver1.
+       (override_options): Set up PROCESSOR_BDVER1 for bdver1 entry in
+        processor_alias_table.
+       (ix86_expand_vector_move_misalign): Change.
+       TARGET_SSE_UNALIGNED_MOVE_OPTIMAL to TARGET_SSE_UNALIGNED_LOAD_OPTIMAL.
+       Check for TARGET_SSE_UNALIGNED_STORE_OPTIMAL.
+       Check for TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit movups instead
+       of movupd/movdqu for SSE and AVX.
+       (ix86_tune_issue_rate): Add PROCESSOR_BDVER1.
+       (ix86_tune_adjust_cost): Add code for bdver1.
+       (standard_sse_constant_opcode): Add check for
+       TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL to emit packed single xor instead
+       of packed double xor for SSE and AVX.
+
+2010-05-14  Pat Haugen  <pthaugen@us.ibm.com>
+
+       * tree-ssa-loop.prefetch.c (prune_ref_by_group_reuse): Cast abs()
+       result to unsigned.
+
+2010-05-14  Tristan Gingold  <gingold@adacore.com>
+
+       * toplev.c (default_debug_hooks): Remove this variable.
+       (process_options): Remove assignments to default_debug_hooks.
+
+2010-05-14  Martin Jambor  <mjambor@suse.cz>
+
+       * langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove.
+       (LANG_HOOKS_INITIALIZER): Remove LANG_HOOKS_FOLD_OBJ_TYPE_REF.
+       * langhooks.h (struct lang_hooks_for_decls): Removed field
+       fold_obj_type_ref.
+       * tree.c (free_lang_data): Remove assignment to
+       lang_hooks.fold_obj_type_ref.
+       * tree.def (OBJ_TYPE_REF): Update comment.
+
+2010-05-14  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44124
+       * tree-ssa-sccvn.c (vn_nary_may_trap): Fix invalid memory access.
+
+2010-05-14  Alan Modra  <amodra@gmail.com>
+
+       PR target/44075
+       * config/rs6000/rs6000.c (struct machine_function): Reorder
+       fields for better packing.  Add lr_save_state.
+       (rs6000_ra_ever_killed): Return lr_save_state if set.
+       (rs6000_emit_eh_reg_restore): Set lr_save_state.
+
+2010-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * varpool.c (decide_is_variable_needed): Drop code checking
+       TREE_SYMBOL_REFERENCED.
+
+2010-05-13  Jan Hubicka  <jh@suse.cz>
+
+       * final.c (output_addr_const): Do not call mark_decl_referenced.
+       * cgraphunit.c (process_function_and_variable_attributes): Use
+       mark_needed_node dirrectly.
+       (assemble_thunk): Do not call mark_decl_referenced.
+
+2010-05-13  Anatoly Sokolov  <aesok@post.ru>
+
+       * targhooks.c (default_mode_dependent_address_p): Cast 'addr' to rtx.
+
+2010-05-13  Jeff Law  <law@redhat.com>
+
+       * ira-conflicts.c (print_allocno_conflicts): New function broken out
+       from...
+       (print_conflicts): Call print_allocno_conflicts.
+
+2010-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44104
+       * dwarf2out.c (modified_type_die): Don't dereference mod_type_die
+       if it is NULL.
+
+2010-05-13  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config.gcc (i[34567]86-*-mingw* | x86_64-*-mingw*): Choose
+       t-mingw-w64 or t-mingw-w32 for multilib configuration.
+       * config/i386/t-mingw-w32: New.
+       * config/i386/t-mingw-w64 (MULTILIB_OSDIRNAMES): Change lib64 to lib.
+
+2010-05-13  Martin Jambor  <mjambor@suse.cz>
+
+       * gimple.c (gimple_fold_obj_type_ref): Removed (a replacement moved to
+       gimple-fold.c).
+       * gimple-fold.c (get_base_binfo_for_type): New function.
+       (gimple_get_relevant_ref_binfo): Likewise.
+       (gimple_fold_obj_type_ref_known_binfo): Likewise.
+       (gimple_fold_obj_type_ref): Likewise.
+       (fold_gimple_call): Simplify condition for folding virtual calls
+       and call gimple_fold_obj_type_ref.
+       * gimple.h (gimple_get_relevant_ref_binfo): Declare.
+       (gimple_fold_obj_type_ref_known_binfo): Likewise.
+
+2010-05-13  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * config/rs6000/rs6000-protos.h
+       (rs6000_mode_dependent_address_ptr): Change argument to const_rtx.
+       * config/rs6000/rs6000.c (rs6000_mode_dependent_address)
+       (rs6000_debug_mode_dependent_address)
+       (rs6000_mode_dependent_address_ptr): Likewise.
+
+2010-05-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43983
+       * var-tracking.c (track_expr_p): Allow tracking of variables optimized
+       by SRA.
+       * Makefile.in (dwarf2out.o): Depend on $(TREE_FLOW_H).
+       * tree-sra.c (create_access_replacement): Call unshare_expr before
+       passing expr to SET_DECL_DEBUG_EXPR, and remove any SSA_NAMEs from it.
+       * dwarf2out.c: Include tree-flow.h.
+       (struct var_loc_node): Rename var_loc_note field to loc, add comment.
+       (size_of_loc_descr, output_loc_operands, output_loc_operands_raw):
+       Handle DW_OP_bit_piece.
+       (decl_piece_bitsize, decl_piece_varloc_ptr, decl_piece_node,
+       construct_piece_list, adjust_piece_list): New functions.
+       (add_var_loc_to_decl): Handle SRA optimized variables.
+       Adjust for var_loc_note to loc field renaming.
+       (dw_loc_list_1): For WANT_ADDRESS == 2 prefer DECL_MODE of decl
+       in VAR_LOCATION note.
+       (new_loc_descr_op_bit_piece): New function.
+       (dw_sra_loc_expr): New function.
+       (dw_loc_list): Use it.  Don't handle the last range after the
+       loop, handle it inside of the loop.  Adjust for var_loc_note
+       to loc field renaming.
+       (add_location_or_const_value_attribute): Only special case
+       single entry loc lists if loc is NOTE_P.  Adjust for
+       var_loc_note to loc field renaming.
+       (dwarf2out_var_location): Don't set newloc->var_loc_note
+       and newloc->next here.
+
+2010-05-12  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_mark_address_taken_node): No longer imply needed
+       flag.
+       * cgraph.h (cgraph_only_called_directly_p,
+       cgraph_can_remove_if_no_direct_calls_p): test address_taken flag.
+       (cgraph_can_remove_if_no_direct_calls_and_refs_p): New function.
+       * cgraphunit.c (cgraph_mark_functions_to_output): Test address_taken.
+       (assemble
+       * ipa.c (cgraph_remove_unreachable_nodes): Use
+       cgraph_can_remove_if_no_direct_calls_and_refs_p; clear address_taken
+       flags.
+       * tree-inline.c (copy_bb): Check address_taken flag.
+       * tree-profile.c (tree_gen_ic_func_profiler): Check address_taken and
+       externally_visible flag.
+
+2010-05-12  Jason Merrill  <jason@redhat.com>
+
+       PR bootstrap/44048
+       PR target/44099
+       * dbxout.c (dbxout_type): Remove NULLPTR_TYPE handling.
+       * sdbout.c (plain_type_1): Likewise.
+       * dwarf2out.c (is_base_type): Likewise.
+       (gen_type_die_with_usage): Likewise.  Generate
+       DW_TAG_unspecified_type for any LANG_TYPE.
+
+2010-05-12  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Build
+       indrect edges too.
+       * cgraph.c (cgraph_create_indirect_edge): Take ecf_flags argument.
+       (cgraph_clone_edge): Update.
+       (cgraph_node_remove_callees): Remove indirect calls too.
+       * cgraph.h (cgraph_indirect_call_info): Add ecf_flags.
+       (cgraph_create_indirect_edge): Update prototype.
+       * ipa-reference.c (has_proper_scope_for_analysis): Rename to
+       is_proper_for_analysis.
+       (add_new_function, visited_nodes, function_insertion_hook_holder,
+       get_local_reference_vars_info, mark_address_taken, mark_address,
+       mark_load, mark_store, check_asm_memory_clobber, check_call,
+       scan_stmt_for_static_refs, scan_initializer_for_static_refs): Remove.
+       (ipa_init): Do not initialize visited_nodes;
+       function_insertion_hook_holder.
+       (analyze_variable): Rewrite.
+       (analyze_function): Rewrite.
+       (copy_local_bitmap): Remove.
+       (duplicate_node_dat): Do not duplicate local info.
+       (generate_summary): Simplify to only walk cgraph.
+       (write_node_summary_p, ipa_reference_write_summary,
+       ipa_reference_read_summary): Remove.
+       (propagate): Do not remove function insertion;
+       generate summary.
+       (pass_ipa_reference): NULLify summary handling fields.
+       * lto-cgraph.c (lto_output_edge): Output ecf_flags.
+       (input_edge): Input ecf_flags.
+       * ipa-prop.c (ipa_note_parm_call): Expect edge to be around.
+       (update_indirect_edges_after_inlining): Ignore edges with unknown
+       param.
+
+2010-05-12  Sriraman Tallam  <tmsriram@google.com>
+
+       * implicit-zee.c: New file.
+       * tree-pass.h (pass_implicit_zee): Declare.
+       * passes.c (init_optimization_passes): Add zee pass.
+       * common.opt (fzee): New flag.
+       * timevar.def (TV_ZEE): Define.
+       * config/i386/i386.c (optimization_options): Turn on ZEE for level 2
+       and beyond.
+       * Makefile.in (implicit-zee.o): Add new build file.
+
+2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
+           Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-common.c (sync_resolve_params): Remove write-only variable.
+
+2010-05-12  Anatoly Sokolov  <aesok@post.ru>
+
+       * target.h (struct gcc_target): Add mode_dependent_address_p field.
+       * target-def.h (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
+       (TARGET_INITIALIZER): Use TARGET_MODE_DEPENDENT_ADDRESS_P.
+       * targhooks.c (default_mode_dependent_address_p): New function.
+       * targhooks.h (default_mode_dependent_address_p): Declare function.
+       * doc/tm.texi (TARGET_MODE_DEPENDENT_ADDRESS_P): New.
+       (GO_IF_MODE_DEPENDENT_ADDRESS): Update.
+       * recog.c (mode_dependent_address_p): Call mode_dependent_address_p
+       target hook. Change return type to bool.
+       * recog.h (mode_dependent_address_p): Change return type to bool.
+
+2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
+           Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree-mudflap.c (build_function_type_0, build_function_type_1,
+       build_function_type_2, build_function_type_3): Remove.
+       (mudflap_init): Use build_function_type_list.
+
+2010-05-12  Kazu Hirata  <kazu@codesourcery.com>
+           Nathan Froyd  <froydnj@codesourcery.com>
+
+       * coverage.c (build_fn_info_value): Call build_constructor instead of
+       build_constructor_from_list.
+       (build_ctr_info_value): Likewise.
+       (build_gcov_info): Likewise.
+
+2010-05-12  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * tree.c (build_constructor): Compute TREE_CONSTANT for the
+       resultant constructor.
+       (build_constructor_single): Don't set TREE_CONSTANT.
+       (build_constructor_from_list): Don't compute TREE_CONSTANT.
+
+2010-05-12  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (struct varpool_node): Add aux.
+       * varasm.c (find_decl_and_mark_needed): Force output of varpool nodes.
+       * varpool.c (varpool_remove_node): Do not remove initializer.
+       (varpool_reset_queue): Export.
+       (varpool_finalize_decl): Volatile vars are forced to be output.
+       * lto-symtab.c (lto_varpool_replace_node): Clear out initializer of
+       replaced decl.
+       * ipa.c (enqueue_cgraph_node, enqueue_varpool_node,
+       process_references, varpool_can_remove_if_no_refs): New functions.
+       (cgraph_remove_unreachable_nodes): Handle variables too.
+
+2010-05-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/44088
+       * config/i386/sse.md (*avx_vmmaskcmp<mode>3): New.
+
+2010-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/44085
+       * gimplify.c (enum omp_region_type): Add ORT_UNTIED_TASK,
+       change value of ORT_TASK.
+       (new_omp_context): Handle ORT_UNTIED_TASK like ORT_TASK.
+       (omp_notice_threadprivate_variable): New function.
+       (omp_notice_variable): Call it for threadprivate variables.
+       If enclosing ctx is a task, print enclosing task rather than
+       enclosing parallel.  Handle ORT_UNTIED_TASK like ORT_TASK.
+       (gimplify_omp_task): Pass ORT_UNTIED_TASK instead of ORT_TASK
+       if task has untied clause.
+
+       PR debug/42278
+       * dwarf2out.c (base_type_die): Don't add name attribute here.
+       (modified_type_die): Instead of sizetype use
+       its underlying original type.  If a DW_TAG_base_type doesn't
+       have name added, add __unknown__.
+       (dwarf2out_imported_module_or_decl_1): Don't call base_type_die,
+       always call force_type_die instead.
+
+2010-05-12  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * targhooks.c (default_stack_protect_guard): Avoid sharing RTL
+       for __stack_chk_guard.
+
+2010-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-opts.c (c_common_parse_file): If start_end_main_source_file,
+       don't call start_source_file debug hook here...
+       (finish_options): ... but here, after outputting predefined and
+       command line defines and undefs.
+
+       PR middle-end/44071
+       * cfglayout.c (fixup_reorder_chain): Allow asm goto to have
+       no fallthru edge.
+       * cfgcleanup.c (try_optimize_cfg): When in cfglayout mode
+       optimizing away empty bb with no successors, move over its
+       footer chain to fallthru predecessor.
+       * cfgrtl.c (patch_jump_insn): Update also REG_LABEL_OPERAND.
+       (rtl_split_edge): For asm goto call patch_jump_insn even if
+       splitting fallthru edge.
+
+       PR c++/44059
+       * config/elfos.h (ASM_DECLARE_OBJECT_NAME): Use qnu_unique_object
+       even for DECL_ONE_ONLY DECL_ARTIFICIAL !TREE_READONLY decls.
+       * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Likewise.
+       * dwarf2asm.c (dw2_output_indirect_constant_1): Set TREE_READONLY
+       on DW.ref.* decls.
+
+       PR c++/44062
+       * c-parser.c (c_parser_expression): Mark LHS of a comma
+       expression as read if it is a decl, handled component or
+       COMPOUND_EXPR with that on the RHS.
+       * c-typeck.c (c_process_expr_stmt): Mark RHS of COMPOUND_EXPR
+       if it is a decl or handled component.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_free): New function.
+       * lto-streamer.h (lto_symtab_free): Declare.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (reachable_from_other_partition_p): Export; do not assume
+       that if function is needed it is reachable.
+       (lto_output_node): See if it the function is reachable or referenced.
+       (output_cgraph): Update call of lto_output_node.
+       * lto-streamer.h (reachable_from_other_partition_p): Declare.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * crtstuff.c (__JCR_LIST__, __DTOR_END__, __JCR_END__, __FRAME_END__):
+       Mark as used.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimize/44063
+       * ipa-inline.c (cgraph_edge_badness): Move always inlines to top of
+       queue.
+       (cgraph_decide_inlining_of_small_function): Skip check when disrgarding
+       limits.
+       (estimate_function_body_sizes): Compute sizes even when disregarding.
+
+2010-05-11  Kai Tietz  <kai.tietz@onevision.com>
+
+       * collect2.c (maybe_lto_object_file): Add x64-coff magic and check.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (output_cgraph): Remove loop adding all varpool nodes
+       into every boundary.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * matrix-reorg.c (matrix_reorg): Rebuild edges.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * lto-streamer.c (lto_streamer_cache_add_to_node_array,
+       lto_streamer_cache_delete): Put nodes into heap.
+       * lto-streamer.h (struct lto_streamer_cache_d): Nodes vector is in
+       heap.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphbuild.c (cgraph_rebuild_references): New.
+       * cgraph.c (cgraph_mark_reachable_node): Accept references to optimized
+       out extern inlines.
+       * cgraph.h (cgraph_rebuild_references): Declare.
+       * tree-inline.c (tree_function_versioning): Use it.
+       * ipa-struct-reorg.c (do_reorg_for_func): Likewise.
+
+2010-05-11  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c: Include ipa-utils.h
+       (cgraph_create_virtual_clone): Update references.
+       * Makefile.in (cgraph.o): Add dependency at ipa-utils.h
+
+2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Reset
+       prefetch_before to PREFETCH_ALL if to accesses "meet" beyond
+       cache size.
+
+2010-05-11  Christian Borntraeger  <borntraeger@de.ibm.com>
+
+       * tree-ssa-loop-prefetch.c: Add debug for dropped prefetches.
+
+2010-05-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (execute): For -### don't quote arguments that
+       contain just alphanumerics and _/-. characters.
+       * doc/invoke.texi: Document that change for -###.
+
+       PR debug/44023
+       * df-problems.c (struct dead_debug): Add to_rescan field.
+       (dead_debug_init): Clear to_rescan field.
+       (dead_debug_finish): Rescan all debug insns in to_rescan
+       bitmap and free the bitmap.
+       (dead_debug_insert_before): Instead of rescanning debug insns
+       immediately queue their rescanning until dead_debug_finish.
+       (df_note_bb_compute): After dead_debug_add do continue instead
+       of break.
+
+2010-05-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/44028
+       * haifa-sched.c (schedule_insn): When clearing INSN_VAR_LOCATION_LOC,
+       clear also INSN_REG_USE_LIST.
+
+2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Undef.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * lto-stramer-out.c (produce_asm_for_decls): Correct accidentally
+       commited change.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * passes.c (ipa_write_summaries_1, ipa_write_optimization_summaries):
+       Allocate encoders.
+       * lto-section-out.c (lto_new_out_decl_state): Do not allocate it here.
+       * lto-streamer.c (lto_streamer_cache_insert_1): Use alloc pool.
+       (lto_streamer_cache_create): Init alloc pool.
+       (lto_streamer_cache_delete): Free alloc pool.
+       * lto-streamer.h: Include alloc pool.
+       (lto_streamer_cache_d): Use alloc pool.
+       * lto-stramer-out.c (produce_asm_for_decls): Delete fn_out_states.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (cgraphbuild.o): Add dependency on except.h.
+       * cgraphbuild.c: Include except.h
+       (record_type_list, record_eh_tables): New function.
+       (build_cgraph_edges, rebuild_cgraph_edges): Use it.
+
+2010-05-10  Jan Hubicka  <jh@suse.cz>
+
+       * crtstuff.c (force_to_data, __do_global_dtors_aux_fini_array_entry,
+       __frame_dummy_init_array_entry, force_to_data): Attribute as used
+       rather than unused.
+
+2010-05-10  Michael Matz  <matz@suse.de>
+
+       * tree-ssa-reassoc.c (undistribute_ops_list): Use create_tmp_reg.
+       (can_reassociate_p): Use FLOAT_TYPE_P.
+       * tree-vectorizer.h (vect_is_simple_reduction): Rename to ...
+       (vect_force_simple_reduction): ... this.
+       * tree-parloops.c (gather_scalar_reductions): Use
+       vect_force_simple_reduction.
+       * tree-vect-loop.c (vect_is_simple_reduction_1): Rename from
+       vect_is_simple_reduction, add modify argument, if true rewrite
+       "a-b" into "a+(-b)".
+       (vect_is_simple_reduction, vect_force_simple_reduction): New
+       functions.
+       (vect_analyze_scalar_cycles_1): Use vect_force_simple_reduction.
+
+2010-05-10  H.J. Lu  <hongjiu.lu@intel.com>
+           Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/44012
+       * ira-build.c (remove_unnecessary_allocnos): Nullify
+       regno_allocno_map of the removed allocno.
+
+2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_ld_eh_gc_sections): Redirect objdump errors
+       to /dev/null.
+       * configure: Regenerate.
+
+2010-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.c (solaris_assemble_visibility): Declare decl, vis
+       unused.
+       Define visibility_types, name, type inside HAVE_GAS_HIDDEN.
+       * configure.ac (gcc_cv_ld_hidden): Explain stages of visibility
+       support in Sun ld.
+       * configure: Regenerate.
+
+2010-05-10  Richard Guenther  <rguenther@suse.de>
+
+       * lto-symtab.c (lto_symtab_entry_marked_p): Make entry
+       marked if the entry identifier is marked.
+
+2010-05-10  Richard Guenther  <rguenther@suse.de>
+
+       * c-common.c (struct c_common_attributes): Add fnspec attribute.
+       (handle_fnspec_attribute): New function.
+       * gimple.h (gimple_call_return_flags): Declare.
+       (gimple_call_arg_flags): Likewise.
+       * gimple.c (gimple_call_arg_flags): New function.
+       (gimple_call_return_flags): Likewise.
+       * tree.h (EAF_DIRECT, EAF_NOCLOBBER, EAF_NOESCAPE, EAF_UNUSED):
+       New argument flags.
+       (ERF_RETURN_ARG_MASK, ERF_RETURNS_ARG, ERF_NOALIAS): New function
+       return value flags.
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Skip unused args.
+       * tree-ssa-structalias.c (make_constraint_from_heapvar): Split
+       main work to ...
+       (make_heapvar_for): ... this new function.
+       (handle_rhs_call): Handle fnspec attribute argument specifiers.
+       (handle_lhs_call): Likewise.
+       (find_func_aliases): Adjust.
+
+2010-05-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44050
+       * tree-inline.c (tree_function_versioning): Clone the ipa-pta flag.
+
+2010-05-10  Wei Guozhi  <carrot@google.com>
+
+       PR target/42879
+       * config/arm/thumb2.md (thumb2_tlobits_cbranch): New insn pattern.
+
+2010-05-09  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/10676
+       * c-typeck.c (lookup_field): Take a type directly.  Update
+       recursive calls.
+       (build_component_ref): Update call to lookup_field.
+       (set_init_label): Use lookup_field to find initialized field.
+       Handle returned list of fields like a sequence of designators.
+
+2010-05-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44024
+       * fold-const.c (tree_single_nonzero_warnv_p): Properly
+       handle &FUNCTION_DECL.
+
+2010-05-09  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/4784
+       * c-decl.c (detect_field_duplicates_hash): New.  Handle anonymous
+       structures and unions recursively.
+       (detect_field_duplicates): Move duplicate detection with a hash to
+       detect_field_duplicates_hash.  Always use a hash if anonymous
+       structures or unions are present.
+       * doc/extend.texi (Unnamed Fields): Document that duplicate fields
+       give errors.
+
+2010-05-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/44046
+       * config/i386/driver-i386.c (host_detect_local_cpu): Properly
+       detect Atom, Core 2 and Core i7.
+
+2010-05-09  Richard Guenther  <rguenther@suse.de>
+
+       * gcc.c (store_arg): Handle temporary file deletion for
+       joined arguments.
+
+2010-05-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/44043
+       * ipa-inline.c (estimate_function_body_sizes): Return after
+       disregarding inline limits.
+
+2010-05-09  Richard Guenther  <rguenther@suse.de>
+
+       * gcc.c (store_arg): Revert last change.
+
+2010-05-08  Sandra Loosemore  <sandra@codesourcery.com>
+
+       PR middle-end/28685
+       * tree-ssa-reassoc.c (eliminate_redundant_comparison): New function.
+       (optimize_ops_list): Call it.
+
+2010-05-08  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44030
+       * tree-ssa-pre.c (eliminate): Copy NECESSARY flag.  Set
+       NECESSARY flag if we propagate from a inserted expression.
+
+2010-05-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.c (gimple_types_compatible_p) <ARRAY_TYPE>: Treat bounds of
+       domain types as equal if they are both PLACEHOLDER_EXPRs.
+
+2010-05-08  Richard Guenther  <rguenther@suse.de>
+
+       * lto-wrapper.c (run_gcc): Remove linker output from
+       command line for LTRANS invocation.
+
+2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
+       lto-macho as lto_binary_reader.
+       * target.h (struct gcc_target): New hooks lto_start and lto_end.
+       * target-def.h (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Define.
+       * cgraphunit.c (ipa_passes): Wrap LTO assembler output generation
+       in lto_start and lto_end calls.
+       (is_elf_or_coff): Rename to maybe_lto_object_file.  Add Mach-O
+       magic numbers.
+       (scan_prog_file): Update is_elf_or_coff call.
+       * doc/tm.text (TARGET_ASM_LTO_START, TARGET_ASM_LTO_END): Document.
+
+       * collect2.c (main): Fix enum comparison.
+
+       * config/darwin-protos.h (darwin_asm_lto_start, darwin_asm_lto_end):
+       Add prototypes.
+       * darwin9.h (LINK_COMMAND_SPEC): Pass -flto and -fwhopr to the linker.
+       * darwin.h (LINK_COMMAND_SPEC): Likewise.  Define TARGET_ASM_LTO_START
+       and TARGET_ASM_LTO_END.
+       * darwin.c: Include obstack.h and lto-streamer.h.
+       (lto_section_names_offset, lto_section_names_obstack,
+       lto_asm_out_file, lto_asm_out_name, saved_asm_out_file): New static
+       global variables.
+       (LTO_SEGMENT_NAME, LTO_NAMES_SECTION): New defines.
+       (darwin_asm_lto_start): New function.  Redirect output to asm_out_file
+       to a temporary file.
+       (darwin_asm_lto_end): New function.  Restore asm_out_file.
+       (darwin_asm_named_section): For LTO sections, replace the name with
+       the offset of the section name in a string table, and build this
+       table.
+       (darwin_file_start): Initialize global vars for LTO support.
+       (darwin_file_end): If output to asm_out_file was redirected, append it
+       to the proper asm_out_file here.  Add the section names section.
+
+2010-05-07  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-pragma.c (pending_weak_d, pending_weak): New.
+       (pending_weaks): Change the type to VEC((pending_weak,gc) *.
+       (maybe_apply_pragma_weak, maybe_apply_pending_pragma_weaks,
+       handle_pragma_weak): Update the uses of pending_weaks.
+
+2010-05-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR documentation/44016
+       * doc/standards.texi (Standards): Link to unversioned
+       cxx0x_status.html page.
+
+2010-05-07  Iain Sandoe <iains@gcc.gnu.org>
+
+       PR target/43708
+       * config/darwin-c.c (darwin_pragma_unused): Set DECL_READ_P
+       in addition to TREE_USED, to avoid "set but unused" warnings.
+
+2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * tree-ssa-loop-prefetch.c (TRIP_COUNT_TO_AHEAD_RATIO): New.
+       (is_loop_prefetching_profitable): Do not insert prefetches
+       when the trip count is not at least TRIP_COUNT_TO_AHEAD_RATIO
+       times the prefetch ahead distance.
+
+2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable):
+       Account for loop unrolling in the insn-to-prefetch ratio heuristic.
+       (loop_prefetch_arrays): Pass to is_loop_prefetching_profitable
+       the unroll_factor.
+
+2010-05-07  Changpeng Fang  <changpeng.fang@amd.com>
+
+       * tree-ssa-loop-prefetch.c (is_loop_prefetching_profitable): Dump
+       a diagnostic info when the insn-to-mem ratio is too small.
+
+2010-05-07  Richard Guenther <rguenther@suse.de>
+
+       * gcc.c (LINK_COMMAND_SPEC): Provide a resolution file to
+       the linker plugin.
+       (store_arg): Queue temp_filename for deletion instead of
+       the whole argument.
+
+2010-05-07  Richard Guenther  <rguenther@suse.de>
+
+       * lto-wrapper.c (DUMPBASE_SUFFIX): Define.
+       (run_gcc): Handle LTRANS phase invocation.
+       * collect2.c (maybe_run_lto_and_relink): Do not set WPA_SAVE_LTRANS.
+
+2010-05-07  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (TREE_ADDRESSABLE): Adjust comment to say that
+       this is also meaningful on PARM_DECLs and RESULT_DECLs.
+
+2010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/iris6.h (LINK_SPEC): Don't pass -init, -fini with -r.
+
+2010-05-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/44020
+       * tree-ssa-pre.c (execute_pre): Do not remove dead inserted
+       code when PRE is not yet initialized.
+
+2010-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/dbxmdebug.h: Remove.
+       * config.gcc (mips-sgi-irix6.5*): Remove mips/dbxmdebug.h.
+
+2010-05-07  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * c-typeck.c (build_binary_op): Warn ordered comparison of pointer
+       with null pointer and also warn about ordered comparison of zero with
+       pointer if -Wextra.
+
+2010-05-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-blocking.c
+       (pbb_strip_mine_profitable_p): Replace Value with mpz_t.
+       * graphite-clast-to-gimple.c
+       (clast_to_gcc_expression): Same.
+       (precision_for_value): Same.
+       (precision_for_interval): Same.
+       (gcc_type_for_interval): Same.
+       (graphite_create_new_guard): Same.
+       (compute_bounds_for_level): Same.
+       (graphite_create_new_loop_guard): Same.
+       * graphite-interchange.c
+       (build_linearized_memory_access): Same.
+       (pdr_stride_in_loop): Same.
+       (memory_strides_in_loop_1): Same.
+       (memory_strides_in_loop): Same.
+       (extend_scattering): Same.
+       (psct_scattering_dim_for_loop_depth): Same.
+       (pbb_number_of_iterations): Same.
+       * graphite-poly.h
+       (debug_iteration_domains): Same.
+       * graphite-ppl.c
+       (new_Cloog_Domain_from_ppl_Pointset_Powerset): Same.
+       (ppl_set_inhomogeneous_gmp): Same.
+       (ppl_strip_loop): Same.
+       (ppl_lexico_compare_linear_expressions): Same.
+       (ppl_read_polyhedron_matrix): Same.
+       (ppl_max_for_le_pointset): Same.
+       * graphite-ppl.h
+       (ppl_read_polyhedron_matrix): Same.
+       (tree_int_to_gmp): Same.
+       (gmp_cst_to_tree): Same.
+       (ppl_set_inhomogeneous): Same.
+       (ppl_set_inhomogeneous_tree): Same.
+       (ppl_set_coef): Same.
+       (ppl_set_coef_tree): Same.
+       * graphite-sese-to-poly.c
+       (build_pbb_scattering_polyhedrons): Same.
+       (build_scop_scattering): Same.
+       (scan_tree_for_params_right_scev): Same.
+       (scan_tree_for_params): Same.
+       (find_params_in_bb): Same.
+       (find_scop_parameters): Same.
+       (add_upper_bounds_from_estimated_nit): Same.
+       (build_loop_iteration_domains): Same.
+       (add_condition_to_domain): Same.
+       (pdr_add_memory_accesses): Same.
+
+2010-05-05  Andreas Simbuerger  <simbuerg@fim.uni-passau.de>
+
+       * graphite-blocking.c (pbb_strip_mine_profitable_p): Resolve
+       CLooG's value_* macros to their respective mpz_* counterparts.
+       * graphite-clast-to-gimple.c (clast_to_gcc_expression): Same.
+       (graphite_create_new_loop_guard): Same.
+       * graphite-interchange.c (build_linearized_memory_access): Same.
+       (pdr_stride_in_loop): Same.
+       (memory_strides_in_loop_1): Same.
+       (1st_interchange_profitable_p): Same.
+       * graphite-poly.c (extend_scattering): Same.
+       (psct_scattering_dim_for_loop_depth): Same.
+       (pbb_number_of_iterations): Same.
+       (pbb_number_of_iterations_at_time): Same.
+       * graphite-poly.h (new_1st_loop): Same.
+       * graphite-ppl.c (cloog_matrix_to_ppl_constraint): Same.
+       (oppose_constraint): Same.
+       (insert_constraint_into_matrix): Same.
+       (ppl_set_inhomogeneous_gmp): Same.
+       (ppl_set_coef_gmp): Same.
+       (ppl_strip_loop): Same.
+       (ppl_lexico_compare_linear_expressions): Same.
+       (ppl_max_for_le_pointset): Same.
+       (ppl_min_for_le_pointset): Same.
+       (ppl_build_realtion): Same.
+       * graphite-ppl.h (gmp_cst_to_tree): Same.
+       (ppl_set_inhomogeneous): Same.
+       (ppl_set_inhomogeneous_tree): Same.
+       (ppl_set_coef): Same.
+       (ppl_set_coef_tree): Same.
+       * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
+       (build_scop_scattering): Same.
+       (add_value_to_dim): Same.
+       (scan_tree_for_params_right_scev): Same.
+       (scan_tree_for_params_int): Same.
+       (scan_tree_for_params): Same.
+       (find_params_in_bb): Same.
+       (find_scop_parameters): Same.
+       (add_upper_bounds_from_estimated_nit): Same.
+       (build_loop_iteration_domains): Same.
+       (create_linear_expr_from_tree): Same.
+       (add_condition_to_domain): Same.
+       (pdr_add_memory_accesses): Same.
+
+2010-05-06  Magnus Fromreide  <magfr@lysator.liu.se>
+           Jason Merrill  <jason@redhat.com>
+
+       * c-common.c (c_common_reswords): Add nullptr.
+       * c-common.h: Add RID_NULLPTR.  Reorganize C++0x rids.
+       * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE.
+       (gen_type_die_with_usage): Likewise.
+       * dbxout.c (dbxout_type): Likewise.
+       * sdbout.c (plain_type_1): Likewise.
+
+2010-05-06  Jason Merrill  <jason@redhat.com>
+
+       * gimplify.c (gimplify_expr): Set GS_ALL_DONE when appropriate.
+       Don't change GS_OK to GS_ALL_DONE.  Make sure that all cases set
+       ret appropriately.
+       (gimplify_compound_lval): Return GS_ALL_DONE as appropriate.
+
+       * gimplify.c (gimplify_modify_expr_rhs): Don't return GS_OK for
+       stripping WITH_SIZE_EXPR.
+       (gimplify_expr) [MODIFY_EXPR]: Trust GS_OK even if the rhs didn't
+       change.
+
+2010-05-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc: Removed mips-sgi-irix5*, mips-sgi-irix6.[0-4]* from
+       list of obsolete configurations.
+       Disabled check for obsolete configurations.
+       (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
+       Removed support for previous versions.
+       * config/mips/iris.h: Removed.
+       * config/mips/iris5.h: Removed.
+       * config/mips/iris6.h: Merged old iris.h contents.
+       (TARGET_IRIX): Removed.
+       (DRIVER_SELF_SPECS): Removed mabi=32.
+       (IDENT_ASM_OP): Removed undef.
+       (STARTFILE_SPEC): Removed mabi=32.
+       (ENDFILE_SPEC): Likewise.
+       (IRIX_SUBTARGET_LINK_SPEC): Likewise.
+       (MACHINE_TYPE): Update for IRIX 6.5.
+       * config/mips/mips.c (mips_build_builtin_va_list): Replaced
+       TARGET_IRIX by TARGET_IRIX6.
+       (mips_file_start): Likewise.
+       (mips_output_external): Remove IRIX 5/6 O32 support.
+       (mips_output_function_prologue): Likewise.
+       * config/mips/mips.h (TARGET_GPWORD): Replaced TARGET_IRIX by
+       TARGET_IRIX6.
+       (TARGET_CPU_CPP_BUILTINS): Likewise.
+       (TARGET_IRIX): Removed.
+       * config/mips/t-iris6 (MULTILIB_OPTIONS): Removed mabi=32.
+       (MULTILIB_DIRNAMES): Removed 32.
+       (MULTILIB_OSDIRNAMES): Removed ../lib.
+       * doc/install.texi (Prerequisites): Don't reference IRIX before 6.5.
+       (Specific, mips-sgi-irix5): Document removal.
+       (Specific, mips-sgi-irix6): Document IRIX 6.[0-4] and O32 ABI removal.
+       Remove references to older IRIX 6 releases and the O32 ABI.
+
+2010-05-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43994
+       * df-problems.c (dead_debug_insert_before): Use *DF_REF_REAL_LOC
+       instead of DF_REF_REAL_REG.
+
+2010-05-06  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/43888
+       * config/i386/winnt.c (i386_pe_binds_local_p): Tweak weak symbol
+       handling to still return true for x64 targets.
+
+2010-05-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * config/m68k/uclinux.h (LIB_SPEC): Bring in sync with config/linux.h.
+
+2010-05-06  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/43791
+       * ipa-inline.c (update_caller_keys): Remove bogus
+       disregard_inline_limits check.
+
+2010-05-06  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/43984
+       * tree-ssa-pre.c (inserted_phi_names): Remove.
+       (inserted_exprs): Change to bitmap.
+       (create_expression_by_pieces): Set bits, don't append to vector.
+       (insert_into_preds_of_block): Don't handle inserted_phi_names.
+       (eliminate): Don't look at inserted_phi_names, remove deleted
+       insns from inserted_exprs.
+       (remove_dead_inserted_code): Adjust to use bitmaps instead of vectors.
+       (init_pre, fini_pre): Allocate and free bitmaps.
+       (execute_pre): Insert insns on edges before elimination.
+
+2010-05-06  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * tree.c (initializer_zerop): Handle STRING_CST.
+
+2010-05-06  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 40989
+       * doc/invoke.texi (Wimplicit): Document as C only.
+       * opts.c (common_handle_option): Add argument kind.
+       (handle_option): Rename as read_cmdline_option. Factor out code to...
+       (handle_option): ... here. New.
+       (handle_options): Rename as read_cmdline_options.
+       (decode_options): Update call.
+       (set_option): Use option index instead of option pointer. Classify
+       diagnostics correctly.
+       (enable_warning_as_error): Call handle_option.
+       * opts.h (set_option): Update declaration.
+       (handle_option): Declare.
+       * langhooks.h (struct lang_hooks): Add argument kind to handle_option.
+       * c.opt (Wimplicit,Wimplicit-int): Initialize to -1.
+       * c-opts.c (set_Wimplicit): Delete.
+       (c_family_lang_mask): New static constant.
+       (c_common_handle_option): Add argument kind. Use handle_option
+       instead of set_Wimplicit.
+       (c_common_post_options): warn_implicit and warn_implicit_int
+       are disabled by default.
+       * c-common.c (warn_implicit): Do not define here.
+       * c-common.h (warn_implicit): Do not declare here.
+       (c_common_handle_option): Update declaration.
+       * lto-opts.c (lto_reissue_options): Update call to set_option.
+
+2010-05-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43571
+       * domwalk.c (walk_dominator_tree): Walk the dominator
+       sons in more optimal order.
+
+2010-05-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43934
+       * tree-ssa-loop-im.c (movement_possibility): Handle PHI nodes.
+       (stmt_cost): Likewise.
+       (extract_true_false_args_from_phi): New helper.
+       (determine_max_movement): For PHI nodes verify we can hoist them
+       and compute their cost.
+       (determine_invariantness_stmt): Handle PHI nodes.
+       (move_computations_stmt): Likewise.  Hoist PHI nodes in
+       if-converted form using COND_EXPRs.
+       (move_computations): Return TODO_cleanup_cfg if we hoisted PHI nodes.
+       (tree_ssa_lim): Likewise.
+       * tree-flow.h (tree_ssa_lim): Adjust prototype.
+       * tree-ssa-loop.c (tree_ssa_loop_im): Return todo.
+
+2010-05-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43987
+       * tree-ssa-structalias.c (could_have_pointers): For possibly
+       address-taken variables force pointers to be recorded.
+       (create_variable_info_for_1): Likewise.
+       (push_fields_onto_fieldstack): Pass in wheter all fields
+       must have pointers.
+       (find_func_aliases): Query types instead of vars whether
+       they contain pointers where appropriate.
+
+2010-05-06  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphbuild.c (record_reference_ctx): Add varpool_node.
+       (record_reference, mark_address, mark_load, mark_store): Record
+       references.
+       (record_references_in_initializer): Update call of record_references.
+       (rebuild_cgraph_edges): Remove all references before rebuiding.
+       * cgraph.c (cgraph_create_node): Clear ref list.
+       (cgraph_remove_node): Remove references.
+       (dump_cgraph_node): Dump references.
+       (cgraph_clone_node): Clone references.
+       * cgraph.h: Include ipa-ref.h and ipa-ref-inline.h
+       (struct cgraph_node, varpool_node): Add ref_lst.
+       * ipa-ref.c: New file.
+       * ipa-ref.h: New file.
+       * ipa-ref-inline.h: New file.
+       * lto-cgraph.c (output_varpool): Take cgrag node set argument.
+       (referenced_from_other_partition_p): New function.
+       (lto_output_varpool_node): Take set arugment; call
+       referenced_from_other_partition.
+       (lto_output_ref): New.
+       (add_references): New.
+       (output_refs): New.
+       (output_cgraph): Compute boundary based on references; output refs.
+       (output_varpool): Accept cgraph_node_set argument.
+       (input_ref): New.
+       (input_refs): New.
+       (input_cgraph): Call input_refs.
+       * lto-section-in.c (lto_section_name): Add refs.
+       * Makefile.in (cgraph.h): Include ipa-ref.h and ipa-ref-inline.h
+       (ipa-ref.o): New file.
+       * varpool.c (varpool_node): Clear ipa ref list.
+       (varpool_remove_node): Remove references.
+       (dump_varpool_node): Dump references.
+       (varpool_assemble_decl): Only compile finalized ones.
+       (varpool_extra_name_alias): Initialize ref list.
+       * lto-streamer.c (lto-get_section_name): Add .refs section.
+       * lto-streamer.h (lto_section_type): Add LTO_section_refs.
+       (referenced_from_other_partition_p): Declared.
+
+2010-05-06  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/43901
+       * tree-vect-stmts.c (vectorizable_call): Assert that vector
+       type is not NULL if it's transformation phase, and return
+       FALSE if it's analysis.
+       (vectorizable_conversion, vectorizable_operation,
+       vectorizable_type_demotion, vectorizable_type_promotion): Likewise.
+
+2010-05-05  Andrew Pinski  <andrew.pinski@caviumnetworks.com>
+
+       * config/mips/mips.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
+       Delete.
+       * config/mips/mips.c (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P):
+       New define.
+       * config/mips/mips-protos.h
+       (mips_small_register_classes_for_mode_p): Delete prototype.
+
+2010-05-06  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * config/arm/arm.h (MAX_LDM_STM_OPS): New macro.
+       * config/arm/arm.c (multiple_operation_profitable_p,
+       compute_offset_order): New static functions.
+       (load_multiple_sequence, store_multiple_sequence): Use them.
+       Replace constant 4 with MAX_LDM_STM_OPS.  Compute order[0] from
+       memory offsets, not register numbers.
+       (emit_ldm_seq, emit_stm_seq): Replace constant 4 with MAX_LDM_STM_OPS.
+
+2010-05-05  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * stor-layout.c (pending_sizes): Change the type to VEC(tree,gc) *.
+       (get_pending_sizes, put_pending_size, put_pending_sizes):
+       Update the uses of pending_sizes.
+       * c-decl.c (store_parm_decls): Likewise.
+       * c-tree.h (struct c_arg_info): Likewise.
+       * tree.h: Update the prototype for get_pending_sizes and
+       put_pending_sizes.
+
+2010-05-05  Jason Merrill  <jason@redhat.com>
+
+       PR debug/43370
+       * c-common.c (handle_aligned_attribute): Respect
+       ATTR_FLAG_TYPE_IN_PLACE.
+
+       PR testsuite/43758
+       * target.h (struct gcc_target): Add attribute_takes_identifier_p.
+       * target_def.h (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
+       (TARGET_INITIALIZER): Use it.
+       * c-common.c (attribute_takes_identifier_p): Call it.
+       * c-common.h: Update prototype.
+       * config/rs6000/rs6000.c (rs6000_attribute_takes_identifier_p): New.
+       (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
+
+2010-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43950
+       * dwarf2out.c (gen_compile_unit_die): Add DW_AT_identifier_case
+       DW_ID_down_case for Fortran compilation units.
+
+2010-05-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Correctly
+       handle aliases.
+
+2010-05-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_return_expr): Gimplify the size expressions of
+       a variable-sized RESULT_DECL.
+
+2010-05-05  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       * doc/invoke.texi (-mfix-cortex-m3-ldrd): Move from ARC section to ARM.
+
+2010-05-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/43787
+       * gimplify.c (gimplify_expr): Keep working if gimplify_modify_expr
+       returns GS_OK.
+       (gimplify_modify_expr_rhs): Return GS_OK if anything changed.
+
+2010-05-05  Alexandre Oliva  <aoliva@redhat.com>
+           Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43478
+       * df-problems.c (struct dead_debug_use, struct dead_debug): New.
+       (dead_debug_init, dead_debug_finish): New functions.
+       (dead_debug_add, dead_debug_insert_before): Likewise.
+       (df_note_bb_compute): Initialize a dead_debug object, add dead
+       debug uses to it, insert debug bind insns before death insns,
+       reset debug insns that refer to pending uses at the end.
+       * rtl.h (make_debug_expr_from_rtl): New prototype.
+       * varasm.c (make_debug_expr_from_rtl): New function.
+
+2010-05-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (output_varpool): Forward declare; work on encoder.
+       (lto_varpool_encoder_new, lto_varpool_encoder_delete,
+       lto_varpool_encoder_encode, lto_varpool_encoder_lookup,
+       lto_varpool_encoder_deref, lto_varpool_encoder_size,
+       lto_varpool_encoder_encode_initializer_p,
+       lto_set_varpool_encoder_encode_initializer): New functions.
+       (lto_output_cgraph): Take vset parameter too; compute varpool encoder;
+       call output_varpool.
+       (input_varpool_node): Do not always set analyzed.
+       (input_cgraph_1): Return vector of cgraph nodes.
+       (input_varpool_1): Return vector of varpools.
+       (input_cgraph): Free the vectors.
+       * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
+       output only initializers needed.
+       (lto_output): Only call output_cgraph.
+       (produce_asm_for_decls): Call lto_varpool_encoder_delete.
+       * lto-section-out.c (lto_new_out_decl_state): Initialize
+       state->varpool_node_encoder.
+       * lto-streamer.h (lto_varpool_encoder_d): New.
+       (lto_out_decl_state, lto_file_decl_data): Add varpool_node_encoder.
+       (lto_cgraph_encoder_delete, output_cgraph): Update prototype.
+       (lto_varpool_encoder_deref, lto_varpool_encoder_lookup,
+       lto_varpool_encoder_encode, lto_varpool_encoder_delete,
+       lto_varpool_encoder_encode_initializer_p, lto_varpool_encoder_new):
+       Declare.
+       (output_varpool, input_varpool): Remove declarations.
+
+2010-05-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Alias of variable
+       with body can prevail.
+
+2010-05-05  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_merge_decls_1): Prefer declarations with
+       size.
+
+2010-05-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * Makefile.in (build/gengtype.o): Add $(HASHTAB_H) to dependencies.
+
+       * gengtype.h (erro_at_line): Constify pos argument.
+
+       * gengtype.c: Include hashtab.h.
+       (enum gc_used): Document GC_MAYBE_POINTED_TO.
+       (error_at_line): Constify pos argument.
+       (do_typedef): Initialize p->opt field.
+       (get_file_gtfilename): Fix comment typo.
+       (struct walk_type_data): Constify line field.
+       (get_output_file_for_structure): New function.
+       (write_local_func_for_structure): Constify orig_s argument.
+       Use get_output_file_for_structure.
+       (write_func_for_structure): Use get_output_file_for_structure.
+       (INDENT): New define.
+       (dump_pair, dump_type, dump_type_list, dump_typekind)
+       (dump_gc_used, dump_options, dump_fileloc, dump_type_u_s)
+       (dump_type_u_a, dump_type_u_param_struct, dump_everything): New
+       functions.
+       (seen_types): New variable.
+       (main): New variable do_dump.  Process "-d" command line option.
+       Call dump_everything if dump requested.
+
+2010-05-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (var_debug_decl): Save DECL_DEBUG_EXPR value
+       in a temporary instead of invoking the macro multiple times.
+       (track_expr_p): Likewise.
+
+2010-05-04  Neil Vachharajani <nvachhar@google.com>
+
+       * doc/invoke.texi (-Wcoverage-mismatch): Updated documentation as
+       per new semantics.
+       * opts.c (decode_options): Enable -Werror=coverage-mismatch.
+       * coverage.c (get_coverage_counts): Always emit a warning.  Adjust
+       conditions for printing notes.
+       * common.opt (-Wcoverage-mismatch): Allow negative, default to
+       true, update documentation.
+       * Makefile.in (coverage.o): Add dependence on DIAGNOSTIC_H and intl.h.
+
+2010-05-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/43981
+       * c-parser.c (c_parser_direct_declarator_inner): Call mark_exp_read
+       on dimen.
+
+2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/43799
+       * config/i386/i386.md (sse_prologue_save): Clobber CC register.
+       (*sse_prologue_save_insn1): Likewise.
+       (SSE prologue save splitter): Likewise.
+
+2010-05-04  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (free_lang_data_in_one_sizepos): New inline function.
+       (free_lang_data_in_type): Call it on TYPE_{MIN|MAX}_VALUE of numerical
+       types.  Call it on TYPE_SIZE and TYPE_SIZE_UNIT of all types.
+       (free_lang_data_in_decl): Call it on DECL_SIZE and DECL_SIZE_UNIT of
+       all decls.  Call it on DECL_FIELD_OFFSET of fields.
+       (find_decls_types_r): Follow DECL_VALUE_EXPR.
+       (iterative_hash_expr) <PLACEHOLDER_EXPR>: New case.
+
+2010-05-04  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (build_access_from_expr_1): The first parameter type
+       changed to simple tree.
+       (build_access_from_expr): Likewise, gsi parameter was eliminated.
+       (scan_assign_result): Renamed to assignment_mod_result, enum elements
+       renamed as well.
+       (build_accesses_from_assign): Removed all parameters except for a
+       simple gimple statement.  Now returns a simple bool.
+       (scan_function): All non-analysis parts moved to separate functions
+       sra_modify_function_body and ipa_sra_modify_function_body.  Removed all
+       parameters and updated both callers.
+       (sra_modify_expr): Removed parameter data.
+       (sra_modify_function_body): New function.
+       (perform_intra_sra): Call sra_modify_function_body to modify the
+       function body.
+       (replace_removed_params_ssa_names): Parameter data changed into
+       adjustments vector.
+       (sra_ipa_modify_expr): Likewise.  Also removed unused parameter gsi and
+       changed the parameter dont_convert to convert with the opposite
+       meaning.
+       (sra_ipa_modify_assign): Parameter data changed into adjustments
+       vector, return value changed to bool.
+       (ipa_sra_modify_function_body): New function.
+       (sra_ipa_reset_debug_stmts): Updated a comment.
+       (modify_function): Use ipa_sra_modify_function_body to modify function
+       body.
+
+2010-05-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR middle-end/43671
+       * alias.c (true_dependence): Handle the same VALUE in x and mem.
+       (canon_true_dependence): Likewise.
+       (write_dependence_p): Likewise.
+
+2010-05-04  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (cgraphbuild.o): Add dependency on ipa-utils.h
+       * cgraphbuild.c: Include ipa-utils.h
+       (record_reference_ctx): New struct.
+       (record_reference): Simplify to work on initializers; not statements.
+       (mark_address, mark_load, mark_store): New.
+       (build_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
+       walk PHI nodes too.
+       (record_references_in_initializer): Update use of record_reference.
+       (rebuild_cgraph_edges): Simplify using walk_stmt_load_store_addr_ops;
+       walk PHI nodes too.
+
+2010-05-04  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_cgraph_replace_node): Do not remove edges;
+       node will be removed anyway.
+       (lto_varpool_replace_node): Allow also unanalyzed nodes;
+       relink aliases of node into prevailing node.
+       * varpool.c (varpool_remove_node): Remove aliases properly;
+       when removing node, remove all its aliases too; remove DECL_INITIAL
+       of removed node; ggc_free the varpool node.
+
+2010-05-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43879
+       * tree-ssa-structalias.c (alias_get_name): Use
+       DECL_ASSEMBLER_NAME if available.
+       (create_function_info_for): Return the varinfo node.
+       (ipa_pta_execute): Associate same-body aliases and extra names
+       with their origin nodes varinfo.  Dump DECL_ASSEMBLER_NAME.
+
+2010-05-04  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (sh_small_register_classes_for_mode_p): Remove static.
+
+2010-05-04  Mikael Pettersson  <mikpe@it.uu.se>
+
+       PR bootstrap/43964
+       * ira-color.c (assign_hard_reg): Declare rclass and add_cost
+       only if HONOR_REG_ALLOC_ORDER is not defined.
+
+2010-05-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43949
+       * tree-vrp.c (extract_range_from_binary_expr): Only handle
+       TRUNC_MOD_EXPR.
+
+2010-04-26  Jason Merrill  <jason@redhat.com>
+
+       * c.opt (-fstrict-enums): New.
+       * doc/invoke.texi (C++ Dialect Options): Document -fstrict-enums.
+
+2010-05-03  David Ung <davidu@mips.com>
+           James E. Wilson  <wilson@codesourcery.com>
+
+       * config/mips/mips.c (mips_output_division): If GENERATE_DIVIDE_TRAPS,
+       emit the trap instruction before the divide for TUNE_74K.
+
+2010-05-03  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * doc/tm.texi (defmac SMALL_REGISTER_CLASSES): Remove.
+       (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): Add documentation,
+       based on the above, for new target hook.
+
+       * hooks.c (hook_bool_mode_true): New generic hook.
+       * hooks.h (hook_bool_mode_true): Add prototype.
+
+       * target.h (struct gcc_target): Add small_register_classes_for_mode_p
+       target hook.
+       * target-def.h (TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P): New default
+       target hook, set to hook_bool_mode_false.
+       * regs.h: Remove default definition of SMALL_REGISTER_CLASSES.
+       * reload.c (push_secondary_reload): Replace SMALL_REGISTER_CLASSES
+       with targetm.small_register_classes_for_mode_p.
+       (find_reusable_reload): Likewise.
+       (combine_reloads): Likewise.
+       * reload1.c (reload_as_needed): Likewise.
+       * cse.c (approx_reg_cost_1, hash_rtx_cb): Likewise.
+       * ifcvt.c (noce_process_if_block, check_cond_move_block,
+       dead_or_predicable): Likewise.
+       * regmove.c (optimize_reg_copy_1): Likewise.
+       * calls.c (prepare_call_address): Likewise.
+       (precompute_register_parameters): Likewise.
+
+       * config/sh/sh.h: Replace SMALL_REGISTER_CLASSES with new target
+       hook definition.
+       * config/sh/sh.c (sh_small_register_classes_for_mode_p): Add
+       implementation of the hook that considers all register classes
+       small except for SH64.
+       (sh_override_options): Use the new hook.
+       * config/sh/sh-protos.h (sh_small_register_classes_for_mode_p):
+       Add prototype.
+
+       * config/arm/arm.h: Replace SMALL_REGISTER_CLASSES with new target
+       hook definition.
+       * config/arm/arm.c (arm_small_register_classes_for_mode_p): Add
+       implementation of the hook that considers all register classes
+       small for THUMB1.
+       * config/arm/arm-protos.h (arm_small_register_classes_for_mode_p):
+       Add prototype.
+
+       * config/mips/mips.h: Replace SMALL_REGISTER_CLASSES with new target
+       hook definition.
+       * config/mips/mips.c (mips_small_register_classes_for_mode_p): Add
+       implementation of the hook that considers all register classes
+       small for MIPS16.
+       * config/mips/mips-protos.h (mips_small_register_classes_for_mode_p):
+       Add prototype.
+
+       * config/i386/i386.h: Replace SMALL_REGISTER_CLASSES with new target
+       hook definition.
+       * config/m32c/m32c.h: Likewise.
+       * config/pdp11/pdp11.h: Likewise.
+       * config/avr/avr.h: Likewise.
+       * config/xtensa/xtensa.h: Likewise.
+       * config/m68hc11/m68hc11.h: Likewise.
+       * config/mn10300/mn10300.h: Likewise.
+       * config/mcore/mcore.h: Likewise.
+       * config/h8300/h8300.h: Likewise.
+       * config/bfin/bfin.h: Likewise.
+
+       * config/iq2000/iq2000.h: Remove SMALL_REGISTER_CLASSES definition.
+       * config/rx/rx.h: Remove SMALL_REGISTER_CLASSES definition.
+
+2010-05-03  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (tree_to_double_int): Remove macro.
+       (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
+       * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
+       (tree_to_double_int): New function.
+       * double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
+       Move ...
+       * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
+
+2010-05-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43971
+       * tree-ssa-structalias.c (get_constraint_for_1): Fix
+       constraints in the !flag_delete_null_pointer_checks case.
+
+2010-05-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43972
+       * config/i386/i386.c (ix86_delegitimize_address): Make sure the
+       result mode matches original rtl mode.
+
+2010-05-03  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/43888
+       * config/i386/winnt.c (i386_pe_binds_local_p): Handle weak decls.
+
+2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (ix86_target_string): Output 'flags', not 'isa',
+       when processing flag options.
+
+2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * gcov-iov.c (main): Change format string placeholder
+       from %#08x to 0x%08x.
+       * genchecksum.c (dosum): Change format string placeholder
+       from %#02x to 0x%02x.
+
+2010-05-02  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43879
+       * tree-tailcall.c (find_tail_calls): Clobbers also prevent tail calls.
+
+2010-05-02  Bruno Haible  <bruno@clisp.org>
+
+       * doc/extend.texi (Function Attributes): Fix a typo.
+
+2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       Revert:
+       * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Change format string
+       placeholder from 0x%x to %#x.
+       (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
+       * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/i386.c (ix86_target_string): Ditto.
+       * config/i386/i386.c (output_pic_addr_const): Ditto.
+       (print_operand): Ditto.
+
+2010-05-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * vmsdbgout.c (ASM_OUTPUT_DEBUG_DATA1): Change format string
+       placeholder from 0x%x to %#x.
+       (ASM_OUTPUT_DEBUG_DATA1): Ditto.
+       (ASM_OUTPUT_DEBUG_DATA4): Ditto.
+       (ASM_OUTPUT_DEBUG_DATA): Ditto.
+       (ASM_OUTPUT_DEBUG_ADDR_DATA): Ditto.
+       (ASM_OUTPUT_DEBUG_DATA8): Ditto.
+       * optc-gen.awk: Ditto.
+       * hwint.h (HOST_WIDE_INT_PRINT_DOUBLE_HEX): Ditto.
+       (HOST_WIDE_INT_PRINT_HEX): Ditto.
+       (HOST_WIDEST_INT_PRINT_HEX): Ditto.
+       (HOST_WIDEST_INT_PRINT_DOUBLE_HEX): Ditto.
+
+2010-05-01  Anatoly Sokolov  <aesok@post.ru>
+
+       * target.h (struct calls): Add function_value_regno_p field.
+       * target-def.h (TARGET_FUNCTION_VALUE_REGNO_P): Define.
+       (TARGET_INITIALIZER): Use TARGET_FUNCTION_VALUE_REGNO_P.
+       * targhooks.c (default_function_value_regno_p): New function.
+       * targhooks.h (default_function_value_regno_p): Declare function.
+       * rtlanal.c (keep_with_call_p): Use function_value_regno_p hook.
+       * builtins.c. (apply_result_size): (Ditto.).
+       * combine.c. (likely_spilled_retval_p): (Ditto.).
+       * mode-switching.c. Include 'target.h'.
+       (create_pre_exit): Use function_value_regno_p hook.
+       * Makefile.in (mode-switching.o): Add dependency on TARGET_H.
+       * doc/tm.texi (FUNCTION_VALUE_REGNO_P,
+       TARGET_FUNCTION_VALUE_REGNO_P): Revise documentation.
+
+       * config/i386/i386.h (TARGET_FUNCTION_VALUE_REGNO_P): Remove macro.
+       * config/i386/i386.c (TARGET_FUNCTION_VALUE_REGNO_P): Define macro.
+       (ix86_function_value_regno_p): Declare as static, change argument
+       type to const unsigned int.
+       * config/i386/i386-protos.h (ix86_function_value_regno_p): Remove.
+
+2010-05-01  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43949
+       * tree-vrp.c (ssa_name_nonnegative_p): Return true for unsigned
+       types.
+       (extract_range_from_binary_expr): Handle *_MOD_EXPR.
+
+2010-05-01  Anatoly Sokolov  <aesok@post.ru>
+
+       * rtl.h (CONST_DOUBLE_P): Define.
+       (rtx_to_double_int): Declare.
+       * emit-rtl.c (rtx_to_double_int): New function.
+       * dwarf2out.c (insert_double): New function.
+       (loc_descriptor, add_const_value_attribute): Clean up, use
+       rtx_to_double_int and insert_double functions.
+
+2010-05-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       * doc/extend.texi (Inline): Add missing return keyword to examples.
+       (Function Attributes, Variable Attributes, Pragmas): Hyphenate
+       "command-line".
+
+2010-04-30  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Check the alignment of
+       the variable part of the offset as well.  Use highest_pow2_factor for
+       all alignment checks.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43879
+       * tree-ssa-structalias.c (type_could_have_pointers): Functions
+       can have pointers.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_resolve_can_prevail_p): Chose var with
+       varpool.
+       (lto_symtab_merge_decls_1): Remove logic looking for an initializer.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (cgraph_node_set_nonempty_p, varpool_node_set_nonempty_p):
+       New.
+       * lto-cgraph.c (input_cgraph): Remove call to lto_mark_file_for_ltrans.
+       * lto-streamer.h (lto_file_decl_data): Remove needs_ltrans_p.
+       (lto_file_needs_ltrans_p, lto_mark_file_for_ltrans,
+       cgraph_node_set_needs_ltrans_p): Remove.
+
+2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * sdbout.c: Include vec.h, do not include varray.h.
+       (deferred_global_decls, sdbout_global_decl,
+       sdbout_finish, sdbout_init): Use VEC instead of VARRAY.
+       * toplev.c: Do not include varray.h.
+       (dump_memory_report): Do not dump VARRAY statistics.
+       * gengtype.c (open_base_file): Ignore varray.h.
+       * Makefile.in: Update for abovementioned changes.
+       Remove all traces of varray.c and varray.h.
+       * varray.c: Remove file.
+       * varray.h: Remove file.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (lto_output_varpool_node): Always output constant pool
+       references.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * tree-profile.c (tree_init_ic_make_global_vars): Mark new decls as
+       needed.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (get_constraint_for_1): Generate
+       constraints for CONSTRUCTOR.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/43946
+       * passes.c (init_optimization_passes): Move pass_ipa_free_lang_data
+       first after all lowering passes.
+
+2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * toplev.c: Include varray.h for statistics dumping.
+       * tree.h: Do not declare varray_head_tag.
+       * tree-into-ssa.c, tree-ssa-uninit.c, tree-phinodes.c, omega.c,
+       regs.h, lto-cgraph.c, tree-ssa-loop-ivopts.c, tree-nomudflap.c,
+       c-objc-common.c, lto-streamer-out.c, tree-ssa-propagate.c,
+       gimple-low.c, c-semantics.c, dwarf2out.c, lto-streamer-in.c,
+       lto-section-in.c, alias.c, tree-if-conv.c, gimplify.c, ggc-zone.c,
+       tree-ssa.c, tree-ssa-loop-prefetch.c, integrate.h, c-gimplify.c,
+       c-common.c, c-common.h, reg-stack.c, basic-block.h,
+       tree-ssa-structalias.c, lto-section-out.c, tree-ssanames.c: Do not
+       include varray.h.
+       * Makefile.in: Update for abovementioned changes.
+
+2010-04-30  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43942
+       * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
+
+2010-04-30  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_legitimize_address): Define.
+       Use this function to do machine-specific conversion.
+       (picochip_legitimize_reload_address): Likewise.
+       (picochip_legitimate_address_p): Check valid base register only if
+       strict.
+       (picochip_check_conditional_copy): Check for modw only if opnd is
+       register.
+       * config/picochip/picochip.h (LEGITIMIZE_RELOAD_ADDRESS): Use this
+       to call the function in c.
+       * config/picochip/picochip-protos.h
+       (picochip_legitimize_reload_address): Define.
+       * config/picochip/picochip.md (supported_compare1): Define.
+
+2010-04-30  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (cgraph_local_info): Remove for_functions_valid.
+       (cgraph_global_info): Remove inlined.
+       (LTO_cgraph_tag_names): Remove.
+       (LTO_cgraph_tags, LCC_NOT_FOUND): Move to ...
+       * lto-cgraph.c (LTO_cgraph_tags, LCC_NOT_FOUND): ... here;
+       simplify cgraph tags and document.
+       (lto_output_node): Use only LTO_cgraph_unavail_node and
+       LTO_cgraph_analyzed_node; Do not save analzed, reachable,
+       for_functions_valid, global info, process and output flags.
+       (input_overwrite_node): Initialize estimated stack size and
+       estimated growth.  Do not read flags we no longer store.
+       (input_node): Likewise do not read info no longer stored.
+       * ipa-inline.c (cgraph_mark_inline_edge): Do not set global.inlined
+       flag.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43879
+       * tree-ssa-structalias.c (get_constraint_for_1): Properly
+       handle non-zero initializers.
+
+2010-04-30  Richard Guenther  <rguenther@suse.de>
+
+       * builtins.c (fold_builtin_1): Delete free (0).
+
+2010-04-29  Jan Hubicka  <jh@suse.cz>
+
+       * gengtype.c (open_base_files): Add lto-streamer.h
+       * cgraph.h (cgraph_local_info): lto_file_data is now in GGC.
+       (pass_ipa_cp): GGC collect.
+       * toplev. (compile_file): Do not output symbols.
+       * ipa-inline.c (pass_ipa_inline): Add ggc collect.
+       * timevar.def (TV_VARPOOL, TV_IPA_LTO_DECL_INIT_IO,
+       TV_IPA_LTO_DECL_MERGE, TV_IPA_LTO_CGRAPH_MERGE, TV_VAROUT): New.
+       * lto-section-in.c: Include ggc.h
+       (lto_new_in_decl_state): Alloc in GGC.
+       (lto_delete_in_decl_state): Likewise.
+       * ipa.c (pass_ipa_function_visibility, pass_ipa_whole_program):
+       Collect.
+
+2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/42895
+       * doc/tm.texi (ADJUST_REG_ALLOC_ORDER): Renamed from
+       ORDER_REGS_FOR_LOCAL_ALLOC.  All instances of this macro changed.
+       (HONOR_REG_ALLOC_ORDER): Describe new macro.
+       * ira.c (setup_alloc_regs): Use ADJUST_REG_ALLOC_ORDER if defined.
+       * ira-color.c (assign_hard_reg): Take prologue/epilogue costs into
+       account only if HONOR_REG_ALLOC_ORDER is not defined.
+       * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Define.
+       * system.h (ORDER_REGS_FOR_LOCAL_ALLOC): Poison.
+
+2010-04-29  Jon Grant  <04@jguk.org>
+
+       * collect2.c (vflag): Change type from int to bool.
+       (debug): Likewise.
+       (helpflag): New global bool.
+       (main): Set vflag and debug with boolean, not integer truth values.
+       Accept new "--help" option and output usage text if found.
+       * collect2.h (vflag): Update prototype.
+       (debug): Likewise.
+
+2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/43936
+       * plugin.h (flag_plugin_added): Moved out of invoke_plugin_callbacks.
+
+2010-04-29  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/43935
+       * plugin.h (invoke_plugin_callbacks): Annotate arguments
+       with ATTRIBUTE_UNUSED.
+
+2010-04-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/43921
+       * config/i386/i386.c (get_some_local_dynamic_name): Replace
+       INSN_P with NONDEBUG_INSN_P.
+       (distance_non_agu_define): Likewise.
+       (distance_agu_use): Likewise.
+
+2010-04-29  Bernd Schmidt  <bernds@codesourcery.com>
+
+       From Dominique d'Humieres <dominiq@lps.ens.fr>
+       PR bootstrap/43858
+       * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs to compute
+       test_set.
+
+2010-04-29  Brian Hackett  <bhackett1024@gmail.com>
+
+       * plugin.h (invoke_plugin_callbacks): New inline function.
+       * plugin.c (flag_plugin_added): New global flag.
+       (add_new_plugin): Initialize above flag.
+       (invoke_plugin_callbacks): Rename to ...
+       (invoke_plugin_callbacks_full): ... this.
+
+2010-04-28  Jan Hubicka  <jh@suse.cz>
+
+       * lto-symtab.c (lto_symtab_entry_def) Add vnode.
+       (lto_varpool_replace_node): New.
+       (lto_symtab_resolve_symbols): Resolve varpool nodes.
+       (lto_symtab_merge_decls_1): Prefer decls with varpool node.
+       (lto_symtab_merge_cgraph_nodes_1): Merge varpools.
+       * cgraph.h (varpool_node_ptr): New type.
+       (varpool_node_ptr): New vector.
+       (varpool_node_set_def): New structure.
+       (varpool_node_set): New type.
+       (varpool_node_set): New vector.
+       (varpool_node_set_element_def): New structure.
+       (varpool_node_set_element, const_varpool_node_set_element): New types.
+       (varpool_node_set_iterator): New type.
+       (varpool_node): Add prev pointers, add used_from_other_partition,
+       in_other_partition.
+       (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add,
+       varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set,
+       varpool_get_node, varpool_remove_node): Declare.
+       (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p,
+       varpool_node_set_size): New inlines.
+       * cgraph.c (dump_cgraph_node): Dump asm names of aliases.
+       * tree-pass.h (varpool_node_set_def): Forward declare.
+       (ipa_opt_pass_d): Summary writting takes vnode sets too.
+       (ipa_write_optimization_summaries): Update prototype.
+       * ipa-cp.c (ipcp_write_summary): Update.
+       * ipa-reference.c (ipa_reference_write_summary): Update.
+       * lto-cgraph.c (lto_output_varpool_node): New static function.
+       (output_varpool): New function.
+       (input_varpool_node): New static function.
+       (input_varpool_1): New function.
+       (input_cgraph): Input varpool.
+       * ipa-pure-const.c (pure_const_write_summary): Update.
+       * lto-streamer-out.c (lto_output): Update, output varpool too.
+       (write_global_stream): Kill WPA hack.
+       (produce_asm_for_decls): Update.
+       (output_alias_pair_p): Handle variables.
+       (output_unreferenced_globals): Output only needed partition of varpool.
+       * ipa-inline.c (inline_write_summary): Update.
+       * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build
+       cgraph.
+       * lto-section-in.c (lto_section_name): Add varpool and jump funcs.
+       * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element,
+       varpool_node_set_new, varpool_node_set_add,
+       varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set,
+       debug_varpool_node_set): New functions.
+       * passes.c (rest_of_decl_compilation): when in LTO do not finalize.
+       (execute_one_pass): Process new decls too.
+       (ipa_write_summaries_2): Pass around vsets.
+       (ipa_write_summaries_1): Likewise.
+       (ipa_write_summaries): Build vset; be more selective about cgraph nodes
+       to add.
+       (ipa_write_optimization_summaries_1): Pass around vsets.
+       (ipa_write_optimization_summaries): Likewise.
+       * varpool.c (varpool_get_node): New.
+       (varpool_node): Update doubly linked lists.
+       (varpool_remove_node): New.
+       (dump_varpool_node): More dumping.
+       (varpool_enqueue_needed_node): Update doubly linked lists.
+       (decide_is_variable_needed): Kill ltrans hack.
+       (varpool_finalize_decl): Kill lto hack.
+       (varpool_assemble_decl): Skip decls in other partitions.
+       (varpool_assemble_pending_decls): Update doubly linkes lists.
+       (varpool_empty_needed_queue): Likewise.
+       (varpool_extra_name_alias): Likewise.
+       * lto-streamer.c (lto_get_section_name): Add vars section.
+       * lto-streamer.h (lto_section_type): Update.
+       (output_varpool, input_varpool): Declare.
+
+2010-04-28  Mike Stump  <mikestump@comcast.net>
+
+       * config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now.
+
+2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for
+       record or union type with RECORD_OR_UNION_TYPE_P predicate.
+       (lto_input_ts_type_tree_pointers): Likewise.
+       * lto-streamer-out.c (pack_ts_type_value_fields): Likewise.
+       (lto_output_ts_type_tree_pointers): Likewise.
+
+2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       Uniquization of constants at the Tree level
+       * tree.h (DECL_IN_CONSTANT_POOL): New macro.
+       (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p
+       bit to the end.
+       (tree_output_constant_def): Declare.
+       * gimplify.c (gimplify_init_constructor): When using block copy, first
+       uniquize the constant constructor on the RHS.
+       * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with
+       DECL_IN_CONSTANT_POOL flag.
+       * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise.
+       * varasm.c (make_decl_rtl): Deal with variables belonging to the global
+       constant pool.
+       (assemble_variable): Deal with symbols belonging to the tree constant
+       pool.
+       (get_constant_section): Add ALIGN parameter and simplify.
+       (build_constant_desc): Build a VAR_DECL and attach it to the symbol.
+       (assemble_constant_contents): Use the expression of the VAR_DECL.
+       (output_constant_def_contents): Use the alignment of the VAR_DECL.
+       (tree_output_constant_def): New global function.
+       (mark_constant): Use the expression of the VAR_DECL.
+       (place_block_symbol): Use the alignment of the VAR_DECL and the size of
+       its expression.
+       (output_object_block): Likewise and assemble the expression.
+
+2010-04-28  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry,
+       hash_tree, eq_tree): New tree hash table.
+       (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it.
+       [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get,
+       lto_orig_address_remove): Reimplement.
+
+2010-04-28  Xinliang David Li  <davidxl@google.com>
+
+       PR c/42643
+       * tree-ssa-uninit.c (can_skip_redundant_opnd): New function.
+       (compute_uninit_opnds_pos): New function.
+       (is_non_loop_exit_postdominating): New function.
+       (compute_control_dep_chain): New function.
+       (find_pdom): New function.
+       (convert_control_dep_chain_into_preds): New function.
+       (find_predicates): New function.
+       (find_control_equiv_block): New function.
+       (collect_phi_def_edges): New function.
+       (find_def_preds): New function.
+       (find_dom): New function.
+       (dump_predicates): New function.
+       (get_cmp_code): New function.
+       (is_value_included_in): New function.
+       (find_matching_predicate_in_rest_chains): New function.
+       (use_pred_not_overlap_with_undef_path_pred): New function.
+       (is_use_properly_guarded): New function.
+       (normalize_cond_1): New function.
+       (is_and_or_or): New function.
+       (normalize_cond): New function.
+       (is_gcond_subset_of): New function.
+       (is_subset_of_any): New function.
+       (is_or_set_subset_of): New function.
+       (is_and_set_subset_of): New function.
+       (is_norm_cond_subset_of): New function.
+       (is_pred_expr_subset_of): New function.
+       (is_pred_chain_subset_of): New function.
+       (is_included_in): New function.
+       (is_superset_of): New function.
+       (find_uninit_use): New function.
+       (warn_uninitialized_phi): New function.
+       (compute_possibly_undefined_names): New function.
+       (ssa_undefined_value_p): New function.
+       (execute_late_warn_uninitialized): New function.
+       * tree-ssa.c (ssa_undefined_value_p): Removed.
+       (warn_uninit): Changed to extern.
+       (warn_uninitialized_phi): Removed.
+       (warn_uninitialized_vars): Changed to extern.
+       (execute_late_warn_uninitialized): Removed
+       * tree-flow.h: Add new prototypes.
+       * timevar.def: Add new time variable.
+       * Makefile.in: Add new build file.
+
+2010-04-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object
+       type if available.
+
+2010-04-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/22224
+       * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine.
+
+2010-04-28  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraph.h (struct cgraph_node): New field indirect_calls.
+       (struct cgraph_indirect_call_info): New type.
+       (struct cgraph_edge): Removed field indirect_call. New fields
+       indirect_info, indirect_inlining_edge and indirect_unknown_callee.
+       (cgraph_create_indirect_edge): Declare.
+       (cgraph_make_edge_direct): Likewise.
+       (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge.
+       * ipa-prop.h (struct ipa_param_call_note): Removed.
+       (struct ipa_node_params): Removed field param_calls.
+       (ipa_create_all_structures_for_iinln): Declare.
+       * cgraph.c: Described indirect edges and uids in initial comment.
+       (cgraph_add_edge_to_call_site_hash): New function.
+       (cgraph_edge): Search also among the indirect edges, use
+       cgraph_add_edge_to_call_site_hash to add edges to the call site hash.
+       (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct
+       one, use cgraph_add_edge_to_call_site_hash to add edges to the call
+       site hash.
+       (initialize_inline_failed): Assign a reason to indirect edges.
+       (cgraph_create_edge_1): New function.
+       (cgraph_create_edge): Moved some functionality to
+       cgraph_create_edge_1.
+       (cgraph_create_indirect_edge): New function.
+       (cgraph_edge_remove_callee): Add an assert checking for
+       non-indirectness.
+       (cgraph_edge_remove_caller): Special-case indirect edges.
+       (cgraph_remove_edge): Likewise.
+       (cgraph_set_edge_callee): New function.
+       (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee.
+       (cgraph_make_edge_direct): New function.
+       (cgraph_update_edges_for_call_stmt_node): Do nothing only when also
+       the declaration of the call statement matches.
+       (cgraph_node_remove_callees): Special-case indirect edges.
+       (cgraph_clone_edge): Likewise.
+       (cgraph_clone_node): Clone also the indirect edges.
+       (dump_cgraph_node): Dump indirect_inlining_edge flag instead of
+       indirect_call, dump count of indirect_calls edges.
+       * ipa-prop.c (iinlining_processed_edges): New variable.
+       (ipa_note_param_call): Create indirect edges instead of
+       creating notes.  New parameter node.
+       (ipa_analyze_call_uses): New parameter node, pass it on to
+       ipa_note_param_call.
+       (ipa_analyze_stmt_uses): Likewise.
+       (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses.
+       (print_edge_addition_message): Work on edges rather than on notes.
+       (update_call_notes_after_inlining): Likewise, renamed to
+       update_indirect_edges_after_inlining.
+       (ipa_create_all_structures_for_iinln): New function.
+       (ipa_free_node_params_substructures): Do not free notes.
+       (ipa_edge_duplication_hook): Propagate bits within
+       iinlining_processed_edges bitmap.
+       (ipa_node_duplication_hook): Do not duplicate notes.
+       (free_all_ipa_structures_after_ipa_cp): Renamed to
+       ipa_free_all_structures_after_ipa_cp.
+       (free_all_ipa_structures_after_iinln): Renamed to
+       ipa_free_all_structures_after_iinln.
+       (ipa_write_param_call_note): Removed.
+       (ipa_read_param_call_note): Removed.
+       (ipa_write_indirect_edge_info): New function.
+       (ipa_read_indirect_edge_info): Likewise.
+       (ipa_write_node_info): Do not stream notes, do stream information
+       in indirect edges.
+       (ipa_read_node_info): Likewise.
+       (lto_ipa_fixup_call_notes): Removed.
+       * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL.
+       * ipa-inline.c (pass_ipa_inline): Likewise.
+       * cgraphunit.c (verify_cgraph_node): Check also indirect edges.
+       * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason.
+       * tree-inline.c (copy_bb): Removed an unnecessary double check for
+       is_gimple_call.
+       * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect
+       edges.
+       * lto-cgraph.c (output_outgoing_cgraph_edges): New function.
+       (output_cgraph): Stream also indirect edges.
+       (lto_output_edge): Added capability to stream indirect edges.
+       (input_edge): Likewise.
+       (input_cgraph_1): Likewise.
+       * lto-streamer-in.c (fixup_call_stmt_edges_1): Fixup also statements
+       of indirect edges.
+
+2010-04-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43879
+       PR tree-optimization/43909
+       * tree-ssa-structalias.c (struct variable_info): Add
+       only_restrict_pointers flag.
+       (new_var_info): Initialize it.  Increment stats.total_vars here.
+       (create_function_info_for): Do not increment stats.total_vars here.
+       (get_function_part_constraint): Fix build with C++.
+       (insert_into_field_list): Remove.
+       (push_fields_onto_fieldstack): Properly merge fields.
+       (create_variable_info_for): Split and simplify.
+       (create_variable_info_for_1): New piece.
+       (intra_create_variable_infos): Properly make restrict constraints
+       from parameters.
+
+2010-04-28  Richard Guenther  <rguenther@suse.de>
+
+       PR c++/43880
+       * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs.
+
+2010-04-27  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+           Jan Hubicka <hubicka@ucw.cz>
+
+       * doc/invoke.texi (-Wsuggest-attribute=const,
+       -Wsuggest-attribute=pure): Document.
+       * ipa-pure-const.c: Include toplev.h, intl.h and opts.h.
+       (function_always_visible_to_compiler_p,
+       suggest_attribute, warn_function_pure, warn_function_const):
+       New functions.
+       (check_call): Improve debug info.
+       (analyze_function): Do not check availability.
+       (add_new_function): Check availability.
+       (propagate): Output warnings.
+       (skip_function_for_local_pure_const): New function.
+       (local_pure_const): Use it; output warnings.
+       * common.opt (Wsuggest-attribute=const,
+       Wsuggest-attribute=pure): New.
+
+2010-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression
+       force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register
+       or DW_CFA_def_cfa_offset{,_sf}.
+
+2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h: Fix truncated long macros.
+
+2010-04-27  Kai Tietz  <kai.tietz@onevision.com>
+
+       * collect2.c (TARGET_64BIT): Redefine to target's default.
+       * tlink.c: Likewise.
+       * config/i386/cygming.h (USER_LABEL_PREFIX): Define
+       dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES.
+       * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use
+       for underscoring __USER_LABEL_PREFIX__.
+       * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro.
+       (SUB_LINK_ENTRY32): New.
+       (SUB_LINK_ENTRY64): New.
+       (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY.
+       * config/i386/mingw32 (SUB_LINK_ENTRY32): New.
+       (SUB_LINK_ENTRY64): New.
+       (SUB_LINK_ENTRY): New.
+       (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point.
+       (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when
+       x64 target is choosen.
+       * config.in (USE_MINGW64_LEADING_UNDERSCORES): New.
+       * configure: Regenerated.
+       * configure.ac (leading-mingw64-underscores): Option added.
+
+2010-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * doc/invoke.texi (-fipa-profile): Document.
+       * opts.c (decode_options): Enable ipa-profile at -O1.
+       * timevar.def (TV_IPA_PROFILE): Define.
+       * common.opt (fipa-profile): Add.
+       * cgraph.c (cgraph_clone_node): Set local flag and clear vtable method
+       flag for clones.
+       (cgraph_propagate_frequency): Handle only local ones.
+       * tree-pass.h (pass_ipa_profile): Declare.
+       * ipa-profile.c (gate_profile): Use flag_ipa_profile.
+       (pass_ipa_profile): Use TV_IPA_PROFILE.
+       * ipa.c (ipa_profile): New function.
+       (gate_ipa_profile): Likewise.
+       (pass_ipa_profile): New global variable.
+       * passes.c (pass_ipa_profile): New.
+
+2010-04-27  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/arm/arm.c (arm_expand_builtin): Remove redundant declaration.
+
+2010-04-27  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/43812
+       * ipa.c (dissolve_same_comdat_group_list): New function.
+       (function_and_variable_visibility): Call
+       dissolve_same_comdat_group_list when comdat group contains external or
+       newly local nodes.
+       * cgraphunit.c (verify_cgraph_node): Verify that same_comdat_group
+       lists are circular and that they contain only DECL_ONE_ONLY nodes.
+
+2010-04-27  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * varasm.c (decode_addr_const): Handle special case of INDIRECT_REF.
+       (const_hash_1) <VECTOR_CST>: New case.
+       (compare_constant) <VECTOR_CST>: Likewise.
+       <ADDR_EXPR>: Deal with LABEL_REFs.
+       (copy_constant) <VECTOR_CST>: New case.
+
+2010-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_propagate_frequency): New function.
+       * cgraph.h (cgraph_propagate_frequency): Declare.
+       * ipa-inline.c (cgraph_clone_inlined_nodes): Call
+       cgraph_propagate_frequency.
+
+2010-04-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * unwind-dw2.c (_Unwind_DebugHook): Add used and noclone attributes.
+
+2010-04-27  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/40657
+       * config/arm/arm.c (thumb1_extra_regs_pushed): New function.
+       (thumb1_expand_prologue, thumb1_output_function_prologue): Call it
+       here to determine which regs to push and how much stack to reserve.
+
+2010-04-27  Jie Zhang  <jie@codesourcery.com>
+
+       * doc/gimple.texi (gimple_statement_with_ops): Remove
+       addresses_taken field.
+       (gimple_statement_with_memory_ops): Likewise.
+
+2010-04-27  Jan Hubicka  <jh@suse.cz>
+
+       * tree-inline.c (eni_inlining_weights): Remove.
+       (estimate_num_insns): Special case more builtins.
+
+2010-04-27  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR c/32207
+       * c-typeck.c (build_binary_op): Move forward check for comparison
+       pointer with null pointer constant and adjust the diagnostic message.
+
+2010-04-27  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR lto/42776
+       * configure.ac (gcc_cv_as_section_has_align): Set if installed
+       binutils supports extended .section directive needed by LTO, or
+       warn if older binutils found.
+       (LTO_BINARY_READER): New AC_SUBST'd variable.
+       (LTO_USE_LIBELF): Likewise.
+       * gcc/config.gcc (lto_binary_reader): New target-specific configure
+       variable.
+       * gcc/Makefile.in (LTO_BINARY_READER): Import AC_SUBST'd autoconf var.
+       (LTO_USE_LIBELF): Likewise.
+       * configure: Regenerate.
+
+       * collect2.c (is_elf): Rename from this ...
+       (is_elf_or_coff): ... to this, and recognize and allow i386 COFF
+        object files in addition to ELF-formatted ones.
+       (scan_prog_file): Caller updated.  Also allow for LTO info marker
+       symbol to be prefixed or not by an extra underscore.
+
+       * config/i386/t-cygming (winnt.o): Also depend on LTO_STREAMER_H.
+       * config/i386/winnt.c: Also #include lto-streamer.h
+       (i386_pe_asm_named_section): Specify 1-byte section alignment for
+       LTO named sections.
+       (i386_pe_asm_output_aligned_decl_common): Add comment.
+       (i386_pe_maybe_record_exported_symbol): Allow decl arg to be NULL.
+
+2010-04-27  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       PR target/43889
+       * config/mmix/mmix.md ("*divdi3_nonknuth", "*moddi3_nonknuth"):
+       Add missing earlyclobber for second alternative.
+
+2010-04-26  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * df-problems.c (df_simulate_initialize_forwards): Set, don't clear,
+       bits for artificial defs at the top of the block.
+       * fwprop.c (single_def_use_enter_block): Don't call it.
+
+2010-04-26  Jack Howarth <howarth@bromo.med.uc.edu>
+
+       PR 43715
+       * gcc/configure.ac: Use "$gcc_cv_nm -g" on darwin
+       instead of "$gcc_cv_objdump -T".
+       Use "-undefined dynamic_lookup" on darwin.
+       * gcc/configure: Regenerate.
+
+2010-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/43893
+       * c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
+
+2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-parser.c (struct c_token): Move location field up.
+       * c-tree.h (struct c_typespec): Move expr_const_operands field up.
+       (struct c_declspecs): Convert typespec_word, storage_class, and
+       default_int_p into bitfields.
+       (struct c_declarator): Move loc field up.
+
+2010-04-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * cfgloop.h (struct loop): Move can_be_parallel field up.
+       * ipa-prop.h (struct ip_node_params): Move bitfields up.
+       * tree-ssa-loop-ivopts.c (struct version_info): Move inv_id field
+       down.
+       (struct iv_cand): Convert pos field into a bitfield.
+       * tree-vectorizer.h (struct _loop_vec_info): Move loop_line_number
+       field up.
+       (struct _stmt_vec_info): Shuffle fields for better packing.
+
+2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * varasm.c (IN_NAMED_SECTION): Remove guard.
+       * config/arm/unknown-elf.h (IN_NAMED_SECTION): Rename to...
+       (IN_NAMED_SECTION_P): ...this.
+       (ASM_OUTPUT_ALIGNED_BSS): Adjust for above renaming.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Likewise.
+
+2010-04-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimplify.c (gimplify_cond_expr): Use THEN_ and ELSE_ local variables.
+       Use VOID_TYPE_P for all void type tests.  Adjust TYPE variable instead
+       of shadowing it.  Fix comments.
+
+2010-04-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_create_node): Set node frequency to normal.
+       (cgraph_clone_node): Copy function frequency.
+       * cgraph.h (node_frequency): New enum
+       (struct cgraph_node): Add.
+       * final.c (rest_of_clean_state): Update.
+       * lto-cgraph.c (lto_output_node): Output node frequency.
+       (input_overwrite_node): Input node frequency.
+       * tre-ssa-loop-ivopts (computation_cost): Update.
+       * lto-streamer-out.c (output_function): Do not output function
+       frequency.
+       * predict.c (maybe_hot_frequency_p): Update and handle functions
+       executed once.
+       (cgraph_maybe_hot_edge_p): Likewise; use cgraph frequency instead of
+       attribute lookup.
+       (probably_never_executed_bb_p, optimize_function_for_size_p): Update.
+       (compute_function_frequency): Set noreturn functions to be executed
+       once.
+       (choose_function_section): Update.
+       * lto-streamer-in.c (input_function): Do not input function frequency.
+       * function.c (allocate_struct_function): Do not initialize function
+       frequency.
+       * function.h (function_frequency): Remove.
+       (struct function): Remove function frequency.
+       * ipa-profile.c (CGRAPH_NODE_FREQUENCY): Remove.
+       (try_update): Update.
+       * tree-inline.c (initialize_cfun): Do not update function frequency.
+       * passes.c (pass_init_dump_file): Update.
+       * i386.c (ix86_compute_frame_layout): Update.
+       (ix86_pad_returns): Update.
+
+2010-04-26  Jie Zhang  <jie@codesourcery.com>
+
+       PR tree-optimization/43833
+       * tree-vrp.c (range_int_cst_p): New.
+       (range_int_cst_singleton_p): New.
+       (extract_range_from_binary_expr): Optimize BIT_AND_EXPR case
+       when both operands are constants.  Use range_int_cst_p in
+       BIT_IOR_EXPR case.
+
+2010-04-26  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_copy_node_for_versioning): Fix profile updating.
+
+2010-04-26  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/43080
+       * gimple.c (gimple_decl_printable_name): Deal gracefully
+       with a NULL DECL_NAME.
+
+2010-04-26  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42425
+       * tree.c (free_lang_data_in_type): Do not free TYPE_CONTEXT
+       if emitting debug information and it is either a function
+       or a namespace decl.
+
+2010-04-26  Ira Rosen  <irar@il.ibm.com>
+
+       * tree-vectorizer.h (struct _stmt_vec_info): Add new field to
+       determine if the statement is vectorizable, and a macro to access it.
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+       Skip statements that can't be vectorized. If the analysis fails,
+       mark the statement as unvectorizable if vectorizing basic block.
+       (vect_compute_data_refs_alignment): Likewise.
+       (vect_verify_datarefs_alignment): Skip statements marked as
+       unvectorizable. Add print.
+       (vect_analyze_group_access): Skip statements that can't be
+       vectorized. If the analysis fails, mark the statement as
+       unvectorizable if vectorizing basic block.
+       (vect_analyze_data_ref_accesses, vect_analyze_data_refs): Likewise.
+       * tree-vect-stmts.c (vectorizable_store): Fix the number of
+       generated stmts for SLP.
+       (new_stmt_vec_info): Initialize the new field.
+       * tree-vect-slp.c (vect_build_slp_tree): Fail to vectorize
+       statements marked as unvectorizable.
+
+2010-04-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-common.c (flag_isoc1x): New.
+       (flag_isoc99): Update comment.
+       * c-common.h (flag_isoc1x): New.
+       (flag_isoc99): Update comment.
+       * c-cppbuiltin.c (builtin_define_float_constants): Also define
+       __<type>_DECIMAL_DIG__.
+       * c-opts.c (set_std_c1x): New.
+       (c_common_handle_option): Handle -std=c1x and -std=gnu1x.
+       (set_std_c89, set_std_c99): Also set flag_isoc1x to 0.
+       * c.opt (-std=c1x, -std=gnu1x): New options.
+       * doc/cpp.texi: Mention -std=c1x.
+       * doc/cppopts.texi (-std=c1x, -std=gnu1x): Document.
+       * doc/extend.texi: Mention -std=c1x and -std=gnu1x.
+       * doc/invoke.texi (-std=c1x, -std=gnu1x): Document.
+       * doc/standards.texi: Mention C1X.
+       * ginclude/float.h (FLT_DECIMAL_DIG, DBL_DECIMAL_DIG,
+       LDBL_DECIMAL_DIG, FLT_HAS_SUBNORM, DBL_HAS_SUBNORM,
+       LDBL_HAS_SUBNORM, FLT_TRUE_MIN, DBL_TRUE_MIN, LDBL_TRUE_MIN):
+       Define for C1X.
+
+2010-04-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/gmon-sol2.c (_mcleanup): Change format string
+       placeholder from 0x%x to %#x.
+       * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/i386-interix.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/att.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/sysv4.h (ASM_OUTPUT_ASCII): Ditto.
+       * config/i386/i386.c (ix86_target_string): Ditto.
+       (output_pic_addr_const): Ditto.
+       (print_operand): Ditto.
+
+2010-04-25  Paolo Bonzini  <bonzini@gnu.org>
+
+       * combine.c (find_split_point): Add third argument.  Use it
+       to find nested multiply-accumulate instructions.  Adjust calls.
+       (try_combine): Adjust call to find_split_point.
+
+2010-04-24  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/contrib.texi (Contributors): Add Dodji Seketeli.
+
+2010-04-24  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR tree-optimization/41442
+       * fold-const.c (merge_truthop_with_opposite_arm): New function.
+       (fold_binary_loc): Call it.
+
+2010-04-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * toplev.c (general_init): Set default for fdiagnostics-show-option.
+       * opts.c (common_handle_option): Allow disabling it.
+       * common.opt (fdiagnostics-show-option): Add Var. Enabled by default.
+
+2010-04-23  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Only use conversion
+       between modes if both types are integral.
+
+2010-04-23  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43572
+       * tree-tailcall.c (find_tail_calls): Allow PARM_DECL uses.
+
+2010-04-23  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/43455
+       * tree-inline.c (tree_can_inline_p): Also check compatibility
+       of return types.
+
+2010-04-23  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43846
+       * tree-sra.c (struct access): New flag grp_assignment_read.
+       (build_accesses_from_assign): Set grp_assignment_read.
+       (sort_and_splice_var_accesses): Propagate grp_assignment_read.
+       (enum mark_read_status): New type.
+       (analyze_access_subtree): Propagate grp_assignment_read, create
+       accesses also if both direct_read and root->grp_assignment_read.
+
+2010-04-23  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/43835
+       * tree-sra.c (ipa_sra_preliminary_function_checks): Check that the
+       function does not have type attributes.
+
+2010-04-23  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42653
+       * tree.c (free_lang_data_in_decl): Do not reset DECL_CONTEXT
+       of FUNCTION_DECLs.
+
+2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * sese.h (create_if_region_on_edge): Remove.
+
+       * sese.c (create_if_region_on_edge): Make static.
+
+       * tree-inline.c: Do not include ggc.h.
+
+       * expr.c: Do not include ggc.h.
+
+       * Makefile.in (tree-inline.o, expr.o): Remove $(GGC_H) from
+       dependencies.
+
+2010-04-22  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/43744
+       * config/sh/sh.c (find_barrier): Don't emit a constant pool
+       in the middle of insns for casesi_worker_2.
+
+2010-04-22  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/x-aix: Override LDFLAGS for all COMPILERS.
+
+2010-04-22  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/43842
+       * tree-vect-loop.c (vect_create_epilog_for_reduction): Handle
+       loop unrolling in update of exit phis. Fix comment.
+       * tree-vect-slp.c (vect_analyze_slp): Check that there are at
+       least two reduction statements in the loop before starting SLP
+       analysis.
+
+2010-04-22  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16-lib2.c (__ucmpsi2): Fix thinko.
+
+2010-04-22  Alexander Monakov  <amonakov@ispras.ru>
+
+       * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Handle BIT_NOT_EXPR
+       to simplify a + ~a.
+
+2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * tree-parloops.c (loop_parallel_p): New argument
+       parloop_obstack.  Pass it down.
+       (parallelize_loops): New variable parloop_obstack.  Initialize it,
+       pass it down, free it.
+
+       * tree-loop-linear.c (linear_transform_loops): Pass down
+       lambda_obstack.
+
+       * tree-data-ref.h (lambda_compute_access_matrices): New argument
+       of type struct obstack *.
+
+       * tree-data-ref.c (analyze_subscript_affine_affine): New variable
+       scratch_obstack.  Initialize it, pass down, free it.
+
+       * lambda.h (lambda_loop_new): Remove.
+       (lambda_matrix_new, lambda_matrix_inverse)
+       (lambda_trans_matrix_new, lambda_trans_matrix_inverse): New
+       argument of type struct obstack *.
+
+       * lambda-trans.c (lambda_trans_matrix_new): New argument
+       lambda_obstack.  Pass it down, use obstack allocation for ret.
+       (lambda_trans_matrix_inverse): New argument lambda_obstack.  Pass
+       it down.
+
+       * lambda-mat.c (lambda_matrix_get_column)
+       (lambda_matrix_project_to_null): Remove.
+       (lambda_matrix_new): New argument lambda_obstack.  Use obstack
+       allocation for mat.
+       (lambda_matrix_inverse_hard, lambda_matrix_inverse): New argument
+       lambda_obstack.
+
+       * lambda-code.c (lambda_loop_new): New function.
+       (lambda_lattice_new, compute_nest_using_fourier_motzkin)
+       (lambda_compute_auxillary_space, lambda_compute_target_space)
+       (lambda_loopnest_transform, gcc_loop_to_lambda_loop)
+       (lambda_loopnest_to_gcc_loopnest): Pass down lambda_obstack.
+       (build_access_matrix): New argument lambda_obstack.  Use obstack
+       allocation for am.
+       (lambda_compute_step_signs, lambda_compute_access_matrices): New
+       argument lambda_obstack.  Pass it down.
+
+2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * optabs.h (expand_widening_mult): Declare.
+
+2010-04-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43845
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): Properly
+       lookup the CALL_EXPR function and arguments.
+
+2010-04-22  Nick Clifton  <nickc@redhat.com>
+
+       * config/stormy16/stormy16.c
+       (xstormy16_asm_output_aligned_common): Handle a NULL decl parameter.
+       * config/stormy16/stormy16.h: Tidy up formatting.
+       (DONT_USE_BUILTIN_SETJMP): Remove definition.
+       * config/stormy16/stormy16.c (cbranchsi4): Delete pattern.
+       (ineqbranchsi): Delete pattern.
+       * config/stormy16/stormy16-lib2-ucmpsi2.c: New file.
+       * config/stormy16/stormy16-lib2.c (__ucmpsi2): New function.
+       * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Add
+       stormy16-lib2-ucmpsi2.c.
+
+2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * ifcvt.c (dead_or_predicable): Use df_simulate_find_defs and
+       df_simulate_find_noclobber_defs as appropriate.  Keep track of an
+       extra set merge_set_noclobber, and use it to relax the final test
+       slightly.
+       * df.h (df_simulate_find_noclobber_defs): Declare.
+       * df-problems.c (df_simulate_find_defs): Don't ignore partial or
+       conditional defs.
+       (df_simulate_find_noclobber_defs): New function.
+
+2010-04-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md: Use {} around multi-line preparation statements.
+
+2010-04-22  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       * c-tree.h (push_init_level, pop_init_level, set_init_index)
+       (process_init_element): New argument of type struct obstack *.
+
+       * c-typeck.c (push_init_level, pop_init_level, set_designator)
+       (set_init_index, set_init_label, set_nonincremental_init)
+       (set_nonincremental_init_from_string, find_init_member)
+       (output_init_element, output_pending_init_elements)
+       (process_init_element): New argument braced_init_obstack.  Pass it
+       down.
+       (push_range_stack, add_pending_init): New argument
+       braced_init_obstack.  Use obstack allocation.
+
+       * c-parser.c (c_parser_initelt, c_parser_initval): New argument
+       braced_init_obstack.  Pass it down.
+       (c_parser_braced_init): New variables ret, braced_init_obstack.
+       Initialize obstack, pass it down and finally free it.
+
+2010-04-22  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR middle-end/29274
+       * tree-pass.h (pass_optimize_widening_mul): Declare.
+       * tree-ssa-math-opts.c (execute_optimize_widening_mul,
+       gate_optimize_widening_mul): New static functions.
+       (pass_optimize_widening_mul): New.
+       * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: New case.
+       <case MULT_EXPR>: Remove support for widening multiplies.
+       * tree.def (WIDEN_MULT_EXPR): Tweak comment.
+       * cfgexpand.c (expand_debug_expr) <case WIDEN_MULT_EXPR>: Use
+       simplify_gen_unary rather than directly building extensions.
+       * tree-cfg.c (verify_gimple_assign_binary): Add tests for
+       WIDEN_MULT_EXPR.
+       * expmed.c (expand_widening_mult): New function.
+       * passes.c (init_optimization_passes): Add pass_optimize_widening_mul.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
+       * lto-section-in.c (lto_section_name): Remove wpa_fixup.
+       * lto-wpa-fixup.c: Remove.
+       * Makefile.in (lto-wpa-fixup.o): Remove.
+       * passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
+       (execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
+       * lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * tree-pass.h (ipa_opt_pass_d): Rename function_read_summary;
+       add write_optimization_summary, read_optimization_summary.
+       (ipa_write_summaries_of_cgraph_node_set): Remove.
+       (ipa_write_optimization_summaries): Declare.
+       (ipa_read_optimization_summaries): Declare.
+       * ipa-cp.c (pass_ipa_cp): Update.
+       * ipa-reference.c (pass_ipa_reference): Update.
+       * ipa-pure-const.c (pass_ipa_pure_const): Update.
+       * lto-streamer-out.c (pass_ipa_lto_gimple, pass_ipa_lto_finish):
+       Update.
+       * ipa-inline.c (pass_ipa_inline): Update.
+       * ipa.c (pass_ipa_whole_program): Update.
+       * lto-wpa-fixup.c (pass_ipa_lto_wpa_fixup): Update.
+       * passes.c (ipa_write_summaries_1): Do not test wpa.
+       (ipa_write_optimization_summaries_1): New.
+       (ipa_write_optimization_summaries): New.
+       (ipa_read_summaries): Do not test ltrans.
+       (ipa_read_optimization_summaries_1): New.
+       (ipa_read_optimization_summaries): New.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * lto-cgraph.c (lto_output_node): Do not output comdat groups
+       for boundary nodes.
+       (output_cgraph): Do not arrange comdat groups for boundary nodes.
+
+2010-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/40040
+       * dwarf2out.c (add_name_and_src_coords_attributes): Add
+       DW_AT_{,MIPS_}linkage_name even for Fortran decls.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-prop.c (ipa_edge_removal_hook): Check for bounds.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * varpool.c (decide_is_variable_needed): Variable is always needed
+       during ltrans.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c (decode_options): Enable pure-const pass for whopr.
+
+2010-04-21  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (dump_cgraph_node): Dump also assembler name.
+       * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Do not ice
+       at WPA dumping.
+       (cgraph_decide_inlining): Do not expect callee to be removed in all
+       cases.
+
+2010-04-21  Eric B. Weddington  <eric.weddington@atmel.com>
+
+       * config/avr/avr-devices.c (avr_mcu_types): Add missing comma.
+
+2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (x86_shrd): Add athlon_decode and
+       amdfam10_decode attributes.
+
+2010-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/43570
+       * omp-low.c (scan_sharing_clauses): Don't scan_omp_op
+       OMP_CLAUSE_DECL for OMP_CLAUSE_COPYPRIVATE.
+       (lower_copyprivate_clauses): Use private var in outer
+       context instead of original var.  Make sure the types
+       are correct for VLAs.
+
+2010-04-21  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (do_ds_constraint): Avoid escaping
+       to non-pointer objects.
+
+2010-04-21  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (add_var_loc_to_decl): Add LABEL argument.  Drop
+       last chain entry if it starts with the still current label.
+       (add_location_or_const_value_attribute): Check that
+       loc_list->first->next is NULL instead of comparing ->first with ->last.
+       (dwarf2out_var_location): Pass last_label resp. last_postcall_label
+       to add_var_loc_to_decl.
+
+       * dwarf2out.c (output_call_frame_info): For dw_cie_version
+       >= 4 add also address size and segment size fields into CIE header.
+
+       * unwind-dw2.c (extract_cie_info): Handle CIE version 4, as
+       long as address size is the same as sizeof (void *) and
+       segment size is 0.
+       * unwind-dw2-fde.c (get_cie_encoding): Likewise.  If
+       address size or segment size is unexpected, return DW_EH_PE_omit.
+       (classify_object_over_fdes): If get_cie_encoding returned
+       DW_EH_PE_omit, return -1.
+       (init_object): If classify_object_over_fdes returned -1,
+       pretend there were no FDEs at all.
+
+2010-04-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (bswap<mode>2): Macroize expander from
+       bswap{si,di}2 using SWI48 mode iterator.
+       (*bswap<mode>2_movbe): Macroize insn from *bswap{si,di}_movbe using
+       SWI48 mode iterator.  Set type attribute of bswap insn to bitmanip,
+       set modrm attribute of bswap insn to 0 and remove length attribute.
+       (*bswap<mode>2_1): Macroize insn from *bswap{si,di}_1 using SWI48 mode
+       iterator.  Set type attribute to bitmanip, set modrm attribute to 0,
+       set mode attribute to <MODE> and remove length attribute.
+
+2010-04-20  James E. Wilson  <wilson@codesourcery.com>
+
+       PR rtl-optimization/43520
+       * ira-lives.c (ira_implicitly_set_insn_hard_regs): Exclude classes with
+       zero available registers.
+
+2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (fold_builtin_cproj): Fold more cases.
+
+2010-04-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (build_complex_cproj, fold_builtin_cproj): New.
+       (fold_builtin_1): Fold builtin cproj.
+       * builtins.def (BUILT_IN_CPROJ, BUILT_IN_CPROJF, BUILT_IN_CPROJL):
+       Use ATTR_CONST_NOTHROW_LIST.
+
+2010-04-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
+       and ffsdi2 using SWI48 mode iterator.  Expand SImode insn through
+       ffsi2_no_cmove for !TARGET_CMOVE.
+       (ffssi2_no_cmove): Rename from *ffs_no_cmove.  Make public.
+       (ffssi2): Remove expander.
+       (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
+       mode iterator.
+       (ctz<mode>2): Ditto from ctz{si,di}2.
+       (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
+       mode iterator.
+       (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
+       mode iterator.
+
+2010-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (AT_linkage_name): Define.
+       (clone_as_declaration): Handle DW_AT_linkage_name.
+       (add_name_and_src_coords_attributes): Use AT_linkage_name instead
+       of DW_AT_MIPS_linkage_name.
+       (move_linkage_attr): Likewise.
+       (dwarf2out_finish): Likewise.
+
+2010-04-20  Xinliang David Li  <davidxl@gcc.gnu.org>
+
+       PR middle-end/41952
+       * fold-const.c (fold_comparison): New folding rule.
+
+2010-04-20  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (double_int_setbit): Declare.
+       * double-int.c (double_int_setbit): New function.
+       * rtl.h (immed_double_int_const): Declare.
+       * emit-rtl.c (immed_double_int_const): New function.
+       * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
+       and immed_double_int_const functions.
+       * optabs.c (expand_absneg_bit, expand_copysign_absneg,
+       expand_copysign_bit):  (Ditto.).
+       * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
+       * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
+       * dojump.c (prefer_and_bit_test): (Ditto.).
+       * expr.c (convert_modes, reduce_to_bit_field_precision,
+       const_vector_from_tree): (Ditto.).
+       * expmed.c (mask_rtx, lshift_value): (Ditto.).
+
+2010-04-20  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
+       (dump_cgraph_node): Dump new flags.
+       * cgraph.h (struct cgraph_node): Add flags
+       reachable_from_other_partition and in_other_partition.
+       (cgraph_can_remove_if_no_direct_calls_p): Functions used by
+       other partition can not be removed.
+       * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
+       the other partition must be output; silence sanity checking on
+       leaking functions bodies from other paritition.
+       * lto-cgraph.c (reachable_from_other_partition_p): New function.
+       (lto_output_node): Output new flags; do not sanity check that inline
+       clones are output; drop lto_forced_extern_inline_p code; do not mock
+       visibility flags at partition boundaries.
+       (add_node_to): New function.
+       (output_cgraph): Use it to sort functions so masters appear before
+       clones.
+       (input_overwrite_node): Input new flags.
+       * passes.c (ipa_write_summaries): Do not call
+       lto_new_extern_inline_states.
+       * lto-section-out.c (forced_extern_inline,
+       lto_new_extern_inline_states lto_delete_extern_inline_states,
+       lto_force_functions_extern_inline, lto_forced_extern_inline_p): Kill.
+       * lto-streamer.h (lto_new_extern_inline_states,
+       * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
+       lto_forced_extern_inline_p): Kill.
+
+2010-04-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (do_sd_constraint): Add edges only
+       from vars that can have pointers.
+       (process_constraint): Dump useless constraints.
+
+2010-04-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
+       (dump_sa_points_to_info): Remove asserts.
+       (init_base_vars): nothing_id isn't an escape point nor does it
+       have pointers.
+
+2010-04-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (TYPE_REF_IS_RVALUE): Define.
+       * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
+       should_move_die_to_comdat, prune_unused_types_walk): Handle
+       DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
+       (modified_type_die, gen_reference_type_die): Emit
+       DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
+       if TYPE_REF_IS_RVALUE and -gdwarf-4.
+
+2010-04-20  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       PR target/43635
+       * config/s390/s390.c (s390_emit_call): Turn direct into indirect
+       calls for -fpic -m31 if they have been sibcall optimized.
+
+2010-04-19  James E. Wilson  <wilson@codesourcery.com>
+
+       * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
+       ar.lc fixed and call-used.
+
+       * config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
+
+2010-04-19  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c (decode_options): Disable whpr incompatible passes.
+       * lto/lto.c (lto_1_to_1_map): Skip clones.
+       (read_cgraph_and_symbols): Do not mark everything as needed.
+       (do_whole_program_analysis): Do map only after optimizing;
+       set proper cgraph_state; use passmanager.
+
+2010-04-19  DJ Delorie  <dj@redhat.com>
+
+       * cfgexpand.c (expand_debug_expr): Check for mismatched modes in
+       POINTER_PLUS_EXPR and fix them.
+
+2010-04-19  Eric B. Weddington  <eric.weddington@atmel.com>
+
+       * config/avr/avr-devices.c (avr_mcu_types): Add support for new
+       devices atmega644pa, attiny2313a, attiny24a, attiny261a, attiny4313,
+       attiny44a, attiny861a, atmega16a, atmega168a, atmega164a, atmega165a,
+       atmega169a, atmega169pa, atmega16hva2, atmega324a, atmega324pa,
+       atmega325a, atmega3250a, atmega328, atmega329a, atmega329pa,
+       atmega3290a, atmega48a, atmega644a, atmega645a, atmega645p,
+       atmega6450a, atmega6450p, atmega649a, atmega649p, atmega6490a,
+       atmega6490p, atmega64hve, atmega88a, atmega88pa, attiny461a, attiny84a,
+       m3000. Remove support for devices atmega8m1, atmega8c1, atmega16c1,
+       atmega4hvd, atmega8hvd, attiny327, m3000f, m3000s, m3001b.
+       * config/avr/t-avr.c (MULTILIB_MATCHES): Same.
+
+2010-04-19  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * ifcvt.c (noce_try_cmove_arith): Fix long lines.
+       (check_cond_move_block): Likewise.
+       (cond_move_process_if_block): Likewise.
+       (noce_find_if_block): Improve formatting.
+       (find_if_header): Pass 0 to memset and tweak conditions.
+       (cond_exec_find_if_block): Fix long lines and tweak conditions.
+
+2010-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
+       for -gdwarf-4.
+
+       PR middle-end/43337
+       * tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
+       with non-local decl doesn't need chain.
+
+2010-04-19  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-color.c (allocno_reload_assign): Avoid accumulating
+       reload registers in ALLOCNO_TOTAL_CONFLICT_HARD_REGS.
+
+2010-04-19  Martin Jambor  <mjambor@suse.cz>
+
+       * gimple.h (create_tmp_reg): Declare.
+       * gimplify.c (create_tmp_reg): New function.
+       (gimplify_return_expr): Use create_tmp_reg.
+       (gimplify_omp_atomic): Likewise.
+       (gimple_regimplify_operands): Likewise.
+       * tree-dfa.c (make_rename_temp): Likewise.
+       * tree-predcom.c (predcom_tmp_var): Likewise.
+       (reassociate_to_the_same_stmt): Likewise.
+       * tree-sra.c (replace_uses_with_default_def_ssa_name): Likewise.
+       (get_replaced_param_substitute): Likewise.
+       * tree-ssa-phiprop.c (phiprop_insert_phi): Likewise.
+       * tree-ssa-phiopt.c (cond_store_replacement): Likewise.
+       * tree-ssa-pre.c (get_representative_for): Likewise.
+       (create_expression_by_pieces): Likewise.
+       * tree-tailcall.c (adjust_return_value_with_ops): Likewise.
+       (create_tailcall_accumulator): Likewise.
+
+2010-04-19  Martin Jambor  <mjambor@suse.cz>
+
+       * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update
+       new_stmt.
+       (cgraph_materialize_all_clones): Assert !need_ssa_update_p.
+
+2010-04-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43796
+       * tree-vrp.c (adjust_range_with_scev): Lookup init and step
+       from SCEV in the lattice.
+       (vrp_visit_phi_node): Dump change.
+
+2010-04-19  Richard Guenther  <rguenther@suse.de>
+
+       * configure.ac: Fix quoting around elf_getshstrndx ABI check.
+       * configure: Re-generated.
+
+2010-04-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43783
+       * tree-ssa-pre.c (create_component_ref_by_pieces_1): Drop
+       constant ARRAY_REF operands two and three if possible.
+
+2010-04-19  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43766
+       * config/i386/i386.c (ix86_decompose_address): Handle ASHIFT addends.
+
+2010-04-19  Jie Zhang  <jie@codesourcery.com>
+
+       PR target/43662
+       * reginfo.c (reinit_regs): Set caller_save_initialized_p to false.
+
+2010-04-19  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/37027
+       * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
+       and macro to access it.
+       (vectorizable_reduction): Add argument.
+       (vect_get_slp_defs): Likewise.
+       * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
+       statements for possible use in SLP.
+       (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
+       (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
+       (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
+       add new argument.
+       (vectorizable_reduction): Likewise.
+       * tree-vect-stmts.c (vect_get_vec_defs): Update call to
+       vect_get_slp_defs.
+       (vectorizable_type_demotion, vectorizable_type_promotion,
+       vectorizable_store): Likewise.
+       (vect_analyze_stmt): Update call to vectorizable_reduction.
+       (vect_transform_stmt): Likewise.
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
+       (vect_build_slp_tree): Fix indentation. Check that there are no loads
+       from different interleaving chains in same node.
+       (vect_slp_rearrange_stmts): New function.
+       (vect_supported_load_permutation_p): Allow load permutations for
+       reductions. Call vect_slp_rearrange_stmts() to rearrange statements
+       inside SLP nodes if necessary.
+       (vect_analyze_slp_instance): Handle reductions.
+       (vect_analyze_slp): Try to build SLP instances originating from groups
+       of reductions.
+       (vect_detect_hybrid_slp_stmts): Skip reduction statements.
+       (vect_get_constant_vectors): Create initial vectors for reductions
+       according to reduction code. Add new argument.
+       (vect_get_slp_defs): Add new argument, pass it to
+       vect_get_constant_vectors.
+       (vect_schedule_slp_instance): Remove SLP tree root statements.
+
+2010-04-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree.h (ENUM_IS_SCOPED): Define.
+       * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
+       for ENUM_IS_SCOPED enums.
+
+2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * fold-const.c (fold_comparison): Use ssizetype.
+       * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
+       * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
+       * tree-loop-distribution.c (build_size_arg_loc): Likewise.
+       * tree-object-size.c (compute_object_sizes): Use size_type_node.
+
+       * tree.h (initialize_sizetypes): Remove parameter.
+       (build_common_tree_nodes): Remove second parameter.
+       * stor-layout.c (initialize_sizetypes): Remove parameter.
+       Always create an unsigned type.
+       (set_sizetype): Assert that the passed type is unsigned and simplify.
+       * tree.c (build_common_tree_nodes): Remove second parameter.
+       Adjust call to initialize_sizetypes.
+       * c-decl.c (c_init_decl_processing): Remove second argument in call to
+       build_common_tree_nodes.
+
+2010-04-18  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc.c (main): Search for liblto_plugin.so with mode R_OK.
+
+2010-04-18  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/43771
+       * tree-vect-slp.c (vect_supported_load_permutation_p): Check that
+       load permutation doesn't have gaps.
+
+2010-04-18  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (UNSPEC_SSE_PROLOGUE_SAVE_LOW): New.
+       (sse_prologue_save_insn expander): Use new pattern.
+       (sse_prologue_save_insn1): New pattern and splitter.
+       (sse_prologue_save_insn): Update to deal also with 64bit aligned
+       blocks.
+       * i386.c (setup_incoming_varargs_64): Do not compute jump
+       destination here.
+       (ix86_gimplify_va_arg): Update alignment needed.
+       (ix86_local_alignment): Do not align all local arrays to 128bit.
+
+2010-04-17  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_early_inlining): Handle flattening too.
+
+2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (negdi2): Remove redundant code to force values into a
+       register.
+
+2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm/bpabi.S: Add EABI alignment attributes to objects.
+       * arm/bpabi-v6m.S: Likewise.
+       * arm/crti.asm: Likewise.
+       * arm/crtn.asm: Likewise.
+       * arm/lib1funcs.asm: Likewise.
+       * arm/libunwind.S: Likewise.
+
+2010-04-17  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm-protos.h (tune_params): New structure.
+       * arm.c (current_tune): New variable.
+       (arm_constant_limit): Delete.
+       (struct processors): Add pointer to the tune parameters.
+       (arm_slowmul_tune): New tuning option.
+       (arm_fastmul_tune, arm_xscale_tune, arm_9e_tune): Likewise.
+       (all_cores): Adjust to pick up the tuning model.
+       (arm_constant_limit): New function.
+       (arm_override_options): Select the appropriate tuning model.  Delete
+       initialization of arm_const_limit.
+       (arm_split_constant): Use the new constant-limit model.
+       (arm_rtx_costs): Pick up the current tuning model.
+       * arm.md (is_strongarm, is_xscale): Delete.
+       * arm-generic.md (load_ldsched_x, load_ldsched): Test explicitly
+       for Xscale variant architectures.
+       (mult_ldsched_strongarm, mult_ldsched): Similarly for StrongARM.
+
+2010-04-17  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       * config/arm/arm.c (arm_gen_constant): Remove unused variable
+       can_shift.
+       (arm_rtx_costs_1): Remove unused variable extra_cost.
+       (arm_unwind_emit_set): Use variable offset.
+       (thumb1_output_casesi): Remove unused variable flags.
+
+2010-04-16  Jeff Law  <law@redhat.com>
+
+       * ira-color.c (ira_reassign_pseudos): Collect and sort all the pseudos
+       needing assignment rather than doing a two-phase assignment.  Remove
+       unused variable 'm'.
+
+2010-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43767
+       * alias.c (memrefs_conflict_p): Don't crash if CSELIB_VAL_PTR is NULL.
+
+2010-04-16  Doug Kwan  <dougkwan@google.com>
+
+       * tree-ssa-reassoc.c (struct operand_entry): Add new field ID.
+       (next_operand_entry_id): New static variable.
+       (sort_by_operand_rank): Stabilize qsort comparator by using unique IDs.
+       (add_to_ops_vec): Assigned unique ID to operand entry.
+       (struct oecount_s): New field ID.
+       (oecount_cmp): Stabilize qsort comparotor by using unique IDs.
+       (undistribute_ops_list): Assign unique IDs to oecounts.
+       (init_reassoc): reset next_operand_entry_id.
+
+2010-04-16  Doug Kwan  <dougkwan@google.com>
+
+       * config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
+       missing left parenthesis.
+
+2010-04-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
+       *btdi_rex64 using SWI48 mode iterator.
+       (*jcc_bt<mode>): Ditto from *jcc_btsi and *jcc_btdi_rex64.
+       (*jcc_bt<mode>_mask): Ditto from *jcc_btsi_mask and
+       *jcc_btdi_mask_rex64.
+
+2010-04-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (tree_to_double_int): Convert to macro.
+       * double-int.c (tree_to_double_int): Remove.
+
+2010-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43762
+       * dwarf2out.c (add_bound_info): Always call loc_list_from_tree
+       with want_address 2 and in case a single element list might be
+       possible, call it again with want_address 0.
+
+2010-04-12  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
+
+       * config/h8300/h8300.c (print_operand) : Modify case 'V' and
+       case 'W' print operands for HI mode.
+       * config/h8300/h8300.h (Y0, Y2) : New constraints.
+       * config/h8300/h8300.md (bclrqi_msx, bclrhi_msx): New patterns
+       (bsetqi_msx, bsethi_msx, bnotqi_msx, bnothi_msx): Likewise.
+       * config/h8300/predicate.md (bit_register_indirect_operand): New.
+
+       * config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
+
+       * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
+       cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
+       #xx:3 and #xx:4 mode.
+
+       * config/h8300/h8300.md (inverted load with HImode dest): Add
+       support for H8300SX.
+
+       * config/h8300/predicate.md (bit_operand): Allow immediate values that
+       satisfy 'U' constraint.
+
+2010-04-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * doc/install.texi (Prerequisites): Document that Solaris 2 libelf
+       works.
+
+2010-04-16  Richard Guenther  <rguenther@suse.de>
+
+       * tree.h (struct tree_decl_minimal): Move pt_uid ...
+       (struct tree_decl_common): ... here.
+       (DECL_PT_UID): Adjust.
+       (SET_DECL_PT_UID): Likewise.
+       (DECL_PT_UID_SET_P): Likewise.
+
+2010-04-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43572
+       * tree-ssa-alias.h (call_may_clobber_ref_p): Declare.
+       * tree-ssa-alias.c (call_may_clobber_ref_p): Export.
+       * tree-flow.h (is_call_clobbered): Remove.
+       * tree-flow-inline.h (is_call_clobbered): Likewise.
+       * tree-dfa.c (dump_variable): Do not dump call clobber state.
+       * tree-nrv.c (dest_safe_for_nrv_p): Use the alias oracle.
+       (execute_return_slot_opt): Adjust.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Remove
+       check for call clobbered vars here.
+       (find_tail_calls): Move tailcall verification to the
+       proper place.
+
+2010-04-16  Diego Novillo  <dnovillo@google.com>
+
+       * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
+
+2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/40603
+       * config/arm/arm.md (cbranchqi4): New pattern.
+       * config/arm/predicates.md (const0_operand,
+       cbranchqi4_comparison_operator): New predicates.
+
+2010-04-16  Richard Guenther  <rguenther@suse.de>
+
+       * gimple-pretty-print.c (dump_gimple_phi): Dump alias info.
+       (dump_gimple_stmt): Likewise.
+
+2010-04-16  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * recog.h (struct recog_data): New field is_operator.
+       (struct insn_operand_data): New field is_operator.
+       * recog.c (extract_insn): Set recog_data.is_operator.
+       * genoutput.c (output_operand_data): Emit code to set the
+       is_operator field.
+       * reload.c (find_reloads): Use it rather than testing for an
+       empty constraint string.
+
+       PR target/41514
+       * config/arm/arm.md (cbranchsi4_insn): Renamed from "*cbranchsi4_insn".
+       If the previous insn is a cbranchsi4_insn with the same arguments,
+       omit the compare instruction.
+
+       * config/arm/arm.md (addsi3_cbranch): If destination is a high
+       register, inputs must be low registers and we need a low register
+       scratch.  Handle alternative 2 like alternative 3.
+
+2010-04-16  Jakub Jelinek  <jakub@redhat.com>
+
+       * alias.c (memrefs_conflict_p): If x and y are the same VALUE,
+       don't call get_addr on both.  If one expression is a VALUE and
+       the other a REG, check VALUE's locs if the REG isn't among them.
+
+2010-04-16  Christian Bruel  <christian.bruel@st.com>
+
+       * config/sh/sh.h (sh_frame_pointer_required): New function.
+       * config/sh/sh.h (TARGET_FRAME_POINTER_REQUIRED): New macro.
+       (flag_omit_frame_pointer) Set.
+       (MASK_ACCUMULATE_OUTGOING_ARGS) Define and Set.
+       (rounded_frame_size): Adjust size with outgoing_args_size.
+       (sh_set_return_address): Must return from stack pointer.
+       * gcc/config/sh/sh.h (CAN_DEBUG_WITHOUT_FP): Define.
+       (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
+       (ACCUMULATE_OUTGOING_ARGS): Define.
+       * doc/invoke.texi (maccumulate-outgoing-args): Document for SH.
+       * gcc/config/sh/sh.opt (maccumulate-outgoing-args): New option.
+
+2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/43471
+       * config/sh/sh.c (sh_legitimize_reload_address): Use
+       MAYBE_BASE_REGISTER_RTX_P instead of BASE_REGISTER_RTX_P.
+       Remove a unneeded check for offset_base.
+
+2010-04-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure: Regenerated.
+
+2010-04-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_call_save_register_used): Switch back
+       to HARD_REGNO_NREGS.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * alias.c (alias_set_subset_of): Handle alias-set zero
+       child properly.
+
+2010-04-15  Mark Shinwell  <shinwell@codesourcery.com>
+           Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/thumb2.md (thumb2_movsi_insn): Split ldr and str
+       alternatives according to use of high and low regs.
+       * config/arm/vfp.md (thumb2_movsi_vfp): Likewise.
+       * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Use high regs when
+       optimizing for size on Thumb-2.
+
+2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>
+
+       * config.gcc <i[34567]86-*-gnu*>: Handle softfp as for Linux.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (struct variable_info): Add
+       is_fn_info flag.
+       (new_var_info): Initialize it.
+       (dump_constraints): Support printing last added constraints.
+       (debug_constraints): Adjust.
+       (dump_constraint_graph): Likewise.
+       (make_heapvar_for): Check for NULL cfun.
+       (get_function_part_constraint): New function.
+       (get_fi_for_callee): Likewise.
+       (find_func_aliases): Properly implement IPA PTA constraints.
+       (process_ipa_clobber): New function.
+       (find_func_clobbers): Likewise.
+       (insert_into_field_list_sorted): Remove.
+       (create_function_info_for): Properly allocate vars for IPA mode.
+       Do not use insert_into_field_list_sorted.
+       (create_variable_info_for): Properly generate constraints for
+       global vars in IPA mode.
+       (dump_solution_for_var): Always dump the solution.
+       (set_uids_in_ptset): Initialize DECL_PT_UID if in ipa-mode.
+       (find_what_var_points_to): Adjust.
+       (pt_solution_set): Change.
+       (pt_solution_ior_into): New function.
+       (pt_solution_empty_p): Export.
+       (pt_solution_includes_global): Adjust.
+       (pt_solution_includes_1): Likewise.
+       (pt_solutions_intersect_1): Likewise.
+       (dump_sa_points_to_info): Check some invariants.
+       (solve_constraints): Move constraint dumping ...
+       (compute_points_to_sets): ... here.
+       (ipa_pta_execute): ... and here.
+       (compute_may_aliases): Do not re-compute points-to info
+       locally if IPA info is available.
+       (ipa_escaped_pt): New global var.
+       (ipa_pta_execute): Properly implement IPA PTA.
+       * tree-into-ssa.c (dump_decl_set): Support dumping
+       decls not in referenced-vars.
+       * tree-flow.h (struct gimple_df): Add ipa_pta flag.
+       * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Adjust.
+       (dump_points_to_solution): Likewise.
+       * tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
+       * tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
+       (remap_gimple_stmt): Reset call clobber/use information if necessary.
+       (copy_decl_to_var): Copy DECL_PT_UID.
+       (copy_result_decl_to_var): Likewise.
+       * tree.c (make_node_stat): Initialize DECL_PT_UID.
+       (copy_node_stat): Copy it.
+       * tree.h (DECL_PT_UID): New macro.
+       (SET_DECL_PT_UID): Likewise.
+       (DECL_PT_UID_SET_P): Likewise.
+       (struct tree_decl_minimal): Add pt_uid member.
+       * tree-ssa-alias.h (struct pt_solution): Add ipa_escaped flag.
+       (pt_solution_empty_p): Declare.
+       (pt_solution_set): Adjust.
+       (ipa_escaped_pt): Declare.
+       * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
+       * gimple-pretty-print.c (pp_points_to_solution): New function.
+       (dump_gimple_call): Dump call clobber/use information.
+       * tree-dump.c (dump_option_value_in): Add TDF_ALIAS entry.
+       * tree-pass.h (TDF_ALIAS): New dump option.
+       * tree-pretty-print.c (dump_decl_name): Dump DECL_PT_UID if asked to.
+       * doc/invoke.texi (-fipa-pta): Update documentation.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * Makefile.in (OBJS-common): Add gimple-fold.o.
+       (gimple-fold.o): New rule.
+       * tree.h (maybe_fold_offset_to_reference,
+       maybe_fold_offset_to_address, maybe_fold_stmt_addition): Move
+       prototypes ...
+       * gimple.h: ... here.
+       * tree-flow.h (fold_stmt, fold_stmt_inplace, get_symbol_constant_value,
+       may_propagate_address_into_dereference): Move prototypes ...
+       * gimple.h: ... here.
+       * tree-ssa-ccp.c (get_symbol_constant_value,
+       may_propagate_address_into_dereference, maybe_fold_offset_to_array_ref,
+       maybe_fold_offset_to_component_ref, maybe_fold_offset_to_reference,
+       maybe_fold_offset_to_address, maybe_fold_stmt_indirect,
+       maybe_fold_stmt_addition, maybe_fold_reference, get_maxval_strlen,
+       ccp_fold_builtin, fold_gimple_assign, fold_gimple_cond,
+       fold_gimple_call, fold_stmt_1, fold_stmt, fold_stmt_inplace,
+       gimplify_and_update_call_from_tree): Move ...
+       * gimple-fold.c: ... here.  New file.
+       (ccp_fold_builtin): Rename to ...
+       (gimple_fold_builtin): ... this.
+       * tree-ssa-ccp.c (execute_fold_all_builtins): Adjust.
+
+2010-04-15  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (LOWPART, HIGHPART, BASE, encode, decode,
+       fit_double_type, force_fit_type_double, add_double_with_sign,
+       neg_double, mul_double_with_sign, lshift_double, rshift_double,
+       lrotate_double, rrotate_double, div_and_round_double): Move ...
+       * double-int.c: ... here.
+       * tree.h (force_fit_type_double, fit_double_type, add_double_with_sign,
+       add_double, neg_double, mul_double_with_sign, mul_double,
+       lshift_double, rshift_double, lrotate_double, rrotate_double,
+       div_and_round_double): Move prototypes ...
+       * double-int.h: ... here.
+
+2010-04-15  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/43742
+       * config/sh/sh.md (doloop_end_split, dect): Undo previous patch.  Use
+       matching constraints to ensure inputs match the output.
+
+2010-04-15  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR target/43742
+       * config/sh/sh.md (doloop_end_split): Remove "+r" constraint
+       in an input-only operand.
+
+2010-04-15  Anatoly Sokolov  <aesok@post.ru>
+
+       * double-int.h (HOST_BITS_PER_DOUBLE_INT): Define.
+       (double_int_not, double_int_lshift, double_int_rshift): Declare.
+       (double_int_negative_p): Convert to static inline function.
+       * double-int.c (double_int_lshift, double_int_lshift): New functions.
+       (double_int_negative_p): Remove.
+       * tree.h (lshift_double, rshift_double):
+       * tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
+       * fold-const.c (fold_convert_const_int_from_real,
+       fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
+       (lshift_double): Change type of arith argument to bool.
+       (rshift_double): Change type of arith argument to bool. Correct
+       comment.
+       * expmed.c (mask_rtx, lshift_value): (Ditto.).
+
+2010-04-14  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR target/21803
+       * ifcvt.c (cond_exec_process_if_block): Look for identical sequences
+       at the start and end of the then/else blocks, and omit them from the
+       conversion.
+       * cfgcleanup.c (flow_find_cross_jump): No longer static.  Remove MODE
+       argument; all callers changed.  Pass zero to old_insns_match_p instead.
+       (flow_find_head_matching_sequence): New function.
+       (old_insns_match_p): Check REG_EH_REGION notes for calls.
+       * basic-block.h (flow_find_cross_jump,
+       flow_find_head_matching_sequence): Declare functions.
+
+2010-04-14  Jason Merrill  <jason@redhat.com>
+
+       PR c++/36625
+       * c-common.c (attribute_takes_identifier_p): New fn.
+       * c-common.h: Declare it.
+
+2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*divmod<mode>4): Remove stray "&&" from
+       splitter condition.
+       (*udivmod<mode>4): Ditto.
+
+2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (maxmin_int): Rename code attribute from
+       maxminiprefix and update all users.
+       (maxmin_float): Ditto from maxminfprefix.
+       (logic): Ditto from logicprefix.
+       (absneg_mnemonic): Ditto from absnegprefix.
+       * config/i386/mmx.md: Update all users of maxminiprefix,
+       maxminfprefix and logicprefix for rename.
+       * config/i386/sse.md: Ditto.
+       * config/i386/sync.md (sync_<code><mode>): Update for
+       logicprefix rename.
+
+2010-04-14  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 42966
+       * diagnostics.c (diagnostic_report_diagnostic): Mark specially
+       warnings converted to errors.
+
+2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (alpha_adjust_cost): Remove set but not
+       used insn_type variable.
+       (function_value): Add ATTRIBUTE_UNUSED to dummy variable declaration
+       to avoid set-but-not-used warning.
+
+2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * df-core.c (df_ref_debug): Change format string placeholder
+       from 0x%x to %#x.
+       * dwarf2asm.c (dw2_asm_output_data_raw,
+       dw2_asm_output_data_uleb128_raw, dw2_asm_output_data_uleb128,
+       dw2_asm_output_data_sleb128_raw, dw2_asm_output_data_sleb128): Ditto.
+       * dwarf2out.c (output_cfi, output_cfi_directive,
+       dwarf2out_do_cfi_startproc, output_loc_sequence_raw,
+       output_cfa_loc_raw, output_die, output_ranges, output_file_names):
+       Ditto.
+       * genattrtab.c (write_test_expr, write_attr_valueq): Ditto.
+       * print-rtl.c (print_rtx): Ditto.
+
+2010-04-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR middle-end/42694
+       * builtins.c (expand_builtin_pow_root): New function to expand pow
+       calls with exponents 0.25, 0.50, 0.75, 1./3., and 1./6. into a
+       series of sqrt and cbrt calls under -ffast-math.
+       (expand_builtin_pow): Call it.
+
+2010-04-14  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/42963
+       * tree-cfg.c (touched_switch_bbs): New static variable.
+       (group_case_labels_stmt): New function broken out from ...
+       (group_case_labels): ... here, use the above.
+       (start_recording_case_labels): Allocate touched_switch_bbs.
+       (end_recording_case_labels): Deallocate it, call
+       group_case_labels_stmt.
+       (gimple_redirect_edge_and_branch): Remember index of affected BB.
+
+2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*popcountsi2_cmp_zext): Remove mode attribute
+       from insn template.
+
+2010-04-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*ashlqi3_1_slp): New insn pattern.
+
+2010-04-13  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_mark_inline_edge): Avoid double accounting
+       of optimized out static functions.
+       (cgraph_edge_badness): Add DUMP parameter and dump reasons for the
+       cost computation.  Also sanity check for overflows.
+       (update_caller_keys): Update cgraph_edge_badness call; properly
+       update fibheap and sanity check that it is up to date.
+       (add_new_edges_to_heap): Update cgraph_edge_badness.
+       (cgraph_decide_inlining_of_small_function): Likewise;
+       add sanity checking that badness in heap is up to date;
+       improve dumping of reason; Update badness of calls to the
+       offline copy of function currently inlined; dump badness
+       of functions not inlined because of unit growth limits.
+
+2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR middle-end/32628
+       * c-common.c (pointer_int_sum): Disregard overflow that occured only
+       because of sign-extension change when converting to sizetype here...
+       * fold-const.c (fold_convert_const_int_from_int): ...and not here.
+
+       * fold-const.c (fold_binary_op_with_conditional_arg): Do not restrict
+       the folding to constants.  Remove redundant final conversion.
+       (fold_binary) <associate>: Do not associate if the re-association of
+       constants alone overflows.
+       (fold_binary) <FLOOR_MOD_EXPR>: Move transformation into BIT_AND_EXPR
+       to the end of the list.
+       (multiple_of_p) <COND_EXPR>: New case.
+
+2010-04-13  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * opt-functions.awk (opt_sanitized_name): New.
+       (opt_enum): New.
+       * optc-gen.awk: Use it
+       * opth-gen.awk: Use it.
+
+2010-04-13  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (replace_uses_with_default_def_ssa_name): New function.
+       (sra_modify_assign): Delete stmts loading dead data even if racc has no
+       children.  Call replace_uses_with_default_def_ssa_name to handle
+       SSA_NAES on lhs.
+
+2010-04-13  Michael Matz  <matz@suse.de>
+
+       PR middle-end/43730
+       * builtins.c (expand_builtin_interclass_mathfn): Also create
+       a register if the predicate doesn't match.
+
+2010-04-13  Diego Novillo  <dnovillo@google.com>
+
+       * Makefile.in (c-pch.o, ggc-common.o): Depend on timevar.h.
+       * c-pch.c: Include timevar.h.
+       (c_common_write_pch): Use TV_PCH_SAVE and TV_PCH_CPP_SAVE timers.
+       (c_common_read_pch): Use TV_PCH_RESTORE and TV_PCH_CPP_RESTORE timers.
+       * ggc-common.c: Include timevar.h.
+       (gt_pch_save): Use TV_PCH_PTR_REALLOC and TV_PCH_PTR_SORT timers.
+       * timevar.def (TV_PCH_SAVE): Define.
+       (TV_PCH_CPP_SAVE): Define.
+       (TV_PCH_PTR_REALLOC): Define.
+       (TV_PCH_PTR_SORT): Define.
+       (TV_PCH_RESTORE): Define.
+       (TV_PCH_CPP_RESTORE): Define.
+
+2010-04-13  Michael Matz  <matz@suse.de>
+
+       * tree-ssa-reassoc.c (repropagate_negates): Merge negates also
+       into MINUS_EXPRs.
+       (can_reassociate_p): New function.
+       (break_up_subtract_bb, reassociate_bb): Use it.
+
+2010-04-13  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/43737
+       * builtins.c (c_readstr): Fix assert.
+
+2010-04-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (extendsidi2 splitter): Also check for DX_REG
+       when generating cltd insn.
+
+       (*ashl<mode>3_1): Remove special handling for register operand 2.
+       (*ashlsi3_1_zext): Ditto.
+       (*ashlhi3_1): Ditto.
+       (*ashlhi3_1_lea): Ditto.
+       (*ashlqi3_1): Ditto.
+       (*ashlqi3_1_lea): Ditto.
+       (*<shiftrt_insn><mode>3_1): Ditto.
+       (*<shiftrt_insn>si3_1_zext): Ditto.
+       (*<shiftrt_insn>qi3_1_slp): Ditto.
+       (*<rotate_insn><mode>3_1): Ditto.
+       (*<rotate_insn>si3_1_zext): Ditto.
+       (*<rotate_insn>qi3_1_slp): Ditto.
+
+2010-04-13  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-structalias.c (callused_id): Remove.
+       (call_stmt_vars): New.
+       (get_call_vi): Likewise.
+       (lookup_call_use_vi): Likewise.
+       (lookup_call_clobber_vi): Likewise.
+       (get_call_use_vi): Likewise.
+       (get_call_clobber_vi): Likewise.
+       (make_transitive_closure_constraints): Likewise.
+       (handle_const_call): Adjust to do per-call call-used handling.
+       (handle_pure_call): Likewise.
+       (find_what_var_points_to): Remove general callused handling.
+       (init_base_vars): Likewise.
+       (init_alias_vars): Initialize call_stmt_vars.
+       (compute_points_to_sets): Process call-used and call-clobbered
+       vars for call statements.
+       (delete_points_to_sets): Free call_stmt_vars.
+
+2010-04-13  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
+       Only add RW dependence for dependence distance zero.
+       Adjust maximal vectorization factor according to dependences.
+       Move alignment handling ...
+       (vect_find_same_alignment_drs): ... here.  New function.
+       (vect_analyze_data_ref_dependences): Adjust.
+       (vect_analyze_data_refs_alignment): Call vect_find_same_alignment_drs.
+       (vect_analyze_data_refs): Adjust minimal vectorization factor
+       according to data references.
+       * tree-vect-loop.c (vect_analyze_loop): Analyze data-ref
+       dependences before determining the vectorization factor.
+       Analyze alignment after determining the vectorization factor.
+       * tree-vect-slp.c ((vect_slp_analyze_bb): Analyze data-ref
+       dependences before alignment.
+       * tree-vectorizer.h (vect_analyze_data_ref_dependences):
+       Adjust prototype.
+       (vect_analyze_data_refs): Likewise.
+       (MAX_VECTORIZATION_FACTOR): New define.
+
+2010-04-13  Duncan Sands  <baldrick@free.fr>
+
+       * except.h (lang_eh_type_covers): Remove.
+       * except.c (lang_eh_type_covers): Likewise.
+
+2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+           Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
+       * gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
+       UNITS_PER_LONG where it is ABI relevant.
+       (s390_return_addr_rtx): Likewise.
+       (s390_back_chain_rtx): Likewise.
+       (s390_frame_area): Likewise.
+       (s390_frame_info): Likewise.
+       (s390_initial_elimination_offset): Likewise.
+       (save_gprs): Likewise.
+       (s390_emit_prologue): Likewise.
+       (s390_emit_epilogue): Likewise.
+       (s390_function_arg_advance): Likewise.
+       (s390_function_arg): Likewise.
+       (s390_va_start): Likewise.
+       (s390_gimplify_va_arg): Likewise.
+       (s390_function_profiler): Likewise.
+       (s390_optimize_prologue): Likewise.
+       (s390_rtx_costs): Likewise.
+       (s390_secondary_reload): Likewise.
+       (s390_promote_function_mode): Likewise.
+       (s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
+       (s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
+       registers available.
+       (s390_unwind_word_mode): New function.
+       (s390_function_value): Split 64 bit values into register pair if
+       used as return value.
+       (s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
+       function call parameters.  Handle parallels.
+       (TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
+       (HARD_REGNO_CALL_PART_CLOBBERED): New macro.
+       (DWARF_CIE_DATA_ALIGNMENT): New macro.
+       (s390_expand_setmem): Remove unused variable src_addr.
+       * gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
+       deal with 64 bit registers.
+       * gcc/config/s390/s390.h: Define __zarch__ predefined macro.
+       Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
+       (UNITS_PER_LONG): New macro.
+       * libjava/include/s390-signal.h: Define extended ucontext
+       structure containing the upper halfs of the 64 bit registers.
+
+2010-04-13  Simon Baldwin  <simonb@google.com>
+
+       * cfgexpand.c (gimple_expand_cfg): Clarify warning message text.
+
+2010-04-13  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * gimple.c (walk_gimple_op) <GIMPLE_ASSIGN>: Do not request a pure
+       rvalue on the RHS if the LHS is of a non-renamable type.
+       * tree-ssa-ccp.c (maybe_fold_offset_to_component_ref): Fold result.
+
+2010-04-13  Matthias Klose  <doko@ubuntu.com>
+
+       * gcc.c (cc1_options): Handle -iplugindir before processing
+       the cc1 spec. Only add -iplugindir once.
+       (cpp_unique_options): Add -iplugindir option if -fplugin* options
+       found.
+       * common.opt (iplugindir): Remove `Separate' property, initialize.
+       * plugin.c (default_plugin_dir_name): Error with missing -iplugindir
+       option.
+       * Makefile.in (check-%, check-parallel-%): Create plugin dir.
+       (distclean): Remove plugin dir.
+       * doc/invoke.texi: Document -iplugindir.
+
+2010-04-13  Basile Starynkevitch  <basile@starynkevitch.net>
+
+       * doc/plugins.texi (Loading Plugins): Document short
+       -fplugin=foo option.
+       (Plugin API): Mention default_plugin_dir_name function.
+
+       * gcc.c (find_file_spec_function): Add new declaration.
+       (static_spec_func): Use it for "find-file".
+       (find_file_spec_function): Add new function.
+       (cc1_options): Add -iplugindir option if -fplugin* options found.
+
+       * gcc-plugin.h (default_plugin_dir_name): Added new declaration.
+
+       * plugin.c (add_new_plugin): Updated comment, and handle short
+       plugin name.
+       (default_plugin_dir_name): Added new function.
+
+       * common.opt (iplugindir): New option to set the plugin directory.
+
+2010-04-12  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (any_rotate): New code iterator.
+       (rotate_insn): New code attribute.
+       (rotate): Ditto.
+       (SWIM124): New mode iterator.
+       (<rotate_insn>ti3): New expander.
+       (<rotate_insn>di3): Macroize expander from {rotl,rotr}di3 using
+       any_rotate code iterator.
+       (<rotate_insn><mode>3) Macroize expander from {rotl,rotr}{qi,hi,si}3
+       using any_rotate code iterator and SWIM124 mode iterator.
+       (ix86_rotlti3): New insn_and_split pattern.
+       (ix86_rotrti3): Ditto.
+       (ix86_rotl<dwi>3_doubleword): Macroize insn_and_split pattern from
+       ix86_rotl{di,ti}3 patterns.
+       (ix86_rotr<dwi>3_doubleword): Ditto from ix86_rotr{di,ti}3 patterns.
+       (*<rotate_insn><mode>3_1): Merge with *{rotl,rotr}{qi,hi,si}3_1_one_bit
+       and *{rotl,rotr}di3_1_one_bit_rex64. Macroize insn from
+       *{rotl,rotr}{qi,hi,si}3_1 and *{rotl,rotr}di3_1_rex64 using any_rotate
+       code iterator and SWI mode iterator.
+       (*<rotate_insn>si3_1_zext): Merge with *{rotl,rotr}si3_1_one_bit_zext.
+       Macroize insn from {rotl,rotr}si3_1_zext using any_rotate
+       code iterator.
+       (*<rotate_insn>qi3_1_slp): Merge with *{rotl,rotr}qi3_1_one_bit_slp.
+       Macroize insn from {rotl,rotr}qi3_1_slp using any_rotate code iterator.
+       (bswap rotatert splitter): Add splitter.
+       (bswap splitter): Macroize splitter using any_rotate code iterator.
+       Add insn predicate to split only for TARGET_USE_XCHGB or when
+       optimizing function for size.
+
+2010-04-12  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/pa/pa.c (emit_move_sequence): Remove use of
+       deleted variable flag_argument_noalias.
+
+2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc: Removed *-*-solaris2.7* from list of obsolete
+       configurations.
+       Add to unsupported targets list.
+       * configure.ac (gcc_cv_as_tls): Removed i[34567]86-*-solaris2.[567]*,
+       sparc*-sun-solaris2.[567]* from target lists.
+       * configure: Regenerate.
+       * doc/install.texi (Specific, *-*-solaris2*): Document Solaris 7
+       removal.
+       Remove Solaris 7 patch references.
+       (Specific, sparc-sun-solaris2.7): Removed.
+       (sparc-sun-solaris2*): Update Solaris 7 example.
+       (sparc64-*-solaris2*): Likewise.
+
+2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.build (alpha*-dec-osf4*): Remove.
+       * config.gcc: Remove alpha*-dec-osf4*, alpha-dec-osf5.0* from list
+       of obsolete configurations.
+       (alpha*-dec-osf[45]*): Remove alpha*-dec-osf4*, alpha-dec-osf5.0*
+       support.
+       * config/alpha/t-osf4: Renamed to ...
+       * config/alpha/t-osf5: ... this.
+       * config/alpha/osf.h: Renamed to ...
+       * config/alpha/osf5.h: ... this.
+       Merged old osf5.h contents.
+       Update comments.
+       (ASM_SPEC): Use ASM_OLDAS_SPEC directly.
+       (EXTRA_SPECS): Removed.
+       * doc/install.texi (Specific, alpha*-dec-osf5.1): Renamed to
+       reflect removal of Tru64 UNIX V4.0/V5.0 support.
+       Document that.
+
+2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/contrib.texi (Contributors, Rainer Orth): Update.
+
+2010-04-12  Kai Tietz  <kai.tietz@onevision.com>
+
+       PR/43702
+       * config/i386/i386.c (x86_this_parameter): Handle aggregate for
+       __thiscall convention.
+
+2010-04-12  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/pa/pa.c (hppa_legitimize_address): Remove unused variable
+       orig_base.
+       * config/pa/pa.md (call, call_value): Remove unused variable call_insn.
+
+2010-04-12  Steve Ellcey  <sje@cup.hp.com>
+
+       * function.c (assign_parms_initialize_all): Add unused attribute
+       to fntype.
+
+2010-04-12  Richard Guenther  <rguenther@suse.de>
+
+       * gsstruct.def (GSS_CALL): New.
+       * gimple.def (GIMPLE_CALL): Change to GSS_CALL.
+       * gimple.h: Include tree-ssa-alias.h.
+       (struct gimple_statement_call): New.
+       (union gimple_statement_struct_d): Add gimple_call member.
+       (gimple_call_reset_alias_info): Declare.
+       (gimple_call_use_set): New function.
+       (gimple_call_clobber_set): Likewise.
+       * Makefile.in (GIMPLE_H): Add tree-ssa-alias.h.
+       * gimple.c (gimple_call_reset_alias_info): New function.
+       (gimple_build_call_1): Call it.
+       * lto-streamer-in.c (input_gimple_stmt): Likewise.
+       * tree-inline.c (remap_gimple_stmt): Likewise.
+       (expand_call_inline): Remove callused handling.
+       * cfgexpand.c (update_alias_info_with_stack_vars): Likewise.
+       * tree-dfa.c (dump_variable): Likewise.
+       * tree-parloops.c (parallelize_loops): Likewise.
+       * tree-ssa.c (init_tree_ssa): Likewise.
+       (delete_tree_ssa): Likewise.
+       * tree-flow-inline.h (is_call_used): Remove.
+       * tree-flow.h (struct gimple_df): Remove callused member.
+       * tree-nrv.c (dest_safe_for_nrv_p): Adjust predicate.
+       * tree-ssa-alias.c (dump_alias_info): Remove callused handling.
+       (ref_maybe_used_by_call_p_1): Simplify.
+       (call_may_clobber_ref_p_1): Likewise.
+       * tree-ssa-structalias.c (compute_points_to_sets): Set
+       the call stmt used and clobbered sets.
+       * tree-tailcall.c (suitable_for_tail_opt_p): Adjust predicate.
+       (find_tail_calls): Verify the tail call.
+
+2010-04-12  Richard Guenther  <rguenther@suse.de>
+
+       * ipa.c (cgraph_postorder): Adjust postorder to guarantee
+       single-iteration always-inline inlining.
+       * ipa-inline.c (cgraph_mark_inline): Do not return anything.
+       (cgraph_decide_inlining): Do not handle always-inline specially.
+       (try_inline): Remove always-inline cycle detection special case.
+       Do not recurse on always-inlines.
+       (cgraph_early_inlining): Do not iterate if not optimizing.
+       (cgraph_gate_early_inlining): remove.
+       (pass_early_inline): Run unconditionally.
+       (gate_cgraph_decide_inlining): New function.
+       (pass_ipa_inline): Use it.  Do not run the IPA inliner if
+       not inlining or optimizing.
+       (cgraph_decide_inlining_of_small_functions): Also consider
+       always-inline functions.
+       (cgraph_default_inline_p): Return true for nodes which should
+       disregard inline limits.
+       (estimate_function_body_sizes): Assume zero size and time for
+       nodes which are marked as disregarding inline limits.
+       (cgraph_decide_recursive_inlining): Do not perform recursive
+       inlining on always-inline nodes.
+
+2010-04-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43699
+       * c-typeck.c (c_process_expr_stmt): Call mark_exp_read even
+       for exprs satisfying handled_component_p.
+
+2010-04-12  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * expr.c (categorize_ctor_elements_1): Properly count sub-elements of
+       non-constant aggregate elements.
+
+       * gimplify.c (gimplify_init_constructor): Do not pre-evaluate if this
+       is a real initialization.
+
+2010-04-12  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR c/36774
+       * c-decl.c (start_function): Move forward check for nested function.
+
+2010-04-11  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh-protos.h (sh_legitimize_reload_address): Declare.
+       * config/sh/sh.c: Include reload.h.
+       (sh_legitimize_reload_address): New.
+       * config/sh/sh.h (LEGITIMIZE_RELOAD_ADDRESS): Use
+       sh_legitimize_reload_address.
+
+2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
+
+       * config/sh/sh.md (*movqi_pop): New insn pattern.
+       * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
+
+2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (any_shiftrt): New code iterator.
+       (shiftrt_insn): New code attribute.
+       (shiftrt): Ditto.
+       (<shiftrt_insn><mode>3): Macroize expander from {ashr,lshr}<mode>3
+       using any_shiftrt code iterator.
+       (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
+       *{ashr,lshr}<mode>3_doubleword using any_shiftrt code iterator.
+       (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
+       pattern from corresponding peephole2 patterns.
+       (*<shiftrt_insn><mode>3_1): Macroize insn from *{ashr,lshr}<mode>3_1
+       using any_shiftrt code iterator.
+       (*<shiftrt_insn>si3_1_zext): Ditto from *{ashr,lshr}si3_1_zext.
+       (*<shiftrt_insn>qi3_1_slp): Ditto from *{ashr,lshr}qi3_1_slp.
+       (*<shiftrt_insn><mode>3_cmp): Ditto from *{ashr,lshr}<mode>3_cmp.
+       (*<shiftrt_insn><mode>3_cmp_zext): Ditto from
+       *{ashr,lshr}<mode>3_cmp_zext.
+       (*<shiftrt_insn><mode>3_cconly): Ditto from *{ashr,lshr}<mode>3_cconly.
+
+2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
+       scratch register.
+       (*lshr<mode>3_cconly): Ditto.
+
+2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (lshr<mode>3): Macroize expander from
+       lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
+       (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
+       pattern from *lshr{di,ti}3_1 and corresponding splitters using
+       DWI mode iterator.
+       (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
+       from corresponding peephole2 patterns.
+       (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
+       *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_1
+       and *lshrdi3_1_rex64 using SWI mode iterator.
+       (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
+       (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
+       (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
+       *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
+       and *lshrdi3_cmp_rex64 using SWI mode iterator.
+       (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
+       (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
+       *lshrdi3_one_bit_cconly_rex64. Macroize insn from
+       *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
+       SWI mode iterator.
+
+2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (ashr<mode>3): Macroize expander from
+       ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
+       (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
+       pattern from *ashr{di,ti}3_1 and corresponding splitters using
+       DWI mode iterator.
+       (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
+       from corresponding peephole2 patterns.
+       (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
+       (ashrsi3_cvt): Rename from ashrsi3_31.
+       (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
+       (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
+       and x86_64_shift_adj_3 using SWI48 mode iterator.
+       (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
+       *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_1
+       and *ashrdi3_1_rex64 using SWI mode iterator.
+       (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
+       (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
+       (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
+       *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
+       and *ashrdi3_cmp_rex64 using SWI mode iterator.
+       (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
+       (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
+       *ashrdi3_one_bit_cconly_rex64. Macroize insn from
+       *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
+       SWI mode iterator.
+       (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
+       * config/i386/i386.c (ix86_split_ashr): Update for renamed
+       x86_shift<mode>_adj_3 expanders.
+
+2010-04-10  Wei Guozhi  <carrot@google.com>
+
+       PR target/42601
+       * config/arm/arm.c (arm_pic_static_addr): New function.
+       (legitimize_pic_address): Call arm_pic_static_addr when it detects
+       a static symbol.
+       (arm_output_addr_const_extra): Output expression for new pattern.
+       * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
+
+2010-04-10  Bernd Schmidt  <bernds@codesourcery.com>
+
+       * ira-costs.c (record_reg_classes): Ignore alternatives that are
+       not enabled.
+
+       * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
+       * web.c: Include "insn-config.h" and "recog.h".
+       (union_match_dups): New function.
+       (web_main): Call it.
+       (union_defs): Don't try to recognize match_dups.
+
+       * reload1.c (eliminate_regs_in_insn): Don't restore an operand
+       if doing so would replace the entire pattern.
+
+2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43707
+       PR target/43709
+       * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
+       and splitter pattern.  Change splitter operand 1 predicate to
+       nonmemory_operand.
+
+2010-04-09  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
+       lattices are addresses of CONST_DECLs with the same initial value.
+       (ipcp_print_all_lattices): Print values of CONST_DECLs.
+       * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
+
+2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
+           Bernd Schmidt  <bernds@codesourcery.com>
+
+       * loop-invariant.c (replace_uses): New static function.
+       (move_invariant_reg): Use it to ensure we can replace the uses.
+
+2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_rtx_costs): Use correct
+       function template.
+       (picochip_override_options): Enable section anchors only above -O1.
+       (picochip_reorg): Fixed a couple of build warnings.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (plugin -rdynamic test): Log result.
+       * configure: Regenerate.
+       * config/sol2.h (LINK_SPEC): Handle -rdynamic.
+       (RDYNAMIC_SPEC): Define.
+       * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Determine Sun ld version numbers.
+       (comdat_group): Restrict GNU ld version checks to gld.
+       (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
+       (enable_comdat): Support --enable-comdat.
+       * configure: Regenerate.
+       * doc/install.texi (Configuration): Document --enable-comdat.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
+       * config/sol2-gld.h: ... here.
+       * config.gcc (sparc*-*-solaris2*): Reflect this.
+       (i[34567]86-*-solaris2*): Use it.
+
+2010-04-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
+       setup_clocks_p.
+       (final_emit_insn_group_barriers): Remove unused variable prev_insn.
+
+2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 42965
+       * diagnostic.c (diagnostic_initialize): Initialize
+       some_warnings_are_errors.
+       (diagnostic_finish): New.
+       (diagnostic_action_after_output): Call it before exiting.
+       (diagnostic_report_diagnostic): Do not print message here. Set
+       some_warnings_are_errors.
+       * diagnostic.h (diagnostic_context): Delete
+       issue_warnings_are_errors_message. Add some_warnings_are_errors.
+       (diagnostic_finish): Declare.
+       * toplev.c (toplev_main): Call it before exit.
+
+2010-04-09  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42623
+       * c-common.c (c_sizeof_or_alignof_type): Return error_mark_node
+       for incomplete type.
+
+       PR c++/41788
+       * stor-layout.c (finalize_record_size): Don't change TYPE_PACKED
+       based on a warning flag.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
+
+2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR bootstrap/43684
+       * varasm.c (default_assemble_visibility): Wrap vars that are
+       set, but unused, by targets without GAS.
+       * config/rs6000/rs6000.c (paired_emit_vector_compare):
+       Remove set, but unused, vars.
+       (rs6000_legitimize_tls_address): Likewise.
+       (altivec_expand_dst_builtin): Likewise.
+       * config/darwin.c (machopic_classify_symbol): Likewise.
+       (machopic_indirection_name): Likewise.
+
+2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (DWI): New mode iterator.
+       (S): New mode attribute.
+       (shift_operand): Ditto.
+       (shift_immediate_operand): Ditto.
+       (ashl_input_operand): Ditto.
+       (ashl<mode>3): Macroize expander from ashl{qi,hi,si,di,ti}3_1
+       using SDWIM mode iterator.
+       (*ashl<mode>3_doubleword): New insn_and_split_pattern.  Macroize
+       pattern from *ashl{di,ti}3_1 and corresponding splitters using
+       DWI mode iterator.
+       (*ashl<mode>3_doubleword peephole2): Macroize peephole2 pattern
+       from corresponding peephole2 patterns.
+       (x86_shift<mode>_adj_1): Macroize expander from x86_shift_adj_1
+       and x86_64_shift_adj_1 using SWI48 mode iterator.
+       (x86_shift<mode>_adj_2): Ditto.
+       (*ashldi3_1_rex64): Split TYPE_LEA pattern.
+       (*ashl<mode>3_1): Macroize insn from *ashlsi3_1 and *ashldi3_1_rex64
+       using SWI48 mode iterator.
+       (*ashl<mode>3_cmp): Macroize insn from *ashl{qi,hi,si}3_cmp and
+       *ashldi3_cmp_rex64 using SWI mode iterator.
+       (*ashl<mode>3_cconly): Macroize insn from *ashl{qi,hi,si}3_cconly and
+       *ashldi3_cconly_rex64 using SWI mode iterator.
+       * config/i386/i386.c (ix86_split_ashl): Update for renamed
+       x86_shift<mode>_adj_{1,2}.
+       (ix86_split_ashr): Ditto.
+       (ix86_split_lshr): Ditto.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       * target.h (builtin_conversion): Pass in input and output types.
+       * targhooks.c (default_builtin_vectorized_conversion): Adjust.
+       * targhooks.h (default_builtin_vectorized_conversion): Likewise.
+       * tree-vect-stmts.c (vectorizable_conversion): Adjust.
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Adjust.
+
+       * config/i386/i386.c (ix86_vectorize_builtin_conversion): Adjust.
+       Handle AVX modes.
+       * config/rs6000/rs6000.c (rs6000_builtin_conversion): Adjust.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       PR target/43152
+       * config/i386/sse.md (vcond<mode>): Handle AVX modes as well.
+
+2010-04-09  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vectorizer.h (struct _stmt_vec_info): Document
+       that vectype is the type of the LHS.
+       (supportable_widening_operation, supportable_narrowing_operation):
+       Get both input and output vector types as arguments.
+       (vect_is_simple_use_1): Declare.
+       (get_same_sized_vectype): Likewise.
+       * tree-vect-loop.c (vect_determine_vectorization_factor):
+       Set STMT_VINFO_VECTYPE to the vector type of the def.
+       (vectorizable_reduction): Adjust.
+       * tree-vect-patterns.c (vect_recog_widen_mult_pattern):
+       Adjust.  Specify the output vector type.
+       (vect_pattern_recog_1): Adjust.
+       * tree-vect-stmts.c (get_same_sized_vectype): New function.
+       (vectorizable_call): Adjust.
+       (vectorizable_conversion): Likewise.
+       (vectorizable_operation): Likewise.
+       (vectorizable_type_demotion): Likewise.
+       (vectorizable_type_promotion): Likewise.
+       (vect_analyze_stmt): Set STMT_VINFO_VECTYPE to the vector type of
+       the def.
+       (vect_is_simple_use_1): New function.
+       (supportable_widening_operation): Get both input and output
+       vector types.
+       (supportable_narrowing_operation): Likewise.
+       * tree-vect-slp.c (vect_schedule_slp_instance): Adjust.
+
+2010-04-09  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/cygming.h (TARGET_OS_CPP_BUILTINS): Add
+       __thiscall and _thiscall as predefined macros.
+       * config/i386/i386.c (ix86_handle_cconv_attribute): Add
+       thiscall attribute handling.
+       (ix86_comp_type_attributes): Likewise.
+       (ix86_function_regparm): Likewise.
+       (ix86_return_pops_args): Likewise.
+       (init_cumulative_args): Likewise.
+       (find_drap_reg): Likewise.
+       (ix86_static_chain): Likewise.
+       (x86_this_parameter): Likewise.
+       (x86_output_mi_thunk): Likewise.
+       (ix86_attribute_table): Add description for thiscall attribute.
+       * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
+       * doc/extend.texi: Add documentation for thiscall.
+
+2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c++/28584
+       * c.opt (Wint-to-pointer-cast): Available in C++.
+       * doc/invoke.texi (Wint-to-pointer-cast): Available in C++.
+
+2010-04-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.h (TREE_ADDRESSABLE): Document its effect for function types.
+       * calls.c (expand_call): Pass the function type to aggregate_value_p.
+       * function.c (aggregate_value_p): Do not honor DECL_BY_REFERENCE on
+       the target function of a CALL_EXPR.  Honor TREE_ADDRESSABLE on the
+       function type instead.  Reorder and simplify checks.
+
+       * gimplify.c (gimplify_modify_expr_rhs) <WITH_SIZE_EXPR>: New case.
+
+2010-04-08  Jing Yu  <jingyu@google.com>
+           Zdenek Dvorak  <ook@ucw.cz>
+
+       PR tree-optimization/42720
+       * tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Move one-time
+       loop unswitch conditions here from ...
+       (tree_unswitch_single_loop): ... here.
+
+2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Fix comments and simplify logic.
+
+2010-04-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c (if_convertible_loop_p): Remove unused parameter.
+       (tree_if_conversion): Same.  Update call to if_convertible_loop_p.
+       (main_tree_if_conversion): Update call to tree_if_conversion.
+
+2010-04-08  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 42485
+       * doc/invoke.texi (-b,-V): Delete.
+       * doc/tm.texi: Do not mention -b.
+       * gcc.c (display_help): Delete -b and -V.
+       (process_command): Delete -b and -V.
+       * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
+
+2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
+           Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+       Implement target hook for loop unrolling
+       * target.h (loop_unroll_adjust): Add a new target hook function.
+       * target-def.h (TARGET_LOOP_UNROLL_ADJUST): Likewise.
+       * doc/tm.texi (TARGET_LOOP_UNROLL_ADJUST): Document it.
+       * config/s390/s390.c (TARGET_LOOP_UNROLL_ADJUST): Define it.
+       (s390_loop_unroll_adjust): Implement the new target hook for s390.
+       * loop-unroll.c (decide_unroll_runtime_iterations): Call loop unroll
+       target hook.
+       (decide_unroll_stupid): Likewise.
+
+2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/43643
+       * config/i386/gmon-sol2.c [__x86_64__]: Properly restore %rcx.
+
+2010-04-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, i?86-*-solaris2.10): Fix grammar.
+       (Specific, *-*-solaris2*): Likewise.
+       Don't prefer Sun as over GNU as.
+
+2010-04-08  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+       * config/s390/s390.c (override_options): Adjust the z10 defaults
+       for max-unroll-times, max-completely-peeled-insns
+       and max-completely-peel-times.
+
+2010-04-08  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_expand_movmem): Issue prefetch
+       instructions for z10.
+       (s390_expand_setmem): Likewise.
+       (s390_expand_cmpmem): Likewise.
+
+2010-04-08  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43679
+       * tree-ssa-pre.c (eliminate): Only propagate copies.
+
+2010-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43681
+       * expr.c (block_move_libcall_safe_for_call_parm): Avoid
+       set but not used variable warning.
+
+2010-04-08  Wei Guozhi  <carrot@google.com>
+
+       PR target/41653
+       * config/arm/arm.c (thumb1_size_rtx_costs): New function.
+       (arm_size_rtx_costs): Call the new function when optimized for size.
+
+2010-04-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43670
+       * cfgexpand.c (expand_debug_expr): If for non-NULL offset
+       op0 is not a MEM, just return NULL instead of assertion
+       failure.
+       (discover_nonconstant_array_refs): Don't walk debug stmts.
+
+2010-04-08  Doug Kwan  <dougkwan@google.com>
+
+       * configure.ac: Recognize gold and do not use its version number
+       to test ld features.
+       * configure: Regenerate.
+
+2010-04-08  Maxim Kuvyrkov  <maxim@codesourcery.com>
+
+       PR middle-end/40815
+       * tree-ssa-reassoc.c (broken_up_substracts): Rename to plus_negates.
+       (negate_value): Move code to push elements to broken_up_substracts ...
+       (eliminate_plus_minus_pair): ... here.  Push operands that have no
+       negative pair to plus_negates.
+       (repropagate_negates, init_reassoc, fini_reassoc): Update.
+
+2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/install.texi (Configuration): Move description of
+       --enable-lto, --with-libelf*, --enable-gold from Java section to
+       general section.
+
+       * doc/generic.texi (Working with declarations)
+       (Function Properties, C and C++ Trees): Fix typos.
+       * doc/sourcebuild.texi (Top Level): Likewise.
+
+2010-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/18624
+       * tree.h (DECL_READ_P): Define.
+       (struct tree_decl_common): Add decl_read_flag.
+       * c-decl.c (pop_scope): If TREE_USED but !DECL_READ_P, issue
+       a set but not used warning.
+       (merge_decls): Merge DECL_READ_P flag.
+       (finish_decl, build_compound_literal): Set DECL_READ_P flag.
+       (finish_function): Issue -Wunused-but-set-parameter diagnostics.
+       * c-common.c (handle_used_attribute, handle_unused_attribute):
+       Likewise.
+       * c-tree.h (default_function_array_read_conversion, mark_exp_read):
+       New prototypes.
+       * c-typeck.c (default_function_array_read_conversion, mark_exp_read):
+       New functions.
+       (default_conversion, c_process_expr_stmt): Call mark_exp_read.
+       * c-parser.c (c_parser_initializer, c_parser_expr_no_commas,
+       c_parser_binary_expression, c_parser_cast_expression,
+       c_parser_expr_list, c_parser_omp_atomic, c_parser_omp_for_loop):
+       Call default_function_array_read_conversion instead of
+       default_function_array_conversion where needed.
+       (c_parser_unary_expression, c_parser_conditional_expression,
+       c_parser_postfix_expression_after_primary, c_parser_initelt):
+       Likewise.  Call mark_exp_read where needed.
+       (c_parser_statement_after_labels, c_parser_asm_operands,
+       c_parser_typeof_specifier, c_parser_sizeof_expression,
+       c_parser_alignof_expression, c_parser_initval): Call mark_exp_read
+       where needed.
+       * common.opt (Wunused-but-set-variable, Wunused-but-set-parameter):
+       New.
+       * toplev.c (warn_unused_but_set_variable): Default to warn_unused.
+       (warn_unused_but_set_parameter): Default to warn_unused
+       && extra_warnings.
+       * doc/invoke.texi: Document -Wunused-but-set-variable and
+       -Wunused-but-set-parameter.
+
+       * tree-ssa-pre.c (my_rev_post_order_compute): Remove set but not
+       used count variable.
+       * genemit.c (gen_expand, gen_split): Avoid set but not used warnings
+       when operandN variables aren't used in the body of the expander
+       or splitter.
+       * tree-outof-ssa.c (FOR_EACH_ELIM_GRAPH_SUCC,
+       FOR_EACH_ELIM_GRAPH_PRED): Avoid set but not used warnings.
+       * tree-ssa-operands.h (FOR_EACH_SSA_TREE_OPERAND): Likewise.
+       * tree-flow.h (FOR_EACH_IMM_USE_FAST, FOR_EACH_IMM_USE_STMT,
+       FOR_EACH_IMM_USE_ON_STMT): Likewise.
+       * tree.h (FOR_EACH_CONSTRUCTOR_ELT): Likewise.
+       * tree.c (PROCESS_ARG): Likewise.
+
+2010-04-07  Simon Baldwin  <simonb@google.com>
+
+       * diagnostic.h (diagnostic_override_option_index): New macro to
+       set a diagnostic's option_index.
+       * c-tree.h (c_cpp_error): Add warning reason argument.
+       * opts.c (_warning_as_error_callback): New.
+       (register_warning_as_error_callback): Store callback for
+       warnings enabled via enable_warning_as_error.
+       (enable_warning_as_error): Call callback, minor code tidy.
+       * opts.h (register_warning_as_error_callback): Declare.
+       * c-opts.c (warning_as_error_callback): New, set cpp_opts flag in
+       response to -Werror=.
+       (c_common_init_options): Register warning_as_error_callback in opts.c.
+       * common.opt: Add -Wno-cpp option.
+       * c-common.c (struct reason_option_codes_t): Map cpp warning
+       reason codes to gcc option indexes.
+       * (c_option_controlling_cpp_error): New function, lookup the gcc
+       option index for a cpp warning reason code.
+       * (c_cpp_error): Add warning reason argument, call
+       c_option_controlling_cpp_error for diagnostic_override_option_index.
+       * doc/invoke.texi: Document -Wno-cpp.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * ipa-reference.c (mark_load): Use get_base_address.
+       (mark_store): Likewise.
+
+       * tree-ssa-ccp.c (gimplify_and_update_call_from_tree): Avoid
+       inserting GIMPLE_NOPs into the IL.
+       * tree-ssa-structalias.c (get_constraint_for_component_ref):
+       Explicitly strip handled components and indirect references.
+
+       * fold-const.c (fold_unary_loc): Do not strip qualifiers when
+       folding address expressions.
+       * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.
+       * tree-ssa-alias.c (decl_refs_may_alias_p): Do not use
+       operand_equal_p to compare decls.
+       (ptr_deref_may_alias_decl_p): Likewise.
+       * tree-ssa-operands.c (get_asm_expr_operands): Simplify
+       * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
+       Handle reversed comparison ops.
+       * tree-sra.c (asm_visit_addr): Use get_base_address.
+       * ipa-prop.c (visit_store_addr_for_mod_analysis): Use get_base_address.
+       * ipa-reference.c (mark_address): Use get_base_address.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-forwprop.c (forward_propagate_addr_expr):
+       Propagate constants everywhere.
+
+2010-04-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43516
+       * tree.c (MAX_INT_CACHED_PREC): Define.
+       (nonstandard_integer_type_cache): New array.
+       (build_nonstandard_integer_type): Cache results for precision
+       <= MAX_INT_CACHED_PREC.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       * doc/invoke.texi (-fargument-alias, -fargument-noalias,
+       -fargument-noalias-global, -fargument-noalias-anything): Remove.
+       * common.opt: Likewise.
+       * tree-ssa-structalias.c (intra_create_variable_infos): Adjust comment.
+       * alias.c (base_alias_check): Remove flag_argument_noalias handling.
+       (nonoverlapping_memrefs_p): Likewise.
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
+       * opts.c (common_handle_option): Handle OPT_fargument_alias,
+       OPT_fargument_noalias, OPT_fargument_noalias_anything and
+       OPT_fargument_noalias_global for backward compatibility.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43270
+       * tree-vrp.c (check_array_ref): Fix flexible array member detection.
+       * tree-ssa-sccvn.h (fully_constant_vn_reference_p): Declare.
+       * tree-ssa-pre.c (phi_translate_1): Adjust.
+       (fully_constant_expression): Split out vn_reference handling to ...
+       * tree-ssa-sccvn.c (fully_constant_vn_reference_p): ... here.
+       Fold reads from constant strings.
+       (vn_reference_lookup): Handle fully constant references.
+       (vn_reference_lookup_pieces): Likewise.
+       * Makefile.in (expmed.o-warn): Add -Wno-error.
+
+2010-04-07  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (find_param_candidates): Allow scalar va_list types.
+
+2010-04-07  Iain Sandoe  <iains@gcc.gnu.org>
+
+       PR driver/41594
+       * gcc.c: Add -static-libstdc++ to list of recognized options.
+
+2010-04-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (i[34567]86-*-solaris2*): Default with_tune_32 to generic.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * expr.c (expand_expr_real_1): For TARGET_MEM_REFs with pointer
+       bases build simple mem attributes to retain points-to information.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * alias.c (ao_ref_from_mem): Without MEM_OFFSET or MEM_SIZE
+       preserve points-to related information.
+
+2010-04-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42617
+       * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not
+       discard plain indirect references.
+       * fold-const.c (operand_equal_p): Guard against NULL_TREE type.
+       * tree.c (tree_nop_conversion): Likewise.
+
+2010-04-07  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/43628
+       * dwarf2out.c (modified_type_die): Ignore artificial typedefs.
+
+2010-04-06  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/i386.c (ix86_handle_cconv_attribute): Ignore
+       calling convention attributes on METHOD_TYPEs for w64 ABI, too.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Fix indentation and comments.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Sort static functions in topological order.
+
+2010-04-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * tree-if-conv.c: Fix indentation and comments.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (max_signed_precision_type): Use
+       lang_hooks.types.type_for_size instead of
+       build_nonstandard_integer_type.
+       When converting an unsigned type to signed, double its precision.
+       (gcc_type_for_interval): Use lang_hooks.types.type_for_size.
+       (gcc_type_for_iv_of_clast_loop): Call max_signed_precision_type.
+       (graphite_create_new_loop_guard): When ub + 1 wraps around,
+       use lb <= ub.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * graphite-clast-to-gimple.c (graphite_create_new_loop_guard): Use
+       POINTER_PLUS_EXPR for pointer types.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43519
+       * Makefile.in (graphite-clast-to-gimple.o): Depends on langhooks.h.
+       * graphite-clast-to-gimple.c: Include langhooks.h.
+       (max_signed_precision_type): New.
+       (max_precision_type): Takes two types as arguments.
+       (precision_for_value): New.
+       (precision_for_interval): New.
+       (gcc_type_for_interval): New.
+       (gcc_type_for_value): New.
+       (gcc_type_for_clast_term): New.
+       (gcc_type_for_clast_red): New.
+       (gcc_type_for_clast_bin): New.
+       (gcc_type_for_clast_expr): Split up into several functions.
+       (gcc_type_for_clast_eq): Rewritten.
+       (compute_bounds_for_level): New.
+       (compute_type_for_level_1): New.
+       (compute_type_for_level): New.
+       (gcc_type_for_cloog_iv): Removed.
+       (gcc_type_for_iv_of_clast_loop): Rewritten.
+       (graphite_create_new_loop): Compute the lower and upper bound types
+       with gcc_type_for_clast_expr.
+       (graphite_create_new_loop_guard): Same.
+       (find_cloog_iv_in_expr): Removed.
+       (compute_cloog_iv_types_1): Removed.
+       (compute_cloog_iv_types): Removed.
+       (gloog): Do not call compute_cloog_iv_types.
+       * graphite-sese-to-poly.c (new_gimple_bb): Do not initialize
+       GBB_CLOOG_IV_TYPES.
+       (free_data_refs_aux): Do not free GBB_CLOOG_IV_TYPES.
+       * sese.h (struct gimple_bb): Removed field cloog_iv_types.
+       (GBB_CLOOG_IV_TYPES): Removed.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Assert that
+       gimple_phi_num_args of the loop close SSA phi node is equal to 1.
+       (detect_commutative_reduction): Same.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (graphite_verify): Remove redundant
+       call to verify_ssa.  Invoke verify_loop_closed_ssa with an extra
+       argument.
+       * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form): Same.
+       * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Same.
+       (rewrite_commutative_reductions_out_of_ssa): Same.
+       * passes.c (execute_function_todo): Call verify_ssa for every pass
+       in the LNO.  Invoke verify_loop_closed_ssa with an extra argument.
+       * tree-flow.h (verify_loop_closed_ssa): Update declaration.
+       * tree-parloops.c (parallelize_loops): Invoke verify_loop_closed_ssa
+       with an extra argument.
+       * tree-ssa-loop-manip.c (check_loop_closed_ssa_stmt): Same.  Call
+       verify_ssa only when the extra argument is true.
+       (gimple_duplicate_loop_to_header_edge): Invoke verify_loop_closed_ssa
+       with an extra argument.
+       (tree_transform_and_unroll_loop): Same.
+
+2010-04-06  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * passes.c (execute_function_todo): Call verify_loop_closed_ssa
+       for all the passes of the LNO having LOOP_CLOSED_SSA.
+       * tree-if-conv.c (pass_if_conversion): Remove TODO_verify_loops.
+       * tree-loop-distribution.c (pass_loop_distribution): Same.
+       * tree-pass.h (TODO_verify_loops): Removed.
+       * tree-ssa-loop.c (pass_tree_loop_init): Same.
+       (pass_lim): Same.
+       (pass_tree_unswitch): Same.
+       (pass_predcom): Same.
+       (pass_vectorize): Same.
+       (pass_linear_transform): Same.
+       (pass_graphite_transforms): Same.
+       (pass_iv_canon): Same.
+       (pass_complete_unroll): Same.
+       (pass_complete_unrolli): Same.
+       (pass_parallelize_loops): Same.
+       (pass_loop_prefetch): Same.
+       (pass_iv_optimize): Same.
+
+2010-04-06  Changpeng Fang  <changpeng.fang@amd.com>
+
+       PR middle-end/32824
+       * passes.c (init_optimization_passes): Move pass_lim before
+       pass_copy_prop and pass_dce_loop.
+
+2010-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43667
+       * config/i386/i386.c (bdesc_multi_arg): Use OPTION_MASK_ISA_XOP
+       instead of OPTION_MASK_ISA_AVX for __builtin_ia32_vpermil2p*.
+       (ix86_expand_args_builtin): Use V*_FTYPE_* enum codes instead of
+       MULTI_* defines for 4 argument vpermil2p* builtins.
+
+2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386-protos.h (x86_maybe_negate_const_int): Declare.
+       * config/i386/i386.c (x86_maybe_negate_const_int): New.
+       (x86_output_mi_thunk): Use x86_maybe_negate_const_int.
+       * config/i386/i386.md (*add<mode>_1, *addsi_1_zext, *addhi_1,
+       *addhi_1_lea, *addqi_1, *addqi_1_lea, *addqi_1_slp, *add<mode>_2,
+       *addsi_2_zext, *addhi_2, *addqi_2, *add<mode>_3, *addsi_3_zext,
+       *addhi_3, *addqi_3,*add<mode>_5, *addhi_5, *addqi_5):
+       Use x86_maybe_negate_const_int to output insn mnemonic.
+       (*adddi_4, *addsi_4, *addhi_4, *addqi_4): Ditto.  Remove overflow
+       check from instruction predicate.  Update comments.
+       * config/i386/sync.md (sync_add<mode>): Use
+       x86_maybe_negate_const_int to output insn mnemonic.
+
+2010-04-06  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/42906
+       * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Add
+       IGNORE_SELF argument.  Set visited_control_parents for fully
+       processed BBs.
+       (find_obviously_necessary_stmts): Update call of
+       mark_control_dependent_edges_necessary.
+       (propagate_necessity): Likewise.  Handle PHI edges more curefully.
+
+2010-04-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md: Remove comment about 'e' and 'E'
+       operand modifier.
+
+2010-04-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43627
+       * tree-vrp.c (extract_range_from_unary_expr): Widenings
+       of [1, +INF(OVF)] go to [1, +INF(OVF)] of the wider type,
+       not varying.
+
+2010-04-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * BASE-VER: Change to 4.6.0.
+
+       PR target/43638
+       * config/i386/i386.c (print_operand): Remove 'e' and 'E' code
+       handling.
+
+2010-04-06  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43661
+       * fold-const.c (fold_comparison): Handle X * 0 CMP 0.
+
+2010-04-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/invoke.texi (Optimize Options): Document that LTO
+       won't remove object access purely due to incompatible
+       declarations.
+
+2010-04-04  Matthias Klose  <doko@ubuntu.com>
+
+       * graphite-sese-to-poly.c (translate_scalar_reduction_to_array):
+       Initialize variable.
+
+2010-04-03  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42509
+       * alias.c (nonoverlapping_memrefs_p): For spill-slot accesses
+       require a non-NULL MEM_OFFSET.
+
+2010-04-02  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * ada/gcc-interface/Make-lang.in, alias.c, attribs.c, auto-inc-dec.c,
+       basic-block.h, bb-reorder.c, calls.c, c-common.c, cgraph.h,
+       collect2.h, config/alpha/alpha.c, config/alpha/alpha.md,
+       config/alpha/predicates.md, config/arm/arm.md,
+       config/arm/lib1funcs.asm, config/arm/neon-schedgen.ml,
+       config/avr/avr.c, config/avr/avr.md, config/bfin/bfin.c,
+       config/darwin9.h, config/darwin.c, config/darwin.h,
+       config/h8300/h8300.c, config/i386/cpuid.h, config/i386/cygming.h,
+       config/i386/cygwin.h, config/i386/mingw32.h, config/i386/msformat-c.c,
+       config/i386/sol2-10.h, config/i386/xopintrin.h, config/ia64/ia64.c,
+       config/ia64/ia64.md, config/ia64/sync.md, config/mep/mep.c,
+       config/mips/mips.md, config/mn10300/mn10300.c,
+       config/mn10300/mn10300.h, config/pa/pa.c, config/pa/pa.md,
+       config/rs6000/aix.h, config/rs6000/dfp.md,
+       config/rs6000/rs6000-builtin.def, config/rs6000/rs6000-c.c,
+       config/rs6000/vector.md, config/rtems.h, config/rx/rx.md,
+       config/s390/s390.md, config/sol2-c.c, config/sparc/sol2-bi.h,
+       config/sparc/sol2-gas.h, config/sparc/sparc.h, config/sparc/sparc.md,
+       config/sparc/sparc-protos.h, config/spu/spu.c, config/spu/spu-c.c,
+       config/t-darwin, convert.c, c.opt, c-opts.c, cp/Make-lang.in,
+       c-pretty-print.c, c-typeck.c, df-core.c, df-scan.c, diagnostic.c,
+       diagnostic.h, doc/cppopts.texi, doc/cpp.texi, doc/extend.texi,
+       doc/gimple.texi, doc/languages.texi, doc/plugins.texi, doc/rtl.texi,
+       doc/standards.texi, doc/tree-ssa.texi, doc/trouble.texi, dominance.c,
+       fold-const.c, fortran/Make-lang.in, fwprop.c, gcc-plugin.h,
+       gensupport.c, gimple.h, gimple-iterator.c, graphite.c,
+       graphite-clast-to-gimple.c, graphite-clast-to-gimple.h,
+       graphite-dependences.c, graphite-poly.c, graphite-poly.h,
+       graphite-ppl.c, graphite-ppl.h, graphite-scop-detection.c,
+       graphite-sese-to-poly.c, graphite-sese-to-poly.h, ifcvt.c, intl.c,
+       intl.h, ipa.c, ipa-cp.c, ipa-inline.c, ipa-prop.c, ipa-prop.h,
+       ipa-pure-const.c, ipa-reference.c, ipa-type-escape.c, ira-color.c,
+       ira-conflicts.c, ira-lives.c, java/Make-lang.in, lambda-code.c,
+       loop-invariant.c, lto/Make-lang.in, lto-streamer.h, lto-streamer-in.c,
+       objc/Make-lang.in, objcp/Make-lang.in, omp-low.c, optc-gen.awk,
+       opt-functions.awk, opth-gen.awk, params.def, passes.c,
+       postreload-gcse.c, print-tree.c, recog.c, regrename.c, reload.h,
+       rtl.def, sched-int.h, sched-rgn.c, sel-sched-dump.c, sese.c, sese.h,
+       store-motion.c, stor-layout.c, tree-cfgcleanup.c, tree-chrec.c,
+       tree-complex.c, tree-data-ref.c, tree.def, tree-eh.c, tree-flow.h,
+       tree-flow-inline.h, tree.h, tree-loop-distribution.c, tree-outof-ssa.c,
+       tree-parloops.c, tree-pass.h, tree-predcom.c, tree-profile.c,
+       tree-scalar-evolution.c, tree-ssa-address.c, tree-ssa-alias.c,
+       tree-ssa-coalesce.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
+       tree-ssa-dse.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
+       tree-ssa-loop-manip.c, tree-ssa-math-opts.c, tree-ssa-operands.c,
+       tree-ssa-pre.c, tree-ssa-sccvn.c, tree-ssa-structalias.c,
+       tree-ssa-uncprop.c, tree-tailcall.c, tree-vect-data-refs.c,
+       tree-vect-loop.c, tree-vectorizer.h, tree-vect-slp.c, tree-vrp.c,
+       unwind-dw2-fde-darwin.c, varpool.c: Update copyright years.
+
+2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR other/43620
+       * doc/install.texi (Prerequisites): Bump Automake version to 1.11.1.
+       * aclocal.m4: Regenerate.
+
+2010-04-02  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43629
+       * tree-ssa-ccp.c (likely_value): Reset all_undefined_operands
+       if we have seen a constant value.
+
+2010-04-02  Joseph Myers  <joseph@codesourcery.com>
+
+       * read-rtl.c (read_rtx_1): Give an error for EOF while looking for ']'.
+
+2010-04-02  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/43469
+       * arm.c (legitimize_tls_address): Adjust call to
+       gen_tls_load_dot_plus_four.
+       (arm_note_pic_base): New function.
+       (arm_cannot_copy_insn_p): Use it.
+       * thumb2.md (tls_load_dot_plus_four): Rework to avoid use of '+' in
+       constraint.
+
+2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/43531
+
+       Revert:
+       2009-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * Makefile.in ($(out_object_file)): Depend on
+       gt-$(basename $(notdir $(out_file))).h.
+
+2010-04-01  Ralf Corsépius <ralf.corsepius@rtems.org>
+
+       * config.gcc (lm32-*-rtems*): Add t-lm32.
+
+2010-04-01  Joel Sherrill <joel.sherrill@oarcorp.com>
+
+       * config.gcc: Add lm32-*-rtems*.
+       * config/lm32/rtems.h: New file.
+
+2010-04-01  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/42609
+       * config/i386/cygwin.h (CXX_WRAP_SPEC): Disable spec when -mno-cygwin.
+
+2010-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (output_compilation_unit_header): For
+       -gdwarf-4 use version 4 instead of version 3.
+       (output_line_info): For version 4 and above emit additional
+       maximum ops per insn header field.
+       (DWARF_LINE_DEFAULT_MAX_OPS_PER_INSN): Define.
+
+       * dwarf2out.c (is_c_family, is_java): Remove.
+       (lower_bound_default): New function.
+       (add_bound_info, gen_descr_array_type_die): Use it.
+
+2010-04-01  Dodji Seketeli  <dodji@redhat.com>
+
+       PR debug/43325
+       * dwarf2out.c (gen_variable_die): Allow debug info for variable
+       re-declaration when it happens in a function.
+
+2010-04-01  Aldy Hernandez  <aldyh@redhat.com>
+
+       * cgraph.c (cgraph_add_function_insertion_hook): Update comment.
+       (cgraph_remove_function_insertion_hook): Same.
+       (cgraph_call_function_insertion_hooks): Same.
+
+2010-04-01  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43614
+       * tree-ssa-address.c (copy_mem_ref_info): Copy TREE_SIDE_EFFECTS
+       and TREE_THIS_VOLATILE.
+       (copy_ref_info): Likewise.
+       * tree-ssa-operands.c (get_tmr_operands): Check TREE_THIS_VOLATILE.
+       * tree.c (build6_stat): Ignore side-effects of all but arg5
+       for TARGET_MEM_REF.  Set TREE_THIS_VOLATILE from arg5 of
+       TARGET_MEM_REF.
+
+2010-04-01  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43607
+       * ipa-type-escape.c (check_call): Do not access non-existing
+       arguments.
+
+2010-04-01  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43602
+       Revert
+       2010-03-30  Seongbae Park <seongbae.park@gmail.com>
+                   Jack Howarth <howarth@bromo.med.uc.edu>
+
+       * tree-profile.c (tree_init_ic_make_global_vars): Make static
+       variables TLS.
+
+2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Prerequisites): Document libelf usability on
+       IRIX 5/6 and Solaris 2.
+       (Specific, i?86-*-solaris2.10): No 64-bit default configuration.
+       Update GNU as, GNU ld requirements.
+       (Specific, *-*-solaris2*): Document Solaris 7 obsoletion, removal.
+       Document Sun Studio compiler download.
+       Update and simplify as, ld recommendations.
+       (Specific, *-*-solaris2.7): Note obsoletion, removal.
+
+2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (i[34567]86-*-solaris2*): Default with_arch_32,
+       with_tune_32 to pentium4.
+
+2010-04-01  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/cpuid.h (__get_cpuid_max): Move misplaced comment.
+
+2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, mips-sgi-irix5): Document IRIX 5
+       obsoletion, removal.
+       Update IDO URL.
+       Document GNU as requirement.
+       Update configure requirements.
+       (Specific, mips-sgi-irix6): Document IRIX 6 < 6.5 obsoletion, removal.
+       Recomment IRIX 6.5.18+.
+       Document IDF/IDL requirement.
+       Document GNU as requirement.
+       Document GNU ld bootstrap failure.
+       Remove freeware.sgi.com reference.
+
+2010-04-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/install.texi (Specific, alpha*-dec-osf*): Document Tru64
+       UNIX V4.0, V5.0 obsoletion, removal.
+       Remove --with-gc=simple reference.
+       Update VM requirements during bootstrap.
+       Remove -oldas bootstrap description.
+       Update binutils reference.
+       Remove comparison failure note.
+
+2010-03-31  Richard Guenther  <rguenther@suse.de>
+           Zdenek Dvorak  <ook@ucw.cz>
+           Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43464
+       * tree-ssa-copy.c (init_copy_prop): Handle loop close phi nodes
+       with multiple arguments.
+       (execute_copy_prop): Remove call to rewrite_into_loop_closed_ssa.
+
+2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-dependences.c (print_pddr): Call print_pdr with an
+       extra argument.
+       * graphite-poly.c (debug_pdr): Add an extra argument for the
+       verbosity level.
+       (print_pdr): Same.
+       (print_pbb_domain): Same.
+       (print_pbb): Same.
+       (print_scop_context): Same.
+       (print_scop): Same.
+       (print_cloog): Same.
+       (debug_pbb_domain): Same.
+       (debug_pbb): Same.
+       (print_pdrs): Same.
+       (debug_pdrs): Same.
+       (debug_scop_context): Same.
+       (debug_scop): Same.
+       (debug_cloog): Same.
+       (print_scop_params): Same.
+       (debug_scop_params): Same.
+       (print_iteration_domain): Same.
+       (print_iteration_domains): Same.
+       (debug_iteration_domain): Same.
+       (debug_iteration_domains): Same.
+       (print_scattering_function): Same.
+       (print_scattering_functions): Same.
+       (debug_scattering_function): Same.
+       (debug_scattering_functions): Same.
+       * graphite-poly.h (debug_pdr): Update declaration.
+       (print_pdr): Same.
+       (print_pbb_domain): Same.
+       (print_pbb): Same.
+       (print_scop_context): Same.
+       (print_scop): Same.
+       (print_cloog): Same.
+       (debug_pbb_domain): Same.
+       (debug_pbb): Same.
+       (print_pdrs): Same.
+       (debug_pdrs): Same.
+       (debug_scop_context): Same.
+       (debug_scop): Same.
+       (debug_cloog): Same.
+       (print_scop_params): Same.
+       (debug_scop_params): Same.
+       (print_iteration_domain): Same.
+       (print_iteration_domains): Same.
+       (debug_iteration_domain): Same.
+       (debug_iteration_domains): Same.
+       (print_scattering_function): Same.
+       (print_scattering_functions): Same.
+       (debug_scattering_function): Same.
+       (debug_scattering_functions): Same.
+
+2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (print_scattering_function_1): New.
+       (print_scattering_function): Call it.
+       (print_scop_params): Remove spaces at the end of lines.
+       (print_cloog): New.
+       (debug_cloog): New.
+       * graphite-poly.h (print_cloog): Declared.
+       (debug_cloog): Declared.
+
+2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (graphite_loop_normal_form): Add the IV bump
+       in loop->header.
+       * tree-flow.h (canonicalize_loop_ivs): Updated declaration.
+       * tree-parloops.c (gen_parallel_loop): Add the IV bump in loop->latch.
+       * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Add a new parameter
+       to switch between adding the IV bump in loop->latch or in loop->header.
+
+2010-03-31  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.c (print_scattering_function): Pretty print following
+       the scoplib format.
+       (print_pdr): Same.
+       (print_pbb_domain): Same.
+       (dump_gbb_cases): Same.
+       (dump_gbb_conditions): Same.
+       (print_pdrs): Same.
+       (print_pbb): Same.
+       (print_scop_params): Same.
+       (print_scop_context): Same.
+       (print_scop): Same.
+       (print_pbb_body): New.
+       (lst_indent_to): New.
+       (print_lst): Start new lines with a #.
+       * graphite-poly.h (pbb_bb): New.
+       (pbb_index): Use pbb_bb.
+       * graphite-ppl.c (ppl_print_powerset_matrix): Print the number of
+       disjuncts.
+       * tree-data-ref.c (dump_data_reference): Start new lines with a #.
+
+2010-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (size_of_die): For -gdwarf-4 use
+       uleb128 size instead of fixed 1 or 2 for dw_val_class_loc
+       and 0 instead of 1 for dw_val_class_flag.
+       (value_format): For -gdwarf-4 use DW_FORM_sec_offset for
+       dw_val_class_range_list, dw_val_class_loc_list,
+       dw_val_class_lineptr and dw_val_class_macptr, use
+       DW_FORM_flag_present for dw_val_class_flag and
+       DW_FORM_exprloc for dw_val_class_loc.
+       (output_die): For -gdwarf-4 print dw_val_class_loc
+       size as uleb128 instead of 1 or 2 bytes and don't print
+       anything for dw_val_class_flag.
+
+       * var-tracking.c (vt_init_cfa_base): Use cselib_lookup_from_insn
+       instead of cselib_lookup following by tweaking locs->setting_insn.
+
+       PR bootstrap/43596
+       * cselib.c (cselib_process_insn): Clear cselib_current_insn
+       even before returning from label, setjmp call or volatile asm
+       handling.
+
+2010-03-31  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43600
+       * cgraphunit.c (cgraph_output_in_order): Do not allocate
+       temporary data on stack.
+
+2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sysv4.h (PUSHSECTION_FORMAT): Remove undef.
+       (PUSHSECTION_ASM_OP): Remove.
+       (POPSECTION_ASM_OP): Remove.
+       (PUSHSECTION_FORMAT): Remove.
+       * config/sol2.h (PUSHSECTION_FORMAT): Define.
+       * config/sparc/sol2.h [!USE_GAS] (PUSHSECTION_FORMAT): Redefine.
+       * config/sol2.c (solaris_output_init_fini): Use it.
+
+2010-03-31  Jie Zhang  <jie@codesourcery.com>
+
+       PR 43574
+       * opt-functions.awk (var_type_struct): Use signed char type
+       for simple variables.
+
+2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sol2.c: Include output.h.
+       (solaris_assemble_visibility): New function.
+       * config/t-sol2 (sol2.o): Add output.h dependency.
+       * config/sol2-protos.h (solaris_assemble_visibility): Declare.
+       * config/sol2.h [!USE_GAS] (TARGET_ASM_ASSEMBLE_VISIBILITY):
+       Redefine.
+
+2010-03-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43580
+       * config/arm/arm.c (arm_save_coproc_regs): Use Pmode instead of
+       V2SImode or XFmode on PRE_DEC.
+
+       PR debug/43557
+       * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
+       BLKmode.
+
+2010-03-31  Jie Zhang  <jie@codesourcery.com>
+
+       PR 43562
+       * reload.h (caller_save_initialized_p): Declare.
+       * toplev.c (backend_init_target): Don't call
+       init_caller_save but set caller_save_initialized_p to false.
+       * caller-save.c (caller_save_initialized_p): Define.
+       (init_caller_save): Check caller_save_initialized_p.
+       * ira.c (ira): Call init_caller_save if flag_caller_saves.
+
+2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/39048
+       * config.gcc (i[34567]86-*-solaris2*): Add i386/t-fprules-softfp
+       and soft-fp/t-softfp to tmake_file.
+       * config/i386/sol2.h (LIBGCC2_HAS_TF_MODE): Redefine.
+       (LIBGCC2_TF_CEXT): Define.
+       (TF_SIZE): Define.
+
+2010-03-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42977
+       * cselib.c (n_useless_values): Document handling of debug locs.
+       (n_useless_debug_values, n_debug_values): New variables.
+       (new_elt_loc_list): Don't add to debug values, keep count.
+       (promote_debug_loc): New.
+       (cselib_reset_table): Zero new variables.
+       (entry_and_rtx_equal_p): Promote debug locs.
+       (discard_useless_locs): Increment n_useless_debug_values for
+       debug values.
+       (remove_useless_values): Adjust n_useless_values and n_debug_values
+       with n_useless_debug_values.
+       (add_mem_for_addr): Promote debug locs.
+       (cselib_lookup_mem): Likewise.
+       (cselib_lookup_addr): Renamed to...
+       (cselib_lookup_addr_1): ... this.  Promote debug locs.  Don't call...
+       (cselib_log_lookup): ... this.  Turn into...
+       (cselib_lookup_addr): ... new wrapper.
+       (cselib_lookup_from_insn): New.
+       (cselib_invalidate_regno): Increment n_useless_debug_values for
+       debug values.
+       (cselib_invalidate_mem): Likewise.
+       (cselib_process_insn): Take n_deleted and n_debug_values into
+       account to guard remove_useless_value call.
+       (cselib_finish): Zero n_useless_debug_values.
+       * cselib.h (cselib_lookup_from_insn): Declare.
+       * sched-deps.c (sched_analyze_1): Use cselib_lookup_from_insn.
+       (sched_analyze_2): Likewise.
+
+2010-03-30  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (use_narrower_mode_test, use_narrower_mode): New
+       functions.
+       (adjust_mems): Replace narrowing SUBREG of expression containing
+       just PLUS, MINUS, MULT and ASHIFT of registers and constants
+       with operations in the narrower mode.
+
+       PR debug/43593
+       * var-tracking.c (dataflow_set_clear_at_call): Invalidate just
+       regs_invalidated_by_call instead all call_used_reg_set registers.
+
+2010-03-30  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43430
+       * tree-vect-slp.c (vect_get_and_check_slp_defs): Replace type
+       pointer comparisons with types_compatible_p.
+       * tree-vect-stmts.c (vectorizable_call): Same.
+       (vectorizable_condition): Same.
+
+2010-03-30  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_emit_prologue): Omit issuing a dynamic
+       stack check if the mask would be zero.
+
+2010-03-30  Seongbae Park <seongbae.park@gmail.com>
+           Jack Howarth <howarth@bromo.med.uc.edu>
+
+       * tree-profile.c (tree_init_ic_make_global_vars): Make static
+       variables TLS.
+
+2010-03-30  Joseph Myers  <joseph@codesourcery.com>
+
+       PR other/25232
+       * libgcc-std.ver (GCC_4.5.0): Define version.  Include __unordxf2
+       and __unordtf2.
+       * config/bfin/libgcc-bfin.ver (GCC_4.5.0): Define version.
+       Include ___unordxf2 and ___unordtf2.
+       * config/i386/libgcc-glibc.ver: Do not define inheritance from
+       GCC_4.4.0 here.
+
+2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>
+
+       * config/lm32/t-lm32: New file.
+       * config.gcc: Use the above file when targetting lm32.
+
+2010-03-28  Duncan Sands  <baldrick@free.fr>
+
+       * Makefile.in (PLUGIN_HEADERS): Add except.h.
+
+2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43431
+       * tree-vect-loop.c (vect_estimate_min_profitable_iters):
+       Improve vectorization cost model diagnostic.
+
+2010-03-29  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43436
+       * tree-vect-data-refs.c (vect_analyze_data_refs): When
+       compute_data_dependences_for_loop returns false, early exit
+       and output an extra diagnostic for the failed data reference
+       analysis.
+
+2010-03-29  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43560
+       * tree-ssa-loop-im.c (ref_always_accessed_p): Add store_p parameter.
+       (can_sm_ref_p): Treat stores to readonly locations as trapping.
+
+2010-03-29  Jie Zhang  <jie@codesourcery.com>
+
+       PR 43564
+       * toplev.c (process_options): Set optimization_default_node
+       and optimization_current_node.
+       * opts.c (decode_options): Don't set optimization_default_node
+       and optimization_current_node.
+
+2010-03-29  Ralf Corsépius  <ralf.corsepius@rtems.org>
+
+       * config/rtems.h: Abandon -qrtems_debug.
+
+2010-03-28  Jan Hubicka  <jh@suse.cz>
+
+       PR tree-optimization/43505
+       * cgraph.c (cgraph_clone_node): When clonning a clone, replacement
+       map should not be copied.
+
+2010-03-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/41674
+       * cgraphunit.c (cgraph_build_static_cdtor): If target doesn't have
+       cdtors, set DECL_PRESERVE_P.
+       * ipa.c (cgraph_externally_visible_p): Return true if declaration
+       should be preseved.
+
+2010-03-27  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR tree-optimization/43528
+       * stor-layout.c (place_field): Check that constant fits into
+       unsigned HWI when skipping calculation of MS bitfield layout.
+
+2010-03-27  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/43391
+       * varasm.c (make_decl_rtl): Deal with COMMON flag to make
+       notice_global_symbol work.
+
+2010-03-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dwarf2_debug_hooks): Use dwarf2out_function_decl
+       instead of dwarf2out_decl.
+       (struct var_loc_node): Remove section_label field.
+       (dwarf2out_function_decl): New function.
+       (dwarf2out_var_location): Don't set section_label field.
+       (dwarf2out_begin_function): Don't empty decl_loc_table here.
+
+2010-03-26  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR tree-optimization/43544
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
+       First argument for builtin vectorized function hook is now a
+       tree to be able to distinguish between machine specific and
+       standard builtins.
+       * targhooks.c (default_builtin_vectorized_function): Ditto.
+       * targhooks.h (default_builtin_vectorized_function): Ditto.
+       * target.h (struct gcc_target): Ditto.
+       * tree-vect-stmts.c (vectorizable_function): Ditto.
+       * config/i386/i386.c (ix86_builtin_vectorized_function): Ditto.
+       * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function):
+       Ditto.
+
+2010-03-26  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/43381
+       * c-decl.c (get_parm_info): Assert that decl going in OTHERS has a
+       nested binding iff it is a FUNCTION_DECL.
+       (store_parm_decls_newstyle): Pass nested=true to bind for
+       FUNCTION_DECLs amongst parameters.
+
+2010-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (vt_expand_loc_callback): Don't run
+       cselib_expand_value_rtx_cb in dummy mode if
+       cselib_dummy_expand_value_rtx_cb returned false.
+
+       * var-tracking.c (emit_note_insn_var_location): For one part
+       notes with offset 0, don't add EXPR_LIST around the location.
+       * dwarf2out.c (loc_descriptor, dw_loc_list_1,
+       add_location_or_const_value_attribute): Adjust for that change.
+
+       PR debug/43540
+       * dwarf2out.c (reg_save): For DW_CFA_expression put regnum
+       into first operand and location into second.
+       (dw_cfi_oprnd1_desc): Return dw_cfi_oprnd_reg_num instead of
+       dw_cfi_oprnd_loc for DW_CFA_expression.
+       (dw_cfi_oprnd2_desc): Return dw_cfi_oprnd_loc for DW_CFA_expression.
+       (output_cfa_loc, output_cfa_loc_raw): For DW_CFA_expression
+       assume first argument is regnum and second argument is location.
+
+2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42113
+       * config/alpha/alpha.md (*cmp_sadd_si): Change mode
+       of scratch register to DImode.  Split to DImode comparison operator.
+       Use SImode subreg of scratch register in the multiplication.
+       (*cmp_sadd_sidi): Ditto.
+       (*cmp_ssub_si): Ditto.
+       (*cmp_ssub_sidi): Ditto.
+
+2010-03-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43524
+       * config/i386/i386.c (ix86_expand_prologue) [TARGET_STACK_PROBE]:
+       Remove invalid assert and wrong comment.
+
+2010-03-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43516
+       * flags.h (final_insns_dump_p): New extern.
+       * final.c (final_insns_dump_p): New variable.
+       (rest_of_clean_state): Set it before -fdump-final-insns=
+       dumping, clear afterwards.
+       * print-rtl.c (print_rtx): If final_insns_dump_p don't dump
+       MEM_ALIAS_SET on MEMs.
+
+2010-03-26  David S. Miller  <davem@davemloft.net>
+
+       * configure.ac: Fix sparc GOTDATA_OP bug check.
+       * configure: Rebuild.
+
+2010-03-26  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/rs6000.md (cmptf_internal2): Correct comparison.
+
+2010-03-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/tm.texi (Sections): Document TLS_COMMON_ASM_OP,
+       TLS_SECTION_ASM_FLAG.
+
+2010-03-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43511
+       * config/i386/i386.c (ix86_code_end): Set DECL_WEAK if TARGET_MACHO.
+       Clear first_function_block_is_cold.
+
+       PR c/43385
+       * gimplify.c (gimple_boolify): Only recurse on __builtin_expect
+       argument if the argument is truth_value_p.
+
+2010-03-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       * config/rs6000/constraints.md: Update copyright year for my changes.
+
+       PR target/43484
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): If r0 is
+       used in reg+reg addressing, swap registers.
+
+2010-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43293
+       * target.h (struct gcc_target): Add code_end hook.
+       * target-def.h (TARGET_ASM_CODE_END): Define to hook_void_void
+       if not yet defined.
+       (TARGET_ASM_OUT): Add TARGET_ASM_CODE_END.
+       * toplev.c (compile_file): Call targetm.asm_out.code_end
+       hook before unwind info/debug info output.
+       * config/i386/winnt.c (i386_pe_file_end): Don't call ix86_file_end.
+       * config/i386/linux.h (NEED_INDICATE_EXEC_STACK): Don't define.
+       (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
+       * config/i386/linux64.h (NEED_INDICATE_EXEC_STACK): Don't define.
+       (TARGET_ASM_FILE_END): Define to file_end_indicate_exec_stack.
+       * config/i386/i386.c (ix86_file_end): Renamed to...
+       (ix86_code_end): ... this.  Make static.  Don't call
+       file_end_indicate_exec_stack.  Emit unwind info using
+       final_start_function/final_end_function.
+       (darwin_x86_file_end): Remove.
+       (TARGET_ASM_CODE_END): Define.
+       * config/i386/i386.h (TARGET_ASM_FILE_END,
+       NEED_INDICATE_EXEC_STACK): Don't define.
+       * config/i386/darwin.h (darwin_x86_file_end): Remove prototype.
+       (TARGET_ASM_FILE_END): Define to darwin_file_end.
+       * config/i386/i386-protos.h (ix86_file_end): Remove prototype.
+       * doc/tm.texi (TARGET_ASM_CODE_END): Document.
+
+       PR target/43498
+       * config/i386/i386.c (x86_output_mi_thunk): Call final_start_function
+       at the beginning and final_end_function at the end.
+       * config/s390/s390.c (s390_output_mi_thunk): Likewise.
+
+2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
+       and Sun as TLS syntax.
+       (TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+       * varasm.c (TLS_SECTION_ASM_FLAG): Define default.
+       (default_elf_asm_named_section): Use it.
+       * config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
+       (i386_output_dwarf_dtprel): Likewise.
+       (output_addr_const_extra): Likewise.
+       (output_pic_addr_const): Lowercase @GOTTPOFF.
+       (output_addr_const_extra): Likewise.
+       (output_pic_addr_const): Lowercase @GOTNTPOFF.
+       (output_addr_const_extra): Likewise.
+       (output_pic_addr_const): Lowercase @INDNTPOFF.
+       (output_addr_const_extra): Likewise.
+       (output_pic_addr_const): Lowercase @NTPOFF.
+       (output_addr_const_extra): Likewise.
+       (output_pic_addr_const): Lowercase @TPOFF.
+       (output_addr_const_extra): Likewise.
+       * config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase @TLSGD.
+       (*tls_global_dynamic_64): Likewise.
+       (*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
+       (*tls_local_dynamic_base_64): Lowercase @TLSLD.
+
+       * defaults.h (TLS_COMMON_ASM_OP): Provide default.
+       (ASM_OUTPUT_TLS_COMMON): Use it.
+       * config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
+
+       PR target/38118
+       * config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to tm_file.
+       * config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
+       * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
+       * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
+       * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
+       (ASM_DECLARE_OBJECT_NAME) [!USE_GAS]: Redefine.
+
+2010-03-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/i386.c (override_options): Don't accept
+       -mtls-dialect=sun any longer.
+       * config/i386/i386.h (TARGET_SUN_TLS): Define as 0.
+       * config/i386/i386.md (*tls_global_dynamic_32_sun): Remove.
+       (*tls_local_dynamic_base_32_sun): Likewise.
+       * config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
+
+2010-03-24  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43508
+       * dwarf2out.c (mem_loc_descriptor): Don't ICE on
+       VEC_{MERGE,SELECT,CONCAT,DUPLICATE}.
+
+       PR debug/43479
+       * ira.c (adjust_cleared_regs): New function.
+       (update_equiv_regs): Adjust cleared_regs in DEBUG_INSNs.
+
+       PR debug/19192
+       PR debug/43479
+       * cfgexpand.c (gimple_assign_rhs_to_tree): Also set TREE_BLOCK
+       from gimple_block.
+       * expr.c (expand_expr_real): Restore previous
+       curr_insn_source_location and curr_insn_block after
+       expand_expr_real_1 call.
+       (expand_expr_real_1) <case SSA_NAME>: Call expand_expr_real
+       instead of expand_expr_real_1.
+
+2010-03-23  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/43413
+       * ira-color.c (setup_allocno_available_regs_num): Count prohibited
+       hard regs too.
+
+2010-03-22  James E. Wilson  <wilson@codesourcery.com>
+
+       PR target/43348
+       * ia64.md (call_nogp, call_value_nogp, sibcall_nogp, call_gp,
+       call_value_gp, sibcall_gp): Use 's' constraint not 'i'.
+
+2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_target_string): Add -mfma.
+       Fix a typo in comment.
+
+2010-03-22  Mike Stump  <mikestump@comcast.net>
+
+       PR target/23071
+       * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
+       Don't overly align based upon packed packed fields.
+
+2010-03-22  Jason Merrill  <jason@redhat.com>
+
+       * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:
+       Use () rather than [], and move before the element type.
+
+2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/configfiles.texi (Configuration Files): Removed
+       fixinc/Makefile*, intl/Makefile.*.
+       * doc/makefile.texi: Fixed markup. Abstract from version
+       control system used.
+       (Makefile): Removed obsolete gcc/java/parse.y example.
+       * doc/sourcebuild.texi: Likewise.
+       (Top Level): Added config, gnattools, libdecnumber, libgcc,
+       libgomp, libssp.  Removed fastjar.
+       (Miscellaneous Docs): Clarify location.
+       Added COPYING3, COPYING3.LIB.
+       (Front End Directory): Moved Make-lang.in entry to new subsubsection.
+
+2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/38085
+       * config/i386/i386.c (x86_function_profiler)
+       [!NO_PROFILE_COUNTERS]: Fix typo.
+       * config/i386/gmon-sol2.c (_mcleanup) [__x86_64__]: Use call
+       instead of callq.
+
+2010-03-22  Janis Johnson  <janis187@us.ibm.com>
+           Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Test Directives): Split into six
+       subsections, with most of the current text in new subsections
+       Directives, Selectors, and Final Actions.
+       (Directives): Split list of test directives into multiple
+       subsubsections.
+       (Selectors): Describe use and syntax of selectors.
+       (Effective-Target Keywords): Describe all existing keywords.
+       (Add Options): Describe features for dg-add-options.
+       (Require Support): Describe variants of dg-require-support.
+       (Final Actions): Describe commands to use in dg-final.
+
+2010-03-22  Michael Matz  <matz@suse.de>
+
+       PR middle-end/43475
+       * recog.c (validate_replace_rtx_group): Replace also in
+       REG_EQUAL and REG_EQUIV notes.
+
+2010-03-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43390
+       * tree-vect-stmts.c (get_vectype_for_scalar_type): Make
+       sure vector extracts are type correct.
+
+2010-03-22  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/40106
+       * builtins.c (expand_builtin_pow): Expand pow (x, 1.5) as
+       x * sqrt (x) even when optimizing for size if the target
+       has native support for sqrt.
+
+2010-03-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * varasm.c (make_decl_rtl_for_debug): Also clear
+       flag_mudflap for the duration of make_decl_rtl call.
+
+       PR debug/43443
+       * var-tracking.c (add_cselib_value_chains): Remove ASM_OPERANDS
+       locs from preserved VALUEs.
+
+2010-03-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/42718
+       * pa.md (movmemsi): Set align to one if zero.
+       (movmemdi): Likewise.
+
+2010-03-21  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/42321
+       * arm.c (arm_output_epilogue): Correctly match VFP pop instructions
+       with their corresponding prologue pushes.
+
+2010-03-20  Andrew Pinski  <pinskia@gmail.com>
+
+       PR target/43156
+       * config/spu/spu.c (spu_expand_prologue): Don't emit NOTE_INSN_DELETED
+       at the begining or end.
+       (spu_expand_epilogue): Likewise.
+
+2010-03-20  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/43438
+       * combine.c (make_extraction): Properly zero-/sign-extend an
+       extraction of the low part of a CONST_INT.  Also handle
+       CONST_DOUBLE.
+
+2010-03-19  Mike Stump  <mikestump@comcast.net>
+
+       * config/i386/darwin.h (SUBTARGET32_DEFAULT_CPU): Add.
+       * config/i386/i386.c (SUBTARGET32_DEFAULT_CPU): Add.
+       (override_options): Use SUBTARGET32_DEFAULT_CPU.
+
+2010-03-19  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
+
+       PR c/43211
+       * c-decl.c (grokparms): Set arg_types to NULL_TREE if there was
+       an error.
+
+2010-03-19  Bernd Schmidt  <bernds@codesourcery.com>
+
+       PR rtl-optimization/42258
+       * ira-lives.c (check_and_make_def_conflict): Ignore conflict for a
+       use that may match DEF.
+
+       PR target/40697
+       * optabs.c (avoid_expensive_constant): Use rtx_cost to find out
+       the cost of loading the constant rather than assuming
+       COSTS_N_INSNS (1).
+       * config/arm/arm.c (thumb1_rtx_costs) <case CONST_INT>: If the
+       outer code is AND, do the same tests as the andsi3 expander and
+       return COSTS_N_INSNS (1) if and is cheap.
+
+       * optabs.c (avoid_expensive_constant): Fix formatting.
+
+2010-03-19  Michael Matz  <matz@suse.de>
+
+       PR c++/43116
+       * attribs.c (decl_attributes): When rebuilding a function pointer
+       type use the same qualifiers as the original pointer type.
+
+2010-03-19  Martin Jambor  <mjambor@suse.cz>
+
+       * doc/gimple.texi (Logical Operators): Describe is_gimple_ip_invariant
+       and is_gimple_ip_invariant_address.
+
+2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       Revert
+       2009-10-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       * config/arm/arm.c (arm_override_options): Turn off
+       flag_dwarf2_cfi_asm for AAPCS variants.
+
+2010-03-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/43399
+       * config/arm/arm.c (emit_multi_reg_push): Update comments.
+       Use PRE_MODIFY instead of PRE_DEC.
+       (emit_sfm): Use PRE_MODIFY instead of PRE_DEC.
+       (vfp_emit_fstmd): Likewise.
+
+2010-03-19  Michael Matz  <matz@suse.de>
+
+       PR target/43305
+       * builtins.c (expand_builtin_interclass_mathfn,
+       expand_builtin_signbit): Use maybe_emit_unop_insn, emit libcalls
+       if that fails.
+
+2010-03-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43415
+       * tree-ssa-pre.c (phi_translate): Split out worker to ...
+       (phi_translate_1): ... this.
+       (phi_translate): Move all caching here.  Cache all NARY
+       and REFERENCE translations.
+
+2010-03-19  David S. Miller  <davem@davemloft.net>
+
+       With help from Eric Botcazou.
+       * config/sparc/sparc.c: Include dwarf2out.h.
+       (emit_pic_helper): Delete.
+       (pic_helper_symbol_name): Delete.
+       (pic_helper_emitted_p): Delete.
+       (pic_helper_needed): New.
+       (USE_HIDDEN_LINKONCE): Define to '1' if HAVE_GAS_HIDDEN else '0'.
+       (get_pc_thunk_name): New.
+       (load_pic_register): Remove 'delay_pic_helper' arg.  Use
+       get_thunk_pc_name and ggc_strdup to generate PIC thunk symbol.
+       Set pic_helper_needed to true.  Don't call emit_pic_helper.
+       (sparc_expand_prologue): Update load_pic_register call.
+       (sparc_output_mi_thunk): Likewise.
+       (sparc_file_end): Emit a hidden comdat symbol for the PIC
+       thunk if possible.  Output CFI information as needed.
+
+2010-03-18  Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+           Jack Howarth <howarth@bromo.med.uc.edu>
+
+       PR target/36399
+       * config/i386/i386.h: Fix ABI on darwin x86-32.
+
+2010-03-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * tree.h: Declare make_decl_rtl_for_debug.
+       * varasm.c (make_decl_rtl_for_debug): New.
+       * dwarf2out.c (rtl_for_decl_location): Call it.
+       * cfgexpand.c (expand_debug_expr): Call it.
+
+2010-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43399
+       * var-tracking.c (adjust_mems) <case POST_MODIFY>: Allow BLKmode
+       mem_mode.
+
+       PR bootstrap/43403
+       * var-tracking.c (vt_init_cfa_base): Do nothing if
+       cfa_base_rtx would be hard_frame_pointer_rtx or non-fixed register.
+
+2010-03-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42873
+       * var-tracking.c (canonicalize_vars_star): New.
+       (dataflow_post_merge_adjust): Use it.
+
+2010-03-18  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43058
+       * var-tracking.c (non_suitable_const): New function.
+       (add_uses): For DEBUG_INSNs with constants, don't record any
+       value, instead just the constant value itself.
+       (compute_bb_dataflow) <case MO_VAL_LOC>: If PAT_VAR_LOCATION_LOC
+       is not VAR_LOC_UNKNOWN_P, set var to the constant.
+       (emit_notes_in_bb): Likewise.
+       (emit_note_insn_var_location): For onepart variables if
+       cur_loc is a VOIDmode constant, use DECL_MODE.
+
+2010-03-18  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/42450
+       * cgraph.h (cgraph_redirect_edge_call_stmt_to_callee): Declare.
+       * cgraphunit.c (cgraph_materialize_all_clones): Update calls in
+       all non-clones.  Moved call redirection...
+       (cgraph_redirect_edge_call_stmt_to_callee): ...to this new function.
+       (cgraph_materialize_all_clones): Dispose of all
+       combined_args_to_skip bitmaps.
+       (verify_cgraph_node): Do not check for edges pointing to wrong
+       nodes in inline clones.
+       * tree-inline.c (copy_bb): Call
+       cgraph_redirect_edge_call_stmt_to_callee.
+       * ipa.c (cgraph_remove_unreachable_nodes): Call
+       cgraph_node_remove_callees even when there are used clones.
+
+2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/libgcc-glibc.ver: Make GCC_4.5.0 inherit GCC_4.4.0.
+
+2010-03-18  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/43383
+       * config/i386/libgcc-glibc.ver: Add __extendxftf2 to GCC_4.5.0
+       for 32bit.
+
+2010-03-18  Michael Matz  <matz@suse.de>
+
+       PR middle-end/43419
+       * builtins.c (expand_builtin_pow): Don't transform pow(x, 0.5)
+       into sqrt(x) if we need to preserve signed zeros.
+
+2010-03-18  Steven Bosscher  <steven@gcc.gnu.org>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR rtl-optimization/43360
+       * loop-invariant.c (move_invariant_reg): Remove the REG_EQUAL
+       note if we don't know its invariant status.
+
+2010-03-18  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/43402
+       * tree-cfgcleanup.c (cleanup_control_expr_graph): Don't follow
+       PHI chains of ssa names registered for update.
+
+2010-03-17  Peter Bergner  <bergner@vnet.ibm.com>
+
+       PR target/42427
+       * config/rs6000/rs6000.c (rs6000_split_multireg_move): Add support for
+       non-offsettable and pre_modify update addressing.
+       * config/rs6000/dfp.md (*movdd_hardfloat32): Make the "0", "1"
+       and "2" alternatives "#".
+       (*movdd_softfloat32): Make all alternatives "#";
+       * config/rs6000/rs6000.md (DIFD): New define_mode_iterator.
+       (*movdf_hardfloat32): Make the "0", "1" and "2" alternatives "#".
+       (*movdf_softfloat32): Make all alternatives "#";
+       (movdi): Use the new DIFD mode iterator to create a common splitter
+       for movdi, movdf and movdd patterns.
+
+2010-03-18  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       * common.opt (dumpdir): Remove redundant tab.
+
+2010-03-17  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43347
+       * tree-sra.c (create_access_replacement): Set TREE_NO_WARNING when the
+       original base is DECL_ARTIFICIAL or DECL_IGNORED_P.
+
+2010-03-17  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-optimization/42216
+       * regrename.c (create_new_chain): New function, broken out from...
+       (scan_rtx_reg): ... here.  Call it.  Handle the case where we are
+       appending a use to an empty chain.
+       (build_def_use): Remove previous changes that convert OP_INOUT to
+       OP_OUT operands; instead detect the case where an OP_INOUT operand
+       uses a previously untracked register and create an empty chain for it.
+
+2010-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/extend.texi (Function Attributes): Rewrite unfinished
+       sentence in ms_abi documentation.
+
+2010-03-17  Alan Modra  <amodra@gmail.com>
+
+       * config/rs6000/linux64.opt (mprofile-kernel): Use profile_kernel var.
+       * config/rs6000/linux64.h (TARGET_PROFILE_KERNEL): Define.
+       (SUBSUBTARGET_OVERRIDE_OPTIONS): Don't use SET_PROFILE_KERNEL.
+       * config/rs6000/rs6000.c (SET_PROFILE_KERNEL): Don't define.
+
+2010-03-16  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/43365
+       * tree-eh.c (replace_goto_queue): Also replace in the eh_seq.
+       (lower_try_finally): Save and restore eh_seq around the expansion
+       of the try-finally.
+
+2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
+
+       * graphite-sese-to-poly.c (split_reduction_stmt): Skip debug
+       statements before splitting block.
+
+2010-03-16  Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * doc/sourcebuild.texi (Testsuites): Fix markup.
+       Use pathnames relative to gcc/testsuite.
+       (Test Directives): Move description of how timeout is determined.
+       (Ada Tests): Favor gnat.exp over ada/acats/tests/gcc.
+       (C Tests): Correct gcc.misc-tests directory.
+       Framework tests now live in gcc.test-framework.
+
+2010-03-16  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43379
+       * tree-cfg.c (gimple_merge_blocks): When propagating virtual PHI
+       operands make sure to merge SSA_NAME_OCCURS_IN_ABNORMAL_PHI properly.
+
+2010-03-16  Aldy Hernandez  <aldyh@redhat.com>
+           Alexandre Oliva  <aoliva@redhat.com>
+
+       PR tree-optimization/42917
+       * lambda-code.c (remove_iv): Skip debug statements.
+       (lambda_loopnest_to_gcc_loopnest): Likewise.
+       (not_interesting_stmt): Debug statements are not interesting.
+
+2010-03-16  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43051
+       PR debug/43092
+       * cselib.c (cselib_preserve_constants,
+       cfa_base_preserved_val): New static variables.
+       (preserve_only_constants): New function.
+       (cselib_reset_table): If cfa_base_preserved_val is non-NULL, don't
+       clear its REG_VALUES.  If cselib_preserve_constants, don't
+       empty the whole hash table, but preserve there VALUEs with constants,
+       cfa_base_preserved_val and cfa_base_preserved_val plus constant.
+       (cselib_preserve_cfa_base_value): New function.
+       (cselib_invalidate_regno): Don't invalidate cfa_base_preserved_val.
+       (cselib_init): Change argument to int bitfield.  Set
+       cselib_preserve_constants to whether CSELIB_PRESERVE_CONSTANTS
+       is in it.
+       (cselib_finish): Clear cselib_preserve_constants and
+       cfa_base_preserved_val.
+       * cselib.h (enum cselib_record_what): New enum.
+       (cselib_init): Change argument to int.
+       (cselib_preserve_cfa_base_value): New prototype.
+       * postreload.c (reload_cse_regs_1): Adjust cselib_init caller.
+       * dse.c (dse_step1): Likewise.
+       * cfgcleanup.c (thread_jump): Likewise.
+       * sched-deps.c (sched_analyze): Likewise.
+       * gcse.c (local_cprop_pass): Likewise.
+       * simplify-rtx.c (simplify_replace_fn_rtx): Add argument to callback.
+       If FN is non-NULL, call the callback always and whenever it returns
+       non-NULL just return that.  Only do rtx_equal_p if FN is NULL.
+       * rtl.h (simplify_replace_fn_rtx): Add argument to callback.
+       * combine.c (propagate_for_debug_subst): Add old_rtx argument,
+       compare from with old_rtx and if it isn't rtx_equal_p, return NULL.
+       * Makefile.in (var-tracking.o): Depend on $(RECOG_H).
+       * var-tracking.c: Include recog.h.
+       (bb_stack_adjust_offset): Remove.
+       (vt_stack_adjustments): Don't call it, instead just gather the
+       adjustments using insn_stack_adjust_offset_pre_post on each bb insn.
+       (adjust_stack_reference): Remove.
+       (compute_cfa_pointer): New function.
+       (hard_frame_pointer_adjustment, cfa_base_rtx): New static variables.
+       (struct adjust_mem_data): New type.
+       (adjust_mems, adjust_mem_uses, adjust_mem_stores, adjust_insn): New
+       functions.
+       (get_address_mode): New function.
+       (replace_expr_with_values): Use it.
+       (use_type): Don't do cselib_lookup for VAR_LOC_UNKNOWN_P.
+       Use get_address_mode.  For cfa_base_rtx return MO_CLOBBER.
+       (adjust_sets): Remove.
+       (add_uses): Don't add extra MO_VAL_USE for cfa_base_rtx plus constant.
+       Use get_address_mode.
+       (get_adjusted_src): Remove.
+       (add_stores): Don't call it.  Never reuse expr SET.  Don't add extra
+       MO_VAL_USE for cfa_base_rtx plus constant.  Use get_address_mode.
+       (add_with_sets): Don't call adjust_sets.
+       (fp_setter, vt_init_cfa_base): New functions.
+       (vt_initialize): Change return type to bool.  Move most of pool etc.
+       initialization to the beginning of the function from end.  Pass
+       CSELIB_RECORD_MEMORY | CSELIB_PRESERVE_CONSTANTS to cselib_init.
+       If !frame_pointer_needed, call vt_stack_adjustment before mos
+       vector is filled, call vt_init_cfa_base if argp/framep has been
+       eliminated to sp.  If frame_pointer_needed and argp/framep has
+       been eliminated to hard frame pointer, set
+       hard_frame_pointer_adjustment and call vt_init_cfa_base after
+       encountering fp setter in the prologue.  For MO_ADJUST, call
+       log_op_type before pusing the op into mos vector, not afterwards.
+       Call adjust_insn before cselib_process_insn/add_with_sets,
+       call cancel_changes (0) afterwards.
+       (variable_tracking_main_1): Adjust for vt_initialize calling
+       vt_stack_adjustments and returning whether it succeeded or not.
+
+2010-03-15  Aldy Hernandez  <aldyh@redhat.com>
+
+       * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Skip
+       debug statements.
+
+2010-03-15  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (dwarf2out_frame_debug): Don't assert drap_reg
+       has been set.
+       (based_loc_descr): Use DW_OP_fbreg for vdrap_reg even when
+       drap_reg has not been set.
+
+2010-03-15  Michael Matz  <matz@suse.de>
+
+       PR middle-end/43300
+       * tree-outof-ssa.c (emit_partition_copy): New argument sizeexp,
+       use it to expand block copies.
+       (insert_partition_copy_on_edge, insert_rtx_to_part_on_edge,
+       insert_part_to_rtx_on_edge): Adjust callers of emit_partition_copy.
+       (insert_value_copy_on_edge): Use store_expr for BLKmode values.
+
+2010-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43367
+       * tree-cfg.c (gimple_can_merge_blocks_p): Simplify PHI
+       elimination check.
+
+2010-03-15  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43317
+       * ipa-struct-reorg.c (create_new_general_access): Update stmt.
+
+2010-03-15  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43141
+       * tree-sra.c (create_abstract_origin): New function.
+       (modify_function): Call create_abstract_origin.
+
+2010-03-15  Chris Demetriou  <cgd@google.com>
+
+       * Makefile.in (stmp-int-hdrs): Don't chmod include/stdint.h if it
+       wasn't copied.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43354
+       * graphite-sese-to-poly.c (rewrite_close_phi_out_of_ssa): Do not
+       call insert_out_of_ssa_copy for default definitions.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (my_long_long): Defined.
+       (gcc_type_for_cloog_iv): Use it instead of long_long_integer_type_node.
+       * graphite-sese-to-poly.c (my_long_long): Defined.
+       (scop_ivs_can_be_represented): Use it.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * doc/invoke.texi: Fix documentation of graphite-max-nb-scop-params,
+       graphite-max-bbs-per-function, and loop-block-tile-size.
+       * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Replace "maximal"
+       with "maximum".
+       (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Same.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop): Remove
+       forward declaration.
+       * graphite-sese-to-poly.c (reduction_phi_p): Remove FIXME comment.
+       (add_upper_bounds_from_estimated_nit): New.
+       (build_loop_iteration_domains): Use it.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * doc/invoke.texi (PARAM_LOOP_BLOCK_TILE_SIZE): Document.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43306
+       * tree-chrec.c (evolution_function_right_is_integer_cst): CHREC_RIGHT
+       should be an INTEGER_CST.  Also handle CASE_CONVERT.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite.c (graphite_initialize): To bound the number of bbs per
+       function, use PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
+       * params.def (PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION): Declared.
+       * doc/invoke.texi: Document it.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Do not return bool.
+       * graphite-sese-to-poly.h (build_poly_scop): Same.
+
+2010-03-13  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (build_poly_scop): Limit scops following
+       the number of parameters in the scop.  Use as an upper bound
+       PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS.
+       * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Declared.
+       * doc/invoke.texi: Document it.
+
+2010-03-13  Jerry Quinn  <jlquinn@optonline.net>
+
+       * Makefile.in (TEXI_GCCINT_FILES): Remove c-tree.texi.
+       * doc/c-tree.texi: Remove.
+       * doc/generic.texi: Merge c-tree.texi here.
+       * doc/gccint.texi (Trees): Remove menu entry.
+       (c-tree.texi): Remove @include.
+       * doc/rtl.texi (Reading RTL): Update pxref from Trees to GENERIC.
+       * doc/languages.texi (Reading RTL): Ditto.
+
+2010-03-12  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/42869
+       * config/ia64/sync.md (sync_compare_and_swap): Move memory fence.
+
+2010-03-12  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR middle-end/42431
+       * gcc/config/rs6000/rs6000.c (rs6000_emit_move): Delete band-aid
+       code added to work around reload clobbering CONST insns.
+
+2010-03-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * cselib.c (LONG_TERM_PRESERVED_VALUE_P): Remove.
+       (cselib_preserve_definitely, cselib_clear_preserve): Remove.
+       (cselib_preserve_only_values): Remove retain argument, don't
+       traverse hash table with cselib_{preserve_definitely,clear_preserve}.
+       * cselib.h (cselib_preserve_only_values): Remove retain argument.
+       * var-tracking.c (micro_operation): Move insn field before union.
+       Add DEF_VEC_O and DEF_VEC_ALLOC_O for this type.
+       (struct variable_tracking_info_def): Remove n_mos field, change
+       mos into a vector of micro_operations.
+       (count_uses, count_uses_1, count_stores, count_with_sets): Remove.
+       (bb_stack_adjust_offset, log_op_type, add_uses, add_stores,
+       compute_bb_dataflow, emit_notes_in_bb): Adjust for VTI (bb)->mos
+       changing into a vector.
+       (add_with_sets): Likewise.  Ensure MO_VAL_USE uops from add_stores
+       come before all other uops generated by add_stores.
+       (vt_add_function_parameters): Adjust for cselib_preserve_only_values
+       argument removal.
+       (vt_initialize): Likewise.  Adjust for VTI (bb)->mos changing into
+       a vector.  Run just one pass over the bbs instead of separate counting
+       and computation phase.
+       (vt_finalize): Free VTI (bb)->mos vector instead of array.
+
+       PR debug/43329
+       * tree-inline.c (remap_decls): Put old_var rather than origin_var
+       into *nonlocalized_list vector.
+       * dwarf2out.c (gen_formal_parameter_die): Call decl_ultimate_origin
+       even if origin is non-NULL.
+       (gen_variable_die): Likewise.
+       (process_scope_var): Don't change origin.
+       (gen_decl_die): Likewise.
+       * tree-cfgcleanup.c (remove_forwarder_block): Check single_pred_p
+       before adding new edges instead of after it, fix moving over
+       debug stmts.
+
+2010-03-11  David S. Miller  <davem@davemloft.net>
+
+       * configure.ac (gcc_cv_as_cfi_advance_working): Skip a multiple
+       of four.
+       * configure: Rebuild.
+
+2010-03-11  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43257
+       * tree.c (assign_assembler_name_if_neeeded): New function.
+       (free_lang_data_in_cgraph): Assembler name assignment moved to the
+       above new function.
+       * tree.h (assign_assembler_name_if_neeeded): Declare.
+       * cgraphunit.c (cgraph_analyze_function): Create an assembler name for
+       the function if needed.
+
+2010-03-11  Chris Demetriou  <cgd@google.com>
+
+       * Makefile.in (stmp-int-hdrs): Make include/unwind.h,
+       include/stdint-gcc.h, and include/stdint.h world-readable.
+
+2010-03-11  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43255
+       * tree-vrp.c (process_assert_insertions_for): Do not insert
+       asserts for trivial conditions.
+
+2010-03-11  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       PR tree-optimization/43280
+       * tree-ssa-math-opts.c (find_bswap_1): Modify symbolic number
+       generation.  Move calculation of size out of the if branch.
+       (find_bswap): Modify compare number generation.
+
+2010-03-11  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/43200
+       * lto-streamer-in.c (maybe_fixup_decls): Simplify.
+       (input_gimple_stmt): Fixup handled component types during
+       operand read.  Also fix up decls in ADDR_EXPRs.
+
+2010-03-10  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sol2-bi.h (CC1_SPEC): Default to -mcpu=v9 for -m32.
+       * config/sparc/t-sol2-64 (MULTILIB_DIRNAMES): Use sparcv8plus.
+
+2010-03-10  Jan Hubicka  <jh@suse.cz>
+
+       PR c/43288
+       * ipa.c (function_and_variable_visibility) Normalize COMMON bits.
+       * varasm.c (get_variable_section): Don't do that here...
+       (make_decl_rtl): ... and here.
+       (do_assemble_alias): Produce decl RTL.
+       (assemble_alias): Likewise.
+
+2010-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43290
+       * reg-notes.def (REG_CFA_SET_VDRAP): New note.
+       * dwarf2out.c (dwarf2out_frame_debug_expr): Remove rule 20 - setting
+       of fde->vdrap_reg.
+       (dwarf2out_frame_debug): Handle REG_CFA_SET_VDRAP note.
+       (based_loc_descr): Only express drap or vdrap regno based expressions
+       using DW_OP_fbreg when not optimizing.
+       * config/i386/i386.c (ix86_get_drap_rtx): When not optimizing,
+       make the vDRAP = DRAP assignment RTX_FRAME_RELATED_P and add
+       REG_CFA_SET_VDRAP note.
+
+2010-03-10  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR tree-optimization/43236
+       * tree-loop-distribution.c (generate_memset_zero): Fix off-by-one
+       error in calculation of base address in reverse iteration case.
+       (generate_builtin): Take number of latch executions if the statement
+       is in the latch.
+
+2010-03-10  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR middle-end/42859
+       * tree-eh.c: Include pointer-set.h.
+       (lower_eh_dispatch): Filter out duplicate case labels and
+       remove the unneeded edge when the label is unused.  Return
+       true when some edges are removed.
+       (execute_lower_eh_dispatch): When any lowering resulted in
+       removing an edge, also delete unreachable blocks.
+
+2010-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43287
+       * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+       UNSPEC_MACHOPIC_OFFSET.
+
+2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
+
+       PR target/43294
+       * config/m68k/m68k.c (TARGET_DELEGITIMIZE_ADDRESS): Define.
+       (m68k_delegitimize_address): New function.
+
+2010-03-09  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43299
+       * dwarf2out.c (const_ok_for_output_1): Return 1 for UNSPECs.
+
+       PR debug/43299
+       * var-tracking.c (adjust_sets): New function.
+       (count_with_sets, add_with_sets): Use it.
+       (get_adjusted_src): New inline function.
+       (add_stores): Use it.
+
+       PR debug/43304
+       * var-tracking.c (vt_expand_loc_callback) <case SUBREG>: If dummy,
+       call cselib_dummy_expand_value_rtx_cb instead of
+       cselib_expand_value_rtx_cb.
+
+       PR debug/43293
+       * config/i386/t-i386 (i386.o): Depend on debug.h and dwarf2out.h.
+       * config/i386/i386.c: Include debug.h and dwarf2out.h.
+       (ix86_file_end): If dwarf2out_do_cfi_asm (), emit .cfi_startproc
+       and .cfi_endproc around the pic thunks.
+       (output_set_got): For TARGET_DEEP_BRANCH_PREDICTION pic, ensure
+       all queued unwind info register saves are saved before the call.
+       For !TARGET_DEEP_BRANCH_PREDICTION pic, ensure the call is
+       considered as sp-=4 for unwind info and the pop as sp+=4 which
+       also clobbers dest, but doesn't actually restore it.
+
+       PR debug/43290
+       * config/i386/i386.c (ix86_get_drap_rtx): Don't set
+       RTX_FRAME_RELATED_P.
+
+2010-03-09  Jie Zhang  <jie@codesourcery.com>
+
+       * config/arm/arm.md (thumb_mulsi3_v6): Remove trailing
+       whitespaces in output template.
+
+2010-03-09  Jie Zhang  <jie@codesourcery.com>
+
+       * ira-lives.c (check_and_make_def_use_conflict): Don't fall
+       out array boundary.
+
+2010-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (check_gcc_parallelize): Run dg-torture.exp and
+       builtins.exp in a separate job.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (add_param_constraints): Use
+       lower_bound_in_type and upper_bound_in_type.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (add_param_constraints): Use sizetype
+       instead of unsigned_type_node.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+           Reza Yazdani  <reza.yazdani@amd.com>
+
+       PR middle-end/43065
+       * graphite-sese-to-poly.c (add_param_constraints): Insert bounds
+       on pointer type parameters.
+
+2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       PR middle-end/42644
+       PR middle-end/42130
+       * graphite-clast-to-gimple.c (clast_to_gcc_expression): Also
+       handle conversions from pointer to integers.
+       (gcc_type_for_cloog_iv): Choose the smalles signed integer as an
+       induction variable, to be able to work with code generated by CLooG.
+       * graphite-sese-to-poly.c (scop_ivs_can_be_represented): New.
+       (build_poly_scop): Bail out if we cannot codegen a loop.
+
+2010-03-08  Tobias Grosser  <grosser@fim.uni-passau.de>
+
+       * graphite-clast-to-gimple.c (translate_clast): Do not short-cut
+       code generation with gloog_error.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * sese.c (expand_scalar_variables_ssa_name): Add new argument for type.
+       Call fold_convert on all the returned values.
+       (expand_scalar_variables_expr): Pass to
+       expand_scalar_variables_ssa_name the type of the resulting expression.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-ppl.c (ppl_min_for_le_polyhedron): Renamed
+       ppl_min_for_le_pointset.
+       Use ppl_Pointset_Powerset_C_Polyhedron_minimize.
+       * graphite-ppl.h (ppl_min_for_le_polyhedron): Update declaration.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-dependences.c (map_into_dep_poly): Removed.
+       (dependence_polyhedron_1): Use combine_context_id_scat.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-poly.h (struct poly_scattering): Add layout documentation.
+       (struct poly_bb): Same.
+       (combine_context_id_scat): New.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42326
+       * sese.c (name_defined_in_loop_p): Return false for default
+       definitions.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-clast-to-gimple.c (find_cloog_iv_in_expr): Simplify
+       and clean up the logic.
+
+2010-03-08  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * graphite-sese-to-poly.c (add_param_constraints): Enabled: remove
+       early return.
+
+2010-03-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (remove_cselib_value_chains): Define only for
+       ENABLE_CHECKING.
+       (dataflow_set_preserve_mem_locs, dataflow_set_remove_mem_locs,
+       delete_slot_part, emit_notes_for_differences_1): Don't call
+       remove_cselib_value_chains here.
+       (set_slot_part, emit_notes_for_differences_2): Don't call
+       add_cselib_value_chains here.
+       (preserved_values): New vector.
+       (preserve_value): New function.
+       (add_uses, add_stores, vt_add_function_parameters): Use it
+       instead of cselib_preserve_value.
+       (changed_values_stack): New vector.
+       (check_changed_vars_0): New function.
+       (check_changed_vars_1, check_changed_vars_2): Use it.
+       (emit_notes_for_changes): Call set_dv_changed (*, false) on all
+       changed_values_stack VALUEs.
+       (vt_emit_notes): For all preserved_values call
+       add_cselib_value_chains.  If ENABLE_CHECKING call
+       remove_cselib_value_chains before verifying value_chains is empty.
+       Initialize and free changed_values_stack.
+       (vt_initialize): Initialize preserved_values.
+       (vt_finalize): Free preserved_values.
+
+2010-03-08  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43269
+       * tree-ssa-dse.c (dse_possible_dead_store_p): Fix post-dom
+       region detection.
+
+2010-03-08  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-prop.h (struct ipa_param_descriptor): Removed the called field.
+       (ipa_is_param_called): Removed.
+       * ipa-prop.c (ipa_note_param_call): Do not set the called flag.
+       (ipa_print_node_params): Do not print the called flag.
+       (ipa_write_node_info): Do not stream the called flag.
+       (ipa_read_node_info): Likewise.
+
+2010-03-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43176
+       * Makefile.in (var-tracking.o): Depend on pointer-set.h.
+       * cselib.c (struct expand_value_data): Add dummy field.
+       (cselib_expand_value_rtx, cselib_expand_value_rtx_cb): Initialize
+       dummy to false.
+       (cselib_dummy_expand_value_rtx_cb): New function.
+       (cselib_expand_value_rtx_1): If evd->dummy is true, don't allocate
+       any rtl.
+       * cselib.h (cselib_dummy_expand_value_rtx_cb): New prototype.
+       * var-tracking.c: Include pointer-set.h.
+       (variable): Change n_var_parts to char from int.  Add
+       cur_loc_changed and in_changed_variables fields.
+       (variable_canonicalize): Remove.
+       (shared_var_p): New inline function.
+       (unshare_variable): Maintain cur_loc_changed and
+       in_changed_variables fields.  If var was in changed_variables,
+       replace it there with new_var.  Just copy cur_loc instead of
+       resetting it to something else.
+       (variable_union): Don't recompute cur_loc.  Use shared_var_p.
+       (dataflow_set_union): Don't call variable_canonicalize.
+       (loc_cmp): If both x and y are DEBUG_EXPRs, compare uids
+       of their DEBUG_EXPR_TREE_DECLs.
+       (canonicalize_loc_order_check): Verify that cur_loc is NULL
+       and in_changed_variables and cur_loc_changed is false.
+       (variable_merge_over_cur): Clear cur_loc, in_changed_variables
+       and cur_loc_changed.  Don't update cur_loc here.
+       (variable_merge_over_src): Don't call variable_canonicalize.
+       (dataflow_set_preserve_mem_locs): Use shared_var_p.  When
+       removing loc that is equal to cur_loc, clear cur_loc,
+       set cur_loc_changed and ensure variable_was_changed is called.
+       (dataflow_set_remove_mem_locs): Use shared_var_p.  Only
+       compare pointers in cur_loc check, if it is equal to loc,
+       clear cur_loc and set cur_loc_changed.  Don't recompute cur_loc here.
+       (variable_different_p): Remove compare_current_location argument,
+       don't compare cur_loc.
+       (dataflow_set_different_1): Adjust variable_different_p caller.
+       (variable_was_changed): If dv had some var in changed_variables
+       already, reset in_changed_variables flag for it and propagate
+       cur_loc_changed over to the new variable.  On empty var
+       always set cur_loc_changed.  Set in_changed_variables on whatever
+       var is added to changed_variables.
+       (set_slot_part): Clear cur_loc_changed and in_changed_variables.
+       Use shared_var_p.  When removing loc that is equal to cur_loc,
+       clear cur_loc and set cur_loc_changed.  If cur_loc is NULL at the
+       end, don't set it to something else, just call variable_was_changed.
+       (delete_slot_part): Use shared_var_p.  When cur_loc equals to
+       loc being removed, clear cur_loc and set cur_loc_changed.
+       Set cur_loc_changed if all locations have been removed.
+       (struct expand_loc_callback_data): New type.
+       (vt_expand_loc_callback): Add dummy mode in which no rtxes are
+       allocated.  Always create SUBREGs if simplify_subreg failed.
+       Prefer to use cur_loc, when that fails and still in
+       changed_variables (and seen first time) recompute it.  Set
+       cur_loc_changed of variables which had to change cur_loc and
+       compute elcd->cur_loc_changed if any of the subexpressions used
+       had to change cur_loc.
+       (vt_expand_loc): Adjust to pass arguments in
+       expand_loc_callback_data structure.
+       (vt_expand_loc_dummy): New function.
+       (emitted_notes): New variable.
+       (emit_note_insn_var_location): For VALUEs and DEBUG_EXPR_DECLs
+       that weren't used for any other decl in current
+       emit_notes_for_changes call call vt_expand_loc_dummy to update
+       cur_loc.  For -fno-var-tracking-assignments, set cur_loc to
+       first loc_chain location if NULL before.  Always use just
+       cur_loc instead of first loc_chain location.  When cur_loc_changed
+       is false, when not --enable-checking=rtl just don't emit any note.
+       When rtl checking, compute the note and assert it is the same
+       as previous note.  Clear cur_loc_changed and in_changed_variables
+       at the end before removing from changed_variables.
+       (check_changed_vars_3): New function.
+       (emit_notes_for_changes): Traverse changed_vars to call
+       check_changed_vars_3 on each changed var.
+       (emit_notes_for_differences_1): Clear cur_loc_changed and
+       in_changed_variables.  Recompute cur_loc of new_var.
+       (emit_notes_for_differences_2): Clear cur_loc if new variable appears.
+       (vt_emit_notes): Initialize and destroy emitted_notes.
+
+2010-03-07  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       PR rtl-optimization/42220
+       * regrename.c (scan_rtx) <case STRICT_LOW_PART, ZERO_EXTRACT>:
+       Use verify_reg_tracked to determine if we should use OP_OUT rather
+       than OP_INOUT.
+       (build_def_use): If we see an in-out operand for a register that we
+       know nothing about, treat is an output if possible, fail the block if
+       not.
+
+2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42897
+       * gimple-iterator.c (gsi_remove): Propagate only PHI DEFs removed
+       permanently.
+
+2010-03-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42897
+       * tree-vect-loop.c (vect_transform_loop): Kill out-of-loop debug
+       uses of relevant DEFs that are dead outside the loop too.
+
+2010-03-06  Alexandre Oliva <aoliva@redhat.com>
+
+       * var-tracking.c (dataflow_set_merge): Swap src and src2.
+       Reverted:
+       2010-01-13  Jakub Jelinek  <jakub@redhat.com>
+       PR debug/41371
+       * var-tracking.c (values_to_unmark): New variable.
+       (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
+       values_to_unmark vector.  Moved body to...
+       (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
+       instead queue it into values_to_unmark vector.
+       (vt_find_locations): Free values_to_unmark vector.
+
+2010-03-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * Makefile.in (PLUGINCC, PLUGINCFLAGS): New variables.
+       (site.exp): Export them when plugins are enabled.
+
+2010-03-05  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42326
+       * tree-chrec.c (chrec_fold_plus_1): Do not handle convert expressions
+       that contain scevs.
+       (chrec_fold_multiply): Same.
+
+2010-03-04  Andrew Pinski  <andrew_pinski@caviumnetworks.com>
+
+       PR c/43248
+       * c-decl.c (build_compound_literal): Return early if init is
+       an error_mark_node.
+
+2010-03-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43164
+       PR tree-optimization/43191
+       * tree-sra.c (type_consists_of_records_p): Reject records with
+       zero-size bit-fields at the end.
+
+2010-03-04  Mike Stump  <mikestump@comcast.net>
+
+       * Makefile.in (TAGS): Remove *.y.
+
+2010-03-04  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/40761
+       * tree-ssa-pre.c (compute_antic): Walk reverse postorder
+       in reverse order.
+       (my_rev_post_order_compute): New function.
+       (init_pre): Call it.
+
+2010-03-04  Changpeng Fang  <changpeng.fang@amd.com>
+
+       PR middle-end/43209
+       * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Do not
+       decrease the cost of an IV candidate when the cost is infinite.
+
+2010-03-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/extend.texi (Vector Extensions, X86 Built-in Functions):
+       Use '3DNow!' for the extension of that name, ensure normal space
+       after the string.
+       * doc/invoke.texi (i386 and x86-64 Options): Likewise.
+
+2010-03-03  Jeff Law  <law@redhat.com>
+
+       * PR middle-end/32693
+       * expmed.c (store_bit_field_1): Use gen_lowpart_SUBREG rather
+       than gen_rtx_SUBREG.
+       (extract_bit_field_1): Likewise.
+
+2010-03-03  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (Test directives): Document that arguments
+       include-opts and exclude-opts are now optional for dg-skip-if,
+       dg-xfail-if, dg-xfail-run-if, and dg-shouldfail.
+
+2010-03-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/12909
+       * cgraph.h (varpool_node): Add extra_name field.
+       * varpool.c (varpool_extra_name_alias): New.
+       (varpool_assemble_decl): Emit extra name aliases.
+       (varpool_mark_needed_node): Look past an extra name alias.
+       * lto-streamer.h (LTO_tags): Add LTO_var_decl_alias.
+       * lto-streamer-in.c (lto_input_tree): Read it.
+       * lto-streamer-out.c (output_unreferenced_globals): Write it.
+
+2010-03-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config.gcc (sparc64-*-solaris2*, sparc-*-solaris2*): Merge into...
+       (sparc*-*-solaris2*): ...this.
+
+2010-03-03  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43229
+       * cfgexpand.c (expand_debug_expr): Handle DOT_PROD_EXPR,
+       WIDEN_MULT_EXPR and WIDEN_SUM_EXPR.  Return NULL without
+       ICE for vector expressions, ADDR_SPACE_CONVERT_EXPR,
+       FIXED_CONVERT_EXPR, OBJ_TYPE_REF and WITH_SIZE_EXPR.
+
+       PR debug/43237
+       * dwarf2out.c (add_bound_info): If a decl bound doesn't have decl_die,
+       fallthrough to default handling, just with want_address 0 instead of 2.
+       For single element lists, add_AT_loc directly, otherwise create an
+       artificial variable DIE and stick location list to it.
+
+       PR debug/43177
+       * var-tracking.c (loc_cmp): Don't assert VALUEs have the same mode.
+       (VAL_EXPR_HAS_REVERSE): Define.
+       (reverse_op): New function.
+       (add_stores): For reversible operations add an extra MO_VAL_USE.
+
+2010-03-02  Jason Merrill  <jason@redhat.com>
+
+       * c-pretty-print.c (pp_c_specifier_qualifier_list): Print vector size.
+
+2010-03-02  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config.gcc (sparc-*-linux*): Do not include sparc/gas.h.
+       (sparc64-*-linux*): Likewise.
+       (sparc64-*-solaris2*): Include assembler files before linker ones.
+       (sparc-*-solaris2*): Simplify and reorder to match previous case.
+       * config/sparc/gas.h: Delete.
+       * config/sparc/sol2-64.h: Add copyright notice.
+       * config/sparc/sol2-gas-bi.h: Likewise.
+       * config/sparc/sol2-gld.h: Likewise.
+       * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Delete.
+       * config/sparc/sol2.h (TARGET_ASM_NAMED_SECTION): Redefine.
+       * config/sparc/sol2-gas.h (TARGET_ASM_NAMED_SECTION): Likewise.
+       * config/sparc/sparc.c (TARGET_ASM_ALIGNED_SI_OP): Never redefine.
+       (sparc_elf_asm_named_section): Rename into...
+       (sparc_solaris_elf_asm_named_section): ...this.  Always define.
+
+2010-03-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/alpha/alpha.c (override_options): Fix -mtune error message.
+
+2010-03-02  Jeff Law  <law@redhat.com>
+
+       PR middle-end/42431
+       * reload1.c (rtx_p, substitute_stack): Declare.
+       (substitute): Record addresses of changed rtxs.
+       (gen_reload_chain_without_interm_reg_p): Don't use copy_rtx anymore.
+       Restore the original rtx when complete.
+       (reload): Free subsitute_stack when complete.
+
+2010-03-02  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/gccint.texi (menu): Add Testsuites as a chapter.
+       * doc/sourcebuild.texi (Testsuites): Move up a level to be a
+       new chapter.
+       (Test Idioms, Test Directives, Ada Tests, C Tests, libgcj Tests,
+       LTO Testing, gcov Testing, profopt Testing, compat Testing,
+       Torture Tests): Change from subsection to section.
+
+2010-03-02  Jakub Jelinek  <jakub@redhat.com>
+           Steven Bosscher  <steven@gcc.gnu.org>
+
+       * var-tracking.c (vt_initialize): Scan insns in ebb chunks
+       instead of bb.
+
+2010-03-02  Reza Yazdani  <reza.yazdani@amd.com>
+
+       PR middle-end/42640
+       * tree-loop-distribution.c (update_phis_for_loop_copy): Replaced
+       the assignment from the new induction variable to the assignment
+       of the value from the original loop PHI function.
+
+2010-03-01  Janis Johnson  <janis187@us.ibm.com>
+           Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * doc/sourcebuild.texi (Test directives): Clarify options to
+       dg-skip-if.
+
+2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (gcc_cv_as_cfi_directive) [i?86-*-solaris*]:
+       Disable cfi directives unless GCC and gas agree on using read-only
+       .eh_frame sections for 64-bit.
+       * configure: Regenerate.
+
+2010-03-01  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43220
+       * tree-ssa-ccp.c (optimize_stack_restore): Do not optimize
+       BUILT_IN_STACK_{SAVE,RESTORE} around alloca.
+
+2010-03-01  Richard Guenther  <rguenther@suse.de>
+           Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/41250
+       * gimplify.c (gimplify_body): Unset DECL_HAS_VALUE_EXPR_P on
+       gimplified parameters.
+
+2010-03-01  Christian Bruel  <christian.bruel@st.com>
+
+       * except.c (dw2_build_landing_pads): set LABEL_PRESERVE_P.
+
+2010-03-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/linux64.h (ASM_SPEC): Use SPEC_32 and SPEC_64.
+
+2010-03-01  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43213
+       * expr.c (expand_assignment): Use the alias-oracle to tell
+       if the rhs aliases the result decl.
+
+2010-03-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR pch/14940
+       * config/host-solaris.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Redefine
+       to sol_gt_pch_get_address.
+       (TRY_EMPTY_VM_SPACE): Define for all combinations of 32 and
+       64-bit, SPARC and x86.
+       (sol_gt_pch_get_address): New function.
+
+2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
+
+       * toplev.h (inform_n, error_n): Declare.
+       * diagnostic.c (inform_n, error_n): New function.
+
+2010-03-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * cfgexpand.c (expand_used_vars): If an artificial non-ignored var
+       has no rtl yet when processing local_decls, queue it and recheck
+       if deferred stack allocation hasn't assigned it rtl.
+
+2010-02-28  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (unspec_bbr_uid): New.
+       (gen_block_redirect): Use it instead of INSN_UID.
+       (gen_far_branch): Likewise.
+
+2010-02-28  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/darwin.h (TARGET_SUBTARGET32_ISA_DEFAULT): Make
+       it the same as TARGET_SUBTARGET64_ISA_DEFAULT.
+
+2010-02-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * doc/invoke.texi (Warning Options, RX Options): Fix typos.
+       (Warning Options): -Wno-conversion-null is valid for
+       Objective-C++ as well.
+       * doc/tm.texi (Named Address Spaces): Likewise.
+       * doc/plugins.texi (Plugins): Replace TABs with spaces.
+       * doc/tree-ssa.texi (Tree SSA): Likewise.
+
+2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/43202
+       * config.gcc: Don't enable SSE math for i[34567]86-*-darwin*
+       by default.  Don't set the default arch for
+       i[34567]86-*-darwin*|x86_64-*-darwin*.
+
+2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/43202
+       * config.gcc: Enable SSE math for i[34567]86-*-darwin* by
+       default.  Set the default 32bit/64bit archs with $with_arch
+       instead of $arch for i[34567]86-*-*|x86_64-*-* targets.
+
+2010-02-27  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43186
+       * params.def (PARAM_MAX_UNROLL_ITERATIONS): New param.
+       * doc/invoke.texi (max-completely-peel-loop-nest-depth): Document.
+       * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Limit
+       unroller iterations.
+
+2010-02-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc: Set the default 32bit/64bit archs if 64bit ISA is
+       required and i[34567]86-*-* targets don't support 64bit ISA.
+
+2010-02-26  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR ada/43096
+       * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
+       the same alias set.
+
+2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc: Set the default arch at least to Prescott for
+       i[34567]86-*-darwin* and Pentium 4 for i[34567]86-*-* targets
+       if SSE math is enabled.
+
+2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * diagnostic.c (diagnostic_initialize): Update.
+       (diagnostic_report_diagnostic): Test inhibit_notes_p for
+       informative notes.
+       * diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
+       (diagnostic_inhibit_notes): New.
+       * toplev.c (process_options): inhibit notes with -fcompare-debug.
+
+2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c/20631
+       * doc/cpp.texi: Use c90 instead of c89 and gnu90 instead of gnu89.
+       * doc/standards.texi: Likewise.
+       * doc/extend.texi: Likewise.
+       * doc/trouble.texi: Likewise.
+       * doc/cppopts.texi: Likewise.
+       * doc/install.texi: Likewise.
+       * c.opt (std=c90,std=gnu90): New options.
+       * c-opts.c (c_common_handle_option): Handle them.
+
+2010-02-26  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c/24577
+       * c-decl.c (undeclared_variable): Use an informative note.
+
+2010-02-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43186
+       * gimple.h (gimple_fold): Remove.
+       * gimple.c (gimple_fold): Remove.  Inline into single user ...
+       * tree-cfgcleanup.c (cleanup_control_expr_graph): ... here.
+       Try harder for conditions.
+
+2010-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43190
+       * function.c (used_types_insert): Don't skip through named pointer
+       types.  Don't use TYPE_MAIN_VARIANT if the original type has a name
+       and it is different from the main variant's type.
+
+2010-02-26  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.md (sminsi3): Remove bogus alternative.
+
+2010-02-26  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc: Support --with-fpmath=sse for x86.
+
+       * config/i386/ssemath.h: New.
+
+       * doc/install.texi (--with-fpmath=sse): Documented.
+
+2010-02-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43188
+       * tree-vect-stmts.c (get_vectype_for_scalar_type): Do not build
+       vector types of over-aligned element type.
+
+2010-02-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43175
+       * config/i386/i386.c (expand_vec_perm_blend): Use correct
+       operands in V8HImode subregs.  Fix operand order in VEC_MERGE rtx.
+
+2010-02-26  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       * doc/invoke.texi (-fvar-tracking-assignments): Fix typo.
+
+2010-02-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * Makefile.in (var-tracking.o): Depend on $(DIAGNOSTIC_H).
+       * var-tracking.c: Include diagnostic.h.
+       (debug_dv): New function.
+       (dump_var): Print DEBUG_EXPR_DECLs as D#N instead of D.-N.
+
+       PR debug/43160
+       * var-tracking.c (dv_onepart_p): Return true for DEBUG_EXPR_DECLs.
+       (add_value_chain, add_value_chains, remove_value_chain,
+       remove_value_chains): Handle DEBUG_EXPRs.
+       (check_changed_vars_1, check_changed_vars_2): Handle DEBUG_EXPR_DECLs.
+
+       PR debug/43161
+       * regcprop.c (struct queued_debug_insn_change): New type.
+       (struct value_data_entry): Add debug_insn_changes field.
+       (struct value_data): Add n_debug_insn_changes field.
+       (debug_insn_changes_pool): New variable.
+       (free_debug_insn_changes, apply_debug_insn_changes,
+       cprop_find_used_regs_1, cprop_find_used_regs): New functions.
+       (kill_value_one_regno): Call free_debug_insn_changes if needed.
+       (init_value_data): Clear debug_insn_changes and n_debug_insn_changes
+       fields.
+       (replace_oldest_value_reg): Don't change DEBUG_INSNs, instead queue
+       changes for them.
+       (copyprop_hardreg_forward_1): Don't call apply_change_group for
+       DEBUG_INSNs.  For a real insn, if there are queued DEBUG_INSN
+       changes, call cprop_find_used_regs via note_stores.
+       (copyprop_hardreg_forward): When copying vd from predecessor
+       which has any queued DEBUG_INSN changes, make sure the pointers are
+       cleared.  At the end call df_analyze and then if there are any
+       DEBUG_INSN changes queued at the end of some basic block for still
+       live registers, apply them.
+       (pass_cprop_hardreg): Set TODO_df_finish in todo_flags_finish.
+
+2010-02-25  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config.gcc (i[34567]86-*-* | x86_64-*-*): Split long line.
+       (arm*-*-*): Ditto.
+
+2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc: Set arch/cpu for i[34567]86-*-*|x86_64-*-*
+       targets.  Set the default with_cpu/with_arch from arch/cpu.
+       Allow x86-64 and native for with_cpu/with_arch.
+
+2010-02-25  Nicolas Benoit  <nbenoit@tuxfamily.org>
+
+       * ebitmap.c: Change calls to verify_popcount with calls to
+       sbitmap_verify_popcount.
+       (ebitmap_clear_bit): Fixed map->cacheindex test and
+       map>cache update when bit clearing results in an empty
+       element.
+
+2010-02-25  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/43154
+       * config/rs6000/vector.md (VEC_64): New iterator for V2DF, V2DI.
+       (vec_interleave_high<mode>): Rename from vec_interleave_highv2df
+       and support both V2DF and V2DI modes.
+       (vec_interleave_low<mode>): Rename from vec_interleave_lowv2df and
+       support both V2DF and V2DI modes.
+       (general): Delete trailing whitespace from a few patterns.
+
+       * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+       V2DF/V2DI interleave high/low builtins.
+
+       * config/rs6000/rs6000-builtin.def (VSX_BUILTIN_VEC_MERGE*): Add
+       new VSX builtins.
+
+       * config/rs6000/rs6000.c (bdesc_2arg): Add support for V2DF/V2DI
+       interleave high/low functions.
+
+2010-02-25  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/extend.texi (Symbol-Renaming Pragmas): Fix spelling of
+       #pragma extern_prefix.
+
+2010-02-25  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43166
+       * cfgexpand.c (expand_debug_expr) <case VAR_DECL>: If mode is
+       BLKmode, assert op0 is a MEM and just adjust its mode.
+
+       PR debug/43165
+       * cfgexpand.c (expand_debug_expr): Don't call simplify_gen_subreg
+       if bitpos isn't multiple of mode's bitsize.
+
+2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * c.opt (-ftemplate-depth=): New.
+       (-ftemplate-depth-): Deprecate.
+       * optc-gen.awk: Handle -ftemplate-depth=.
+       * opth-gen.awk: Likewise.
+       * c-opts.c (c_common_handle_option): Likewise.
+       * doc/invoke.texi (-ftemplate-depth-): Replace with -ftemplate-depth=.
+
+2010-02-24  Jason Merrill  <jason@redhat.com>
+
+       * doc/invoke.texi: Improve -Wabi and -fabi-version docs.
+
+2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * cfg.c (alloc_aux_for_block): Remove inline.
+       (alloc_aux_for_edge): Likewise.
+
+2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc: Fix typo in mips-sgi-irix6.[0-4]* obsoletion.
+
+2010-02-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/i386/sol2.h (NO_DBX_BNSYM_ENSYM): Define.
+       * config/i386/sol2-gas.h: New file.
+       * config.gcc (i[34567]86-*-solaris2*): Use it.
+
+2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c/43128
+       * c-typeck.c (ep_convert_and_check): New.
+       (build_conditional_expr): Use it.
+       (build_binary_op): Likewise.
+
+2010-02-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * regcprop.c (copyprop_hardreg_forward_1): Don't call df_insn_rescan.
+
+       PR debug/43150
+       * gimplify.c (gimplify_type_sizes): Clear DECL_IGNORED_P for VLA
+       bounds even for -O+.
+       * var-tracking.c (track_expr_p): If !need_rtl, don't mandate
+       expr needs to have DECL_NAME set.
+
+2010-02-24  Nick Clifton  <nickc@redhat.com>
+
+       * config/mep/mep.c: Include gimple.h.
+       (mep_function_uses_sp): Delete unused function.
+       (mep_gimplify_va_arg_expr): Change types of pre_p and post_p
+       parameters.  Use unsigned integers to count args.  Return a
+       NULL_RTX instead of an error_mark_node.  Toidy up formatting.
+
+2010-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43107
+       * config/i386/i386.c (avx_vpermilp_parallel): Reject indexes
+       greater or equal to nelt instead of 2 * nelt.
+       (expand_vec_perm_1): When op0 and op1 are equal, mask indexes
+       with nelt - 1.
+
+2010-02-23  Jason Merrill  <jason@redhat.com>
+
+       PR debug/42800
+       * cfgexpand.c (expand_used_vars): Keep artificial non-ignored vars
+       in cfun->local_decls even if they have register types.
+
+       PR c++/42837
+       * stor-layout.c (place_field): Don't warn about unnecessary
+       DECL_PACKED if the type is packed.
+
+2010-02-23  Jakub Jelinek  <jakub@redhat.com>
+
+       PR target/43139
+       * config/i386/i386.c (ix86_delegitimize_address): Delegitimize all
+       GOTOFF relocs, even when the base reg isn't pic pointer.
+
+2010-02-23  Michael Matz  <matz@suse.de>
+
+       PR debug/43077
+       * cfgexpand (expand_debug_expr): Expand TERed ssa names in place.
+       (expand_gimple_basic_block): Generate and use debug temps if there
+       are debug uses left after the last real use of TERed ssa names.
+       Unlink debug immediate uses when they are expanded.
+
+2010-02-23  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 43123
+       * config/i386/i386.c (override_options): Reorganise to provide
+       better error messages.
+
+2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43083
+       * graphite-scop-detection.c (create_single_exit_edge): Move
+       the call to find_single_exit_edge to....
+       (create_sese_edges): ...here.  Don't handle multiple edges
+       exiting the function.
+       (build_graphite_scops): Don't handle multiple edges
+       exiting the function.
+
+2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43097
+       * sese.c (get_rename): Assert that old_name is an SSA_NAME.
+       (rename_variables_in_stmt): Continue when the use is not an SSA_NAME.
+
+2010-02-22  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/43026
+       * sese.c (expand_scalar_variables_expr): Handle COMPONENT_REF.
+
+2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c++/43126
+       * c-typeck.c (convert_arguments): Print declaration location.
+       * c-common.c (validate_nargs): Rename as
+       builtin_function_validate_nargs.
+       (check_builtin_function_arguments): Update.
+
+2010-02-22  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/43045
+       * tree-inline.c (declare_return_variable): Use the type of
+       the call stmt lhs if available.
+
+2010-02-22  Duncan Sands  <baldrick@free.fr>
+
+       * passes.c (register_pass): Always consider all pass lists when
+       ref_pass_instance_number is zero.
+
+2010-02-22  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42749
+       * tree-tailcall.c (adjust_return_value_with_ops): Drop update
+       parameter.  Do arithmetic in the original type.
+       (update_accumulator_with_ops): Likewise.
+       (adjust_accumulator_values): Adjust.
+
+2010-02-22  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.md ("movqi"): Re-add the mem->mem alternative.
+       (QI to BLKmode splitter): New splitter.
+
+2010-02-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (initial_ix86_tune_features): Turn on
+       X86_TUNE_INTER_UNIT_MOVES for m_ATOM.
+
+2010-02-22  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vect-slp.c (vect_slp_analyze_bb): Fix typo.
+
+2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       Migrate crti, crtn, crtbegin, crtend build rules to libgcc.
+       * config/mmix/t-mmix (EXTRA_MULTILIB_PARTS): Don't set.
+       ($(T)crti.o, $(T)crtn.o): Remove rules.
+
+2010-02-21  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/35259
+       * doc/invoke.texi (-fassociative-math): Document that this
+       option is automatically enabled for Fortran.
+
+2010-02-20  David S. Miller  <davem@davemloft.net>
+
+       * configure.ac: Test if linker and assembler properly support
+       GOTDATA_OP relocations.
+       * configure: Rebuild.
+       * config.in: Likewise.
+       * config/sparc/sparc.md (UNSPEC_MOVE_GOTDATA): New.
+       (movsi_lo_sum_pic): Use %gdop_*() relocs if available.
+       (movsi_high_pic): Likewise.
+       (movdi_lo_sum_pic): Likewise.
+       (movdi_high_pic): Likewise.
+       (movsi_pic_gotdata_op): New pattern.
+       (movdi_pic_gotdata_op): Likewise.
+       * config/sparc/sparc.c (legitimize_pic_address): If flag_pic is 2,
+       emit gen_mov{si,di}_pic_gotdata_op for the GOT slot load.
+
+2010-02-20  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43067
+       * config/i386/sse.md (xop_mulv2div2di3_low): Change type
+       attribute to ssemul.
+       (xop_mulv2div2di3_high): Ditto.
+
+2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR c++/35669
+       * c.opt (Wconversion-null): New option.
+       * doc/invoke.texi (Wconversion-null): Document.
+
+2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       * common.opt (Wlarger-than-): Add Undocumented.
+
+2010-02-19  Mike Stump  <mikestump@comcast.net>
+
+       * config/t-darwin (gt-darwin.h): Remove as Makefile now handles it.
+
+2010-02-19  Jason Merrill  <jason@redhat.com>
+
+       PR target/40332
+       * configure.ac (gcc_cv_as_cfi_advance_working): Check 32-bit advance.
+       * configure: Likewise.
+
+2010-02-20  Alan Modra  <amodra@gmail.com>
+
+       PR middle-end/42344
+       * cgraph.h (cgraph_make_decl_local): Declare.
+       * cgraph.c (cgraph_make_decl_local): New function.
+       (cgraph_make_node_local): Use it.
+       * cgraphunit.c (cgraph_function_versioning): Likewise.
+       * ipa.c (function_and_variable_visibility): Likewise.
+
+2010-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43121
+       * except.c (sjlj_emit_function_enter): Don't call
+       add_reg_br_prob_note, instead add REG_BR_PROB note to the last insn
+       directly.
+       * rtl.h (add_reg_br_prob_note): Remove prototype.
+
+2010-02-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+
+       PR 41779
+       * c-common.c (conversion_warning): Remove widening conversions
+       before checking the conversion of integers to reals.
+
+2010-02-19  Mike Stump  <mikestump@comcast.net>
+
+       PR middle-end/43125
+       * c-decl.c (merge_decls): Merge DECL_PRESERVE_P.
+
+       PR objc/43061
+       * cgraphunit.c (process_function_and_variable_attributes): Check
+       DECL_PRESERVE_P instead of looking up attribute "used".
+       * ipa-pure-const.c (check_decl): Likewise.
+       * ipa-reference.c (has_proper_scope_for_analysis): Likewise.
+       * ipa-type-escape.c (has_proper_scope_for_analysis): Likewise.
+       * config/sol2.c (solaris_insert_attributes): Set DECL_PRESERVE_P
+       instead of attribute "used".
+       * config/sol2-c.c (solaris_pragma_init): Likewise.
+       (solaris_pragma_fini): Likewise.
+
+2010-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * ipa-struct-reorg.c (make_field_acc_node, gen_cluster, peel_field):
+       Use XCNEW instead of xcalloc.
+       (add_access_to_acc_sites, create_new_var_node, add_alloc_site): Use
+       XNEW instead of xmalloc.
+       (get_fields): Use XNEWVEC instead of xmalloc.
+
+       PR debug/43084
+       * ipa-struct-reorg.c (add_access_to_acc_sites): For debug stmts don't
+       populate vars array.
+       (create_new_general_access): For debug stmts just reset value.
+       (get_stmt_accesses): For accesses within debug stmts just record them
+       using add_access_to_acc_sites instead of preventing the peeling or
+       counting them as accesses.
+
+       PR middle-end/42233
+       * dojump.c (do_jump) <case TRUTH_NOT_EXPR>: Invert priority.
+
+2010-02-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42916
+       * tree-vect-slp.c (vect_slp_analyze_bb): Count only real
+       instructions.
+
+2010-02-19  Andreas Schwab  <schwab@linux-m68k.org>
+
+       * configure.ac: Replace all uses of changequote in macro arguments
+       with proper quoting.
+
+2010-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/42233
+       * loop-doloop.c (add_test): Adjust do_compare_rtx_and_jump caller.
+
+2010-02-19  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42944
+       * tree-ssa-alias.c (call_may_clobber_ref_p_1): Massage
+       test for aliasing with errno.
+
+2010-02-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/42233
+       * expr.h (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump,
+       do_jump_1, do_compare_rtx_and_jump): Add PROB argument.
+       * dojump.c: Include output.h.
+       (inv): New inline function.
+       (jumpifnot, jumpifnot_1, jumpif, jumpif_1, do_jump_1, do_jump,
+       do_jump_by_parts_greater_rtx, do_jump_by_parts_greater,
+       do_jump_by_parts_zero_rtx, do_jump_by_parts_equality_rtx,
+       do_jump_by_parts_equality, do_compare_and_jump): Add PROB
+       argument, pass it down to other calls.
+       (do_compare_rtx_and_jump): Likewise.  If PROB is not -1,
+       add REG_BR_PROB note to the conditional jump.
+       * cfgexpand.c (add_reg_br_prob_note): Removed.
+       (expand_gimple_cond): Don't call it, add the probability
+       as last argument to jumpif_1/jumpifnot_1.
+       * Makefile.in (dojump.o): Depend on output.h.
+       * builtins.c (expand_errno_check): Adjust do_compare_rtx_and_jump
+       callers.
+       * expmed.c (emit_store_flag_force, do_cmp_and_jump): Likewise.
+       * stmt.c (do_jump_if_equal): Likewise.
+       * cfgrtl.c (rtl_lv_add_condition_to_bb): Likewise.
+       * loop-unswitch.c (compare_and_jump_seq): Likewise.
+       * config/rs6000/rs6000.c (rs6000_aix_emit_builtin_unwind_init):
+       Likewise.
+       * optabs.c (expand_doubleword_shift, expand_abs): Likewise.
+       * expr.c (expand_expr_real_1): Adjust do_jump, jumpifnot and
+       jumpifnot_1 callers.
+       (expand_expr_real_2): Adjust jumpifnot_1 and do_compare_rtx_and_jump
+       callers.
+       (store_expr): Adjust jumpifnot caller.
+       (store_constructor): Adjust jumpif caller.
+
+       PR middle-end/42233
+       * gimplify.c (gimple_boolify): For __builtin_expect call
+       gimple_boolify also on its first argument.
+
+2010-02-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       * configure.ac (gnu-unique-object): Wrap regexps using [] in
+       changequote block.
+       (__stack_chk_fail): Ditto.  Remove quadrigraphs.
+       * configure: Regenerated.
+
+2010-02-18  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
+
+       * config/spu/spu-c.c (spu_resolve_overloaded_builtin): Call
+       lang_hooks.types_compatible_p instead of comptypes.
+
+2010-02-18  Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * config/arm/lib1funcs.asm (__prefer_thumb__): New define.
+       (udivsi3, aeabi_uidivmod, divsi3, aeabi_idivmod): Use Thumb-1 variant
+       if __prefer_thumb__ is defined.
+
+2010-02-18  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/43066
+       * tree-sra.c (build_ref_for_offset_1): Return false on encountering an
+       array with zero-sized element type.
+
+2010-02-18  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (add_var_loc_to_decl): Change last argument to
+       rtx, allocate struct var_loc_node here and return it to the
+       caller, and only if it is actually needed.
+       (dwarf2out_var_location): Adjust add_var_loc_to_decl caller,
+       move it earlier and return immediately if it returns NULL.
+
+2010-02-17  Mikael Pettersson  <mikpe@it.uu.se>
+
+       * config/sparc/gas.h: New file.  Restore
+       TARGET_ASM_NAMED_SECTION to its ELF default.
+       * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Do not
+       check !HAVE_GNU_AS.
+       * config/sparc/sparc.c (sparc_elf_asm_named_section):
+       Likewise.  Add ATTRIBUTE_UNUSED to prototype.
+       * config.gcc (sparc*-*-linux*): Include sparc/gas.h
+       after sparc/sysv4.h.
+
+2010-02-17  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * config/i386/mingw32.h (LIBGCJ_SONAME): Fix cut'n'pasto in DLL name.
+
+2010-02-17  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * gensupport.c (process_one_cond_exec): Derive name for COND_EXEC
+       patterns from predicated pattern.
+
+2010-02-17  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43103
+       * config/i386/sse.md (xop_vpermil2<mode>3): Use avxmodesuffixf2c
+       for insn mnemonic suffix.
+
+2010-02-17  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vrp.c (vrp_visit_phi_node): Restrict SCEV analysis
+       to loop PHI nodes.
+
+2010-02-17  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/42918
+       * caller-save.c (save_call_clobbered_regs): If BB ends with
+       a DEBUG_INSN, move any notes in between last real insn and the last
+       DEBUG_INSN after the last DEBUG_INSN.
+
+2010-02-16  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * tm.texi (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD_SPEC):
+       Fix return type.  Fix argument type.  Explain meaning of return value.
+
+2010-02-16  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/41043
+       * tree-vrp.c  (vrp_var_may_overflow): Only ask SCEV for real loops.
+       (vrp_visit_assignment_or_call): Do not ask SCEV for regular
+       statements ...
+       (vrp_visit_phi_node): ... but only for loop PHI nodes.
+
+2010-02-16  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/43074
+       * tree-vectorizer.h (VECTORIZABLE_CYCLE_DEF): New.
+       * tree-vect-loop.c (vect_analyze_loop_operations): Add
+       vectorizable cycles in hybrid SLP check.
+       * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Likewise.
+
+2010-02-16  Richard Guenther  <rguenther@suse.de>
+
+       * alias.c (memrefs_conflict_p): Distinguish must-alias from don't know.
+       (true_dependence): If memrefs_conflict_p computes must-alias
+       trust it.  Move TBAA check after offset-based disambiguation.
+       (canon_true_dependence): Likewise.
+
+2010-02-16  Alexandre Oliva  <aoliva@redhat.com>
+
+       * params.def (PARAM_MAX_VARTRACK_SIZE): New.
+       * doc/invoke.texi: Document it.
+       * var-tracking.c: Include toplev.h and params.h.
+       (vt_find_locations): Return bool indicating success.  Compute
+       hash sizes unconditionally.  Check new parameter, report.
+       (variable_tracking_main_1): Check vt_find_locations results and
+       retry.  Renamed from...
+       (variable_tracking_main): ... this.  New wrapper to preserve
+       flag_var_tracking_assignments.
+       * Makefile.in (var-tracking.o): Adjust dependencies.
+
+2010-02-16  Jack Howarth <howarth@bromo.med.uc.edu>
+           Jakub Jelinek <jakub@redhat.com>
+
+       PR target/42854
+       * config/darwin.h (ASM_WEAKEN_DECL): Don't check weak attribute
+       if weak_import attribute is present.
+       * config/darwin.c (machopic_select_section): Likewise.
+
+2010-02-15  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document.
+       (TARGET_VECTORIZE_VECTOR_ALIGNMENT_REACHABLE): Likewise.
+       (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Likewise.
+       (TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK): Likewise.
+
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_CONVERSION): Fix argument
+       types.
+
+       * doc/tm.texi (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
+       Fix argument types.
+
+       * doc/tm.texi (TARGET_SCHED_DFA_NEW_CYCLE): Add argument names.
+       Rewrite text to refer to the names.
+
+2010-02-15  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * config/i386/i386-builtin-types.def
+       (V2DF_FTYPE_V2DF_V2DF_V2DI_INT): Declared.
+       (V4DF_FTYPE_V4DF_V4DF_V4DI_INT): Declared.
+       (V4SF_FTYPE_V4SF_V4SF_V4SI_INT): Declared.
+       (V8SF_FTYPE_V8SF_V8SF_V8SI_INT): Declared.
+       * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_VPERMIL2PD,
+       IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256, and
+       IX86_BUILTIN_VPERMIL2PS256.
+       (MULTI_ARG_4_DF2_DI_I): Defined.
+       (MULTI_ARG_4_DF2_DI_I1): Defined.
+       (MULTI_ARG_4_SF2_SI_I): Defined.
+       (MULTI_ARG_4_SF2_SI_I1): Defined.
+       (bdesc_multi_arg): Add __builtin_ia32_vpermil2pd,
+       __builtin_ia32_vpermil2ps, __builtin_ia32_vpermil2pd256, and
+       __builtin_ia32_vpermil2ps256.
+       (ix86_expand_multi_arg_builtin): Handle MULTI_ARG_4_DF2_DI_I,
+       MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
+       MULTI_ARG_4_SF2_SI_I1.  Handle builtins with 4 arguments.
+       (ix86_expand_args_builtin): Handle MULTI_ARG_4_DF2_DI_I,
+       MULTI_ARG_4_DF2_DI_I1, MULTI_ARG_4_SF2_SI_I, and
+       MULTI_ARG_4_SF2_SI_I1.  Handle CODE_FOR_xop_vpermil2v2df3,
+       CODE_FOR_xop_vpermil2v4sf3, CODE_FOR_xop_vpermil2v4df3, and
+       CODE_FOR_xop_vpermil2v8sf3.
+       * config/i386/i386.md (UNSPEC_VPERMIL2): Declared.
+       * config/i386/sse.md (xop_vpermil2<mode>3): New insn pattern.
+       * config/i386/xopintrin.h (_mm_permute2_pd): New.
+       (_mm256_permute2_pd): New.
+       (_mm_permute2_ps): New.
+       (_mm256_permute2_ps): New.
+
+2010-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * config/h8300/h8300.c (h8300_push_pop): Use bool type for
+       boolean parameters.  Use emit_jump_insn when emitting a pop
+       instruction containing a return insn.
+       (push): Use 'true' rather than '1' as second parameter to F.
+       (h8300_expand_prologue): Likewise.
+       Use 'true' and 'false' for boolean parameters to h8300_push_pop.
+       (h8300_expand_epilogue): Likewise.
+
+2010-02-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/43068
+       * cgraphunit.c (thunk_adjust): Skip adjusting by fixed_offset
+       if that is zero.
+
+2010-02-15  Nick Clifton  <nickc@redhat.com>
+
+       * config/mn10300/mn10300.h (FUNCTION_ARG_REGNO_P): Revert previous
+       delta.
+
+2010-02-14  Marco Poletti  <poletti.marco@gmail.com>
+
+       * intl.c (fake_ngettext): New function.
+       * intl.h (fake_ngettext): Declare.
+       (ngettext): Define macro.
+       * collect2.c (notice_translated): New function.
+       (main): Use notice_translated and ngettext.
+       * collect2.h (notice_translated): Declare.
+
+2010-02-14  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * reorg.c (delete_computation): Comment fixes.
+       * caller-save.c (setup_save_areas): Idem.
+       * sel-sched-dump.c (dump_lv_set): Idem.
+       * rtl.def: Idem.
+
+2010-02-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
+
+       * config/s390/s390.c (s390_sched_init): New function.
+       (TARGET_SCHED_INIT): Target hook defined.
+
+2010-02-12  Dave Korn  <dave.korn.cygwin@gmail.com>
+           Jack Howarth  <howarth@bromo.med.uc.edu>
+           Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
+
+       PR target/42982
+       Partial revert of unintended change in fix for PR41605.
+       * config/darwin.h: Fix typo.
+       * config/darwin9.h: Same.
+
+2010-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-pch.c (pch_init): Clear v.
+
+2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42930
+       * graphite-scop-detection.c (graphite_can_represent_scev): Call
+       graphite_can_represent_init for MULT_EXPR.
+
+2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42914
+       PR middle-end/42530
+       * graphite-sese-to-poly.c (remove_phi): New.
+       (translate_scalar_reduction_to_array): Call remove_phi.
+
+2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42771
+       * graphite-clast-to-gimple.c (gloog): Call rename_sese_parameters.
+       * graphite-clast-to-gimple.h (gloog): Update declaration.
+       * graphite-poly.c (new_scop): Clear POLY_SCOP_P.
+       * graphite-poly.h (struct poly_bb): Add missing comments.
+       (struct scop): Add poly_scop_p field.
+       (POLY_SCOP_P): New.
+       * graphite-sese-to-poly.c (build_poly_scop): Set POLY_SCOP_P.
+       * graphite.c (graphite_transform_loops): Build the polyhedral
+       representation for each scop before code generation.
+       * sese.c (rename_variables_in_operand): Removed.
+       (rename_variables_in_expr): Return the renamed expression.
+       (rename_sese_parameters): New.
+       * sese.h (rename_sese_parameters): Declared.
+
+2010-02-11  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42998
+       * tree-ssa-pre.c (create_expression_by_pieces): Treat
+       POINTER_PLUS_EXPR properly.
+
+2010-02-11  Sebastian Pop  <sebastian.pop@amd.com>
+           Changpeng Fang  <changpeng.fang@amd.com>
+
+       PR middle-end/40886
+       * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Decrement
+       the cost of an IV candidate when the IV is used in a test against zero.
+
+       * gcc.dg/tree-ssa/ivopts-3.c: New.
+
+2010-02-11  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41664
+       * tree-ssa-alias.c (refs_may_alias_p_1): Canonicalize
+       pointer-vs-decl case by swapping refs.  Handle some cases
+       of pointer-vs-decl disambiguations more conservatively.
+       * cfgexpand.c (gimple_expand_cfg): Set gimple_df->in_ssa_p
+       to false after expanding.
+
+2010-02-11  Richard Guenther  <rguenther@suse.de>
+
+       PR driver/43021
+       * gcc.c (process_command): Handle LTO file@offset case more
+       appropriately.
+
+2010-02-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * reload1.c (eliminate_regs_1): If insn is DEBUG_INSN, avoid any
+       modifications outside of the DEBUG_INSN.  Accept CLOBBERs inside
+       of DEBUG_INSNs.
+       (eliminate_regs_in_insn): Eliminate regs even in DEBUG_INSNs.
+
+       * dwarf2out.c (mem_loc_descriptor) <case MEM>: Use DW_OP_deref_size
+       if MEM's mode size isn't DWARF2_ADDR_SIZE.
+       (mem_loc_descriptor) <do_scompare>: Allow also VOIDmode arguments.
+       Optimize eq/ne comparisons when both arguments are known to be
+       zero-extended.
+       (mem_loc_descriptor) <do_ucompare>: Allow also VOIDmode arguments.
+       Don't mask operands unnecessarily if they are known to be already
+       zero-extended.
+
+2010-02-10  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira-conflicts.c (add_insn_allocno_copies): Use find_reg_note
+       instead of loop.
+
+2010-02-10  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43017
+       * tree-vrp.c (vrp_int_const_binop): Trust int_const_binop
+       for wrapping signed arithmetic.
+
+2010-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43010
+       * dwarf2out.c (retry_incomplete_types): Don't call gen_type_die
+       if no debug info should be emitted for it.
+
+2010-02-10  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/sh.c (find_barrier): Skip call insn with a REG_EH_REGION
+       note when flag_exceptions is set.
+
+2010-02-10  Duncan Sands  <baldrick@free.fr>
+
+       * Makefile.in (PLUGIN_HEADERS): Add debug.h.
+
+2010-02-10  Richard Guenther  <rguenther@suse.de>
+
+       PR c/43007
+       * tree.c (get_unwidened): Handle constants.
+       * convert.c (convert_to_integer): Handle TRUNC_DIV_EXPR.
+
+2010-02-10  Martin Jambor  <mjambor@suse.cz>
+
+       PR lto/42985
+       * ipa-prop.c (ipa_update_after_lto_read): Count parameters and
+       check for variable argument counts independently.
+
+2010-02-10  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/42841
+       * config/sh/sh.c (find_barrier): Increase length for non delayed
+       conditional branches.
+
+2010-02-10  Christian Bruel  <christian.bruel@st.com>
+
+       * config/sh/sh.c (find_barrier): Don't emit a CP inside the GP setting.
+
+2010-02-10  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (set_builtin_user_assembler_name): Also handle
+       ffs if int is smaller than word.
+
+2010-02-09  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR middle-end/42973
+       * ira-conflicts.c (get_dup): Remove.
+       (process_reg_shuffles): Add new parameter.  Use it as an
+       additional guard for copy generation.
+       (add_insn_allocno_copies): Rewrite.
+
+2010-02-09  Alexander Monakov  <amonakov@ispras.ru>
+
+       * common.opt (fsched2-use-traces): Preserved for backward
+       compatibility.
+       * doc/invoke.texi: Remove the documentation about option
+       -fsched2-use-traces.
+       * sched-rgn.c (rest_of_handle_sched2): Remove usage of
+       flag_sched2_use_traces.
+       * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
+       the backward compatibility flag section.
+
+2010-02-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43008
+       * tree-ssa-structalias.c (handle_lhs_call): Pass in the fndecl,
+       make HEAP variables initialized from global memory if they
+       are not known builtin functions.
+       (find_func_aliases): Adjust.
+
+2010-02-09  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/43000
+       * tree-vrp.c (vrp_int_const_binop): Only handle unsigned
+       arithmetic manually.
+
+2010-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/42931
+       * tree-loop-linear.c (try_interchange_loops): Don't call
+       double_int_mul if estimated_loop_iterations failed.
+
+2010-02-08  Martin Jambor  <mjambor@suse.cz>
+
+       PR middle-end/42898
+       * tree-sra.c (build_accesses_from_assign): Do not mark in
+       should_scalarize_away_bitmap if stmt has volatile ops.
+       (sra_modify_assign): Do not process assigns piecemeal if if stmt
+       has volatile ops.
+
+2010-02-08  Joern Rennecke  <joern.rennecke@embecosm.com>
+
+       * doc/tm.texi (TARGET_UNWIND_WORD_MODE): Document.
+
+2010-02-07  Adam Nemet  <adambnmet@gmail.com>
+
+       * config/mips/mips.md (*<optab>_trunc<mode>_exts): Fix comment
+       before the pattern.
+
+2010-02-07  Andrew Pinski  <pinskia@gmail.com>
+
+       PR middle-end/42946
+       * df-core.c (df_finish_pass): Change type of saved_flags to int.
+
+2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR middle-end/42988
+       * graphite-dependences.c (dependence_polyhedron): Set PDDR_KIND
+       to unknown_dependence.
+       (graphite_legal_transform_dr): Handle the unknown_dependence.
+       (graphite_carried_dependence_level_k): Same.
+
+2010-02-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       * ChangeLog.graphite: Remove testsuite/ or gcc/testsuite/.
+
+2010-02-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42991
+       * expr.c (get_inner_reference): Always initialize *pbitsize.
+
+2010-02-07  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42956
+       * gimplify.c (gimple_fold_indirect_ref): Avoid generating
+       new ARRAY_REFs on variable size element or minimal index arrays.
+       Complete.
+       * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Use
+       gimple_fold_indirect_ref.
+
+2010-02-06  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/42957
+       * arm.c (arm_override_options): Just return if the user has specified
+       an invalid fpu name.
+
+2010-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/42870
+       * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Call
+       i386_pe_maybe_record_exported_symbol.
+
+2010-02-05  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/42924
+       * config/pa/pa.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
+       (pa_delegitimize_address): New function.
+
+2010-02-05  Ozkan Sezer  <sezeroz@gmail.com>
+
+       * config/i386/msformat-c.c (ms_printf_length_specs): Set the
+       scalar_identity_flag for the size_t/ptrdiff_t %Id and %Iu specs.
+
+2010-02-05  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42762
+       * lto-streamer-in.c (get_resolution): Deal with references
+       to undefined functions.
+
+2010-02-05  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (get_symbol_constant_value): Strip all conversions.
+       (fold_const_aggregate_ref): Likewise.
+       (ccp_fold_stmt): Substitute loads.
+       (maybe_fold_reference): Verify types before substituting.
+       Unshare properly.
+       (fold_gimple_assign): Unshare properly.
+       (fold_stmt_1): Insert conversion if necessary before replacing the RHS.
+
+2010-02-05  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/rs6000/rs6000.c (rs6000_override_options): Invert check
+       for rs6000_gen_cell_microcode.
+
+2010-02-04  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/42952
+       * dse.c (const_or_frame_p): Remove MEM handling.
+
+2010-02-04  Nick Clifton  <nickc@redhat.com>
+
+       * config/mn10300/mn10300.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
+       (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
+       (function_arg): Use NULL_RTX and FIRST_ARGUMENT_REGNUM.
+       (mn10300_asm_output_mi_thunk): New function.
+       (mn10300_can_output_mu_thunk): New function.
+       * config/mn10300/mn10300.h (FIRST_ARGUMENT_REGNUM): Define.
+       (FUNCTION_ARG_REGNO_P): Fix comment.  Accept d0 and d1.
+       (FUNCTION_ARG): Delete incorrect comment.
+
+2010-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/40138
+       * fold-const.c (operand_equal_p): Handle erroneous types.
+
+2010-02-03  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
+
+       * config/h8300/h8300.md (can_delay): Fix attibute condition.
+
+2010-02-03  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR rtl-optimization/42941
+       * sched-deps.c (setup_insn_reg_pressure_info): Use xcalloc instead
+       of xmalloc.
+
+2010-02-03  Jason Merrill  <jason@redhat.com>
+
+       PR c++/35652
+       * builtins.c (c_strlen): Use EXPR_LOCATION in diagnostics.
+
+2010-02-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42896
+       * cselib.h (struct cselib_val_struct): Add uid.  Rename value to hash.
+       (cselib_reset_table): Renamed from...
+       (cselib_reset_table_with_next_value): ... this.
+       (cselib_get_next_uid): Renamed from...
+       (cselib_get_next_unknown_value): ... this.
+       * cselib.c (next_uid): Renamed from...
+       (next_unknown_value): ... this.
+       (cselib_clear_table): Adjust.
+       (cselib_reset_table): Adjust.  Renamed from...
+       (cselib_reset_table_with_next_value): ... this.
+       (cselib_get_next_uid): Adjust.  Renamed from...
+       (cselib_get_next_unknown_value): ... this.
+       (get_value_hash): Use hash.
+       (cselib_hash_rtx): Likewise.
+       (new_cselib_val): Adjust.  Set and dump uid.
+       (cselib_lookup_mem): Pass next_uid as hash.
+       (cselib_subst_to_values): Likewise.
+       (cselib_log_lookup): Dump uid.
+       (cselib_lookup): Pass next_uid as hash.  Adjust.
+       (cselib_process_insn): Adjust.
+       (cselib_init): Initialize next_uid.
+       (cselib_finish): Adjust.
+       (dump_cselib_table): Likewise.
+       * dse.c (canon_address): Dump value uid.
+       * print-rtl.c (print_rtx): Print value uid.
+       * var-tracking.c (VARIABLE_HASH_VAL): Dropped.
+       (dvuid): New type.
+       (dv_uid): New function, sort of renamed from...
+       (dv_htab_hash): ... this, reimplemented in terms of it and...
+       (dv_uid2hash): ... this.  New.
+       (variable_htab_eq): Drop excess assertions.
+       (tie_break_pointers): Removed.
+       (canon_value_cmp): Compare uids.
+       (variable_post_merge_New_vals): Print uids.
+       (vt_add_function_parameters): Adjust.
+       (vt_initialize): Reset table.  Adjust.
+
+2010-02-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42944
+       * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle calloc.
+       (call_may_clobber_ref_p_1): Likewise.  Properly handle
+       malloc and calloc clobbering errno.
+
+2010-02-03  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * doc/invoke.texi: Fix name of sched1 dump.
+
+       * opts.c (decode_options): Set flag_tree_switch_conversion
+       only conditionally on optimize >= 2.
+
+       * gcse.c: Assorted comment fixes in pass description.
+
+2010-02-03  Anthony Green  <green@moxielogic.com>
+
+       * config/moxie/moxie.c (moxie_asm_trampoline_template): Introduce
+       nop padding in order to maintain alignment of storage location of
+       target function address.
+       (moxie_trampoline_init): Store target function address at newly
+       aligned location.
+       * config/moxie/moxie.h (TRAMPOLINE_ALIGNMENT): Increase alignment
+       to 32.
+       (TRAMPOLINE_SIZE): Increase size by 2 bytes for alignment padding.
+
+2010-02-03  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42927
+       * tree-cfg.c (verify_gimple_assign_binary): Fix shift verification.
+
+2010-02-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc: Reenable check for obsolete targets.
+       Obsolete alpha*-dec-osf4*, alpha*-dec-osf5.0*, mips-sgi-irix5*,
+       mips-sgi-irix6.[0-4]*.
+
+2010-02-02  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_is_legitimate_constant): Treat a maximum
+       constant size of 4 as being the same as 0.
+       * doc/invoke.texi (RX Options): Document that -mmax-constant-size
+       can take values in the range 0..4.
+
+2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>
+
+       PR java/41991
+       * unwind-dw2-fde-darwin.c: Re-export _Unwind_FindEnclosingFunction()
+       as _darwin10_Unwind_FindEnclosingFunction().
+       * libgcc-libsystem.ver: New.
+
+2010-02-01  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/41399
+       * sched-deps.c (sched_analyze_insn): Ignore fixed registers for
+       implicitly set registers.
+
+2010-02-01  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (FL_FOR_ARCH_7A): is also a superset of ARMv6K.
+       (arm_override_options): Allow automatic selection of the thread
+       pointer register if thumb2.
+       (legitimize_pic_address): Improve code sequences for Thumb2.
+       (arm_call_tls_get_addr): Likewise.
+       (legitimize_tls_address): Likewise.
+       * arm.md (pic_load_addr_arm): Delete.  Replace with ...
+       (pic_load_addr_32bit): ... this.  New named pattern.
+       * thumb2.md (pic_load_addr_thumb2): Delete.
+       (pic_load_dot_plus_four): Delete.
+       (tls_load_dot_plus_four): New named pattern.
+
+2010-02-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR libgomp/29986
+       * doc/install.texi (Specific): Add sparc-sun-solaris2.10 entry.
+       Document fix for TLS bug.
+
+2010-01-31  Richard Guenther  <rguenther@suse.de>
+
+       * tree-sra.c (ptr_parm_has_direct_uses): Rewrite to be
+       conservatively correct.
+
+2010-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR target/42850
+       Revert:
+       2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
+
+2010-01-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * doc/install.texi: Update recommended GMP/MPFR/MPC versions.
+
+2010-01-31  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config.gcc: Adjust order of makefile fragments for mingw targets.
+
+2010-01-31  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42898
+       * gimplify.c (gimplify_init_constructor): For volatile LHS
+       initialize a temporary.
+
+2010-01-31  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac: Fix __stack_chk_fail check for cross builds configured
+       --with-headers
+       * configure: Regenerate.
+
+2010-01-29  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
+       the same alias set and their sizes different constantness.
+       (aliasing_component_refs_p): Revert 2009-10-24 change.
+
+2010-01-29  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sparc.c (sparc_elf_asm_named_section): Declare decl
+       unused.
+
+2010-01-29  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold_stmt): Unshare values we substitute.
+       Assert we successfully updated the call.
+
+2010-01-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/42889
+       * df.h (df_set_bb_dirty_nonlr): New prototype.
+       * df-core.c (df_set_bb_dirty_nonlr): New function.
+       * df-scan.c (df_insn_rescan): Call it instead of
+       df_set_bb_dirty for DEBUG_INSNs.
+
+2010-01-29  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/37448
+       * ipa-inline.c (cgraph_decide_inlining_incrementally): Avoid
+       quadratic behavior in most cases.
+
+2010-01-28  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42891
+       * config/i386/i386.c (ix86_expand_int_movcc): Convert tmp to SImode
+       in the call to gen_x86_movsicc_0_m1.
+
+2010-01-28  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42871
+       * tree-ssa-pre.c (phi_translate_set): Make sure to retain leaders.
+
+2010-01-28  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-ccp.c (ccp_fold_stmt): Fold calls and propagate
+       into call arguments.
+
+2010-01-28  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42883
+       * tree-cfgcleanup.c (remove_forwarder_block): Do not remove
+       the forwarder if the destination is an EH landing pad.
+
+2010-01-28  Razya Ladelsky  <razya@il.ibm.com>
+
+       * tree-parloops.c (transform_to_exit_first_loop): Update the basic
+       block list passed to gimple_duplicate_sese_tail.
+       (parallelize_loops): Avoid parallelization when the function
+       has_nonlocal_label.
+       Avoid parallelization when the preheader is IRREDUCIBLE.
+       Try to optimize when estimated_loop_iterations_int is unresolved.
+       Add the loop's location to the dump file.
+       * tree-cfg.c (add_phi_args_after_redirect): Remove.
+       (gimple_duplicate_sese_tail): Remove the check for the latch.
+       Redirect nexits to the exit block.
+       Remove handling of the incoming edges to the latch.
+       Redirect the backedge from the copied latch to the exit bb.
+
+2010-01-28  Michael Matz  <matz@suse.de>
+
+       PR target/42881
+       * config/i386/i386.c (ix86_expand_vector_init_duplicate):
+       Wrap force_reg into a sequence, emit it before user.
+
+2010-01-28  Stephen Thomas  <stephen.thomas@arm.com>
+
+       * config/arm/arm.md (bswapsi2): Add support for bswapsi2.
+       (arm_rev): New.
+       (arm_legacy_rev): Likewise.
+       (thumb_legacy_rev): Likewise.
+
+2010-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Remove special casing of
+       CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.  If for MEM recursive call
+       on MEM's address failed, try avoid_constant_pool_reference and
+       recurse if it returned something different.
+       (loc_descriptor): If for MEM mem_loc_descriptor failed on the
+       address, try avoid_constant_pool_reference and recurse if it
+       returned something different.
+       (dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
+       address and avoid_constant_pool_reference returned something
+       different, don't set have_address.
+
+2010-01-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42861
+       * var-tracking.c (val_store): Add modified argument, obey it.
+       Adjust callers.
+       (count_uses): Move down logging of main.
+       (compute_bb_dataflow): Use val_store for MO_VAL_USEs that
+       don't need resolution.
+       (emit_notes_in_bb): Likewise.
+
+2010-01-27  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42878
+       * tree-inline.c (remap_decl): Delay remapping of SSA name
+       default definitions until we need them.
+
+2010-01-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000.c (TARGET_DELEGITIMIZE_ADDRESS): Redefine.
+       (rs6000_delegitimize_address): New function.
+
+       * config/s390/s390.c (s390_delegitimize_address): Call
+       delegitimize_mem_from_attrs.
+
+       PR middle-end/42874
+       * tree-inline.c (cannot_copy_type_1): Removed.
+       (copy_forbidden): Don't forbid copying of functions containing
+       records/unions with variable length fields.
+
+2010-01-27  Christian Bruel  <christian.bruel@st.com>
+
+       Revert:
+       PR target/42841
+       * config/sh/sh.c (find_barrier): Increase length for non delayed
+       conditional branches.
+
+2010-01-27  Matthias Klose  <doko@ubuntu.com>
+
+       * configure.ac (gnu-unique-object): Fix ldd version check.
+       * configure: Regenerate.
+
+2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
+       HAVE_GNU_AS value.
+       * config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
+       Test for HAVE_GNU_AS value.
+
+2010-01-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config.gcc (mips-sgi-irix[56]*): Set use_gcc_stdint.
+       * config/mips/iris.h (INT8_TYPE, INT16_TYPE, INT32_TYPE,
+       INT64_TYPE): Define.
+       (UINT8_TYPE, UINT16_TYPE, UINT32_TYPE, UINT64_TYPE): Define.
+       (INT_LEAST8_TYPE, INT_LEAST16_TYPE, INT_LEAST32_TYPE,
+       INT_LEAST64_TYPE): Define.
+       (UINT_LEAST8_TYPE, UINT_LEAST16_TYPE, UINT_LEAST32_TYPE,
+       UINT_LEAST64_TYPE): Define.
+       (INT_FAST8_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE)
+       INT_FAST64_TYPE): Define.
+       (UINT_FAST8_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE,
+       UINT_FAST64_TYPE): Define.
+       (INTMAX_TYPE, UINTMAX_TYPE): Define.
+       (INTPTR_TYPE, UINTPTR_TYPE): Define.
+       (SIG_ATOMIC_TYPE): Define.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       * df-scan.c (df_scan_set_bb_info): Remove assert.
+       (df_insn_rescan_debug_internal): Merge asserts.
+       (df_install_ref): Likewise.
+       (df_mark_reg): Use bitmap_set_range.
+       (df_hard_reg_used_p): Remove assert.
+       (df_hard_reg_used_count): Likewise.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR rtl-optimization/42685
+       * web.c (web_main): Ignore DEBUG_INSNs.
+
+2010-01-26  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_HANDLE_C_OPTION): Explain arguments.
+
+       (TARGET_RESOLVE_OVERLOADED_BUILTIN): Add loc parameter.
+       Fix types of fndecl and arglist parameters.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42806
+       * tree-eh.c (unsplit_eh): Skip debug insns.
+
+2010-01-26  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42250
+       * ipa-type-escape.c (type_escape_execute): Do not analyze clones.
+
+2010-01-26  Jakub Jelinek  <jakub@redhat.com>
+
+       PR fortran/42866
+       * omp-low.c (expand_omp_sections): Only use single_pred if
+       l2_bb is single_pred_p.
+
+2010-01-25  Christian Bruel  <christian.bruel@st.com>
+
+       PR target/42841
+       * config/sh/sh.c (find_barrier): Increase length for non delayed
+       conditional branches.
+       (sh_insn_length_adjustment): Use JUMP_TABLE_DATA_P.
+
+2010-01-24  David S. Miller  <davem@davemloft.net>
+
+       * config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
+       define if not using GAS.
+       * config/sparc/sparc.c (sparc_elf_asm_named_section):
+       Likewise.  Delete SECTION_MERGE code, which is only applicable
+       when using GAS.
+
+2010-01-24  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/42748
+       * config/arm/arm.c (arm_mangle_type): Do not warn about changes to
+       mangling of va_list in system headers.
+
+2010-01-23  Toon Moene  <toon@moene.org>
+
+       * tree-predcom.c (combine_chains): Return NULL, not false.
+
+2010-01-23  Joern Rennecke  <amylaar@spamcop.net>
+
+       * tree-loop-distribution.c (distribute_loop): Fix declaration and
+       initialization of variable res to agree with return type.
+
+2010-01-22  Steve Ellcey  <sje@cup.hp.com>
+
+       * Makefile.in (tree-sra.o): Add $(EXPR_H) dependency.
+       * tree-sra.c: Add include of expr.h.
+
+2010-01-22  Jakub Jelinek  <jakub@redhat.com>
+
+       * tree-into-ssa.c (maybe_register_def): If stmt ends the bb,
+       insert the debug stmt on the single non-EH edge from the stmt.
+
+2010-01-22  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/42833
+       * tree-sra.c (sra_modify_assign): Delay re-gimplification of
+       the RHS until after generate_subtree_copies has insertted its
+       code before the current statement.
+
+2010-01-22  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_MIN_DIVISIONS_FOR_RECIP_MUL): Fix return type.
+
+       * gcc-plugin.h (plugin_init): Use "C" likage for c++.
+
+2010-01-21  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42585
+       * tree-sra.c (struct access): New field grp_total_scalarization.
+       (dump_access): Dump the new field.
+       (should_scalarize_away_bitmap): New variable.
+       (cannot_scalarize_away_bitmap): Likewise.
+       (sra_initialize): Allocate new bitmaps.
+       (sra_deinitialize): Free new bitmaps.
+       (create_access_1): New function.
+       (create_access): Parts moved to create_access_1.
+       (type_consists_of_records_p): New function.
+       (completely_scalarize_record): Likewise.
+       (build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
+       (build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
+       (sort_and_splice_var_accesses): Hint groups with a total_scalarization
+       access.
+       (analyze_all_variable_accesses): Completely scalarize small eligible
+       records.
+
+2010-01-21  Martin Jambor  <mjambor@suse.cz>
+
+       * tree-sra.c (build_ref_for_offset_1): Allow for zero size fields.
+
+2010-01-21  Andrew Haley  <aph@redhat.com>
+
+       * gcc.c (process_command): Move lang_specific_driver before
+       setting cc_libexec_prefix.
+
+2010-01-21  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/19988
+       * fold-const.c (negate_expr_p): Pretend only negative
+       real constants are easily negatable.
+
+2010-01-20  Janis Johnson  <janis187@us.ibm.com>
+           Jason Merrill  <jason@redhat.com>
+
+       * tree.h (TYPE_TRANSPARENT_UNION): Replace with ...
+       (TYPE_TRANSPARENT_AGGR): this, for union and record.
+       * calls.c (initialize argument_information): Handle it.
+       * c-common.c (handle_transparent_union_attribute): Use new name.
+       * c-decl.c (finish_struct): Ditto.
+       * c-typeck.c (type_lists_compatible_p): Ditto.
+       (convert_for_assignment): Use new name and also handle record.
+       * function.c (aggregate_value_p): Handle it.
+       (pass_by_reference): Ditto.
+       (assign_parm_data_types): Ditto.
+       * print-tree.c (print_node): Ditto.
+       * lto-streamer-in.c (unpack_ts_type_value_fields): Ditto.
+       * lto-streamer-out.c (pack_ts_type_value_fields): Ditto.
+       * tree.c (first_field): New fn.
+
+2010-01-21  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       PR target/42818
+       * config/i386/cygwin.h (CXX_WRAP_SPEC_LIST): Always apply wrappers,
+       even when linking statically, for now.
+
+2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42715
+       * var-tracking.c (use_type): Choose MO_VAL_SET for REGs set
+       without a cselib val.
+       (count_uses): Accept MO_VAL_SET with no val on stores.
+       (add_stores): Likewise.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * var-tracking.c (check_value_val): Add a compile time assertion.
+       (dv_is_decl_p): Simplify.
+       (dv_as_decl, dv_as_value, dv_from_decl, dv_from_value): Only use
+       gcc_assert if ENABLE_CHECKING.
+
+2010-01-20  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42782
+       * var-tracking.c: Include tree-flow.h.
+       (mem_dies_at_call): New.
+       (dataflow_set_preserve_mem_locs): Use it.
+       (dataflow_set_remove_mem_locs): Likewise.
+       (dump_var): Renamed from dump_variable.  Adjust all callers.
+       (dump_var_slot): Renamed from dump_variable_slot.  Likewise.
+       * Makefile.in (var-tracking.o): Adjust deps.
+
+2010-01-20  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_SCHED_SET_SCHED_FLAGS): Fix argument list.
+
+2010-01-20  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42717
+       * tree-ssa-dce.c (get_live_post_dom): Remove.
+       (forward_edge_to_pdom): Take an arbitrary edge to copy
+       degenerate PHI args from.
+       (remove_dead_stmt): Use the first post-dominator even if it
+       does not contain live statements as redirection destination.
+
+2010-01-20  Richard Guenther  <rguenther@suse.de>
+
+       * tree-inline.c (estimate_num_insns): Handle EH builtins.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * sel-sched.c (create_speculation_check): Remove set but not used
+       variable twin.
+       (try_transformation_cache): Remove set but not used variable ds.
+       (calculate_privileged_insns): Remove set but not used variables
+       cur_insn and min_spec_insn.
+       (find_best_expr): Remove set but not used variable avail_n.
+       * tree-predcom.c (base_names_in_chain_on): Remove set but not used
+       variable e.
+       * cgraphunit.c (assemble_thunk): Remove set but not used variable
+       false_label.
+       * haifa-sched.c (remove_notes): Remove set but not used variable prev.
+       * graphite-clast-to-gimple.c (gloog): Remove set but not used variable
+       new_scop_exit_edge.
+
+2010-01-20  Felyza Wishbringer  <fwishbringer@gmail.com>
+
+       PR bootstrap/42786
+       * config.gcc (i[34567]86-*-*): Fix handling of athlon64 and athlon-fx
+       cpu types.  Add support for *-sse3 cpu types.
+       (x86_64-*-*): Ditto.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/42803
+       * varasm.c (narrowing_initializer_constant_valid_p): Add CACHE
+       argument, call initializer_constant_valid_p_1 instead of
+       initializer_constant_valid_p, pass CACHE to it, return NULL
+       immediately if first call returns NULL.
+       (initializer_constant_valid_p_1): New function.
+       (initializer_constant_valid_p): Use it.
+
+2010-01-20  Thomas Quinot  <quinot@adacore.com>
+
+       * tree.def (PLACEHOLDER_EXPR): Fix comment.
+
+2010-01-20  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Use DW_OP_mod for UMOD instead
+       of MOD, handle MOD using DW_OP_{over,over,div,mul,minus}.
+       (loc_list_from_tree): Don't handle unsigned division.  Handle
+       signed modulo using DW_OP_{over,over,div,mul,minus}.
+       * unwind-dw2.c (execute_stack_op): Handle DW_OP_mod using unsigned
+       modulo instead of signed.
+
+2010-01-20  DJ Delorie  <dj@redhat.com>
+
+       * config/h8300/h8300.c (F): Add "in_epilogue" flag.
+       (Fpa): Pass it
+       (h8300_emit_stack_adjustment): Propogate it.
+       (push): Pass it.
+       (h8300_expand_prologue): Likewise.
+       (h8300_expand_epilogue): Likewise.
+
+2010-01-19  Michael Matz  <matz@suse.de>
+
+       PR tree-optimization/41783
+       * tree-data-ref.c (toplevel): Include flags.h.
+       (dump_data_dependence_relation):  Also dump the inputs if the
+       result will be unknown.
+       (split_constant_offset_1): Look through some conversions.
+       * tree-predcom.c (determine_roots_comp): Restart a new chain if
+       the offset from last element is too large.
+       (ref_at_iteration): Deal also with MISALIGNED_INDIRECT_REF.
+       (reassociate_to_the_same_stmt): Handle vector registers.
+       * tree-vect-data-refs.c (vect_equal_offsets): Handle unary operations
+       (e.g. conversions).
+       * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Add
+       wide_prolog_niters argument, emit widening instructions.
+       (vect_do_peeling_for_alignment): Adjust caller, use widened
+       variant of the iteration cound.
+       * Makefile.in (tree-data-ref.o): Add $(FLAGS_H).
+
+2010-01-19  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
+
+       PR target/38697
+       * config/arm/neon-testgen.m (emit_automatics): New parameter
+       features. Adjust for Fixed_return_reg feature.
+       (test_intrinsic): Call emit_automatics with new feature.
+       * config/arm/neon.ml: Update copyright years.
+       (features): New Fixed_return_reg feature.
+       (ops): Update feature for Vget_low.
+
+2010-01-19  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/42719
+       * tree-outof-ssa.c (trivially_conflicts_p): Don't consider debug
+       stmt uses.
+
+       PR debug/42728
+       * fwprop.c (all_uses_available_at): Return false if def_set dest
+       is a REG that is used in def_insn.
+
+2010-01-19  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_FIXED_CONDITION_CODE_REGS): Add argument names.
+
+       (TARGET_CC_MODES_COMPATIBLE): Put return value in braces.
+       Add argument names.
+
+       (TARGET_SCHED_INIT_SCHED_CONTEXT): Clarify language.
+
+       * target.h (struct gcc_target) <secondary_reload>: Change type
+       of last argument to secondary_reload_info *.
+
+2010-01-18  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42774
+       * config/alpha/predicates.md (aligned_memory_operand): Return 0 for
+       memory references with unaligned offsets.  Remove CQImode handling.
+       (unaligned_memory_operand): Return 1 for memory references with
+       unaligned offsets.  Remove CQImode handling.
+
+2010-01-18  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/39954
+       * cfgexpand.c (expand_call_stmt): TER pointer arguments in
+       builtin calls.
+
+2010-01-18  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42781
+       * tree-ssa-structalias.c (find_what_var_points_to): Skip
+       restrict processing only if the original variable was artificial.
+
+2010-01-18  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_ASM_FUNCTION_EPILOGUE): Update text on where to
+       find number of popped argument bytes.
+
+       (TARGET_INVALID_WITHIN_DOLOOP): Put return value in braces.
+       Fix the text that describes the return value for invalid insns.
+
+       (TARGET_SCHED_NEEDS_BLOCK_P): Fix return type.  Fix argument list.
+
+       (TARGET_SCHED_IS_COSTLY_DEPENDENCE): Fix argument types.
+       Clarify what 'cost of the -dependence' is.  Fix quoting.
+
+       * toplev.c (default_get_pch_validity): Rename argument to "sz".
+       * doc/tm.texi (TARGET_GET_PCH_VALIDITY): Likewise.
+
+2010-01-17  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Don't ICE on
+       {S,U}S_{PLUS,MINUS,NEG,ABS,ASHIFT}.
+
+2010-01-17  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42248
+       * function.c (split_complex_args): Take a VEC to modify.
+       (assign_parms_augmented_arg_list): Build a VEC instead of
+       a chain of PARM_DECLs.
+       (assign_parms_unsplit_complex): Take a VEC of arguments.
+       Do not fixup unmodified parms.
+       (assign_parms): Deal with the VEC.
+       (gimplify_parameters): Likewise.
+
+2010-01-17  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-uncprop.c (uncprop_into_successor_phis): Fix PHI
+       node existence check.
+       * tree-vect-loop.c (vect_analyze_loop_form): Likewise.
+       * tree-cfgcleanup.c (merge_phi_nodes): Likewise.
+       * tree-ssa-dce.c (forward_edge_to_pdom): Likewise.
+       * tree-cfg.c (gimple_execute_on_growing_pred): Likewise.
+       (gimple_execute_on_growing_pred): Likewise.
+
+2010-01-17  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42773
+       * tree-ssa-pre.c (phi_translate_set): Fix check for PHI node existence.
+       (compute_antic_aux): Likewise.
+       (compute_partial_antic_aux): Likewise.
+
+2010-01-17  Jie Zhang  <jie.zhang@analog.com>
+
+       PR debug/42767
+       * dwarf2out.c (mem_loc_descriptor): Handle SS_TRUNCATE
+       and US_TRUNCATE.
+
+2010-01-17  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_INIT_LIBFUNCS): Put @findex entries in order of
+       appearance.
+
+       (TARGET_LEGITIMATE_ADDRESS_P): Add return type.
+       Fix markup for strict argument.
+
+       (TARGET_SCHED_REORDER2): Fix argument types.
+
+       (TARGET_SCHED_DFA_PRE_CYCLE_INSN): Fix return type.
+       (TARGET_SCHED_DFA_POST_CYCLE_INSN): Likewise.
+
+       (TARGET_SCHED_DFA_PRE_ADVANCE_CYCLE): Fix name.
+       (TARGET_SCHED_DFA_POST_ADVANCE_CYCLE): Likewise.
+
+       (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD):
+       Add argument name.
+
+       (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Remove duplicate documentation.
+       (TARGET_SCHED_INIT_SCHED_CONTEXT): Likewise.
+       (TARGET_SCHED_SET_SCHED_CONTEXT): Likewise.
+       (TARGET_SCHED_CLEAR_SCHED_CONTEXT): Likewise.
+       (TARGET_SCHED_FREE_SCHED_CONTEXT): Likewise.
+
+       (TARGET_SCHED_SET_SCHED_CONTEXT): Fix typo.
+
+       (TARGET_SCHED_GEN_SPEC_CHECK): Fix name.
+
+       (TARGET_ASM_RELOC_RW_MASK): Add return type.
+       (TARGET_MANGLE_DECL_ASSEMBLER_NAME): Fix return type.
+
+       (TARGET_STRIP_NAME_ENCODING): Fix markup of return type and parameter.
+
+       (TARGET_ASM_FILE_START): Put @findex before paragraph start.
+       Use prototype.
+
+       (TARGET_ASM_NAMED_SECTION): Fix argument list.
+
+       (TARGET_HAVE_NAMED_SECTIONS): Use @deftypevr.
+       (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Likewise.
+
+       (TARGET_ASM_RECORD_GCC_SWITCHES_SECTION): Use @deftypevr.
+
+       (TARGET_ASM_ASSEMBLE_VISIBILITY): Fix argument types.
+
+       (TARGET_ASM_MARK_DECL_PRESERVED): Fix argument and markup
+       referring to it.  Fix language.
+
+       (TARGET_HAVE_CTORS_DTORS): Use @deftypevr.
+
+       (TARGET_ASM_FINAL_POSTSCAN_INSN): Adjust name of first argument.
+
+       (TARGET_ASM_EMIT_UNWIND_LABEL): Add argument types.
+
+       (TARGET_ASM_EMIT_EXCEPT_TABLE_LABEL): Add type to argument.
+
+       (TARGET_UNWIND_EMIT): Remove space between 'FILE *' and
+       '@var{stream}.  Remove stray 'and'.
+
+       (TARGET_ARM_EABI_UNWINDER): Use @deftypevr.
+
+       (TARGET_ASM_OUTPUT_DWARF_DTPREL): Adjust name of first argument.
+
+       (TARGET_SET_DEFAULT_TYPE_ATTRIBUTES): Add missing article.
+
+       (TARGET_OPTION_VALID_ATTRIBUTE_P): Fix name, it was
+       misspelled as TARGET_VALID_OPTION_ATTRIBUTE_P.
+
+       (TARGET_GET_PCH_VALIDITY): Put 'void *' in braces.
+       Fix description of return value.
+       Rename argument "sz" to "len."
+
+       (TARGET_CXX_GUARD_MASK_BIT): Add missing article.
+       Clarify meaning of 'true' return value.
+
+       (TARGET_SHIFT_TRUNCATION_MASK): Fix return type.
+
+       (TARGET_MODE_REP_EXTENDED): Fix two inconsisent uses of
+       rep_mode versus mode_rep.
+
+       (TARGET_HANDLE_PRAGMA_EXTERN_PREFIX): Document.
+
+       (TARGET_BUILTIN_DECL): Fix name.
+
+       (TARGET_COMMUTATIVE_P): Fix type of first argument.
+
+       (TARGET_SET_CURRENT_FUNCTION): Mention possibility of cfun being NULL.
+
+       (TARGET_BRANCH_TARGET_REGISTER_CLASS): Fix return type.
+
+       (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document as macro instead of hook.
+
+       (TARGET_RELAXED_ORDERING): Use @deftypevr.
+
+       (TARGET_GET_DRAP_RTX): Note that this is a hook.
+       Clarify language.
+
+       (TARGET_BUILTIN_RECIPROCAL): Fix argument types.
+       Rename argument tm_fn to md_fn.
+
+       (TARGET_OPTION_PRINT): Fix argument list.
+
+2010-01-16  Harsha Jagasia  <harsha.jagasia@amd.com>
+
+       PR target/42664
+       * config/i386/i386.c (ix86_fixup_binary_operands):
+       Revert FMA4 fixup of operands.
+
+2010-01-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR gcc/42525
+       * Makefile.in (write_entries_to_file, install-plugin):
+       Use \012 instead of \n with tr.
+
+2010-01-16  Richard Sandiford  <r.sandiford@uk.ibm.com>
+
+       * configure.ac (HAVE_AS_REF): New C macro.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * collect2.c (main): Only postpone SCAN_DWEH to the second pass
+       if HAVE_AS_REF.
+       * config/rs6000/aix.h (ASM_OUTPUT_DWARF_TABLE_REF): Only define
+       if HAVE_AS_REF.
+
+2010-01-16  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Fix argument types.
+
+       (TARGET_SUPPORT_VECTOR_MISALIGNMENT): Fix argument types.
+
+       (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Fix argument types.
+
+       (TARGET_SCHED_ALLOC_SCHED_CONTEXT): Put 'void *' in braces.
+
+       (TARGET_IN_SMALL_DATA_P): Fix argument type.
+
+       (TARGET_BINDS_LOCAL_P): Fix argument type.
+
+       (TARGET_ASM_FILE_END): Use prototype.
+
+       (TARGET_ASM_RECORD_GCC_SWITCHES): Don't put 'int' in braces.
+
+       (TARGET_DWARF_CALLING_CONVENTION): Fix argument type.
+
+       (TARGET_COMP_TYPE_ATTRIBUTES): Fix argument types.
+
+       (TARGET_VALID_DLLIMPORT_ATTRIBUTE_P): Fix argument type.
+
+       (TARGET_EMUTLS_VAR_ALIGN_FIXED): Don't put 'bool' in braces.
+       (TARGET_EMUTLS_DEBUG_FORM_TLS_ADDRESS): Likewise.
+
+       (TARGET_PCH_VALID_P): Put 'const char *' in braces.
+       (TARGET_CHECK_PCH_TARGET_FLAGS): Likewise.
+
+       (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Don't put 'bool' in braces.
+       (TARGET_ADDR_SPACE_SUBSET_P): Likewise.
+       (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Don't put 'rtx' in braces.
+       (TARGET_ADDR_SPACE_CONVERT): Likewise.
+
+       (TARGET_CASE_VALUES_THRESHOLD): Put 'unsigned int' in braces.
+
+       (TARGET_MACHINE_DEPENDENT_REORG: Use prototype.
+
+       (TARGET_INIT_BUILTINS): Use prototype.
+
+       (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN):
+       Put 'const char *' in braces.  Fix parameter types.
+       (TARGET_INVALID_CONVERSION): Fix parameter types.
+       (TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Likewise.
+       (TARGET_INVALID_PARAMETER_TYPE, TARGET_INVALID_RETURN_TYPE): Likewise.
+
+       (TARGET_PROMOTED_TYPE): Remove braces around 'tree'.
+       Fix argument type.
+
+       (TARGET_CONVERT_TO_TYPE): Remove braces around 'tree'.
+
+       (TARGET_ALLOCATE_STACK_SLOTS_FOR_ARGS): Remove braces around 'bool'.
+
+2010-01-15  Joern Rennecke  <amylaar@spamcop.net>
+
+       * doc/tm.texi (TARGET_HELP): Fix return type.
+
+       (TARGET_PROMOTE_FUNCTION_MODE): Put 'enum machine_mode'
+       in braces.  Fix argument types.
+
+       (TARGET_LIBGCC_CMP_RETURN_MODE): Use prototype.
+
+       (TARGET_LIBGCC_SHIFT_COUNT_MODE): Use prototype.
+
+       (TARGET_MS_BITFIELD_LAYOUT_P): Fix argument type.
+
+       (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Don't put 'bool' in braces.
+       (TARGET_FIXED_POINT_SUPPORTED_P): Likewise.
+
+       (TARGET_MANGLE_TYPE): Fix argument types.
+
+       (TARGET_IRA_COVER_CLASSES): Use prototype.
+
+       (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Fix return type.  Use prototype.
+
+       (TARGET_CAN_ELIMINATE): Use identifiers for argument names.
+
+       (TARGET_PROMOTE_PROTOTYPES): Fix argument type.
+
+       (TARGET_MUST_PASS_IN_STACK): Fix argument type.
+
+       (TARGET_CALLEE_COPIES): Fix argument types.
+
+       (TARGET_SPLIT_COMPLEX_ARG): Fix argument type.
+
+       (TARGET_GIMPLIFY_VA_ARG_EXPR): Fix argument types.
+
+       (TARGET_FUNCTION_VALUE): Fix argument types.
+
+       (TARGET_RETURN_IN_MSB): Fix argument type.
+
+       (TARGET_RETURN_IN_MEMORY): Fix argument types.
+
+       (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Fix argument types.
+
+       (TARGET_EXTRA_LIVE_ON_ENTRY): Fix argument type.
+
+       (TARGET_STRICT_ARGUMENT_NAMING): Make literal in text
+       agree with return type.
+
+       (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Add Prototype.
+
+2010-01-15  Jing Yu  <jingyu@google.com>
+
+       PR rtl-optimization/42691
+       * combine.c (try_combine): Set changed_i3_dest to 1 when I2 and I3 set
+       a pseudo to a constant and are merged, and adjust comments.
+
+2010-01-15  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/i386/sse.md (avx_vperm2f128<mode>3): Fix typo.
+
+2010-01-15  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42739
+       * tree-cfgcleanup.c (remove_forwarder_block): Move destination
+       labels of computed or non-local gotos to the destination.
+       * tree-cfg.c (gimple_verify_flow_info): Verify that a EH
+       landing pad label is the first label.
+
+2010-01-15  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-loop-im.c (gen_lsm_tmp_name): Fix bogus fallthru.
+
+2010-01-14  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/42747
+       * config/rs6000/rs6000.md (sqrtdf2): Split into expander and insn
+       to allow generation of the xssqrtdp instruction on power7.
+       (sqrtdf2_fpr): Ditto.
+
+2010-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/42674
+       * c-decl.c (finish_function): Don't emit -Wreturn-type warnings in
+       functions with noreturn attribute.
+
+       PR c++/42608
+       * varasm.c (declare_weak): Add weak attribute to decl if it
+       doesn't have one already.
+       (assemble_external): Only add decls to weak_decls if they also
+       have weak attribute.
+
+2010-01-14  Alexandre Oliva  <aoliva@redhat.com>
+
+       * var-tracking.c (var_reg_delete): Don't delete the association
+       between REGs and values or one-part variables if the register
+       isn't clobbered.
+
+2010-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/42657
+       * tree-inline.c (copy_debug_stmt): Don't reset debug stmt just
+       because its first operand is a non-localized variable.
+
+2010-01-14  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42706
+       * tree-sra.c (encountered_recursive_call): New variable.
+       (encountered_unchangable_recursive_call): Likewise.
+       (sra_initialize): Initialize both new variables.
+       (callsite_has_enough_arguments_p): New function.
+       (scan_function): Call decl and flags check only for IPA-SRA, check
+       whether there is a recursive call and whether it has enough arguments.
+       (all_callers_have_enough_arguments_p): New function.
+       (convert_callers): Look for recursive calls only when
+       encountered_recursive_call is set.
+       (ipa_early_sra): Bail out either if
+       !all_callers_have_enough_arguments_p or
+       encountered_unchangable_recursive_call.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched.c: Add 2010 to copyright years.
+       * sel-sched-ir.c: Likewise.
+       * sel-sched-ir.h: Likewise.
+
+2010-01-14  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42714
+       * tree-sra.c (sra_ipa_modify_assign): Handle incompatible-type
+       constructors specially.
+
+2010-01-14  Andi Kleen  <ak@linux.intel.com>
+
+       * config/i386/drivers-i386.c (detect_caches_intel):
+       Add l2sizekb parameter and fill in.
+       (host_detect_local_cpu): Add l2sizekb, fill in.
+       Add Atom small cache heuristic.
+
+2010-01-14  Andi Kleen  <ak@linux.intel.com>
+
+       * config/i386/drivers-i386.c (detect_caches_cpuid4):
+       Add level3 parameter and fill in.
+       (detect_caches_intel): Handle level3 cache.
+
+2010-01-14  Andi Kleen  <ak@linux.intel.com>
+
+       * config/i386/drivers-i386.c (host_detect_local_cpu):
+       Fix core duo detection.
+
+2010-01-14  Andi Kleen  <ak@linux.intel.com>
+
+       * config/i386/drivers-i386.c (host_detect_local_cpu):
+       Fix Atom detection.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * config/rs6000/rs6000.c (rs6000_variable_issue): Rename to...
+       (rs6000_variable_issue_1): this.  Use...
+       (rs6000_variable_issue): here.  Reimplement.  Print debug info.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched-ir.c (sel_restore_other_notes): Rename to
+       sel_restore_notes.  Update all callers.  Call reemit_notes
+       for all insns.
+
+2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/42246
+       * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
+       loops.
+
+2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
+
+       * sel-sched.c (compute_av_set_at_bb_end): Do not test that number of
+       all successors is the same as number of successors in current region.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched.c (maybe_emit_renaming_copy): Exit early when expression
+       to rename is not separable.  Otherwise check that its LHS is not NULL.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched.c (choose_best_reg_1):  Loop over all regs for mode.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       * sel-sched.c (mark_unavailable_hard_regs): Do not try to search
+       available registers when failed to discover LHS register class.
+       Fix indentation.  Update comment.
+
+2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
+           Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/42389
+       * sel-sched.c (advance_one_cycle): Set FENCE_ISSUE_MORE
+       to can_issue_more.
+       (advance_state_on_fence): Likewise.
+       (sel_target_adjust_priority): Print debug output only when
+       sched_verbose >= 4, not 2.
+       (get_expr_cost): Do not issue all unique insns on the next cycle.
+       (fill_insns): Initialize can_issue_more from the value saved
+       with the fence.
+       * sel-sched-ir.c (flist_add): New parameter issue_more.
+       Init FENCE_ISSUE_MORE with it.
+       (merge_fences): Likewise.
+       (init_fences): Update call to flist_add.
+       (add_to_fences, add_clean_fence_to_fences)
+       (add_dirty_fence_to_fences): Likewise.
+       (move_fence_to_fences): Update call to merge_fences.
+       (invoke_reorder_hooks): Do not reset can_issue_more on insns from
+       sched groups.
+       * sel-sched-ir.h (struct _fence): New field issue_more.
+       (FENCE_ISSUE_MORE): New accessor macro.
+
+2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR rtl-optimization/42388
+       * sel-sched-ir.c (maybe_tidy_empty_bb): Do not delete empty blocks
+       that have no predecessors nor successors.  Do not call move_bb_info
+       for empty blocks outside of current region.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/42294
+       * sel-sched-ir.h (struct _sel_insn_data): Update comment.
+       * sel-sched.c (move_exprs_to_boundary): Transitively add all
+       originators' originators.
+
+2010-01-14  Alexander Monakov  <amonakov@ispras.ru>
+
+       PR rtl-optimization/39453
+       PR rtl-optimization/42246
+       * sel-sched-ir.c (considered_for_pipelining_p): Do not test
+       for pipelining_p.
+       (sel_add_loop_preheaders): Add preheader to last_added_blocks.
+
+2010-01-14  Andrey Belevantsev  <abel@ispras.ru>
+           Alexander Monakov  <amonakov@ispras.ru>
+
+       PR middle-end/42245
+       * sel-sched-ir.c (sel_recompute_toporder): New.  Use it...
+       (maybe_tidy_empty_bb): ... here.  Make static.  Add new
+       argument.  Update all callers.
+       (tidy_control_flow): ... and here.  Recompute topological order
+       of basic blocks in region if necessary.
+       (sel_redirect_edge_and_branch): Change return type.  Return true
+       if topological order might have been invalidated.
+       (purge_empty_blocks): Export and move from...
+       * sel-sched.c (purge_empty_blocks): ... here.
+       * sel-sched-ir.h (sel_redirect_edge_and_branch): Update prototype.
+       (maybe_tidy_empty_bb): Delete prototype.
+       (purge_empty_blocks): Declare.
+
+2010-01-14  Andrey Belevantsev <abel@ispras.ru>
+
+       PR rtl-optimization/42249
+       * sel-sched.c (try_replace_dest_reg): When chosen register
+       and original register is the same, do not bail out early, but
+       still check all original insns for validity of replacing destination
+       register.  Set EXPR_TARGET_AVAILABLE to 1 before leaving function
+       in this case.
+
+2010-01-14  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/42721
+       Port from no-undefined-overflow branch:
+       2009-03-09  Richard Guenther  <rguenther@suse.de>
+
+       * fold-const.c (add_double_with_sign): Fix unsigned overflow detection.
+
+2010-01-14  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42665
+       * gimple.c (iterative_hash_gimple_type): Avoid hashing error_mark_node.
+
+2010-01-14  Ira Rosen  <irar@il.ibm.com>
+
+       PR tree-optimization/42709
+       * tree-vect-slp.c (vect_get_constant_vectors): Use constant's type
+       as scalar type in creation of constant vector operand.
+
+2010-01-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR testsuite/42414
+       * Makefile.in ($(TESTSUITEDIR)/site.exp, check-%)
+       (check-parallel-%): Match `testsuite' directory component only
+       at the end.
+
+2010-01-14  Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR translation/39521
+       * gcc.c (do_spec_1): Wrapped the error and notice messages of specs
+       strings with _().
+
+2010-01-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42730
+       * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Add shortcut for
+       offset zero.
+
+2010-01-13  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/pr42542
+       * config/ia64/ia64.c (ia64_expand_vecint_compare): Convert GTU to GT
+       for V2SI by subtracting (-(INT MAX) - 1) from both operands to make
+       them signed.
+
+2010-01-13  Bernd Schmidt  <bernd.schmidt@analog.com>
+
+       * config/bfin/libgcc-bfin.ver: Regenerate based on current
+       libgcc-std.ver.  Add entries for ___smulsi3_highpart and
+       ___umulsi3_highpart.
+
+       * config/bfin/bfin.c (bfin_reorg): Call run_selective_scheduling
+       rather than schedule_insns if the pass is enabled.
+
+2010-01-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42704
+       * tree-sra.c (sra_modify_assign): Do not delete assignments to
+       SSA_NAMEs.
+
+2010-01-13  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42703
+       * tree-sra.c (analyze_access_subtree): Check that we can build a
+       reference to the original data within the aggregate.
+
+2010-01-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42705
+       * tree-ssa-reassoc.c (build_and_add_sum): Insert stmts after labels.
+
+2010-01-13  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42716
+       * fold-const.c (fold_unary_loc): Fold INDIRECT_REFs.
+
+2010-01-13  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/41371
+       * var-tracking.c (values_to_unmark): New variable.
+       (find_loc_in_1pdv): Clear VALUE_RECURSED_INTO of values in
+       values_to_unmark vector.  Moved body to...
+       (find_loc_in_1pdv_1): ... this.  Don't clear VALUE_RECURSED_INTO,
+       instead queue it into values_to_unmark vector.
+       (vt_find_locations): Free values_to_unmark vector.
+
+2010-01-13  Wolfgang Gellerich  <gellerich@de.ibm.com>
+
+       * config/s390/s390.c (override_options): Set
+       default of max-pending-list-length to 256
+
+2010-01-13  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42678
+       * tree-pass.h (PROP_gimple_lcx): New.
+       * cfgexpand.c (pass_expand): Require PROP_gimple_lcx.
+       * passes.c (init_optimization_passes): Move pass_lower_complex_O0
+       before the final cleanup_eh.
+       (dump_properties): Dump PROP_gimple_lcx.
+       * tree-complex.c (pass_lower_complex): Provide PROP_gimple_lcx.
+       (tree_lower_complex_O0): Remove.
+       (gate_no_optimization): Run if PROP_gimple_lcx is not set.
+       (pass_lower_complex_O0): Provide PROP_gimple_lcx.  Run
+       tree_lower_complex, schedule TODO_update_ssa.
+       * lto-streamer-out.c (output_function): Stream the functions
+       properties.
+       * lto-streamer-in.c (input_function): Likewise.
+       (lto_read_body): Do not override them here.
+
+2010-01-12  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/42708
+       * c-typeck.c (build_c_cast): Fold value cast to union type before
+       wrapping it in a CONSTRUCTOR.
+
+2010-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR rtl-optimization/42699
+       * cse.c (cse_insn): Optimize lhs ZERO_EXTRACT if only CONST_INTs are
+       involved.
+
+2010-01-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/mips/iris6.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
+       SUBTARGET_WARN_UNUSED_SPEC): Move ...
+       config/mips/iris.h (SUBTARGET_DONT_WARN_UNUSED_SPEC,
+       SUBTARGET_WARN_UNUSED_SPEC): ... here
+       * config/mips/iris5.h (LIBGCC_SPEC): Define.
+
+2010-01-12  Julian Brown  <julian@codesourcery.com>
+
+       * config/arm/neon-schedgen.ml (Utils): Don't try to
+       open missing module.
+       (find_with_result): New.
+
+2010-01-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/42662
+       * simplify-rtx.c (simplify_relational_operation_1): Avoid invalid rtx
+       sharing when canonicalizing ({lt,ge}u (plus a b) b).
+
+       PR tree-optimization/42645
+       * tree-inline.c (processing_debug_stmt): Move earlier.  Make static.
+       (remap_ssa_name): If processing_debug_stmt and name wasn't found in
+       decl_map, set processing_debug_stmt to -1 and return name without
+       any remapping.
+
+2010-01-11  Dave Korn  <dave.korn.cygwin@gmail.com>
+
+       * doc/install.texi (Specific#x-x-cygwin): Document minimum required
+       binutils version, and reword target configuration description.
+
+2010-01-11  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
+
+       * config/avr/avr.h (LINKER_NAME): Remove.
+
+2010-01-11  Janis Johnson  <janis187@us.ibm.com>
+
+       PR target/42416
+       * config/rs6000/rs6000.c (rs6000_override_options): On targets
+       that support VSX, warn for -mno-altivec if vsx is not disabled,
+       and disable vsx.
+
+2010-01-11  Joseph Myers  <joseph@codesourcery.com>
+           Shujing Zhao  <pearly.zhao@oracle.com>
+
+       PR translation/42469
+       * common.opt (Wframe-larger-than=, fcompare-debug=, fdbg-cnt=,
+       fira-verbose=, flto-compression-level=, fplugin-arg-): Use tab
+       character between option name and help text.
+       * c.opt (imultilib): Likewise.
+
+2010-01-10  Rafael Avila de Espindola  <espindola@google.com>
+
+       * lto-streamer-out.c (output_unreferenced_globals): Output static
+       variables.
+
+2010-01-10  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/42621
+       * bb-reorder.c (gate_duplicated_computed_gotos): Only run if not
+       optimizing for size.
+       (duplicate_computed_gotos): Remove now-redundant check.
+
+2010-01-10  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/37454
+       * configure.ac: Save and restore LDFLAGS and LIBS
+       * configure: Regenerate.
+
+2010-01-10  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42667
+       * builtins.c (fold_builtin_strlen): Add type argument and
+       convert the resulting length to it.
+       (fold_builtin_1): Adjust.
+
+2010-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Shorten
+       sequence for DImode constants >= 0x80000000UL <= 0xFFFFFFFFUL by
+       1 insn.
+       (num_insns_constant_wide): Adjust for that change.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42631
+       * web.c (union_defs): Add used argument, to combine uses of
+       uninitialized regs.
+       (entry_register): Adjust type and tests of used argument.
+       (web_main): Widen used for new use.  Pass it to union_defs.
+       * df.h (union_defs): Adjust prototype.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42630
+       * loop-unroll.c (referenced_in_one_insn_in_loop_p): Count debug
+       uses in new incoming argument.  Free body.
+       (reset_debug_uses_in_loop): New.
+       (analyze_insn_to_expand_var): Call the latter if the former found
+       anything.  Fix whitespace.  Reject invalid dest overlaps before
+       going through all insns in the loop.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42629
+       * haifa-sched.c (dying_use_p): Debug insns don't count.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/42363
+       * gimplify.c (gimplify_modify_expr): Drop lhs on noreturn calls.
+       * tree-cfg.c (is_ctrl_altering_stmt): Don't compute flags twice.
+       (verify_gimple_call): Reject LHS in noreturn calls.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR debug/42604
+       PR debug/42395
+       * tree-vect-loop-manip.c (adjust_info): New type.
+       (adjust_vec): New pointer to vector.
+       (adjust_debug_stmts_now, adjust_vec_debug_stmts): New.
+       (adjust_debug_stmts, adjust_phi_and_debug_stmts): New.
+       (slpeel_update_phis_for_duplicate_loop): Use them.
+       (slpeel_update_phi_nodes_for_guard1): Likewise.
+       (slpeel_update_phi_nodes_for_guard2): Likewise.
+       (slpeel_tree_peel_loop_to_edge): Likewise.
+       (vect_update_ivs_after_vectorizer): Likewise.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * vec.h (DEF_VEC_ALLOC_FUNC_O_STACK): Drop excess paren.
+       (DEF_VEC_ALLOC_FUNC_I_STACK): Likewise.
+
+2010-01-09  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/i386/i386.c (ix86_vectorize_builtin_vec_perm): Silence
+       bogus uninitialized warning.
+
+2010-01-09  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42512
+       * tree-scalar-evolution.c (interpret_loop_phi): Make sure
+       the evolution is compatible with the initial condition.
+
+2010-01-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcc.c (process_command): Update copyright notice dates.
+       * gcov.c (print_version): Likewise.
+       * gcov-dump.c (print_version): Likewise.
+       * mips-tfile.c (main): Likewise.
+       * mips-tdump.c (main): Likewise.
+
+2010-01-08  Andy Hutchinson  <hutchinsonandy@gcc.gnu.org>
+
+       PR target/41885
+       * config/avr/avr.md (rotlqi3): Add CONST_INT_P check.
+       (rotlhi3): Delete.
+       (rotlhi3_8): Delete.
+       (rotlsi3): Delete.
+       (rotlsi3_8): Delete.
+       (rotlsi3_16): Delete.
+       (rotlsi3_24): Delete.
+       (rotl<mode>3): New.
+       (*rotw<mode>3): New.
+       (*rotb<mode>3): New.
+       * config/avr/avr.c (avr_rotate_bytes): New function.
+       * config/avr/avr-proto.h (avr_rotate_bytes): New function.
+
+2010-01-08  Steve Ellcey  <sje@cup.hp.com>
+
+       PR target/37454
+       * configure.ac: Modify -rdynamic check.
+       * configure: Regenerate.
+
+2010-01-08  DJ Delorie  <dj@redhat.com>
+
+       * config/sh/sh.c (sh_expand_epilogue): Fix interrupt handler
+       register popping order.
+
+2010-01-08  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/42528
+       * c.opt (fsigned-char): Also let LTO handle this option.
+       (funsigned-char): Likewise.
+
+2010-01-07  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.h (gss_for_code): Wrap gcc_assert in ENABLE_CHECKING.
+       (gimple_op): Likewise.
+       (gimple_op_ptr): Likewise.
+       (gimple_assign_set_lhs): Remove gcc_assert.
+       (gimple_assign_set_rhs1): Likewise.
+       (gimple_assign_set_rhs2): Likewise.
+       (gimple_call_set_lhs): Likewise.
+       (gimple_call_set_fn): Likewise.
+       (gimple_call_set_fndecl): Likewise.
+       (gimple_call_fndecl): Likewise.
+       (gimple_call_return_type): Likewise.
+       (gimple_call_set_chain): Likewise.
+       (gimple_call_num_args): Likewise.
+       (gimple_call_set_arg): Likewise.
+       (gimple_cond_set_code): Likewise.
+       (gimple_cond_set_lhs): Likewise.
+       (gimple_cond_set_rhs): Likewise.
+       (gimple_cond_set_true_label): Likewise.
+       (gimple_cond_set_false_label): Likewise.
+       (gimple_label_set_label): Likewise.
+       (gimple_goto_set_dest): Likewise.
+       (gimple_debug_bind_get_var): Wrap gcc_assert in ENABLE_CHECKING.
+       (gimple_debug_bind_get_value): Likewise.
+       (gimple_debug_bind_get_value_ptr): Likewise.
+       (gimple_debug_bind_set_var): Likewise.
+       (gimple_debug_bind_set_value): Likewise.
+       (gimple_debug_bind_reset_value): Likewise.
+       (gimple_debug_bind_has_value_p): Likewise.
+       (gimple_return_retval_ptr): Remove gcc_assert.
+       (gimple_return_retval): Likewise.
+       (gimple_return_set_retval): Likewise.
+       * tree-flow.h (struct gimple_df): Remove nonlocal_all member.
+       (safe_referenced_var_iterator): Remove.
+       (FOR_EACH_REFERENCED_VAR_SAFE): Likewise.
+       * tree-flow-inline.h (gimple_nonlocal_all): Remove.
+       (fill_referenced_var_vec): Remove.
+       (first_readonly_imm_use): Remove redundant gcc_assert.
+       (phi_arg_index_from_use): Combine gcc_asserts.
+       (move_use_after_head): Wrap gcc_assert in ENABLE_CHECKING.
+       (first_imm_use_stmt): Remove redundant gcc_assert.
+       * tree-cfg.c (verify_gimple_call): Verify function and chain
+       operands.  Verify arguments.
+       (verify_types_in_gimple_stmt): Verify condition code and labels.
+
+2010-01-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42641
+       * sese.c (rename_map_elt_info): Use the SSA name version, do
+       not hash pointers.
+
+2010-01-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/42625
+       * cgraph.c (cgraph_make_node_local): Clear DECL_COMDAT*,
+       TREE_PUBLIC, DECL_WEAK and DECL_EXTERNAL also for same_body aliases.
+
+2010-01-07  Duncan Sands  <baldrick@free.fr>
+
+       * Makefile.in (PLUGIN_HEADERS): Add version.h.
+
+2010-01-07  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42511
+       * ifcvt.c (dead_or_predicable): Also remove REG_EQUAL note when
+       note itself is not function_invariant_p.
+
+2009-01-07  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * gcse.c (execute_rtl_cprop, execute_rtl_pre, execute_rtl_hoist):
+       Do not add the DF_NOTE problem.
+       * store-motion.c (execute_rtl_store_motion): Likewise.
+
+2010-01-07  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42157
+       * tree-sra.c (compare_access_positions): Stabilize sort if both
+       accesses have integer types, return zero immediately if they are the
+       same.
+
+2010-01-06  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/41883
+       * haifa-sched.c (add_to_note_list): Merge into ...
+       (concat_note_lists): ... here, and ...
+       (unlink_other_notes, rm_other_notes): Merge into...
+       (remove_notes): ... here.  Create REG_SAVE_NOTEs for
+       NOTE_INSN_EPILOGUE_BEG.
+
+2010-01-06  Richard Guenther  <rguenther@suse.de>
+
+       * ipa-inline.c (cgraph_decide_inlining_incrementally): Do
+       not inline regular functions into always-inline functions.
+
+2010-01-06  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.h (enum rx_cpu_type): Add RX200.
+       (CC1_SPEC): Issue an error message if -mcpu=rx200 and -fpu are
+       used together.
+       (OVERRIDE_OPTIONS): Delete.
+       (OPTIMIZATION_OPTIONS): Define.
+       (ALLOW_RX_FPU_INSNS): Define only in terms of -fpu option.
+       * config/rx/rx.c (rx_handle_option): Issue an error message if
+       -mcpu=rx200 and -fpu are used together.
+       (rx_set_optimization_options): New function.  Issue an error
+       message if an optimization attribute attempts to reset the FPU/
+       math optimization pairing.
+       * config/rx/rx-protos.h (rx_set_optimization_options): Prototype.
+       * config/rx/rx.opt: Set the default to 32-bit doubles.
+       * config/rx/t-rx: Add multilibs for -nofpu option.
+       * doc/invoke.texi: Update documentation of RX options.
+
+2010-01-06  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (name_to_id): New global.
+       (alloc_expression_id): Simplify SSA name handling.
+       (lookup_expression_id): Likewise.
+       (init_pre): Zero name_to_id.
+       (fini_pre): Free it.
+
+2010-01-06  Uros Bizjak  <ubizjak@gmail.com>
+
+       * ifcvt.c (if_convert): Output slim multiple dumps with TDF_SLIM.
+
+2010-01-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/42542
+       * config/i386/sse.md (smaxv2di3): New.
+       (umaxv2di3): Likewise.
+       (sminv2di3): Likewise.
+       (uminv2di3): Likewise.
+
+2010-01-05  Eric Botcazou  <ebotcazou@adacore.com>
+
+       PR target/42564
+       * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): Delete.
+       * config/sparc/sparc-protos.h (legitimize_pic_address): Likewise.
+       (legitimize_tls_address): Likewise.
+       (sparc_tls_referenced_p): Likewise.
+       * config/sparc/sparc.c (sparc_expand_move): Use legitimize_tls_address
+       and adjust calls to legitimize_pic_address.
+       (legitimate_constant_p) Use sparc_tls_referenced_p.
+       (legitimate_pic_operand_p): Likewise.
+       (sparc_legitimate_address_p): Do not use SPARC_SYMBOL_REF_TLS_P.
+       (sparc_tls_symbol_ref_1): Delete.
+       (sparc_tls_referenced_p): Make static, recognize specific patterns.
+       (legitimize_tls_address): Make static, handle CONST patterns.
+       (legitimize_pic_address): Make static, remove unused parameter and
+       adjust recursive calls.
+       (sparc_legitimize_address): Make static, use sparc_tls_referenced_p
+       and adjust call to legitimize_pic_address.
+       (sparc_output_mi_thunk): Likewise.
+
+2010-01-05  Paolo Bonzini  <bonzini@gnu.rg>
+           H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/42542
+       * config/i386/i386.c (ix86_expand_int_vcond): Convert GTU to GT
+       for V4SI and V2DI by subtracting (-(INT MAX) - 1) from both
+       operands to make them signed.
+
+       Revert:
+       2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/42542
+       * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
+       GTU to GT for V4SI and V2DI.
+
+       * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
+       (umin<mode>3): Removed.
+       (uminv8hi3): New.
+       (uminv4si3): Likewise.
+
+2010-01-05  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42462
+       * ipa-inline.c (compute_inline_parameters): Pass node->decl instead of
+       current_function_decl to helper functions and macros.
+
+2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR bootstrap/41771
+       * flags.h: Don't include real.h.
+       (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES, HONOR_SIGNED_ZEROS,
+       HONOR_SIGN_DEPENDENT_ROUNDING): Move ...
+       * real.h (HONOR_NANS, HONOR_SNANS, HONOR_INFINITIES,
+       HONOR_SIGNED_ZEROS, HONOR_SIGN_DEPENDENT_ROUNDING): ... here.
+       * dominance.c: Update copyright.
+       * gimple.c (walk_gimple_op): Remove inline.
+       * tree-ssa-reassoc.c: Include real.h.
+       * Makefile.in (FLAGS_H): Remove $(REAL_H).
+       (tree-ssa-reassoc.o): Depend on $(REAL_H).
+
+2010-01-05  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.c (rx_get_stack_layout): Fix allocation of second
+       register to push into the stack frame when the accumulator has to
+       be saved during interrupts.
+
+2010-01-05  Eric Fisher  <joefoxreal@gmail.com>
+
+       * doc/invoke.texi: Remove the documentation about option
+       -Wunreachable-code.
+       * common.opt (Wunreachable-code):  Preserved for backward
+       compatibility.
+       * tree-cfg.c: Remove the implementation of -Wunreachable-code.
+       * opts.c (common_handle_option): Add OPT_Wunreachable_code to
+       the backward compatibility flag section.
+
+2010-01-05  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (bitmap_value_insert_into_set): Optimize.
+
+2010-01-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR other/42611
+       * cfgexpand.c (expand_one_var): Diagnose too large variables.
+
+       PR tree-optimization/42508
+       * tree-sra.c (convert_callers): Check for recursive call
+       by comparing cgraph nodes instead of decls.
+       (modify_function): Call ipa_modify_formal_parameters also
+       on all same_body aliases.
+
+       * cgraphunit.c (cgraph_materialize_all_clones): Compare
+       cgraph nodes when checking for same_body aliases.
+
+2010-01-05  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-pre.c (get_or_alloc_expr_for_name): Avoid redundant
+       allocation and lookup.
+       (get_or_alloc_expr_for_constant): Likewise.
+       (phi_translate): Sink allocation.
+
+2010-01-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (get_or_alloc_constant_value_id): Allocate
+       a new entry only if needed.
+       * tree-ssa-dom.c (lookup_avail_expr): Likewise.
+       * tree-ssa-coalesce.c (find_coalesce_pair): Avoid one
+       hashtable lookup.
+       * tree-ssa-pre.c (sorted_array_from_bitmap_set): Pre-allocate
+       the result array.
+       (phi_translate): Handle CONSTANTs early.
+
+2010-01-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42398
+       * tree-sra.c (struct access): Removed flag grp_different_types.
+       (dump_access): Do not dump the removed flag.
+       (sort_and_splice_var_accesses): Do not set the removed flag.
+       (sra_modify_expr): Check for type compatibility directly.
+
+2010-01-04  Martin Jambor  <mjambor@suse.cz>
+
+       PR tree-optimization/42366
+       * ipa-cp.c (ipcp_init_stage): Always call ipa_compute_jump_functions on
+       edges with variable number of parameters.
+       * ipa-prop.c (ipa_write_node_info): Stream out uses_analysis_done
+       flag instead of asserting it.
+       (ipa_read_node_info): Read uses_analysis_done flag.
+
+2010-01-04  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (vn_reference_op_compute_hash): Use
+       iterative_hash_* as intended.
+       (vn_reference_compute_hash): Likewise.  Simplify hashing
+       SSA names.
+       (vn_reference_lookup_2): Likewise.
+       (vn_nary_op_compute_hash): Likewise.
+       (vn_phi_compute_hash): Likewise.
+       (expressions_equal_p): Remove strange code.
+       * tree-ssa-pre.c (pre_expr_eq): Use gcc_unreachable ().
+       (pre_expr_hash): Likewise.  Simplify hashing SSA names.
+       (bitmap_insert_into_set_1): Take value-id as parameter.
+       (add_to_value): Pass it.
+       (bitmap_insert_into_set): Likewise.
+       (bitmap_value_insert_into_set): Likewise.  Remove redundant check.
+
+2010-01-04  Jakub Jelinek  <jakub@redhat.com>
+
+       PR driver/42442
+       * gcc.c (SWITCH_IGNORE_PERMANENTLY): Define.
+       (do_self_spec): For switches with SWITCH_IGNORE set set also
+       SWITCH_IGNORE_PERMANENTLY.
+       (check_live_switch): Check SWITCH_IGNORE_PERMANENTLY instead
+       of SWITCH_IGNORE.
+
+2010-01-04  Rafael Avila de Espindola  <espindola@google.com>
+
+       * lto-streamer-out.c (output_unreferenced_globals): Output the full
+       tree of an unreferenced global var.
+
+2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/42542
+       * config/i386/i386.c (ix86_expand_int_vcond): Don't convert
+       GTU to GT for V4SI and V2DI.
+
+       * config/i386/sse.md (umaxv4si3): Enabled for SSE4.1 and XOP.
+       (umin<mode>3): Removed.
+       (uminv8hi3): New.
+       (uminv4si3): Likewise.
+
+2010-01-04  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42581
+       * collect2.c (main): Turn on trace in collect2 if -v is passed
+       to gcc with LTO.
+
+2010-01-03  Jerry Quinn  <jlquinn@optonline.net>
+
+       * doc/c-tree.texi (RETURN_STMT): Change to RETURN_EXPR.  Update
+       description of expression operand.
+
+2010-01-03  Andrew Jenner  <andrew@codesourcery.com>
+
+       * configure.ac: Add install-html to target_list for Make-hooks.
+       * configure: Regenerate.
+       * fortran/Make-lang.in (F95_HTMLFILES): New.
+       (fortran.html): Use it.
+       (fortran.install-html): New.
+       * Makefile.in (install-html): Add lang.install-html.
+       * java/Make-lang.in (JAVA_HTMLFILES): New.
+       (java.html): Use it.
+       (java.install-html): New.
+       * objc/Make-lang.in (objc.install-html): New.
+       * objcp/Make-lang.in (obj-c++.install-html): New.
+       * cp/Make-lang.in (c++.install-html): New.
+       * ada/gcc-interface/Make-lang.in (ada.install-html): New.
+       * lto/Make-lang.in (lto.install-html): New.
+
+2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42520
+       * gcc.c (LINK_COMMAND_SPEC): Pass -m* and -v to -plugin-opt.
+
+2009-01-03  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR rtl-optimization/41862
+       * store-motion.c (store_killed_in_insn, compute_store_table,
+       remove_reachable_equiv_notes, replace_store_insn,
+       build_store_vectors): Ignore all DEBUG_INSNs.
+
+2010-01-03  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/41564
+       * common.opt: Add dumpdir.
+
+       * gcc.c (cc1_options): Add "-dumpbase %B" only if -dumpbase
+       isn't specified.
+       (option_map): Add --dumpdir.
+
+       * gcc.h (DEFAULT_WORD_SWITCH_TAKES_ARG): Add dumpdir.
+
+       * lto-wrapper.c (run_gcc): Add -dumpbase and -dumpdir for -o.
+
+       * opts.c (decode_options): Try dump_dir_name first if
+       dump_base_name isn't an absolute path.
+       (common_handle_option): Handle OPT_dumpdir.
+
+       * toplev.c (dump_dir_name): New.
+       (print_switch_values): Also ignore -dumpdir.
+
+       * toplev.h (dump_dir_name): New.
+
+2010-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42589
+       * tree-ssa-math-opts.c (execute_optimize_bswap): Allow
+       double-word expansion of bswap32.
+
+2010-01-03  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * postreload-gcse.c (insert_expr_in_table): Replace BLOCK_NUM
+       with BLOCK_FOR_INSN.
+       * auto-inc-dec.c (attempt_change, get_next_ref, find_inc): Likewise.
+       * ifcvt.c (noce_get_alt_condition, noce_try_abs,
+       noce_process_if_block): Likewise.
+       * gcse.c (compute_local_properties, insert_expr_in_table,
+       insert_set_in_table, canon_list_insert, find_avail_set,
+       pre_insert_copy_insn): Likewise.
+
+       * basic-block.h (BLOCK_NUM): Move from here...
+       * sched-int.h (BLOCK_NUM): ... to here to localize it in the scheduler.
+
+2010-01-03  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/42438
+       * tree-ssa-pre.c (struct bb_bitmap_sets): Add
+       contains_may_not_return_call flag.
+       (BB_MAY_NOTRETURN): New.
+       (valid_in_sets): Trapping nary operations are not valid
+       in blocks that may not return.
+       (insert_into_preds_of_block): Remove check for trapping expressions.
+       (compute_avail): Compute also BB_MAY_NOTRETURN.
+
+2010-01-03  Gerald Pfeifer  <gerald@pfeifer.com>
+
+       * doc/invoke.texi: Add 2010 to copyright years.
+
+2010-01-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sparc.c: Fix formatting nits.
+
+2010-01-02  Gerald Pfeifer  <gerald@pfeifer.com>
+           Alexander Monakov  <amonakov@ispras.ru>
+
+       * doc/invoke.texi (Optimize Options): Reword introduction a bit.
+
+2010-01-02  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42577
+       * tree-vrp.c (check_all_array_refs): Skip non-excutable blocks.
+       (simplify_switch_using_ranges): Mark to be removed edges
+       as non-executable.
+
+2010-01-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config/pa/t-slibgcc-dwarf-ver (SHLIB_SOVERSION): Bump by two.
+
+       * collect2.c (scan_libraries): Add missing argument in call to
+       scan_prog_file.
+
+2010-01-02  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/42448
+       * config/alpha/predicates.md (aligned_memory_operand): Return false
+       for CQImode.
+       (unaligned_memory_operand): Return true for CQImode.
+       * config/alpha/alpha.c (get_aligned_mem): Assert that location
+       doesn not cross aligned SImode word boundary.
+
+2010-01-02  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/avr/avr.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P, XEXP_):
+       Remove.
+       * config/avr/avr-protos.h (avr_init_once, avr_optimization_options,
+       avr_change_section, avr_reg_class_from_letter) : Remove declaration.
+
+2010-01-02  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/41597
+       * toplev.c (compile_file): Emit LTO marker properly.  Change
+       it to __gnu_lto_v1.
+       * collect2.c (scan_prog_file): Adjust for changed LTO marker.
+
+2010-01-01  Richard Guenther  <rguenther@suse.de>
+
+       PR debug/42455
+       * tree-sra.c (analyze_all_variable_accesses): Work in DECL_UID order.
+
+2010-01-01  Richard Guenther  <rguenther@suse.de>
+
+       PR c/42570
+       * c-decl.c (grokdeclarator): For zero-size arrays force
+       structural equality checks as layout_type does.
+
+2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * builtins.c: Update copyright to 2010.
+
+2010-01-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR lto/42531
+       * lto-streamer-out.c (produce_asm): Revert the last change.
+       (copy_function): Likewise.
+
+       * lto-streamer.c (lto_get_section_name): Skip any leading
+       asterisk in name.
+
+2010-01-01  Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/42559
+       * builtins.c (get_object_alignment): Do not use DECL_ALIGN
+       for LABEL_DECLs.
+
+\f
+Copyright (C) 2010 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+       PR bootstrap/44299
+       * config/i386/winnt.c (IN_GCC_FRONTEND): Undefine.
+       * config/i386/winnt-cxx.c (IN_GCC_FRONTEND): Likewise.
+
+2010-05-27  Joseph Myers  <joseph@codesourcery.com>
+
+       * diagnostic-core.h: New.  Contents moved from diagnostic.h and
+       toplev.h.
+       * diagnostic.c: Don't include toplev.h.
+       (progname): Define.  Moved from toplev.c.
+       (seen_error): New function.
+       * diagnostic.h: Include diagnostic-core.h.
+       (diagnostic_t, emit_diagnostic): Don't declare here.
+       * toplev.c (progname): Move to toplev.c.
+       (emit_debug_global_declarations, compile_file, finalize,
+       do_compile, toplev_main): Use seen_error.
+       * toplev.h: Include diagnostic-core.h.
+       (trim_filename, GCC_DIAG_STYLE, ATTRIBUTE_GCC_DIAG,
+       internal_error, warning, warning_at, error, error_n, error_at,
+       fatal_error, pedwarn, permerror, sorry, inform, inform_n,
+       verbatim, fnotice, progname): Move to diagnostic-core.h.
+       * builtins.c: Include diagnostic-core.h instead of diagnostic.h.
+       (expand_builtin_expect): Use seen_error.
+       * c-decl.c: Include diagnostic-core.h instead of diagnostic.h.
+       (c_make_fname_decl, c_write_global_declarations): Use seen_error.
+       * c-format.c: Include diagnostic-core.h instead of diagnostic.h.
+       * c-gimplify.c: Include diagnostic-core.h instead of diagnostic.h.
+       * c-lang.c: Include diagnostic-core.h instead of diagnostic.h.
+       * c-lex.c (c_lex_with_flags, interpret_float): Don't increment
+       errorcount for errors.
+       * c-opts.c (c_common_finish): Use seen_error.
+       * cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
+       * cgraphunit.c (verify_cgraph_node, verify_cgraph,
+       cgraph_output_pending_asms, cgraph_optimize): Use seen_error.
+       * coverage.c: Include diagnostic-core.h instead of diagnostic.h.
+       (get_coverage_counts): Use seen_error.
+       * dwarf2out.c (dwarf2out_finish): Use seen_error.
+       * gimplify.c (gimplify_var_or_parm_decl, gimple_push_cleanup,
+       gimplify_body): Use seen_error.
+       * ipa-inline.c (cgraph_early_inlining): Use seen_error.
+       * ipa-pure-const.c (gate_pure_const): Use seen_error.
+       * ipa-reference.c (gate_reference): Use seen_error.
+       * jump.c: Include diagnostic-core.h instead of diagnostic.h.
+       * lambda-code.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-cgraph.c: Include diagnostic-core.h instead of diagnostic.h.
+       * lto-compress.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-section-in.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-streamer-out.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * lto-streamer.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       (gate_lto_out): Use seen_error.
+       * matrix-reorg.c: Include diagnostic-core.h instead of
+       diagnostic.h.
+       * omega.c: Include diagnostic-core.h instead of diagnostic.h.
+       * omp-low.c: Include diagnostic-core.h instead of diagnostic.h.
+       (gate_expand_omp, lower_omp_1): Use seen_error.
+       * passes.c: Include diagnostic-core.h instead of diagnostic.h.
+       (rest_of_decl_compilation, rest_of_type_compilation,
+       gate_rest_of_compilation, ipa_write_summaries): Use seen_error.
+       * tree-cfg.c (label_to_block_fn): Use seen_error.
+       * tree-inline.c (optimize_inline_calls): Use seen_error.
+       * tree-mudflap.c (mudflap_finish_file): Use
+       seen_error.
+       * tree-optimize.c (gate_all_optimizations,
+       gate_all_early_local_passes, gate_all_early_optimizations): Use
+       seen_error.
+       * tree-ssa-structalias.c (gate_ipa_pta): Use seen_error.
+       * varpool.c: Include diagnostic-core.h instead of diagnostic.h.
+       (varpool_remove_unreferenced_decls,
+       varpool_assemble_pending_decls): Use seen_error.
+       * Makefile.in (DIAGNOSTIC_CORE_H): Define.
+       (TOPLEV_H, DIAGNOSTIC_H): Update.
+       (c-decl.o, c-lang.o, c-format.o, lto-compress.o, lto-cgraph.o,
+       lto-streamer-out.o, lto-section-in.o, lto-streamer.o,
+       c-gimplify.o, omp-low.o, omega.o, diagnostic.o, passes.o,
+       builtins.o, jump.o, cgraph.o, varpool.o, matrix-reorg.o,
+       coverage.o, lambda-code.o): Update dependencies.
+
+2010-05-25  Dodji Seketeli  <dodji@redhat.com>
+
+       PR c++/44188
+       * c-common.c (is_typedef_decl): Move this definition ...
+       * tree.c (is_typedef_decl): ... here.
+       (typdef_variant_p): Move definition here from gcc/cp/tree.c.
+       * c-common.h (is_typedef_decl): Move this declaration ...
+       * tree.h (is_typedef_decl): ... here.
+       (typedef_variant_p): Move declaration here from gcc/cp/cp-tree.h
+       * dwarf2out.c (is_naming_typedef_decl): New function.
+       (gen_tagged_type_die): Split out of ...
+       (gen_type_die_with_usage): ... this function. When an anonymous
+       tagged type is named by a typedef, make sure a DW_TAG_typedef DIE
+       is emitted for the typedef.
+       (gen_typedef_die): Emit DW_TAG_typedef also for typedefs naming
+       anonymous tagged types.
+
+2010-05-27  Jason Merrill  <jason@redhat.com>
+
+       * print-tree.c (debug_vec_tree): New fn.
+       (print_vec_tree): New fn.
+       * tree.h: Declare them.
+       * gdbinit.in (pvt): New command.
+
+       * print-tree.c (print_node) [TREE_VEC]: Print elements normally.
+
+       * gdbinit.in (pdd): New command.
+
+2010-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * ipa-inline.c (cgraph_estimate_size_after_inlining): Make inline.
+       (update_caller_keys): Return early if there are no callers;
+       only update fibheap when decresing the key.
+       (update_callee_keys): Avoid recursion.
+       (decide_inlining_of_small_functions): When badness does not match;
+       re-insert into fibheap.
+
+2010-05-27  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in (ALL_CFLAGS): Add file-specific CFLAGS.
+       (ALL_HOST_FRONTEND_OBJS): New, for all front-end specific objects.
+       (ALL_HOST_BACKEND_OBJS): New, for all backend and target objects.
+       (ALL_HOST_OBJS): Now a union of the above two.
+       <section "Language makefile fragments">: Add -DIN_GCC_FRONTEND for
+       all files in ALL_HOST_FRONTEND_OBJS.
+       * system.h: Poison GCC_RTL_H if IN_GCC_FRONTEND is defined.
+
+       * c-common.c: Pretend to be a backend file by undefining
+       IN_GCC_FRONTEND (still need rtl.h here).
+
+2010-05-27  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.h (struct cgraph_node): Mark former_clone_of by GTY ((skip)).
+       * cgraphunit.c (clone_of_p): Compile only when checking is enabled.
+
 2010-05-27  Jan Hubicka  <jh@suse.cz>
 
        * sched-ebb.c: Rename struct deps to struct deps_desc.