+2016-05-02 Jan Hubicka <hubicka@ucw.cz>
+
+ * ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
+ (dump_inline_summary): Dump it.
+ (fp_expression_p): New predicate.
+ (estimate_function_body_sizes): Use it.
+ (inline_merge_summary): Merge fp_expressions.
+ (inline_read_section): Read fp_expressions.
+ (inline_write_summary): Write fp_expressions.
+ * ipa-inline.c (can_inline_edge_p): Permit inlining across fp math
+ codegen boundary if either caller or callee is !fp_expressions.
+ * ipa-inline.h (inline_summary): Add fp_expressions.
+ * ipa-inline-transform.c (inline_call): When inlining !fp_expressions
+ to fp_expressions be sure the fp generation flags are updated.
+
+2016-05-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/70467
+ * cse.c (cse_insn): Handle no-op MEM moves after folding.
+
+ PR rtl-optimization/70467
+ * ipa-pure-const.c (check_call): Handle internal calls even in
+ ipa mode like in local mode.
+
+2016-05-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * doc/install.texi: Document supported in-tree gmp/mpfr/mpc versions.
+
+2016-05-02 Marc Glisse <marc.glisse@inria.fr>
+
+ * match.pd (X u< X, X u> X): New transformations.
+
+2016-05-02 Marc Glisse <marc.glisse@inria.fr>
+
+ * flag-types.h (enum warn_strict_overflow_code): Move ...
+ * coretypes.h: ... here.
+ * fold-const.h (fold_overflow_warning): Declare.
+ * fold-const.c (fold_overflow_warning): Make non-static.
+ (fold_comparison): Move the transformation of X +- C1 CMP C2
+ into X CMP C2 -+ C1 ...
+ * match.pd: ... here.
+ * gimple-fold.c (fold_stmt_1): Protect with
+ fold_defer_overflow_warnings.
+
+2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
+
+ * omp-low.c (struct oacc_loop): Add 'inner' field.
+ (new_oacc_loop_raw): Initialize it to zero.
+ (oacc_loop_fixed_partitions): Initialize it.
+ (oacc_loop_auto_partitions): Partition outermost loop to outermost
+ available partitioning.
+
+2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.md (mulsidi3): Change operand 0 predicate to
+ register_operand.
+ (umulsidi3): Likewise.
+ (indirect_jump): Fix jump instruction assembly patterns.
+
+2016-05-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ PR target/70860
+ * config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
+ (nvptx_function_value): Assert non-NULL cfun.
+
+2016-05-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/70886
+ * sched-deps.c (estimate_dep_weak): Canonicalize cselib values.
+
+ * cselib.h (rtx_equal_for_cselib_1): Declare.
+ (rtx_equal_for_cselib_p: New inline function.
+ * cselib.c (rtx_equal_for_cselib_p): Delete.
+ (rtx_equal_for_cselib_1): Make public.
+
+2016-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
+ (register_mixssei387nonimm_operand): Remove predicate.
+ * config/i386/i386.md (*fop_<mode>_comm): Merge from
+ *fop_<mode>_comm_mixed and *fop_<mode>_comm_i387. Disable unsupported
+ alternatives using "enabled" attribute. Also check X87_ENABLE_ARITH
+ for TARGET_MIX_SSE_I387 alternatives.
+ (*fop_<mode>_1): Merge from *fop_<mode>_1_mixed and *fop_<mode>_1_i387.
+ Disable unsupported alternatives using "enabled" attribute. Use
+ nonimm_ssenomem_operand as operand 1 predicate. Also check
+ X87_ENABLE_ARITH for TARGET_MIX_SSE_I387 alternatives.
+ * config/i386/predicates.md (nonimm_ssenomem_operand): New predicate.
+ (register_mixssei387nonimm_operand): Remove predicate.
+
+2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree.c (cst_and_fits_in_hwi): Simplify.
+
+2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * tree.h (wi::to_wide): New function.
+ * expr.c (expand_expr_real_1): Use wi::to_wide.
+ * fold-const.c (int_const_binop_1): Likewise.
+ (extract_muldiv_1): Likewise.
+
+2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * wide-int.h: Update offset_int and widest_int documentation.
+ (WI_SIGNED_SHIFT_RESULT): New macro.
+ (wi::binary_shift): Define signed_shift_result_type for
+ shifts on offset_int- and widest_int-like types.
+ (generic_wide_int): Support <<= and >>= if << and >> are supported.
+ * tree.h (int_bit_position): Use shift operators instead of wi::
+ shifts.
+ * alias.c (adjust_offset_for_component_ref): Likewise.
+ * expr.c (get_inner_reference): Likewise.
+ * fold-const.c (fold_comparison): Likewise.
+ * gimple-fold.c (fold_nonarray_ctor_reference): Likewise.
+ * gimple-ssa-strength-reduction.c (restructure_reference): Likewise.
+ * tree-dfa.c (get_ref_base_and_extent): Likewise.
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Likewise.
+ (stmt_kills_ref_p): Likewise.
+ * tree-ssa-ccp.c (bit_value_binop_1): Likewise.
+ * tree-ssa-math-opts.c (find_bswap_or_nop_load): Likewise.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise.
+ (ao_ref_init_from_vn_reference): Likewise.
+
+2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
+
+ * wide-int.h: Update offset_int and widest_int documentation.
+ (WI_SIGNED_BINARY_PREDICATE_RESULT): New macro.
+ (wi::binary_traits): Allow ordered comparisons between offset_int and
+ offset_int, between widest_int and widest_int, and between either
+ of these types and basic C types.
+ (operator <, <=, >, >=): Define for the same combinations.
+ * tree.h (tree_int_cst_lt): Use comparison operators instead
+ of wi:: comparisons.
+ (tree_int_cst_le): Likewise.
+ * gimple-fold.c (fold_array_ctor_reference): Likewise.
+ (fold_nonarray_ctor_reference): Likewise.
+ * gimple-ssa-strength-reduction.c (record_increment): Likewise.
+ * tree-affine.c (aff_comb_cannot_overlap_p): Likewise.
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): Likewise.
+ * tree-sra.c (completely_scalarize): Likewise.
+ * tree-ssa-alias.c (stmt_kills_ref_p): Likewise.
+ * tree-ssa-reassoc.c (extract_bit_test_mask): Likewise.
+ * tree-vrp.c (extract_range_from_binary_expr_1): Likewise.
+ (check_for_binary_op_overflow): Likewise.
+ (search_for_addr_array): Likewise.
+ * ubsan.c (ubsan_expand_objsize_ifn): Likewise.
+
+2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc.c (arc_preferred_simd_mode): Remove enum keyword.
+ (arc_save_restore): Likewise.
+ (arc_dwarf_register_span): Likewise.
+ (arc_output_pic_addr_const): Initialize suffix variable.
+
+2016-05-02 Martin Liska <mliska@suse.cz>
+
+ * symbol-summary.h (function_summary::function_summary):
+ Remove checking assert for all cgraph nodes.
+ (function_summary::get): Check summary_uid.
+ (symtab_insertion): Check summary_uid.
+
+2016-05-02 Claudiu Zissulescu <claziss@synopsys.com>
+
+ * config/arc/arc-protos.h (compact_memory_operand_p): Declare.
+ * config/arc/arc.c (arc_output_commutative_cond_exec): Consider
+ bmaskn instruction.
+ (arc_dwarf_register_span): Remove enum keyword.
+ (compact_memory_operand_p): New function.
+ * config/arc/arc.h (reg_class): Add code density register classes.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ * config/arc/arc.md (*movqi_insn): Add code density instructions.
+ (*movhi_insn, *movsi_insn, *movsf_insn): Likewise.
+ (*extendhisi2_i, andsi3_i, cmpsi_cc_insn_mixed): Likewise.
+ (*cmpsi_cc_c_insn, *movsi_ne): Likewise.
+ * config/arc/constraints.md (C2p, Uts, Cm1, Cm3, Ucd): New
+ constraints.
+ (h, Rcd, Rsd, Rzd): New register constraints.
+ (T): Use compact_memory_operand_p function.
+ * config/arc/predicates.md (compact_load_memory_operand): Remove.
+
+2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (*negnegt, *movtt): Remove.
+
+2016-05-02 Marek Polacek <polacek@redhat.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/70700
+ * tree-ssa-structalias.c (dump_pred_graph): Fix getting varinfo for ids
+ bigger than FIRST_REF_NODE.
+
+2016-05-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52898
+ * config/sh/sh.c (sh_option_override): Remove TARGET_CBRANCHDI4,
+ TARGET_CMPEQDI_T.
+ (prepare_cbranch_operands): Don't use scratch register. Assume that
+ function is used when pseudos can be created.
+ (expand_cbranchdi4): Likewise. Remove unused TARGET_CMPEQDI_T paths.
+ * config/sh/sh.md (cbranchsi4): Allow only when pseudos can be created.
+ (cbranchdi4, cbranchdi4_i): Simplify to single cbranchdi4
+ define_expand. Allow it only when pseudos can be created.
+ * config/sh/sh.opt (mcbranchdi, mcmpeqdi): Delete.
+
+2016-05-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md (BC): Only allow -1 operands.
+ * config/i386/sse.md (mov<mode>_internal): Add (v,C) alternative.
+ Add "enabled" attribute. Update XI mode attribute calculation.
+ * config/i386/i386.md (*movxi_internal_avx512f): Add (v,C) alternative.
+ (*movoi_internal_avx): Update XI mode attribute calculation.
+ (*movti_internal): Ditto.
+
+2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.md (push, pop, ic_invalidate_line, cstoresi4, cstoredi4,
+ cstoresf4, cstoredf4, fix_truncsfsi2): Remove constraints.
+
+2016-05-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Do not use switch
+ statement on instruction code. Remove trailing spaces.
+ (altivec_expand_stv_builtin): Likewise.
+
+2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (TARGET_SH4): Remove and use default implementation.
+ (TARGET_FPU_DOUBLE): Simplify.
+ (BASE_ARG_REG, DOUBLE_TYPE_SIZE, OPTIMIZE_MODE_SWITCHING): Replace
+ 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions with 'TARGET_FPU_DOUBLE'.
+ * config/sh/sh.c: Replace 'TARGET_SH4 || TARGET_SH2A_DOUBLE' conditions
+ with 'TARGET_FPU_DOUBLE'.
+ * config/sh/sh.md: Likewise.
+
+2016-05-01 Yoshinori Sato <ysato@users.sourceforge.jp>
+
+ * config/sh/linux.h (SH_DIV_STRATEGY_DEFAULT,
+ SH_DIV_STR_FOR_SIZE): Remove.
+ * config/sh/netbsd-elf.h (SH_DIV_STRATEGY_DEFAULT,
+ SH_DIV_STR_FOR_SIZE): Remove.
+
+2016-05-01 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/predicates.md (any_register_operand, zero_extend_operand,
+ logical_reg_operand): Delete.
+ (arith_operand, arith_reg_dest, arith_or_int_operand, cmpsi_operand,
+ arith_reg_or_0_operand, arith_reg_or_0_or_1_operand, logical_operand,
+ logical_and_operand, movsrc_no_disp_mem_operand): Rewrite using
+ match_operand and match_test.
+ (sh_const_vec, sh_1el_vec): Remove redundant checks. Declare local
+ variables on their first use. Return bool values.
+ * config/sh/sh.h (LOAD_EXTEND_OP): Update comment.
+ * config/sh/sh.md (andsi3, iorsi3): Use arith_reg_dest for result and
+ arith_reg_operand for input operand. Remove empty constraints.
+ (xorsi3): Delete.
+ (*xorsi3_compact): Rename to xorsi3.
+ (zero_extend<mode>si2): Use arith_reg_operand for input operand.
+ (*zero_extend<mode>si2_disp_mem): Update comment.
+ (mov_nop): Delete.
+
+2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/t-sh: Remove SH5 support.
+ * config.gcc: Likewise.
+ * configure: Likewise.
+
+2016-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Handle -fcilkplus.
+
+2016-04-30 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.c (register_sh_passes, sh_option_override,
+ sh_print_operand, prepare_move_operands,
+ sh_can_follow_jump): Remove TARGET_SH1 checks.
+ * config/sh/sh.h (TARGET_VARARGS_PRETEND_ARGS, VALID_REGISTER_P,
+ PROMOTE_MODE): Likewise.
+ * config/sh/sh.md (adddi3, addsi3, subdi3, subsi3, andsi3,
+ movdi): Likewise.
+
+2016-04-30 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline
+ restoring when fixed_reg_p, but allow out-of-line or stmw save.
+ Check for user regs later to avoid unnecessary looping over regs.
+ Merge user reg check with non-saved reg check. Don't force
+ inline VR restore when static chain used.
+ (rs6000_frame_related): Omit eh_frame info for user regs when
+ saving.
+ (fixed_regs_p): Delete.
+
+2016-04-30 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (SAVRES_MULTIPLE): Replace with..
+ (SAVE_STRATEGY, REST_STRATEGY): ..this. Renumber and sort enum.
+ Update all uses.
+
2016-04-30 Alan Modra <amodra@gmail.com>
PR target/69645