Revert "Remove redundant "std::move"s in return statements"

The build failed with

  error: call to deleted constructor of 'llvm::Error'

errors.

This reverts commit 1c2241a7936bf85aa68aef94bd40c3ba77d8ddf2.
diff --git a/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp b/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
index 3f435f6..f1114e9 100644
--- a/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
@@ -547,7 +547,7 @@
   uint8_t *NextField = &AugInfo.Fields[0];
 
   if (auto Err = RecordReader.readInteger(NextChar))
-    return Err;
+    return std::move(Err);
 
   while (NextChar != 0) {
     switch (NextChar) {
@@ -556,7 +556,7 @@
       break;
     case 'e':
       if (auto Err = RecordReader.readInteger(NextChar))
-        return Err;
+        return std::move(Err);
       if (NextChar != 'h')
         return make_error<JITLinkError>("Unrecognized substring e" +
                                         Twine(NextChar) +
@@ -575,10 +575,10 @@
     }
 
     if (auto Err = RecordReader.readInteger(NextChar))
-      return Err;
+      return std::move(Err);
   }
 
-  return AugInfo;
+  return std::move(AugInfo);
 }
 
 Expected<JITTargetAddress>
@@ -589,11 +589,11 @@
   JITTargetAddress Addr;
   if (G.getPointerSize() == 8) {
     if (auto Err = RecordReader.readInteger(Addr))
-      return Err;
+      return std::move(Err);
   } else if (G.getPointerSize() == 4) {
     uint32_t Addr32;
     if (auto Err = RecordReader.readInteger(Addr32))
-      return Err;
+      return std::move(Err);
     Addr = Addr32;
   } else
     llvm_unreachable("Pointer size is not 32-bit or 64-bit");
diff --git a/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp b/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
index eeb0a4e..89eef57 100644
--- a/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
+++ b/llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
@@ -28,19 +28,19 @@
     return make_error<JITLinkError>("Object is not a relocatable MachO");
 
   if (auto Err = createNormalizedSections())
-    return Err;
+    return std::move(Err);
 
   if (auto Err = createNormalizedSymbols())
-    return Err;
+    return std::move(Err);
 
   if (auto Err = graphifyRegularSymbols())
-    return Err;
+    return std::move(Err);
 
   if (auto Err = graphifySectionsWithCustomParsers())
-    return Err;
+    return std::move(Err);
 
   if (auto Err = addRelocations())
-    return Err;
+    return std::move(Err);
 
   return std::move(G);
 }
diff --git a/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp b/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
index b465b11..29d18b6 100644
--- a/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
@@ -102,7 +102,7 @@
 
 Optional<CompileOnDemandLayer::GlobalValueSet>
 CompileOnDemandLayer::compileRequested(GlobalValueSet Requested) {
-  return Requested;
+  return std::move(Requested);
 }
 
 Optional<CompileOnDemandLayer::GlobalValueSet>
@@ -294,7 +294,7 @@
             SymbolFlags[Mangle(GV->getName())] =
                 JITSymbolFlags::fromGlobalValue(*GV);
           if (auto Err = R.defineMaterializing(SymbolFlags))
-            return Err;
+            return std::move(Err);
         }
 
         expandPartition(*GVsToExtract);
diff --git a/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp b/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
index ef3f225..160e5ba 100644
--- a/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp
@@ -37,7 +37,7 @@
 Expected<SimpleCompiler::CompileResult> SimpleCompiler::operator()(Module &M) {
   CompileResult CachedObject = tryToLoadFromObjectCache(M);
   if (CachedObject)
-    return CachedObject;
+    return std::move(CachedObject);
 
   SmallVector<char, 0> ObjBufferSV;
 
@@ -61,7 +61,7 @@
     return Obj.takeError();
 
   notifyObjectCompiled(M, *ObjBuffer);
-  return ObjBuffer;
+  return std::move(ObjBuffer);
 }
 
 SimpleCompiler::CompileResult
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp
index 5341c0c..f2b161c 100644
--- a/llvm/lib/ExecutionEngine/Orc/Core.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp
@@ -1455,7 +1455,7 @@
 
       // Run this generator.
       if (auto Err = DG->tryToGenerate(K, *this, JDLookupFlags, LookupSet))
-        return Err;
+        return std::move(Err);
 
       // Re-try the search.
       lookupFlagsImpl(Result, K, JDLookupFlags, LookupSet);
@@ -1613,7 +1613,7 @@
   });
 
   if (Err)
-    return Err;
+    return std::move(Err);
 
   assert((MUs.empty() || !QueryComplete) &&
          "If action flags are set, there should be no work to do (so no MUs)");
@@ -1970,12 +1970,12 @@
   auto ResultFuture = PromisedResult.get_future();
   auto Result = ResultFuture.get();
   if (ResolutionError)
-    return ResolutionError;
-  return Result;
+    return std::move(ResolutionError);
+  return std::move(Result);
 
 #else
   if (ResolutionError)
-    return ResolutionError;
+    return std::move(ResolutionError);
 
   return Result;
 #endif
@@ -2125,13 +2125,13 @@
   auto Result = ResultFuture.get();
 
   if (ResolutionError)
-    return ResolutionError;
+    return std::move(ResolutionError);
 
-  return Result;
+  return std::move(Result);
 
 #else
   if (ResolutionError)
-    return ResolutionError;
+    return std::move(ResolutionError);
 
   return Result;
 #endif
diff --git a/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp b/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
index 85b1854..c9e87ff 100644
--- a/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/DebugUtils.cpp
@@ -53,7 +53,7 @@
     return errorCodeToError(EC);
   DumpStream.write(Obj->getBufferStart(), Obj->getBufferSize());
 
-  return Obj;
+  return std::move(Obj);
 }
 
 StringRef DumpObjects::getBufferIdentifier(MemoryBuffer &B) {
diff --git a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
index de0c29f..3d97fe9 100644
--- a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
@@ -267,9 +267,9 @@
       new StaticLibraryDefinitionGenerator(L, std::move(ArchiveBuffer), Err));
 
   if (Err)
-    return Err;
+    return std::move(Err);
 
-  return ADG;
+  return std::move(ADG);
 }
 
 Error StaticLibraryDefinitionGenerator::tryToGenerate(
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
index 73640d3..87bb439 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
+++ b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
@@ -305,7 +305,7 @@
     Resolvers[K] = std::make_shared<CBindingsResolver>(*this, ExternalResolver,
                                                        ExternalResolverCtx);
     if (auto Err = Layer.addModule(K, std::move(M)))
-      return Err;
+      return std::move(Err);
 
     KeyLayers[K] = detail::createGenericLayer(Layer);
 
@@ -314,7 +314,7 @@
     orc::LegacyCtorDtorRunner<OrcCBindingsStack> CtorRunner(
         AcknowledgeORCv1Deprecation, std::move(CtorNames), K);
     if (auto Err = CtorRunner.runViaLayer(*this))
-      return Err;
+      return std::move(Err);
 
     IRStaticDestructorRunners.emplace_back(AcknowledgeORCv1Deprecation,
                                            std::move(DtorNames), K);
@@ -365,7 +365,7 @@
           *this, ExternalResolver, ExternalResolverCtx);
 
       if (auto Err = ObjectLayer.addObject(K, std::move(ObjBuffer)))
-        return Err;
+        return std::move(Err);
 
       KeyLayers[K] = detail::createGenericLayer(ObjectLayer);
 
@@ -399,7 +399,7 @@
         return AddrOrErr.takeError();
     } else if (auto Err = Sym.takeError()) {
       // Lookup failure - report error.
-      return Err;
+      return std::move(Err);
     }
 
     // No symbol not found. Return 0.
@@ -417,7 +417,7 @@
         return AddrOrErr.takeError();
     } else if (auto Err = Sym.takeError()) {
       // Lookup failure - report error.
-      return Err;
+      return std::move(Err);
     }
 
     // Symbol not found. Return 0.
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp
index 15b7f76..4e2d0f4 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp
@@ -119,7 +119,7 @@
       if (!Sym.getFlags().isStrong())
         Result.insert(Symbol);
     } else if (auto Err = Sym.takeError())
-      return Err;
+      return std::move(Err);
     else {
       // If there is no existing definition then the caller is responsible for
       // it.
@@ -127,5 +127,5 @@
     }
   }
 
-  return Result;
+  return std::move(Result);
 }
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
index 404c438..2df71a5 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
@@ -194,7 +194,7 @@
                                          CodeSize, CodeAlign,
                                          RODataSize, RODataAlign,
                                          RWDataSize, RWDataAlign))
-      return Err;
+      return std::move(Err);
     MemMgr.reserveAllocationSpace(CodeSize, CodeAlign, RODataSize, RODataAlign,
                                   RWDataSize, RWDataAlign);
   }
@@ -319,7 +319,7 @@
       // Get symbol offset.
       uint64_t SectOffset;
       if (auto Err = getOffset(*I, *SI, SectOffset))
-        return Err;
+        return std::move(Err);
 
       bool IsCode = SI->isText();
       unsigned SectionID;
@@ -341,7 +341,7 @@
   // Allocate common symbols
   if (auto Err = emitCommonSymbols(Obj, CommonSymbolsToAllocate, CommonSize,
                                    CommonAlign))
-    return Err;
+    return std::move(Err);
 
   // Parse and process relocations
   LLVM_DEBUG(dbgs() << "Parse relocations:\n");
@@ -432,7 +432,7 @@
 
   // Give the subclasses a chance to tie-up any loose ends.
   if (auto Err = finalizeLoad(Obj, LocalSections))
-    return Err;
+    return std::move(Err);
 
 //   for (auto E : LocalSections)
 //     llvm::dbgs() << "Added: " << E.first.getRawDataRefImpl() << " -> " << E.second << "\n";
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
index f5dbf3b..440ab41 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
@@ -102,10 +102,10 @@
 DyldELFObject<ELFT>::create(MemoryBufferRef Wrapper) {
   auto Obj = ELFObjectFile<ELFT>::create(Wrapper);
   if (auto E = Obj.takeError())
-    return E;
+    return std::move(E);
   std::unique_ptr<DyldELFObject<ELFT>> Ret(
       new DyldELFObject<ELFT>(std::move(*Obj)));
-  return Ret;
+  return std::move(Ret);
 }
 
 template <class ELFT>
@@ -153,7 +153,7 @@
   Expected<std::unique_ptr<DyldELFObject<ELFT>>> ObjOrErr =
       DyldELFObject<ELFT>::create(Buffer);
   if (Error E = ObjOrErr.takeError())
-    return E;
+    return std::move(E);
 
   std::unique_ptr<DyldELFObject<ELFT>> Obj = std::move(*ObjOrErr);
 
@@ -180,7 +180,7 @@
     ++SI;
   }
 
-  return Obj;
+  return std::move(Obj);
 }
 
 static OwningBinary<ObjectFile>
@@ -1460,7 +1460,7 @@
           // so the final symbol value is calculated based on the relocation
           // values in the .opd section.
           if (auto Err = findOPDEntrySection(Obj, ObjSectionToID, Value))
-            return Err;
+            return std::move(Err);
         } else {
           // In the ELFv2 ABI, a function symbol may provide a local entry
           // point, which must be used for direct calls.
@@ -1574,7 +1574,7 @@
 
       RelocationValueRef TOCValue;
       if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, TOCValue))
-        return Err;
+        return std::move(Err);
       if (Value.SymbolName || Value.SectionID != TOCValue.SectionID)
         llvm_unreachable("Unsupported TOC relocation.");
       Value.Addend -= TOCValue.Addend;
@@ -1587,10 +1587,10 @@
       if (RelType == ELF::R_PPC64_TOC) {
         RelType = ELF::R_PPC64_ADDR64;
         if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, Value))
-          return Err;
+          return std::move(Err);
       } else if (TargetName == ".TOC.") {
         if (auto Err = findPPC64TOCSection(Obj, ObjSectionToID, Value))
-          return Err;
+          return std::move(Err);
         Value.Addend += Addend;
       }