Files
archived-llvm/test/Transforms/SampleProfile/Inputs/warm-inline-instance.prof
Wei Mi f2885f7297 [SampleFDO] Don't treat warm callsite with inline instance in the profile as cold
We found current sampleFDO had a performance issue when triaging a regression.
For a callsite with inline instance in the profile, even if hot callsite inliner
cannot inline it, it may still execute enough times and should not be treated as
cold in regular inliner later. However, currently if such callsite is not inlined
by hot callsite inliner, and the BB where the callsite locates doesn't get
samples from other instructions inside of it, the callsite will have no profile
metadata annotated. In regular inliner cost analysis, if the callsite has no
profile annotated and its caller has profile information, it will be treated as
cold.

The fix changes the isCallsiteHot check and chooses to compare
CallsiteTotalSamples with hot cutoff value computed by ProfileSummaryInfo.

Differential Revision: https://reviews.llvm.org/D45377


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@332058 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-10 23:02:27 +00:00

12 lines
117 B
Plaintext

main:2257150:0
2.1: 5553
3: 5391
3.1: foo:5860
0: 5279
1: 5279
2: 5279
4.1: goo:60
0: 20
1: 20
2: 20