From 49d1690338625db91d2c7f717e5e41500c23a3d3 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Tue, 29 Jul 2014 20:45:49 +0000 Subject: [PATCH] UseListShuffleVector: Code reorganization, NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214212 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/IR/UseListOrder.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/include/llvm/IR/UseListOrder.h b/include/llvm/IR/UseListOrder.h index c56d1cac617..420e6d409bd 100644 --- a/include/llvm/IR/UseListOrder.h +++ b/include/llvm/IR/UseListOrder.h @@ -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; -- 2.11.0