- Jan 16, 2009
-
-
Chris Lattner authored
llvm-svn: 62315
-
Chris Lattner authored
the "physical" location of tokens, refer to the "spelling" location. This is more concrete and useful, tokens aren't really physical objects! llvm-svn: 62309
-
- Jan 06, 2009
-
-
Ted Kremenek authored
- Big Idea: Source files are now mmaped when ContentCache::getBuffer() is first called. While this doesn't change the functionality when lexing regular source files, it can result in source files not being paged in when using PTH. - Performance change: - No observable difference (-fsyntax-only/-Eonly) on Cocoa.h when doing regular source lexing. - No observable time difference (-fsyntax-only/-Eonly) on Cocoa.h when using PTH. We do observe, however, a reduction of 279K in memory mapped source code (3% reduction). The majority of pages from Cocoa.h (and friends) are still being pulled in, however, because any literal will cause Preprocessor::getSpelling() to be called (causing the source for the file to get pulled in). The next possible optimization is to cache literal strings in the PTH file to avoid the need for the original header sources entirely. - Right now there is a preprocessor directive to toggle between "lazy" and "eager" creation of MemBuffers. This is not permanent, and is there in the short term to just test additional optimizations. llvm-svn: 61827
-
Ted Kremenek authored
- 'Buffer' is now private and must be accessed via 'getBuffer()'. This paves the way for lazily mapping in source files on demand. - Added 'getSize()' (which gets the size of the content without necessarily accessing the MemBuffer) and 'getSizeBytesMapped()'. - Modifed SourceManager to use these new methods. This reduces the number of places that actually access the MemBuffer object for a file to those that actually look at the character data. These changes result in no performance change for -fsyntax-only on Cocoa.h. llvm-svn: 61782
-
- Nov 18, 2008
-
-
Chris Lattner authored
Use mutable to make it so. llvm-svn: 59498
-
- Oct 27, 2008
-
-
Chris Lattner authored
llvm-svn: 58224
-
- Sep 29, 2008
-
-
Nico Weber authored
llvm-svn: 56776
-
- Sep 26, 2008
-
-
Chris Lattner authored
DirectoryLookup::DirType into SourceManager.h llvm-svn: 56692
-
rdar://6243860Chris Lattner authored
to whether the fileid is a 'extern c system header' in addition to whether it is a system header, most of this is spreading plumbing around. Once we have that, PPLexerChange bases its "file enter/exit" notifications to PPCallbacks to base the system header state on FileIDInfo instead of HeaderSearch. Finally, in Preprocessor::HandleIncludeDirective, mirror logic in GCC: the system headerness of a file being entered can be set due to the #includer or the #includee. llvm-svn: 56688
-
- Aug 10, 2008
-
-
Nico Weber authored
* Move FormatError() from TextDiagnostic up to DiagClient, remove now empty class TextDiagnostic * Make DiagClient optional for Diagnostic This fixes the following problems: * -html-diags (and probably others) does now output the same set of warnings as console clang does * nothing crashes if one forgets to call setHeaderSearch() on TextDiagnostic * some code duplication is removed llvm-svn: 54620
-
- Apr 01, 2008
-
-
Chris Lattner authored
llvm-svn: 49042
-
Chris Lattner authored
llvm-svn: 49033
-
Chris Lattner authored
The new MemoryBuffer doesn't "leak" file descriptors and handles the small file case efficiently. llvm-svn: 49032
-
- Mar 31, 2008
-
-
Steve Naroff authored
This is a temporary solution to avoid running out of file descriptors (which defaults to 256). Need to benchmark to understand the speed benefit. If the benefit is small, the simple solution is to avoid memory mapping files. If the benefit is significant, more thought is necessary. llvm-svn: 48991
-
- Mar 16, 2008
-
-
Chris Lattner authored
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
-
- Feb 03, 2008
-
-
Chris Lattner authored
llvm-svn: 46685
-
- Jan 25, 2008
-
-
Chris Lattner authored
llvm-svn: 46330
-
- Dec 29, 2007
-
-
Chris Lattner authored
discussion of this change. llvm-svn: 45410
-
- Dec 19, 2007
-
-
Ted Kremenek authored
in SourceManager. llvm-svn: 45225
-
- Dec 18, 2007
-
-
Ted Kremenek authored
to serialized source files. llvm-svn: 45183
-
- Dec 13, 2007
-
-
Ted Kremenek authored
deserialization. Eventually this should be replaced with a lazy-reading mechanism that only reads source files when they are needed by clients. llvm-svn: 45007
-
- Dec 10, 2007
-
-
Ted Kremenek authored
llvm-svn: 44797
-
- Dec 05, 2007
-
-
Ted Kremenek authored
llvm-svn: 44635
-
Ted Kremenek authored
Now sourcemanager deserializer automatically self-registers itself with the deserializer. llvm-svn: 44591
-
Ted Kremenek authored
llvm-svn: 44590
-
- Dec 04, 2007
-
-
Ted Kremenek authored
llvm-svn: 44578
-
- Nov 10, 2007
-
-
Chris Lattner authored
llvm-svn: 43969
-
Chris Lattner authored
whether the location is the start and/or end of an expansion. These are currently not set or used by anything. llvm-svn: 43968
-
- Oct 31, 2007
-
-
Ted Kremenek authored
llvm-svn: 43562
-
- Oct 30, 2007
-
-
Ted Kremenek authored
Disabled assignments for ContentCache. Copy-ctor for ContentCache now has an assertion preventing it to be copied from an object that already has an allocated buffer. llvm-svn: 43526
-
Ted Kremenek authored
single class: ContentCache. This simplifies the logic in SourceManager and makes the ownership of MemoryBuffers clearer. llvm-svn: 43518
-
- Oct 16, 2007
-
-
Anton Korobeynikov authored
llvm-svn: 43029
-
- Oct 11, 2007
-
-
Chris Lattner authored
with x's for now. The APIs are all unimplemented, so it doesn't do anything yet! :) llvm-svn: 42868
-
- Sep 12, 2007
-
-
Hartmut Kaiser authored
Removed clang solution file for VC++, which didn't work properly because of hard coded paths in the llvm project files. Changed windows detection to use LLVM pp constant. llvm-svn: 41878
-
- Sep 03, 2007
-
-
Chris Lattner authored
by Hartmut Kaiser! llvm-svn: 41684
-
- Aug 30, 2007
-
-
Chris Lattner authored
llvm-svn: 41600
-
- Aug 02, 2007
-
-
Chris Lattner authored
llvm-svn: 40719
-
Chris Lattner authored
This is important in insane cases like the one dannyb sent me recently: #define F0(a) void a(){} #define F1(a) F0(a##0) F0(a##1) F0(a##2) F0(a##3) F0(a##4) F0(a##5) F0(a##6) F0(a##7) #define F2(a) F1(a##0) F1(a##1) F1(a##2) F1(a##3) F1(a##4) F1(a##5) F1(a##6) F1(a##7) #define F3(a) F2(a##0) F2(a##1) F2(a##2) F2(a##3) F2(a##4) F2(a##5) F2(a##6) F2(a##7) #define F4(a) F3(a##0) F3(a##1) F3(a##2) F3(a##3) F3(a##4) F3(a##5) F3(a##6) F3(a##7) #define F5(a) F4(a##0) F4(a##1) F4(a##2) F4(a##3) F4(a##4) F4(a##5) F4(a##6) F4(a##7) #define F6(a) F5(a##0) F5(a##1) F5(a##2) F5(a##3) F5(a##4) F5(a##5) F5(a##6) F5(a##7) F6(f) cpp is great. :) llvm-svn: 40715
-
- Jul 24, 2007
-
-
Chris Lattner authored
This speeds up -E on xalancbmk by 2.4% llvm-svn: 40461
-
Chris Lattner authored
llvm-svn: 40460
-