[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc-bugs
Subject:    [Bug tree-optimization/79224] [7/8 Regression] Large C-Ray slowdown
From:       "hubicka at gcc dot gnu.org" <gcc-bugzilla () gcc ! gnu ! org>
Date:       2017-04-30 15:02:44
Message-ID: bug-79224-4-sjQBXAY2AZ () http ! gcc ! gnu ! org/bugzilla/
[Download RAW message or body]

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=
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic