SmallVector: Resolve a long-standing fixme by using the existing unitialized_copy...
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 13 Feb 2015 19:20:39 +0000 (19:20 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 13 Feb 2015 19:20:39 +0000 (19:20 +0000)
This makes append() use memcpy for trivially copyable types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@229142 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/SmallVector.h

index af9bbb6..c9ddf61 100644 (file)
@@ -414,9 +414,7 @@ public:
       this->grow(this->size()+NumInputs);
 
     // Copy the new elements over.
       this->grow(this->size()+NumInputs);
 
     // Copy the new elements over.
-    // TODO: NEED To compile time dispatch on whether in_iter is a random access
-    // iterator to use the fast uninitialized_copy.
-    std::uninitialized_copy(in_start, in_end, this->end());
+    this->uninitialized_copy(in_start, in_end, this->end());
     this->setEnd(this->end() + NumInputs);
   }
 
     this->setEnd(this->end() + NumInputs);
   }