Skip to content
  1. Jan 26, 2009
  2. Jan 19, 2009
  3. Jan 17, 2009
  4. Jan 16, 2009
  5. Jan 06, 2009
    • Ted Kremenek's avatar
      SourceManager: Implement "lazy" creation of MemBuffers for source files. · 763ea559
      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
      763ea559
    • Ted Kremenek's avatar
      Misc changes to SourceManager::ContentCache: · 12c2af44
      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
      12c2af44
  6. Nov 18, 2008
  7. Oct 27, 2008
  8. Sep 29, 2008
  9. Sep 26, 2008
    • Chris Lattner's avatar
      clean up a bunch of fixme's I added, by moving · b03dc764
      Chris Lattner authored
      DirectoryLookup::DirType into SourceManager.h
      
      llvm-svn: 56692
      b03dc764
    • Chris Lattner's avatar
      Fix the rest of rdar://6243860 hopefully. This requires changing FileIDInfo · c88a23e8
      Chris 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
      c88a23e8
  10. Aug 10, 2008
    • Nico Weber's avatar
      * Remove isInSystemHeader() from DiagClient, move it to SourceManager · 4c311643
      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
      4c311643
  11. Apr 01, 2008
  12. Mar 31, 2008
  13. Mar 16, 2008
    • Chris Lattner's avatar
      Make a major restructuring of the clang tree: introduce a top-level · 7a51313d
      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
      7a51313d
  14. Feb 03, 2008
  15. Jan 25, 2008
  16. Dec 29, 2007
  17. Dec 19, 2007
  18. Dec 18, 2007
  19. Dec 13, 2007
  20. Dec 10, 2007
  21. Dec 05, 2007
  22. Dec 04, 2007
  23. Nov 10, 2007
Loading