https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79224

--- Comment #14 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Sun Apr 30 15:02:11 2017
New Revision: 247417

URL: https://gcc.gnu.org/viewcvs?rev=247417&root=gcc&view=rev
Log:

        PR ipa/79224
        * ipa-inline-analysis.c (dump_predicate): Add optional parameter NL.
        (account_size_time): Use two predicates - exec_pred and
        nonconst_pred_ptr.
        (evaluate_conditions_for_known_args): Compute both clause and
        nonspec_clause.
        (evaluate_properties_for_edge): Evaulate both clause and
nonspec_clause.
        (inline_summary_t::duplicate): Update.
        (estimate_function_body_sizes): Caluculate exec and nonconst predicates
        separately.
        (compute_inline_parameters): Likewise.
        (estimate_edge_size_and_time): Update caluclation of time.
        (estimate_node_size_and_time): Compute both time and nonspecialized
        time.
        (estimate_ipcp_clone_size_and_time): Update.
        (inline_merge_summary): Update.
        (do_estimate_edge_time): Update.
        (do_estimate_edge_size): Update.
        (do_estimate_edge_hints): Update.
        (inline_read_section, inline_write_summary): Stream both new
predicates.
        * ipa-inline.c (compute_uninlined_call_time): Take uninlined_call_time
        as argument.
        (compute_inlined_call_time): Cleanup.
        (big_speedup_p): Update.
        (edge_badness): Update.
        * ipa-inline.h (INLINE_TIME_SCALE): Remove.
        (size_time_entry): Replace predicate by exec_predicate and
        nonconst_predicate.
        (edge_growth_cache_entry): Cache both time nad nonspecialized time.
        (estimate_edge_time): Return also nonspec_time.
        (reset_edge_growth_cache): Update.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ipa-inline-analysis.c
    trunk/gcc/ipa-inline.c
    trunk/gcc/ipa-inline.h

Reply via email to