On 02/06/2023 10:13, Richard Biener wrote:
On Thu, 1 Jun 2023, Andre Vieira (lists) wrote:
Hi,
This is a follow-up of the internal function patch to add widening and
narrowing patterns. This patch improves the inliner cost estimation for
internal functions.
I have no idea why calls are special in IPA analyze_function_body
and so I cannot say whether treating all internal fn calls as
non-calls is correct there. Honza?
The tree-inline.cc change is OK though (you can push that separately).
I can't though, it ICEs on libgcc compilation (and other tests in
testsuite). The estimate function is used by IPA to compute size and
without the changes there it hits an assert because the
estimate_num_insns no longer matches what ipa records in its
size_time_table.
I'll wait for Honza to comment.
Thanks,
Richard.
Bootstrapped and regression tested on aarch64-unknown-linux-gnu.
gcc/ChangeLog:
* ipa-fnsummary.cc (analyze_function_body): Correctly handle
non-zero costed internal functions.
* tree-inline.cc (estimate_num_insns): Improve costing for internal
functions.