+2010-10-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR fortran/42169
+ * ira-emit.c (store_can_be_removed_p): Return false instead of
+ gcc_unreachable.
+
+2010-10-20 Dmitry Melnik <dm@ispras.ru>
+
+ * fold-const.c (fold_binary_loc): New transformation.
+
+2010-10-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46085
+ * config/i386/sse.md (reduc_splus_v8sf): Updated.
+ (reduc_splus_v4df): Likewise.
+
+2010-10-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45860
+ * tree-ssa-phiopt.c (cond_store_replacement): Do not do
+ conditional store replacement for non-register type stores.
+
+2010-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (skip_simple_constant_arithmetic): New function.
+ (self_referential_size): Use it instead of skip_simple_arithmetic.
+
+2010-10-20 Olivier Hainque <hainque@adacore.com>
+
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p):
+ If the current function calls eh_return, claim live all registers
+ that we need to check for liveness otherwise.
+
+2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-decl.c (c_write_global_declarations): Call
+ objc_write_global_declarations when compiling Objective-C.
+ * c-lang.c (finish_file): Removed.
+
+2010-10-19 DJ Delorie <dj@redhat.com>
+
+ * doc/tm.texi.in (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): New.
+ (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Change to hook.
+ (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Likewise.
+ (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Likewise.
+ * doc/tm.texi: Regenerate.
+ * targhooks.h (default_label_align_after_barrier_max_skip,
+ default_loop_align_max_skip, default_label_align_max_skip,
+ default_jump_align_max_skip): Declare.
+ * target.def (label_align_after_barrier_max_skip): New.
+ (loop_align_max_skip): New.
+ (label_align_max_skip): New.
+ (jump_align_max_skip): New.
+ * system.h (poison): Add those macros to the list.
+ * final.c (LABEL_ALIGN_MAX_SKIP): Remove.
+ (LOOP_ALIGN_MAX_SKIP): Remove.
+ (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Remove.
+ (JUMP_ALIGN_MAX_SKIP): Remove.
+ (default_label_align_after_barrier_max_skip): New.
+ (default_loop_align_max_skip): New.
+ (default_label_align_max_skip): New.
+ (default_jump_align_max_skip): New.
+ (compute_alignments): Use the new hooks.
+ (shorten_branches): Likewise.
+
+2010-10-19 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (bdesc_multi_arg): Use fma4i_fmadd_<mode>.
+ * config/i386/sse.md (fma<mode>4): Enable for FMA & SSE_MATH.
+ (fma4i_fmadd_<mode>): New.
+ (*split_fma, *split_fms, *split_fnma, *split_fnms): Rename from
+ fma4_fm*_<mode> and adjust to be pre-reload splitters to the
+ standard fma patterns.
+ (fmaddsub_<mode>): Rename from fma4i_fmaddsub_<mode> and
+ enable for FMA.
+ (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
+ (*fma_fmadd_<mode>, *fma_fmsub_<mode>): New.
+ (*fma_fmaddsub_<mode>, *fma_fmsubadd_<mode>): New.
+
+2010-10-19 Paul Koning <pkoning@equallogic.com>
+
+ * lower-subreg.c (resolve_shift_zext): Delete conditional code for
+ WORDS_BIG_ENDIAN != BYTES_BIG_ENDIAN.
+
+2010-10-19 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.md (fmasf4, *fmssf4, *nfmasf4): New.
+ (fmadf4, *fmsdf4, *nfmadf4): New.
+ (fmaxf4, *fmsxf4, *nfmaxf4): New.
+
+2010-10-19 Michael Eager <eager@eagercon.com>
+
+ * config/microblaze/microblaze.c (TARGET_EXCEPT_UNWIND_INFO):
+ Use sjlj unwind info for exceptions.
+
+2010-10-19 Francois-Xavier Coudert<fxcoudert@gcc.gnu.org>
+
+ PR fortran/43414
+ * dwarf2out.c (add_calling_convention_attribute): Flag main
+ Fortran subroutine with DW_AT_main_subprogram.
+
+2010-10-19 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_function_value): Small integer types are
+ promotes to SImode.
+ (rx_promote_function_mode): New function.
+ (TARGET_PROMOTE_FUNCTION_MODE): Define.
+
+2010-10-19 Nick Clifton <nickc@redhat.com>
+
+ * config/mep/mep.c (mep_print_operand): Use
+ targetm.strip_name_encoding.
+ (mep_output_aligned_common): Likewise.
+
+2010-10-19 Basile Starynkevitch <basile@starynkevitch.net>
+ * gengtype.c (new_structure): Remove ad-hoc "location_s"
+ processing.
+
+2010-10-18 Richard Henderson <rth@redhat.com>
+
+ * simplify-rtx.c (simplify_ternary_operation) [FMA]: Simplify
+ (fma (neg a) (neg b) c) and (fma a (neg b) c).
+
+2010-10-18 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (IX86_BUILTIN_VFMSUBSS, IX86_BUILTIN_VFMSUBSD,
+ IX86_BUILTIN_VFMSUBPS, IX86_BUILTIN_VFMSUBPD,
+ IX86_BUILTIN_VFMSUBADDPS, IX86_BUILTIN_VFMSUBADDPD,
+ IX86_BUILTIN_VFNMADDSS, IX86_BUILTIN_VFNMADDSD,
+ IX86_BUILTIN_VFNMADDPS, IX86_BUILTIN_VFNMADDPD,
+ IX86_BUILTIN_VFNMSUBSS, IX86_BUILTIN_VFNMSUBSD,
+ IX86_BUILTIN_VFNMSUBPS, IX86_BUILTIN_VFNMSUBPD,
+ IX86_BUILTIN_VFMSUBADDPS256, IX86_BUILTIN_VFMSUBADDPD256,
+ IX86_BUILTIN_VFNMADDPS256, IX86_BUILTIN_VFNMADDPD256,
+ IX86_BUILTIN_VFNMSUBPS256, IX86_BUILTIN_VFNMSUBPD256): Remove.
+ (bdesc_multi_arg): Remove the corresponding builtins.
+ * config/i386/i386.md (UNSPEC_FMA4_INTRINSIC): Remove.
+ (UNSPEC_FMA4_FMSUBADD): Remove.
+ (UNSPEC_FMADDSUB): Rename from UNSPEC_FMA4_FMADDSUB.
+ * config/i386/sse.md (FMA4MODEF4): Remove.
+ (FMAMODE): Add.
+ (fma<mode>4): New expander.
+ (*fma4i_fmadd_<mode>): Macroize from fma4i_fmadd<mode>4 patterns,
+ and use FMA rtx code instead of UNSPEC_FMA4_INTRINSIC.
+ (*fma4i_fmsub_<mode>): Similarly.
+ (*fma4i_fnmadd_<mode>): Similarly.
+ (*fma4i_fnmsub_<mode>): Similarly.
+ (fma4i_vmfmadd_<mode>): Scalar patterns zero-extend, not merge
+ with the first operand.
+ (fma4i_fmaddsub_<mode>): Represent with UNSPEC_FMADDSUB instead
+ of explicit arithmetic. Macroize with AVXMODEF2P.
+ (*fma4i_fmsubadd_<mode>): Represent with UNSPEC_FMADDSUB + NEG.
+ (xop_frcz<mode>2): Macroize with FMAMODE.
+ (xop_vmfrcz<mode>2): Scalar patterns zero-extend, not merge with
+ the first operand.
+ * config/i386/fma4intrin.h (_mm_msub_ps): Use vfmadd intrinsic with
+ extra negations.
+ (_mm_msub_pd, _mm_msub_ss, _mm_msub_sd): Likewise.
+ (_mm_nmacc_ps, _mm_nmacc_pd, _mm_nmacc_ss, _mm_nmacc_sd): Likewise.
+ (_mm_nmsub_ps, _mm_nmsub_pd, _mm_nmsub_ss, _mm_nmsub_sd): Likewise.
+ (_mm256_msub_ps, _mm256_msub_pd): Likewise.
+ (_mm256_nmacc_ps, _mm256_nmacc_pd): Likewise.
+ (_mm256_nmsub_ps, _mm256_nmsub_pd): Likewise.
+ (_mm_msubadd_ps): Use vfmaddsub intrinsic with extra negation.
+ (_mm_msubadd_pd, _mm256_msubadd_ps, _mm256_msubadd_pd): Likewise.
+
+2010-10-18 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/45966
+ * combine.c (try_combine): If added_sets_2, deal with the case
+ where i0 feeds i1 and i1 feeds i2.
+
+2010-10-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_externally_visible_p): Handle externally visible and
+ preserve flags before trying to guess on visibility.
+ (varpool_externally_visible_p): New function.
+ (function_and_variable_visibility): Use it.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Implemented parsing @synthesize and @dynamic for Objective-C.
+ * c-parser.c (c_parser_external_declaration): Recognize
+ RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
+ (c_parser_objc_at_synthesize_declaration): New.
+ (c_parser_objc_at_dynamic_declaration): New.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_class_declaration): After finding an
+ error, parse the whole declaration then reset parser->error.
+
+2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/46041
+ * tree.h (mode_has_fma): Delete, move to c-cppbuiltins.c.
+ * builtins.c (mode_has_fma): Ditto.
+
+2010-10-18 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/36898
+ PR middle-end/43760
+ * config/ia64/ia64.c (rws_access_regno): Remove predicate check.
+
+2010-10-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Define and
+ use USE_X86_64_FRAME_POINTER for 64-bit flag_omit_frame_pointer
+ default.
+ * config/i386/sol2-10.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
+ (USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Define.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+ * c-parser.c (c_parser_objc_type_name): Adapted to new parser the
+ following Objective-C change:
+
+ 2005-10-10 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4301047
+ * c-parse.in (objc_quals): Build objc qualifier list same way
+ as gcc-3.3
+
+2010-10-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_externally_visible_p, varpool_externally_visible_p,
+ function_and_variable_visibility): Revert accidental commit.
+
+2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Merge from 'apple/trunk' branch on FSF servers.
+ * c-parser.c (c_parser_typeof_specifier): Adapted to new parser
+ the following Objective-C change:
+
+ 2005-10-07 Fariborz Jahanian <fjahanian@apple.com>
+
+ Radar 4204796
+ * c-parse.in (typespec_nonreserved_nonattr): Remove volatile from
+ 'volatilized' type used in a typeof operator.
+
+2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-flow.h (gimple_purge_all_dead_abnormal_call_edges): Declare.
+ * tree-cfg.c (gimple_purge_dead_abnormal_call_edges): Move around and
+ rewrite modelled on gimple_purge_dead_eh_edges.
+ (gimple_purge_all_dead_abnormal_call_edges): New function.
+ * tree-inline.c (expand_call_inline): Call gimple_purge_dead_eh_edges
+ directly instead of through gimple_purge_dead_abnormal_call_edges.
+ * tree-ssa-pre.c (need_ab_cleanup): New static variable.
+ (eliminate): Set bit in need_ab_cleanup for the basic block if we have
+ removed AB side-effects from one of its statements.
+ (init_pre): Initialize need_ab_cleanup.
+ (fini_pre): Purge dead abnormal call edges and clean up the CFG if bits
+ are set in need_ab_cleanup. Free need_ab_cleanup afterward.
+
+2010-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/46015
+ * c-parser.c (c_parser_statement_after_labels): Call mark_exp_read
+ on computed goto argument.
+
2010-10-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45967