llvm-project/llvm/test/Transforms/SampleProfile/Inputs
Wenlei He 577e58bcc7 [InlineAdvisor] New inliner advisor to replay inlining from optimization remarks
This change added a new inline advisor that takes optimization remarks from previous inlining as input, and provides the decision as advice so current inlining can replay inline decisions of a different compilation. Dwarf inline stack with line and discriminator is used as anchor for call sites including call context. The change can be useful for Inliner tuning as it provides a channel to allow external input for tweaking inline decisions. Existing alternatives like alwaysinline attribute is per-function, not per-callsite. Per-callsite inline intrinsic can be another solution (not yet existing), but it's intrusive to implement and also does not differentiate call context.

A switch -sample-profile-inline-replay=<inline_remarks_file> is added to hook up the new inline advisor with SampleProfileLoader's inline decision for replay. Since SampleProfileLoader does top-down inlining, inline decision can be specialized for each call context, hence we should be able to replay inlining accurately. However with a bottom-up inliner like CGSCC inlining, the replay can be limited due to lack of specialization for different call context. Apart from that limitation, the new inline advisor can still be used by regular CGSCC inliner later if needed for tuning purpose.

This is a resubmit of https://reviews.llvm.org/D83743
2020-08-15 20:17:21 -07: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
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
inline-cold.prof
inline-combine.prof
inline-coverage.prof
inline-hint.prof
inline-mergeprof.md5.prof Fix a crash when the sample profile uses md5 and -sample-profile-merge-inlinee 2020-07-30 21:21:06 -07:00
inline-mergeprof.prof
inline-replay.txt [InlineAdvisor] New inliner advisor to replay inlining from optimization remarks 2020-08-15 20:17:21 -07:00
inline-topdown.prof
inline.compactbinary.afdo
inline.extbinary.afdo
inline.md5extbinary.afdo
inline.prof
nodebug.prof
nolocinfo.prof
offset.prof
profile-symbol-list.ll [SampleFDO] Add use-sample-profile function attribute. 2020-06-02 17:23:17 -07:00
profile-symbol-list.text
profsampleacc.extbinary.afdo
propagate.prof
remap.map
remap.prof
remarks.prof [Remarks] Add callsite locations to inline remarks 2020-06-20 23:32:10 -07:00
summary.prof
syntax.prof
use-sample-profile-attr.prof [SampleFDO] Add use-sample-profile function attribute. 2020-06-02 17:23:17 -07:00
warm-inline-instance.prof