+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).
* 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.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.
(TARGET_INSTANTIATE_DECLS): New define.
2011-08-06 Paolo Bonzini <bonzini@gnu.org>
- Mikael Morin <mikael.morin@sfr.fr>
+ Mikael Morin <mikael.morin@sfr.fr>
* Makefile.in (INCLUDES_FOR_TARGET): New.
(LIBGCC2_CFLAGS): Use it.