Skip to content
  1. Jul 15, 2009
  2. Jul 14, 2009
  3. Jul 13, 2009
  4. Jul 08, 2009
  5. Jun 30, 2009
    • Argyrios Kyrtzidis's avatar
      De-ASTContext-ify DeclContext. · cfbfe78e
      Argyrios Kyrtzidis authored
      Remove ASTContext parameter from DeclContext's methods. This change cascaded down to other Decl's methods and changes to call sites started "escalating".
      Timings using pre-tokenized "cocoa.h" showed only a ~1% increase in time run between and after this commit.
      
      llvm-svn: 74506
      cfbfe78e
    • Argyrios Kyrtzidis's avatar
      Remove the ASTContext parameter from the getBody() methods of Decl and subclasses. · ddcd132a
      Argyrios Kyrtzidis authored
      Timings showed no significant difference before and after the commit.
      
      llvm-svn: 74504
      ddcd132a
    • Argyrios Kyrtzidis's avatar
      Remove the ASTContext parameter from the attribute-related methods of Decl. · b4b64ca7
      Argyrios Kyrtzidis authored
      The implementations of these methods can Use Decl::getASTContext() to get the ASTContext.
      
      This commit touches a lot of files since call sites for these methods are everywhere.
      I used pre-tokenized "carbon.h" and "cocoa.h" headers to do some timings, and there was no real time difference between before the commit and after it.
      
      llvm-svn: 74501
      b4b64ca7
    • Douglas Gregor's avatar
      Improve code generation for function template specializations: · e8925dbc
      Douglas Gregor authored
        - Track implicit instantiations vs. the not-yet-supported explicit
        specializations
        - Give implicit instantiations of function templates (and member
        functions of class templates) linkonce_odr linkage.
        - Improve name mangling for function template specializations,
        including the template arguments of the instantiation and the return
        type of the function.
      
      Note that our name-mangling is improved, but not correct: we still
      don't mangle substitutions, although the manglings we produce can be
      demangled.
      
      llvm-svn: 74466
      e8925dbc
  6. Jun 29, 2009
  7. Jun 23, 2009
  8. Jun 20, 2009
  9. Jun 18, 2009
  10. Jun 14, 2009
  11. Jun 11, 2009
  12. Jun 06, 2009
  13. Jun 04, 2009
  14. May 29, 2009
  15. May 26, 2009
  16. May 16, 2009
  17. May 15, 2009
  18. May 12, 2009
  19. May 05, 2009
  20. May 03, 2009
  21. Apr 28, 2009
  22. Apr 23, 2009
  23. Apr 22, 2009
    • Daniel Dunbar's avatar
      Don't convert interface types (to structs) as part of CodeGenTypes. · 7d4e1c5e
      Daniel Dunbar authored
       - This has pros and cons, but for now the pros seem to significantly
         outway the con.
      
      The con is that we will always need to cast in the runtime
      implementation to a struct type, if we wish to access an interface
      directly.
      
      The pros are:
       - Avoid the cost of generating types which are used. Most
         manipulation of Objective-C objects is done through messages, and
         only the implementation of a class will directly access
         memory. Previously, we would convert the type even if it only
         appear as a function parameter, for example.
      
       - We don't need to worry about incomplete types, and
         UpdateCompletedType for interfaces is gone.
      
       - It becomes easier to narrow the interface to the shadow struct for
         Objective-C interfaces (so it can be eliminated).
      
      Currently the runtimes still use the CodeGenTypes machinery to
      generate the LLVM structure they need via ConvertTagDecl, but this can
      eventually be replaced.
      
      llvm-svn: 69797
      7d4e1c5e
    • Chris Lattner's avatar
      Fix some mishandling of the attr(gnu_inline) mode when used with · f8dc0736
      Chris Lattner authored
      extern.  Previously we would warn about it and ignore the attribute.
      This is incorrect, it should be handled as a c89 "extern inline" 
      function.  Many thanks to Matthieu Castet for pointing this out and
      beating me over the head until I got it.
      
      PR3988: extern inline function are not externally visible
      llvm-svn: 69756
      f8dc0736
Loading