Add PCH statistics for the number/percent of lexical/visible declcontexts read

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69835 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp
index 66a849d..3ade493 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Frontend/PCHReader.cpp
@@ -1711,6 +1711,8 @@
     case pch::STATISTICS:
       TotalNumStatements = Record[0];
       TotalNumMacros = Record[1];
+      TotalLexicalDeclContexts = Record[2];
+      TotalVisibleDeclContexts = Record[3];
       break;
 
     case pch::TENTATIVE_DEFINITIONS:
@@ -2439,6 +2441,7 @@
   // Load all of the declaration IDs
   Decls.clear();
   Decls.insert(Decls.end(), Record.begin(), Record.end());
+  ++NumLexicalDeclContextsRead;
   return false;
 }
 
@@ -2479,6 +2482,7 @@
       LoadedDecls.push_back(Record[Idx++]);
   }
 
+  ++NumVisibleDeclContextsRead;
   return false;
 }
 
@@ -2525,6 +2529,14 @@
   std::fprintf(stderr, "  %u/%u macros read (%f%%)\n",
                NumMacrosRead, TotalNumMacros,
                ((float)NumMacrosRead/TotalNumMacros * 100));
+  std::fprintf(stderr, "  %u/%u lexical declcontexts read (%f%%)\n",
+               NumLexicalDeclContextsRead, TotalLexicalDeclContexts,
+               ((float)NumLexicalDeclContextsRead/TotalLexicalDeclContexts
+                * 100));
+  std::fprintf(stderr, "  %u/%u visible declcontexts read (%f%%)\n",
+               NumVisibleDeclContextsRead, TotalVisibleDeclContexts,
+               ((float)NumVisibleDeclContextsRead/TotalVisibleDeclContexts
+                * 100));
   std::fprintf(stderr, "\n");
 }