Avoid use-after-move warnings by using swap instead. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 7 May 2019 15:45:00 +0000 (15:45 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 7 May 2019 15:45:00 +0000 (15:45 +0000)
Swap should be as quick in these cases, and leaves the original variables in a known (empty) state.

llvm-svn: 360164

llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp

index c735efa..72d7000 100644 (file)
@@ -749,7 +749,8 @@ void ValueEnumerator::organizeMetadata() {
 
   // Rebuild MDs, index the metadata ranges for each function in FunctionMDs,
   // and fix up MetadataMap.
-  std::vector<const Metadata *> OldMDs = std::move(MDs);
+  std::vector<const Metadata *> OldMDs;
+  MDs.swap(OldMDs);
   MDs.reserve(OldMDs.size());
   for (unsigned I = 0, E = Order.size(); I != E && !Order[I].F; ++I) {
     auto *MD = Order[I].get(OldMDs);
index 489bcb4..ea75df8 100644 (file)
@@ -8858,8 +8858,11 @@ TargetLowering::LowerCallTo(TargetLowering::CallLoweringInfo &CLI) const {
 
   if (CLI.IsPostTypeLegalization) {
     // If we are lowering a libcall after legalization, split the return type.
-    SmallVector<EVT, 4> OldRetTys = std::move(RetTys);
-    SmallVector<uint64_t, 4> OldOffsets = std::move(Offsets);
+    SmallVector<EVT, 4> OldRetTys;
+    SmallVector<uint64_t, 4> OldOffsets;
+    RetTys.swap(OldRetTys);
+    Offsets.swap(OldOffsets);
+
     for (size_t i = 0, e = OldRetTys.size(); i != e; ++i) {
       EVT RetVT = OldRetTys[i];
       uint64_t Offset = OldOffsets[i];