Skip to content
  1. Apr 10, 2010
  2. Apr 09, 2010
  3. Apr 08, 2010
    • Anders Carlsson's avatar
      Rename CGVtable files to CGVTables. · af2a317e
      Anders Carlsson authored
      llvm-svn: 100778
      af2a317e
    • Anders Carlsson's avatar
      Clarify an assert. · ae9e9a63
      Anders Carlsson authored
      llvm-svn: 100776
      ae9e9a63
    • Douglas Gregor's avatar
      Unbreak the build · bc6a4347
      Douglas Gregor authored
      llvm-svn: 100775
      bc6a4347
    • 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
    • Daniel Dunbar's avatar
      IRgen: Move the bit-field access type into CGBitFieldInfo, and change... · c75c8bd7
      Daniel Dunbar authored
      IRgen: Move the bit-field access type into CGBitFieldInfo, and change bit-field LValues to just store the base address of object containing the bit-field.
      
      llvm-svn: 100745
      c75c8bd7
  4. Apr 07, 2010
  5. Apr 06, 2010
  6. Apr 05, 2010
  7. Apr 04, 2010
  8. Apr 03, 2010
  9. Apr 02, 2010
    • Daniel Dunbar's avatar
      IRgen/Obj-C: Eliminate FindIvarInterface, now that ivar's are in the right... · 8c7f9818
      Daniel Dunbar authored
      IRgen/Obj-C: Eliminate FindIvarInterface, now that ivar's are in the right DeclContexts (-2 FIXMEs). We still have an annoying linear scan + hidden dependency on how Obj-C layout is done.
       - This is also an algorithmic improvement in IRgen for Obj-C, although it probably doesn't matter in practice.
      
      llvm-svn: 100228
      8c7f9818
    • Chris Lattner's avatar
      NewDebugLoc got renamed to DebugLoc. · 18a584b5
      Chris Lattner authored
      llvm-svn: 100219
      18a584b5
    • 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
    • Daniel Dunbar's avatar
      CG/NeXT: Assert some invariants on an ivar's containing decl context that I am... · 031d4d40
      Daniel Dunbar authored
      CG/NeXT: Assert some invariants on an ivar's containing decl context that I am about to refactor based on, following some testing.
      
      llvm-svn: 100188
      031d4d40
  10. Apr 01, 2010
  11. Mar 31, 2010
Loading