Skip to content
  1. Apr 22, 2010
  2. Apr 21, 2010
  3. Apr 20, 2010
  4. Apr 19, 2010
  5. Apr 18, 2010
  6. Apr 17, 2010
  7. Apr 15, 2010
  8. Apr 14, 2010
  9. Apr 13, 2010
  10. Apr 12, 2010
  11. Apr 11, 2010
  12. Apr 10, 2010
  13. Apr 09, 2010
  14. Apr 08, 2010
    • Douglas Gregor's avatar
      Eliminate excessive PCH deserialization caused by the search for · eadd3cac
      Douglas Gregor authored
      __cxxabiv1::__fundamental_type_info in every translation
      unit. Previously, we would perform name lookup for
      __cxxabiv1::__fundamental_type_info at the end of IRGen for a each
      translation unit, to determine whether it was present. If so, we we
      produce type information for all of the fundamental types. However,
      this name lookup causes PCH deserialization of a significant part of the
      translation unit, which has a woeful impact on performance.
      
      With this change, we now look at each record type after we've
      generated its vtable to see if it is
      __cxxabiv1::__fundamental_type_info. If so, we generate type info for
      all of the fundamental types. This works because
      __cxxabiv1::__fundamental_type_info should always have a key function
      (typically the virtual destructor), that will be defined once in the
      support library. The fundamental type information will end up there.
      
      Fixes <rdar://problem/7840011>.
      
      llvm-svn: 100772
      eadd3cac
  15. Apr 04, 2010
  16. Apr 03, 2010
  17. Apr 02, 2010
    • Douglas Gregor's avatar
      We seem to get an inconsistent alignment value in the generated · ce6c2748
      Douglas Gregor authored
      assembly for the global "d7". We were previously testing for alignment
      3, which seems to happen for some builders and not for others. I've
      eliminated the alignment check and added a FIXME to unbreak the
      buildbots.
      
      llvm-svn: 100205
      ce6c2748
    • Mon P Wang's avatar
      Revert r100193 since it causes failures in objc in clang · f7f3bff6
      Mon P Wang authored
      llvm-svn: 100200
      f7f3bff6
    • Douglas Gregor's avatar
      Rework our handling of copy construction of temporaries, which was a · 45cf7e3d
      Douglas Gregor authored
      poor (and wrong) approximation of the actual rules governing when to
      build a copy and when it can be elided.
      
      The correct implementation is actually simpler than the
      approximation. When we only enumerate constructors as part of
      initialization (e.g., for direct initialization or when we're copying
      from a class type or one of its derived classes), we don't create a
      copy. When we enumerate all conversion functions, we do create a
      copy. Before, we created some extra copies and missed some
      others. The new test copy-initialization.cpp shows a case where we
      missed creating a (required, non-elidable) copy as part of a
      user-defined conversion, which resulted in a miscompile. This commit
      also fixes PR6757, where the missing copy made us reject well-formed
      code in the ternary operator.
      
      This commit also cleans up our handling of copy elision in the case
      where we create an extra copy of a temporary object, which became
      necessary now that we produce the right copies. The code that seeks to
      find the temporary object being copied has moved into
      Expr::getTemporaryObject(); it used to have two different
      not-quite-the-same implementations, one in Sema and one in CodeGen.
      
      Note that we still do not attempt to perform the named return value
      optimization, so we miss copy elisions for return values and throw
      expressions.
      
      llvm-svn: 100196
      45cf7e3d
    • Mon P Wang's avatar
      Reapply patch for adding support for address spaces and added a isVolatile... · 4b82a887
      Mon P Wang authored
      Reapply patch for adding support for address spaces and added a isVolatile field to memcpy, memmove, and memset. 
      
      llvm-svn: 100193
      4b82a887
  18. Mar 31, 2010
  19. Mar 30, 2010
Loading