llvm-project/clang/lib/Frontend
Douglas Gregor 95c13f53b3 Load the selector table lazily from the PCH file.
This results in a 10% speedup on the Cocoa-prefixed "Hello, World!",
all of which is (not surprisingly) user time. There was a tiny
reduction in the size of the PCH file for Cocoa.h, because certain
selectors aren't being written twice.

I'm using two new tricks here that I'd like to replicate elsewhere:
  (1) The selectors not used in the global method pool are packed into
  the blob after the global method pool's on-disk hash table and
  stored as keys, so that all selectors are in the same blob.
  (2) We record the offsets of each selector key when we write it into
  the global method pool (or after it, in the same blob). The offset
  table is written as a blob, so that we don't need to pack/unpack a
  SmallVector with its contents.

llvm-svn: 70055
2009-04-25 17:48:32 +00:00
..
CMakeLists.txt Split preprocessor initialization logic out of clang-cc into 2009-04-21 05:40:52 +00:00
FixItRewriter.cpp Change Lexer::MeasureTokenLength to take a LangOptions reference. 2009-04-14 23:22:57 +00:00
HTMLDiagnostics.cpp refactor htmldiags to be created up front like the other diag clients. 2009-04-17 20:40:01 +00:00
InitHeaderSearch.cpp improve compatibility with GCC 4.4, patch by Michel Salim (PR3697) 2009-03-02 22:20:04 +00:00
InitPreprocessor.cpp Add another workaround for -include. 2009-04-22 08:53:01 +00:00
Makefile Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
ManagerRegistry.cpp Rename lib/Driver (etc) to lib/Frontend in prep for the *actual* 2009-03-02 06:16:29 +00:00
PCHReader.cpp Load the selector table lazily from the PCH file. 2009-04-25 17:48:32 +00:00
PCHWriter.cpp Load the selector table lazily from the PCH file. 2009-04-25 17:48:32 +00:00
PlistDiagnostics.cpp Add PathDiagnosticRange to PathDiagnostics. These simply wrap SourceRange and 2009-04-22 22:26:10 +00:00
TextDiagnosticBuffer.cpp Rename lib/Driver (etc) to lib/Frontend in prep for the *actual* 2009-03-02 06:16:29 +00:00
TextDiagnosticPrinter.cpp make "in included from" and "in instatiation from" messages respect 2009-04-21 03:57:54 +00:00