ipa-inline-analysis.c (reset_inline_summary): Clear fp_expressions
[gcc.git] / gcc / ChangeLog
index fecfdab68becca0b2bdd0ca81fa5853c35d14e76..9464a9505562257a370a9b13ae7492e15713299b 100644 (file)
@@ -1,3 +1,164 @@
+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.