Skip to content
  1. Feb 06, 2009
    • Ted Kremenek's avatar
      Move StringLiteral to allocate its internal string data using the allocator in · 6b7ecf68
      Ted Kremenek authored
      ASTContext. This required changing all clients to pass in the ASTContext& to the
      constructor of StringLiteral. I also changed all allocations of StringLiteral to
      use new(ASTContext&).
      
      Along the way, I updated a bunch of new()'s in StmtSerialization.cpp to use the
      allocator from ASTContext& (not complete).
      
      llvm-svn: 63958
      6b7ecf68
  2. Feb 04, 2009
    • Douglas Gregor's avatar
      Some name-lookup-related fixes, from Piotr Rak! · 2ada0489
      Douglas Gregor authored
      - Changes Lookup*Name functions to return NamedDecls, instead of
      Decls. Unfortunately my recent statement that it will simplify lot of
      code, was not quite right, but it simplifies some...
      - Makes MergeLookupResult SmallPtrSet instead of vector, following
      Douglas suggestions.
      - Adds %qN format for printing qualified names to Diagnostic.
      - Avoids searching for using-directives in Scopes, which are not
      DeclScope, during unqualified name lookup.
      
      llvm-svn: 63739
      2ada0489
  3. Jan 30, 2009
    • Douglas Gregor's avatar
      Eliminated LookupCriteria, whose creation was causing a bottleneck for · ed8f2887
      Douglas Gregor authored
      LookupName et al. Instead, use an enum and a bool to describe its
      contents.
      
      Optimized the C/Objective-C path through LookupName, eliminating any
      unnecessarily C++isms. Simplify IdentifierResolver::iterator, removing
      some code and arguments that are no longer used.
      
      Eliminated LookupDeclInScope/LookupDeclInContext, moving all callers
      over to LookupName, LookupQualifiedName, or LookupParsedName, as
      appropriate.
      
      All together, I'm seeing a 0.2% speedup on Cocoa.h with PTH and
      -disable-free. Plus, we're down to three name-lookup routines.
      
      llvm-svn: 63354
      ed8f2887
  4. Jan 29, 2009
  5. Jan 28, 2009
  6. Jan 27, 2009
  7. Jan 26, 2009
    • Douglas Gregor's avatar
      Some micro-optimizations for DISABLE_SMART_POINTERS: · f829825d
      Douglas Gregor authored
        - When it's safe, ActionResult uses the low bit of the pointer for
        the "invalid" flag rather than a separate "bool" value. This keeps
        GCC from generating some truly awful code, for a > 3x speedup in the
        result-passing microbenchmark.
        - When DISABLE_SMART_POINTERS is defined, store an ActionResult
        within ASTOwningResult rather than an ASTOwningPtr. Brings the
        performance benefits of the above to smart pointers with
        DISABLE_SMART_POINTERS defined.
      
      Sadly, these micro-benchmark performance improvements don't seem to
      make much of a difference on Cocoa.h right now. However, they're
      harmless and might help with future optimizations.
      
      llvm-svn: 63061
      f829825d
  8. Jan 16, 2009
  9. Jan 13, 2009
  10. Jan 09, 2009
    • Douglas Gregor's avatar
      Provide a new kind of iterator, the specific_decl_iterator, that · ffca3a21
      Douglas Gregor authored
      filters the decls seen by decl_iterator with two criteria: the dynamic
      type of the declaration and a run-time predicate described by a member
      function. This simplifies EnumDecl, RecordDecl, and ObjCContainerDecl
      considerably. It has no measurable performance impact.
      
      llvm-svn: 61994
      ffca3a21
  11. Jan 07, 2009
  12. Dec 16, 2008
  13. Nov 24, 2008
  14. Nov 23, 2008
    • Chris Lattner's avatar
      Convert IdentifierInfo's to be printed the same as DeclarationNames · e3d20d95
      Chris Lattner authored
      with implicit quotes around them.  This has a bunch of follow-on 
      effects and requires tweaking to a whole lot of code.  This causes
      a regression in two tests (xfailed) by causing it to emit things like:
      
        Line 10: duplicate interface declaration for category 'MyClass1' ('Category1')
      
      instead of:
      
        Line 10: duplicate interface declaration for category 'MyClass1(Category1)'
      
      I will fix this in a follow-up commit.
      
      As part of this, I had to start switching stuff to use ->getDeclName() instead
      of Decl::getName() for consistency.  This is good, but I was planning to do this
      as an independent patch.  There will be several follow-on patches
      to clean up some of the mess, but this patch is already too big.
      
      llvm-svn: 59917
      e3d20d95
  15. Nov 21, 2008
  16. Nov 20, 2008
  17. Nov 19, 2008
  18. Nov 17, 2008
  19. Nov 04, 2008
  20. Sep 30, 2008
  21. Sep 29, 2008
  22. Sep 28, 2008
  23. Sep 11, 2008
  24. Aug 15, 2008
    • Daniel Dunbar's avatar
      Change Parser & Sema to use interned "super" for comparions. · 12c9ddce
      Daniel Dunbar authored
       - Added as private members for each because it is not clear where to
         put the common definition. Perhaps the IdentifierInfos all of these
         "pseudo-keywords" should be collected into one place (this would
         KnownFunctionIDs and Objective-C property IDs, for example).
      
      Remove Token::isNamedIdentifier.
       - There isn't a good reason to use strcmp when we have interned
         strings, and there isn't a good reason to encourage clients to do
         so.
      
      llvm-svn: 54794
      12c9ddce
  25. Aug 11, 2008
    • Daniel Dunbar's avatar
      Minor #include cleaning · 34fb6727
      Daniel Dunbar authored
       - Drop TokenKinds.h from Action.h
       - Move DeclSpec.h from Sema.h into individual Sema .cpp files
      
      llvm-svn: 54625
      34fb6727
  26. Aug 10, 2008
  27. Jul 27, 2008
  28. Jul 25, 2008
  29. Jul 24, 2008
  30. Jul 21, 2008
Loading