- Jan 27, 2009
-
-
Daniel Dunbar authored
- Code quality is poor, but simple. llvm-svn: 63083
-
Ted Kremenek authored
PTH: Use Token::setLiteralData() to directly store a pointer to cached spelling data in the PTH file. This removes a ton of code for looking up spellings using sourcelocations in the PTH file. This simplifies both PTH-generation and reading. Performance impact for -fsyntax-only on Cocoa.h (with Cocoa.h in the PTH file): - PTH generation time improves by 5% - PTH reading improves by 0.3%. llvm-svn: 63072
-
Fariborz Jahanian authored
llvm-svn: 63071
-
Daniel Dunbar authored
case correctly. llvm-svn: 63068
-
- Jan 26, 2009
-
-
Fariborz Jahanian authored
as well (for nonfragile-abi). llvm-svn: 63062
-
Douglas Gregor authored
- When it's safe, ActionResult uses the low bit of the pointer for the "invalid" flag rather than a separate "bool" value. This keeps GCC from generating some truly awful code, for a > 3x speedup in the result-passing microbenchmark. - When DISABLE_SMART_POINTERS is defined, store an ActionResult within ASTOwningResult rather than an ASTOwningPtr. Brings the performance benefits of the above to smart pointers with DISABLE_SMART_POINTERS defined. Sadly, these micro-benchmark performance improvements don't seem to make much of a difference on Cocoa.h right now. However, they're harmless and might help with future optimizations. llvm-svn: 63061
-
Chris Lattner authored
optimize it to use the LiteralData when possible. llvm-svn: 63060
-
Chris Lattner authored
to crash when given an instantiation location. Thanks to Fariborz for the testcase. llvm-svn: 63057
-
Sebastian Redl authored
llvm-svn: 63055
-
Ted Kremenek authored
llvm-svn: 63054
-
Ted Kremenek authored
llvm-svn: 63047
-
Ted Kremenek authored
Embed the offset of the PTH table inside the prologue of the PTH file. This will help improve gradual versioning of PTH files instead of relying that the PTH table is at a fixed offset. llvm-svn: 63045
-
Fariborz Jahanian authored
meta-data. llvm-svn: 63043
-
Daniel Dunbar authored
llvm-svn: 63039
-
Daniel Dunbar authored
a unified return). llvm-svn: 63038
-
Chris Lattner authored
instantiation history in an effort to speed up c99-intconst-1.c. Now that multiple nested instantiations are allowed, we just make them and don't pay the cost of lookups. With the other changes that went in before this, reverting this is actually a speedup for c99-intconst-1.c, speeding it up from 1.96s to 1.80s, and preserves much better loc info. llvm-svn: 63036
-
Chris Lattner authored
history llvm-svn: 63035
-
Chris Lattner authored
source locations, allow creation of them. We can now say that a token was instantiated here, then here, then here. llvm-svn: 63034
-
Chris Lattner authored
locations, and move the slow case out of line. No perf change on cocoa.h llvm-svn: 63033
-
Sebastian Redl authored
llvm-svn: 63032
-
Sebastian Redl authored
llvm-svn: 63031
-
Chris Lattner authored
which I think is rdar://6527005, and make getDecomposedSpellingLocSlowCase handle nested spelling locations. llvm-svn: 63030
-
Chris Lattner authored
Token now has a class of kinds for "literals", which include numeric constants, strings, etc. These tokens can optionally have a pointer to the start of the token in the lexer buffer. This makes it faster to get spelling and do other gymnastics, because we don't have to go through source locations. This change is performance neutral, but will make other changes more feasible down the road. llvm-svn: 63028
-
Fariborz Jahanian authored
llvm-svn: 63020
-
Daniel Dunbar authored
llvm-svn: 63016
-
Chris Lattner authored
unique the Filenames in #line directives, assigning them UIDs. llvm-svn: 63010
-
Chris Lattner authored
testing code. llvm-svn: 63006
-
Chris Lattner authored
llvm-svn: 63003
-
Ted Kremenek authored
Use tag classes instead of typedefs for GDM entries 'ConstNotEq' and 'ConstEq'. This avoids collisions in the GDM. llvm-svn: 63002
-
Chris Lattner authored
llvm-svn: 63000
-
Chris Lattner authored
we just discard them. llvm-svn: 62999
-
Chris Lattner authored
This reduces fsyntax-only time on c99-intconst-1.c from 2.43s down to 2.01s (20%), reducing the number of fileid lookups from 2529040 linear and 64771121 binary to 5625902 linear and 4151182 binary. This knocks getFileID down to only 4.6% of compile time on this testcase. At this point, malloc/free is over 35% of compile time, primarily allocating MacroArgs objects and their argument preexpansion vectors. I don't feel like malloc avoiding right now, so I'm just going to call this good. llvm-svn: 62994
-
Chris Lattner authored
of a macro. Since these tokens may themselves be from macro expansions, we need to resolve down to the spelling loc when the macro ends up being instantiated. Instead of resolving this for each token expanded from the macro definition, just do it once when the macro is defined. This speeds up clang on c99-intconst-1.c from 2.66s to 2.43s (9.5%), reducing the FileID lookups from 407244 linear and 114175649 binary to 2529040 linear and 64771121 binary. llvm-svn: 62993
-
Chris Lattner authored
per token lexed from it. This speeds up clang on c99-intconst-1.c from the GCC testsuite from 3.64s to 2.66s (36%). This reduces the number of binary search FileID lookups from 251570522 to 114175649 on this testcase. llvm-svn: 62992
-
Eli Friedman authored
CompoundLiteralExpr so that there aren't any null pointers in the AST. llvm-svn: 62981
-
Chris Lattner authored
ground work for implementing #line, and fixes the "out of macro ID's" problem. There is nothing particularly tricky about the code, other than the very performance sensitive SourceManager::getFileID() method. llvm-svn: 62978
-
- Jan 25, 2009
-
-
Sebastian Redl authored
llvm-svn: 62971
-
Sebastian Redl authored
llvm-svn: 62960
-
Sebastian Redl authored
llvm-svn: 62959
-
Eli Friedman authored
everything that we aren't intending to implement in Expr::Evaluate. llvm-svn: 62953
-