[ORC] Thread Error/Expected through the RPC library.

This replaces use of std::error_code and ErrorOr in the ORC RPC support library
with Error and Expected. This required updating the OrcRemoteTarget API, Client,
and server code, as well as updating the Orc C API.

This patch also fixes several instances where Errors were dropped.

llvm-svn: 267457
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp b/llvm/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp
index 2503654..4095a3b 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp
@@ -94,9 +94,9 @@
     Trampolines[I] = CallIndirPCRel | ((OffsetToPtr - 6) << 16);
 }
 
-std::error_code OrcX86_64::emitIndirectStubsBlock(IndirectStubsInfo &StubsInfo,
-                                                  unsigned MinStubs,
-                                                  void *InitialPtrVal) {
+Error OrcX86_64::emitIndirectStubsBlock(IndirectStubsInfo &StubsInfo,
+                                        unsigned MinStubs,
+                                        void *InitialPtrVal) {
   // Stub format is:
   //
   // .section __orc_stubs
@@ -134,7 +134,7 @@
                                         EC));
 
   if (EC)
-    return EC;
+    return errorCodeToError(EC);
 
   // Create separate MemoryBlocks representing the stubs and pointers.
   sys::MemoryBlock StubsBlock(StubsMem.base(), NumPages * PageSize);
@@ -152,7 +152,7 @@
   if (auto EC = sys::Memory::protectMappedMemory(StubsBlock,
                                                  sys::Memory::MF_READ |
                                                  sys::Memory::MF_EXEC))
-    return EC;
+    return errorCodeToError(EC);
 
   // Initialize all pointers to point at FailureAddress.
   void **Ptr = reinterpret_cast<void**>(PtrsBlock.base());
@@ -161,7 +161,7 @@
 
   StubsInfo = IndirectStubsInfo(NumStubs, std::move(StubsMem));
 
-  return std::error_code();
+  return Error::success();
 }
 
 void OrcI386::writeResolverCode(uint8_t *ResolverMem, JITReentryFn ReentryFn,
@@ -223,9 +223,9 @@
     Trampolines[I] = CallRelImm | (ResolverRel << 8);
 }
 
-std::error_code OrcI386::emitIndirectStubsBlock(IndirectStubsInfo &StubsInfo,
-                                                unsigned MinStubs,
-                                                void *InitialPtrVal) {
+Error OrcI386::emitIndirectStubsBlock(IndirectStubsInfo &StubsInfo,
+                                      unsigned MinStubs,
+                                      void *InitialPtrVal) {
   // Stub format is:
   //
   // .section __orc_stubs
@@ -263,7 +263,7 @@
                                         EC));
 
   if (EC)
-    return EC;
+    return errorCodeToError(EC);
 
   // Create separate MemoryBlocks representing the stubs and pointers.
   sys::MemoryBlock StubsBlock(StubsMem.base(), NumPages * PageSize);
@@ -280,7 +280,7 @@
   if (auto EC = sys::Memory::protectMappedMemory(StubsBlock,
                                                  sys::Memory::MF_READ |
                                                  sys::Memory::MF_EXEC))
-    return EC;
+    return errorCodeToError(EC);
 
   // Initialize all pointers to point at FailureAddress.
   void **Ptr = reinterpret_cast<void**>(PtrsBlock.base());
@@ -289,7 +289,7 @@
 
   StubsInfo = IndirectStubsInfo(NumStubs, std::move(StubsMem));
 
-  return std::error_code();
+  return Error::success();
 }
 
 } // End namespace orc.