Skip to content
  1. Feb 19, 2011
    • John McCall's avatar
      Warn about code that uses variables and functions with internal linkage · 83779675
      John McCall authored
      without defining them.  This should be an error, but I'm paranoid about
      "uses" that end up not actually requiring a definition.  I'll revisit later.
      
      Also, teach IR generation to not set internal linkage on variable
      declarations, just for safety's sake.  Doing so produces an invalid module
      if the variable is not ultimately defined.
      
      Also, fix several places in the test suite where we were using internal
      functions without definitions.
      
      llvm-svn: 126016
      83779675
  2. Feb 15, 2011
    • John McCall's avatar
      Assorted cleanup: · e3dc1707
      John McCall authored
        - Have CGM precompute a number of commonly-used types
        - Have CGF copy that during initialization instead of recomputing them
        - Use TBAA info when initializing a parameter variable
        - Refactor the scalar ++/-- code
      
      llvm-svn: 125562
      e3dc1707
  3. Feb 11, 2011
  4. Feb 09, 2011
  5. Feb 08, 2011
  6. Feb 05, 2011
  7. Feb 04, 2011
  8. Feb 03, 2011
  9. Feb 01, 2011
  10. Jan 30, 2011
    • Anders Carlsson's avatar
      When building with optimizations, emit vtables where the key is not in the · a03f3a85
      Anders Carlsson authored
      current translation unit as available_externally. 
      
      This helps devirtualize the second example in PR3100, comment 18:
      
      struct S { S() {}; virtual void xyzzy(); };
      inline void foo(S *s) { s->xyzzy(); }
      void bar() { S s; foo(&s); }
      
      This involved four major changes:
      
      1. In DefineUsedVTables, always mark virtual member functions as referenced for
         non-template classes and class template specializations.
      2. In CodeGenVTables::ShouldEmitVTableInThisTU return true if optimizations are
         enabled, even if the key function is not implemented in this translation 
         unit. We don't ever do this for code compiled with -fapple-kext, because we
         don't ever want to devirtualize virtual member function calls in that case.
      3. Give the correct linkage for vtables where the key function is not defined.
      4. Update the linkage for RTTI structures when necessary.
      
      llvm-svn: 124565
      a03f3a85
  11. Jan 29, 2011
  12. Jan 24, 2011
  13. Jan 22, 2011
  14. Jan 18, 2011
  15. Jan 17, 2011
  16. Jan 13, 2011
    • Peter Collingbourne's avatar
      Move name mangling support from CodeGen to AST. In the · 0ff0b376
      Peter Collingbourne authored
      process, perform a number of refactorings:
      
      - Move MiscNameMangler member functions to MangleContext
      - Remove GlobalDecl dependency from MangleContext
      - Make MangleContext abstract and move Itanium/Microsoft functionality
        to their own classes/files
      - Implement ASTContext::createMangleContext and have CodeGen use it
      
      No (intended) functionality change.
      
      llvm-svn: 123386
      0ff0b376
  17. Jan 11, 2011
  18. Jan 10, 2011
  19. Dec 30, 2010
  20. Dec 15, 2010
  21. Dec 02, 2010
  22. Nov 06, 2010
  23. Nov 02, 2010
  24. Oct 30, 2010
Loading