summaryrefslogtreecommitdiff
path: root/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp b/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
index 41b97527f38d..53d5e049798a 100644
--- a/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
@@ -227,7 +227,17 @@ SimpleRemoteEPC::createDefaultMemoryManager(SimpleRemoteEPC &SREPC) {
Expected<std::unique_ptr<ExecutorProcessControl::MemoryAccess>>
SimpleRemoteEPC::createDefaultMemoryAccess(SimpleRemoteEPC &SREPC) {
- return nullptr;
+ EPCGenericMemoryAccess::FuncAddrs FAs;
+ if (auto Err = SREPC.getBootstrapSymbols(
+ {{FAs.WriteUInt8s, rt::MemoryWriteUInt8sWrapperName},
+ {FAs.WriteUInt16s, rt::MemoryWriteUInt16sWrapperName},
+ {FAs.WriteUInt32s, rt::MemoryWriteUInt32sWrapperName},
+ {FAs.WriteUInt64s, rt::MemoryWriteUInt64sWrapperName},
+ {FAs.WriteBuffers, rt::MemoryWriteBuffersWrapperName},
+ {FAs.WritePointers, rt::MemoryWritePointersWrapperName}}))
+ return std::move(Err);
+
+ return std::make_unique<EPCGenericMemoryAccess>(SREPC, FAs);
}
Error SimpleRemoteEPC::sendMessage(SimpleRemoteEPCOpcode OpC, uint64_t SeqNo,