summaryrefslogtreecommitdiffstats
path: root/clang/lib/Lex/MacroArgs.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* eagerly resolve the spelling locations of macro argument preexpansions.Chris Lattner2009-01-261-2/+9
| | | | | | | | | | | | | | | 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
* Optimize stringification a bit to avoid std::string thrashing andChris Lattner2009-01-051-10/+24
| | | | | | | avoid the version of Preprocessor::getSpelling that returns an std::string. llvm-svn: 61769
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-151-0/+225
lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
OpenPOWER on IntegriCloud