Skip to content
  1. Nov 06, 2010
  2. Nov 02, 2010
  3. 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
  4. Oct 29, 2010
  5. Oct 27, 2010
  6. Oct 22, 2010
  7. Oct 19, 2010
  8. Oct 15, 2010
  9. Oct 11, 2010
  10. Sep 29, 2010
  11. Sep 28, 2010
  12. Sep 16, 2010
  13. Sep 07, 2010
  14. Aug 31, 2010
  15. Aug 26, 2010
  16. Aug 23, 2010
  17. Aug 22, 2010
  18. Aug 19, 2010
    • Charles Davis's avatar
      Add some enum goodness as requested by Chris. Now instead of storing the · 6bcb07ad
      Charles Davis authored
      active C++ ABI as a raw string, we store it as an enum. This should improve
      performance somewhat.
      
      And yes, this time, I started from a clean build directory, and
      all the tests passed. :)
      
      llvm-svn: 111507
      6bcb07ad
    • Alexis Hunt's avatar
      Generate Attr subclasses with TableGen. · dcfba7b3
      Alexis Hunt authored
      Now all classes derived from Attr are generated from TableGen.
      Additionally, Attr* is no longer its own linked list; SmallVectors or
      Attr* are used. The accompanying LLVM commit contains the updates to
      TableGen necessary for this.
      
      Some other notes about newly-generated attribute classes:
      
       - The constructor arguments are a SourceLocation and a Context&,
         followed by the attributes arguments in the order that they were
         defined in Attr.td
      
       - Every argument in Attr.td has an appropriate accessor named getFoo,
         and there are sometimes a few extra ones (such as to get the length
         of a variadic argument).
      
      Additionally, specific_attr_iterator has been introduced, which will
      iterate over an AttrVec, but only over attributes of a certain type. It
      can be accessed through either Decl::specific_attr_begin/end or
      the global functions of the same name.
      
      llvm-svn: 111455
      dcfba7b3
  19. Aug 17, 2010
  20. Aug 13, 2010
  21. Aug 08, 2010
  22. Aug 05, 2010
  23. Aug 04, 2010
  24. Jul 29, 2010
  25. Jul 28, 2010
  26. Jul 22, 2010
  27. Jul 16, 2010
    • Daniel Dunbar's avatar
      IRgen: Support user defined attributes on block runtime functions. · 3348e2d1
      Daniel Dunbar authored
       - This issue here is that /usr/include/Blocks.h wants to define some of the
         block runtime globals as weak, depending on the target. This doesn't work in
         Clang because we aren't using the AST decl for these globals.
      
       - The fix is a pretty gross hack which just watches all the decls for the
         specific blocks globals we need to know about; if we see one we use it,
         otherwise we use the hand coded type.
      
         In time, I would like to clean this up by changing IRgen to ask Sema/AST for
         the decl, which would then be lazily loaded from the builtin table if
         necessary. This could be used in a whole host of places in IRgen and would
         get rid of a lot of grotty hand coding of LLVM IR; however, we need some
         extra Sema support for this as well as support for builtin global variables.
      
      llvm-svn: 108482
      3348e2d1
    • Daniel Dunbar's avatar
      IRgen: Move blocks runtime interfaces to CodeGenModule. · 900546d2
      Daniel Dunbar authored
      llvm-svn: 108481
      900546d2
    • John McCall's avatar
      When deferring the emission of declarations with initializers in C++, remember · 70013b64
      John McCall authored
      the order they appeared in the translation unit.  If they get emitted, put them
      in their proper order.  Fixes rdar://problem/7458115
      
      llvm-svn: 108477
      70013b64
Loading