- Apr 01, 2008
-
-
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
-
Chris Lattner authored
bottleneck for -E computation, because every token that starts a line needs to determine *which* line it is on (so -E mode can insert the appropriate vertical whitespace). This optimization improves this common case where it is striding through the line # table. This speeds up -E on xalancbmk by 3.2% llvm-svn: 40459
-
- Jul 21, 2007
-
-
Chris Lattner authored
keeps the MacroInfo table more compact. llvm-svn: 40281
-
- Jul 20, 2007
-
-
Chris Lattner authored
llvm-svn: 40111
-
Chris Lattner authored
SourceManager::getInstantiationLoc. With this change, every token expanded from a macro doesn't get its own MacroID. :) This reduces # macro IDs in carbon.h from 16805 to 9197 llvm-svn: 40108
-
Chris Lattner authored
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. llvm-svn: 40103
-
- Jul 16, 2007
-
-
Chris Lattner authored
accurate diagnostics. For test/Lexer/comments.c we now emit: int x = 000000080; /* expected-error {{invalid digit}} */ ^ constants.c:7:4: error: invalid digit '8' in octal constant 00080; /* expected-error {{invalid digit}} */ ^ The last line is due to an escaped newline. The full line looks like: int y = 0000\ 00080; /* expected-error {{invalid digit}} */ Previously, we emitted: constants.c:4:9: error: invalid digit '8' in octal constant int x = 000000080; /* expected-error {{invalid digit}} */ ^ constants.c:6:9: error: invalid digit '8' in octal constant int y = 0000\ ^ which isn't too bad, but the new way is better for the user, regardless of whether there is an escaped newline or not. All the other lexer-related diagnostics should switch over to using AdvanceToTokenCharacter where appropriate. Help wanted :). This implements test/Lexer/constants.c. llvm-svn: 39906
-
- Jul 15, 2007
-
-
Chris Lattner authored
virtual->physical mapping explicitly. llvm-svn: 39867
-
- Jul 12, 2007
-
-
Gabor Greif authored
(needed on Solaris) llvm-svn: 39781
-
- Jun 16, 2007
-
-
Chris Lattner authored
out of the llvm namespace. This makes the clang namespace be a sibling of llvm instead of being a child. The good thing about this is that it makes many things unambiguous. The bad things is that many things in the llvm namespace (notably data structures like smallvector) now require an llvm:: qualifier. IMO, libsystem and libsupport should be split out of llvm into their own namespace in the future, which will fix this issue. llvm-svn: 39659
-
- May 07, 2007
-
-
Chris Lattner authored
llvm-svn: 39434
-
- Apr 29, 2007
-
-
Chris Lattner authored
llvm-svn: 39426
-
Chris Lattner authored
support library, where it can be used by other LLVM clients. There are some ugly fixme's in the short-term. llvm-svn: 39425
-