[llvm] r214212 - UseListShuffleVector: Code reorganization, NFC
Duncan P. N. Exon Smith
dexonsmith at apple.com
Tue Jul 29 13:45:50 PDT 2014
Author: dexonsmith
Date: Tue Jul 29 15:45:49 2014
New Revision: 214212
URL: http://llvm.org/viewvc/llvm-project?rev=214212&view=rev
Log:
UseListShuffleVector: Code reorganization, NFC
Modified:
llvm/trunk/include/llvm/IR/UseListOrder.h
Modified: llvm/trunk/include/llvm/IR/UseListOrder.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/IR/UseListOrder.h?rev=214212&r1=214211&r2=214212&view=diff
==============================================================================
--- llvm/trunk/include/llvm/IR/UseListOrder.h (original)
+++ llvm/trunk/include/llvm/IR/UseListOrder.h Tue Jul 29 15:45:49 2014
@@ -42,12 +42,18 @@ class UseListShuffleVector {
return isSmall() ? Storage.Array : Storage.Ptr;
}
-public:
- UseListShuffleVector() : Size(0) {}
- UseListShuffleVector(UseListShuffleVector &&X) {
+ void destroy() {
+ if (!isSmall())
+ delete[] Storage.Ptr;
+ }
+ void moveUnchecked(UseListShuffleVector &X) {
std::memcpy(this, &X, sizeof(UseListShuffleVector));
X.Size = 0;
}
+
+public:
+ UseListShuffleVector() : Size(0) {}
+ UseListShuffleVector(UseListShuffleVector &&X) { moveUnchecked(X); }
UseListShuffleVector(const UseListShuffleVector &X) {
std::memcpy(this, &X, sizeof(UseListShuffleVector));
if (!isSmall()) {
@@ -59,10 +65,7 @@ public:
if (!isSmall())
Storage.Ptr = new unsigned[Size];
}
- ~UseListShuffleVector() {
- if (!isSmall())
- delete[] Storage.Ptr;
- }
+ ~UseListShuffleVector() { destroy(); }
typedef unsigned *iterator;
typedef const unsigned *const_iterator;
More information about the llvm-commits
mailing list