aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-profgen/ProfileGenerator.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/tools/llvm-profgen/ProfileGenerator.h')
-rw-r--r--llvm/tools/llvm-profgen/ProfileGenerator.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/tools/llvm-profgen/ProfileGenerator.h b/llvm/tools/llvm-profgen/ProfileGenerator.h
index 88cf2dc..d258fb7 100644
--- a/llvm/tools/llvm-profgen/ProfileGenerator.h
+++ b/llvm/tools/llvm-profgen/ProfileGenerator.h
@@ -108,6 +108,10 @@ protected:
void updateCallsiteSamples();
+ void filterAmbiguousProfile(SampleProfileMap &Profiles);
+
+ bool filterAmbiguousProfile(FunctionSamples &FS);
+
StringRef getCalleeNameForAddress(uint64_t TargetAddress);
void computeSummaryAndThreshold(SampleProfileMap &ProfileMap);
@@ -128,6 +132,10 @@ protected:
virtual bool collectFunctionsFromLLVMProfile(
std::unordered_set<const BinaryFunction *> &ProfiledFunctions) = 0;
+ // List of function prefix to filter out.
+ static constexpr const char *FuncPrefixsToFilter[] = {"__cxx_global_var_init",
+ "__tls_init"};
+
// Thresholds from profile summary to answer isHotCount/isColdCount queries.
uint64_t HotCountThreshold;