Implement inline call summaries

Programming / Compilers / GCC - hubicka [138bc75d-0d04-0410-961f-82ee72b054a4] - 20 November 2019 17:03 EST

- ipa-fnsummary.c (ipa_fn_summary::account_size_time): Add CALL parameter and update call_size_time_table. (ipa_fn_summary::max_size_time_table_size): New constant. (estimate_calls_size_and_time_1): Break out from ... (estimate_calls_size_and_time): ... here; implement summary production. (summarize_calls_size_and_time): New function. (ipa_call_context::estimate_size_and_time): Bypass estimate_calls_size_and_time for leaf functions. (ipa_update_overall_fn_summary): Likewise.
- ipa-fnsummary.h (call_size_time_table): New. (ipa_fn_summary::account_size_time): Update prototype.

28ec3d7d4c6 Implement inline call summaries.
gcc/ChangeLog | 14 ++++
gcc/ipa-fnsummary.c | 223 +++++++++++++++++++++++++++++++++++++++++++++-------
gcc/ipa-fnsummary.h | 15 +++-
3 files changed, 220 insertions(+), 32 deletions(-)

Upstream: gcc.gnu.org


  • Share