+2011-08-09 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c: Remove traling spaces.
+ * config/i386/sse.md: Likewise.
+ (*fma_fmadd_<mode>): Update.
+ (*fma_fmsub_<mode>): Likewise.
+ (*fma_fnmadd_<mode>): Likewise.
+ (*fma_fnmsub_<mode>): Likewise.
+
+2011-08-09 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md: Disable extender peepholes at -O3.
+
+2011-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49781
+ * config/i386/i386.md (reload_noff_load): New.
+ (reload_noff_store): Ditto.
+ * config/i386/i386.c (ix86_secondary_reload): Use
+ CODE_FOR_reload_noff_load and CODE_FOR_reload_noff_store to handle
+ double-word moves from/to non-offsetable addresses instead of
+ generating XMM temporary.
+
+2011-08-09 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
+
+2011-08-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50014
+ * tree-vect-loop.c (vectorizable_reduction): Get def type before
+ calling vect_get_vec_def_for_stmt_copy ().
+
+2011-08-08 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/49990
+ * ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
+ ignore classes which can not change mode.
+ (find_costs_and_classes): Ditto.
+
+2011-08-08 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/49990
+ * config/i386/i386.c (ix86_expand_prologue): Call
+ for SEH target gen_prologue_use instead of gen_blockage
+ at prologue's end.
+
+2011-08-08 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/49923
+ * tree-sra.c (access_precludes_ipa_sra_p): Also check access
+ memory alignment.
+
+2011-08-08 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (LTO_STREAMER_H): Add DIAGNOSTIC_H.
+ (DATA_STREAMER_H): New.
+ (GIMPLE_STREAMER_H): New.
+ (TREE_STREAMER_H): New.
+ (STREAMER_HOOKS_H): New.
+ (OBJS): Add data-streamer.o, data-streamer-in.o, data-streamer-out.o,
+ gimple-streamer-in.o, gimple-streamer-out.o, streamer-hooks.o,
+ tree-streamer.o, tree-streamer-in.o and tree-streamer-out.o.
+ (data-streamer.o): New.
+ (data-streamer-in.o): New.
+ (data-streamer-out.o): New.
+ (gimple-streamer-in.o): New.
+ (gimple-streamer-out.o): New.
+ (streamer-hooks.o): New.
+ (tree-streamer.o): New.
+ (tree-streamer-in.o): New.
+ (tree-streamer-out.o): New.
+ (lto-cgraph.o): Add dependency on DATA_STREAMER_H and TREE_STREAMER_H.
+ (lto-streamer-in.o): Add dependency on DATA_STREAMER_H,
+ GIMPLE_STREAMER_H and TREE_STREAMER_H.
+ (lto-streamer-out.o): Add dependency on DATA_STREAMER_H,
+ GIMPLE_STREAMER_H and TREE_STREAMER_H.
+ (lto-streamer.o): Add dependency on STREAMER_HOOKS_H.
+ (ipa-prop.o): Add dependency on DATA_STREAMER_H and TREE_STREAMER_H.
+ (ipa-inline-analysis.o): Likewise.
+ (ipa-pure-const.o): Likewise.
+ * data-streamer-in.c: New.
+ * data-streamer-out.c: New.
+ * data-streamer.c: New.
+ * data-streamer.h: New.
+ * gimple-streamer-in.c: New.
+ * gimple-streamer-out.c: New.
+ * gimple-streamer.h: New.
+ * ipa-inline-analysis.c: Include data-streamer.h.
+ * ipa-prop.c: Include data-streamer.h.
+ * ipa-pure-const.c: Include data-streamer.h.
+ * lto-cgraph.c: Include data-streamer.h.
+ * lto-section-in.c (lto_input_uleb128): Move to data-streamer-in.c.
+ (lto_input_widest_uint_uleb128): Likewise.
+ (lto_input_sleb128): Likewise.
+ (bp_unpack_var_len_unsigned): Likewise.
+ (bp_unpack_var_len_int): Likewise.
+ * lto-section-out.c (lto_output_uleb128_stream): Move to
+ data-streamer-out.c.
+ (lto_output_widest_uint_uleb128_stream): Likewise.
+ (lto_output_sleb128_stream): Likewise.
+ (bp_pack_var_len_unsigned): Likewise.
+ (bp_pack_var_len_int): Likewise.
+ * lto-streamer-in.c: Include data-streamer.h and gimple-streamer.h.
+ (struct string_slot): Remove. Update all users.
+ (lto_tag_check_set): Make extern.
+ (lto_tag_check_range): Move to lto-streamer.h.
+ (lto_tag_check): Likewise.
+ (hash_string_slot_node): Remove. Update all users.
+ (eq_string_slot_node): Remove. Update all users.
+ (string_for_index): Move to data-streamer-in.c
+ (input_string_internal): Likewise.
+ (input_string_cst): Move to tree-streamer-in.c.
+ (input_identifier): Likewise.
+ (lto_input_string): Move to data-streamer-in.c
+ (input_record_start): Move to data-streamer.h
+ (canon_file_name): Use new definition of struct string_slot
+ from data-streamer.h. Set S_SLOT.LEN.
+ (lto_input_location): Make extern.
+ (lto_input_chain): Move to tree-streamer-in.c.
+ (lto_init_eh): Make extern.
+ (input_phi): Move to gimple-streamer-in.c.
+ (input_gimple_stmt): Likewise.
+ (input_bb): Likewise.
+ (unpack_ts_base_value_fields): Move to tree-streamer-in.c.
+ (unpack_ts_real_cst_value_fields): Likewise.
+ (unpack_ts_fixed_cst_value_fields): Likewise.
+ (unpack_ts_decl_common_value_fields): Likewise.
+ (unpack_ts_decl_wrtl_value_fields): Likewise.
+ (unpack_ts_decl_with_vis_value_fields): Likewise.
+ (unpack_ts_function_decl_value_fields): Likewise.
+ (unpack_ts_type_common_value_fields): Likewise.
+ (unpack_ts_block_value_fields): Likewise.
+ (unpack_ts_translation_unit_decl_value_fields): Likewise.
+ (unpack_value_fields): Likewise.
+ (lto_materialize_tree): Likewise.
+ (lto_input_ts_common_tree_pointers): Likewise.
+ (lto_input_ts_vector_tree_pointers): Likewise.
+ (lto_input_ts_complex_tree_pointers): Likewise.
+ (lto_input_ts_decl_minimal_tree_pointers): Likewise.
+ (lto_input_ts_decl_common_tree_pointers): Likewise.
+ (lto_input_ts_decl_non_common_tree_pointers): Likewise.
+ (lto_input_ts_decl_with_vis_tree_pointers): Likewise.
+ (lto_input_ts_field_decl_tree_pointers): Likewise.
+ (lto_input_ts_function_decl_tree_pointers): Likewise.
+ (lto_input_ts_type_common_tree_pointers): Likewise.
+ (lto_input_ts_type_non_common_tree_pointers): Likewise.
+ (lto_input_ts_list_tree_pointers): Likewise.
+ (lto_input_ts_vec_tree_pointers): Likewise.
+ (lto_input_ts_exp_tree_pointers): Likewise.
+ (lto_input_ts_block_tree_pointers): Likewise.
+ (lto_input_ts_binfo_tree_pointers): Likewise.
+ (lto_input_ts_constructor_tree_pointers): Likewise.
+ (lto_input_ts_target_option): Likewise.
+ (lto_input_ts_translation_unit_decl_tree_pointers): Likewise.
+ (lto_input_tree_pointers): Likewise.
+ (lto_get_pickled_tree): Likewise.
+ (lto_get_builtin_tree): Likewise.
+ (lto_read_tree): Likewise.
+ (lto_input_integer_cst): Likewise.
+ (lto_input_tree): Likewise.
+ * lto-streamer-out.c: Include data-streamer.h,
+ gimple-streamer.h and streamer-hooks.h.
+ (struct string_slot): Move to data-streamer.h.
+ (hash_string_slot_node): Likewise.
+ (eq_string_slot_node): Likewise.
+ (lto_string_index): Move to data-streamer-out.c.
+ (lto_output_string_with_length): Likewise.
+ (lto_output_string): Likewise.
+ (output_string_cst): Move to tree-streamer-out.c.
+ (output_identifier): Likewise.
+ (output_zero): Move to data-streamer-out.c
+ (output_uleb128): Likewise.
+ (output_sleb128): Likewise.
+ (output_record_start): Move to data-streamer.h
+ (pack_ts_base_value_fields): Move to tree-streamer-out.c.
+ (pack_ts_real_cst_value_fields): Likewise.
+ (pack_ts_fixed_cst_value_fields): Likewise.
+ (pack_ts_decl_common_value_fields): Likewise.
+ (pack_ts_decl_wrtl_value_fields): Likewise.
+ (pack_ts_decl_with_vis_value_fields): Likewise.
+ (pack_ts_function_decl_value_fields): Likewise.
+ (pack_ts_type_common_value_fields): Likewise.
+ (pack_ts_block_value_fields): Likewise.
+ (pack_ts_translation_unit_decl_value_fields): Likewise.
+ (pack_value_fields): Likewise.
+ (lto_output_chain): Likewise.
+ (lto_output_ts_common_tree_pointers): Likewise.
+ (lto_output_ts_vector_tree_pointers): Likewise.
+ (lto_output_ts_complex_tree_pointers): Likewise.
+ (lto_output_ts_decl_minimal_tree_pointers): Likewise.
+ (lto_output_ts_decl_common_tree_pointers): Likewise.
+ (lto_output_ts_decl_non_common_tree_pointers): Likewise.
+ (lto_output_ts_decl_with_vis_tree_pointers): Likewise.
+ (lto_output_ts_field_decl_tree_pointers): Likewise.
+ (lto_output_ts_function_decl_tree_pointers): Likewise.
+ (lto_output_ts_type_common_tree_pointers): Likewise.
+ (lto_output_ts_type_non_common_tree_pointers): Likewise.
+ (lto_output_ts_list_tree_pointers): Likewise.
+ (lto_output_ts_vec_tree_pointers): Likewise.
+ (lto_output_ts_exp_tree_pointers): Likewise.
+ (lto_output_ts_block_tree_pointers): Likewise.
+ (lto_output_ts_binfo_tree_pointers): Likewise.
+ (lto_output_ts_constructor_tree_pointers): Likewise.
+ (lto_output_ts_target_option): Likewise.
+ (lto_output_ts_translation_unit_decl_tree_pointers): Likewise.
+ (lto_output_tree_pointers): Likewise.
+ (lto_output_tree_header): Likewise.
+ (lto_output_builtin_tree): Likewise.
+ (lto_write_tree): Likewise.
+ (lto_output_integer_cst): Likewise.
+ (lto_output_tree): Likewise.
+ (output_phi): Move to gimple-streamer-out.c.
+ (output_gimple_stmt): Likewise.
+ (output_bb): Likewise.
+ * lto-streamer.c: Include tree-streamer.h and streamer-hooks.h.
+ (streamer_hooks): Move to streamer-hooks.c.
+ (check_handled_ts_structures): Move to tree-streamer.c
+ (lto_streamer_cache_add_to_node_array): Likewise.
+ (lto_streamer_cache_insert_1): Likewise.
+ (lto_streamer_cache_insert): Likewise.
+ (lto_streamer_cache_insert_at): Likewise.
+ (lto_streamer_cache_append): Likewise.
+ (lto_streamer_cache_lookup): Likewise.
+ (lto_streamer_cache_get): Likewise.
+ (lto_record_common_node): Likewise.
+ (lto_preload_common_nodes): Likewise.
+ (lto_streamer_cache_create): Likewise.
+ (lto_streamer_cache_delete): Likewise.
+ (streamer_hooks_init): Move to streamer-hooks.c.
+ * lto-streamer.h: Include diagnostic.h
+ (struct output_block, struct lto_input_block,
+ struct data_in, struct bitpack_d): Remove forward declarations.
+ (struct bitpack_d): Move to data-streamer.h.
+ (struct lto_streamer_cache_d): Move to tree-streamer.h.
+ (struct streamer_hooks): Move to streamer-hooks.h.
+ (bp_pack_var_len_unsigned): Move to data-streamer.h.
+ (bp_pack_var_len_int): Likewise.
+ (bp_unpack_var_len_unsigned): Likewise.
+ (bp_unpack_var_len_int): Likewise.
+ (lto_input_location): Declare.
+ (lto_tag_check_set): Declare.
+ (lto_init_eh): Declare.
+ (lto_output_tree_ref): Declare.
+ (lto_output_location): Declare.
+ (bitpack_create): Move to data-streamer.h.
+ (bp_pack_value): Likewise.
+ (lto_output_bitpack): Likewise.
+ (lto_input_bitpack): Likewise.
+ (bp_unpack_value): Likewise.
+ (lto_output_1_stream): Likewise.
+ (lto_input_1_unsigned): Likewise.
+ (lto_output_int_in_range): Likewise.
+ (lto_input_int_in_range): Likewise.
+ (bp_pack_int_in_range): Likewise.
+ (bp_unpack_int_in_range): Likewise.
+ (lto_output_enum): Likewise.
+ (lto_input_enum): Likewise.
+ (bp_pack_enum): Likewise.
+ (bp_unpack_enum): Likewise.
+ * streamer-hooks.c: New.
+ * streamer-hooks.h: New.
+ * tree-streamer-in.c: New.
+ * tree-streamer-out.c: New.
+ * tree-streamer.c: New.
+ * tree-streamer.h: New.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gthr-posix95.h: Remove.
+ * gthr.h [_PTHREADS95]: Remove.
+ * configure.ac (enable_threads): Remove posix95.
+ * configure: Regenerate.
+ * doc/install.texi (Configuration, --enable-threads): Remove posix95.
+
+2011-08-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49781
+ * config/i386/i386.c (ix86_decompose_address): Allow zero-extended
+ SImode addresses.
+ (ix86_print_operand_address): Handle zero-extended addresses.
+ (memory_address_length): Add length of addr32 prefix for
+ zero-extended addresses.
+ (ix86_secondary_reload): Handle moves to/from double-word general
+ registers from/to zero-extended addresses.
+ * config/i386/predicates.md (lea_address_operand): Reject
+ zero-extended operands.
+
+2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR other/48007
+ * config.gcc (libgcc_tm_file): Add i386/value-unwind.h for Linux/x86.
+
+ * system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
+ (ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
+
+ * unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
+ (_Unwind_Context_Reg_Val): Likewise.
+ (_Unwind_Get_Unwind_Word): Likewise.
+ (_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
+ (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
+ (_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
+ for EXTENDED_CONTEXT_BIT.
+ (__frame_state_for): Likewise.
+ (uw_init_context_1): Likewise.
+ (_Unwind_GetGR): Updated.
+ (_Unwind_SetGR): Likewise.
+ (_Unwind_GetGRPtr): Likewise.
+ (_Unwind_SetGRPtr): Likewise.
+ (_Unwind_SetGRValue): Likewise.
+ (_Unwind_GRByValue): Likewise.
+ (uw_install_context_1): Likewise.
+
+ * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
+ ASSUME_EXTENDED_UNWIND_CONTEXT.
+ * doc/tm.texi: Regenerated.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (gengtype$(exeext)): Add $(LDFLAGS).
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/invoke.texi (DEC Alpha Options, -mcpu): native support isn't
+ Linux/GNU-specific.
+ (DEC Alpha Options, -mtune): Likewise.
+ (MIPS Options, -march): native is supported on IRIX.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/driver-sparc.c: New file.
+ * config/sparc/x-sparc: New file.
+ * config.host: Use driver-sparc.o, sparc/x-sparc on sparc*-*-solaris2*.
+ * config/sparc/sparc.opt (native): New value for enum processor_type.
+ * config/sparc/sparc-opts.h (PROCESSOR_NATIVE): Declare.
+ * config/sparc/sparc.c (sparc_option_override): Abort if
+ PROCESSOR_NATIVE gets here.
+ * config/sparc/sol2.h [__sparc__] (host_detect_local_cpu): Declare.
+ (EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS,
+ DRIVER_SELF_SPECS): Define.
+ * doc/invoke.texi (SPARC Options, -mcpu): Document native.
+ (SPARC Options, -mtune): Likewise.
+ * configure.ac (EXTRA_GCC_LIBS): Check for libkstat.
+ Substitute result.
+ * configure: Regenerate.
+ * Makefile.in (EXTRA_GCC_LIBS): Set.
+ (xgcc$(exeext)): Add $(EXTRA_GCC_LIBS).
+ (cpp$(exeext)): Likewise.
+
+2011-08-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (extract_range_from_unary_expr_1): New function,
+ split out from ...
+ (extract_range_from_unary_expr): ... here. Handle BIT_NOT_EXPR
+ by composition.
+
+2011-08-08 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR tree-optimization/50005
+ * ipa-inline-analysis (remap_predicate): Add cast to
+ silence signed/unsigned comparison warning.
+
+2011-08-08 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (get_sched_window): Use a table for the debug output.
+ Print the current ii.
+ (sms_schedule_by_order): Reduce whitespace in dump line.
+
+2011-08-08 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (get_sched_window): Use just one loop for predecessors
+ and one loop for successors. Fix upper bound of memory range.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50001
+ * config/alpha/alpha.c (alpha_instantiate_decls): New function.
+ (TARGET_INSTANTIATE_DECLS): New define.
+
+2011-08-06 Paolo Bonzini <bonzini@gnu.org>
+ Mikael Morin <mikael.morin@sfr.fr>
+
+ * Makefile.in (INCLUDES_FOR_TARGET): New.
+ (LIBGCC2_CFLAGS): Use it.
+ (CRTSTUFF_CFLAGS): Use it instead of INCLUDES.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_compute_frame_layout): Simplify
+ frame->save_regs_using_mov calculation.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ssemodesuffix): Remove V8SI mode.
+ * config/i386/sse.md (castmode): New mode attribute.
+ (avx_<castmode><avxsizesuffix>_<castmode>): Rename from
+ avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49494
+ * ipa-inline-analysis.c (remap_predicate): Add bounds check.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49500
+ * tree-emultls.c (new_emutls_decl):Add alias_of parameter;
+ handle aliases.
+ (create_emultls_var):New function.
+ (ipa_lower_emutls): Handle aliases correctly.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49735
+ * ipa-inline.c (recursive_inlining): Look through aliases.
+
+2011-08-05 Jason Merrill <jason@redhat.com>
+
+ * config/i386/i386.c (setup_incoming_varargs_ms_64): Move
+ declarations to beginning of function.
+
+2011-08-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/49900
+ * sched-ebb.c (add_deps_for_risky_insns): Also add dependencies to
+ ensure basic blocks stay in the same order.
+
+2011-08-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/s390/s390.c (s390_expand_cs_hqi): Add new arguments to
+ store_bit_field.
+ (s390_expand_atomic): Same.
+
+2011-08-05 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/49977
+ * dwarf2cfi.c (scan_insn_after): Split out of ...
+ (scan_trace): ... here. Correctly place notes wrt sequences.
+
+2011-08-05 Kaz Kojima <kkojima@gcc.gnu.org>
+ Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/49982
+ * expr.c (fixup_args_size_notes): Look through no-op moves.
+
+2011-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*push<mode>2): Use "o" constraint instead
+ of "m" for operand 0. Add type and mode attribute.
+ (*pushxf_nointeger"): Use "<" constraint for operand 0.
+ (*pushdf_rex64): New pattern, split out of *pushdf. Use "m"
+ constraint instead of "o" for opreand 1.
+ (*pushdf): Disable for TARGET_64BIT. Correct mode attribute.
+ (*movdi_internal_rex64): Use "!o" constraint instead of "!m" for
+ operand 0, alternative 4.
+ (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
+
+2011-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (lea_address_operand): Rename from
+ no_seg_address_operand.
+ * config/i386/i386.md (*lea_1): Update operand 1 predicate for rename.
+ (*lea_1_zext): Ditto.
+ (*lea_2): Ditto.
+ (*lea_2_zext): Ditto.
+
+2011-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_print_operand_address): Handle SUBREGs of
+ parts.base and parts.index.
+ * config/i386/predicates.md (aligned_operand): Ditto.
+ (cmpxchg8b_pic_memory_operand): Ditto.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/soft-fp: Move to ../libgcc.
+ * Makefile.in (SFP_MACHINE): Remove.
+ (libgcc-support): Remove $(SFP_MACHINE) dependency.
+ * config/arm/sfp-machine.h: Move to ../libgcc/config/arm.
+ * config/arm/t-arm-softfp: Move to
+ ../libgcc/config/arm/t-softfp.
+ * config/c6x/sfp-machine.h: Move to ../libgcc/config/c6x.
+ * config/c6x/t-c6x-softfp: Remove.
+ * config/i386/sfp-machine.h: Move to ../libgcc/config/i386.
+ * config/i386/t-fprules-softfp: Move to
+ ../libgcc/config/t-softfp-tf.
+ * config/ia64/sfp-machine.h: Move to ../libgcc/config/ia64.
+ * config/ia64/t-fprules-softfp: Remove.
+ * config/lm32/sfp-machine.h: Move to ../libgcc/config/lm32.
+ * config/lm32/t-fprules-softfp: Remove.
+ * config/moxie/sfp-machine.h: Remove.
+ * config/moxie/t-moxie-softfp: Remove.
+ * config/rs6000/darwin-ldouble-format: Move to
+ ../libgcc/config/rs6000/ibm-ldouble-format.
+ * config/rs6000/darwin-ldouble.c: Move to
+ ../libgcc/config/rs6000/ibm-ldouble.c
+ * config/rs6000/libgcc-ppc-glibc.ver: Move to ../libgcc/config/rs6000.
+ * config/rs6000/libgcc-ppc64.ver: Likewise.
+ * config/rs6000/sfp-machine.h: Likewise.
+ * config/rs6000/t-aix43 (SHLIB_MAPFILES): Remove
+ $(srcdir)/config/rs6000/libgcc-ppc64.ver.
+ (LIB2FUNCS_EXTRA): Remove.
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/rs6000/t-aix52: Likewise
+ * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/darwin-ldouble.c.
+ (SHLIB_MAPFILES): Remove.
+ * config/rs6000/t-darwin64 (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/darwin-ldouble.c.
+ * config/rs6000/t-fprules-softfp: Move to
+ ../libgcc/config/t-softfp-sfdf.
+ * config/rs6000/t-freebsd: Move to ../libgcc/config/rs6000.
+ * config/rs6000/t-linux64 (softfp_wrap_start, softfp_wrap_end): Remove.
+ * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/darwin-ldouble.c.
+ * config/score/sfp-machine.h: Move to ../libgcc/config/score.
+ * config/score/t-score-softfp: Remove.
+ * config.gcc (arm*-*-linux*): Remove arm/t-arm-softfp,
+ soft-fp/t-softfp from tmake_file.
+ (arm*-*-uclinux*): Likewise.
+ (arm*-*-ecos-elf): Likewise.
+ (arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
+ (arm*-*-rtems*): Likewise.
+ (arm*-*-elf): Likewise.
+ (moxie-*-elf): Remove moxie/t-moxie-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (moxie-*-uclinux*): Likewise.
+ (moxie-*-rtems*): Likewise.
+ (lm32-*-elf*): Remove lm32/t-fprules-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (lm32-*-rtems*): Likewise.
+ (lm32-*-uclinux*): Likewise.
+ (powerpc-*-freebsd*): Remove rs6000/t-freebsd,
+ rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
+ (powerpc-*-linux*, powerpc64-*-linux*): Remove
+ rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
+ (score-*-elf): Remove score/t-score-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (tic6x-*-elf): Remove c6x/t-c6x-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (tic6x-*-uclinux): Likewise.
+ (i[34567]86-*-darwin*, x86_64-*-darwin*): Remove i386/t-fprules-softfp,
+ soft-fp/t-softfp from tmake_file.
+ (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
+ (x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Likewise.
+ (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Likewise.
+ (i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
+ (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Likewise.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
+ (libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT) dependencies.
+ (libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
+ TPBIT, TPBIT_FUNCS.
+ * config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
+ * config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
+ Remove.
+ * config/arm/t-vxworks: Likewise.
+ * config/arm/t-wince-pe: Likewise.
+ * config/avr/t-avr (fp-bit.c, FPBIT): Remove.
+ * config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/bfin/t-bfin-elf: Likewise.
+ * config/bfin/t-bfin-linux: Likewise.
+ * config/bfin/t-bfin-uclinux: Likewise.
+ * config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
+ Remove.
+ * config/fr30/t-fr30: Likewise.
+ * config/frv/t-frv: Likewise.
+ * config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
+ * config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/m32c/t-m32c: Likewise.
+ * config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
+ * config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/mcore/t-mcore: Likewise.
+ * config/mep/t-mep: Likewise.
+ * config/microblaze/t-microblaze: Likewise.
+ * config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
+ * config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
+ * config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/mn10300/t-linux: Remove.
+ * config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/pdp11/t-pdp11: Likewise.
+ * config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
+ * config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
+ * config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
+ * config/rs6000/t-aix52: Likewise.
+ * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/ppc64-fp.c.
+ * config/rs6000/t-fprules-fpbit: Remove.
+ * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
+ * config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/sh/t-netbsd (FPBIT, DPBIT): Remove.
+ * config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/sparc/t-elf: Likewise.
+ * config/sparc/t-leon: Likewise.
+ * config/sparc/t-leon3: Likewise.
+ * config/spu/t-spu-elf: Likewise.
+ (DPBIT_FUNCS): Remove.
+ * config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/v850/t-v850: Likewise.
+ * config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
+ (avr-*-*): Likewise.
+ (h8300-*-rtems*): Set libgcc_tm_file.
+ (h8300-*-elf*): Likewise.
+ (powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
+ tmake_file.
+ (powerpc-*-eabisim*): Likewise.
+ (powerpc-*-elf*): Likewise.
+ (powerpc-*-eabialtivec*): Likewise.
+ (powerpc-xilinx-eabi*): Likewise.
+ (powerpc-*-eabi*): Likewise.
+ (powerpc-*-rtems*): Likewise.
+ (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
+ (powerpcle-*-elf*): Likewise.
+ (powerpcle-*-eabisim*): Likewise.
+ (powerpcle-*-eabi*): Likewise.
+ (rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
+ (am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
+ * doc/fragments.texi (Target Fragment, Floating Point Emulation):
+ Remove.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (UNWIND_H): Remove.
+ (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
+ ../libgcc/Makefile.in.
+ (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
+ (LIBUNWINDDEP): Remove.
+ (libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
+ (libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
+ LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
+ (stmp-int-hdrs): Remove $(UNWIND_H) dependency.
+ Don't copy $(UNWIND_H).
+ * config.gcc (ia64*-*-linux*): Remove with_system_libunwind handling.
+ * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
+ unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
+ unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
+ unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
+ * unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
+ * config/arm/libunwind.S, config/arm/pr-support.c,
+ config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
+ ../libgcc/config/arm.
+ * config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
+ * config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
+ * config/frv/t-frv ($(T)frvbegin$(objext)): Use
+ $(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
+ ($(T)frvend$(objext)): Likewise.
+ * config/ia64/t-glibc (LIB2ADDEH): Remove.
+ * config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
+ * config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
+ config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
+ ../libgcc/config/ia64.
+ * config/ia64/t-hpux (LIB2ADDEH): Remove.
+ * config/ia64/t-ia64 (LIB2ADDEH): Remove.
+ * config/ia64/t-vms (LIB2ADDEH): Remove.
+ * config/ia64/vms.h (UNW_IVMS_MODE,
+ MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
+ * config/picochip/t-picochip (LIB2ADDEH): Remove.
+ * config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
+ * config/rs6000/t-darwin (LIB2ADDEH): Remove.
+ * config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
+ * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
+ $(srcdir)/../libgcc to refer to unwinder sources.
+ * config/spu/t-spu-elf (LIB2ADDEH): Remove.
+ * config/t-darwin (LIB2ADDEH): Remove.
+ * config/t-freebsd (LIB2ADDEH): Remove.
+ * config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
+ * config/t-libunwind-elf: Move to ../libgcc/config.
+ * config/t-linux (LIB2ADDEH): Remove.
+ * config/t-sol2 (LIB2ADDEH): Remove.
+ * config/xtensa/t-xtensa (LIB2ADDEH): Remove.
+ * system.h (MD_FROB_UPDATE_CONTEXT): Poison.
+
+2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (processor_alias_table): Add core-avx-i.
+
+ * doc/invoke.texi: Document core-avx-i.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * tsystem.h (CONST_CAST2, CONST_CAST): Define.
+
+2011-08-05 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Use the
+ result of multiple results reduction when extracting the final
+ value using scalar code.
+
+2011-08-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49984
+ * tree-vrp.c (extract_range_from_binary_expr_1): Handle BIT_XOR_EXPR.
+
+2011-08-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always
+ return true for constant integer ranges.
+ (extract_range_from_binary_expr_1): Simplify BIT_AND_EXPR and
+ BIT_IOR_EXPR handling.
+
+2011-08-04 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (setup_incoming_varargs_ms_64): Set
+ ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero.
+
+2011-08-04 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Add new field for
+ pattern def statement, and its access macro.
+ (NUM_PATTERNS): Set to 5.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
+ pattern def statement.
+ (vect_transform_loop): Likewise.
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add new
+ function vect_recog_over_widening_pattern ().
+ (vect_operation_fits_smaller_type): New function.
+ (vect_recog_over_widening_pattern, vect_mark_pattern_stmts):
+ Likewise.
+ (vect_pattern_recog_1): Move the code that marks pattern
+ statements to vect_mark_pattern_stmts (), and call it. Update
+ documentation.
+ * tree-vect-stmts.c (vect_supportable_shift): New function.
+ (vect_analyze_stmt): Handle pattern def statement.
+ (new_stmt_vec_info): Initialize pattern def statement.
+
+2011-08-04 Richard Henderson <rth@redhat.com>
+
+ PR target/49964
+ * config/i386/i386.c (ix86_expand_call): Don't create nested
+ PARALLELs for TARGET_VZEROUPPER.
+ (ix86_split_call_vzeroupper): Fix extraction of the original call.
+ * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't
+ recognize nested PARALLELs.
+ (*call_pop_vzeroupper, *sibcall_pop_vzeroupper,
+ *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper,
+ *sibcall_value_pop_vzeroupper): Likewise.
+
+2011-08-04 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/49968
+ * calls.c (expand_call): Use fixup_args_size_notes for
+ emit_stack_restore.
+ * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets
+ in non-standard modes.
+
+2011-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (self_spec): New variable.
+ (static_specs): Add self_spec.
+ (main): Call do_self_spec on "self_spec" specs after reading
+ user specs files. Move compare_debug handling right after that.
+
+2011-08-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (vrp_expr_computes_nonnegative): Remove.
+ (value_range_nonnegative_p): New function.
+ (ssa_name_nonnegative_p): Use it.
+ (value_range_constant_singleton): New function.
+ (op_with_constant_singleton_value_range): Use it.
+ (extract_range_from_binary_expr_1): New function, split out from ...
+ (extract_range_from_binary_expr): ... this. Remove fallback
+ constant folding done here.
+
+2011-08-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49806
+ * tree-vrp.c (op_with_boolean_value_range_p): New function.
+ (simplify_truth_ops_using_ranges): Simplify. Allow inserting
+ a new statement for a final conversion to bool.
+
+2011-08-04 Romain Geissler <romain.geissler@gmail.com>
+
+ * gengtype-state.c: Include "bconfig.h" if
+ GENERATOR_FILE is defined, "config.h" otherwise.
+ * gengtype.c: Likewise.
+ * gengtype-lex.l: Likewise.
+ * gengtype-parse.c: Likewise.
+ * Makefile.in (gengtype-lex.o-warn): New variable.
+ (plugin_resourcesdir): Likewise.
+ (plugin_bindir): Likewise.
+ (plugin_includedir): Use $(plugin_resourcesdir) as prefix base.
+ (MOSTLYCLEANFILES): Add gengtype$(exeext).
+ (native): Depend on gengtype$(exeext) is $enable_plugin
+ is set to "yes".
+ (gtype.state): Depend on s-gtype. Use temporary file.
+ (gengtype-lex.o): New rule.
+ (gengtype-parse.o): Likewise.
+ (gengtype-state.o): Likewise.
+ (gengtype$(exeext)): Likewise.
+ (install-gengtype): Likewise.
+ (gengtype.o): Likewise.
+ (build/gengtype.o): Depend on version.h.
+ (build/gengtype-state): Depend on double-int.h, version.h,
+ $(HASHTAB_H), $(OBSTACK_H), $(XREGEX_H) and build/errors.o.
+ (install-plugin): Depend on install-gengtype.
+
+2011-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49905
+ * tree.h (init_attributes): New prototype.
+ * attribs.c (init_attributes): No longer static.
+
+2011-08-04 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/arm.c (arm_set_fixed_optab_libfunc): Constify
+ maybe_suffix.
+
+2011-08-03 David Li <davidxl@google.com>
+
+ * tree-optimize.c (execute_fixup_cfg): Fix up entry
+ outgoing edge counts after inlining.
+
+2011-08-03 David Li <davidxl@google.com>
+
+ * profile.c (compute_branch_probabilities): Compute
+ function frequency after profile annotation.
+
+2011-08-04 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): Simplify
+ use_backchain_to_restore_sp initialisation.
+ (rs6000_legitimate_offset_address_p): Simplify offset test.
+
+2011-08-03 Richard Henderson <rth@redhat.com>
+
+ * config/spu/spu.md: Use define_c_enum instead of define_constants.
+ (UNSPECV_BLOCKAGE, UNSPECV_LNOP, UNSPECV_SYNC): Rename from UNSPEC_*.
+ (UNSPECV_NOP): New.
+
+2011-08-03 Richard Henderson <rth@redhat.com>
+
+ PR target/34888
+ * config/avr/avr.md: New splitter for REG_ARGS_SIZE 0.
+
+2011-08-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49948
+ * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
+
+2011-08-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.c (class_sizes): Remove.
+ (reduce_class): Change arguments and return type to reg_class_t.
+ Change type cc var to HARD_REG_SET. Change type best var to
+ reg_class_t. Change type best_size var to unsigned int. Remove
+ initialization class_sizes var. Use reg_class_size array instead
+ of class_sizes. Use reg_class_contents array instead
+ of class_contents.
+
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49958
+ * fold-const.c (fold_binary_loc): Only associate
+ (+ (+ (* a b) c) (* d e)) as (+ (+ (* a b) (* d e)) c) if
+ overflow wraps.
+
+2011-08-03 Alan Modra <amodra@gmail.com>
+
+ PR rtl-optimization/49941
+ * jump.c (mark_jump_label): Comment.
+ (mark_jump_label_1): Set JUMP_LABEL for return jumps.
+ * emit-rtl.c (copy_rtx_if_shared_1, copy_insn_1): Leave RETURN shared.
+ (mark_used_flags): Don't mark RETURN.
+
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49938
+ * tree-scalar-evolution.c (interpret_loop_phi): Gracefully
+ deal with a POLYNOMIAL_CHREC.
+
+2011-08-03 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (calculate_stage_count,
+ calculate_must_precede_follow, get_sched_window,
+ try_scheduling_node_in_cycle, remove_node_from_ps): Add
+ declaration.
+ (update_node_sched_params, set_must_precede_follow, optimize_sc):
+ New functions.
+ (reset_sched_times): Call update_node_sched_params.
+ (sms_schedule): Call optimize_sc.
+ (get_sched_window): Change function arguments.
+ (sms_schedule_by_order): Update call to get_sched_window.
+ Call set_must_precede_follow.
+ (calculate_stage_count): Add function argument.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ PR target/49864
+ PR target/49879
+ * reg-notes.def (REG_ARGS_SIZE): New.
+ * calls.c (emit_call_1): Emit REG_ARGS_SIZE for call_pop.
+ (expand_call): Add REG_ARGS_SIZE to emit_stack_restore.
+ * cfgcleanup.c (old_insns_match_p): Don't allow cross-jumping to
+ different stack levels.
+ * combine-stack-adj.c (adjust_frame_related_expr): Remove.
+ (maybe_move_args_size_note): New.
+ (combine_stack_adjustments_for_block): Use it.
+ * combine.c (distribute_notes): Place REG_ARGS_SIZE.
+ * dwarf2cfi.c (dw_cfi_row_struct): Remove args_size member.
+ (dw_trace_info): Add beg_true_args_size, end_true_args_size,
+ beg_delay_args_size, end_delay_args_size, eh_head, args_size_undefined.
+ (cur_cfa): New.
+ (queued_args_size): Remove.
+ (add_cfi_args_size): Assert size is non-negative.
+ (stack_adjust_offset, dwarf2out_args_size): Remove.
+ (dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust): Remove.
+ (notice_args_size, notice_eh_throw): New.
+ (dwarf2out_frame_debug_def_cfa): Use cur_cfa.
+ (dwarf2out_frame_debug_adjust_cfa): Likewise.
+ (dwarf2out_frame_debug_cfa_offset): Likewise.
+ (dwarf2out_frame_debug_expr): Likewise. Don't stack_adjust_offset.
+ (dwarf2out_frame_debug): Don't handle non-frame-related-p insns.
+ (change_cfi_row): Don't emit args_size.
+ (maybe_record_trace_start_abnormal): Split out from ...
+ (maybe_record_trace_start): Here. Set args_size_undefined.
+ (create_trace_edges): Update to match.
+ (scan_trace): Handle REG_ARGS_SIZE.
+ (connect_traces): Connect args_size between EH insns.
+ * emit-rtl.c (try_split): Handle REG_ARGS_SIZE.
+ * explow.c (suppress_reg_args_size): New.
+ (adjust_stack_1): Split out from ...
+ (adjust_stack): ... here.
+ (anti_adjust_stack): Use it.
+ (allocate_dynamic_stack_space): Suppress REG_ARGS_SIZE.
+ * expr.c (mem_autoinc_base): New.
+ (fixup_args_size_notes): New.
+ (emit_single_push_insn_1): Rename from emit_single_push_insn.
+ (emit_single_push_insn): New. Generate REG_ARGS_SIZE.
+ * recog.c (peep2_attempt): Handle REG_ARGS_SIZE.
+ * reload1.c (reload_as_needed): Likewise.
+ * rtl.h (fixup_args_size_notes): Declare.
+
+2011-08-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR bootstrap/49914
+ * fold-const.c (fold_plusminus_mult_expr): Use abs_hwi instead
+ of abs.
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
+ * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ * config/h8300/h8300.c (push, pop): Return the insn.
+ (h8300_swap_into_er6): Generate correct unwind info.
+ (h8300_swap_out_of_er6): Likewise.
+ * dwarf2cfi.c (def_cfa_1): Clear cfa_cfi if we no longer have a
+ complex cfa expression.
+ (dwarf2out_frame_debug_def_cfa): Allow (plus (mem) (const_int)) too.
+
+2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ PR target/49878
+ * config/h8300/h8300.c (h8300_move_ok): New.
+ * config/h8300/h8300-protos.h: Declare it.
+ * config/h8300/h8300.md (P): New mode iterator.
+ (*movqi_h8300, *movqi_h8300hs, movqi): Use h8300_move_ok.
+ (*movqi_h8sx, *movhi_h8300, *movhi_h8300hs, movhi): Likewise.
+ (movsi, *movsi_h8300, *movsi_h8300hs): Likewise.
+ (*pushqi1_h8300): Rename from pushqi1_h8300; use PRE_MODIFY.
+ (*pushqi1_h8300hs_<P>): Macroize from pushqi1_h8300hs_advanced
+ and pushqi1_h8300hs_normal; use PRE_MODIFY and
+ register_no_sp_elim_operand.
+ (*pushhi1_h8300hs_<P>): Similarly.
+ (pushqi1, pushhi1, pushhi1_h8300): Remove.
+ * config/h8300/predicates.md (register_no_sp_elim_operand): New.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ PR target/49881
+ * config/avr/avr.md (push<MPUSH>1): Don't constrain the operand.
+
+2011-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ * c-parser.c (enum c_parser_prec): New enum, moved from within
+ c_parser_binary_expression.
+ (c_parser_binary_expression): Add PREC argument. Stop parsing
+ if operator has lower or equal precedence than PREC.
+ (c_parser_conditional_expression, c_parser_omp_for_loop): Adjust
+ callers.
+ (c_parser_omp_atomic): Handle parsing OpenMP 3.1 atomics.
+ Adjust c_finish_omp_atomic caller.
+ (c_parser_omp_taskyield): New function.
+ (c_parser_pragma): Handle PRAGMA_OMP_TASKYIELD.
+ (c_parser_omp_clause_name): Handle final and mergeable clauses.
+ (c_parser_omp_clause_final, c_parser_omp_clause_mergeable): New
+ functions.
+ (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FINAL
+ and PRAGMA_OMP_CLAUSE_MERGEABLE.
+ (OMP_TASK_CLAUSE_MASK): Allow final and mergeable clauses.
+ (c_parser_omp_clause_reduction): Handle min and max.
+ * c-typeck.c (c_finish_omp_clauses): Don't complain about
+ const qualified predetermined vars in firstprivate clause.
+ andle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+ Handle MIN_EXPR and MAX_EXPR.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_FINAL
+ and OMP_CLAUSE_MERGEABLE.
+ (dump_generic_node): Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD
+ and OMP_ATOMIC_CAPTURE_NEW.
+ * tree.c (omp_clause_num_ops): Add OMP_CLAUSE_FINAL and
+ OMP_CLAUSE_MERGEABLE.
+ (omp_clause_code_name): Likewise.
+ (walk_tree_1): Handle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+ * tree.h (enum omp_clause_code): Add OMP_CLAUSE_FINAL
+ and OMP_CLAUSE_MERGEABLE.
+ (OMP_CLAUSE_FINAL_EXPR): Define.
+ * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_FINAL and
+ OMP_CLAUSE_MERGEABLE.
+ (expand_task_call): Likewise.
+ (expand_omp_atomic_load, expand_omp_atomic_store): New functions.
+ (expand_omp_atomic_fetch_op): Handle cases where old or new
+ value is needed afterwards.
+ (expand_omp_atomic): Call expand_omp_atomic_load resp.
+ expand_omp_atomic_store.
+ * gimplify.c (gimplify_omp_atomic, gimplify_expr): Handle
+ OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and OMP_ATOMIC_CAPTURE_NEW.
+ (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
+ OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+ * tree-nested.c (convert_nonlocal_omp_clauses,
+ convert_local_omp_clauses): Likewise.
+ * tree.def (OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD,
+ OMP_ATOMIC_CAPTURE_NEW): New.
+ * gimple.h (GF_OMP_ATOMIC_NEED_VALUE): New.
+ (gimple_omp_atomic_need_value_p, gimple_omp_atomic_set_need_value):
+ New inlines.
+ * omp-builtins.def (BUILT_IN_GOMP_TASKYIELD): New builtin.
+ * doc/generic.texi: Mention OMP_CLAUSE_COLLAPSE,
+ OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+
+2011-08-02 Kai Tietz <ktietz@redhat.com>
+
+ * gimple.c (canonicalize_cond_expr_cond): Handle cast from
+ boolean-type.
+ (ssa_forward_propagate_and_combine): Interprete result of
+ forward_propagate_comparison.
+ * gcc/gimple-fold.c (fold_gimple_assign): Add canonicalization for
+ boolean-typed operands for comparisons.
+
+2011-08-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/libgcc.S: Gather related function in the
+ same input section.
+ (__mulqihi3, __mulqihi3, __divmodqi4, __divmodhi4, __udivmodsi4,
+ __divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external
+ references.
+ (__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4,
+ __udivmodsi4, __divmodsi4, __prologue_saves__,
+ __epilogue_restores__, _exit, __tablejump2__, __tablejump__,
+ __do_copy_data, __do_clear_bss, __do_global_ctors,
+ __do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF.
+
+2011-08-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47766
+ * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
+ (stack_protect_test): The pattern compares ptr_mode value.
+
+2011-08-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
+ note for save_LR_around_toc_setup sequence.
+
+2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/lzcntintrin.h (__lzcnt64): Replace long with long long.
+
+2011-08-01 Sebastian Pop <sebastian.pop@amd.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
+ * hwint.c: Include diagnostic-core.h.
+ (abs_hwi): New.
+ (gcd): Moved here...
+ (pos_mul_hwi): New.
+ (mul_hwi): New.
+ (least_common_multiple): Moved here...
+ * hwint.h (gcd): ... from here.
+ (least_common_multiple): ... from here.
+ (HOST_WIDE_INT_MIN): New.
+ (HOST_WIDE_INT_MAX): New.
+ (abs_hwi): Declared.
+ (gcd): Declared.
+ (pos_mul_hwi): Declared.
+ (mul_hwi): Declared.
+ (least_common_multiple): Declared.
+ * omega.c (check_pos_mul): Removed.
+ (check_mul): Removed.
+ (omega_solve_geq): Use pos_mul_hwi instead of check_pos_mul and
+ mul_hwi instead of check_mul.
+
+2011-08-01 Richard Henderson <rth@redhat.com>
+
+ PR target/49881
+ * config/avr/avr.h (PUSH_ROUNDING): New.
+ * config/avr/avr.md (pushqi1): Rename from *pushqi.
+ (*pushhi, *pushsi, *pushsf): Remove.
+ (MPUSH): New mode iterator.
+ (push<MPUSH>1): New expander.
+
+2011-08-01 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (PREFERRED_RELOAD_CLASS,
+ PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
+ * config/mmix/mmix-protos.h (mmix_preferred_reload_class,
+ mmix_preferred_output_reload_class): Remove.
+ * config/mmix/mmix.c (mmix_preferred_reload_class,
+ mmix_preferred_output_reload_class): Make static. Change rclass
+ argument and return type to reg_class_t.
+ (TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+
+2011-08-01 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER
+ handling.
+
+2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47766
+ * config/i386/i386.md (PTR): New.
+ (stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
+ (stack_protect_test): Likewise.
+ (stack_protect_set_<mode>): Replace ":P" with ":PTR".
+ (stack_tls_protect_set_<mode>): Likewise.
+ (stack_tls_protect_test_<mode>): Likewise.
+
+2011-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49927
+ * config/i386/i386.c (ix86_address_subreg_operand): New.
+ (ix86_decompose_address): Use ix86_address_subreg_operand.
+ (ix86_legitimate_address_p): Do not assert that subregs satisfy
+ register_no_elim_operand in DImode.
+
+2011-08-01 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49926
+ * tree-vect-loop.c (vect_is_slp_reduction): Check that a statement
+ in a chain doesn't have uses both inside and outside the loop.
+
+2011-08-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (mcu_type_s): Add errata_skip field.
+ * config/avr/avr-devices.c (avr_mcu_types): Use it.
+ * config/avr/avr-mcus.def (AVR_MCU): Use it.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin
+ define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__.
+ * config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit):
+ Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__
+ to detect if XJMP must not be skipped.
+
+2011-08-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p):
+ Delete.
+ * config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
+ (rs6000_emit_prologue): Don't prematurely return when
+ TARGET_SINGLE_PIC_BASE. Don't emit eh_frame info in
+ save_toc_in_prologue case.
+ (rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
+ calls_alloca.
+
+2011-08-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-devices.c: Delete SVN property svn:executable.
+ * config/avr/predicates.md: Ditto.
+ * config/avr/driver-avr.c: Ditto.
+ * config/avr/genopt.sh: Set SVN property svn:executable to *.
+
+2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * calls.c (emit_library_call_value_1): Declare size only if
+ BLOCK_REG_PADDING is defined.
+
+2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/49547
+ * config.gcc (i[34567]86-*-*): Replace abmintrin.h with lzcntintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/i386.opt (mlzcnt): New.
+ * config/i386/abmintrin.h: File removed.
+ (__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
+ * config/i386/lzcntintrin.h: ... here. New file.
+ (__lzcnt): Rename to ...
+ (__lzcnt32): ... this.
+ * config/i386/bmiintrin.h (head): Update copyright year.
+ (__lzcnt_u16): Removed.
+ (__lzcnt_u32): Likewise.
+ (__lzcnt_u64): Likewise.
+ * config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
+ is defined, remove abmintrin.h.
+ * config/i386/cpuid.h (bit_LZCNT): New.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ LZCNT feature.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Define
+ __LZCNT__ if needed.
+ * config/i386/i386.c (ix86_target_string): New option -mlzcnt.
+ (ix86_option_override_internal): Handle LZCNT option.
+ (ix86_valid_target_attribute_inner_p): Likewise.
+ (struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update.
+ * config/i386/i386.h (TARGET_LZCNT): New.
+ (CLZ_DEFINED_VALUE_AT_ZERO): Update.
+ * config/i386/i386.md (clz<mode>2): Update insn constraint.
+ (clz<mode>2_lzcnt): Likewise.
+ * doc/invoke.texi: Mention -mlzcnt option.
+ * doc/extend.texi: Likewise.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * configure.ac (fixed-point): Add ARM support.
+ * configure: Regenerate.
+ * config/arm/arm.c (arm_fixed_mode_set): New struct.
+ (arm_set_fixed_optab_libfunc): New.
+ (arm_set_fixed_conv_libfunc): New.
+ (arm_init_libfuncs): Initialise fixed-point helper libfuncs with
+ ARM-specific names.
+ (aapcs_libcall_value): Return sub-word-size fixed-point libcall
+ return values in SImode.
+ (arm_return_in_msb): Return fixed-point types in the msb.
+ (arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
+ upwards.
+ (arm_scalar_mode_supported_p): Support fixed-point modes.
+ (arm_vector_mode_supported_p): Support vector fixed-point modes.
+ * config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
+ (LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
+ (SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
+ (LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
+ * config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
+ New mode iterators.
+ (qaddsub_suf): New mode attribute.
+ * config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
+ vector modes.
+ * config/arm/predicates.md (sat_shift_operator): New predicate.
+ * config/arm/arm-fixed.md: New.
+ * config/arm/arm.md: Include arm-fixed.md.
+ * config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * calls.c (emit_library_call_value_1): Support padding for libcall
+ arguments and return values.
+ * config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
+ downwards in big-endian mode.
+
+2011-08-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR debug/49887
+ * config/sol2.c (solaris_code_end): Rename to solaris_file_end.
+ * config/sol2-protos.h: Likewise.
+ * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call
+ solaris_code_end.
+ * config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine.
+ * config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call
+ solaris_file_end.
+ * config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * final.c (output_addr_const): Print fixed-point constants as
+ decimal not hex.
+
+2011-08-01 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (initialize_sizetypes): Properly sign-extend
+ bitsiztype TYPE_MAX_VALUE.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point
+ comparison helpers.
+
+2011-07-31 Richard Henderson <rth@redhat.com>
+
+ * config/h8300/crti.asm: Add flags to .section directive.
+ * config/h8300/crtn.asm: Likewise.
+
+2011-07-31 Richard Henderson <rth@redhat.com>
+
+ * stor-layout.c (initialize_sizetypes): Handle unsigned short.
+ * tree.c (build_common_tree_nodes): Likewise.
+
+2011-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49880
+ * config/sh/sh.md (udivsi3_i1): Enable for TARGET_DIVIDE_CALL_DIV1.
+ (divsi3_i1): Likewise.
+
+2011-07-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49749
+ * tree-ssa-reassoc.c (get_rank): New forward declaration.
+ (PHI_LOOP_BIAS): New macro.
+ (phi_rank): New function.
+ (loop_carried_phi): Likewise.
+ (propagate_rank): Likewise.
+ (get_rank): Add calls to phi_rank and propagate_rank.
+
+2011-07-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/x86-64.h (SIZE_TYPE): Check TARGET_LP64 instead
+ of TARGET_64BIT.
+ (PTRDIFF_TYPE): Likewise.
+
+2011-07-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49920
+ * config/i386/i386.md (strset): Do not expand strset_singleop
+ when %eax or $edi are fixed.
+ (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
+ (*strsetsi_1): Ditto.
+ (*strsethi_1): Ditto.
+ (*strsetqi_1): Ditto.
+ (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
+ (*rep_stossi): Ditto.
+ (*rep_stosqi): Ditto.
+ (*strlenqi_1): Ditto.
+ (cmpstrnsi): Also fail when %ecx is fixed.
+ (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
+ (*cmpstrnqi_1): Ditto.
+ (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
+ (*strmovsi_1): Ditto.
+ (*strmovhi_1): Ditto.
+ (*strmovqi_1): Ditto.
+ (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
+ (*rep_movsi): Ditto.
+ (*rep_movqi): Ditto.
+
+2011-07-31 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR target/47908
+ * config/m68k/m68k.c (m68k_override_options_after_change): New function.
+ Disable instruction scheduling for non-ColdFire targets.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
+
+2011-07-31 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (create_ddg_dep_from_intra_loop_link): Remove the creation
+ of anti-dep edge from a branch.
+ (add_cross_iteration_register_deps): Create anti-dep edge from
+ a branch.
+
+2011-07-31 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c: Change comment.
+ (reset_sched_times): Fix print message.
+ (print_partial_schedule): Add print info.
+
+2011-07-31 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of
+ get_object_alignment and TYPE_ALIGN.
+
+2011-07-30 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * tree-ssa-dce.c (ref_may_be_aliased): Add assert.
+ (propagate_necessity): Handle WITH_SIZE_EXPR call arg.
+
+2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/driver-native.c [__sgi__]: Include <invent.h>,
+ <sys/sbd.h>.
+ (cpu_types): New array.
+ (cputype): New function.
+ (host_detect_local_cpu): Only define buf, f if !__sgi__.
+ Use scaninvent instead of /proc/cpuinfo if __sgi__.
+ * config.host: Also use driver-native.o, mips/x-native on
+ mips-sgi-irix*.
+ * config/mips/iris6.h [__mips__] (host_detect_local_cpu): Declare.
+ (EXTRA_SPEC_FUNCTIONS, MARCH_MTUNE_NATIVE_SPECS): Define.
+ (DRIVER_SELF_SPECS): Add MARCH_MTUNE_NATIVE_SPECS.
+
+2011-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49897
+ PR middle-end/49898
+ * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
+ in nested parallel and outer is a gimple_reg, mark it as addressable
+ and set its bit in task_shared_vars bitmap too.
+
+2011-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (tp_or_register_operand): Remove predicate.
+
+2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/driver-alpha.c (IMPLVER_EV4_FAMILY,
+ IMPLVER_EV5_FAMILY, IMPLVER_EV6_FAMILY, IMPLVER_EV7_FAMILY): Define.
+ (AMASK_BWX, AMASK_FIX, AMASK_CIX, AMASK_MVI, AMASK_PRECISE,
+ AMASK_LOCKPFTCHOK): Define.
+ (host_detect_local_cpu): Remove buf, f, cpu_names.
+ Define cpu_types, implver, amask.
+ Use __builtin_alpha_implver, __builtin_alpha_amask to determine
+ native CPU.
+ * config.host: Also use driver-alpha.o, alpha/x-alpha on
+ alpha*-dec-osf*.
+ * config/alpha/osf5.h [__alpha__ || __alpha]
+ (host_detect_local_cpu): Declare.
+ (EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS)
+ (DRIVER_SELF_SPECS): Define.
+
+2011-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47715
+ * config/i386/i386.md (*load_tp_x32): New.
+ (*load_tp_x32_zext): Ditto.
+ (*add_tp_x32): Ditto.
+ (*add_tp_x32_zext): Ditto.
+ (*load_tp_<mode>): Disable for TARGET_X32 targets.
+ (*add_tp_<mode>): Ditto.
+ * config/i386/i386.c (get_thread_pointer): Load thread pointer in
+ ptr_mode and convert to Pmode if needed.
+
+2011-07-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49687
+ * config/avr/avr.md (mulsi3, *mulsi3, mulu<mode>si3,
+ muls<mode>si3, mulohisi3, mulhisi3, umulhisi3, usmulhisi3,
+ *<any_extend:extend_prefix><any_extend2:extend_prefix>mul<QIHI:mode><QIHI2:mode>si3):
+ Add X to register footprint: Clobber r26/r27.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (fold_builtin_signbit): Build the comparison
+ with a proper type.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49893
+ * tree-predcom.c (suitable_reference_p): Volatile references
+ are not suitable.
+
+2011-07-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
+ (__ctzsi2): Result for 0 may be undefined.
+ (__ctzhi2): Result for 0 may be undefined.
+ (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
+ (__popcountsi2): Ditto. And don't clobber r26.
+ (__popcountdi2): Ditto. And don't clobber r27.
+ * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
+ (parityhi2): New expand.
+ (paritysi2): New expand.
+ (popcounthi2): New expand.
+ (popcountsi2): New expand.
+ (clzhi2): New expand.
+ (clzsi2): New expand.
+ (ctzhi2): New expand.
+ (ctzsi2): New expand.
+ (ffshi2): New expand.
+ (ffssi2): New expand.
+ (copysignsf3): New insn.
+ (bswapsi2): New expand.
+ (*parityhi2.libgcc): New insn.
+ (*parityqihi2.libgcc): New insn.
+ (*paritysihi2.libgcc): New insn.
+ (*popcounthi2.libgcc): New insn.
+ (*popcountsi2.libgcc): New insn.
+ (*popcountqi2.libgcc): New insn.
+ (*popcountqihi2.libgcc): New insn-and-split.
+ (*clzhi2.libgcc): New insn.
+ (*clzsihi2.libgcc): New insn.
+ (*ctzhi2.libgcc): New insn.
+ (*ctzsihi2.libgcc): New insn.
+ (*ffshi2.libgcc): New insn.
+ (*ffssihi2.libgcc): New insn.
+ (*bswapsi2.libgcc): New insn.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (get_value_range): Only set parameter default
+ definitions to varying, leave others at undefined.
+ (extract_range_from_binary_expr): Fix undefined handling.
+ (vrp_visit_phi_node): Handle merged undefined state.
+
+2011-07-29 Wei Guozhi <carrot@google.com>
+
+ PR rtl-optimization/49799
+ * combine.c (make_compound_operation): Check if the bit field is valid
+ before change it to bit field extraction.
+
+2011-07-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/49891
+ * cfgrtl.c (force_nonfallthru_and_redirect): Set JUMP_LABEL for
+ newly created returnjumps.
+
+2011-07-28 DJ Delorie <dj@redhat.com>
+
+ * expr.c (expand_expr_addr_expr_1): Detect a user request for a
+ local frame in a naked function, and produce a suitable error for
+ that specific case.
+
+ * config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
+ registers to be reloaded in HI classes when the target is HI.
+
+2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with
+ bound_one, bound_two.
+
+2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/48648
+ * graphite-clast-to-gimple.c (clast_get_body_of_loop): Handle
+ CLAST assignments.
+ (translate_clast): Same.
+ (translate_clast_assignment): New.
+
+2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/49876
+ * sese.c (rename_uses): Do not return false on gloog_error: set
+ the new_expr to integer_zero_node and continue code generation.
+ (graphite_copy_stmts_from_block): Remove early exit on gloog_error.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49846
+ * var-tracking.c (prepare_call_arguments): For non-MODE_INT stack
+ arguments also check if they aren't initialized with a MODE_INT
+ mode of the same size.
+
+2011-07-28 Aldy Hernandez <aldyh@redhat.com>
+
+ * expr.c (get_bit_range): Handle *MEM_REF's.
+
+2011-07-28 Bernd Schmidt <bernds@codesourcery.com>
+
+ * rtlanal.c (tablejump_p): False for returns.
+ * reorg.c (first_active_target_insn): New static function.
+ (find_end_label): Set JUMP_LABEL for a new returnjump.
+ (optimize_skip, get_jump_flags, rare_destination,
+ mostly_true_jump, get_branch_condition,
+ steal_delay_list_from_target, own_thread_p,
+ fill_simple_delay_slots, follow_jumps, fill_slots_from_thread,
+ fill_eager_delay_slots, relax_delay_slots, make_return_insns,
+ dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs.
+ * jump.c (delete_related_insns): Likewise.
+ (jump_to_label_p): New function.
+ (redirect_target): New static function.
+ (redirect_exp_1): Use it. Adjust to handle ret_rtx in JUMP_LABELS.
+ (redirect_jump_1): Assert that the new label is nonnull.
+ (redirect_jump): Likewise.
+ (redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels.
+ * ifcvt.c (find_if_case_1): Take care when redirecting jumps to the
+ exit block.
+ (dead_or_predicable): Change NEW_DEST arg to DEST_EDGE. All callers
+ changed. Ensure that the right label is passed to redirect_jump.
+ * function.c (emit_return_into_block,
+ thread_prologue_and_epilogue_insns): Ensure new returnjumps have
+ ret_rtx in their JUMP_LABEL.
+ * print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL.
+ * emit-rtl.c (skip_consecutive_labels): Allow the caller to
+ pass ret_rtx as label.
+ * cfglayout.c (fixup_reorder_chain): Use
+ force_nonfallthru_and_redirect rather than force_nonfallthru.
+ (duplicate_insn_chain): Copy JUMP_LABELs for returns.
+ * rtl.h (ANY_RETURN_P): New macro.
+ (jump_to_label_p): Declare.
+ * resource.c (find_dead_or_set_registers): Handle ret_rtx in
+ JUMP_LABELs.
+ (mark_target_live_regs): Likewise.
+ * basic-block.h (force_nonfallthru_and_redirect): Declare.
+ * cfgrtl.c (force_nonfallthru_and_redirect): No longer static.
+ * config/alpha/alpha.c (alpha_tablejump_addr_vec,
+ alpha_tablejump_best_label): Remove functions.
+ * config/alpha/alpha-protos.c (alpha_tablejump_addr_vec,
+ alpha_tablejump_best_label): Remove declarations.
+ * config/sh/sh.c (barrier_align, split_branches): Adjust for
+ ret_rtx in JUMP_LABELs.
+ * config/arm/arm.c (is_jump_table): Likewise.
+
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (pic_32bit_opreand): Do not define as
+ special predicate. Remove explicit mode checks.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize
+ DW_AT_data_member_location containing just DW_OP_plus_uconst.
+
+ PR debug/49871
+ * dwarf2out.c (size_of_die, value_format, output_die): Use
+ DW_FORM_udata instead of DW_FORM_data[48] for
+ dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*tls_global_dynamic_64): Update
+ length attribute.
+
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47715
+ * config/i386/i386.md (*tls_global_dynamic_64): Remove mode from
+ tls_symbolic_operand check. Update code sequence for TARGET_X32.
+ (tls_global_dynamic_64): Remove mode from tls_symbolic_operand check.
+ (tls_dynamic_gnu2_64): Ditto.
+ (*tls_dynamic_gnu2_lea_64): Ditto.
+ (*tls_dynamic_gnu2_call_64): Ditto.
+ (*tls_dynamic_gnu2_combine_64): Ditto.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Set need_64bit_hwint to yes for x86 targets.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47364
+ * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
+
+2011-07-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
+ before the core constraints. Adjust attributes.
+ ("*thumb2_movdf_vfp"): Likewise.
+
+2011-07-28 Kai Tietz <ktietz@redhat.com>
+
+ * tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.
+ (simplify_truth_ops_using_ranges): Likewise.
+ (build_assert_expr_for): Likewise.
+ (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case
+ and handle BIT_NOT_EXPR for truth-operation.
+
+2011-07-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ Undo r176835 from trunk
+ 2011-07-27 Georg-Johann Lay
+
+2011-07-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49687
+ * config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit.
+ Add _muluhisi3, _mulshisi3, _usmulhisi3.
+ * config/avr/libgcc.S (__mulsi3): Rewrite.
+ (__mulhisi3): Rewrite.
+ (__umulhisi3): Rewrite.
+ (__usmulhisi3): New.
+ (__muluhisi3): New.
+ (__mulshisi3): New.
+ (__mulohisi3): New.
+ (__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to
+ declare.
+ * config/avr/predicates.md (pseudo_register_operand): Rewrite.
+ (pseudo_register_or_const_int_operand): New.
+ (combine_pseudo_register_operand): New.
+ (u16_operand): New.
+ (s16_operand): New.
+ (o16_operand): New.
+ * config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI.
+ * config/avr/avr.md (QIHI, QIHI2): New mode iterators.
+ (any_extend, any_extend2): New code iterators.
+ (extend_prefix): New code attribute.
+ (mulsi3): Rewrite. Turn insn to expander.
+ (mulhisi3): Ditto.
+ (umulhisi3): Ditto.
+ (usmulhisi3): New expander.
+ (*mulsi3): New insn-and-split.
+ (mulu<mode>si3): New insn-and-split.
+ (muls<mode>si3): New insn-and-split.
+ (mulohisi3): New insn-and-split.
+ (*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3,
+ *usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3,
+ *sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3,
+ *ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New
+ insn-and-split.
+ (*mulsi3_call): Rewrite.
+ (*mulhisi3_call): Rewrite.
+ (*umulhisi3_call): Rewrite.
+ (*usmulhisi3_call): New insn.
+ (*muluhisi3_call): New insn.
+ (*mulshisi3_call): New insn.
+ (*mulohisi3_call): New insn.
+ (extendqihi2): Use combine_pseudo_register_operand as predicate
+ for operand 1.
+ (extendqisi2): Ditto.
+ (zero_extendqihi2): Ditto.
+ (zero_extendqisi2): Ditto.
+ (zero_extendhisi2): Ditto.
+ (extendhisi2): Ditto. Don't early-clobber operand 0.
+
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/49471
+ * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
+ iv only when the largest type is unsigned. Do not call
+ lang_hooks.types.type_for_size.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45450
+ * graphite-poly.c (apply_poly_transforms): Disable legality check
+ after an openscop read.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47691
+ * graphite-clast-to-gimple.c (translate_clast_user): Update use of
+ copy_bb_and_scalar_dependences.
+ * sese.c (rename_uses): Do not call gcc_assert. Set gloog_error.
+ (graphite_copy_stmts_from_block): Update call to rename_uses.
+ (copy_bb_and_scalar_dependences): Update call to
+ graphite_copy_stmts_from_block.
+ * sese.h (copy_bb_and_scalar_dependences): Update declaration.
+
+2011-07-27 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
+ (__ctzsi2): Result for 0 may be undefined.
+ (__ctzhi2): Result for 0 may be undefined.
+ (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
+ (__popcountsi2): Ditto. And don't clobber r26.
+ (__popcountdi2): Ditto. And don't clobber r27.
+ * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
+ (parityhi2): New expand.
+ (paritysi2): New expand.
+ (popcounthi2): New expand.
+ (popcountsi2): New expand.
+ (clzhi2): New expand.
+ (clzsi2): New expand.
+ (ctzhi2): New expand.
+ (ctzsi2): New expand.
+ (ffshi2): New expand.
+ (ffssi2): New expand.
+ (copysignsf3): New insn.
+ (bswapsi2): New expand.
+ (*parityhi2.libgcc): New insn.
+ (*parityqihi2.libgcc): New insn.
+ (*paritysihi2.libgcc): New insn.
+ (*popcounthi2.libgcc): New insn.
+ (*popcountsi2.libgcc): New insn.
+ (*popcountqi2.libgcc): New insn.
+ (*popcountqihi2.libgcc): New insn-and-split.
+ (*clzhi2.libgcc): New insn.
+ (*clzsihi2.libgcc): New insn.
+ (*ctzhi2.libgcc): New insn.
+ (*ctzsihi2.libgcc): New insn.
+ (*ffshi2.libgcc): New insn.
+ (*ffssihi2.libgcc): New insn.
+ (*bswapsi2.libgcc): New insn.
+
+2011-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_move): Do not explicitly check
+ the mode of symbolic_opreand RTXes.
+
+2011-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (x86_64_movabs_operand): Return false
+ for pic_32bit_operand RTXes.
+ * config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
+ in DImode.
+
+2011-07-27 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Allow -mabi
+ for 32-bit, too.
+ (ix86_handle_abi_attribute): Allow function attributes
+ ms_abi/sysv_abi in 32-bit mode, too.
+ * doc/extend.texi: Adjust attribute documentation.
+
+ * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
+ expression handling.
+ (and_var_with_comparison_1): Likewise.
+
+2011-07-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * params.h (ALLOW_STORE_DATA_RACES): New.
+ * params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
+ * Makefile.in (expr.o): Depend on PARAMS_H.
+ * machmode.h (get_best_mode): Add argument.
+ * fold-const.c (optimize_bit_field_compare): Add argument to
+ get_best_mode.
+ (fold_truthop): Same.
+ * ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
+ * expr.c (emit_group_store): Same.
+ (copy_blkmode_from_reg): Same.
+ (write_complex_part): Same.
+ (optimize_bitfield_assignment_op): Add argument.
+ Add argument to get_best_mode.
+ (get_bit_range): New.
+ (expand_assignment): Calculate maxbits and pass it down accordingly.
+ (store_field): New argument.
+ (expand_expr_real_2): New argument to store_field. Include params.h.
+ * expr.h (store_bit_field): New argument.
+ * stor-layout.c (get_best_mode): Restrict mode expansion by taking
+ into account maxbits.
+ * calls.c (store_unaligned_arguments_into_pseudos): New argument
+ to store_bit_field.
+ * expmed.c (store_bit_field_1): New argument. Use it.
+ (store_bit_field): Same.
+ (store_fixed_bit_field): Same.
+ (store_split_bit_field): Same.
+ (extract_bit_field_1): Pass new argument to get_best_mode.
+ (extract_bit_field): Same.
+ * stmt.c (store_bit_field): Pass new argument to store_bit_field.
+ * doc/invoke.texi: Document parameter allow-store-data-races.
+
+2011-07-27 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (gen_producer_string): Ignore also -fverbose-asm option.
+
+2011-07-27 Kai Tietz <ktietz@redhat.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr): Remove
+ TRUTH-binary cases and add new bitwise-cases.
+ (extract_range_from_assignment): Likewise.
+ (register_edge_assert_for_1): Likeiwise.
+ (register_edge_assert_for): Likewise.
+ (simplify_truth_ops_using_ranges): Likewise.
+ (simplify_stmt_using_ranges): Likewise.
+
+2011-07-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47372
+ * config/i386/i386.c (ix86_delegitimize_address): Call
+ simplify_gen_subreg for PIC with mode of x only if modes of
+ x and orig_x are different.
+
+2011-07-26 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
+ to GC allocated copy of the string.
+ (dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
+ before .debug_line, not after it.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47046
+ * tree-chrec.h (evolution_function_is_affine_p): Recursively call
+ evolution_function_is_affine_p on CHREC_RIGHT.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-data-ref.c (max_stmt_executions_tree): Do not call
+ lang_hooks.types.type_for_size.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47653
+ * graphite-scop-detection.c (graphite_can_represent_loop): Discard
+ loops using wrapping semantics.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/48805
+ * tree-scalar-evolution.c (instantiate_scev_r): Return
+ chrec_dont_know for ADDR_EXPR.
+
+2011-07-26 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47369
+ PR target/49853
+ * config/i386/i386.c (ix86_expand_move): Call convert_to_mode
+ if legitimize_tls_address returned operand in wrong mode. Allow
+ SImode and DImode symbolic operand for PIC. Call convert_to_mode
+ if legitimize_pic_address returned operand in wrong mode.
+
+2011-07-26 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
+ return false for invariants.
+
+2011-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (add->lea splitter): Implement using SWI
+ mode iterator. Change operand 2 predicate to <nonmemory_operand>.
+ (add->lea zext splitter): Change operand 2 predicate to
+ x86_64_nonmemory_operand.
+
+2011-07-26 Richard Guenther <rguenther@suse.de>
+
+ * predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
+ frequency makes everything hot.
+
+2011-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49840
+ * tree-vrp.c (range_fits_type_p): Properly handle full
+ double-int precision.
+
+2011-07-26 Martin Jambor <mjambor@suse.cz>
+
+ PR bootstrap/49786
+ * ipa-cp.c (update_profiling_info): Avoid overflow when updating
+ counts.
+ (update_specialized_profile): Likewise.
+
+2011-07-26 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47381
+ PR target/49832
+ PR target/49833
+ * config/i386/i386.md (i): Change SImode attribute to "e".
+ (g): Change SImode attribute to "rme".
+ (di): Change SImode attribute to "nF".
+ (general_operand): Change SImode attribute to x86_64_general_operand.
+ (general_szext_operand): Change SImode attribute to
+ x86_64_szext_general_operand.
+ (immediate_operand): Change SImode attribute to
+ x86_64_immediate_operand.
+ (nonmemory_operand): Change SImode attribute to
+ x86_64_nonmemory_operand.
+ (*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
+ (*movsi_internal): Ditto. Use "e" constraint in alternative 2.
+ (*lea_1): Use SWI48 mode iterator.
+ (*lea_1_zext): New insn pattern.
+ (testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
+ (*bt<mode>): Ditto.
+ (*add<mode>1): Use x86_64_general_operand predicate for operand 2.
+ Update operand constraints.
+ (addsi_1_zext): Ditto.
+ (*add<mode>2): Ditto.
+ (*addsi_3_zext): Ditto.
+ (*subsi_1_zext): Ditto.
+ (*subsi_2_zext): Ditto.
+ (*subsi_3_zext): Ditto.
+ (*addsi3_carry_zext): Ditto.
+ (*<plusminus_insn>si3_zext_cc_overflow): Ditto.
+ (*mulsi3_1_zext): Ditto.
+ (*andsi_1): Ditto.
+ (*andsi_1_zext): Ditto.
+ (*andsi_2_zext): Ditto.
+ (*<any_or:code>si_1_zext): Ditto.
+ (*<any_or:code>si_2_zext): Ditto.
+ (*test<mode>_1): Use <general_operand> predicate for operand 1.
+ (*and<mode>_2): Ditto.
+ (mov<mode>cc): Use <general_operand> predicate for operands 1 and 2.
+ (add->lea splitter): Check operand modes in insn constraint. Extend
+ operands less than SImode wide to SImode.
+ (add->lea zext splitter): Do not extend input operands to DImode.
+ (*lea_general_1): Handle only QImode and HImode operands.
+ (*lea_general_2): Ditto.
+ (*lea_general_3): Ditto.
+ (*lea_general_1_zext): Remove.
+ (*lea_general_2_zext): Ditto.
+ (*lea_general_3_zext): Ditto.
+ (*lea_general_4): Check operand modes in insn constraint. Extend
+ operands less than SImode wide to SImode.
+ (ashift->lea splitter): Ditto.
+ * config/i386/i386.c (ix86_print_operand_address): Print address
+ registers with 'q' modifier on 64bit targets.
+ * config/i386/predicates.md (pic_32bit_opreand): Define as special
+ predicate. Reject non-SI and non-DI modes.
+
+2011-07-25 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/49671
+ * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
+ TREE_THIS_NOTRAP into the inner most MEM_REF.
+ Always copy TREE_THIS_VOLATILE.
+ * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
+ arguments are not volatile references.
+
+2011-07-25 Richard Henderson <rth@redhat.com>
+
+ * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
+ * final.c (final_scan_insn): Don't test for it.
+ (rest_of_clean_state): Likewise.
+
+2011-07-25 Richard Henderson <rth@redhat.com>
+
+ PR debug/49841
+ * config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
+ (emit_frame_save): Likewise.
+ (rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
+ insn onto a dummy blockage insn after the join label.
+
2011-07-25 Richard Henderson <rth@redhat.com>
* dwarf2cfi.c (dw_trace_info): Add ID member.
* config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(mmix_print_operand, mmix_print_operand_address): Make static.
- (mmix_intval, mmix_output_condition): Change 'x' argument type
+ (mmix_intval, mmix_output_condition): Change 'x' argument type
to const_rtx.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
2011-07-25 Georg-Johann Lay <avr@gjlay.de>
-
+
PR target/39386
* config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
shift counter for x << x and x >> x shifts.
(EDGE_ALL_FLAGS, EDGE_COMPLEX): Include it.
* bb-reorder.c: Include except.h.
(fix_up_crossing_landing_pad): New.
- (find_rarely_executed_basic_blocks_and_crossing_edges): Place
+ (find_rarely_executed_basic_blocks_and_crossing_edges): Place
landing pads in the right partition. Duplicate as necessary.
(partition_hot_cold_basic_blocks): Fix up DF info after
duplicating landing pads.
(producer_string): New variable.
(gen_producer_string): New function.
(gen_compile_unit_die): Use it.
- (dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer
- if needed.
+ (dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer if needed.
* Makefile.in (dwarf2out.o): Depend on $(OPTS_H).
* doc/invoke.texi: Document -grecord-gcc-switches and
-gno-record-gcc-switches, add a -grecord-gcc-switches reference
MS ABI in x32 mode.
(ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi
only for TARGET_LP64.
- (ix86_handle_abi_attribute): Check TARGET_LP64 instead of
- TARGET_64BIT.
+ (ix86_handle_abi_attribute): Check TARGET_LP64 instead of TARGET_64BIT.
2011-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
PR lto/49796
* cgraphunit.c (verify_edge_corresponds_to_fndecl): Return false
- if decl node is in another partition, call cgraph_get_node only
- once.
+ if decl node is in another partition, call cgraph_get_node only once.
2011-07-22 Uros Bizjak <ubizjak@gmail.com>
* regrename.c (scan_rtx_reg): Handle the case where we write to an
open chain in a smaller mode without failing the entire block.
-2011-06-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * combine.c (cant_combine_insn_p): Don't check zero/sign
- extended hard registers.
-
2011-06-21 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
(rs6000_tls_referenced_p): Make static.
* config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.
-2011-06-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * combine.c (cant_combine_insn_p): Check zero/sign extended
- hard registers.
-
2011-06-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/49385
* expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
-2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * combine.c (cant_combine_insn_p): Don't check zero/sign
- extended hard registers.
-
-2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * combine.c (cant_combine_insn_p): Check zero/sign extended
- hard registers.
-
2011-03-17 Anatoly Sokolov <aesok@post.ru>
* config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
handle them like argument loads from stack slots. Do not double
count memory for memory constants and argument loads from stack slots.
-2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * combine.c (cant_combine_insn_p): Revert the last change.
-
2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/47755
(cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
instruction.
-2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * combine.c (cant_combine_insn_p): Check zero/sign extended
- hard registers.
-
2011-02-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47743
to cselib_lookup.
(add_uses): Likewise, also to cselib_subst_to_values.
(add_stores): Likewise.
- * sched-deps.c (add_insn_mem_dependence): Pass mode to
+ * sched-deps.c (add_insn_mem_dependence): Pass mode to
cselib_subst_to_values.
(sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
* gcse.c (do_local_cprop): Adjusted.