- Jan 26, 2009
-
-
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
-
Chris Lattner authored
which I think is rdar://6527005, and make getDecomposedSpellingLocSlowCase handle nested spelling locations. llvm-svn: 63030
-
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
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 19, 2009
-
-
Chris Lattner authored
llvm-svn: 62497
-
Chris Lattner authored
llvm-svn: 62495
-
Chris Lattner authored
SourceManager::getBuffer(SourceLocation) method. llvm-svn: 62494
-
- Jan 17, 2009
-
-
Chris Lattner authored
the chunk ID not the file ID. This exposes problems in TextDiagnosticPrinter where it should have been using the canonical file ID but wasn't. Fix these along the way. llvm-svn: 62427
-
Chris Lattner authored
"FileID" a concept that is now enforced by the compiler's type checker instead of yet-another-random-unsigned floating around. This is an important distinction from the "FileID" currently tracked by SourceLocation. *That* FileID may refer to the start of a file or to a chunk within it. The new FileID *only* refers to the file (and its #include stack and eventually #line data), it cannot refer to a chunk. FileID is a completely opaque datatype to all clients, only SourceManager is allowed to poke and prod it. llvm-svn: 62407
-
Chris Lattner authored
llvm-svn: 62403
-
- Jan 16, 2009
-
-
Chris Lattner authored
"logical" location, refer to the "instantiation" location. llvm-svn: 62316
-
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
-