aboutsummaryrefslogtreecommitdiff
path: root/Driver/PrintPreprocessedOutput.cpp
AgeCommit message (Collapse)Author
2007-07-23change the concatenation avoidance algorithm to be partially table-drivenChris Lattner
and avoid computing the spelling of tokens when not needed. This speeds up -E on 447.dealII by 2.2% git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40421 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23If a token doesn't need cleaning, we can get its first characterChris Lattner
without having to get the whole token. This speeds up -E on 447.dealII by 1.8% git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40420 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23A minor tweak to -E output, speeding up -E 1.5% on 447.dealIIChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22no need to avoid pasting >* It can't form ->*, because we know the previousChris Lattner
token was not -> and if the token before it was -, the - and > would avoid pasting. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40409 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22remove redundant testChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40386 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-22avoid a small bit of string traffic by not storing the ""'s around a string ↵Chris Lattner
in CurFilename git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40385 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20At one point there were going to be lexer and parser tokens.Chris Lattner
Since that point is now long gone, we should rename LexerToken to Token, as it is the only kind of token we have. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-20Reimplement SourceLocation. Instead of having a Chris Lattner
fileid/offset pair, it now contains a bit discriminating between mapped locations and file locations. This separates the tables for macros and files in SourceManager, and allows better separation of concepts in the rest of the compiler. This allows us to have *many* macro instantiations before running out of 'addressing space'. This is also more efficient, because testing whether something is a macro expansion is now a bit test instead of a table lookup (which also used to require having a srcmgr around, now it doesn't). This is fully functional, but there are several refinements and optimizations left. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40103 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-11Stage two of getting CFE top correct.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39734 91177308-0d34-0410-b5e6-96231b3b80d8