llvm-project/llvm/test/Transforms/CodeGenPrepare
Teresa Johnson 2a6b7991d4 Restrict call metadata based hotness detection to Sample PGO mode
Summary:
Don't use the metadata on call instructions for determining hotness
unless we are in sample PGO mode, where it is needed because profile
counts are not accurate. In instrumentation mode this is not necessary
and does more harm than good when calls have VP metadata that hasn't
been properly scaled after transformations or dropped after constant
prop based devirtualization (both should be fixed, but we don't need
to do this in the first place for instrumentation PGO).

This required adjusting a number of tests to distinguish between sample
and instrumentation PGO handling, and to add in profile summary metadata
so that getProfileCount can get the summary.

Reviewers: davidxl, danielcdh

Subscribers: aemerson, rengolin, mehdi_amini, Prazek, llvm-commits

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

llvm-svn: 302844
2017-05-11 23:18:05 +00:00
..
AArch64 [CodeGenPrep] Skip merging empty case blocks 2016-12-16 20:38:39 +00:00
AMDGPU AMDGPU: Mark all unspecified CC functions in tests as amdgpu_kernel 2017-03-21 21:39:51 +00:00
ARM [InstCombine] Rewrite bswap/bitreverse handling completely. 2016-01-15 09:20:19 +00:00
NVPTX [BypassSlowDivision] Do not bypass division of hash-like values 2017-04-02 13:14:30 +00:00
X86 Turn on -addr-sink-using-gep by default. 2017-04-06 22:42:18 +00:00
2008-11-24-RAUW-Self.ll
basic.ll Let llvm.objectsize be conservative with null pointers 2017-03-21 20:08:59 +00:00
bitreverse-hang.ll [InstCombine] Rewrite bswap/bitreverse handling completely. 2016-01-15 09:20:19 +00:00
builtin-condition.ll Add address space mangling to lifetime intrinsics 2017-04-10 20:18:21 +00:00
dom-tree.ll Keep CodeGenPrepare from preserving the domtree. 2016-03-22 21:25:08 +00:00
invariant.group.ll Fix CodeGenPrepare::stripInvariantGroupMetadata 2016-12-16 18:52:33 +00:00
overflow-intrinsics.ll
section-samplepgo.ll Restrict call metadata based hotness detection to Sample PGO mode 2017-05-11 23:18:05 +00:00
section.ll Restrict call metadata based hotness detection to Sample PGO mode 2017-05-11 23:18:05 +00:00
skip-merging-case-block.ll [CodeGenPrep] Skip merging empty case blocks 2016-12-16 20:38:39 +00:00
split-indirect-loop.ll [CodeGenPrepare] Fix crash due to an invalid CFG 2017-04-17 19:11:04 +00:00
statepoint-relocate.ll [gc.statepoint] Change gc.statepoint intrinsic's return type to token type instead of i32 type 2015-12-26 07:54:32 +00:00