Skip to content
  1. Dec 14, 2012
  2. Nov 08, 2012
  3. Nov 01, 2012
  4. Oct 23, 2012
  5. Oct 10, 2012
  6. Oct 09, 2012
  7. Aug 08, 2012
  8. Aug 01, 2012
    • John McCall's avatar
      When devirtualizing the conversion to a virtual base subobject, · 13a39c6f
      John McCall authored
      don't explode if the offset we get is zero.  This can happen if
      you have an empty virtual base class.
      
      While I'm at it, remove an unnecessary block from the IR-generation
      of the null-check, mark the eventual GEP as inbounds, and generally
      prettify.
      
      llvm-svn: 161100
      13a39c6f
  9. Jul 07, 2012
  10. Jun 06, 2012
  11. Apr 30, 2012
    • David Blaikie's avatar
      Remove the ref/value inconsistency in filter_decl_iterator. · 2d7c57ec
      David Blaikie authored
      filter_decl_iterator had a weird mismatch where both op* and op-> returned T*
      making it difficult to generalize this filtering behavior into a reusable
      library of any kind.
      
      This change errs on the side of value, making op-> return T* and op* return
      T&.
      
      (reviewed by Richard Smith)
      
      llvm-svn: 155808
      2d7c57ec
  12. Apr 27, 2012
  13. Apr 20, 2012
  14. Apr 16, 2012
  15. Mar 30, 2012
  16. Mar 29, 2012
  17. Mar 26, 2012
  18. Mar 11, 2012
  19. Mar 01, 2012
    • Eli Friedman's avatar
      Implement "optimization" for lambda-to-block conversion which inlines the... · 98b01edc
      Eli Friedman authored
      Implement "optimization" for lambda-to-block conversion which inlines the generated block literal for lambdas which are immediately converted to block pointer type.  This simplifies the AST, avoids an unnecessary copy of the lambda and makes it much easier to avoid copying the result onto the heap.
      
      Note that this transformation has a substantial semantic effect outside of ARC: it gives the converted lambda lifetime semantics similar to a block literal.  With ARC, the effect is much less obvious because the lifetime of blocks is already managed.
      
      llvm-svn: 151797
      98b01edc
  20. Feb 28, 2012
  21. Feb 26, 2012
    • Richard Smith's avatar
      Ensure that we delete destructors in the right cases. Specifically: · 921bd20d
      Richard Smith authored
       - variant members with nontrivial destructors make the containing class's
         destructor deleted
       - check for a virtual destructor after checking for overridden methods in the
         base class(es)
       - check for an inaccessible operator delete for a class with a virtual
         destructor.
      
      Do not try to call an anonymous union field's destructor from the destructor of
      the containing class.
      
      llvm-svn: 151483
      921bd20d
  22. Feb 25, 2012
  23. Feb 19, 2012
  24. Feb 17, 2012
    • John McCall's avatar
      Whether an argument is required (in contrast with being an · a729c62b
      John McCall authored
      optional argument passed through the variadic ellipsis)
      potentially affects how we need to lower it.  Propagate
      this information down to the various getFunctionInfo(...)
      overloads on CodeGenTypes.  Furthermore, rename those
      overloads to clarify their distinct purposes, and make
      sure we're calling the right one in the right place.
      This has a nice side-effect of making it easier to construct
      a function type, since the 'variadic' bit is no longer
      separable.
      
      This shouldn't really change anything for our existing
      platforms, with one minor exception --- we should now call
      variadic ObjC methods with the ... in the "right place"
      (see the test case), which I guess matters for anyone
      running GNUStep on MIPS.  Mostly it's just a substantial
      clean-up.
      
      llvm-svn: 150788
      a729c62b
    • Douglas Gregor's avatar
      Rework the Sema/AST/IRgen dance for the lambda closure type's · 355efbb2
      Douglas Gregor authored
      conversion to function pointer. Rather than having IRgen synthesize
      the body of this function, we instead introduce a static member
      function "__invoke" with the same signature as the lambda's
      operator() in the AST. Sema then generates a body for the conversion
      to function pointer which simply returns the address of __invoke. This
      approach makes it easier to evaluate a call to the conversion function
      as a constant, makes the linkage of the __invoke function follow the
      normal rules for member functions, and may make life easier down the
      road if we ever want to constexpr'ify some of lambdas.
      
      Note that IR generation is responsible for filling in the body of
      __invoke (Sema just adds a dummy body), because the body can't
      generally be expressed in C++.
      
      Eli, please review!
      
      llvm-svn: 150783
      355efbb2
  25. Feb 16, 2012
  26. Feb 14, 2012
  27. Feb 07, 2012
  28. Feb 01, 2012
  29. Jan 26, 2012
  30. Dec 03, 2011
  31. Oct 13, 2011
    • Eric Christopher's avatar
      Recommit: · 7cdf9486
      Eric Christopher authored
          Start handling debug line and scope information better:
      
          Migrate most of the location setting within the larger API in CGDebugInfo and
          update a lot of callers.
          Remove the existing file/scope change machinery in UpdateLineDirectiveRegion
          and replace it with DILexicalBlockFile usage.
      
          Finishes off the rest of rdar://10246360
      
      after fixing a few bugs that were exposed in gdb testsuite testing.
      
      llvm-svn: 141893
      7cdf9486
  32. Oct 12, 2011
Loading