Skip to content
Snippets Groups Projects
  1. Aug 26, 2010
  2. Aug 24, 2010
  3. Aug 20, 2010
  4. Aug 19, 2010
  5. Aug 17, 2010
  6. Aug 14, 2010
    • Douglas Gregor's avatar
      Implement caching of code-completion results for macro definitions · 87c08a5d
      Douglas Gregor authored
      when the CXTranslationUnit_CacheCompletionResults option is given to
      clang_parseTranslationUnit(). Essentially, we compute code-completion
      results for macro definitions after we have parsed the file, then
      store an ASTContext-agnostic version of those results (completion
      string, cursor kind, priority, and active contexts) in the
      ASTUnit. When performing code completion in that ASTUnit, we splice 
      the macro definition results into the results provided by the actual
      code-completion (which has had macros turned off) before libclang gets
      those results. We use completion context information to only splice in
      those results that make sense for that context.
      
      With a completion involving all of the macros from Cocoa.h and a few other
      system libraries (totally ~8500 macro definitions) living in a
      precompiled header, we get about a 9% performance improvement from
      code completion, since we no longer have to deserialize all of the
      macro definitions from the precompiled header. 
      
      Note that macro definitions are merely the canary; the cache is
      designed to also support other top-level declarations, which should be
      a bigger performance win. That optimization will be next.
      
      Note also that there is no mechanism for determining when to throw
      away the cache and recompute its contents.
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111051 91177308-0d34-0410-b5e6-96231b3b80d8
      87c08a5d
  7. Aug 13, 2010
  8. Aug 11, 2010
  9. Aug 10, 2010
  10. Aug 09, 2010
  11. Aug 05, 2010
  12. Aug 04, 2010
    • Douglas Gregor's avatar
      Add code-completion support directly to ASTUnit, which performs code · 1abc6bca
      Douglas Gregor authored
      completion within the translation unit using the same command-line
      arguments for parsing the translation unit. Eventually, we'll reuse
      the precompiled preamble to improve code-completion performance, and
      this also gives us a place to cache results.
      
      Expose this function via the new libclang function
      clang_codeCompleteAt(), which performs the code completion within a
      CXTranslationUnit. The completion occurs in-process
      (clang_codeCompletion() runs code completion out-of-process).
      
      
      
      git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110210 91177308-0d34-0410-b5e6-96231b3b80d8
      1abc6bca
  13. Jul 30, 2010
  14. Jul 26, 2010
  15. Jul 25, 2010
  16. Jul 23, 2010
  17. Jul 22, 2010
  18. Jul 20, 2010
  19. Jul 19, 2010
  20. Jul 12, 2010
  21. Jun 22, 2010
  22. Jun 21, 2010
  23. Jun 08, 2010
  24. May 27, 2010
  25. May 14, 2010
  26. Apr 30, 2010
  27. Apr 21, 2010
  28. Apr 16, 2010
  29. Mar 25, 2010
Loading