Skip to content
  1. Feb 09, 2011
  2. Feb 08, 2011
  3. Feb 05, 2011
  4. Feb 04, 2011
  5. Feb 03, 2011
  6. Feb 01, 2011
  7. 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
  8. Jan 29, 2011
  9. Jan 24, 2011
  10. Jan 22, 2011
  11. Jan 18, 2011
  12. Jan 17, 2011
  13. 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
  14. Jan 11, 2011
  15. Jan 10, 2011
  16. Dec 30, 2010
  17. Dec 15, 2010
  18. Dec 02, 2010
  19. Nov 06, 2010
  20. Nov 02, 2010
  21. Oct 30, 2010
    • John McCall's avatar
      Better solution: calculate the visibility of functions and variables · c273f241
      John McCall authored
      independently of whether they're definitions, then teach IR generation to
      ignore non-explicit visibility when emitting declarations.  Use this to
      make sure that RTTI, vtables, and VTTs get the right visibility.
      
      More of rdar://problem/8613093
      
      llvm-svn: 117781
      c273f241
    • John McCall's avatar
      Restore r117644, this time properly ignoring -fvisibility and type visibility · 37bb6c98
      John McCall authored
      for namespace-scope variable declarations.
      
      Apply visibility in IR gen to variables that are merely declared
      and never defined.  We were previously emitting these with default
      visibility unless they were declared with private_extern.
      
      Ignore global visibility settings when computing visibility for
      a declaration's context, and key several conditions on whether a
      visibility attribute exists anywhere in the hierarchy as opposed
      to whether it exists at the current level.
      
      llvm-svn: 117729
      37bb6c98
  22. Oct 29, 2010
Loading