llvm-project/llvm/test/Transforms/SampleProfile
Diego Novillo 0b6985a3c6 SamplePGO - Add test for hot/cold inlined functions.
When the original binary is executed and sampled, the resulting profile
contains information on the original inline stack. We currently follow
the original inline plan if we notice that the inlined callsite has more
than 0 samples to it.

A better way is to determine whether the callsite is actually worth
inlining. If the callsite accumulates a small fraction of the samples
spent in the parent function, then we don't want to bother inlining it
(as it means that the callsite is actually cold).

This patch introduces a threshold expressed in percentage of samples
in relation to the parent function.  If the callsite uses less than N%
of the total samples used by its parent, the original inline decision is
not re-applied.

I've set the threshold to the very arbitrary value of 5%. I'm yet to do
any actual experiments to see what's a good value. I wanted to separate
the basic mechanism from the tuning.

llvm-svn: 254034
2015-11-24 22:38:37 +00:00
..
Inputs SamplePGO - Do not count never-executed inlined functions when computing coverage. 2015-11-20 21:46:38 +00:00
branch.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
calls.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
cov-zero-samples.ll SamplePGO - Add coverage tracking for samples. 2015-11-23 20:12:21 +00:00
coverage-warning.ll SamplePGO - Add coverage tracking for samples. 2015-11-23 20:12:21 +00:00
discriminator.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
entry_counts.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
fnptr.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
gcc-simple.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
inline-coverage.ll SamplePGO - Add coverage tracking for samples. 2015-11-23 20:12:21 +00:00
inline.ll SamplePGO - Add test for hot/cold inlined functions. 2015-11-24 22:38:37 +00:00
nolocinfo.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
offset.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
propagate.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
remarks.ll DI: Reverse direction of subprogram -> function edge. 2015-11-05 22:03:56 +00:00
syntax.ll [llvm-profdata] Add check for text profile formats and improve error reporting (2nd try) 2015-11-13 03:47:58 +00:00