ipa: Bundle estimates of ipa_call_context::estimate_size_and_time
authorMartin Jambor <mjambor@suse.cz>
Fri, 2 Oct 2020 16:41:34 +0000 (18:41 +0200)
committerMartin Jambor <mjambor@suse.cz>
Fri, 2 Oct 2020 16:41:34 +0000 (18:41 +0200)
commit1e7fdc02cba43e646fb2389e3c79e7c4e5ff772e
tree14d201bd3435c921d401b8e08298cec1bf76ab59
parent7d2cb2755a14b95b1d71c3e52895d75954b4ec47
ipa: Bundle estimates of ipa_call_context::estimate_size_and_time

A subsequent patch adds another two estimates that the code in
ipa_call_context::estimate_size_and_time computes, and the fact that
the function has a special output parameter for each thing it computes
would make it have just too many.  Therefore, this patch collapses all
those ouptut parameters into one output structure.

gcc/ChangeLog:

2020-09-02  Martin Jambor  <mjambor@suse.cz>

* ipa-inline-analysis.c (do_estimate_edge_time): Adjusted to use
ipa_call_estimates.
(do_estimate_edge_size): Likewise.
(do_estimate_edge_hints): Likewise.
* ipa-fnsummary.h (struct ipa_call_estimates): New type.
(ipa_call_context::estimate_size_and_time): Adjusted declaration.
(estimate_ipcp_clone_size_and_time): Likewise.
* ipa-cp.c (hint_time_bonus): Changed the type of the second argument
to ipa_call_estimates.
(perform_estimation_of_a_value): Adjusted to use ipa_call_estimates.
(estimate_local_effects): Likewise.
* ipa-fnsummary.c (ipa_call_context::estimate_size_and_time): Adjusted
to return estimates in a single ipa_call_estimates parameter.
(estimate_ipcp_clone_size_and_time): Likewise.
gcc/ipa-cp.c
gcc/ipa-fnsummary.c
gcc/ipa-fnsummary.h
gcc/ipa-inline-analysis.c