llvm-project/llvm/test/Transforms/SampleProfile/Inputs
Wenlei He 7b61ae68ec [AutoFDO] Inline replay for cold/small callees from sample profile loader
Summary:
Sample profile loader of AutoFDO tries to replay previous inlining using context sensitive profile. The replay only repeats inlining if the call site block is hot. As a result it punts inlining of small functions, some of which can be beneficial for size, and will still be inlined by CSGCC inliner later. The oscillation between sample profile loader's inlining and regular CGSSC inlining cause unnecessary loss of context-sensitive profile. It doesn't have much impact for inline decision itself, but it negatively affects post-inline profile quality as CGSCC inliner have to scale counts which is not as accurate as the original context sensitive profile, and bad post-inline profile can misguide code layout.

This change added regular Inline Cost calculation for sample profile loader, so we can inline small functions upfront under switch -sample-profile-inline-size. In addition -sample-profile-cold-inline-threshold is added so we can tune the separate size threshold - currently the default is chosen to be the same as regular inliner's cold call-site threshold.

Reviewers: wmi, davidxl

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D70750
2019-12-06 11:44:45 -08:00
..
bad_discriminator_value.prof
bad_fn_header.prof
bad_line_values.prof
bad_mangle.prof
bad_sample_line.prof
bad_samples.prof
branch.prof
calls.prof
cold-indirect-call.prof
cov-zero-samples.prof
coverage-warning.prof
discriminator.prof
einline.prof [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function 2019-12-05 15:57:55 -08:00
entry_counts.prof
entry_counts_cold.prof
flattened.prof
fnptr.binprof
fnptr.prof
function_metadata.compact.afdo
function_metadata.prof
gcc-simple.afdo
indirect-call.afdo
indirect-call.compact.afdo
indirect-call.prof
inline-act.prof
inline-callee-update.prof [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function 2019-12-05 15:57:55 -08:00
inline-cold.prof [AutoFDO] Inline replay for cold/small callees from sample profile loader 2019-12-06 11:44:45 -08:00
inline-combine.prof
inline-coverage.prof
inline-hint.prof
inline-mergeprof.prof [AutoFDO] Properly merge context-sensitive profile of inlinee back to outlined function 2019-12-05 15:57:55 -08:00
inline-topdown.prof [AutoFDO] Top-down Inlining for specialization with context-sensitive profile 2019-12-05 16:07:01 -08:00
inline.compactbinary.afdo
inline.extbinary.afdo [SampleFDO] Add indexing for function profiles so they can be loaded on demand 2019-10-09 21:36:03 +00:00
inline.prof
nodebug.prof
nolocinfo.prof
offset.prof
profile-symbol-list.ll
profile-symbol-list.text
profsampleacc.extbinary.afdo [SampleFDO] Add indexing for function profiles so they can be loaded on demand 2019-10-09 21:36:03 +00:00
propagate.prof
remap.map
remap.prof
remarks.prof
summary.prof
syntax.prof
warm-inline-instance.prof