[Bug gcov-profile/71672] New: inlining indirect calls does not work with autofdo
andi-gcc at firstfloor dot org
gcc-bugzilla@gcc.gnu.org
Mon Jun 27 06:31:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71672
Bug ID: 71672
Summary: inlining indirect calls does not work with autofdo
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: gcov-profile
Assignee: unassigned at gcc dot gnu.org
Reporter: andi-gcc at firstfloor dot org
Target Milestone: ---
The current mainline version of autofdo doesn't inline indirect calls based on
profiling data.
I instrumented a bootstrap and it never triggers.
gcc.dg/tree-prof/indir-call-prof.c
also fails (needs the patch kit in
https://gcc.gnu.org/ml/gcc-patches/2016-06/msg01786.html applied first).
I did some debugging and it seems to give up in update_inlined_ind_target()
here
772 /* Program behavior changed, original promoted (and inlined) target is
not
773 hot any more. Will avoid promote the original target.
774
775 To check if original promoted target is still hot, we check the total
776 count of the unpromoted targets (stored in old_info). If it is no
less
777 than half of the callsite count (stored in INFO), the original
promoted
778 target is considered not hot any more. */
779 if (total >= info->count / 2)
but even with the test commented out it doesn't work.
More information about the Gcc-bugs
mailing list