summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/Preprocessor.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2012-08-13 10:46:42 +0000
committerAlexander Kornienko <alexfh@google.com>2012-08-13 10:46:42 +0000
commit199cd94f50150f89dccb71b5566b17e495fe0521 (patch)
treeae1cbe11ea99599e276b99d0821524468c133736 /clang/lib/Lex/Preprocessor.cpp
parent8c724a758b176fd1d1cb12c59e6492ef554bf115 (diff)
downloadbcm5719-llvm-199cd94f50150f89dccb71b5566b17e495fe0521.tar.gz
bcm5719-llvm-199cd94f50150f89dccb71b5566b17e495fe0521.zip
Added some preprocessor memory usage stats to -cc1 -print-stats
llvm-svn: 161752
Diffstat (limited to 'clang/lib/Lex/Preprocessor.cpp')
-rw-r--r--clang/lib/Lex/Preprocessor.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/lib/Lex/Preprocessor.cpp b/clang/lib/Lex/Preprocessor.cpp
index c699c4a790c..614530cf387 100644
--- a/clang/lib/Lex/Preprocessor.cpp
+++ b/clang/lib/Lex/Preprocessor.cpp
@@ -237,6 +237,20 @@ void Preprocessor::PrintStats() {
llvm::errs() << (NumFastTokenPaste+NumTokenPaste)
<< " token paste (##) operations performed, "
<< NumFastTokenPaste << " on the fast path.\n";
+
+ llvm::errs() << "\nPreprocessor Memory: " << getTotalMemory() << "B total";
+
+ llvm::errs() << "\n BumpPtr: " << BP.getTotalMemory();
+ llvm::errs() << "\n Macro Expanded Tokens: "
+ << llvm::capacity_in_bytes(MacroExpandedTokens);
+ llvm::errs() << "\n Predefines Buffer: " << Predefines.capacity();
+ llvm::errs() << "\n Macros: " << llvm::capacity_in_bytes(Macros);
+ llvm::errs() << "\n #pragma push_macro Info: "
+ << llvm::capacity_in_bytes(PragmaPushMacroInfo);
+ llvm::errs() << "\n Poison Reasons: "
+ << llvm::capacity_in_bytes(PoisonReasons);
+ llvm::errs() << "\n Comment Handlers: "
+ << llvm::capacity_in_bytes(CommentHandlers) << "\n";
}
Preprocessor::macro_iterator
OpenPOWER on IntegriCloud