summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/PCHWriter.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-04-22 22:34:57 +0000
committerDouglas Gregor <dgregor@apple.com>2009-04-22 22:34:57 +0000
commita57c3abf3709f7849154adf78d13cb849cd7e4c2 (patch)
tree9c040445d1df2437d01d2955876775c09812d733 /clang/lib/Frontend/PCHWriter.cpp
parent63e29cc99c349e5fcc8828a084978b910615a5ad (diff)
downloadbcm5719-llvm-a57c3abf3709f7849154adf78d13cb849cd7e4c2.tar.gz
bcm5719-llvm-a57c3abf3709f7849154adf78d13cb849cd7e4c2.zip
Add PCH statistics for the number/percent of lexical/visible declcontexts read
llvm-svn: 69835
Diffstat (limited to 'clang/lib/Frontend/PCHWriter.cpp')
-rw-r--r--clang/lib/Frontend/PCHWriter.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp
index 0aada625994..6557ca5c427 100644
--- a/clang/lib/Frontend/PCHWriter.cpp
+++ b/clang/lib/Frontend/PCHWriter.cpp
@@ -1616,6 +1616,7 @@ uint64_t PCHWriter::WriteDeclContextLexicalBlock(ASTContext &Context,
D != DEnd; ++D)
AddDeclRef(*D, Record);
+ ++NumLexicalDeclContexts;
Stream.EmitRecord(pch::DECL_CONTEXT_LEXICAL, Record);
return Offset;
}
@@ -1664,6 +1665,7 @@ uint64_t PCHWriter::WriteDeclContextVisibleBlock(ASTContext &Context,
return 0;
Stream.EmitRecord(pch::DECL_CONTEXT_VISIBLE, Record);
+ ++NumVisibleDeclContexts;
return Offset;
}
@@ -1997,7 +1999,8 @@ void PCHWriter::SetIdentifierOffset(const IdentifierInfo *II, uint32_t Offset) {
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 @@ void PCHWriter::WritePCH(Sema &SemaRef) {
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();
}
OpenPOWER on IntegriCloud