Skip to content
  1. May 27, 2008
  2. May 26, 2008
    • Eli Friedman's avatar
      Emit memmove, not memcpy, for structure copies; this is unfortunately · df649f3d
      Eli Friedman authored
      required for correctness in cases of copying a struct to itself or to 
      an overlapping struct (itself for cases like *a = *a, and overlapping 
      is possible with unions).
      
      Hopefully, this won't end up being a perf issue; LLVM *should* be able 
      to optimize memmove to memcpy in a lot of cases, and for small copies 
      the generated code *should* be mostly comparable. (In reality, LLVM 
      is currently horrible at optimizing memmove, but that's a bug, not a 
      fundamental issue.)
      
      gcc currently generates wrong code; that's 
      http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32667.
      
      llvm-svn: 51566
      df649f3d
  3. May 25, 2008
  4. May 23, 2008
    • Dan Gohman's avatar
      Change uses of llvm::Type::isFirstClassType to use the new · 5d30975e
      Dan Gohman authored
      llvm::Type::isSingleValueType. Currently these two functions have
      the same behavior, but soon isFirstClassType will return true for
      struct and array types.
      
      Clang may some day want to use of isFirstClassType for some of
      these some day as an optimization, but it'll require some
      consideration.
      
      llvm-svn: 51446
      5d30975e
  5. May 22, 2008
  6. May 21, 2008
  7. May 20, 2008
  8. May 19, 2008
  9. May 17, 2008
    • Eli Friedman's avatar
      Fix support for _Bool bitfields. The issue is that the bitfield width · f2442dcc
      Eli Friedman authored
      used for _Bool is not the same as the primitive width (which for _Bool 
      is 1 bit).  The load and store changes add some casts to make the 
      types consistent.  The EmitLValue changes make sure that the pointer is 
      of an appropriate type for loading the bitfield.
      
      This isn't perfect, but it's an improvement, and getting everything 
      right depends on actually laying out structs in an ABI-compliant way.
      
      llvm-svn: 51224
      f2442dcc
  10. May 16, 2008
  11. May 15, 2008
  12. May 14, 2008
  13. May 13, 2008
  14. May 12, 2008
  15. May 10, 2008
  16. May 09, 2008
    • Nate Begeman's avatar
      Extend vector member references to include {.hi, .lo, .e, .o} which return a · f322eabb
      Nate Begeman authored
      vector of the same element type and half the width, with the high, low, even,
      and odd elements respectively.
      
      Allow member references to member references, so that .hi.hi gives you the high
      quarter of a vector.  This is fairly convenient syntax for some insert/extract
      operations.
      
      Remove some unnecessary methods/types in the ExtVectorElementExpr class.
      
      llvm-svn: 50892
      f322eabb
  17. May 08, 2008
  18. May 06, 2008
Loading