| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
table used for fast preprocessor block skipping. This has a minor performance improvement when preprocessing Cocoa.h, but can have some wins in pathologic cases.
llvm-svn: 60966
|
|
|
|
|
|
| |
skipped preprocessor blocks. This improves PTH speed by 6%. The code for this optimization itself is not very optimized, and will get cleaned up.
llvm-svn: 60956
|
|
|
|
|
|
|
| |
- Added a side-table per each token-cached file with the preprocessor conditional stack. This tracks what #if's are matched with what #endifs and where their respective tokens are in the PTH file. This will allow for quick skipping of excluded conditional branches in the Preprocessor.
- Performance testing shows the addition of this information (without actually utilizing it) leads to no performance regressions.
llvm-svn: 60911
|
|
|
|
|
|
| |
means to jump ahead in the token stream.
llvm-svn: 60905
|
|
|
|
| |
llvm-svn: 60896
|
|
|
|
|
|
| |
cleaner. No performance change.
llvm-svn: 60843
|
|
|
|
| |
llvm-svn: 60559
|
|
|
|
| |
llvm-svn: 60556
|
|
|
|
|
|
| |
Use an array instead of a DenseMap to cache persistent IDs -> IdentifierInfo*. This leads to a 4% speedup at -fsyntax-only using PTH.
llvm-svn: 60452
|
|
|
|
|
|
|
|
| |
some of the internal methods are used by PTHLexer (their implementations are intertwined.) This enables some important inlining opportunities at -O3.
- Don't construct an std::vector<Token> prior to feeding PTH tokens to the Preprocessor. Stream them off the PTH file directly.
llvm-svn: 60447
|
|
|
|
| |
llvm-svn: 60136
|
|
|
|
|
|
| |
handles transitions in the preprocessor state.
llvm-svn: 59845
|
|
|
|
|
|
| |
- Move out logic for handling the end-of-file to LexEndOfFile (to match the Lexer) class. The logic now mirrors the Lexer class more, which allows us to pass most of the Preprocessor test cases.
llvm-svn: 59768
|
|
|
|
|
|
|
| |
- Move PTHLexer::GetToken() to be inside PTHLexer.cpp.
- When lexing in raw mode, null out identifiers.
llvm-svn: 59744
|
|
|
|
|
|
|
|
|
|
| |
- Rename 'CurToken' and 'LastToken' to 'CurTokenIdx' and 'LastTokenIdx'
respectively.
- Add helper methods GetToken(), AdvanceToken(), AtLastToken() to abstract away
details of the token stream. This also allows us to easily replace their
implementation later.
llvm-svn: 59733
|
|
|
|
|
|
| |
can do basic macro expansion using the PTHLexer.
llvm-svn: 59724
|
|
|
|
|
|
|
|
| |
LexingRawMode in the ctor of PreprocessorLexer.
- PTHLexer: Use "LastToken" instead of "NumToken"
llvm-svn: 59690
|
|
|
|
|
|
| |
PTHLexer::DiscardToEndOfLine().
llvm-svn: 59687
|
|
|
|
| |
llvm-svn: 59670
|
|
|
|
| |
llvm-svn: 59668
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add variants of IsNonPragmaNonMacroLexer to accept an IncludeMacroStack entry
(simplifies some uses).
- Use IsNonPragmaNonMacroLexer in Preprocessor::LookupFile.
- Add 'FileID' to PreprocessorLexer, and have Preprocessor query this fileid
when looking up the FileEntry for a file
Performance testing of -Eonly on Cocoa.h shows no performance regression because
of this patch.
llvm-svn: 59666
|
|
|
|
| |
llvm-svn: 59424
|
|
|
|
| |
llvm-svn: 59191
|
|
llvm-svn: 59169
|