diff options
author | Xinliang David Li <davidxl@google.com> | 2017-08-16 17:33:43 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2017-08-16 17:33:43 +0000 |
commit | dda958783ec9da91753fc483b461da7a8a83c538 (patch) | |
tree | 548fa15860aaf265526e1b87d6133f9a41c4a3a7 /lib/Bitcode | |
parent | 2f4468d845f9ca4ced09c5afccf7d9033fd3e727 (diff) |
Add more comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311025 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode')
-rw-r--r-- | lib/Bitcode/Writer/BitcodeWriter.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp index e3b43b333a1..c81e2006ad8 100644 --- a/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -3627,7 +3627,15 @@ void IndexBitcodeWriter::writeCombinedGlobalValueSummary() { if (!CallValueId) continue; // The mapping from OriginalId to GUID may return a GUID - // that corresponds to a static varible. Filter it out here. + // that corresponds to a static variable. Filter it out here. + // This can happen when + // 1) There is a call to a library function which does not have + // a CallValidId; + // 2) There is a static variable with the OriginalGUID identical + // to the GUID of the library function in 1); + // When this happens, the logic for SamplePGO kicks in and + // the static varible in 2) will be found, which needs to be + // filtered out. auto *GVSum = Index.getGlobalValueSummary(GUID, false); if (GVSum && GVSum->getSummaryKind() == GlobalValueSummary::GlobalVarKind) |