1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 20:12:56 +02:00
llvm-mirror/test/Transforms/SampleProfile/Inputs
Diego Novillo d08de97276 SamplePGO - Add initial support for inliner annotations.
This adds two thresholds to the sample profiler to affect inlining
decisions: the concept of global hotness and coldness.

Functions that have accumulated more than a certain fraction of samples at
runtime, are annotated with the InlineHint attribute. Conversely,
functions that accumulate less than a certain fraction of samples, are
annotated with the Cold attribute.

This is very similar to the hints emitted by Clang when using
instrumentation profiles.

Notice that this is a very blunt instrument. A function may have
globally collected a significant fraction of samples, but that does not
necessarily mean that every callsite for that function is hot.

Ideally, we would annotate each callsite with the samples collected at
that callsite. This way, the inliner can incorporate all these weights
into its cost model.

Once the inliner offers this functionality, we can change the hints
emitted here to a more precise per-callsite annotation. For now, this is
providing some measure of speedups with our internal benchmarks. I've
observed speedups of up to 23% (though the geo mean is about 3%). I expect
these numbers to improve as the inliner gets better annotations.

llvm-svn: 254212
2015-11-27 23:14:51 +00:00
..
bad_discriminator_value.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
bad_fn_header.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
bad_line_values.prof
bad_mangle.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
bad_sample_line.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
bad_samples.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
branch.prof Update sample profile propagation algorithm. 2015-10-01 00:26:56 +00:00
calls.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
cov-zero-samples.prof SamplePGO - Do not count never-executed inlined functions when computing coverage. 2015-11-20 21:46:38 +00:00
coverage-warning.prof SamplePGO - Add flag to check sampling coverage. 2015-10-28 22:30:25 +00:00
discriminator.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
entry_counts.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
fnptr.binprof Sample profiles - Re-arrange binary format to emit head samples only on top functions. 2015-10-16 18:54:35 +00:00
fnptr.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00
gcc-simple.afdo GCC AutoFDO profile reader - Initial support. 2015-09-17 00:17:24 +00:00
inline-coverage.prof SamplePGO - Count sample records in embedded profiles when computing coverage. 2015-10-31 21:53:58 +00:00
inline-hint.prof SamplePGO - Add initial support for inliner annotations. 2015-11-27 23:14:51 +00:00
inline.prof Add unittest for new samle profile format. 2015-09-30 01:05:37 +00:00
nolocinfo.prof Fix SamplePGO segfault when debug info is missing. 2015-10-27 17:37:00 +00:00
offset.prof Tolerate negative offset when matching sample profile. 2015-10-21 01:22:27 +00:00
propagate.prof Update sample profile propagation algorithm. 2015-10-01 00:26:56 +00:00
remarks.prof SamplePGO - Add optimization reports. 2015-10-26 18:52:53 +00:00
syntax.prof http://reviews.llvm.org/D13145 2015-09-30 00:42:46 +00:00