Skip to content
  1. Feb 16, 2009
  2. Feb 14, 2009
  3. Feb 04, 2009
  4. Feb 03, 2009
  5. 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
  6. Jan 29, 2009
  7. Jan 27, 2009
  8. Jan 20, 2009
    • Douglas Gregor's avatar
      Remove ScopedDecl, collapsing all of its functionality into Decl, so · 6e6ad602
      Douglas Gregor authored
      that every declaration lives inside a DeclContext.
      
      Moved several things that don't have names but were ScopedDecls (and,
      therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
      including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
      store empty DeclarationNames for these things, nor do we try to insert
      them into DeclContext's lookup structure.
      
      The serialization tests are temporarily disabled. We'll re-enable them
      once we've sorted out the remaining ownership/serialiazation issues
      between DeclContexts and TranslationUnion, DeclGroups, etc.
      
      llvm-svn: 62562
      6e6ad602
  9. Jan 19, 2009
  10. Jan 17, 2009
  11. Jan 13, 2009
  12. Jan 12, 2009
  13. Jan 11, 2009
  14. Jan 09, 2009
    • Fariborz Jahanian's avatar
      This patch removes mergeProperties and does the property lookup · 519976c4
      Fariborz Jahanian authored
      in designated protocols lazily.
      
      llvm-svn: 62007
      519976c4
    • Douglas Gregor's avatar
      Replace DeclContext's vector of ScopedDecl pointers with a linked list · 020713e3
      Douglas Gregor authored
      of ScopedDecls (using the new ScopedDecl::NextDeclInScope
      pointer). Performance-wise:
      
        - It's a net win in memory utilization, since DeclContext is now one
          pointer smaller than it used to be (std::vectors are typically 3
          pointers; we now use 2 pointers) and 
        - Parsing Cocoa.h with -fsyntax-only (with a Release-Asserts Clang)
          is about 1.9% faster than before, most likely because we no longer
          have the memory allocations and copying associated with the
          std::vector.
      
      I'll re-enable serialization of DeclContexts once I've sorted out the
      NextDeclarator/NextDeclInScope question.
      
      llvm-svn: 62001
      020713e3
    • 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
    • Steve Naroff's avatar
      Move property API's up to ObjCContainerDecl (removing a lot of duplicate code). · b3a87982
      Steve Naroff authored
      Add isa/cast/dyncast support for ObjCContainerDecl.
      Renamed classprop_iterator/begin/end to prop_iterator/begin/end (the class prefix was confusing).
      More simplifications to Sema::ActOnAtEnd()...
      Added/changed some FIXME's as a result of the above work.
      
      llvm-svn: 61988
      b3a87982
    • Douglas Gregor's avatar
      Addressed the issue in <rdar://problem/6479085>, where we failed to · c25d7a7f
      Douglas Gregor authored
      rewrite @class declarations that showed up within linkage
      specifications because those @class declarations never made it any
      place where the rewriter could find them.
      
      Moved all of the ObjC*Decl nodes over to ScopedDecls, so that they can
      live in the appropriate top-level or transparent DeclContext near the
      top level, e.g., TranslationUnitDecl or LinkageSpecDecl. Objective-C
      declarations now show up in a traversal of the declarations in a
      DeclContext (they didn't before!). This way, the rewriter finds all
      Objective-C declarations within linkage specifications.
      
      llvm-svn: 61966
      c25d7a7f
    • Fariborz Jahanian's avatar
      Adding support for ObjC methods which have c-style · e84858cc
      Fariborz Jahanian authored
      parameter list. This is work in progress.
      
      llvm-svn: 61964
      e84858cc
  15. Jan 08, 2009
    • Steve Naroff's avatar
      Move FIXME to a better location. · 6c879a14
      Steve Naroff authored
      llvm-svn: 61937
      6c879a14
    • Steve Naroff's avatar
      Removed ObjCContainerDecl::getPropertyMethods()...doesn't belong in the AST. · e538c5f3
      Steve Naroff authored
      Moved logic to Sema::ProcessPropertyDecl().
      
      llvm-svn: 61936
      e538c5f3
    • Steve Naroff's avatar
      This is a large/messy diff that unifies the ObjC AST's with DeclContext. · 35c62ae6
      Steve Naroff authored
      - ObjCContainerDecl's (ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl), ObjCCategoryImpl, & ObjCImplementation are all DeclContexts.
      - ObjCMethodDecl is now a ScopedDecl (so it can play nicely with DeclContext).
      - ObjCContainerDecl now does iteration/lookup using DeclContext infrastructure (no more linear search:-)
      - Removed ASTContext argument to DeclContext::lookup(). It wasn't being used and complicated it's use from an ObjC AST perspective.
      - Added Sema::ProcessPropertyDecl() and removed Sema::diagnosePropertySetterGetterMismatch().
      - Simplified Sema::ActOnAtEnd() considerably. Still more work to do.
      - Fixed an incorrect casting assumption in Sema::getCurFunctionOrMethodDecl(), now that ObjCMethodDecl is a ScopedDecl.
      - Removed addPropertyMethods from ObjCInterfaceDecl/ObjCCategoryDecl/ObjCProtocolDecl.
      
      This passes all the tests on my machine. Since many of the changes are central to the way ObjC finds it's methods, I expect some fallout (and there are still a handful of FIXME's). Nevertheless, this should be a step in the right direction.
      
      llvm-svn: 61929
      35c62ae6
    • Fariborz Jahanian's avatar
      Objc's compatibility-alias semantics and code · 17290c36
      Fariborz Jahanian authored
      gen issue fix.
      
      llvm-svn: 61901
      17290c36
  16. Jan 07, 2009
  17. Dec 29, 2008
  18. Dec 22, 2008
  19. Dec 21, 2008
  20. Dec 17, 2008
  21. Dec 16, 2008
Loading