[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