This is an archive of the discontinued LLVM Phabricator instance.

[CSSPGO][Preinliner] Set default value of sample-profile-inline-limit-max to 50000.
ClosedPublic

Authored by hoy on Feb 9 2023, 5:53 PM.

Details

Summary

The previous threshold 3000 is too small to enable any inlining for giant functions which come in with bigger size than that. In real world, I've seen a big hot function with 34000 dissasembly size. Motivated by that I'm changing the value to 50000.

With the new value the allowance size growth should still be reasonable, as it is also bounded by another threshold, i.e, --sample-profile-inline-growth-limit , which defaults to 12. The new value should mostly only affect giant functions.

I've seen for serveral internal services, the new threshold boosts performance, and it has neutral impact for other services without hot giant functions. So far I haven't seen any performance regression with that.

Diff Detail

Event Timeline

hoy created this revision.Feb 9 2023, 5:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 9 2023, 5:53 PM
Herald added subscribers: modimo, wenlei. · View Herald Transcript
hoy requested review of this revision.Feb 9 2023, 5:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptFeb 9 2023, 5:53 PM
hoy edited the summary of this revision. (Show Details)Feb 9 2023, 5:54 PM
hoy added reviewers: wenlei, wlei.
wenlei accepted this revision.Feb 11 2023, 8:32 AM

lgtm, thanks.

This revision is now accepted and ready to land.Feb 11 2023, 8:32 AM
This revision was landed with ongoing or failed builds.Feb 13 2023, 9:18 AM
This revision was automatically updated to reflect the committed changes.