aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSterling Augustine <sterling@gcc.gnu.org>2010-05-27 21:10:54 +0000
committerSterling Augustine <sterling@gcc.gnu.org>2010-05-27 21:10:54 +0000
commit1b408ba139d671e02b69aa5447e24f0801097442 (patch)
tree08e9791311e16dd98c8a9cfdd2c00720fbb6f26d /gcc
parent0bc25dd001075ffc6fd0b926a91912f52a251fc8 (diff)
downloadgcc-1b408ba139d671e02b69aa5447e24f0801097442.zip
gcc-1b408ba139d671e02b69aa5447e24f0801097442.tar.gz
gcc-1b408ba139d671e02b69aa5447e24f0801097442.tar.bz2
invoke.texi (xtensa options): Add -mforce-no-pic.
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 From-SVN: r159950
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11640
-rw-r--r--gcc/config/xtensa/xtensa.c2
-rw-r--r--gcc/config/xtensa/xtensa.opt4
-rw-r--r--gcc/doc/invoke.texi7
4 files changed, 11653 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 35ddd14..c32fcc3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11645 @@
+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.
+
+
+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.
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
index 34e1326..76e872d 100644
--- a/gcc/config/xtensa/xtensa.c
+++ b/gcc/config/xtensa/xtensa.c
@@ -2109,6 +2109,8 @@ override_options (void)
if (flag_pic && TARGET_CONST16)
error ("-f%s is not supported with CONST16 instructions",
(flag_pic > 1 ? "PIC" : "pic"));
+ else if (TARGET_FORCE_NO_PIC)
+ flag_pic = 0;
else if (XTENSA_ALWAYS_PIC)
{
if (TARGET_CONST16)
diff --git a/gcc/config/xtensa/xtensa.opt b/gcc/config/xtensa/xtensa.opt
index 0be75c4..18f8bf3 100644
--- a/gcc/config/xtensa/xtensa.opt
+++ b/gcc/config/xtensa/xtensa.opt
@@ -26,6 +26,10 @@ mfused-madd
Target Report Mask(FUSED_MADD)
Enable fused multiply/add and multiply/subtract FP instructions
+mforce-no-pic
+Target Report Mask(FORCE_NO_PIC)
+Disable position-independent code (PIC) for use in OS kernel code
+
mlongcalls
Target
Use indirect CALLXn instructions for large programs
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index baa8e88..17b1b3f 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -889,6 +889,7 @@ See i386 and x86-64 Options.
@emph{Xtensa Options}
@gccoptlist{-mconst16 -mno-const16 @gol
-mfused-madd -mno-fused-madd @gol
+-mforce-no-pic @gol
-mserialize-volatile -mno-serialize-volatile @gol
-mtext-section-literals -mno-text-section-literals @gol
-mtarget-align -mno-target-align @gol
@@ -17082,6 +17083,12 @@ When this option is enabled, GCC inserts @code{MEMW} instructions before
The default is @option{-mserialize-volatile}. Use
@option{-mno-serialize-volatile} to omit the @code{MEMW} instructions.
+@item -mforce-no-pic
+@opindex mforce-no-pic
+For targets, like GNU/Linux, where all user-mode Xtensa code must be
+position-independent code (PIC), this option disables PIC for compiling
+kernel code.
+
@item -mtext-section-literals
@itemx -mno-text-section-literals
@opindex mtext-section-literals