forked from OSchip/llvm-project
7a6c89427c
When sampleFDO is enabled, people may expect they can use -fno-profile-sample-use to opt-out using sample profile for a certain file. That could be either for debugging purpose or for performance tuning purpose. However, when thinlto is enabled, if a function in file A compiled with -fno-profile-sample-use is imported to another file B compiled with -fprofile-sample-use, the inlined copy of the function in file B may still get its profile annotated. The inconsistency may even introduce profile unused warning because if the target is not compiled with explicit debug information flag, the function in file A won't have its debug information enabled (debug information will be enabled implicitly only when -fprofile-sample-use is used). After it is imported into file B which is compiled with -fprofile-sample-use, profile annotation for the outline copy of the function will fail because the function has no debug information, and that will trigger profile unused warning. We add a new attribute use-sample-profile to control whether a function will use its sample profile no matter for its outline or inline copies. That will make the behavior of -fno-profile-sample-use consistent. Differential Revision: https://reviews.llvm.org/D79959 |
||
---|---|---|
.. | ||
Inputs | ||
alias-alias.ll | ||
alias.ll | ||
appending-var.ll | ||
asm-output.ll | ||
available-externally.ll | ||
cache-dso-local.ll | ||
cache-dso-local2.ll | ||
cache-prevailing.ll | ||
comdat-mixed-lto.ll | ||
comdat.ll | ||
common2.ll | ||
commons.ll | ||
dead-strip-alias.ll | ||
dead-strip-fulllto.ll | ||
diagnostic-handler-remarks-with-hotness.ll | ||
diagnostic-handler-remarks.ll | ||
empty-bitcode.test | ||
export-jumptable.ll | ||
function-alias-non-prevailing.ll | ||
ifunc.ll | ||
ifunc2.ll | ||
intrinsic.ll | ||
link-odr-availextern.ll | ||
linker-redef-thin.ll | ||
linker-redef.ll | ||
linkonce.ll | ||
lit.local.cfg | ||
load-sample-prof-icp.ll | ||
load-sample-prof-lto.ll | ||
load-sample-prof.ll | ||
local-def-dllimport.ll | ||
lowertypetests.ll | ||
lto-unit-check.ll | ||
mixed_lto.ll | ||
mod-asm-used.ll | ||
multi-thinlto.ll | ||
not-prevailing-alias.ll | ||
not-prevailing-variables.ll | ||
not-prevailing-weak-aliasee.ll | ||
not-prevailing.ll | ||
setting-dso-local.ll | ||
symtab-elf.ll | ||
symtab.ll | ||
type-checked-load.ll |