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/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.