[ORC] Fix the LLJITWithRemoteDebugging example.
authorLang Hames <lhames@gmail.com>
Tue, 28 Sep 2021 03:04:39 +0000 (20:04 -0700)
committerLang Hames <lhames@gmail.com>
Tue, 28 Sep 2021 03:06:00 +0000 (20:06 -0700)
This was broken by the switch from JITTargetAddress to ExecutorAddr in
21a06254a3a.

llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h

index 2616dd2..fdc925d 100644 (file)
@@ -141,7 +141,7 @@ JITLinkExecutor::loadDylib(StringRef RemotePath) {
 
 Expected<int> JITLinkExecutor::runAsMain(JITEvaluatedSymbol MainSym,
                                          ArrayRef<std::string> Args) {
-  return EPC->runAsMain(MainSym.getAddress(), Args);
+  return EPC->runAsMain(ExecutorAddr(MainSym.getAddress()), Args);
 }
 
 Error JITLinkExecutor::disconnect() { return EPC->disconnect(); }
index f2d72c0..c14534e 100644 (file)
@@ -340,15 +340,16 @@ public:
   Expected<int32_t> runAsMain(ExecutorAddr MainFnAddr,
                               ArrayRef<std::string> Args) override {
     DEBUG_WITH_TYPE("orc", {
-      dbgs() << "Running as main: " << formatv("{0:x16}", MainFnAddr)
+      dbgs() << "Running as main: " << formatv("{0:x16}", MainFnAddr.getValue())
              << ", args = [";
       for (unsigned I = 0; I != Args.size(); ++I)
         dbgs() << (I ? "," : "") << " \"" << Args[I] << "\"";
       dbgs() << "]\n";
     });
-    auto Result = EP.template callB<orcrpctpc::RunMain>(MainFnAddr, Args);
+    auto Result =
+        EP.template callB<orcrpctpc::RunMain>(MainFnAddr.getValue(), Args);
     DEBUG_WITH_TYPE("orc", {
-      dbgs() << "  call to " << formatv("{0:x16}", MainFnAddr);
+      dbgs() << "  call to " << formatv("{0:x16}", MainFnAddr.getValue());
       if (Result)
         dbgs() << " returned result " << *Result << "\n";
       else
@@ -362,11 +363,11 @@ public:
                         ArrayRef<char> ArgBuffer) override {
     DEBUG_WITH_TYPE("orc", {
       dbgs() << "Running as wrapper function "
-             << formatv("{0:x16}", WrapperFnAddr) << " with "
+             << formatv("{0:x16}", WrapperFnAddr.getValue()) << " with "
              << formatv("{0:x16}", ArgBuffer.size()) << " argument buffer\n";
     });
     auto Result = EP.template callB<orcrpctpc::RunWrapper>(
-        WrapperFnAddr,
+        WrapperFnAddr.getValue(),
         ArrayRef<uint8_t>(reinterpret_cast<const uint8_t *>(ArgBuffer.data()),
                           ArgBuffer.size()));
 
@@ -412,7 +413,7 @@ protected:
 private:
   Error runWrapperInJIT(
       std::function<Error(Expected<shared::WrapperFunctionResult>)> SendResult,
-      ExecutorAddr FunctionTag, std::vector<uint8_t> ArgBuffer) {
+      JITTargetAddress FunctionTag, std::vector<uint8_t> ArgBuffer) {
 
     getExecutionSession().runJITDispatchHandler(
         [this, SendResult = std::move(SendResult)](