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/PCHWriter.cpp b/lib/Frontend/PCHWriter.cpp
index 0aada62..6557ca5 100644
--- a/lib/Frontend/PCHWriter.cpp
+++ b/lib/Frontend/PCHWriter.cpp
@@ -1616,6 +1616,7 @@
        D != DEnd; ++D)
     AddDeclRef(*D, Record);
 
+  ++NumLexicalDeclContexts;
   Stream.EmitRecord(pch::DECL_CONTEXT_LEXICAL, Record);
   return Offset;
 }
@@ -1664,6 +1665,7 @@
     return 0;
 
   Stream.EmitRecord(pch::DECL_CONTEXT_VISIBLE, Record);
+  ++NumVisibleDeclContexts;
   return Offset;
 }
 
@@ -1997,7 +1999,8 @@
 
 PCHWriter::PCHWriter(llvm::BitstreamWriter &Stream) 
   : Stream(Stream), NextTypeID(pch::NUM_PREDEF_TYPE_IDS), 
-    NumStatements(0), NumMacros(0) { }
+    NumStatements(0), NumMacros(0), NumLexicalDeclContexts(0),
+    NumVisibleDeclContexts(0) { }
 
 void PCHWriter::WritePCH(Sema &SemaRef) {
   ASTContext &Context = SemaRef.Context;
@@ -2078,6 +2081,8 @@
   Record.clear();
   Record.push_back(NumStatements);
   Record.push_back(NumMacros);
+  Record.push_back(NumLexicalDeclContexts);
+  Record.push_back(NumVisibleDeclContexts);
   Stream.EmitRecord(pch::STATISTICS, Record);
   Stream.ExitBlock();
 }