aboutsummaryrefslogtreecommitdiff
path: root/Driver
AgeCommit message (Collapse)Author
2007-07-23In OutputString, avoid calling memcpy for really tiny strings. Chris Lattner
This speeds up -E on 447.dealII by 5.8% git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-23Avoid calling getSpelling at all for identifiers, which areChris Lattner
trivial to handle and very very common. This speeds up -E on 447.dealII by 2.5% git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40422 91177308-0d34-0410-b5e6-96231b3b80d8
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-22GCC doesn't set __STDC_VERSION__ usually. It never sets it inChris Lattner
C++ mode, even gnu C++ mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40408 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-22when running in -E mode on multiple files, there is no reason to accumulate Chris Lattner
fileid's and macroid's across files. Clearing between files keeps the tables smaller and slightly speeds up compilation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40383 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-21Return an exit code of 1 if errors occur, not an exit code equal to the # ↵Chris Lattner
errors :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40189 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-20simplify the lexer ctor to take a SLoc instead of a sloc and a redundant ↵Chris Lattner
buffer*. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@40104 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-16add better comments.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39904 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-16Add support for C++'0x keywords, patch by Doug GregorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39897 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-15non-apple targets should be like i386, not the mythical, bogus, linux target.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39865 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-14A significant refactoring of the type size stuff to also Chris Lattner
compute type alignment. This info is needed for struct layout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39850 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-13implement support for basic codegen of global variables with no initializers.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@39795 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