OSDN Git Service

Add more comment
authorXinliang David Li <davidxl@google.com>
Wed, 16 Aug 2017 17:33:43 +0000 (17:33 +0000)
committerXinliang David Li <davidxl@google.com>
Wed, 16 Aug 2017 17:33:43 +0000 (17:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311025 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Writer/BitcodeWriter.cpp

index e3b43b3..c81e200 100644 (file)
@@ -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)